Top secrets sources NedoPC pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?


core.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         0000002c  00800100  00008400  000084b4  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00008400  00000000  00000000  000000b4  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000994  0080012c  0080012c  000084e0  2**0
                  ALLOC
  3 .eeprom       00000142  00810000  00810000  000084e0  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  4 .debug_aranges 000001a0  00000000  00000000  00008622  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_pubnames 00000746  00000000  00000000  000087c2  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_info   000021b1  00000000  00000000  00008f08  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_abbrev 00000ebb  00000000  00000000  0000b0b9  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_line   000022e1  00000000  00000000  0000bf74  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_frame  000004a0  00000000  00000000  0000e258  2**2
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    000008d2  00000000  00000000  0000e6f8  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_loc    00000ded  00000000  00000000  0000efca  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_ranges 00000048  00000000  00000000  0000fdb7  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

00000000 <__vectors>:
       0:       0c 94 c0 33     jmp     0x6780  ; 0x6780 <__ctors_end>
       4:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
       8:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
       c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      10:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      14:       0c 94 f0 37     jmp     0x6fe0  ; 0x6fe0 <__vector_5>
      18:       0c 94 54 38     jmp     0x70a8  ; 0x70a8 <__vector_6>
      1c:       0c 94 b8 38     jmp     0x7170  ; 0x7170 <__vector_7>
      20:       0c 94 cb 38     jmp     0x7196  ; 0x7196 <__vector_8>
      24:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      28:       0c 94 22 37     jmp     0x6e44  ; 0x6e44 <__vector_10>
      2c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      30:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      34:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      38:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      3c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      40:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      44:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      48:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      4c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      50:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      54:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      58:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      5c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      60:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      64:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      68:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      6c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      70:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      74:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      78:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      7c:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      80:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      84:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>
      88:       0c 94 df 33     jmp     0x67be  ; 0x67be <__bad_interrupt>

0000008c <default_kbmap>:
      8c:       7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f     ................
      9c:       7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 07 08 07 04 7f 7f     ................
      ac:       7f 7f 7f 7f 07 7f 7f 7f 08 7f 05 7f 04 7f 7f 7f     ................
      bc:       7f 7f 7f 7f 0f 7f 0e 7f 06 7f 0d 7f 0c 7f 7f 7f     ................
      cc:       7f 7f 1f 7f 17 7f 16 7f 15 7f 1c 7f 14 7f 7f 7f     ................
      dc:       7f 7f 00 7f 27 7f 1e 7f 25 7f 1d 7f 24 7f 7f 7f     ....'...%...$...
      ec:       7f 7f 18 7f 20 7f 21 7f 26 7f 22 7f 23 7f 7f 7f     .... .!.&.".#...
      fc:       7f 7f 7f 7f 10 7f 19 7f 1a 7f 1b 7f 13 7f 7f 7f     ................
     10c:       7f 7f 08 18 11 7f 12 7f 0a 7f 03 7f 0b 7f 7f 7f     ................
     11c:       7f 7f 08 10 08 1f 09 7f 08 0f 02 7f 08 19 7f 7f     ................
     12c:       7f 7f 7f 7f 08 02 7f 7f 08 13 08 09 7f 7f 7f 7f     ................
     13c:       07 0c 08 7f 01 7f 08 0b 7f 7f 08 07 7f 7f 7f 7f     ................
     14c:       7f 7f 08 07 7f 7f 7f 7f 7f 7f 7f 7f 07 03 7f 7f     ................
     15c:       7f 7f 04 7f 7f 7f 1c 7f 1b 7f 7f 7f 7f 7f 7f 7f     ................
     16c:       03 7f 08 10 0c 7f 24 7f 23 7f 13 7f 07 00 7f 7f     ......$.#.......
     17c:       7f 7f 08 11 14 7f 08 19 08 20 0b 7f 7f 7f 7f 7f     ......... ......

0000018c <default_kbmap_E0>:
     18c:       7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f     ................
     19c:       7f 7f 08 15 7f 7f 07 24 08 05 7f 7f 7f 7f 7f 7f     .......$........
     1ac:       08 0d 07 0b 07 23 7f 7f 07 13 07 1b 07 00 7f 7f     .....#..........
     1bc:       7f 7f 7f 7f 07 1c 7f 7f 7f 7f 07 14 7f 7f 7f 7f     ................

000001cc <fpga>:
     1cc:       ff 1f           adc     r31, r31
     1ce:       62 7f           andi    r22, 0xF2       ; 242
     1d0:       c2 3c           cpi     r28, 0xC2       ; 194
     1d2:       00 60           ori     r16, 0x00       ; 0
     1d4:       88 ff           .word   0xff88  ; ????
     1d6:       ff a0           ldd     r15, Y+39       ; 0x27
     1d8:       08 90           .word   0x9008  ; ????
     1da:       01 32           cpi     r16, 0x21       ; 33
     1dc:       40 06           cpc     r4, r16
     1de:       c8 c6           rjmp    .+3472          ; 0xf70 <fpga+0xda4>
     1e0:       00 19           sub     r16, r0
     1e2:       ff 03           fmulsu  r23, r23
     1e4:       05 0a           sbc     r0, r21
     1e6:       44 14           cp      r4, r4
     1e8:       81 22           and     r8, r17
     1ea:       41 cf           rjmp    .-382           ; 0x6e <__SREG__+0x2f>
     1ec:       06 8a           std     Z+22, r0        ; 0x16
     1ee:       f3 20           and     r15, r3
     1f0:       03 65           ori     r16, 0x53       ; 83
     1f2:       e5 a0           ldd     r14, Z+37       ; 0x25
     1f4:       0c 94 ec 9a     jmp     0x135d8 ; 0x135d8 <__data_load_end+0xb1ac>
     1f8:       ff 3f           cpi     r31, 0xFF       ; 255
     1fa:       ed 81           ldd     r30, Y+5        ; 0x05
     1fc:       32 50           subi    r19, 0x02       ; 2
     1fe:       06 ca           rjmp    .-3060          ; 0xfffff60c <__eeprom_end+0xff7ef4ca>
     200:       e6 54           subi    r30, 0x46       ; 70
     202:       19 28           or      r1, r9
     204:       e0 c0           rjmp    .+448           ; 0x3c6 <fpga+0x1fa>
     206:       69 f3           breq    .-38            ; 0x1e2 <fpga+0x16>
     208:       99 c6           rjmp    .+3378          ; 0xf3c <fpga+0xd70>
     20a:       88 cf           rjmp    .-240           ; 0x11c <default_kbmap+0x90>
     20c:       00 98           cbi     0x00, 0 ; 0
     20e:       d3 64           ori     r29, 0x43       ; 67
     210:       80 0c           add     r8, r0
     212:       23 b9           out     0x03, r18       ; 3
     214:       7f fb           .word   0xfb7f  ; ????
     216:       00 15           cp      r16, r0
     218:       e0 02           muls    r30, r16
     21a:       5c 80           ldd     r5, Y+4 ; 0x04
     21c:       f0 0b           sbc     r31, r16
     21e:       70 01           movw    r14, r0
     220:       2e f0           brts    .+10            ; 0x22c <fpga+0x60>
     222:       04 68           ori     r16, 0x84       ; 132
     224:       fc 2a           or      r15, r28
     226:       a0 02           muls    r26, r16
     228:       f4 cf           rjmp    .-24            ; 0x212 <fpga+0x46>
     22a:       f3 50           subi    r31, 0x03       ; 3
     22c:       f3 c0           rjmp    .+486           ; 0x414 <fpga+0x248>
     22e:       05 a8           ldd     r0, Z+53        ; 0x35
     230:       30 e6           ldi     r19, 0x60       ; 96
     232:       a0 d9           rcall   .-3264          ; 0xfffff574 <__eeprom_end+0xff7ef432>
     234:       c9 b3           in      r28, 0x19       ; 25
     236:       12 e0           ldi     r17, 0x02       ; 2
     238:       f0 54           subi    r31, 0x40       ; 64
     23a:       80 0a           sbc     r8, r16
     23c:       d0 f6           brcc    .-76            ; 0x1f2 <fpga+0x26>
     23e:       2a 40           sbci    r18, 0x0A       ; 10
     240:       8b e0           ldi     r24, 0x0B       ; 11
     242:       54 93           .word   0x9354  ; ????
     244:       d3 74           andi    r29, 0x43       ; 67
     246:       d3 b8           out     0x03, r13       ; 3
     248:       ce 00           .word   0x00ce  ; ????
     24a:       17 b9           out     0x07, r17       ; 7
     24c:       60 f8           bld     r6, 0
     24e:       13 16           cp      r1, r19
     250:       40 ff           sbrs    r20, 0
     252:       10 c6           rjmp    .+3104          ; 0xe74 <fpga+0xca8>
     254:       02 40           sbci    r16, 0x02       ; 2
     256:       67 a0           ldd     r6, Z+39        ; 0x27
     258:       ea 40           sbci    r30, 0x0A       ; 10
     25a:       40 08           sbc     r4, r0
     25c:       c6 01           movw    r24, r12
     25e:       20 da           rcall   .-3008          ; 0xfffff6a0 <__eeprom_end+0xff7ef55e>
     260:       04 80           ldd     r0, Z+4 ; 0x04
     262:       2c e0           ldi     r18, 0x0C       ; 12
     264:       08 a6           std     Y+40, r0        ; 0x28
     266:       e4 d8           rcall   .-3640          ; 0xfffff430 <__eeprom_end+0xff7ef2ee>
     268:       f9 03           fmulsu  r23, r17
     26a:       04 86           std     Z+12, r0        ; 0x0c
     26c:       ff 98           cbi     0x1f, 7 ; 31
     26e:       ff 60           ori     r31, 0x0F       ; 15
     270:       fc 20           and     r15, r12
     272:       3c 98           cbi     0x07, 4 ; 7
     274:       d9 7a           andi    r29, 0xA9       ; 169
     276:       80 1d           adc     r24, r0
     278:       30 fb           bst     r19, 0
     27a:       02 50           subi    r16, 0x02       ; 2
     27c:       20 28           or      r2, r0
     27e:       f6 05           cpc     r31, r6
     280:       a0 0d           add     r26, r0
     282:       78 cf           rjmp    .-272           ; 0x174 <default_kbmap+0xe8>
     284:       f8 23           and     r31, r24
     286:       14 82           std     Z+4, r1 ; 0x04
     288:       02 d0           rcall   .+4             ; 0x28e <fpga+0xc2>
     28a:       be 0a           sbc     r11, r30
     28c:       40 21           and     r20, r0
     28e:       2a 9b           sbis    0x05, 2 ; 5
     290:       e0 1d           adc     r30, r0
     292:       14 c6           rjmp    .+3112          ; 0xebc <fpga+0xcf0>
     294:       52 d3           rcall   .+1700          ; 0x93a <fpga+0x76e>
     296:       0a 80           ldd     r0, Y+2 ; 0x02
     298:       51 66           ori     r21, 0x61       ; 97
     29a:       e8 fb           .word   0xfbe8  ; ????
     29c:       bc 88           ldd     r11, Y+20       ; 0x14
     29e:       49 c0           rjmp    .+146           ; 0x332 <fpga+0x166>
     2a0:       f3 f5           brvc    .+124           ; 0x31e <fpga+0x152>
     2a2:       2f f1           brie    .+74            ; 0x2ee <fpga+0x122>
     2a4:       1c d2           rcall   .+1080          ; 0x6de <fpga+0x512>
     2a6:       a4 04           cpc     r10, r4
     2a8:       42 07           cpc     r20, r18
     2aa:       26 f3           brts    .-56            ; 0x274 <fpga+0xa8>
     2ac:       22 fc           sbrc    r2, 2
     2ae:       c0 c9           rjmp    .-3200          ; 0xfffff630 <__eeprom_end+0xff7ef4ee>
     2b0:       36 21           and     r19, r6
     2b2:       20 95           com     r18
     2b4:       89 d2           rcall   .+1298          ; 0x7c8 <fpga+0x5fc>
     2b6:       90 fc           sbrc    r9, 0
     2b8:       e0 c3           rjmp    .+1984          ; 0xa7a <fpga+0x8ae>
     2ba:       b4 80           ldd     r11, Z+4        ; 0x04
     2bc:       11 79           andi    r17, 0x91       ; 145
     2be:       ec 21           and     r30, r12
     2c0:       ff 05           cpc     r31, r15
     2c2:       72 84           ldd     r7, Z+10        ; 0x0a
     2c4:       f0 fc           sbrc    r15, 0
     2c6:       f9 f1           breq    .+126           ; 0x346 <fpga+0x17a>
     2c8:       ef ac           ldd     r14, Y+63       ; 0x3f
     2ca:       6c d2           rcall   .+1240          ; 0x7a4 <fpga+0x5d8>
     2cc:       8e 10           cpse    r8, r14
     2ce:       d5 f6           brhc    .-76            ; 0x284 <fpga+0xb8>
     2d0:       a0 b0           in      r10, 0x00       ; 0
     2d2:       01 b5           in      r16, 0x21       ; 33
     2d4:       19 d8           rcall   .-4046          ; 0xfffff308 <__eeprom_end+0xff7ef1c6>
     2d6:       b3 ff           sbrs    r27, 3
     2d8:       c5 ed           ldi     r28, 0xD5       ; 213
     2da:       8f b1           in      r24, 0x0f       ; 15
     2dc:       a9 85           ldd     r26, Y+9        ; 0x09
     2de:       c9 b3           in      r28, 0x19       ; 25
     2e0:       10 b3           in      r17, 0x10       ; 16
     2e2:       5f 61           ori     r21, 0x1F       ; 31
     2e4:       65 a5           ldd     r22, Z+45       ; 0x2d
     2e6:       ca 04           cpc     r12, r10
     2e8:       40 86           std     Z+8, r4 ; 0x08
     2ea:       ad ff           .word   0xffad  ; ????
     2ec:       78 fe           .word   0xfe78  ; ????
     2ee:       c6 19           sub     r28, r6
     2f0:       5b ed           ldi     r21, 0xDB       ; 219
     2f2:       42 11           cpse    r20, r2
     2f4:       61 ba           out     0x11, r6        ; 17
     2f6:       b3 fa           bst     r11, 3
     2f8:       60 fc           sbrc    r6, 0
     2fa:       b0 61           ori     r27, 0x10       ; 16
     2fc:       06 04           cpc     r0, r6
     2fe:       6d 58           subi    r22, 0x8D       ; 141
     300:       10 9d           mul     r17, r0
     302:       ed 86           std     Y+13, r14       ; 0x0d
     304:       c0 18           sub     r12, r0
     306:       aa f6           brpl    .-86            ; 0x2b2 <fpga+0xe6>
     308:       50 c2           rjmp    .+1184          ; 0x7aa <fpga+0x5de>
     30a:       d5 b3           in      r29, 0x15       ; 21
     30c:       68 39           cpi     r22, 0x98       ; 152
     30e:       19 3c           cpi     r17, 0xC9       ; 201
     310:       a0 07           cpc     r26, r16
     312:       fb 80           ldd     r15, Y+3        ; 0x03
     314:       1e df           rcall   .-452           ; 0x152 <default_kbmap+0xc6>
     316:       f6 d6           rcall   .+3564          ; 0x1104 <__stack+0x5>
     318:       f0 ab           std     Z+48, r31       ; 0x30
     31a:       f6 60           ori     r31, 0x06       ; 6
     31c:       0b 94           des     0
     31e:       66 88           ldd     r6, Z+22        ; 0x16
     320:       66 92           .word   0x9266  ; ????
     322:       30 66           ori     r19, 0x60       ; 96
     324:       fb d8           rcall   .-3594          ; 0xfffff51c <__eeprom_end+0xff7ef3da>
     326:       72 09           sbc     r23, r2
     328:       f3 b0           in      r15, 0x03       ; 3
     32a:       c2 d9           rcall   .-3196          ; 0xfffff6b0 <__eeprom_end+0xff7ef56e>
     32c:       19 80           ldd     r1, Y+1 ; 0x01
     32e:       b3 f9           bld     r27, 3
     330:       db b3           in      r29, 0x1b       ; 27
     332:       02 c0           rjmp    .+4             ; 0x338 <fpga+0x16c>
     334:       73 96           adiw    r30, 0x13       ; 19
     336:       0b 97           sbiw    r24, 0x0b       ; 11
     338:       19 fb           .word   0xfb19  ; ????
     33a:       7e 7f           andi    r23, 0xFE       ; 254
     33c:       06 ca           rjmp    .-3060          ; 0xfffff74a <__eeprom_end+0xff7ef608>
     33e:       76 a1           ldd     r23, Z+38       ; 0x26
     340:       06 90           elpm    r0, Z+
     342:       28 86           std     Y+8, r2 ; 0x08
     344:       f6 17           cp      r31, r22
     346:       ff 2a           or      r15, r31
     348:       4c fd           .word   0xfd4c  ; ????
     34a:       79 26           eor     r7, r25
     34c:       96 ec           ldi     r25, 0xC6       ; 198
     34e:       46 66           ori     r20, 0x66       ; 102
     350:       7f 1b           sub     r23, r31
     352:       86 7d           andi    r24, 0xD6       ; 214
     354:       fd 8d           ldd     r31, Y+29       ; 0x1d
     356:       b6 b3           in      r27, 0x16       ; 22
     358:       b0 fb           bst     r27, 0
     35a:       77 b8           out     0x07, r7        ; 7
     35c:       98 80           ld      r9, Y
     35e:       07 81           ldd     r16, Z+7        ; 0x07
     360:       ac ce           rjmp    .-680           ; 0xba <default_kbmap+0x2e>
     362:       82 be           out     0x32, r8        ; 50
     364:       8d dd           rcall   .-1254          ; 0xfffffe80 <__eeprom_end+0xff7efd3e>
     366:       bc 7c           andi    r27, 0xCC       ; 204
     368:       c6 dd           rcall   .-1140          ; 0xfffffef6 <__eeprom_end+0xff7efdb4>
     36a:       b3 30           cpi     r27, 0x03       ; 3
     36c:       ff 08           sbc     r15, r15
     36e:       9d e9           ldi     r25, 0x9D       ; 157
     370:       98 06           cpc     r9, r24
     372:       f1 61           ori     r31, 0x11       ; 17
     374:       ab 19           sub     r26, r11
     376:       83 fe           sbrs    r8, 3
     378:       4b 62           ori     r20, 0x2B       ; 43
     37a:       10 2d           mov     r17, r0
     37c:       c9 26           eor     r12, r25
     37e:       da 41           sbci    r29, 0x1A       ; 26
     380:       24 ac           ldd     r2, Z+60        ; 0x3c
     382:       5c 91           ld      r21, X
     384:       2d 53           subi    r18, 0x3D       ; 61
     386:       b3 29           or      r27, r3
     388:       19 3c           cpi     r17, 0xC9       ; 201
     38a:       80 8e           std     Z+24, r8        ; 0x18
     38c:       01 ca           rjmp    .-3070          ; 0xfffff790 <__eeprom_end+0xff7ef64e>
     38e:       5a 19           sub     r21, r10
     390:       70 ac           ldd     r7, Z+56        ; 0x38
     392:       f6 e0           ldi     r31, 0x06       ; 6
     394:       2e ef           ldi     r18, 0xFE       ; 254
     396:       64 58           subi    r22, 0x84       ; 132
     398:       fa 04           cpc     r15, r10
     39a:       5e e5           ldi     r21, 0x5E       ; 94
     39c:       66 2c           mov     r6, r6
     39e:       19 41           sbci    r17, 0x19       ; 25
     3a0:       36 ed           ldi     r19, 0xD6       ; 214
     3a2:       17 43           sbci    r17, 0x37       ; 55
     3a4:       11 66           ori     r17, 0x61       ; 97
     3a6:       b3 94           inc     r11
     3a8:       c9 ec           ldi     r28, 0xC9       ; 201
     3aa:       16 40           sbci    r17, 0x06       ; 6
     3ac:       42 35           cpi     r20, 0x52       ; 82
     3ae:       6b b3           in      r22, 0x1b       ; 27
     3b0:       70 fa           bst     r7, 0
     3b2:       ec 5d           subi    r30, 0xDC       ; 220
     3b4:       bf c0           rjmp    .+382           ; 0x534 <fpga+0x368>
     3b6:       95 80           ldd     r9, Z+5 ; 0x05
     3b8:       da 90           ld      r13, -Y
     3ba:       24 f1           brlt    .+72            ; 0x404 <fpga+0x238>
     3bc:       30 85           ldd     r19, Z+8        ; 0x08
     3be:       dd 0e           add     r13, r29
     3c0:       da c8           rjmp    .-3660          ; 0xfffff576 <__eeprom_end+0xff7ef434>
     3c2:       f8 f1           brcs    .+126           ; 0x442 <fpga+0x276>
     3c4:       3d 94 b1 6c     jmp     0xed962 ; 0xed962 <__data_load_end+0xe5536>
     3c8:       f8 b0           in      r15, 0x08       ; 8
     3ca:       81 bb           out     0x11, r24       ; 17
     3cc:       95 30           cpi     r25, 0x05       ; 5
     3ce:       fe e6           ldi     r31, 0x6E       ; 110
     3d0:       bb 59           subi    r27, 0x9B       ; 155
     3d2:       30 6e           ori     r19, 0xE0       ; 224
     3d4:       73 20           and     r7, r3
     3d6:       c3 57           subi    r28, 0x73       ; 115
     3d8:       19 b0           in      r1, 0x09        ; 9
     3da:       fd 04           cpc     r15, r13
     3dc:       5e 98           cbi     0x0b, 6 ; 11
     3de:       b2 16           cp      r11, r18
     3e0:       be 32           cpi     r27, 0x2E       ; 46
     3e2:       c8 dd           rcall   .-1136          ; 0xffffff74 <__eeprom_end+0xff7efe32>
     3e4:       11 49           sbci    r17, 0x91       ; 145
     3e6:       85 dd           rcall   .-1270          ; 0xfffffef2 <__eeprom_end+0xff7efdb0>
     3e8:       17 45           sbci    r17, 0x57       ; 87
     3ea:       b3 d6           rcall   .+3430          ; 0x1152 <__stack+0x53>
     3ec:       17 53           subi    r17, 0x37       ; 55
     3ee:       7c 46           sbci    r23, 0x6C       ; 108
     3f0:       82 b0           in      r8, 0x02        ; 2
     3f2:       02 d7           rcall   .+3588          ; 0x11f8 <__stack+0xf9>
     3f4:       da 4a           sbci    r29, 0xAA       ; 170
     3f6:       28 fa           .word   0xfa28  ; ????
     3f8:       f6 98           cbi     0x1e, 6 ; 30
     3fa:       88 07           cpc     r24, r24
     3fc:       03 2f           mov     r16, r19
     3fe:       cd 98           cbi     0x19, 5 ; 25
     400:       50 65           ori     r21, 0x50       ; 80
     402:       e0 58           subi    r30, 0x80       ; 128
     404:       5d fd           .word   0xfd5d  ; ????
     406:       cc f9           .word   0xf9cc  ; ????
     408:       08 cb           rjmp    .-2544          ; 0xfffffa1a <__eeprom_end+0xff7ef8d8>
     40a:       66 02           muls    r22, r22
     40c:       2f ad           ldd     r18, Y+63       ; 0x3f
     40e:       b1 bf           out     0x31, r27       ; 49
     410:       7e 41           sbci    r23, 0x1E       ; 30
     412:       61 6a           ori     r22, 0xA1       ; 161
     414:       b3 08           sbc     r11, r3
     416:       ef 33           cpi     r30, 0x3F       ; 63
     418:       98 16           cp      r9, r24
     41a:       30 06           cpc     r3, r16
     41c:       df cc           rjmp    .-1602          ; 0xfffffddc <__eeprom_end+0xff7efc9a>
     41e:       02 08           sbc     r0, r2
     420:       c2 d6           rcall   .+3460          ; 0x11a6 <__stack+0xa7>
     422:       b3 90           .word   0x90b3  ; ????
     424:       fa cf           rjmp    .-12            ; 0x41a <fpga+0x24e>
     426:       d5 af           std     Z+61, r29       ; 0x3d
     428:       02 be           out     0x32, r0        ; 50
     42a:       6c c8           rjmp    .-3880          ; 0xfffff504 <__eeprom_end+0xff7ef3c2>
     42c:       21 2d           mov     r18, r1
     42e:       5f b3           in      r21, 0x1f       ; 31
     430:       94 e6           ldi     r25, 0x64       ; 100
     432:       98 61           ori     r25, 0x18       ; 24
     434:       b3 86           std     Z+11, r11       ; 0x0b
     436:       f9 c8           rjmp    .-3598          ; 0xfffff62a <__eeprom_end+0xff7ef4e8>
     438:       ad 30           cpi     r26, 0x0D       ; 13
     43a:       33 af           std     Z+59, r19       ; 0x3b
     43c:       56 32           cpi     r21, 0x26       ; 38
     43e:       07 e1           ldi     r16, 0x17       ; 23
     440:       b3 d8           rcall   .-3738          ; 0xfffff5a8 <__eeprom_end+0xff7ef466>
     442:       5d db           rcall   .-2374          ; 0xfffffafe <__eeprom_end+0xff7ef9bc>
     444:       b1 fe           sbrs    r11, 1
     446:       3b 8b           std     Y+19, r19       ; 0x13
     448:       0e cd           rjmp    .-1508          ; 0xfffffe66 <__eeprom_end+0xff7efd24>
     44a:       4d 96           adiw    r24, 0x1d       ; 29
     44c:       f6 09           sbc     r31, r6
     44e:       16 b7           in      r17, 0x36       ; 54
     450:       b3 73           andi    r27, 0x33       ; 51
     452:       ff 66           ori     r31, 0x6F       ; 111
     454:       c8 10           cpse    r12, r8
     456:       ca 76           andi    r28, 0x6A       ; 106
     458:       2f 05           cpc     r18, r15
     45a:       c0 22           and     r12, r16
     45c:       a6 b3           in      r26, 0x16       ; 22
     45e:       17 7f           andi    r17, 0xF7       ; 247
     460:       7f 31           cpi     r23, 0x1F       ; 31
     462:       fc 77           andi    r31, 0x7C       ; 124
     464:       99 98           cbi     0x13, 1 ; 19
     466:       7b 49           sbci    r23, 0x9B       ; 155
     468:       db 04           cpc     r13, r11
     46a:       f0 72           andi    r31, 0x20       ; 32
     46c:       30 81           ld      r19, Z
     46e:       c3 0e           add     r12, r19
     470:       33 ca           rjmp    .-2970          ; 0xfffff8d8 <__eeprom_end+0xff7ef796>
     472:       bb fe           .word   0xfebb  ; ????
     474:       05 6d           ori     r16, 0xD5       ; 213
     476:       dd b0           in      r13, 0x0d       ; 13
     478:       80 41           sbci    r24, 0x10       ; 16
     47a:       85 cb           rjmp    .-2294          ; 0xfffffb86 <__eeprom_end+0xff7efa44>
     47c:       19 fc           .word   0xfc19  ; ????
     47e:       96 b3           in      r25, 0x16       ; 22
     480:       46 5f           subi    r20, 0xF6       ; 246
     482:       cb 32           cpi     r28, 0x2B       ; 43
     484:       fe 55           subi    r31, 0x5E       ; 94
     486:       b3 05           cpc     r27, r3
     488:       85 ad           ldd     r24, Z+61       ; 0x3d
     48a:       b3 20           and     r11, r3
     48c:       f9 de           rcall   .-526           ; 0x280 <fpga+0xb4>
     48e:       98 d9           rcall   .-3280          ; 0xfffff7c0 <__eeprom_end+0xff7ef67e>
     490:       22 01           movw    r4, r4
     492:       7d ea           ldi     r23, 0xAD       ; 173
     494:       6a b3           in      r22, 0x1a       ; 26
     496:       b0 a0           ldd     r11, Z+32       ; 0x20
     498:       bb db           rcall   .-2186          ; 0xfffffc10 <__eeprom_end+0xff7eface>
     49a:       e5 e0           ldi     r30, 0x05       ; 5
     49c:       fe 10           cpse    r15, r14
     49e:       d6 3e           cpi     r29, 0xE6       ; 230
     4a0:       01 20           and     r0, r1
     4a2:       c3 6f           ori     r28, 0xF3       ; 243
     4a4:       5d 98           cbi     0x0b, 5 ; 11
     4a6:       f9 d6           rcall   .+3570          ; 0x129a <__stack+0x19b>
     4a8:       ac 5b           subi    r26, 0xBC       ; 188
     4aa:       30 05           cpc     r19, r0
     4ac:       21 6d           ori     r18, 0xD1       ; 209
     4ae:       e6 e3           ldi     r30, 0x36       ; 54
     4b0:       17 7a           andi    r17, 0xA7       ; 167
     4b2:       98 50           subi    r25, 0x08       ; 8
     4b4:       bb 17           cp      r27, r27
     4b6:       b0 d9           rcall   .-3232          ; 0xfffff818 <__eeprom_end+0xff7ef6d6>
     4b8:       80 04           cpc     r8, r0
     4ba:       23 7c           andi    r18, 0xC3       ; 195
     4bc:       0c 50           subi    r16, 0x0C       ; 12
     4be:       6c 57           subi    r22, 0x7C       ; 124
     4c0:       61 77           andi    r22, 0x71       ; 113
     4c2:       ae e5           ldi     r26, 0x5E       ; 94
     4c4:       da fc           .word   0xfcda  ; ????
     4c6:       7f 08           sbc     r7, r15
     4c8:       b2 75           andi    r27, 0x52       ; 82
     4ca:       fd 98           cbi     0x1f, 5 ; 31
     4cc:       04 61           ori     r16, 0x14       ; 20
     4ce:       af ac           ldd     r10, Y+63       ; 0x3f
     4d0:       4b b0           in      r4, 0x0b        ; 11
     4d2:       fc af           std     Y+60, r31       ; 0x3c
     4d4:       c8 35           cpi     r28, 0x58       ; 88
     4d6:       98 58           subi    r25, 0x88       ; 136
     4d8:       a4 60           ori     r26, 0x04       ; 4
     4da:       5c 19           sub     r21, r12
     4dc:       d6 d0           rcall   .+428           ; 0x68a <fpga+0x4be>
     4de:       f9 cb           rjmp    .-2062          ; 0xfffffcd2 <__eeprom_end+0xff7efb90>
     4e0:       96 31           cpi     r25, 0x16       ; 22
     4e2:       2f c5           rjmp    .+2654          ; 0xf42 <fpga+0xd76>
     4e4:       98 bc           out     0x28, r9        ; 40
     4e6:       86 be           out     0x36, r8        ; 54
     4e8:       98 dd           rcall   .-1232          ; 0x1a <__zero_reg__+0x19>
     4ea:       d9 f8           .word   0xf8d9  ; ????
     4ec:       eb 98           cbi     0x1d, 3 ; 29
     4ee:       10 33           cpi     r17, 0x30       ; 48
     4f0:       d6 98           cbi     0x1a, 6 ; 26
     4f2:       14 1a           sub     r1, r20
     4f4:       fb 98           cbi     0x1f, 3 ; 31
     4f6:       60 fd           sbrc    r22, 0
     4f8:       77 ac           ldd     r7, Z+63        ; 0x3f
     4fa:       98 06           cpc     r9, r24
     4fc:       cd b0           in      r12, 0x0d       ; 13
     4fe:       82 d7           rcall   .+3844          ; 0x1404 <__stack+0x305>
     500:       40 fd           sbrc    r20, 0
     502:       6c 0c           add     r6, r12
     504:       ff f2           brie    .-66            ; 0x4c4 <fpga+0x2f8>
     506:       ed 30           cpi     r30, 0x0D       ; 13
     508:       0c d5           rcall   .+2584          ; 0xf22 <fpga+0xd56>
     50a:       ff 88           ldd     r15, Y+23       ; 0x17
     50c:       76 59           subi    r23, 0x96       ; 150
     50e:       c8 8d           ldd     r28, Y+24       ; 0x18
     510:       c1 05           cpc     r28, r1
     512:       31 b1           in      r19, 0x01       ; 1
     514:       4a 85           ldd     r20, Y+10       ; 0x0a
     516:       cd b3           in      r28, 0x1d       ; 29
     518:       68 f9           .word   0xf968  ; ????
     51a:       e6 19           sub     r30, r6
     51c:       5f 98           cbi     0x0b, 7 ; 11
     51e:       98 6e           ori     r25, 0xE8       ; 232
     520:       19 bb           out     0x19, r17       ; 25
     522:       43 96           adiw    r24, 0x13       ; 19
     524:       ca 0a           sbc     r12, r26
     526:       6f 9b           sbis    0x0d, 7 ; 13
     528:       98 2c           mov     r9, r8
     52a:       a9 11           cpse    r26, r9
     52c:       2d 6c           ori     r18, 0xCD       ; 205
     52e:       b3 99           sbic    0x16, 3 ; 22
     530:       fc 63           ori     r31, 0x3C       ; 60
     532:       db 98           cbi     0x1b, 3 ; 27
     534:       e0 41           sbci    r30, 0x10       ; 16
     536:       0b be           out     0x3b, r0        ; 59
     538:       cc ff           .word   0xffcc  ; ????
     53a:       00 e5           ldi     r16, 0x50       ; 80
     53c:       cc db           rcall   .-2152          ; 0xfffffcd6 <__eeprom_end+0xff7efb94>
     53e:       96 0d           add     r25, r6
     540:       b5 af           std     Z+61, r27       ; 0x3d
     542:       b3 b1           in      r27, 0x03       ; 3
     544:       fe 0f           add     r31, r30
     546:       30 98           cbi     0x06, 0 ; 6
     548:       dd b3           in      r29, 0x1d       ; 29
     54a:       f0 b3           in      r31, 0x10       ; 16
     54c:       fc f3           brlt    .-2             ; 0x54c <fpga+0x380>
     54e:       c8 04           cpc     r12, r8
     550:       da d0           rcall   .+436           ; 0x706 <fpga+0x53a>
     552:       22 77           andi    r18, 0x72       ; 114
     554:       1b 20           and     r1, r11
     556:       10 61           ori     r17, 0x10       ; 16
     558:       6b b3           in      r22, 0x1b       ; 27
     55a:       78 fd           .word   0xfd78  ; ????
     55c:       62 19           sub     r22, r2
     55e:       c8 80           ld      r12, Y
     560:       c1 c3           rjmp    .+1922          ; 0xce4 <fpga+0xb18>
     562:       5e 5d           subi    r21, 0xDE       ; 222
     564:       7d e8           ldi     r23, 0x8D       ; 141
     566:       e6 98           cbi     0x1c, 6 ; 28
     568:       63 30           cpi     r22, 0x03       ; 3
     56a:       05 f1           brhs    .+64            ; 0x5ac <fpga+0x3e0>
     56c:       6b dd           rcall   .-1322          ; 0x44 <__SREG__+0x5>
     56e:       f9 60           ori     r31, 0x09       ; 9
     570:       40 85           ldd     r20, Z+8        ; 0x08
     572:       de 98           cbi     0x1b, 6 ; 27
     574:       d9 f8           .word   0xf8d9  ; ????
     576:       04 d9           rcall   .-3576          ; 0xfffff780 <__eeprom_end+0xff7ef63e>
     578:       c8 ed           ldi     r28, 0xD8       ; 216
     57a:       22 90           ld      r2, -Z
     57c:       14 16           cp      r1, r20
     57e:       19 a0           ldd     r1, Y+33        ; 0x21
     580:       17 7b           andi    r17, 0xB7       ; 183
     582:       98 38           cpi     r25, 0x88       ; 136
     584:       fe 5c           subi    r31, 0xCE       ; 206
     586:       ca d9           rcall   .-3180          ; 0xfffff91c <__eeprom_end+0xff7ef7da>
     588:       02 06           cpc     r0, r18
     58a:       9e 98           cbi     0x13, 6 ; 19
     58c:       28 b7           in      r18, 0x38       ; 56
     58e:       69 96           adiw    r28, 0x19       ; 25
     590:       a9 49           sbci    r26, 0x99       ; 153
     592:       17 6e           ori     r17, 0xE7       ; 231
     594:       49 fb           .word   0xfb49  ; ????
     596:       ec d9           rcall   .-3112          ; 0xfffff970 <__eeprom_end+0xff7ef82e>
     598:       c8 07           cpc     r28, r24
     59a:       5e 98           cbi     0x0b, 6 ; 11
     59c:       ee 05           cpc     r30, r14
     59e:       30 20           and     r3, r0
     5a0:       f9 b3           in      r31, 0x19       ; 25
     5a2:       fb d8           rcall   .-3594          ; 0xfffff79a <__eeprom_end+0xff7ef658>
     5a4:       e0 01           movw    r28, r0
     5a6:       5d b5           in      r21, 0x2d       ; 45
     5a8:       e3 b8           out     0x03, r14       ; 3
     5aa:       49 30           cpi     r20, 0x09       ; 9
     5ac:       0c c4           rjmp    .+2072          ; 0xdc6 <fpga+0xbfa>
     5ae:       66 40           sbci    r22, 0x06       ; 6
     5b0:       76 bd           out     0x26, r23       ; 38
     5b2:       67 b0           in      r6, 0x07        ; 7
     5b4:       01 bf           out     0x31, r16       ; 49
     5b6:       60 e3           ldi     r22, 0x30       ; 48
     5b8:       33 86           std     Z+11, r3        ; 0x0b
     5ba:       b3 08           sbc     r11, r3
     5bc:       02 d5           rcall   .+2564          ; 0xfc2 <fpga+0xdf6>
     5be:       b3 28           or      r11, r3
     5c0:       61 77           andi    r22, 0x71       ; 113
     5c2:       ae 98           cbi     0x15, 6 ; 21
     5c4:       fe 59           subi    r31, 0x9E       ; 158
     5c6:       c2 26           eor     r12, r18
     5c8:       5f 7f           andi    r21, 0xFF       ; 255
     5ca:       dc 06           cpc     r13, r28
     5cc:       10 bb           out     0x10, r17       ; 16
     5ce:       b0 08           sbc     r11, r0
     5d0:       c7 b7           in      r28, 0x37       ; 55
     5d2:       17 ec           ldi     r17, 0xC7       ; 199
     5d4:       f1 30           cpi     r31, 0x01       ; 1
     5d6:       95 c2           rjmp    .+1322          ; 0xb02 <fpga+0x936>
     5d8:       ca f3           brmi    .-14            ; 0x5cc <fpga+0x400>
     5da:       58 1a           sub     r5, r24
     5dc:       6a ff           .word   0xff6a  ; ????
     5de:       a4 a8           ldd     r10, Z+52       ; 0x34
     5e0:       19 0c           add     r1, r9
     5e2:       08 07           cpc     r16, r24
     5e4:       0c a3           std     Y+36, r16       ; 0x24
     5e6:       b3 fd           sbrc    r27, 3
     5e8:       53 18           sub     r5, r3
     5ea:       61 8f           std     Z+25, r22       ; 0x19
     5ec:       29 30           cpi     r18, 0x09       ; 9
     5ee:       b0 66           ori     r27, 0x60       ; 96
     5f0:       84 d9           rcall   .-3320          ; 0xfffff8fa <__eeprom_end+0xff7ef7b8>
     5f2:       88 06           cpc     r8, r24
     5f4:       86 b3           in      r24, 0x16       ; 22
     5f6:       21 cb           rjmp    .-2494          ; 0xfffffc3a <__eeprom_end+0xff7efaf8>
     5f8:       30 10           cpse    r3, r0
     5fa:       08 f3           brcs    .-62            ; 0x5be <fpga+0x3f2>
     5fc:       b6 93           .word   0x93b6  ; ????
     5fe:       77 ec           ldi     r23, 0xC7       ; 199
     600:       7f 09           sbc     r23, r15
     602:       be f7           brtc    .-18            ; 0x5f2 <fpga+0x426>
     604:       7b 40           sbci    r23, 0x0B       ; 11
     606:       02 24           eor     r0, r2
     608:       7e 7f           andi    r23, 0xFE       ; 254
     60a:       14 fd           sbrc    r17, 4
     60c:       58 af           std     Y+56, r21       ; 0x38
     60e:       02 55           subi    r16, 0x52       ; 82
     610:       bd 35           cpi     r27, 0x5D       ; 93
     612:       39 f8           .word   0xf839  ; ????
     614:       19 91           ld      r17, Y+
     616:       9c 30           cpi     r25, 0x0C       ; 12
     618:       df 01           movw    r26, r30
     61a:       30 d6           rcall   .+3168          ; 0x127c <__stack+0x17d>
     61c:       4b 9c           mul     r4, r11
     61e:       30 b5           in      r19, 0x20       ; 32
     620:       04 58           subi    r16, 0x84       ; 132
     622:       66 02           muls    r22, r22
     624:       44 66           ori     r20, 0x64       ; 100
     626:       df 80           ldd     r13, Y+7        ; 0x07
     628:       fb c6           rjmp    .+3574          ; 0x1420 <__stack+0x321>
     62a:       30 78           andi    r19, 0x80       ; 128
     62c:       19 bf           out     0x39, r17       ; 57
     62e:       66 82           std     Z+6, r6 ; 0x06
     630:       7d b5           in      r23, 0x2d       ; 45
     632:       58 b3           in      r21, 0x18       ; 24
     634:       50 46           sbci    r21, 0x60       ; 96
     636:       b3 b9           out     0x03, r27       ; 3
     638:       e3 19           sub     r30, r3
     63a:       0a 65           ori     r16, 0x5A       ; 90
     63c:       bb ed           ldi     r27, 0xDB       ; 219
     63e:       16 01           movw    r2, r12
     640:       42 63           ori     r20, 0x32       ; 50
     642:       b3 71           andi    r27, 0x13       ; 19
     644:       66 11           cpse    r22, r6
     646:       61 1f           adc     r22, r17
     648:       2c 7d           andi    r18, 0xDC       ; 220
     64a:       fb 68           ori     r31, 0x8B       ; 139
     64c:       e2 c2           rjmp    .+1476          ; 0xc12 <fpga+0xa46>
     64e:       d7 b3           in      r29, 0x17       ; 23
     650:       f8 fb           .word   0xfbf8  ; ????
     652:       20 76           andi    r18, 0x60       ; 96
     654:       e6 e3           ldi     r30, 0x36       ; 54
     656:       10 d2           rcall   .+1056          ; 0xa78 <fpga+0x8ac>
     658:       40 ed           ldi     r20, 0xD0       ; 208
     65a:       33 0d           add     r19, r3
     65c:       8c f3           brlt    .-30            ; 0x640 <fpga+0x474>
     65e:       e3 d1           rcall   .+966           ; 0xa26 <fpga+0x85a>
     660:       1c 60           ori     r17, 0x0C       ; 12
     662:       d3 98           cbi     0x1a, 3 ; 26
     664:       ff 30           cpi     r31, 0x0F       ; 15
     666:       48 1b           sub     r20, r24
     668:       ff b3           in      r31, 0x1f       ; 31
     66a:       28 04           cpc     r2, r8
     66c:       85 66           ori     r24, 0x65       ; 101
     66e:       90 c0           rjmp    .+288           ; 0x790 <fpga+0x5c4>
     670:       66 58           subi    r22, 0x86       ; 134
     672:       22 b7           in      r18, 0x32       ; 50
     674:       66 d8           rcall   .-3892          ; 0xfffff742 <__eeprom_end+0xff7ef600>
     676:       fb 79           andi    r31, 0x9B       ; 155
     678:       18 9c           mul     r1, r8
     67a:       73 2f           mov     r23, r19
     67c:       f3 f3           brvs    .-4             ; 0x67a <fpga+0x4ae>
     67e:       58 0b           sbc     r21, r24
     680:       99 66           ori     r25, 0x69       ; 105
     682:       c0 fd           sbrc    r28, 0
     684:       fc 66           ori     r31, 0x6C       ; 108
     686:       8b 31           cpi     r24, 0x1B       ; 27
     688:       de fa           .word   0xfade  ; ????
     68a:       f8 c3           rjmp    .+2032          ; 0xe7c <fpga+0xcb0>
     68c:       1e 68           ori     r17, 0x8E       ; 142
     68e:       30 08           sbc     r3, r0
     690:       f8 66           ori     r31, 0x68       ; 104
     692:       c1 1b           sub     r28, r17
     694:       f6 cc           rjmp    .-1556          ; 0x82 <__SREG__+0x43>
     696:       d8 09           sbc     r29, r8
     698:       7f 32           cpi     r23, 0x2F       ; 47
     69a:       60 a0           ldd     r6, Z+32        ; 0x20
     69c:       b3 b0           in      r11, 0x03       ; 3
     69e:       10 44           sbci    r17, 0x40       ; 64
     6a0:       6c b3           in      r22, 0x1c       ; 28
     6a2:       88 fe           .word   0xfe88  ; ????
     6a4:       5b 8c           ldd     r5, Y+27        ; 0x1b
     6a6:       fe 31           cpi     r31, 0x1E       ; 30
     6a8:       58 b3           in      r21, 0x18       ; 24
     6aa:       10 25           eor     r17, r0
     6ac:       98 19           sub     r25, r8
     6ae:       10 c6           rjmp    .+3104          ; 0x12d0 <__stack+0x1d1>
     6b0:       b3 7f           andi    r27, 0xF3       ; 243
     6b2:       2d af           std     Y+61, r18       ; 0x3d
     6b4:       b8 0c           add     r11, r8
     6b6:       b3 38           cpi     r27, 0x83       ; 131
     6b8:       ed ac           ldd     r14, Y+61       ; 0x3d
     6ba:       04 94           .word   0x9404  ; ????
     6bc:       66 b3           in      r22, 0x16       ; 22
     6be:       fb 74           andi    r31, 0x4B       ; 75
     6c0:       cc ff           .word   0xffcc  ; ????
     6c2:       30 65           ori     r19, 0x50       ; 80
     6c4:       ac b3           in      r26, 0x1c       ; 28
     6c6:       33 21           and     r19, r3
     6c8:       66 f8           bld     r6, 6
     6ca:       69 fd           .word   0xfd69  ; ????
     6cc:       49 48           sbci    r20, 0x89       ; 137
     6ce:       01 e9           ldi     r16, 0x91       ; 145
     6d0:       e6 02           muls    r30, r22
     6d2:       ac 61           ori     r26, 0x1C       ; 28
     6d4:       cf 76           andi    r28, 0x6F       ; 111
     6d6:       07 11           cpse    r16, r7
     6d8:       fd 57           subi    r31, 0x7D       ; 125
     6da:       63 7e           andi    r22, 0xE3       ; 227
     6dc:       08 a3           std     Y+32, r16       ; 0x20
     6de:       6a 0e           add     r6, r26
     6e0:       1b ff           .word   0xff1b  ; ????
     6e2:       38 fe           .word   0xfe38  ; ????
     6e4:       04 9f           mul     r16, r20
     6e6:       ec 32           cpi     r30, 0x2C       ; 44
     6e8:       89 fe           .word   0xfe89  ; ????
     6ea:       0d 4f           sbci    r16, 0xFD       ; 253
     6ec:       33 98           cbi     0x06, 3 ; 6
     6ee:       d6 b3           in      r29, 0x16       ; 22
     6f0:       10 09           sbc     r17, r0
     6f2:       0d b3           in      r16, 0x1d       ; 29
     6f4:       cc fb           .word   0xfbcc  ; ????
     6f6:       83 f1           brvs    .+96            ; 0x758 <fpga+0x58c>
     6f8:       19 81           ldd     r17, Y+1        ; 0x01
     6fa:       fa b3           in      r31, 0x1a       ; 26
     6fc:       b0 dc           rcall   .-1696          ; 0x5e <__SREG__+0x1f>
     6fe:       26 ff           sbrs    r18, 6
     700:       7f 04           cpc     r7, r15
     702:       60 8c           ldd     r6, Z+24        ; 0x18
     704:       b3 b0           in      r11, 0x03       ; 3
     706:       d8 2a           or      r13, r24
     708:       ff 32           cpi     r31, 0x2F       ; 47
     70a:       10 61           ori     r17, 0x10       ; 16
     70c:       be 5c           subi    r27, 0xCE       ; 206
     70e:       c8 b3           in      r28, 0x18       ; 24
     710:       b0 08           sbc     r11, r0
     712:       45 5e           subi    r20, 0xE5       ; 229
     714:       66 90           elpm    r6, Z+
     716:       66 b1           in      r22, 0x06       ; 6
     718:       01 5d           subi    r16, 0xD1       ; 209
     71a:       30 88           ldd     r3, Z+16        ; 0x10
     71c:       b5 b3           in      r27, 0x15       ; 21
     71e:       b8 b1           in      r27, 0x08       ; 8
     720:       fc 8c           ldd     r15, Y+28       ; 0x1c
     722:       d8 35           cpi     r29, 0x58       ; 88
     724:       40 5e           subi    r20, 0xE0       ; 224
     726:       66 af           std     Z+62, r22       ; 0x3e
     728:       fb b0           in      r15, 0x0b       ; 11
     72a:       dc 47           sbci    r29, 0x7C       ; 124
     72c:       fb 7f           andi    r31, 0xFB       ; 251
     72e:       3f 66           ori     r19, 0x6F       ; 111
     730:       49 0c           add     r4, r9
     732:       90 c3           rjmp    .+1824          ; 0xe54 <fpga+0xc88>
     734:       1d 3d           cpi     r17, 0xDD       ; 221
     736:       0e ff           .word   0xff0e  ; ????
     738:       18 b0           in      r1, 0x08        ; 8
     73a:       fd 2c           mov     r15, r13
     73c:       78 ca           rjmp    .-2832          ; 0xfffffc2e <__eeprom_end+0xff7efaec>
     73e:       c1 ff           sbrs    r28, 1
     740:       4c 15           cp      r20, r12
     742:       33 f5           brvc    .+76            ; 0x790 <fpga+0x5c4>
     744:       4e 80           ldd     r4, Y+6 ; 0x06
     746:       89 f7           brne    .-30            ; 0x72a <fpga+0x55e>
     748:       ce 08           sbc     r12, r14
     74a:       ff 62           ori     r31, 0x2F       ; 47
     74c:       1e 62           ori     r17, 0x2E       ; 46
     74e:       b6 40           sbci    r27, 0x06       ; 6
     750:       31 ce           rjmp    .-926           ; 0x3b4 <fpga+0x1e8>
     752:       d3 ae           std     Z+59, r13       ; 0x3b
     754:       3d 79           andi    r19, 0x9D       ; 157
     756:       9c b7           in      r25, 0x3c       ; 60
     758:       f9 33           cpi     r31, 0x39       ; 57
     75a:       ca d6           rcall   .+3476          ; 0x14f0 <__stack+0x3f1>
     75c:       96 20           and     r9, r6
     75e:       3a 66           ori     r19, 0x6A       ; 106
     760:       b3 08           sbc     r11, r3
     762:       d6 ab           std     Z+54, r29       ; 0x36
     764:       fd 7b           andi    r31, 0xBD       ; 189
     766:       cb 04           cpc     r12, r11
     768:       80 b5           in      r24, 0x20       ; 32
     76a:       10 58           subi    r17, 0x80       ; 128
     76c:       61 21           and     r22, r1
     76e:       5a 03           fmul    r21, r18
     770:       d8 78           andi    r29, 0x88       ; 136
     772:       f9 26           eor     r15, r25
     774:       fa e5           ldi     r31, 0x5A       ; 90
     776:       10 cd           rjmp    .-1504          ; 0x198 <default_kbmap_E0+0xc>
     778:       ed 21           and     r30, r13
     77a:       40 c1           rjmp    .+640           ; 0x9fc <fpga+0x830>
     77c:       55 11           cpse    r21, r5
     77e:       34 85           ldd     r19, Z+12       ; 0x0c
     780:       dd 63           ori     r29, 0x3D       ; 61
     782:       d9 10           cpse    r13, r9
     784:       fe fd           .word   0xfdfe  ; ????
     786:       66 61           ori     r22, 0x16       ; 22
     788:       c7 6d           ori     r28, 0xD7       ; 215
     78a:       17 cc           rjmp    .-2002          ; 0xffffffba <__eeprom_end+0xff7efe78>
     78c:       3c 4b           sbci    r19, 0xBC       ; 188
     78e:       c1 17           cp      r28, r17
     790:       8c 7d           andi    r24, 0xDC       ; 220
     792:       09 9e           mul     r0, r25
     794:       db 64           ori     r29, 0x4B       ; 75
     796:       08 98           cbi     0x01, 0 ; 1
     798:       2c 7e           andi    r18, 0xEC       ; 236
     79a:       ff b0           in      r15, 0x0f       ; 15
     79c:       b0 67           ori     r27, 0x70       ; 112
     79e:       e5 ca           rjmp    .-2614          ; 0xfffffd6a <__eeprom_end+0xff7efc28>
     7a0:       01 85           ldd     r16, Z+9        ; 0x09
     7a2:       da 62           ori     r29, 0x2A       ; 42
     7a4:       65 f1           brhs    .+88            ; 0x7fe <fpga+0x632>
     7a6:       ca 87           std     Y+10, r28       ; 0x0a
     7a8:       ad 0e           add     r10, r29
     7aa:       dc f9           .word   0xf9dc  ; ????
     7ac:       81 55           subi    r24, 0x51       ; 81
     7ae:       bb 96           adiw    r30, 0x2b       ; 43
     7b0:       40 0d           add     r20, r0
     7b2:       96 b3           in      r25, 0x16       ; 22
     7b4:       d8 09           sbc     r29, r8
     7b6:       aa 66           ori     r26, 0x6A       ; 106
     7b8:       08 ed           ldi     r16, 0xD8       ; 216
     7ba:       5e 18           sub     r5, r14
     7bc:       fc 68           ori     r31, 0x8C       ; 140
     7be:       b3 24           eor     r11, r3
     7c0:       bf 3d           cpi     r27, 0xDF       ; 223
     7c2:       04 63           ori     r16, 0x34       ; 52
     7c4:       1d 2c           mov     r1, r13
     7c6:       03 02           muls    r16, r19
     7c8:       80 b4           in      r8, 0x20        ; 32
     7ca:       04 68           ori     r16, 0x84       ; 132
     7cc:       f7 9a           sbi     0x1e, 7 ; 30
     7ce:       60 f3           brcs    .-40            ; 0x7a8 <fpga+0x5dc>
     7d0:       69 d5           rcall   .+2770          ; 0x12a4 <__stack+0x1a5>
     7d2:       90 2d           mov     r25, r0
     7d4:       fe 6e           ori     r31, 0xEE       ; 238
     7d6:       c1 61           ori     r28, 0x11       ; 17
     7d8:       66 6c           ori     r22, 0xC6       ; 198
     7da:       d2 02           muls    r29, r18
     7dc:       9f da           rcall   .-2754          ; 0xfffffd1c <__eeprom_end+0xff7efbda>
     7de:       f3 82           std     Z+3, r15        ; 0x03
     7e0:       ff e6           ldi     r31, 0x6F       ; 111
     7e2:       e0 f9           bld     r30, 0
     7e4:       4e f8           .word   0xf84e  ; ????
     7e6:       80 01           movw    r16, r0
     7e8:       c2 c5           rjmp    .+2948          ; 0x136e <__stack+0x26f>
     7ea:       37 74           andi    r19, 0x47       ; 71
     7ec:       0c 63           ori     r16, 0x3C       ; 60
     7ee:       1b 96           adiw    r26, 0x0b       ; 11
     7f0:       46 72           andi    r20, 0x26       ; 38
     7f2:       ed ce           rjmp    .-550           ; 0x5ce <fpga+0x402>
     7f4:       03 10           cpse    r0, r3
     7f6:       a3 a4           ldd     r10, Z+43       ; 0x2b
     7f8:       48 f9           .word   0xf948  ; ????
     7fa:       77 25           eor     r23, r7
     7fc:       47 46           sbci    r20, 0x67       ; 103
     7fe:       70 b0           in      r7, 0x00        ; 0
     800:       b7 b0           in      r11, 0x07       ; 7
     802:       44 89           ldd     r20, Z+20       ; 0x14
     804:       19 40           sbci    r17, 0x09       ; 9
     806:       2d d4           rcall   .+2138          ; 0x1062 <fpga+0xe96>
     808:       53 2f           mov     r21, r19
     80a:       c0 f8           bld     r12, 0
     80c:       04 cb           rjmp    .-2552          ; 0xfffffe16 <__eeprom_end+0xff7efcd4>
     80e:       02 0a           sbc     r0, r18
     810:       fb 9e           mul     r15, r27
     812:       bf 30           cpi     r27, 0x0F       ; 15
     814:       fd 80           ldd     r15, Y+5        ; 0x05
     816:       11 9b           sbis    0x02, 1 ; 2
     818:       07 c0           rjmp    .+14            ; 0x828 <fpga+0x65c>
     81a:       28 65           ori     r18, 0x58       ; 88
     81c:       c4 30           cpi     r28, 0x04       ; 4
     81e:       95 eb           ldi     r25, 0xB5       ; 181
     820:       4e 30           cpi     r20, 0x0E       ; 14
     822:       17 d7           rcall   .+3630          ; 0x1652 <__stack+0x553>
     824:       45 0b           sbc     r20, r21
     826:       61 41           sbci    r22, 0x11       ; 17
     828:       b4 4c           sbci    r27, 0xC4       ; 196
     82a:       04 d6           rcall   .+3080          ; 0x1434 <__stack+0x335>
     82c:       63 77           andi    r22, 0x73       ; 115
     82e:       60 fa           bst     r6, 0
     830:       04 2c           mov     r0, r4
     832:       80 89           ldd     r24, Z+16       ; 0x10
     834:       74 6b           ori     r23, 0xB4       ; 180
     836:       fc e0           ldi     r31, 0x0C       ; 12
     838:       41 19           sub     r20, r1
     83a:       b9 f4           brne    .+46            ; 0x86a <fpga+0x69e>
     83c:       e9 18           sub     r14, r9
     83e:       72 a2           std     Z+34, r7        ; 0x22
     840:       3c ca           rjmp    .-2952          ; 0xfffffcba <__eeprom_end+0xff7efb78>
     842:       fd cc           rjmp    .-1542          ; 0x23e <fpga+0x72>
     844:       3c 8b           std     Y+20, r19       ; 0x14
     846:       38 b4           in      r3, 0x28        ; 40
     848:       c0 03           fmuls   r20, r16
     84a:       78 17           cp      r23, r24
     84c:       0f ba           out     0x1f, r0        ; 31
     84e:       f6 f0           brts    .+60            ; 0x88c <fpga+0x6c0>
     850:       20 1e           adc     r2, r16
     852:       77 f3           brie    .-36            ; 0x830 <fpga+0x664>
     854:       10 0f           add     r17, r16
     856:       e4 34           cpi     r30, 0x44       ; 68
     858:       57 fe           sbrs    r5, 7
     85a:       80 fa           bst     r8, 0
     85c:       db 06           cpc     r13, r27
     85e:       c1 ea           ldi     r28, 0xA1       ; 161
     860:       69 30           cpi     r22, 0x09       ; 9
     862:       03 28           or      r0, r3
     864:       66 c5           rjmp    .+2764          ; 0x1332 <__stack+0x233>
     866:       ff 80           ldd     r15, Y+7        ; 0x07
     868:       03 b5           in      r16, 0x23       ; 35
     86a:       60 fe           sbrs    r6, 0
     86c:       af c0           rjmp    .+350           ; 0x9cc <fpga+0x800>
     86e:       80 bd           out     0x20, r24       ; 32
     870:       f6 61           ori     r31, 0x16       ; 22
     872:       2e f3           brts    .-54            ; 0x83e <fpga+0x672>
     874:       6e b9           out     0x0e, r22       ; 14
     876:       d0 fd           sbrc    r29, 0
     878:       77 fa           bst     r7, 7
     87a:       26 c0           rjmp    .+76            ; 0x8c8 <fpga+0x6fc>
     87c:       14 7e           andi    r17, 0xE4       ; 228
     87e:       38 01           movw    r6, r16
     880:       c3 26           eor     r12, r19
     882:       b3 02           muls    r27, r19
     884:       10 3a           cpi     r17, 0xA0       ; 160
     886:       3d f3           brhs    .-50            ; 0x856 <fpga+0x68a>
     888:       b3 08           sbc     r11, r3
     88a:       b5 f9           bld     r27, 5
     88c:       f5 98           cbi     0x1e, 5 ; 30
     88e:       80 af           std     Z+56, r24       ; 0x38
     890:       f6 37           cpi     r31, 0x76       ; 118
     892:       04 09           sbc     r16, r4
     894:       11 e5           ldi     r17, 0x51       ; 81
     896:       87 2d           mov     r24, r7
     898:       3b 80           ldd     r3, Y+3 ; 0x03
     89a:       5d ee           ldi     r21, 0xED       ; 237
     89c:       02 41           sbci    r16, 0x12       ; 18
     89e:       90 de           rcall   .-736           ; 0x5c0 <fpga+0x3f4>
     8a0:       8b 18           sub     r8, r11
     8a2:       53 66           ori     r21, 0x63       ; 99
     8a4:       f8 6d           ori     r31, 0xD8       ; 216
     8a6:       eb 98           cbi     0x1d, 3 ; 29
     8a8:       10 37           cpi     r17, 0x70       ; 112
     8aa:       20 14           cp      r2, r0
     8ac:       31 2f           mov     r19, r17
     8ae:       4b dc           rcall   .-1898          ; 0x146 <default_kbmap+0xba>
     8b0:       06 d3           rcall   .+1548          ; 0xebe <fpga+0xcf2>
     8b2:       7f 35           cpi     r23, 0x5F       ; 95
     8b4:       98 f8           .word   0xf898  ; ????
     8b6:       14 12           cpse    r1, r20
     8b8:       10 b1           in      r17, 0x00       ; 0
     8ba:       5f fb           .word   0xfb5f  ; ????
     8bc:       ed 5e           subi    r30, 0xED       ; 237
     8be:       68 fb           .word   0xfb68  ; ????
     8c0:       fe 98           cbi     0x1f, 6 ; 31
     8c2:       2e e5           ldi     r18, 0x5E       ; 94
     8c4:       3d e6           ldi     r19, 0x6D       ; 109
     8c6:       ee 08           sbc     r14, r14
     8c8:       63 4b           sbci    r22, 0xB3       ; 179
     8ca:       6f 44           sbci    r22, 0x4F       ; 79
     8cc:       27 d6           rcall   .+3150          ; 0x151c <__stack+0x41d>
     8ce:       98 03           fmulsu  r17, r16
     8d0:       bf f6           brid    .-82            ; 0x880 <fpga+0x6b4>
     8d2:       df 18           sub     r13, r15
     8d4:       08 e4           ldi     r16, 0x48       ; 72
     8d6:       98 8f           std     Y+24, r25       ; 0x18
     8d8:       dd 80           ldd     r13, Y+5        ; 0x05
     8da:       fd ec           ldi     r31, 0xCD       ; 205
     8dc:       eb 46           sbci    r30, 0x6B       ; 107
     8de:       c0 b5           in      r28, 0x20       ; 32
     8e0:       a2 f5           brpl    .+104           ; 0x94a <fpga+0x77e>
     8e2:       03 90           .word   0x9003  ; ????
     8e4:       8d ad           ldd     r24, Y+61       ; 0x3d
     8e6:       1a 20           and     r1, r10
     8e8:       fc 98           cbi     0x1f, 4 ; 31
     8ea:       c8 40           sbci    r28, 0x08       ; 8
     8ec:       8c 50           subi    r24, 0x0C       ; 12
     8ee:       6d ef           ldi     r22, 0xFD       ; 253
     8f0:       98 f9           .word   0xf998  ; ????
     8f2:       f8 80           ld      r15, Y
     8f4:       81 7f           andi    r24, 0xF1       ; 241
     8f6:       69 96           adiw    r28, 0x19       ; 25
     8f8:       98 f3           brcs    .-26            ; 0x8e0 <fpga+0x714>
     8fa:       11 70           andi    r17, 0x01       ; 1
     8fc:       96 36           cpi     r25, 0x66       ; 102
     8fe:       34 b3           in      r19, 0x14       ; 20
     900:       db 80           ldd     r13, Y+3        ; 0x03
     902:       49 fe           .word   0xfe49  ; ????
     904:       7f 42           sbci    r23, 0x2F       ; 47
     906:       bc 98           cbi     0x17, 4 ; 23
     908:       ff 98           cbi     0x1f, 7 ; 31
     90a:       7f b7           in      r23, 0x3f       ; 63
     90c:       60 f5           brcc    .+88            ; 0x966 <fpga+0x79a>
     90e:       40 ef           ldi     r20, 0xF0       ; 240
     910:       98 b0           in      r9, 0x08        ; 8
     912:       08 51           subi    r16, 0x18       ; 24
     914:       f9 dd           rcall   .-1038          ; 0x508 <fpga+0x33c>
     916:       e0 01           movw    r28, r0
     918:       ee 98           cbi     0x1d, 6 ; 29
     91a:       20 1e           adc     r2, r16
     91c:       04 5f           subi    r16, 0xF4       ; 244
     91e:       50 f6           brcc    .-108           ; 0x8b4 <fpga+0x6e8>
     920:       e2 36           cpi     r30, 0x62       ; 98
     922:       66 2d           mov     r22, r6
     924:       d3 7d           andi    r29, 0xD3       ; 211
     926:       98 83           st      Y, r25
     928:       64 fa           bst     r6, 4
     92a:       98 d0           rcall   .+304           ; 0xa5c <fpga+0x890>
     92c:       bc 8b           std     Y+20, r27       ; 0x14
     92e:       bd 98           cbi     0x17, 5 ; 23
     930:       3c 0f           add     r19, r28
     932:       c8 fc           .word   0xfcc8  ; ????
     934:       bb 84           ldd     r11, Y+11       ; 0x0b
     936:       d7 98           cbi     0x1a, 7 ; 26
     938:       c0 2f           mov     r28, r16
     93a:       b6 60           ori     r27, 0x06       ; 6
     93c:       ed ed           ldi     r30, 0xDD       ; 221
     93e:       10 8d           ldd     r17, Z+24       ; 0x18
     940:       ac 66           ori     r26, 0x6C       ; 108
     942:       01 ff           sbrs    r16, 1
     944:       38 e5           ldi     r19, 0x58       ; 88
     946:       fb ff           .word   0xfffb  ; ????
     948:       40 e5           ldi     r20, 0x50       ; 80
     94a:       30 df           rcall   .-416           ; 0x7ac <fpga+0x5e0>
     94c:       52 fe           sbrs    r5, 2
     94e:       ee 98           cbi     0x1d, 6 ; 29
     950:       c1 20           and     r12, r1
     952:       18 d5           rcall   .+2608          ; 0x1384 <__stack+0x285>
     954:       da 38           cpi     r29, 0x8A       ; 138
     956:       b0 01           movw    r22, r0
     958:       b9 b3           in      r27, 0x19       ; 25
     95a:       58 da           rcall   .-2896          ; 0xfffffe0c <__eeprom_end+0xff7efcca>
     95c:       10 8b           std     Z+16, r17       ; 0x10
     95e:       bb b3           in      r27, 0x1b       ; 27
     960:       48 f8           .word   0xf848  ; ????
     962:       10 4f           sbci    r17, 0xF0       ; 240
     964:       5b 98           cbi     0x0b, 3 ; 11
     966:       40 7a           andi    r20, 0xA0       ; 160
     968:       98 06           cpc     r9, r24
     96a:       ca eb           ldi     r28, 0xBA       ; 186
     96c:       17 3f           cpi     r17, 0xF7       ; 247
     96e:       ad 16           cp      r10, r29
     970:       5a ef           ldi     r21, 0xFA       ; 250
     972:       40 90 5e a7     lds     r4, 0xA75E
     976:       28 3b           cpi     r18, 0xB8       ; 184
     978:       cf 42           sbci    r28, 0x2F       ; 47
     97a:       1a f2           brmi    .-122           ; 0x902 <fpga+0x736>
     97c:       08 12           cpse    r0, r24
     97e:       80 15           cp      r24, r0
     980:       36 29           or      r19, r6
     982:       58 ff           .word   0xff58  ; ????
     984:       27 e6           ldi     r18, 0x67       ; 103
     986:       98 3f           cpi     r25, 0xF8       ; 248
     988:       a0 01           movw    r20, r0
     98a:       52 82           std     Z+2, r5 ; 0x02
     98c:       80 5a           subi    r24, 0xA0       ; 160
     98e:       fa 91           ld      r31, -Y
     990:       9f b7           in      r25, 0x3f       ; 63
     992:       ed 5a           subi    r30, 0xAD       ; 173
     994:       fc 60           ori     r31, 0x0C       ; 12
     996:       fe 98           cbi     0x1f, 6 ; 31
     998:       0e 06           cpc     r0, r30
     99a:       df cc           rjmp    .-1602          ; 0x35a <fpga+0x18e>
     99c:       98 69           ori     r25, 0x98       ; 152
     99e:       b5 60           ori     r27, 0x05       ; 5
     9a0:       6f b7           in      r22, 0x3f       ; 63
     9a2:       f0 72           andi    r31, 0x20       ; 32
     9a4:       30 41           sbci    r19, 0x10       ; 16
     9a6:       e1 d0           rcall   .+450           ; 0xb6a <fpga+0x99e>
     9a8:       2f af           std     Y+63, r18       ; 0x3f
     9aa:       84 5c           subi    r24, 0xC4       ; 196
     9ac:       47 02           muls    r20, r23
     9ae:       e6 13           cpse    r30, r22
     9b0:       f9 0c           add     r15, r9
     9b2:       77 28           or      r7, r7
     9b4:       30 c0           rjmp    .+96            ; 0xa16 <fpga+0x84a>
     9b6:       1a cc           rjmp    .-1996          ; 0x1ec <fpga+0x20>
     9b8:       31 66           ori     r19, 0x61       ; 97
     9ba:       d5 58           subi    r29, 0x85       ; 133
     9bc:       09 71           andi    r16, 0x19       ; 25
     9be:       30 6d           ori     r19, 0xD0       ; 208
     9c0:       48 ea           ldi     r20, 0xA8       ; 168
     9c2:       de 41           sbci    r29, 0x1E       ; 30
     9c4:       eb 2a           or      r14, r27
     9c6:       db 5c           subi    r29, 0xCB       ; 203
     9c8:       72 fd           sbrc    r23, 2
     9ca:       be 32           cpi     r27, 0x2E       ; 46
     9cc:       90 99           sbic    0x12, 0 ; 18
     9ce:       18 4d           sbci    r17, 0xD8       ; 216
     9d0:       a7 0c           add     r10, r7
     9d2:       df 32           cpi     r29, 0x2F       ; 47
     9d4:       b2 12           cpse    r11, r18
     9d6:       cc 2b           or      r28, r28
     9d8:       5b df           rcall   .-330           ; 0x890 <fpga+0x6c4>
     9da:       98 13           cpse    r25, r24
     9dc:       61 10           cpse    r6, r1
     9de:       4c 82           std     Y+4, r4 ; 0x04
     9e0:       b9 31           cpi     r27, 0x19       ; 25
     9e2:       25 18           sub     r2, r5
     9e4:       fd 80           ldd     r15, Y+5        ; 0x05
     9e6:       10 13           cpse    r17, r16
     9e8:       60 22           and     r6, r16
     9ea:       2c db           rcall   .-2472          ; 0x44 <__SREG__+0x5>
     9ec:       e9 da           rcall   .-2606          ; 0xffffffc0 <__eeprom_end+0xff7efe7e>
     9ee:       98 f8           .word   0xf898  ; ????
     9f0:       72 30           cpi     r23, 0x02       ; 2
     9f2:       40 bd           out     0x20, r20       ; 32
     9f4:       98 78           andi    r25, 0x88       ; 136
     9f6:       67 fb           bst     r22, 7
     9f8:       98 0c           add     r9, r8
     9fa:       08 62           ori     r16, 0x28       ; 40
     9fc:       de 98           cbi     0x1b, 6 ; 27
     9fe:       4b d3           rcall   .+1686          ; 0x1096 <fpga+0xeca>
     a00:       0f d0           rcall   .+30            ; 0xa20 <fpga+0x854>
     a02:       0c f0           brlt    .+2             ; 0xa06 <fpga+0x83a>
     a04:       17 2b           or      r17, r23
     a06:       30 19           sub     r19, r0
     a08:       c9 98           cbi     0x19, 1 ; 25
     a0a:       0c 88           ldd     r0, Y+20        ; 0x14
     a0c:       df fc           .word   0xfcdf  ; ????
     a0e:       8c c7           rjmp    .+3864          ; 0x1928 <__stack+0x829>
     a10:       30 f9           bld     r19, 0
     a12:       4e fe           .word   0xfe4e  ; ????
     a14:       98 0d           add     r25, r8
     a16:       95 d6           rcall   .+3370          ; 0x1742 <__stack+0x643>
     a18:       c2 37           cpi     r28, 0x72       ; 114
     a1a:       eb e5           ldi     r30, 0x5B       ; 91
     a1c:       80 8e           std     Z+24, r8        ; 0x18
     a1e:       23 f3           brvs    .-56            ; 0x9e8 <fpga+0x81c>
     a20:       5e 6e           ori     r21, 0xEE       ; 238
     a22:       68 7d           andi    r22, 0xD8       ; 216
     a24:       b1 fa           bst     r11, 1
     a26:       fa bb           out     0x1a, r31       ; 26
     a28:       64 84           ldd     r6, Z+12        ; 0x0c
     a2a:       b1 18           sub     r11, r1
     a2c:       3e 58           subi    r19, 0x8E       ; 142
     a2e:       3d 11           cpse    r19, r13
     a30:       a8 b3           in      r26, 0x18       ; 24
     a32:       0c 13           cpse    r16, r28
     a34:       64 ef           ldi     r22, 0xF4       ; 244
     a36:       c0 c0           rjmp    .+384           ; 0xbb8 <fpga+0x9ec>
     a38:       01 7c           andi    r16, 0xC1       ; 193
     a3a:       5c 90           ld      r5, X
     a3c:       08 03           fmul    r16, r16
     a3e:       70 82           st      Z, r7
     a40:       bf b3           in      r27, 0x1f       ; 31
     a42:       62 96           adiw    r28, 0x12       ; 18
     a44:       5b 04           cpc     r5, r11
     a46:       f2 30           cpi     r31, 0x02       ; 2
     a48:       04 cf           rjmp    .-504           ; 0x852 <fpga+0x686>
     a4a:       cd c8           rjmp    .-3686          ; 0xfffffbe6 <__eeprom_end+0xff7efaa4>
     a4c:       01 8a           std     Z+17, r0        ; 0x11
     a4e:       f2 c1           rjmp    .+996           ; 0xe34 <fpga+0xc68>
     a50:       40 3a           cpi     r20, 0xA0       ; 160
     a52:       5e d3           rcall   .+1724          ; 0x1110 <__stack+0x11>
     a54:       24 e1           ldi     r18, 0x14       ; 20
     a56:       e6 40           sbci    r30, 0x06       ; 6
     a58:       52 10           cpse    r5, r2
     a5a:       f3 42           sbci    r31, 0x23       ; 35
     a5c:       42 c9           rjmp    .-3452          ; 0xfffffce2 <__eeprom_end+0xff7efba0>
     a5e:       36 f3           brts    .-52            ; 0xa2c <fpga+0x860>
     a60:       3c 57           subi    r19, 0x7C       ; 124
     a62:       ac 98           cbi     0x15, 4 ; 21
     a64:       20 f5           brcc    .+72            ; 0xaae <fpga+0x8e2>
     a66:       25 20           and     r2, r5
     a68:       8b fb           .word   0xfb8b  ; ????
     a6a:       98 20           and     r9, r8
     a6c:       10 6f           ori     r17, 0xF0       ; 240
     a6e:       b6 e2           ldi     r27, 0x26       ; 38
     a70:       42 d9           rcall   .-3452          ; 0xfffffcf6 <__eeprom_end+0xff7efbb4>
     a72:       fc c9           rjmp    .-3080          ; 0xfffffe6c <__eeprom_end+0xff7efd2a>
     a74:       e5 30           cpi     r30, 0x05       ; 5
     a76:       20 e6           ldi     r18, 0x60       ; 96
     a78:       e5 12           cpse    r14, r21
     a7a:       7a 98           cbi     0x0f, 2 ; 15
     a7c:       40 df           rcall   .-384           ; 0x8fe <fpga+0x732>
     a7e:       da 98           cbi     0x1b, 2 ; 27
     a80:       10 80           ld      r1, Z
     a82:       f4 98           cbi     0x1e, 4 ; 30
     a84:       03 57           subi    r16, 0x73       ; 115
     a86:       7e dd           rcall   .-1284          ; 0x584 <fpga+0x3b8>
     a88:       fa fc           .word   0xfcfa  ; ????
     a8a:       ae c8           rjmp    .-3748          ; 0xfffffbe8 <__eeprom_end+0xff7efaa6>
     a8c:       31 30           cpi     r19, 0x01       ; 1
     a8e:       3c b1           in      r19, 0x0c       ; 12
     a90:       d5 7d           andi    r29, 0xD5       ; 213
     a92:       e3 3c           cpi     r30, 0xC3       ; 195
     a94:       11 20           and     r1, r1
     a96:       77 01           movw    r14, r14
     a98:       80 08           sbc     r8, r0
     a9a:       b3 2f           mov     r27, r19
     a9c:       98 48           sbci    r25, 0x88       ; 136
     a9e:       ae 02           muls    r26, r30
     aa0:       7b 77           andi    r23, 0x7B       ; 123
     aa2:       c3 fc           sbrc    r12, 3
     aa4:       28 69           ori     r18, 0x98       ; 152
     aa6:       ee 72           andi    r30, 0x2E       ; 46
     aa8:       00 98           cbi     0x00, 0 ; 0
     aaa:       04 a0           ldd     r0, Z+36        ; 0x24
     aac:       f3 a2           std     Z+35, r15       ; 0x23
     aae:       2c 1a           sub     r2, r28
     ab0:       ce 5b           subi    r28, 0xBE       ; 190
     ab2:       b3 80           ldd     r11, Z+3        ; 0x03
     ab4:       7f 6e           ori     r23, 0xEF       ; 239
     ab6:       23 61           ori     r18, 0x13       ; 19
     ab8:       f7 0c           add     r15, r7
     aba:       4c 82           std     Y+4, r4 ; 0x04
     abc:       09 f2           breq    .-126           ; 0xa40 <fpga+0x874>
     abe:       30 50           subi    r19, 0x00       ; 0
     ac0:       17 0b           sbc     r17, r23
     ac2:       64 24           eor     r6, r4
     ac4:       bb 8c           ldd     r11, Y+27       ; 0x1b
     ac6:       36 c8           rjmp    .-3988          ; 0xfffffb34 <__eeprom_end+0xff7ef9f2>
     ac8:       21 be           out     0x31, r2        ; 49
     aca:       98 12           cpse    r9, r24
     acc:       1e b2           in      r1, 0x1e        ; 30
     ace:       c8 fc           .word   0xfcc8  ; ????
     ad0:       b6 d5           rcall   .+2924          ; 0x163e <__stack+0x53f>
     ad2:       31 18           sub     r3, r1
     ad4:       3e 16           cp      r3, r30
     ad6:       23 d3           rcall   .+1606          ; 0x111e <__stack+0x1f>
     ad8:       de 98           cbi     0x1b, 6 ; 27
     ada:       bb 18           sub     r11, r11
     adc:       d6 98           cbi     0x1a, 6 ; 26
     ade:       01 bc           out     0x21, r0        ; 33
     ae0:       30 4d           sbci    r19, 0xD0       ; 208
     ae2:       f3 e2           ldi     r31, 0x23       ; 35
     ae4:       01 36           cpi     r16, 0x61       ; 97
     ae6:       e2 fb           bst     r30, 2
     ae8:       80 9c           mul     r8, r0
     aea:       30 62           ori     r19, 0x20       ; 32
     aec:       9e e5           ldi     r25, 0x5E       ; 94
     aee:       b1 20           and     r11, r1
     af0:       7f 5f           subi    r23, 0xFF       ; 255
     af2:       98 62           ori     r25, 0x28       ; 40
     af4:       e6 a5           ldd     r30, Z+46       ; 0x2e
     af6:       de 98           cbi     0x1b, 6 ; 27
     af8:       bd 40           sbci    r27, 0x0D       ; 13
     afa:       f3 9b           sbis    0x1e, 3 ; 30
     afc:       b9 ff           .word   0xffb9  ; ????
     afe:       fa 16           cp      r15, r26
     b00:       dc c1           rjmp    .+952           ; 0xeba <fpga+0xcee>
     b02:       28 b3           in      r18, 0x18       ; 24
     b04:       b3 08           sbc     r11, r3
     b06:       d6 b3           in      r29, 0x16       ; 22
     b08:       01 2e           mov     r0, r17
     b0a:       b3 e6           ldi     r27, 0x63       ; 99
     b0c:       70 81           ld      r23, Z
     b0e:       0c 0c           add     r0, r12
     b10:       02 e4           ldi     r16, 0x42       ; 66
     b12:       b3 98           cbi     0x16, 3 ; 22
     b14:       26 de           rcall   .-948           ; 0x762 <fpga+0x596>
     b16:       4b d9           rcall   .-3434          ; 0xfffffdae <__eeprom_end+0xff7efc6c>
     b18:       50 fd           sbrc    r21, 0
     b1a:       3e 98           cbi     0x07, 6 ; 7
     b1c:       01 9f           mul     r16, r17
     b1e:       c6 42           sbci    r28, 0x26       ; 38
     b20:       2f a0           ldd     r2, Y+39        ; 0x27
     b22:       59 07           cpc     r21, r25
     b24:       c6 24           eor     r12, r6
     b26:       20 5a           subi    r18, 0xA0       ; 160
     b28:       c2 5d           subi    r28, 0xD2       ; 210
     b2a:       bc bb           out     0x1c, r27       ; 28
     b2c:       42 6b           ori     r20, 0xB2       ; 178
     b2e:       f4 c7           rjmp    .+4072          ; 0x1b18 <__stack+0xa19>
     b30:       98 fd           .word   0xfd98  ; ????
     b32:       a8 fb           .word   0xfba8  ; ????
     b34:       6f e6           ldi     r22, 0x6F       ; 111
     b36:       98 2f           mov     r25, r24
     b38:       e6 a5           ldd     r30, Z+46       ; 0x2e
     b3a:       26 54           subi    r18, 0x46       ; 70
     b3c:       b7 22           and     r11, r23
     b3e:       3b 59           subi    r19, 0x9B       ; 155
     b40:       6e a2           std     Y+38, r6        ; 0x26
     b42:       f1 a0           ldd     r15, Z+33       ; 0x21
     b44:       c6 c0           rjmp    .+396           ; 0xcd2 <fpga+0xb06>
     b46:       48 ff           .word   0xff48  ; ????
     b48:       69 c6           rjmp    .+3282          ; 0x181c <__stack+0x71d>
     b4a:       30 47           sbci    r19, 0x70       ; 112
     b4c:       98 98           cbi     0x13, 0 ; 19
     b4e:       d7 db           rcall   .-2130          ; 0x2fe <fpga+0x132>
     b50:       7f 71           andi    r23, 0x1F       ; 31
     b52:       56 fe           sbrs    r5, 6
     b54:       a5 02           muls    r26, r21
     b56:       81 f6           brne    .-96            ; 0xaf8 <fpga+0x92c>
     b58:       cc 18           sub     r12, r12
     b5a:       88 ec           ldi     r24, 0xC8       ; 200
     b5c:       bb bb           out     0x1b, r27       ; 27
     b5e:       3d c8           rjmp    .-3974          ; 0xfffffbda <__eeprom_end+0xff7efa98>
     b60:       78 f9           .word   0xf978  ; ????
     b62:       28 a7           std     Y+40, r18       ; 0x28
     b64:       18 30           cpi     r17, 0x08       ; 8
     b66:       9f ac           ldd     r9, Y+63        ; 0x3f
     b68:       98 04           cpc     r9, r8
     b6a:       63 35           cpi     r22, 0x53       ; 83
     b6c:       c8 20           and     r12, r8
     b6e:       cb 30           cpi     r28, 0x0B       ; 11
     b70:       05 db           rcall   .-2550          ; 0x17c <default_kbmap+0xf0>
     b72:       2f 90           pop     r2
     b74:       40 6e           ori     r20, 0xE0       ; 224
     b76:       eb fb           .word   0xfbeb  ; ????
     b78:       ca fd           .word   0xfdca  ; ????
     b7a:       c9 c5           rjmp    .+2962          ; 0x170e <__stack+0x60f>
     b7c:       ee 40           sbci    r30, 0x0E       ; 14
     b7e:       a5 18           sub     r10, r5
     b80:       4c 11           cpse    r20, r12
     b82:       9d fd           .word   0xfd9d  ; ????
     b84:       7f 30           cpi     r23, 0x0F       ; 15
     b86:       0a 9d           mul     r16, r10
     b88:       fb 7f           andi    r31, 0xFB       ; 251
     b8a:       45 23           and     r20, r21
     b8c:       9b ca           rjmp    .-2762          ; 0xc4 <default_kbmap+0x38>
     b8e:       4c 84           ldd     r4, Y+12        ; 0x0c
     b90:       94 b3           in      r25, 0x14       ; 20
     b92:       c0 7a           andi    r28, 0xA0       ; 160
     b94:       c0 0b           sbc     r28, r16
     b96:       62 7e           andi    r22, 0xE2       ; 226
     b98:       76 c8           rjmp    .-3860          ; 0xfffffc86 <__eeprom_end+0xff7efb44>
     b9a:       c8 fa           .word   0xfac8  ; ????
     b9c:       de 98           cbi     0x1b, 6 ; 27
     b9e:       b1 10           cpse    r11, r1
     ba0:       1f 58           subi    r17, 0x8F       ; 143
     ba2:       98 3c           cpi     r25, 0xC8       ; 200
     ba4:       c6 7e           andi    r28, 0xE6       ; 230
     ba6:       c8 18           sub     r12, r8
     ba8:       20 0f           add     r18, r16
     baa:       e0 40           sbci    r30, 0x00       ; 0
     bac:       d3 3e           cpi     r29, 0xE3       ; 227
     bae:       c8 c8           rjmp    .-3696          ; 0xfffffd40 <__eeprom_end+0xff7efbfe>
     bb0:       03 78           andi    r16, 0x83       ; 131
     bb2:       10 bc           out     0x20, r1        ; 32
     bb4:       98 7b           andi    r25, 0xB8       ; 184
     bb6:       d3 88           ldd     r13, Z+19       ; 0x13
     bb8:       f8 84           ldd     r15, Y+8        ; 0x08
     bba:       7e 16           cp      r7, r30
     bbc:       30 93 79 66     sts     0x6679, r19
     bc0:       8c f2           brlt    .-94            ; 0xb64 <fpga+0x998>
     bc2:       30 20           and     r3, r0
     bc4:       db c1           rjmp    .+950           ; 0xf7c <fpga+0xdb0>
     bc6:       98 ed           ldi     r25, 0xD8       ; 216
     bc8:       04 03           mulsu   r16, r20
     bca:       75 15           cp      r23, r5
     bcc:       09 bf           out     0x39, r16       ; 57
     bce:       f8 db           rcall   .-2064          ; 0x3c0 <fpga+0x1f4>
     bd0:       98 c0           rjmp    .+304           ; 0xd02 <fpga+0xb36>
     bd2:       10 fc           sbrc    r1, 0
     bd4:       98 c2           rjmp    .+1328          ; 0x1106 <__stack+0x7>
     bd6:       a4 b3           in      r26, 0x14       ; 20
     bd8:       04 ec           ldi     r16, 0xC4       ; 196
     bda:       c0 05           cpc     r28, r0
     bdc:       02 ad           ldd     r16, Z+58       ; 0x3a
     bde:       ac e3           ldi     r26, 0x3C       ; 60
     be0:       ed c8           rjmp    .-3622          ; 0xfffffdbc <__eeprom_end+0xff7efc7a>
     be2:       ff 20           and     r15, r15
     be4:       72 c8           rjmp    .-3868          ; 0xfffffcca <__eeprom_end+0xff7efb88>
     be6:       c2 df           rcall   .-124           ; 0xb6c <fpga+0x9a0>
     be8:       6d 98           cbi     0x0d, 5 ; 13
     bea:       48 20           and     r4, r8
     bec:       7d da           rcall   .-2822          ; 0xe8 <default_kbmap+0x5c>
     bee:       48 e9           ldi     r20, 0x98       ; 152
     bf0:       52 50           subi    r21, 0x02       ; 2
     bf2:       23 d8           rcall   .-4026          ; 0xfffffc3a <__eeprom_end+0xff7efaf8>
     bf4:       01 49           sbci    r16, 0x91       ; 145
     bf6:       f0 d8           rcall   .-3616          ; 0xfffffdd8 <__eeprom_end+0xff7efc96>
     bf8:       66 2c           mov     r6, r6
     bfa:       b9 32           cpi     r27, 0x29       ; 41
     bfc:       f5 98           cbi     0x1e, 5 ; 30
     bfe:       62 b9           out     0x02, r22       ; 2
     c00:       f3 0b           sbc     r31, r19
     c02:       a0 75           andi    r26, 0x50       ; 80
     c04:       d9 c6           rjmp    .+3506          ; 0x19b8 <__stack+0x8b9>
     c06:       d8 ff           .word   0xffd8  ; ????
     c08:       ee 4b           sbci    r30, 0xBE       ; 190
     c0a:       43 c2           rjmp    .+1158          ; 0x1092 <fpga+0xec6>
     c0c:       5c b3           in      r21, 0x1c       ; 28
     c0e:       c8 8c           ldd     r12, Y+24       ; 0x18
     c10:       61 67           ori     r22, 0x71       ; 113
     c12:       d5 98           cbi     0x1a, 5 ; 26
     c14:       20 e7           ldi     r18, 0x70       ; 112
     c16:       a5 fd           sbrc    r26, 5
     c18:       f6 78           andi    r31, 0x86       ; 134
     c1a:       05 54           subi    r16, 0x45       ; 69
     c1c:       16 49           sbci    r17, 0x96       ; 150
     c1e:       c6 f8           bld     r12, 6
     c20:       66 c5           rjmp    .+2764          ; 0x16ee <__stack+0x5ef>
     c22:       10 02           muls    r17, r16
     c24:       80 46           sbci    r24, 0x60       ; 96
     c26:       bc 92           st      X, r11
     c28:       b2 ff           sbrs    r27, 2
     c2a:       cf 58           subi    r28, 0x8F       ; 143
     c2c:       26 10           cpse    r2, r6
     c2e:       bf b6           in      r11, 0x3f       ; 63
     c30:       98 60           ori     r25, 0x08       ; 8
     c32:       01 cd           rjmp    .-1534          ; 0x636 <fpga+0x46a>
     c34:       f3 98           cbi     0x1e, 3 ; 30
     c36:       08 71           andi    r16, 0x18       ; 24
     c38:       27 ef           ldi     r18, 0xF7       ; 247
     c3a:       c6 4a           sbci    r28, 0xA6       ; 166
     c3c:       fa 80           ldd     r15, Y+2        ; 0x02
     c3e:       31 4d           sbci    r19, 0xD1       ; 209
     c40:       cc c0           rjmp    .+408           ; 0xdda <fpga+0xc0e>
     c42:       20 73           andi    r18, 0x30       ; 48
     c44:       30 60           ori     r19, 0x00       ; 0
     c46:       22 71           andi    r18, 0x12       ; 18
     c48:       96 97           sbiw    r26, 0x26       ; 38
     c4a:       db 24           eor     r13, r11
     c4c:       12 3b           cpi     r17, 0xB2       ; 178
     c4e:       fb 7f           andi    r31, 0xFB       ; 251
     c50:       09 02           muls    r16, r25
     c52:       5e 7d           andi    r21, 0xDE       ; 222
     c54:       30 60           ori     r19, 0x00       ; 0
     c56:       02 2c           mov     r0, r2
     c58:       80 51           subi    r24, 0x10       ; 16
     c5a:       fe 98           cbi     0x1f, 6 ; 31
     c5c:       fc 10           cpse    r15, r12
     c5e:       01 20           and     r0, r1
     c60:       60 14           cp      r6, r0
     c62:       0c e3           ldi     r16, 0x3C       ; 60
     c64:       e6 30           cpi     r30, 0x06       ; 6
     c66:       0a 4b           sbci    r16, 0xBA       ; 186
     c68:       fc 60           ori     r31, 0x0C       ; 12
     c6a:       0a b8           out     0x0a, r0        ; 10
     c6c:       30 df           rcall   .-416           ; 0xace <fpga+0x902>
     c6e:       d7 98           cbi     0x1a, 7 ; 26
     c70:       38 79           andi    r19, 0x98       ; 152
     c72:       a5 b7           in      r26, 0x35       ; 53
     c74:       ab 98           cbi     0x15, 3 ; 21
     c76:       79 99           sbic    0x0f, 1 ; 15
     c78:       30 41           sbci    r19, 0x10       ; 16
     c7a:       3c 17           cp      r19, r28
     c7c:       bb f8           .word   0xf8bb  ; ????
     c7e:       5b 02           muls    r21, r27
     c80:       06 c2           rjmp    .+1036          ; 0x108e <fpga+0xec2>
     c82:       d6 b6           in      r13, 0x36       ; 54
     c84:       40 15           cp      r20, r0
     c86:       79 e5           ldi     r23, 0x59       ; 89
     c88:       91 cb           rjmp    .-2270          ; 0x3ac <fpga+0x1e0>
     c8a:       30 10           cpse    r3, r0
     c8c:       6f 6e           ori     r22, 0xEF       ; 239
     c8e:       e5 d9           rcall   .-3126          ; 0x5a <__SREG__+0x1b>
     c90:       f9 d4           rcall   .+2546          ; 0x1684 <__stack+0x585>
     c92:       02 26           eor     r0, r18
     c94:       3b 14           cp      r3, r11
     c96:       96 b3           in      r25, 0x16       ; 22
     c98:       02 7a           andi    r16, 0xA2       ; 162
     c9a:       c0 0a           sbc     r12, r16
     c9c:       c6 16           cp      r12, r22
     c9e:       b3 41           sbci    r27, 0x13       ; 19
     ca0:       c8 b3           in      r28, 0x18       ; 24
     ca2:       98 56           subi    r25, 0x68       ; 104
     ca4:       42 af           std     Z+58, r20       ; 0x3a
     ca6:       b3 b0           in      r11, 0x03       ; 3
     ca8:       f8 20           and     r15, r8
     caa:       48 77           andi    r20, 0x78       ; 120
     cac:       86 98           cbi     0x10, 6 ; 16
     cae:       66 fb           bst     r22, 6
     cb0:       98 08           sbc     r9, r8
     cb2:       01 62           ori     r16, 0x21       ; 33
     cb4:       9e 98           cbi     0x13, 6 ; 19
     cb6:       b2 04           cpc     r11, r2
     cb8:       7f 66           ori     r23, 0x6F       ; 111
     cba:       01 bd           out     0x21, r16       ; 33
     cbc:       04 f6           brge    .-128           ; 0xc3e <fpga+0xa72>
     cbe:       9a e3           ldi     r25, 0x3A       ; 58
     cc0:       48 23           and     r20, r24
     cc2:       02 dd           rcall   .-1532          ; 0x6c8 <fpga+0x4fc>
     cc4:       80 dc           rcall   .-1792          ; 0x5c6 <fpga+0x3fa>
     cc6:       06 98           cbi     0x00, 6 ; 0
     cc8:       fd b0           in      r15, 0x0d       ; 13
     cca:       f9 cf           rjmp    .-14            ; 0xcbe <fpga+0xaf2>
     ccc:       d7 98           cbi     0x1a, 7 ; 26
     cce:       02 ed           ldi     r16, 0xD2       ; 210
     cd0:       ee bf           out     0x3e, r30       ; 62
     cd2:       8a cd           rjmp    .-1260          ; 0x7e8 <fpga+0x61c>
     cd4:       9a 6e           ori     r25, 0xEA       ; 234
     cd6:       c6 38           cpi     r28, 0x86       ; 134
     cd8:       f9 f2           breq    .-66            ; 0xc98 <fpga+0xacc>
     cda:       ef e3           ldi     r30, 0x3F       ; 63
     cdc:       30 33           cpi     r19, 0x30       ; 48
     cde:       d6 98           cbi     0x1a, 6 ; 26
     ce0:       c0 a6           std     Z+40, r12       ; 0x28
     ce2:       f3 2d           mov     r31, r3
     ce4:       9b c8           rjmp    .-3786          ; 0xfffffe1c <__eeprom_end+0xff7efcda>
     ce6:       c0 b8           out     0x00, r12       ; 0
     ce8:       3d d7           rcall   .+3706          ; 0x1b64 <__stack+0xa65>
     cea:       be 34           cpi     r27, 0x4E       ; 78
     cec:       08 04           cpc     r0, r8
     cee:       01 18           sub     r0, r1
     cf0:       5d a4           ldd     r5, Y+45        ; 0x2d
     cf2:       ee 98           cbi     0x1d, 6 ; 29
     cf4:       e8 fd           .word   0xfde8  ; ????
     cf6:       84 1a           sub     r8, r20
     cf8:       e4 30           cpi     r30, 0x04       ; 4
     cfa:       40 57           subi    r20, 0x70       ; 112
     cfc:       98 6b           ori     r25, 0xB8       ; 184
     cfe:       f7 1e           adc     r15, r23
     d00:       30 ff           sbrs    r19, 0
     d02:       67 64           ori     r22, 0x47       ; 71
     d04:       38 e8           ldi     r19, 0x88       ; 136
     d06:       c5 90           lpm     r12, Z+
     d08:       08 5c           subi    r16, 0xC8       ; 200
     d0a:       9d d3           rcall   .+1850          ; 0x1446 <__stack+0x347>
     d0c:       68 f9           .word   0xf968  ; ????
     d0e:       84 f9           bld     r24, 4
     d10:       c8 da           rcall   .-2672          ; 0x2a2 <fpga+0xd6>
     d12:       88 98           cbi     0x11, 0 ; 17
     d14:       fb aa           std     Y+51, r15       ; 0x33
     d16:       30 02           muls    r19, r16
     d18:       69 e7           ldi     r22, 0x79       ; 121
     d1a:       b8 a0           ldd     r11, Y+32       ; 0x20
     d1c:       fa b0           in      r15, 0x0a       ; 10
     d1e:       31 7c           andi    r19, 0xC1       ; 193
     d20:       ae c8           rjmp    .-3748          ; 0xfffffe7e <__eeprom_end+0xff7efd3c>
     d22:       2c 30           cpi     r18, 0x0C       ; 12
     d24:       a4 d5           rcall   .+2888          ; 0x186e <__stack+0x76f>
     d26:       5c 04           cpc     r5, r12
     d28:       eb 6a           ori     r30, 0xAB       ; 171
     d2a:       08 60           ori     r16, 0x08       ; 8
     d2c:       9f 30           cpi     r25, 0x0F       ; 15
     d2e:       01 b0           in      r0, 0x01        ; 1
     d30:       10 c0           rjmp    .+32            ; 0xd52 <fpga+0xb86>
     d32:       ff 82           std     Y+7, r15        ; 0x07
     d34:       60 bf           out     0x30, r22       ; 48
     d36:       5c 74           andi    r21, 0x4C       ; 76
     d38:       13 1e           adc     r1, r19
     d3a:       04 6b           ori     r16, 0xB4       ; 180
     d3c:       eb 98           cbi     0x1d, 3 ; 29
     d3e:       20 db           rcall   .-2496          ; 0x380 <fpga+0x1b4>
     d40:       39 03           fmul    r19, r17
     d42:       01 d6           rcall   .+3074          ; 0x1946 <__stack+0x847>
     d44:       f3 10           cpse    r15, r3
     d46:       2d 9d           mul     r18, r13
     d48:       c8 83           st      Y, r28
     d4a:       78 91           .word   0x9178  ; ????
     d4c:       e3 98           cbi     0x1c, 3 ; 28
     d4e:       d3 79           andi    r29, 0x93       ; 147
     d50:       35 f3           brhs    .-52            ; 0xd1e <fpga+0xb52>
     d52:       e4 ef           ldi     r30, 0xF4       ; 244
     d54:       98 f8           .word   0xf898  ; ????
     d56:       fb 88           ldd     r15, Y+19       ; 0x13
     d58:       81 5c           subi    r24, 0xC1       ; 193
     d5a:       30 8e           std     Z+24, r3        ; 0x18
     d5c:       80 cd           rjmp    .-1280          ; 0x85e <fpga+0x692>
     d5e:       e5 30           cpi     r30, 0x05       ; 5
     d60:       03 85           ldd     r16, Z+11       ; 0x0b
     d62:       3e 98           cbi     0x07, 6 ; 7
     d64:       b6 08           sbc     r11, r6
     d66:       f0 98           cbi     0x1e, 0 ; 30
     d68:       4f df           rcall   .-354           ; 0xc08 <fpga+0xa3c>
     d6a:       49 46           sbci    r20, 0x69       ; 105
     d6c:       41 04           cpc     r4, r1
     d6e:       72 69           ori     r23, 0x92       ; 146
     d70:       0a c3           rjmp    .+1556          ; 0x1386 <__stack+0x287>
     d72:       35 b3           in      r19, 0x15       ; 21
     d74:       50 bf           out     0x30, r21       ; 48
     d76:       82 98           cbi     0x10, 2 ; 16
     d78:       b4 ff           sbrs    r27, 4
     d7a:       c8 c8           rjmp    .-3696          ; 0xffffff0c <__eeprom_end+0xff7efdca>
     d7c:       ce cd           rjmp    .-1124          ; 0x91a <fpga+0x74e>
     d7e:       c8 40           sbci    r28, 0x08       ; 8
     d80:       ff 04           cpc     r15, r15
     d82:       61 1f           adc     r22, r17
     d84:       a0 98           cbi     0x14, 0 ; 20
     d86:       08 5b           subi    r16, 0xB8       ; 184
     d88:       02 67           ori     r16, 0x72       ; 114
     d8a:       dd 02           muls    r29, r29
     d8c:       50 7a           andi    r21, 0xA0       ; 160
     d8e:       c9 20           and     r12, r9
     d90:       74 be           out     0x34, r7        ; 52
     d92:       70 fe           sbrs    r7, 0
     d94:       f8 61           ori     r31, 0x18       ; 24
     d96:       e7 ad           ldd     r30, Z+63       ; 0x3f
     d98:       98 10           cpse    r9, r8
     d9a:       f9 30           cpi     r31, 0x09       ; 9
     d9c:       e8 96           adiw    r28, 0x38       ; 56
     d9e:       f8 f8           .word   0xf8f8  ; ????
     da0:       fe 98           cbi     0x1f, 6 ; 31
     da2:       42 b8           out     0x02, r4        ; 2
     da4:       50 c2           rjmp    .+1184          ; 0x1246 <__stack+0x147>
     da6:       3f 57           subi    r19, 0x7F       ; 127
     da8:       98 80           ld      r9, Y
     daa:       db 52           subi    r29, 0x2B       ; 43
     dac:       72 30           cpi     r23, 0x02       ; 2
     dae:       18 8f           std     Y+24, r17       ; 0x18
     db0:       b0 19           sub     r27, r0
     db2:       09 ca           rjmp    .-3054          ; 0x1c6 <default_kbmap_E0+0x3a>
     db4:       f9 be           out     0x39, r15       ; 57
     db6:       6f e6           ldi     r22, 0x6F       ; 111
     db8:       98 2e           mov     r9, r24
     dba:       2b 46           sbci    r18, 0x6B       ; 107
     dbc:       d2 61           ori     r29, 0x12       ; 18
     dbe:       a2 b6           in      r10, 0x32       ; 50
     dc0:       5e d5           rcall   .+2748          ; 0x187e <__stack+0x77f>
     dc2:       e4 1e           adc     r14, r20
     dc4:       0b d7           rcall   .+3606          ; 0x1bdc <__stack+0xadd>
     dc6:       bb 3d           cpi     r27, 0xDB       ; 219
     dc8:       43 fb           bst     r20, 3
     dca:       4c 99           sbic    0x09, 4 ; 9
     dcc:       c8 a0           ldd     r12, Y+32       ; 0x20
     dce:       01 de           rcall   .-1022          ; 0x9d2 <fpga+0x806>
     dd0:       b7 04           cpc     r11, r7
     dd2:       e1 30           cpi     r30, 0x01       ; 1
     dd4:       e8 69           ori     r30, 0x98       ; 152
     dd6:       ed 98           cbi     0x1d, 5 ; 29
     dd8:       20 02           muls    r18, r16
     dda:       b1 22           and     r11, r17
     ddc:       9b 9c           mul     r9, r11
     dde:       c8 0b           sbc     r28, r24
     de0:       61 b4           in      r6, 0x21        ; 33
     de2:       76 f7           brtc    .-36            ; 0xdc0 <fpga+0xbf4>
     de4:       98 24           eor     r9, r8
     de6:       40 08           sbc     r4, r0
     de8:       ff 90           pop     r15
     dea:       60 04           cpc     r6, r0
     dec:       8c 82           std     Y+4, r8 ; 0x04
     dee:       49 30           cpi     r20, 0x09       ; 9
     df0:       0a f1           brmi    .+66            ; 0xe34 <fpga+0xc68>
     df2:       69 f9           .word   0xf969  ; ????
     df4:       e0 01           movw    r28, r0
     df6:       d7 ae           std     Z+63, r13       ; 0x3f
     df8:       98 40           sbci    r25, 0x08       ; 8
     dfa:       f5 98           cbi     0x1e, 5 ; 30
     dfc:       20 b7           in      r18, 0x30       ; 48
     dfe:       17 30           cpi     r17, 0x07       ; 7
     e00:       9a 98           cbi     0x13, 2 ; 19
     e02:       e6 c8           rjmp    .-3636          ; 0xffffffd0 <__eeprom_end+0xff7efe8e>
     e04:       04 d4           rcall   .+2056          ; 0x160e <__stack+0x50f>
     e06:       82 d5           rcall   .+2820          ; 0x190c <__stack+0x80d>
     e08:       ab e8           ldi     r26, 0x8B       ; 139
     e0a:       6a ab           std     Y+50, r22       ; 0x32
     e0c:       2d e0           ldi     r18, 0x0D       ; 13
     e0e:       fc 98           cbi     0x1f, 4 ; 31
     e10:       25 1e           adc     r2, r21
     e12:       e2 f3           brmi    .-8             ; 0xe0c <fpga+0xc40>
     e14:       b9 42           sbci    r27, 0x29       ; 41
     e16:       d3 7e           andi    r29, 0xE3       ; 227
     e18:       b7 15           cp      r27, r7
     e1a:       06 81           ldd     r16, Z+6        ; 0x06
     e1c:       f9 4e           sbci    r31, 0xE9       ; 233
     e1e:       88 7a           andi    r24, 0xA8       ; 168
     e20:       98 80           ld      r9, Y
     e22:       d5 b3           in      r29, 0x15       ; 21
     e24:       50 6a           ori     r21, 0xA0       ; 160
     e26:       b3 b1           in      r27, 0x03       ; 3
     e28:       88 1f           adc     r24, r24
     e2a:       06 e5           ldi     r16, 0x56       ; 86
     e2c:       df 56           subi    r29, 0x6F       ; 111
     e2e:       15 fb           bst     r17, 5
     e30:       8d b3           in      r24, 0x1d       ; 29
     e32:       40 48           sbci    r20, 0x80       ; 128
     e34:       f9 c8           rjmp    .-3598          ; 0x28 <__zero_reg__+0x27>
     e36:       67 9b           sbis    0x0c, 7 ; 12
     e38:       b3 fe           sbrs    r11, 3
     e3a:       ca 02           muls    r28, r26
     e3c:       c6 3d           cpi     r28, 0xD6       ; 214
     e3e:       98 98           cbi     0x13, 0 ; 19
     e40:       da 10           cpse    r13, r10
     e42:       a3 b6           in      r10, 0x33       ; 51
     e44:       b3 78           andi    r27, 0x83       ; 131
     e46:       f9 37           cpi     r31, 0x79       ; 121
     e48:       e6 f7           brtc    .-8             ; 0xe42 <fpga+0xc76>
     e4a:       51 b3           in      r21, 0x11       ; 17
     e4c:       8f 97           sbiw    r24, 0x2f       ; 47
     e4e:       ff 66           ori     r31, 0x6F       ; 111
     e50:       b1 20           and     r11, r1
     e52:       cf 80           ldd     r12, Y+7        ; 0x07
     e54:       5d 12           cpse    r5, r29
     e56:       e5 c8           rjmp    .-3638          ; 0x22 <__zero_reg__+0x21>
     e58:       d6 04           cpc     r13, r6
     e5a:       71 f3           breq    .-36            ; 0xe38 <fpga+0xc6c>
     e5c:       9c d1           rcall   .+824           ; 0x1196 <__stack+0x97>
     e5e:       63 8c           ldd     r6, Z+27        ; 0x1b
     e60:       d3 98           cbi     0x1a, 3 ; 26
     e62:       ff 06           cpc     r15, r31
     e64:       09 03           fmul    r16, r17
     e66:       ff b3           in      r31, 0x1f       ; 31
     e68:       28 60           ori     r18, 0x08       ; 8
     e6a:       90 66           ori     r25, 0x60       ; 96
     e6c:       b0 90 4c 2f     lds     r11, 0x2F4C
     e70:       66 bf           out     0x36, r22       ; 54
     e72:       9b cd           rjmp    .-1226          ; 0x9aa <fpga+0x7de>
     e74:       4a 40           sbci    r20, 0x0A       ; 10
     e76:       a0 3c           cpi     r26, 0xC0       ; 192
     e78:       93 0b           sbc     r25, r19
     e7a:       cc f3           brlt    .-14            ; 0xe6e <fpga+0xca2>
     e7c:       44 d0           rcall   .+136           ; 0xf06 <fpga+0xd3a>
     e7e:       d4 73           andi    r29, 0x34       ; 52
     e80:       dc f3           brlt    .-10            ; 0xe78 <fpga+0xcac>
     e82:       cb ff           .word   0xffcb  ; ????
     e84:       64 70           andi    r22, 0x04       ; 4
     e86:       fd 04           cpc     r15, r13
     e88:       76 d9           rcall   .-3348          ; 0x176 <default_kbmap+0xea>
     e8a:       8e fd           .word   0xfd8e  ; ????
     e8c:       18 b4           in      r1, 0x28        ; 40
     e8e:       02 31           cpi     r16, 0x12       ; 18
     e90:       f3 ae           std     Z+59, r15       ; 0x3b
     e92:       de 18           sub     r13, r14
     e94:       08 f3           brcs    .-62            ; 0xe58 <fpga+0xc8c>
     e96:       46 b1           in      r20, 0x06       ; 6
     e98:       ed 17           cp      r30, r29
     e9a:       88 fd           .word   0xfd88  ; ????
     e9c:       82 67           ori     r24, 0x72       ; 114
     e9e:       ca 32           cpi     r28, 0x2A       ; 42
     ea0:       f4 32           cpi     r31, 0x24       ; 36
     ea2:       2b 78           andi    r18, 0x8B       ; 139
     ea4:       56 d4           rcall   .+2220          ; 0x1752 <__stack+0x653>
     ea6:       7e c5           rjmp    .+2812          ; 0x19a4 <__stack+0x8a5>
     ea8:       16 ff           sbrs    r17, 6
     eaa:       40 a4           ldd     r4, Z+40        ; 0x28
     eac:       f8 ba           out     0x18, r15       ; 24
     eae:       b2 04           cpc     r11, r2
     eb0:       57 ef           ldi     r21, 0xF7       ; 247
     eb2:       10 b6           in      r1, 0x30        ; 48
     eb4:       c6 c0           rjmp    .+396           ; 0x1042 <fpga+0xe76>
     eb6:       fb 1c           adc     r15, r11
     eb8:       fe 8f           std     Y+30, r31       ; 0x1e
     eba:       40 ce           rjmp    .-896           ; 0xb3c <fpga+0x970>
     ebc:       fb 7f           andi    r31, 0xFB       ; 251
     ebe:       0e 4c           sbci    r16, 0xCE       ; 206
     ec0:       b3 fe           sbrs    r11, 3
     ec2:       ed e8           ldi     r30, 0x8D       ; 141
     ec4:       b8 fd           .word   0xfdb8  ; ????
     ec6:       cc 9c           mul     r12, r12
     ec8:       7c 85           ldd     r23, Y+12       ; 0x0c
     eca:       c7 d6           rcall   .+3470          ; 0x1c5a <__stack+0xb5b>
     ecc:       ff d8           rcall   .-3586          ; 0xcc <default_kbmap+0x40>
     ece:       08 3e           cpi     r16, 0xE8       ; 232
     ed0:       98 5b           subi    r25, 0xB8       ; 184
     ed2:       f7 6c           ori     r31, 0xC7       ; 199
     ed4:       19 60           ori     r17, 0x09       ; 9
     ed6:       97 e6           ldi     r25, 0x67       ; 103
     ed8:       4b 2a           or      r4, r27
     eda:       93 62           ori     r25, 0x23       ; 35
     edc:       9f 2d           mov     r25, r15
     ede:       b5 80           ldd     r11, Z+5        ; 0x05
     ee0:       f5 82           std     Z+5, r15        ; 0x05
     ee2:       10 92 e5 b7     sts     0xB7E5, r1
     ee6:       10 f6           brcc    .-124           ; 0xe6c <fpga+0xca0>
     ee8:       70 49           sbci    r23, 0x90       ; 144
     eea:       fa d7           rcall   .+4084          ; 0x1ee0 <__stack+0xde1>
     eec:       d4 3b           cpi     r29, 0xB4       ; 180
     eee:       08 ea           ldi     r16, 0xA8       ; 168
     ef0:       64 9e           mul     r6, r20
     ef2:       cf cb           rjmp    .-2146          ; 0x692 <fpga+0x4c6>
     ef4:       d8 40           sbci    r29, 0x08       ; 8
     ef6:       10 99           sbic    0x02, 0 ; 2
     ef8:       b2 9e           mul     r11, r18
     efa:       ff 6c           ori     r31, 0xCF       ; 207
     efc:       b2 df           rcall   .-156           ; 0xe62 <fpga+0xc96>
     efe:       70 ff           sbrs    r23, 0
     f00:       dd be           out     0x3d, r13       ; 61
     f02:       01 14           cp      r0, r1
     f04:       c6 b0           in      r12, 0x06       ; 6
     f06:       ab c4           rjmp    .+2390          ; 0x185e <__stack+0x75f>
     f08:       04 57           subi    r16, 0x74       ; 116
     f0a:       6a 60           ori     r22, 0x0A       ; 10
     f0c:       40 15           cp      r20, r0
     f0e:       67 8d           ldd     r22, Z+31       ; 0x1f
     f10:       4f e8           ldi     r20, 0x8F       ; 143
     f12:       06 cb           rjmp    .-2548          ; 0x520 <fpga+0x354>
     f14:       c6 88           ldd     r12, Z+22       ; 0x16
     f16:       24 b8           out     0x04, r2        ; 4
     f18:       ee da           rcall   .-2596          ; 0x4f6 <fpga+0x32a>
     f1a:       c1 40           sbci    r28, 0x01       ; 1
     f1c:       6e 2b           or      r22, r30
     f1e:       f9 ed           ldi     r31, 0xD9       ; 217
     f20:       ef b0           in      r14, 0x0f       ; 15
     f22:       84 04           cpc     r8, r4
     f24:       76 50           subi    r23, 0x06       ; 6
     f26:       a0 80           ld      r10, Z
     f28:       02 5f           subi    r16, 0xF2       ; 242
     f2a:       6c bd           out     0x2c, r22       ; 44
     f2c:       09 63           ori     r16, 0x39       ; 57
     f2e:       2f c9           rjmp    .-3490          ; 0x18e <default_kbmap_E0+0x2>
     f30:       17 f4           brid    .+4             ; 0xf36 <fpga+0xd6a>
     f32:       d4 e8           ldi     r29, 0x84       ; 132
     f34:       63 e3           ldi     r22, 0x33       ; 51
     f36:       8a 05           cpc     r24, r10
     f38:       08 94           sec
     f3a:       f8 99           sbic    0x1f, 0 ; 31
     f3c:       b2 fd           sbrc    r27, 2
     f3e:       f2 e2           ldi     r31, 0x22       ; 34
     f40:       58 b3           in      r21, 0x18       ; 24
     f42:       74 ff           sbrs    r23, 4
     f44:       d0 18           sub     r13, r0
     f46:       fd 74           andi    r31, 0x4D       ; 77
     f48:       d8 bc           out     0x28, r13       ; 40
     f4a:       01 a7           std     Z+41, r16       ; 0x29
     f4c:       d8 f7           brcc    .-10            ; 0xf44 <fpga+0xd78>
     f4e:       e7 ef           ldi     r30, 0xF7       ; 247
     f50:       cd 02           muls    r28, r29
     f52:       43 79           andi    r20, 0x93       ; 147
     f54:       20 47           sbci    r18, 0x70       ; 112
     f56:       5c fb           .word   0xfb5c  ; ????
     f58:       e3 08           sbc     r14, r3
     f5a:       61 b2           in      r6, 0x11        ; 17
     f5c:       f8 16           cp      r15, r24
     f5e:       db 88           ldd     r13, Y+19       ; 0x13
     f60:       2f e6           ldi     r18, 0x6F       ; 111
     f62:       4b 38           cpi     r20, 0x8B       ; 139
     f64:       11 b6           in      r1, 0x31        ; 49
     f66:       08 6c           ori     r16, 0xC8       ; 200
     f68:       f2 d8           rcall   .-3612          ; 0x14e <default_kbmap+0xc2>
     f6a:       fa 3f           cpi     r31, 0xFA       ; 250
     f6c:       f5 a2           std     Z+37, r15       ; 0x25
     f6e:       08 bf           out     0x38, r16       ; 56
     f70:       f6 e2           ldi     r31, 0x26       ; 38
     f72:       38 ff           .word   0xff38  ; ????
     f74:       9e d4           rcall   .+2364          ; 0x18b2 <__stack+0x7b3>
     f76:       60 87           std     Z+8, r22        ; 0x08
     f78:       dd 5e           subi    r29, 0xED       ; 237
     f7a:       b8 fc           .word   0xfcb8  ; ????
     f7c:       83 0f           add     r24, r19
     f7e:       58 fe           .word   0xfe58  ; ????
     f80:       7e b3           in      r23, 0x1e       ; 30
     f82:       b1 08           sbc     r11, r1
     f84:       3c b1           in      r19, 0x0c       ; 12
     f86:       7d f5           brhc    .+94            ; 0xfe6 <fpga+0xe1a>
     f88:       ff 20           and     r15, r15
     f8a:       bf ed           ldi     r27, 0xDF       ; 223
     f8c:       1c 18           sub     r1, r12
     f8e:       73 2e           mov     r7, r19
     f90:       41 60           ori     r20, 0x01       ; 1
     f92:       84 66           ori     r24, 0x64       ; 100
     f94:       d9 c8           rjmp    .-3662          ; 0x148 <default_kbmap+0xbc>
     f96:       fe 06           cpc     r15, r30
     f98:       70 15           cp      r23, r0
     f9a:       7e 75           andi    r23, 0x5E       ; 94
     f9c:       01 cb           rjmp    .-2558          ; 0x5a0 <fpga+0x3d4>
     f9e:       f5 85           ldd     r31, Z+13       ; 0x0d
     fa0:       20 a9           ldd     r18, Z+48       ; 0x30
     fa2:       19 86           std     Y+9, r1 ; 0x09
     fa4:       bf 7f           andi    r27, 0xFF       ; 255
     fa6:       7e 6c           ori     r23, 0xCE       ; 206
     fa8:       e3 20           and     r14, r3
     faa:       e5 66           ori     r30, 0x65       ; 101
     fac:       f8 86           std     Y+8, r15        ; 0x08
     fae:       bd b8           out     0x0d, r11       ; 13
     fb0:       67 9f           mul     r22, r23
     fb2:       3d e6           ldi     r19, 0x6D       ; 109
     fb4:       e5 49           sbci    r30, 0x95       ; 149
     fb6:       b3 87           std     Z+11, r27       ; 0x0b
     fb8:       de 8d           ldd     r29, Y+30       ; 0x1e
     fba:       b5 a8           ldd     r11, Z+53       ; 0x35
     fbc:       58 b3           in      r21, 0x18       ; 24
     fbe:       01 60           ori     r16, 0x01       ; 1
     fc0:       67 b7           in      r22, 0x37       ; 55
     fc2:       01 38           cpi     r16, 0x81       ; 129
     fc4:       11 c0           rjmp    .+34            ; 0xfe8 <fpga+0xe1c>
     fc6:       e6 0d           add     r30, r6
     fc8:       d8 fd           .word   0xfdd8  ; ????
     fca:       c1 33           cpi     r28, 0x31       ; 49
     fcc:       cd 98           cbi     0x19, 5 ; 25
     fce:       d6 1b           sub     r29, r22
     fd0:       20 1f           adc     r18, r16
     fd2:       3b b3           in      r19, 0x1b       ; 27
     fd4:       b8 ff           .word   0xffb8  ; ????
     fd6:       08 04           cpc     r0, r8
     fd8:       85 66           ori     r24, 0x65       ; 101
     fda:       90 82           st      Z, r9
     fdc:       27 6c           ori     r18, 0xC7       ; 199
     fde:       b1 08           sbc     r11, r1
     fe0:       70 b3           in      r23, 0x10       ; 16
     fe2:       c7 fa           bst     r12, 7
     fe4:       b0 df           rcall   .-160           ; 0xf46 <fpga+0xd7a>
     fe6:       e3 e4           ldi     r30, 0x43       ; 67
     fe8:       3d f3           brhs    .-50            ; 0xfb8 <fpga+0xdec>
     fea:       40 77           andi    r20, 0x70       ; 112
     fec:       ec 7f           andi    r30, 0xFC       ; 252
     fee:       f9 6f           ori     r31, 0xF9       ; 249
     ff0:       ac 89           ldd     r26, Y+20       ; 0x14
     ff2:       6c 97           sbiw    r28, 0x1c       ; 28
     ff4:       cf de           rcall   .-610           ; 0xd94 <fpga+0xbc8>
     ff6:       81 78           andi    r24, 0x81       ; 129
     ff8:       f9 59           subi    r31, 0x99       ; 153
     ffa:       f4 46           sbci    r31, 0x64       ; 100
     ffc:       56 1e           adc     r5, r22
     ffe:       79 44           sbci    r23, 0x49       ; 73
    1000:       aa 19           sub     r26, r10
    1002:       40 c2           rjmp    .+1152          ; 0x1484 <__stack+0x385>
    1004:       cd b3           in      r28, 0x1d       ; 29
    1006:       f6 cf           rjmp    .-20            ; 0xff4 <fpga+0xe28>
    1008:       ec 6c           ori     r30, 0xCC       ; 204
    100a:       6d 70           andi    r22, 0x0D       ; 13
    100c:       fd 4f           sbci    r31, 0xFD       ; 253
    100e:       e5 b5           in      r30, 0x25       ; 37
    1010:       3c 85           ldd     r19, Y+12       ; 0x0c
    1012:       4b ab           std     Y+51, r20       ; 0x33
    1014:       04 55           subi    r16, 0x54       ; 84
    1016:       74 d0           rcall   .+232           ; 0x1100 <__stack+0x1>
    1018:       86 1e           adc     r8, r22
    101a:       4b 67           ori     r20, 0x7B       ; 123
    101c:       ad 37           cpi     r26, 0x7D       ; 125
    101e:       22 fd           sbrc    r18, 2
    1020:       4b f9           .word   0xf94b  ; ????
    1022:       61 af           std     Z+57, r22       ; 0x39
    1024:       96 55           subi    r25, 0x56       ; 86
    1026:       5e 8a           std     Y+22, r5        ; 0x16
    1028:       c6 5a           subi    r28, 0xA6       ; 166
    102a:       19 7f           andi    r17, 0xF9       ; 249
    102c:       dc c5           rjmp    .+3000          ; 0x1be6 <__stack+0xae7>
    102e:       55 ef           ldi     r21, 0xF5       ; 245
    1030:       21 fa           bst     r2, 1
    1032:       80 30           cpi     r24, 0x00       ; 0
    1034:       ee bf           out     0x3e, r30       ; 62
    1036:       af 1c           adc     r10, r15
    1038:       f5 ed           ldi     r31, 0xD5       ; 213
    103a:       02 91           ld      r16, -Z
    103c:       92 c2           rjmp    .+1316          ; 0x1562 <__stack+0x463>
    103e:       14 96           adiw    r26, 0x04       ; 4
    1040:       50 fa           bst     r5, 0
    1042:       ab bb           out     0x1b, r26       ; 27
    1044:       08 08           sbc     r0, r8
    1046:       fd a4           ldd     r15, Y+45       ; 0x2d
    1048:       80 46           sbci    r24, 0x60       ; 96
    104a:       d4 30           cpi     r29, 0x04       ; 4
    104c:       d7 e4           ldi     r29, 0x47       ; 71
    104e:       84 fe           sbrs    r8, 4
    1050:       20 62           ori     r18, 0x20       ; 32
    1052:       32 fd           sbrc    r19, 2
    1054:       8b b2           in      r8, 0x1b        ; 27
    1056:       ac 07           cpc     r26, r28
    1058:       82 3c           cpi     r24, 0xC2       ; 194
    105a:       06 44           sbci    r16, 0x46       ; 70
    105c:       8c 48           sbci    r24, 0x8C       ; 140
    105e:       6b db           rcall   .-2346          ; 0x736 <fpga+0x56a>
    1060:       0f 04           cpc     r0, r15
    1062:       82 8e           std     Z+26, r8        ; 0x1a
    1064:       68 38           cpi     r22, 0x88       ; 136
    1066:       a3 c6           rjmp    .+3398          ; 0x1dae <__stack+0xcaf>
    1068:       e6 f3           brts    .-8             ; 0x1062 <fpga+0xe96>
    106a:       e9 fb           .word   0xfbe9  ; ????
    106c:       70 f7           brcc    .-36            ; 0x104a <fpga+0xe7e>
    106e:       05 b0           in      r0, 0x05        ; 5
    1070:       26 14           cp      r2, r6
    1072:       e5 50           subi    r30, 0x05       ; 5
    1074:       81 dd           rcall   .-1278          ; 0xb78 <fpga+0x9ac>
    1076:       bc 0d           add     r27, r12
    1078:       f0 41           sbci    r31, 0x10       ; 16
    107a:       a8 f8           .word   0xf8a8  ; ????
    107c:       47 e6           ldi     r20, 0x67       ; 103
    107e:       67 fd           sbrc    r22, 7
    1080:       87 eb           ldi     r24, 0xB7       ; 183
    1082:       b8 02           muls    r27, r24
    1084:       db d8           rcall   .-3658          ; 0x23c <fpga+0x70>
    1086:       2c 40           sbci    r18, 0x0C       ; 12
    1088:       8d 56           subi    r24, 0x6D       ; 109
    108a:       50 eb           ldi     r21, 0xB0       ; 176
    108c:       2a 21           and     r18, r10
    108e:       60 67           ori     r22, 0x70       ; 112
    1090:       70 fa           bst     r7, 0
    1092:       eb 21           and     r30, r11
    1094:       04 a0           ldd     r0, Z+36        ; 0x24
    1096:       80 ea           ldi     r24, 0xA0       ; 160
    1098:       73 09           sbc     r23, r3
    109a:       a9 a0           ldd     r10, Y+33       ; 0x21
    109c:       b4 88           ldd     r11, Z+20       ; 0x14
    109e:       5e 61           ori     r21, 0x1E       ; 30
    10a0:       70 d1           rcall   .+736           ; 0x1382 <__stack+0x283>
    10a2:       20 e1           ldi     r18, 0x10       ; 16
    10a4:       d8 50           subi    r29, 0x08       ; 8
    10a6:       89 17           cp      r24, r25
    10a8:       e2 ac           ldd     r14, Z+58       ; 0x3a
    10aa:       fd 26           eor     r15, r29
    10ac:       08 09           sbc     r16, r8
    10ae:       ef cd           rjmp    .-1058          ; 0xc8e <fpga+0xac2>
    10b0:       de 90           ld      r13, -X
    10b2:       b2 a8           ldd     r11, Z+50       ; 0x32
    10b4:       3c ec           ldi     r19, 0xCC       ; 204
    10b6:       06 42           sbci    r16, 0x26       ; 38
    10b8:       41 11           cpse    r20, r1
    10ba:       db fa           .word   0xfadb  ; ????
    10bc:       fd 9e           mul     r15, r29
    10be:       0f 9b           sbis    0x01, 7 ; 1
    10c0:       66 98           cbi     0x0c, 6 ; 12
    10c2:       c7 48           sbci    r28, 0x87       ; 135
    10c4:       ff a6           std     Y+47, r15       ; 0x2f
    10c6:       80 0c           add     r8, r0
    10c8:       02 40           sbci    r16, 0x02       ; 2
    10ca:       73 c1           rjmp    .+742           ; 0x13b2 <__stack+0x2b3>
    10cc:       f8 ff           .word   0xfff8  ; ????
    10ce:       c0 20           and     r12, r0
    10d0:       6b b7           in      r22, 0x3b       ; 59
    10d2:       ca af           std     Y+58, r28       ; 0x3a
    10d4:       44 10           cpse    r4, r4
    10d6:       fd ec           ldi     r31, 0xCD       ; 205
    10d8:       80 8f           std     Z+24, r24       ; 0x18
    10da:       ee 80           ldd     r14, Y+6        ; 0x06
    10dc:       20 8f           std     Z+24, r18       ; 0x18
    10de:       c0 5b           subi    r28, 0xB0       ; 176
    10e0:       5b 20           and     r5, r11
    10e2:       8c af           std     Y+60, r24       ; 0x3c
    10e4:       38 fa           .word   0xfa38  ; ????
    10e6:       67 18           sub     r6, r7
    10e8:       cb 69           ori     r28, 0x9B       ; 155
    10ea:       c7 8a           std     Z+23, r12       ; 0x17
    10ec:       9b 38           cpi     r25, 0x8B       ; 139
    10ee:       8e 8a           std     Y+22, r8        ; 0x16
    10f0:       79 0c           add     r7, r9
    10f2:       fe 0d           add     r31, r14
    10f4:       42 b7           in      r20, 0x32       ; 50
    10f6:       ec 17           cp      r30, r28
    10f8:       10 ff           sbrs    r17, 0
    10fa:       58 93           .word   0x9358  ; ????
    10fc:       08 bf           out     0x38, r16       ; 56
    10fe:       a3 05           cpc     r26, r3
    1100:       80 d1           rcall   .+768           ; 0x1402 <__stack+0x303>
    1102:       28 fb           .word   0xfb28  ; ????
    1104:       ba cf           rjmp    .-140           ; 0x107a <fpga+0xeae>
    1106:       20 f6           brcc    .-120           ; 0x1090 <fpga+0xec4>
    1108:       d2 70           andi    r29, 0x02       ; 2
    110a:       fe d0           rcall   .+508           ; 0x1308 <__stack+0x209>
    110c:       4b c1           rjmp    .+662           ; 0x13a4 <__stack+0x2a5>
    110e:       13 56           subi    r17, 0x63       ; 99
    1110:       fc fd           .word   0xfdfc  ; ????
    1112:       1c 69           ori     r17, 0x9C       ; 156
    1114:       20 9f           mul     r18, r16
    1116:       dd 0d           add     r29, r13
    1118:       b8 fe           .word   0xfeb8  ; ????
    111a:       86 ab           std     Z+54, r24       ; 0x36
    111c:       bd 20           and     r11, r13
    111e:       73 1a           sub     r7, r19
    1120:       21 76           andi    r18, 0x61       ; 97
    1122:       b0 59           subi    r27, 0x90       ; 144
    1124:       c8 61           ori     r28, 0x18       ; 24
    1126:       97 ac           ldd     r9, Z+63        ; 0x3f
    1128:       f1 08           sbc     r15, r1
    112a:       c5 d5           rcall   .+2954          ; 0x1cb6 <__stack+0xbb7>
    112c:       01 a1           ldd     r16, Z+33       ; 0x21
    112e:       eb b9           out     0x0b, r30       ; 11
    1130:       66 87           std     Z+14, r22       ; 0x0e
    1132:       c7 17           cp      r28, r23
    1134:       fd cc           rjmp    .-1542          ; 0xb30 <fpga+0x964>
    1136:       87 a4           ldd     r8, Z+47        ; 0x2f
    1138:       bd 11           cpse    r27, r13
    113a:       da 04           cpc     r13, r10
    113c:       08 eb           ldi     r16, 0xB8       ; 184
    113e:       af 50           subi    r26, 0x0F       ; 15
    1140:       ff 63           ori     r31, 0x3F       ; 63
    1142:       3a 70           andi    r19, 0x0A       ; 10
    1144:       67 f9           bld     r22, 7
    1146:       e4 8e           std     Z+28, r14       ; 0x1c
    1148:       ff ed           ldi     r31, 0xDF       ; 223
    114a:       d0 fb           bst     r29, 0
    114c:       62 7b           andi    r22, 0xB2       ; 178
    114e:       29 b0           in      r2, 0x09        ; 9
    1150:       40 cd           rjmp    .-1408          ; 0xbd2 <fpga+0xa06>
    1152:       54 f8           bld     r5, 4
    1154:       65 2c           mov     r6, r5
    1156:       66 01           movw    r12, r12
    1158:       f3 85           ldd     r31, Z+11       ; 0x0b
    115a:       08 96           adiw    r24, 0x08       ; 8
    115c:       69 0c           add     r6, r9
    115e:       ed 86           std     Y+13, r14       ; 0x0d
    1160:       88 ff           .word   0xff88  ; ????
    1162:       eb 27           eor     r30, r27
    1164:       80 12           cpse    r8, r16
    1166:       31 27           eor     r19, r17
    1168:       f5 b6           in      r15, 0x35       ; 53
    116a:       04 be           out     0x34, r0        ; 52
    116c:       9a 10           cpse    r9, r10
    116e:       37 c9           rjmp    .-3474          ; 0x3de <fpga+0x212>
    1170:       58 fa           .word   0xfa58  ; ????
    1172:       7a cf           rjmp    .-268           ; 0x1068 <fpga+0xe9c>
    1174:       c0 c4           rjmp    .+2432          ; 0x1af6 <__stack+0x9f7>
    1176:       99 26           eor     r9, r25
    1178:       81 02           muls    r24, r17
    117a:       e5 b3           in      r30, 0x15       ; 21
    117c:       12 f3           brmi    .-60            ; 0x1142 <__stack+0x43>
    117e:       d9 06           cpc     r13, r25
    1180:       6f 9b           sbis    0x0d, 7 ; 13
    1182:       99 80           ldd     r9, Y+1 ; 0x01
    1184:       3f d6           rcall   .+3198          ; 0x1e04 <__stack+0xd05>
    1186:       4b 80           ldd     r4, Y+3 ; 0x03
    1188:       7f 98           cbi     0x0f, 7 ; 15
    118a:       e5 50           subi    r30, 0x05       ; 5
    118c:       5c b3           in      r21, 0x1c       ; 28
    118e:       02 bf           out     0x32, r16       ; 50
    1190:       9c 50           subi    r25, 0x0C       ; 12
    1192:       b8 fd           .word   0xfdb8  ; ????
    1194:       ae ef           ldi     r26, 0xFE       ; 254
    1196:       d9 d3           rcall   .+1970          ; 0x194a <__stack+0x84b>
    1198:       c0 cd           rjmp    .-1152          ; 0xd1a <fpga+0xb4e>
    119a:       d4 0c           add     r13, r4
    119c:       64 88           ldd     r6, Z+20        ; 0x14
    119e:       24 b0           in      r2, 0x04        ; 4
    11a0:       60 ea           ldi     r22, 0xA0       ; 160
    11a2:       0b 06           cpc     r0, r27
    11a4:       5f d9           rcall   .-3394          ; 0x464 <fpga+0x298>
    11a6:       a5 03           fmuls   r18, r21
    11a8:       f9 29           or      r31, r9
    11aa:       f5 50           subi    r31, 0x05       ; 5
    11ac:       fc 80           ldd     r15, Y+4        ; 0x04
    11ae:       29 e6           ldi     r18, 0x69       ; 105
    11b0:       d3 25           eor     r29, r3
    11b2:       9b 58           subi    r25, 0x8B       ; 139
    11b4:       48 11           cpse    r20, r8
    11b6:       d5 cd           rjmp    .-1110          ; 0xd62 <fpga+0xb96>
    11b8:       20 c6           rjmp    .+3136          ; 0x1dfa <__stack+0xcfb>
    11ba:       c6 2e           mov     r12, r22
    11bc:       3b d1           rcall   .+630           ; 0x1434 <__stack+0x335>
    11be:       c8 ff           .word   0xffc8  ; ????
    11c0:       cb fa           .word   0xfacb  ; ????
    11c2:       f2 02           muls    r31, r18
    11c4:       0b ce           rjmp    .-1002          ; 0xddc <fpga+0xc10>
    11c6:       f8 9b           sbis    0x1f, 0 ; 31
    11c8:       fb 11           cpse    r31, r11
    11ca:       b0 3f           cpi     r27, 0xF0       ; 240
    11cc:       fe 87           std     Y+14, r31       ; 0x0e
    11ce:       41 30           cpi     r20, 0x01       ; 1
    11d0:       02 06           cpc     r0, r18
    11d2:       d1 5c           subi    r29, 0xC1       ; 193
    11d4:       24 da           rcall   .-3000          ; 0x61e <fpga+0x452>
    11d6:       0c 01           movw    r0, r24
    11d8:       a5 1d           adc     r26, r5
    11da:       04 f3           brlt    .-64            ; 0x119c <__stack+0x9d>
    11dc:       b3 19           sub     r27, r3
    11de:       e0 01           movw    r28, r0
    11e0:       37 dd           rcall   .-1426          ; 0xc50 <fpga+0xa84>
    11e2:       07 2c           mov     r0, r7
    11e4:       19 83           std     Y+1, r17        ; 0x01
    11e6:       d7 c7           rjmp    .+4014          ; 0x2196 <__stack+0x1097>
    11e8:       0f e8           ldi     r16, 0x8F       ; 143
    11ea:       41 b3           in      r20, 0x11       ; 17
    11ec:       3c b8           out     0x0c, r3        ; 12
    11ee:       65 76           andi    r22, 0x65       ; 101
    11f0:       d3 3c           cpi     r29, 0xC3       ; 195
    11f2:       88 89           ldd     r24, Y+16       ; 0x10
    11f4:       f6 78           andi    r31, 0x86       ; 134
    11f6:       e0 6a           ori     r30, 0xA0       ; 160
    11f8:       ec b8           out     0x0c, r14       ; 12
    11fa:       06 f3           brts    .-64            ; 0x11bc <__stack+0xbd>
    11fc:       d1 9f           mul     r29, r17
    11fe:       fe 28           or      r15, r14
    1200:       93 f0           brvs    .+36            ; 0x1226 <__stack+0x127>
    1202:       ff b3           in      r31, 0x1f       ; 31
    1204:       fc db           rcall   .-2056          ; 0x9fe <fpga+0x832>
    1206:       79 01           movw    r14, r18
    1208:       30 1a           sub     r3, r16
    120a:       5a ed           ldi     r21, 0xDA       ; 218
    120c:       0c b2           in      r0, 0x1c        ; 28
    120e:       f8 18           sub     r15, r8
    1210:       08 ba           out     0x18, r0        ; 24
    1212:       d5 e2           ldi     r29, 0x25       ; 37
    1214:       fc 19           sub     r31, r12
    1216:       6b 9b           sbis    0x0d, 3 ; 13
    1218:       46 04           cpc     r4, r6
    121a:       62 2d           mov     r22, r2
    121c:       b3 4c           sbci    r27, 0xC3       ; 195
    121e:       81 8a           std     Z+17, r8        ; 0x11
    1220:       1a b3           in      r17, 0x1a       ; 26
    1222:       01 19           sub     r16, r1
    1224:       b7 41           sbci    r27, 0x17       ; 23
    1226:       18 b3           in      r17, 0x18       ; 24
    1228:       fd 68           ori     r31, 0x8D       ; 141
    122a:       0c de           rcall   .-1000          ; 0xe44 <fpga+0xc78>
    122c:       59 ca           rjmp    .-2894          ; 0x6e0 <fpga+0x514>
    122e:       40 c5           rjmp    .+2688          ; 0x1cb0 <__stack+0xbb1>
    1230:       b3 a6           std     Z+43, r11       ; 0x2b
    1232:       00 23           and     r16, r16
    1234:       eb 98           cbi     0x1d, 3 ; 29
    1236:       36 6f           ori     r19, 0xF6       ; 246
    1238:       47 98           cbi     0x08, 7 ; 8
    123a:       01 6d           ori     r16, 0xD1       ; 209
    123c:       e6 de           rcall   .-564           ; 0x100a <fpga+0xe3e>
    123e:       ff 42           sbci    r31, 0x2F       ; 47
    1240:       b4 3c           cpi     r27, 0xC4       ; 196
    1242:       e3 30           cpi     r30, 0x03       ; 3
    1244:       13 16           cp      r1, r19
    1246:       19 51           subi    r17, 0x19       ; 25
    1248:       78 2d           mov     r23, r8
    124a:       b6 6a           ori     r27, 0xA6       ; 166
    124c:       2e 53           subi    r18, 0x3E       ; 62
    124e:       33 d9           rcall   .-3482          ; 0x4b6 <fpga+0x2ea>
    1250:       fa 34           cpi     r31, 0x4A       ; 74
    1252:       15 fb           bst     r17, 5
    1254:       8b 92           .word   0x928b  ; ????
    1256:       b3 d1           rcall   .+870           ; 0x15be <__stack+0x4bf>
    1258:       08 ce           rjmp    .-1008          ; 0xe6a <fpga+0xc9e>
    125a:       f4 3f           cpi     r31, 0xF4       ; 244
    125c:       64 94           .word   0x9464  ; ????
    125e:       82 af           std     Z+58, r24       ; 0x3a
    1260:       76 4e           sbci    r23, 0xE6       ; 230
    1262:       61 20           and     r6, r1
    1264:       03 08           sbc     r0, r3
    1266:       d4 53           subi    r29, 0x34       ; 52
    1268:       03 7f           andi    r16, 0xF3       ; 243
    126a:       6c 98           cbi     0x0d, 4 ; 13
    126c:       fa 08           sbc     r15, r10
    126e:       58 b3           in      r21, 0x18       ; 24
    1270:       b2 23           and     r27, r18
    1272:       c4 7d           andi    r28, 0xD4       ; 212
    1274:       98 34           cpi     r25, 0x48       ; 72
    1276:       7a c6           rjmp    .+3316          ; 0x1f6c <__stack+0xe6d>
    1278:       40 96           adiw    r24, 0x10       ; 16
    127a:       94 41           sbci    r25, 0x14       ; 20
    127c:       df f1           brie    .+118           ; 0x12f4 <__stack+0x1f5>
    127e:       6e 94 bf 9b     call    0x19377e        ; 0x19377e <__data_load_end+0x18b352>
    1282:       8c ca           rjmp    .-2792          ; 0x79c <fpga+0x5d0>
    1284:       4f 5f           subi    r20, 0xFF       ; 255
    1286:       ab 4c           sbci    r26, 0xCB       ; 203
    1288:       80 09           sbc     r24, r0
    128a:       30 01           movw    r6, r0
    128c:       67 7e           andi    r22, 0xE7       ; 231
    128e:       b8 51           subi    r27, 0x18       ; 24
    1290:       ba 62           ori     r27, 0x2A       ; 42
    1292:       ff 6d           ori     r31, 0xDF       ; 223
    1294:       6b 02           muls    r22, r27
    1296:       12 9b           sbis    0x02, 2 ; 2
    1298:       18 58           subi    r17, 0x88       ; 136
    129a:       04 6f           ori     r16, 0xF4       ; 244
    129c:       ed 32           cpi     r30, 0x2D       ; 45
    129e:       b9 f9           .word   0xf9b9  ; ????
    12a0:       92 d8           rcall   .-3804          ; 0x3c6 <fpga+0x1fa>
    12a2:       c0 75           andi    r28, 0x50       ; 80
    12a4:       c4 3d           cpi     r28, 0xD4       ; 212
    12a6:       98 10           cpse    r9, r8
    12a8:       67 fb           bst     r22, 7
    12aa:       98 0c           add     r9, r8
    12ac:       80 7b           andi    r24, 0xB0       ; 176
    12ae:       d3 03           fmuls   r21, r19
    12b0:       18 2d           mov     r17, r8
    12b2:       e0 55           subi    r30, 0x50       ; 80
    12b4:       48 0e           add     r4, r24
    12b6:       e6 98           cbi     0x1c, 6 ; 28
    12b8:       8d d8           rcall   .-3814          ; 0x3d4 <fpga+0x208>
    12ba:       f0 ff           sbrs    r31, 0
    12bc:       ba 35           cpi     r27, 0x5A       ; 90
    12be:       83 ce           rjmp    .-762           ; 0xfc6 <fpga+0xdfa>
    12c0:       eb 64           ori     r30, 0x4B       ; 75
    12c2:       13 f3           brvs    .-60            ; 0x1288 <__stack+0x189>
    12c4:       98 6f           ori     r25, 0xF8       ; 248
    12c6:       96 ec           ldi     r25, 0xC6       ; 198
    12c8:       68 47           sbci    r22, 0x78       ; 120
    12ca:       9b e5           ldi     r25, 0x5B       ; 91
    12cc:       36 66           ori     r19, 0x66       ; 102
    12ce:       43 f8           bld     r4, 3
    12d0:       eb d7           rcall   .+4054          ; 0x22a8 <__stack+0x11a9>
    12d2:       0b 08           sbc     r0, r11
    12d4:       cd b3           in      r28, 0x1d       ; 29
    12d6:       fd 1e           adc     r15, r29
    12d8:       11 da           rcall   .-3038          ; 0x6fc <fpga+0x530>
    12da:       0c 02           muls    r16, r28
    12dc:       ad b3           in      r26, 0x1d       ; 29
    12de:       09 bd           out     0x29, r16       ; 41
    12e0:       98 70           andi    r25, 0x08       ; 8
    12e2:       db ff           .word   0xffdb  ; ????
    12e4:       20 f1           brcs    .+72            ; 0x132e <__stack+0x22f>
    12e6:       40 9a           sbi     0x08, 0 ; 8
    12e8:       c7 fb           bst     r28, 7
    12ea:       41 02           muls    r20, r17
    12ec:       84 04           cpc     r8, r4
    12ee:       01 19           sub     r16, r1
    12f0:       e3 30           cpi     r30, 0x03       ; 3
    12f2:       7f 32           cpi     r23, 0x2F       ; 47
    12f4:       98 74           andi    r25, 0x48       ; 72
    12f6:       fc c5           rjmp    .+3064          ; 0x1ef0 <__stack+0xdf1>
    12f8:       f7 4b           sbci    r31, 0xB7       ; 183
    12fa:       08 5f           subi    r16, 0xF8       ; 248
    12fc:       43 63           ori     r20, 0x33       ; 51
    12fe:       1c 2c           mov     r1, r12
    1300:       b1 62           ori     r27, 0x21       ; 33
    1302:       1d 6d           ori     r17, 0xDD       ; 221
    1304:       cc 80           ldd     r12, Y+4        ; 0x04
    1306:       f8 d6           rcall   .+3568          ; 0x20f8 <__stack+0xff9>
    1308:       3e 03           fmul    r19, r22
    130a:       21 cb           rjmp    .-2494          ; 0x94e <fpga+0x782>
    130c:       30 30           cpi     r19, 0x00       ; 0
    130e:       16 e3           ldi     r17, 0x36       ; 54
    1310:       30 cc           rjmp    .-1952          ; 0xb72 <fpga+0x9a6>
    1312:       61 fe           sbrs    r6, 1
    1314:       7b 30           cpi     r23, 0x0B       ; 11
    1316:       e0 fa           bst     r14, 0
    1318:       84 21           and     r24, r4
    131a:       55 a3           std     Z+37, r21       ; 0x25
    131c:       80 9d           mul     r24, r0
    131e:       c9 30           cpi     r28, 0x09       ; 9
    1320:       20 66           ori     r18, 0x60       ; 96
    1322:       b3 11           cpse    r27, r3
    1324:       fd 98           cbi     0x1f, 5 ; 31
    1326:       30 da           rcall   .-2976          ; 0x788 <fpga+0x5bc>
    1328:       04 40           sbci    r16, 0x04       ; 4
    132a:       2d 76           andi    r18, 0x6D       ; 109
    132c:       0a c4           rjmp    .+2068          ; 0x1b42 <__stack+0xa43>
    132e:       6a 41           sbci    r22, 0x1A       ; 26
    1330:       66 ad           ldd     r22, Z+62       ; 0x3e
    1332:       34 fa           bst     r3, 4
    1334:       04 ab           std     Z+52, r16       ; 0x34
    1336:       20 80           ld      r2, Z
    1338:       02 67           ori     r16, 0x72       ; 114
    133a:       f2 30           cpi     r31, 0x02       ; 2
    133c:       05 2d           mov     r16, r5
    133e:       10 9c           mul     r1, r0
    1340:       ec 8c           ldd     r14, Y+28       ; 0x1c
    1342:       49 d3           rcall   .+1682          ; 0x19d6 <__stack+0x8d7>
    1344:       d0 98           cbi     0x1a, 0 ; 26
    1346:       23 f6           brvc    .-120           ; 0x12d0 <__stack+0x1d1>
    1348:       02 80           ldd     r0, Z+2 ; 0x02
    134a:       dc 30           cpi     r29, 0x0C       ; 12
    134c:       96 20           and     r9, r6
    134e:       4f 9e           mul     r4, r31
    1350:       ed ed           ldi     r30, 0xDD       ; 221
    1352:       b8 fa           .word   0xfab8  ; ????
    1354:       e0 96           adiw    r28, 0x30       ; 48
    1356:       ec 02           muls    r30, r28
    1358:       7f 30           cpi     r23, 0x0F       ; 15
    135a:       30 81           ld      r19, Z
    135c:       3c 18           sub     r3, r12
    135e:       87 0b           sbc     r24, r23
    1360:       30 3f           cpi     r19, 0xF0       ; 240
    1362:       f9 03           fmulsu  r23, r17
    1364:       18 d9           rcall   .-3536          ; 0x596 <fpga+0x3ca>
    1366:       20 03           mulsu   r18, r16
    1368:       3c 30           cpi     r19, 0x0C       ; 12
    136a:       78 8b           std     Y+16, r23       ; 0x10
    136c:       e5 4a           sbci    r30, 0xA5       ; 165
    136e:       fd 88           ldd     r15, Y+21       ; 0x15
    1370:       b3 8a           std     Z+19, r11       ; 0x13
    1372:       00 66           ori     r16, 0x60       ; 96
    1374:       4b e6           ldi     r20, 0x6B       ; 107
    1376:       08 10           cpse    r0, r8
    1378:       e3 7d           andi    r30, 0xD3       ; 211
    137a:       42 ed           ldi     r20, 0xD2       ; 210
    137c:       5b b6           in      r5, 0x3b        ; 59
    137e:       0c 1b           sub     r16, r28
    1380:       eb f7           brvc    .-6             ; 0x137c <__stack+0x27d>
    1382:       fe 90           ld      r15, -X
    1384:       fa d8           rcall   .-3596          ; 0x57a <fpga+0x3ae>
    1386:       80 45           sbci    r24, 0x50       ; 80
    1388:       af d7           rcall   .+3934          ; 0x22e8 <__stack+0x11e9>
    138a:       32 ac           ldd     r3, Z+58        ; 0x3a
    138c:       98 b0           in      r9, 0x08        ; 8
    138e:       47 83           std     Z+7, r20        ; 0x07
    1390:       30 35           cpi     r19, 0x50       ; 80
    1392:       f6 98           cbi     0x1e, 6 ; 30
    1394:       22 8c           ldd     r2, Z+26        ; 0x1a
    1396:       d5 96           adiw    r26, 0x35       ; 53
    1398:       58 6f           ori     r21, 0xF8       ; 248
    139a:       ca 30           cpi     r28, 0x0A       ; 10
    139c:       a0 cb           rjmp    .-2240          ; 0xade <fpga+0x912>
    139e:       c8 63           ori     r28, 0x38       ; 56
    13a0:       d7 3b           cpi     r29, 0xB7       ; 183
    13a2:       e0 17           cp      r30, r16
    13a4:       6c 84           ldd     r6, Y+12        ; 0x0c
    13a6:       34 ef           ldi     r19, 0xF4       ; 244
    13a8:       d3 7f           andi    r29, 0xF3       ; 243
    13aa:       a0 8e           std     Z+24, r10       ; 0x18
    13ac:       46 08           sbc     r4, r6
    13ae:       69 cd           rjmp    .-1326          ; 0xe82 <fpga+0xcb6>
    13b0:       30 81           ld      r19, Z
    13b2:       02 aa           std     Z+50, r0        ; 0x32
    13b4:       d2 10           cpse    r13, r2
    13b6:       d9 3f           cpi     r29, 0xF9       ; 249
    13b8:       2c b3           in      r18, 0x1c       ; 28
    13ba:       f9 0c           add     r15, r9
    13bc:       d2 fe           sbrs    r13, 2
    13be:       33 30           cpi     r19, 0x03       ; 3
    13c0:       fa fe           .word   0xfefa  ; ????
    13c2:       c4 f8           bld     r12, 4
    13c4:       30 d4           rcall   .+2144          ; 0x1c26 <__stack+0xb27>
    13c6:       5c bc           out     0x2c, r5        ; 44
    13c8:       98 ce           rjmp    .-720           ; 0x10fa <fpga+0xf2e>
    13ca:       fd cc           rjmp    .-1542          ; 0xdc6 <fpga+0xbfa>
    13cc:       20 aa           std     Z+48, r2        ; 0x30
    13ce:       d1 60           ori     r29, 0x01       ; 1
    13d0:       06 10           cpse    r0, r6
    13d2:       20 c4           rjmp    .+2112          ; 0x1c14 <__stack+0xb15>
    13d4:       50 b0           in      r5, 0x00        ; 0
    13d6:       07 19           sub     r16, r7
    13d8:       9e 98           cbi     0x13, 6 ; 19
    13da:       db 1c           adc     r13, r11
    13dc:       08 f1           brcs    .+66            ; 0x1420 <__stack+0x321>
    13de:       d4 65           ori     r29, 0x54       ; 84
    13e0:       c8 9d           mul     r28, r8
    13e2:       db b1           in      r29, 0x0b       ; 11
    13e4:       10 7e           andi    r17, 0xE0       ; 224
    13e6:       16 30           cpi     r17, 0x06       ; 6
    13e8:       fc 22           and     r15, r28
    13ea:       b3 a2           std     Z+35, r11       ; 0x23
    13ec:       40 eb           ldi     r20, 0xB0       ; 176
    13ee:       5b 69           ori     r21, 0x9B       ; 155
    13f0:       11 76           andi    r17, 0x61       ; 97
    13f2:       e1 1a           sub     r14, r17
    13f4:       dd db           rcall   .-2118          ; 0xbb0 <fpga+0x9e4>
    13f6:       cb 96           adiw    r24, 0x3b       ; 59
    13f8:       fc 32           cpi     r31, 0x2C       ; 44
    13fa:       73 66           ori     r23, 0x63       ; 99
    13fc:       c0 22           and     r12, r16
    13fe:       6d c8           rjmp    .-3878          ; 0x4da <fpga+0x30e>
    1400:       30 01           movw    r6, r0
    1402:       cc 47           sbci    r28, 0x7C       ; 124
    1404:       2d 7a           andi    r18, 0xAD       ; 173
    1406:       38 30           cpi     r19, 0x08       ; 8
    1408:       05 12           cpse    r0, r21
    140a:       b6 6b           ori     r27, 0xB6       ; 182
    140c:       46 98           cbi     0x08, 6 ; 8
    140e:       ad e7           ldi     r26, 0x7D       ; 125
    1410:       3f a4           ldd     r3, Y+47        ; 0x2f
    1412:       19 ec           ldi     r17, 0xC9       ; 201
    1414:       fa e0           ldi     r31, 0x0A       ; 10
    1416:       41 ef           ldi     r20, 0xF1       ; 241
    1418:       5a 98           cbi     0x0b, 2 ; 11
    141a:       f0 fb           bst     r31, 0
    141c:       98 e4           ldi     r25, 0x48       ; 72
    141e:       01 b3           in      r16, 0x11       ; 17
    1420:       3c cf           rjmp    .-392           ; 0x129a <__stack+0x19b>
    1422:       b4 fb           bst     r27, 4
    1424:       c9 fc           .word   0xfcc9  ; ????
    1426:       98 13           cpse    r25, r24
    1428:       7f 5b           subi    r23, 0xBF       ; 191
    142a:       98 04           cpc     r9, r8
    142c:       66 c8           rjmp    .-3892          ; 0x4fa <fpga+0x32e>
    142e:       90 6c           ori     r25, 0xC0       ; 192
    1430:       19 41           sbci    r17, 0x19       ; 25
    1432:       f3 66           ori     r31, 0x63       ; 99
    1434:       08 f8           .word   0xf808  ; ????
    1436:       7d 5a           subi    r23, 0xAD       ; 173
    1438:       a8 b6           in      r10, 0x38       ; 56
    143a:       19 18           sub     r1, r9
    143c:       10 df           rcall   .-480           ; 0x125e <__stack+0x15f>
    143e:       e6 db           rcall   .-2100          ; 0xc0c <fpga+0xa40>
    1440:       9b fa           .word   0xfa9b  ; ????
    1442:       fc 5f           subi    r31, 0xFC       ; 252
    1444:       06 20           and     r0, r6
    1446:       b3 8e           std     Z+27, r11       ; 0x1b
    1448:       20 c5           rjmp    .+2624          ; 0x1e8a <__stack+0xd8b>
    144a:       f6 e3           ldi     r31, 0x36       ; 54
    144c:       4b 1b           sub     r20, r27
    144e:       6f 52           subi    r22, 0x2F       ; 47
    1450:       b3 34           cpi     r27, 0x43       ; 67
    1452:       ec 59           subi    r30, 0x9C       ; 156
    1454:       f4 d8           rcall   .-3608          ; 0x63e <fpga+0x472>
    1456:       1e 98           cbi     0x03, 6 ; 3
    1458:       b2 82           std     Z+2, r11        ; 0x02
    145a:       3c 05           cpc     r19, r12
    145c:       d1 c7           rjmp    .+4002          ; 0x2400 <__stack+0x1301>
    145e:       10 1f           adc     r17, r16
    1460:       01 04           cpc     r0, r1
    1462:       62 3a           cpi     r22, 0xA2       ; 162
    1464:       af 5d           subi    r26, 0xDF       ; 223
    1466:       27 5f           subi    r18, 0xF7       ; 247
    1468:       da 0f           add     r29, r26
    146a:       24 8c           ldd     r2, Z+28        ; 0x1c
    146c:       6c eb           ldi     r22, 0xBC       ; 188
    146e:       b6 21           and     r27, r6
    1470:       ee f2           brts    .-70            ; 0x142c <__stack+0x32d>
    1472:       78 f9           .word   0xf978  ; ????
    1474:       cc e3           ldi     r28, 0x3C       ; 60
    1476:       30 1f           adc     r19, r16
    1478:       5b ff           .word   0xff5b  ; ????
    147a:       30 96           adiw    r30, 0x00       ; 0
    147c:       a9 d9           rcall   .-3246          ; 0x7d0 <fpga+0x604>
    147e:       96 dd           rcall   .-1236          ; 0xfac <fpga+0xde0>
    1480:       46 b1           in      r20, 0x06       ; 6
    1482:       f9 7f           andi    r31, 0xF9       ; 249
    1484:       3f 98           cbi     0x07, 7 ; 7
    1486:       2c c8           rjmp    .-4008          ; 0x4e0 <fpga+0x314>
    1488:       f5 19           sub     r31, r5
    148a:       0c a7           std     Y+44, r16       ; 0x2c
    148c:       d2 7f           andi    r29, 0xF2       ; 242
    148e:       da 0f           add     r29, r26
    1490:       db d6           rcall   .+3510          ; 0x2248 <__stack+0x1149>
    1492:       98 10           cpse    r9, r8
    1494:       de b3           in      r29, 0x1e       ; 30
    1496:       ae 78           andi    r26, 0x8E       ; 142
    1498:       31 30           cpi     r19, 0x01       ; 1
    149a:       7f 31           cpi     r23, 0x1F       ; 31
    149c:       98 1e           adc     r9, r24
    149e:       cb fc           .word   0xfccb  ; ????
    14a0:       44 b0           in      r4, 0x04        ; 4
    14a2:       65 37           cpi     r22, 0x75       ; 117
    14a4:       0d aa           std     Y+53, r0        ; 0x35
    14a6:       f7 1a           sub     r15, r23
    14a8:       df 3e           cpi     r29, 0xEF       ; 239
    14aa:       c8 72           andi    r28, 0x28       ; 40
    14ac:       f8 04           cpc     r15, r8
    14ae:       44 c5           rjmp    .+2696          ; 0x1f38 <__stack+0xe39>
    14b0:       7d 98           cbi     0x0f, 5 ; 15
    14b2:       8c 59           subi    r24, 0x9C       ; 156
    14b4:       c8 62           ori     r28, 0x28       ; 40
    14b6:       03 66           ori     r16, 0x63       ; 99
    14b8:       c7 16           cp      r12, r23
    14ba:       7f 0d           add     r23, r15
    14bc:       30 1a           sub     r3, r16
    14be:       40 b7           in      r20, 0x30       ; 48
    14c0:       97 98           cbi     0x12, 7 ; 18
    14c2:       2d ca           rjmp    .-2982          ; 0x91e <fpga+0x752>
    14c4:       14 16           cp      r1, r20
    14c6:       19 ff           .word   0xff19  ; ????
    14c8:       dc 30           cpi     r29, 0x0C       ; 12
    14ca:       b3 c0           rjmp    .+358           ; 0x1632 <__stack+0x533>
    14cc:       fd 98           cbi     0x1f, 5 ; 31
    14ce:       e2 d9           rcall   .-3132          ; 0x894 <fpga+0x6c8>
    14d0:       41 3c           cpi     r20, 0xC1       ; 193
    14d2:       c2 18           sub     r12, r2
    14d4:       53 76           andi    r21, 0x63       ; 99
    14d6:       19 07           cpc     r17, r25
    14d8:       01 6f           ori     r16, 0xF1       ; 241
    14da:       80 98           cbi     0x10, 0 ; 16
    14dc:       6d ee           ldi     r22, 0xED       ; 237
    14de:       98 68           ori     r25, 0x88       ; 136
    14e0:       fa 88           ldd     r15, Y+18       ; 0x12
    14e2:       c2 af           std     Z+58, r28       ; 0x3a
    14e4:       2f 98           cbi     0x05, 7 ; 5
    14e6:       b6 7f           andi    r27, 0xF6       ; 246
    14e8:       f4 98           cbi     0x1e, 4 ; 30
    14ea:       40 16           cp      r4, r16
    14ec:       7e 7b           andi    r23, 0xBE       ; 190
    14ee:       c8 b9           out     0x08, r28       ; 8
    14f0:       fa 80           ldd     r15, Y+2        ; 0x02
    14f2:       6e 31           cpi     r22, 0x1E       ; 30
    14f4:       99 d3           rcall   .+1842          ; 0x1c28 <__stack+0xb29>
    14f6:       b3 7d           andi    r27, 0xD3       ; 211
    14f8:       b5 e3           ldi     r27, 0x35       ; 53
    14fa:       37 b3           in      r19, 0x17       ; 23
    14fc:       65 d1           rcall   .+714           ; 0x17c8 <__stack+0x6c9>
    14fe:       98 08           sbc     r9, r8
    1500:       6d b6           in      r6, 0x3d        ; 61
    1502:       9b 15           cp      r25, r11
    1504:       79 98           cbi     0x0f, 1 ; 15
    1506:       93 cb           rjmp    .-2266          ; 0xc2e <fpga+0xa62>
    1508:       ad 42           sbci    r26, 0x2D       ; 45
    150a:       d0 fa           bst     r13, 0
    150c:       0d 3b           cpi     r16, 0xBD       ; 189
    150e:       10 35           cpi     r17, 0x50       ; 80
    1510:       01 10           cpse    r0, r1
    1512:       eb b1           in      r30, 0x0b       ; 11
    1514:       6f 6c           ori     r22, 0xCF       ; 207
    1516:       98 01           movw    r18, r16
    1518:       80 ff           sbrs    r24, 0
    151a:       6c 98           cbi     0x0d, 4 ; 13
    151c:       e4 fb           bst     r30, 4
    151e:       5f d7           rcall   .+3774          ; 0x23de <__stack+0x12df>
    1520:       ae 0c           add     r10, r14
    1522:       98 c3           rjmp    .+1840          ; 0x1c54 <__stack+0xb55>
    1524:       ba ff           .word   0xffba  ; ????
    1526:       40 59           subi    r20, 0x90       ; 144
    1528:       64 f9           bld     r22, 4
    152a:       5e 96           adiw    r26, 0x1e       ; 30
    152c:       ff 45           sbci    r31, 0x5F       ; 95
    152e:       a6 23           and     r26, r22
    1530:       7f a4           ldd     r7, Y+47        ; 0x2f
    1532:       68 40           sbci    r22, 0x08       ; 8
    1534:       e2 76           andi    r30, 0x62       ; 98
    1536:       21 f6           brne    .-120           ; 0x14c0 <__stack+0x3c1>
    1538:       32 fe           sbrs    r3, 2
    153a:       98 b7           in      r25, 0x38       ; 56
    153c:       03 d9           rcall   .-3578          ; 0x744 <fpga+0x578>
    153e:       bc d8           rcall   .-3720          ; 0x6b8 <fpga+0x4ec>
    1540:       6a bd           out     0x2a, r22       ; 42
    1542:       af fb           .word   0xfbaf  ; ????
    1544:       b3 cc           rjmp    .-1690          ; 0xeac <fpga+0xce0>
    1546:       56 19           sub     r21, r6
    1548:       10 ab           std     Z+48, r17       ; 0x30
    154a:       ef 21           and     r30, r15
    154c:       11 ed           ldi     r17, 0xD1       ; 209
    154e:       ea 90           ld      r14, -Y
    1550:       b0 84           ldd     r11, Z+8        ; 0x08
    1552:       db 68           ori     r29, 0x8B       ; 139
    1554:       01 1b           sub     r16, r17
    1556:       f7 fb           bst     r31, 7
    1558:       98 63           ori     r25, 0x38       ; 56
    155a:       fe 6f           ori     r31, 0xFE       ; 254
    155c:       eb 19           sub     r30, r11
    155e:       13 7f           andi    r17, 0xF3       ; 243
    1560:       da 7f           andi    r29, 0xFA       ; 250
    1562:       02 fe           sbrs    r0, 2
    1564:       7f 05           cpc     r23, r15
    1566:       c4 74           andi    r28, 0x44       ; 68
    1568:       62 df           rcall   .-316           ; 0x142e <__stack+0x32f>
    156a:       80 30           cpi     r24, 0x00       ; 0
    156c:       6d 2c           mov     r6, r13
    156e:       04 fb           bst     r16, 4
    1570:       17 60           ori     r17, 0x07       ; 7
    1572:       68 a7           std     Y+40, r22       ; 0x28
    1574:       f6 61           ori     r31, 0x16       ; 22
    1576:       fd e0           ldi     r31, 0x0D       ; 13
    1578:       81 ab           std     Z+49, r24       ; 0x31
    157a:       bd 03           fmulsu  r19, r21
    157c:       65 95           asr     r22
    157e:       f0 a3           std     Z+32, r31       ; 0x20
    1580:       5b 03           fmul    r21, r19
    1582:       e4 b1           in      r30, 0x04       ; 4
    1584:       41 2e           mov     r4, r17
    1586:       36 30           cpi     r19, 0x06       ; 6
    1588:       f3 98           cbi     0x1e, 3 ; 30
    158a:       7e d7           rcall   .+3836          ; 0x2488 <__stack+0x1389>
    158c:       b1 1e           adc     r11, r17
    158e:       1a 30           cpi     r17, 0x0A       ; 10
    1590:       ac 33           cpi     r26, 0x3C       ; 60
    1592:       f9 8e           std     Y+25, r15       ; 0x19
    1594:       33 aa           std     Z+51, r3        ; 0x33
    1596:       bd e5           ldi     r27, 0x5D       ; 93
    1598:       88 62           ori     r24, 0x28       ; 40
    159a:       5e 98           cbi     0x0b, 6 ; 11
    159c:       6d c5           rjmp    .+2778          ; 0x2078 <__stack+0xf79>
    159e:       30 a6           std     Z+40, r3        ; 0x28
    15a0:       6c 7f           andi    r22, 0xFC       ; 252
    15a2:       be 98           cbi     0x17, 6 ; 23
    15a4:       8b ff           .word   0xff8b  ; ????
    15a6:       80 11           cpse    r24, r0
    15a8:       01 c5           rjmp    .+2562          ; 0x1fac <__stack+0xead>
    15aa:       00 b3           in      r16, 0x10       ; 16
    15ac:       3b 8c           ldd     r3, Y+27        ; 0x1b
    15ae:       30 63           ori     r19, 0x30       ; 48
    15b0:       75 e3           ldi     r23, 0x35       ; 53
    15b2:       04 e6           ldi     r16, 0x64       ; 100
    15b4:       1a cb           rjmp    .-2508          ; 0xbea <fpga+0xa1e>
    15b6:       b3 68           ori     r27, 0x83       ; 131
    15b8:       54 48           sbci    r21, 0x84       ; 132
    15ba:       fc 62           ori     r31, 0x2C       ; 44
    15bc:       19 cf           rjmp    .-462           ; 0x13f0 <__stack+0x2f1>
    15be:       fb 1d           adc     r31, r11
    15c0:       5e 6c           ori     r21, 0xCE       ; 206
    15c2:       30 20           and     r3, r0
    15c4:       b4 49           sbci    r27, 0x94       ; 148
    15c6:       19 44           sbci    r17, 0x49       ; 73
    15c8:       69 9d           mul     r22, r9
    15ca:       c8 20           and     r12, r8
    15cc:       80 b6           in      r8, 0x30        ; 48
    15ce:       db f8           .word   0xf8db  ; ????
    15d0:       e7 ae           std     Z+63, r14       ; 0x3f
    15d2:       e8 f8           .word   0xf8e8  ; ????
    15d4:       46 93           .word   0x9346  ; ????
    15d6:       30 ff           sbrs    r19, 0
    15d8:       b1 10           cpse    r11, r1
    15da:       53 19           sub     r21, r3
    15dc:       fe 3c           cpi     r31, 0xCE       ; 206
    15de:       2b 23           and     r18, r27
    15e0:       d7 e4           ldi     r29, 0x47       ; 71
    15e2:       40 84           ldd     r4, Z+8 ; 0x08
    15e4:       4c b1           in      r20, 0x0c       ; 12
    15e6:       fc 6e           ori     r31, 0xEC       ; 236
    15e8:       3f 00           .word   0x003f  ; ????
    15ea:       2c c8           rjmp    .-4008          ; 0x644 <fpga+0x478>
    15ec:       5b 57           subi    r21, 0x7B       ; 123
    15ee:       fc c0           rjmp    .+504           ; 0x17e8 <__stack+0x6e9>
    15f0:       9b 16           cp      r9, r27
    15f2:       ad b3           in      r26, 0x1d       ; 29
    15f4:       18 7d           andi    r17, 0xD8       ; 216
    15f6:       b3 ff           sbrs    r27, 3
    15f8:       d8 04           cpc     r13, r8
    15fa:       84 a9           ldd     r24, Z+52       ; 0x34
    15fc:       6a c6           rjmp    .+3284          ; 0x22d2 <__stack+0x11d3>
    15fe:       95 7e           andi    r25, 0xE5       ; 229
    1600:       d7 e2           ldi     r29, 0x27       ; 39
    1602:       ed 17           cp      r30, r29
    1604:       46 3d           cpi     r20, 0xD6       ; 214
    1606:       ed 22           and     r14, r29
    1608:       b2 01           movw    r22, r4
    160a:       0d d7           rcall   .+3610          ; 0x2426 <__stack+0x1327>
    160c:       5e d9           rcall   .-3396          ; 0x8ca <fpga+0x6fe>
    160e:       b8 fa           .word   0xfab8  ; ????
    1610:       84 11           cpse    r24, r4
    1612:       ce ee           ldi     r28, 0xEE       ; 238
    1614:       e9 c0           rjmp    .+466           ; 0x17e8 <__stack+0x6e9>
    1616:       04 d7           rcall   .+3592          ; 0x2420 <__stack+0x1321>
    1618:       31 c8           rjmp    .-3998          ; 0x67c <fpga+0x4b0>
    161a:       49 98           cbi     0x09, 1 ; 9
    161c:       97 ef           ldi     r25, 0xF7       ; 247
    161e:       7f 26           eor     r7, r31
    1620:       f7 98           cbi     0x1e, 7 ; 30
    1622:       01 21           and     r16, r1
    1624:       8c 6c           ori     r24, 0xCC       ; 204
    1626:       a0 5c           subi    r26, 0xC0       ; 192
    1628:       30 5d           subi    r19, 0xD0       ; 208
    162a:       e7 a6           std     Z+47, r14       ; 0x2f
    162c:       89 b3           in      r24, 0x19       ; 25
    162e:       fb e0           ldi     r31, 0x0B       ; 11
    1630:       cf 6d           ori     r28, 0xDF       ; 223
    1632:       6d f0           brhs    .+26            ; 0x164e <__stack+0x54f>
    1634:       20 79           andi    r18, 0x90       ; 144
    1636:       30 01           movw    r6, r0
    1638:       63 1e           adc     r6, r19
    163a:       98 cb           rjmp    .-2256          ; 0xd6c <fpga+0xba0>
    163c:       03 18           sub     r0, r3
    163e:       e0 cf           rjmp    .-64            ; 0x1600 <__stack+0x501>
    1640:       8c 2f           mov     r24, r28
    1642:       09 3b           cpi     r16, 0xB9       ; 185
    1644:       98 7d           andi    r25, 0xD8       ; 216
    1646:       e9 a0           ldd     r14, Y+33       ; 0x21
    1648:       f8 88           ldd     r15, Y+16       ; 0x10
    164a:       b9 51           subi    r27, 0x19       ; 25
    164c:       88 f1           brcs    .+98            ; 0x16b0 <__stack+0x5b1>
    164e:       7d 89           ldd     r23, Y+21       ; 0x15
    1650:       fd 7f           andi    r31, 0xFD       ; 253
    1652:       cb cf           rjmp    .-106           ; 0x15ea <__stack+0x4eb>
    1654:       03 2f           mov     r16, r19
    1656:       f6 5b           subi    r31, 0xB6       ; 182
    1658:       60 8a           std     Z+16, r6        ; 0x10
    165a:       4c 48           sbci    r20, 0x8C       ; 140
    165c:       c8 c8           rjmp    .-3696          ; 0x7ee <fpga+0x622>
    165e:       2c 5d           subi    r18, 0xDC       ; 220
    1660:       b3 a0           ldd     r11, Z+35       ; 0x23
    1662:       62 5f           subi    r22, 0xF2       ; 242
    1664:       7f b4           in      r7, 0x2f        ; 47
    1666:       47 f5           brid    .+80            ; 0x16b8 <__stack+0x5b9>
    1668:       4b 20           and     r4, r11
    166a:       b7 af           std     Z+63, r27       ; 0x3f
    166c:       98 40           sbci    r25, 0x08       ; 8
    166e:       e6 30           cpi     r30, 0x06       ; 6
    1670:       80 91 ef b6     lds     r24, 0xB6EF
    1674:       7f f5           brid    .+94            ; 0x16d4 <__stack+0x5d5>
    1676:       98 40           sbci    r25, 0x08       ; 8
    1678:       9d ea           ldi     r25, 0xAD       ; 173
    167a:       ef 01           movw    r28, r30
    167c:       33 2b           or      r19, r19
    167e:       f2 c8           rjmp    .-3612          ; 0x864 <fpga+0x698>
    1680:       70 cb           rjmp    .-2336          ; 0xd62 <fpga+0xb96>
    1682:       a0 c4           rjmp    .+2368          ; 0x1fc4 <__stack+0xec5>
    1684:       1f cd           rjmp    .-1474          ; 0x10c4 <fpga+0xef8>
    1686:       30 21           and     r19, r0
    1688:       0d bf           out     0x3d, r16       ; 61
    168a:       9f 98           cbi     0x13, 7 ; 19
    168c:       e9 4b           sbci    r30, 0xB9       ; 185
    168e:       50 fd           sbrc    r21, 0
    1690:       d9 58           subi    r29, 0x89       ; 137
    1692:       fb dd           rcall   .-1034          ; 0x128a <__stack+0x18b>
    1694:       b1 63           ori     r27, 0x31       ; 49
    1696:       eb ff           .word   0xffeb  ; ????
    1698:       02 27           eor     r16, r18
    169a:       8f 10           cpse    r8, r15
    169c:       f5 41           sbci    r31, 0x15       ; 21
    169e:       04 bf           out     0x34, r16       ; 52
    16a0:       6c fe           .word   0xfe6c  ; ????
    16a2:       f9 63           ori     r31, 0x39       ; 57
    16a4:       36 98           cbi     0x06, 6 ; 6
    16a6:       60 25           eor     r22, r0
    16a8:       9e c8           rjmp    .-3780          ; 0x7e6 <fpga+0x61a>
    16aa:       38 20           and     r3, r8
    16ac:       04 d7           rcall   .+3592          ; 0x24b6 <__stack+0x13b7>
    16ae:       8d 30           cpi     r24, 0x0D       ; 13
    16b0:       89 b3           in      r24, 0x19       ; 25
    16b2:       41 78           andi    r20, 0x81       ; 129
    16b4:       6b d9           rcall   .-3370          ; 0x98c <fpga+0x7c0>
    16b6:       61 f8           bld     r6, 1
    16b8:       2b 6a           ori     r18, 0xAB       ; 171
    16ba:       95 b3           in      r25, 0x15       ; 21
    16bc:       8b 52           subi    r24, 0x2B       ; 43
    16be:       c7 4c           sbci    r28, 0xC7       ; 199
    16c0:       db 33           cpi     r29, 0x3B       ; 59
    16c2:       30 07           cpc     r19, r16
    16c4:       9c 7a           andi    r25, 0xAC       ; 172
    16c6:       48 34           cpi     r20, 0x48       ; 72
    16c8:       02 b4           in      r0, 0x22        ; 34
    16ca:       ff 37           cpi     r31, 0x7F       ; 127
    16cc:       5f 5b           subi    r21, 0xBF       ; 191
    16ce:       66 01           movw    r12, r12
    16d0:       77 17           cp      r23, r23
    16d2:       d2 fe           sbrs    r13, 2
    16d4:       ec 80           ldd     r14, Y+4        ; 0x04
    16d6:       09 01           movw    r0, r18
    16d8:       ee 5a           subi    r30, 0xAE       ; 174
    16da:       30 24           eor     r3, r0
    16dc:       39 7a           andi    r19, 0xA9       ; 169
    16de:       82 45           sbci    r24, 0x52       ; 82
    16e0:       30 c7           rjmp    .+3680          ; 0x2542 <__stack+0x1443>
    16e2:       6f e6           ldi     r22, 0x6F       ; 111
    16e4:       67 fa           bst     r6, 7
    16e6:       af bc           out     0x2f, r10       ; 47
    16e8:       24 d3           rcall   .+1608          ; 0x1d32 <__stack+0xc33>
    16ea:       5b ee           ldi     r21, 0xEB       ; 235
    16ec:       66 c8           rjmp    .-3892          ; 0x7ba <fpga+0x5ee>
    16ee:       50 f1           brcs    .+84            ; 0x1744 <__stack+0x645>
    16f0:       8d b9           out     0x0d, r24       ; 13
    16f2:       3c fc           .word   0xfc3c  ; ????
    16f4:       d8 fa           .word   0xfad8  ; ????
    16f6:       e0 06           cpc     r14, r16
    16f8:       fc 30           cpi     r31, 0x0C       ; 12
    16fa:       66 e7           ldi     r22, 0x76       ; 118
    16fc:       c8 e0           ldi     r28, 0x08       ; 8
    16fe:       01 da           rcall   .-3070          ; 0xb02 <fpga+0x936>
    1700:       3c 08           sbc     r3, r12
    1702:       1b 64           ori     r17, 0x4B       ; 75
    1704:       ab 42           sbci    r26, 0x2B       ; 43
    1706:       28 fb           .word   0xfb28  ; ????
    1708:       1c 03           fmul    r17, r20
    170a:       04 f9           bld     r16, 4
    170c:       30 10           cpse    r3, r0
    170e:       64 e7           ldi     r22, 0x74       ; 116
    1710:       c8 10           cpse    r12, r8
    1712:       20 01           movw    r4, r0
    1714:       db e9           ldi     r29, 0x9B       ; 155
    1716:       db 88           ldd     r13, Y+19       ; 0x13
    1718:       fa fe           .word   0xfefa  ; ????
    171a:       7f 83           std     Y+7, r23        ; 0x07
    171c:       ce f4           brtc    .+50            ; 0x1750 <__stack+0x651>
    171e:       e5 82           std     Z+5, r14        ; 0x05
    1720:       ed 79           andi    r30, 0x9D       ; 157
    1722:       80 04           cpc     r8, r0
    1724:       56 82           std     Z+6, r5 ; 0x06
    1726:       02 a0           ldd     r0, Z+34        ; 0x22
    1728:       2d 7d           andi    r18, 0xDD       ; 221
    172a:       30 20           and     r3, r0
    172c:       04 02           muls    r16, r20
    172e:       fe e5           ldi     r31, 0x5E       ; 94
    1730:       62 3e           cpi     r22, 0xE2       ; 226
    1732:       cb b7           in      r28, 0x3b       ; 59
    1734:       21 f1           breq    .+72            ; 0x177e <__stack+0x67f>
    1736:       98 d7           rcall   .+3888          ; 0x2668 <__stack+0x1569>
    1738:       66 a8           ldd     r6, Z+54        ; 0x36
    173a:       b3 8c           ldd     r11, Z+27       ; 0x1b
    173c:       2c df           rcall   .-424           ; 0x1596 <__stack+0x497>
    173e:       f6 ca           rjmp    .-2580          ; 0xd2c <fpga+0xb60>
    1740:       02 e1           ldi     r16, 0x12       ; 18
    1742:       19 9a           sbi     0x03, 1 ; 3
    1744:       f2 30           cpi     r31, 0x02       ; 2
    1746:       12 df           rcall   .-476           ; 0x156c <__stack+0x46d>
    1748:       b6 51           subi    r27, 0x16       ; 22
    174a:       08 cd           rjmp    .-1520          ; 0x115c <__stack+0x5d>
    174c:       b3 98           cbi     0x16, 3 ; 22
    174e:       fe 8d           ldd     r31, Y+30       ; 0x1e
    1750:       f9 f9           .word   0xf9f9  ; ????
    1752:       96 b3           in      r25, 0x16       ; 22
    1754:       63 3a           cpi     r22, 0xA3       ; 163
    1756:       09 68           ori     r16, 0x89       ; 137
    1758:       a6 eb           ldi     r26, 0xB6       ; 182
    175a:       c8 fd           .word   0xfdc8  ; ????
    175c:       20 64           ori     r18, 0x40       ; 64
    175e:       cc 0b           sbc     r28, r28
    1760:       d2 d2           rcall   .+1444          ; 0x1d06 <__stack+0xc07>
    1762:       40 65           ori     r20, 0x50       ; 80
    1764:       01 ce           rjmp    .-1022          ; 0x1368 <__stack+0x269>
    1766:       33 f3           brvs    .-52            ; 0x1734 <__stack+0x635>
    1768:       8c ca           rjmp    .-2792          ; 0xc82 <fpga+0xab6>
    176a:       54 d3           rcall   .+1704          ; 0x1e14 <__stack+0xd15>
    176c:       13 46           sbci    r17, 0x63       ; 99
    176e:       d3 18           sub     r13, r3
    1770:       ff 03           fmulsu  r23, r23
    1772:       04 87           std     Z+12, r16       ; 0x0c
    1774:       ff 98           cbi     0x1f, 7 ; 31
    1776:       ff 24           eor     r15, r15
    1778:       61 f9           bld     r22, 1
    177a:       66 bb           out     0x16, r22       ; 22
    177c:       d3 d8           rcall   .-3674          ; 0x924 <fpga+0x758>
    177e:       fb 11           cpse    r31, r11
    1780:       87 e6           ldi     r24, 0x67       ; 103
    1782:       6f ff           .word   0xff6f  ; ????
    1784:       ad de           rcall   .-678           ; 0x14e0 <__stack+0x3e1>
    1786:       f8 f9           .word   0xf9f8  ; ????
    1788:       80 40           sbci    r24, 0x00       ; 0
    178a:       a0 5b           subi    r26, 0xB0       ; 176
    178c:       81 93           st      Z+, r24
    178e:       79 93           st      Y+, r23
    1790:       8b 1b           sub     r24, r27
    1792:       c8 1b           sub     r28, r24
    1794:       d3 1f           adc     r29, r19
    1796:       59 c0           rjmp    .+178           ; 0x184a <__stack+0x74b>
    1798:       dd ae           std     Y+61, r13       ; 0x3d
    179a:       01 ff           sbrs    r16, 1
    179c:       54 48           sbci    r21, 0x84       ; 132
    179e:       fb 08           sbc     r15, r11
    17a0:       79 a6           std     Y+41, r7        ; 0x29
    17a2:       95 f7           brhc    .-28            ; 0x1788 <__stack+0x689>
    17a4:       4f e9           ldi     r20, 0x9F       ; 159
    17a6:       89 a1           ldd     r24, Y+33       ; 0x21
    17a8:       a4 9c           mul     r10, r4
    17aa:       b8 6c           ori     r27, 0xC8       ; 200
    17ac:       04 79           andi    r16, 0x94       ; 148
    17ae:       b1 b9           out     0x01, r27       ; 1
    17b0:       a4 1f           adc     r26, r20
    17b2:       a8 dd           rcall   .-1200          ; 0x1304 <__stack+0x205>
    17b4:       dc b0           in      r13, 0x0c       ; 12
    17b6:       fb cb           rjmp    .-2058          ; 0xfae <fpga+0xde2>
    17b8:       a0 40           sbci    r26, 0x00       ; 0
    17ba:       0f bf           out     0x3f, r16       ; 63
    17bc:       cc 04           cpc     r12, r12
    17be:       71 f3           breq    .-36            ; 0x179c <__stack+0x69d>
    17c0:       7c 7f           andi    r23, 0xFC       ; 252
    17c2:       b3 5a           subi    r27, 0xA3       ; 163
    17c4:       7c b5           in      r23, 0x2c       ; 44
    17c6:       dd ef           ldi     r29, 0xFD       ; 253
    17c8:       82 2c           mov     r8, r2
    17ca:       5c f3           brlt    .-42            ; 0x17a2 <__stack+0x6a3>
    17cc:       66 6d           ori     r22, 0xD6       ; 214
    17ce:       32 9b           sbis    0x06, 2 ; 6
    17d0:       8d e5           ldi     r24, 0x5D       ; 93
    17d2:       db 40           sbci    r29, 0x0B       ; 11
    17d4:       38 f9           .word   0xf938  ; ????
    17d6:       1b f9           .word   0xf91b  ; ????
    17d8:       a7 c7           rjmp    .+3918          ; 0x2728 <__stack+0x1629>
    17da:       61 49           sbci    r22, 0x91       ; 145
    17dc:       ff 78           andi    r31, 0x8F       ; 143
    17de:       98 b0           in      r9, 0x08        ; 8
    17e0:       a8 47           sbci    r26, 0x78       ; 120
    17e2:       49 ff           .word   0xff49  ; ????
    17e4:       b8 19           sub     r27, r8
    17e6:       03 60           ori     r16, 0x03       ; 3
    17e8:       8c b3           in      r24, 0x1c       ; 28
    17ea:       b0 88           ldd     r11, Z+16       ; 0x10
    17ec:       db b6           in      r13, 0x3b       ; 59
    17ee:       fe 10           cpse    r15, r14
    17f0:       24 b3           in      r18, 0x14       ; 20
    17f2:       d8 fe           .word   0xfed8  ; ????
    17f4:       80 58           subi    r24, 0x80       ; 128
    17f6:       bb 77           andi    r27, 0x7B       ; 123
    17f8:       99 af           std     Y+57, r25       ; 0x39
    17fa:       e6 a8           ldd     r14, Z+54       ; 0x36
    17fc:       ad bc           out     0x2d, r10       ; 45
    17fe:       94 fb           bst     r25, 4
    1800:       8a 2c           mov     r8, r10
    1802:       9a 40           sbci    r25, 0x0A       ; 10
    1804:       5b 96           adiw    r26, 0x1b       ; 27
    1806:       d6 10           cpse    r13, r6
    1808:       33 fd           sbrc    r19, 3
    180a:       6c e0           ldi     r22, 0x0C       ; 12
    180c:       fa 94           dec     r15
    180e:       8b 65           ori     r24, 0x5B       ; 91
    1810:       ff 0b           sbc     r31, r31
    1812:       04 20           and     r0, r4
    1814:       b3 40           sbci    r27, 0x03       ; 3
    1816:       dd 9a           sbi     0x1b, 5 ; 27
    1818:       80 40           sbci    r24, 0x00       ; 0
    181a:       04 ba           out     0x14, r0        ; 20
    181c:       ec 04           cpc     r14, r12
    181e:       db 60           ori     r29, 0x0B       ; 11
    1820:       cf 36           cpi     r28, 0x6F       ; 111
    1822:       f6 e2           ldi     r31, 0x26       ; 38
    1824:       10 f9           bld     r17, 0
    1826:       81 7b           andi    r24, 0xB1       ; 177
    1828:       bc b8           out     0x0c, r11       ; 12
    182a:       db 28           or      r13, r11
    182c:       ab 39           cpi     r26, 0x9B       ; 155
    182e:       f0 a6           std     Z+40, r15       ; 0x28
    1830:       d8 24           eor     r13, r8
    1832:       05 ec           ldi     r16, 0xC5       ; 197
    1834:       43 db           rcall   .-2426          ; 0xebc <fpga+0xcf0>
    1836:       4b 0d           add     r20, r11
    1838:       30 73           andi    r19, 0x30       ; 48
    183a:       84 56           subi    r24, 0x64       ; 100
    183c:       5c 52           subi    r21, 0x2C       ; 44
    183e:       14 db           rcall   .-2520          ; 0xe68 <fpga+0xc9c>
    1840:       d5 65           ori     r29, 0x55       ; 85
    1842:       61 e6           ldi     r22, 0x61       ; 97
    1844:       e5 8b           std     Z+21, r30       ; 0x15
    1846:       a9 11           cpse    r26, r9
    1848:       2f d7           rcall   .+3678          ; 0x26a8 <__stack+0x15a9>
    184a:       aa 42           sbci    r26, 0x2A       ; 42
    184c:       98 d1           rcall   .+816           ; 0x1b7e <__stack+0xa7f>
    184e:       87 e6           ldi     r24, 0x67       ; 103
    1850:       b0 21           and     r27, r0
    1852:       95 84           ldd     r9, Z+13        ; 0x0d
    1854:       d3 fd           sbrc    r29, 3
    1856:       f8 b0           in      r15, 0x08       ; 8
    1858:       18 15           cp      r17, r8
    185a:       9d f9           .word   0xf99d  ; ????
    185c:       75 d8           rcall   .-3862          ; 0x948 <fpga+0x77c>
    185e:       19 60           ori     r17, 0x09       ; 9
    1860:       91 f5           brne    .+100           ; 0x18c6 <__stack+0x7c7>
    1862:       31 b4           in      r3, 0x21        ; 33
    1864:       49 66           ori     r20, 0x69       ; 105
    1866:       67 fa           bst     r6, 7
    1868:       10 80           ld      r1, Z
    186a:       8f 19           sub     r24, r15
    186c:       33 e8           ldi     r19, 0x83       ; 131
    186e:       fe cc           rjmp    .-1540          ; 0x126c <__stack+0x16d>
    1870:       bf dd           rcall   .-1154          ; 0x13f0 <__stack+0x2f1>
    1872:       01 6b           ori     r16, 0xB1       ; 177
    1874:       db 5a           subi    r29, 0xAB       ; 171
    1876:       02 39           cpi     r16, 0x92       ; 146
    1878:       aa 30           cpi     r26, 0x0A       ; 10
    187a:       b1 fc           sbrc    r11, 1
    187c:       bd d8           rcall   .-3718          ; 0x9f8 <fpga+0x82c>
    187e:       00 10           cpse    r0, r0
    1880:       cf 6c           ori     r28, 0xCF       ; 207
    1882:       97 05           cpc     r25, r7
    1884:       41 eb           ldi     r20, 0xB1       ; 177
    1886:       fb 60           ori     r31, 0x0B       ; 11
    1888:       97 b6           in      r9, 0x37        ; 55
    188a:       49 09           sbc     r20, r9
    188c:       1d 18           sub     r1, r13
    188e:       2c 38           cpi     r18, 0x8C       ; 140
    1890:       12 f4           brpl    .+4             ; 0x1896 <__stack+0x797>
    1892:       af c1           rjmp    .+862           ; 0x1bf2 <__stack+0xaf3>
    1894:       90 b3           in      r25, 0x10       ; 16
    1896:       fd b1           in      r31, 0x0d       ; 13
    1898:       22 a5           ldd     r18, Z+42       ; 0x2a
    189a:       c5 21           and     r28, r5
    189c:       9e ee           ldi     r25, 0xEE       ; 238
    189e:       f6 f8           bld     r15, 6
    18a0:       fb 40           sbci    r31, 0x0B       ; 11
    18a2:       80 19           sub     r24, r0
    18a4:       e9 76           andi    r30, 0x69       ; 105
    18a6:       89 6e           ori     r24, 0xE9       ; 233
    18a8:       f9 f0           breq    .+62            ; 0x18e8 <__stack+0x7e9>
    18aa:       58 66           ori     r21, 0x68       ; 104
    18ac:       79 b6           in      r7, 0x39        ; 57
    18ae:       e2 53           subi    r30, 0x32       ; 50
    18b0:       41 b8           out     0x01, r4        ; 1
    18b2:       f9 60           ori     r31, 0x09       ; 9
    18b4:       53 7d           andi    r21, 0xD3       ; 211
    18b6:       7f 8f           std     Y+31, r23       ; 0x1f
    18b8:       ad ff           .word   0xffad  ; ????
    18ba:       80 d6           rcall   .+3328          ; 0x25bc <__stack+0x14bd>
    18bc:       25 20           and     r2, r5
    18be:       77 96           adiw    r30, 0x17       ; 23
    18c0:       70 58           subi    r23, 0x80       ; 128
    18c2:       c8 c7           rjmp    .+3984          ; 0x2854 <__stack+0x1755>
    18c4:       60 3d           cpi     r22, 0xD0       ; 208
    18c6:       28 58           subi    r18, 0x88       ; 136
    18c8:       04 a7           std     Z+44, r16       ; 0x2c
    18ca:       5e 9b           sbis    0x0b, 6 ; 11
    18cc:       ab 62           ori     r26, 0x2B       ; 43
    18ce:       5b ae           std     Y+59, r5        ; 0x3b
    18d0:       b0 fc           sbrc    r11, 0
    18d2:       67 58           subi    r22, 0x87       ; 135
    18d4:       19 10           cpse    r1, r9
    18d6:       5b ab           std     Y+51, r21       ; 0x33
    18d8:       62 fe           sbrs    r6, 2
    18da:       0e 78           andi    r16, 0x8E       ; 142
    18dc:       39 cf           rjmp    .-398           ; 0x1750 <__stack+0x651>
    18de:       31 66           ori     r19, 0x61       ; 97
    18e0:       83 b3           in      r24, 0x13       ; 19
    18e2:       09 b3           in      r16, 0x19       ; 25
    18e4:       af 30           cpi     r26, 0x0F       ; 15
    18e6:       64 2c           mov     r6, r4
    18e8:       66 fd           sbrc    r22, 6
    18ea:       d3 e5           ldi     r29, 0x53       ; 83
    18ec:       7f b1           in      r23, 0x0f       ; 15
    18ee:       59 3e           cpi     r21, 0xE9       ; 233
    18f0:       b3 b3           in      r27, 0x13       ; 19
    18f2:       74 18           sub     r7, r4
    18f4:       cf eb           ldi     r28, 0xBF       ; 191
    18f6:       b1 0b           sbc     r27, r17
    18f8:       8c 68           ori     r24, 0x8C       ; 140
    18fa:       32 30           cpi     r19, 0x02       ; 2
    18fc:       19 c9           rjmp    .-3534          ; 0xb30 <fpga+0x964>
    18fe:       02 88           ldd     r0, Z+18        ; 0x12
    1900:       60 81           ld      r22, Z
    1902:       db fe           .word   0xfedb  ; ????
    1904:       08 7f           andi    r16, 0xF8       ; 248
    1906:       58 33           cpi     r21, 0x38       ; 56
    1908:       90 27           eor     r25, r16
    190a:       76 b1           in      r23, 0x06       ; 6
    190c:       02 ce           rjmp    .-1020          ; 0x1512 <__stack+0x413>
    190e:       eb ce           rjmp    .-554           ; 0x16e6 <__stack+0x5e7>
    1910:       0d 96           adiw    r24, 0x0d       ; 13
    1912:       b3 38           cpi     r27, 0x83       ; 131
    1914:       33 b6           in      r3, 0x33        ; 51
    1916:       e3 37           cpi     r30, 0x73       ; 115
    1918:       fb d0           rcall   .+502           ; 0x1b10 <__stack+0xa11>
    191a:       40 11           cpse    r20, r0
    191c:       57 d8           rcall   .-3922          ; 0x9cc <fpga+0x800>
    191e:       8c d9           rcall   .-3304          ; 0xc38 <fpga+0xa6c>
    1920:       7f eb           ldi     r23, 0xBF       ; 191
    1922:       64 02           muls    r22, r20
    1924:       17 f5           brid    .+68            ; 0x196a <__stack+0x86b>
    1926:       f9 20           and     r15, r9
    1928:       9b f6           brvc    .-90            ; 0x18d0 <__stack+0x7d1>
    192a:       d6 63           ori     r29, 0x36       ; 54
    192c:       c3 50           subi    r28, 0x03       ; 3
    192e:       fb b1           in      r31, 0x0b       ; 11
    1930:       0a 4d           sbci    r16, 0xDA       ; 218
    1932:       a3 b6           in      r10, 0x33       ; 51
    1934:       d1 0b           sbc     r29, r17
    1936:       f5 4e           sbci    r31, 0xE5       ; 229
    1938:       10 a5           ldd     r17, Z+40       ; 0x28
    193a:       fd 91           ld      r31, X+
    193c:       04 ba           out     0x14, r0        ; 20
    193e:       d8 04           cpc     r13, r8
    1940:       d0 3d           cpi     r29, 0xD0       ; 208
    1942:       0b 6c           ori     r16, 0xCB       ; 203
    1944:       b1 29           or      r27, r1
    1946:       3d dc           rcall   .-1926          ; 0x11c2 <__stack+0xc3>
    1948:       49 11           cpse    r20, r9
    194a:       11 59           subi    r17, 0x91       ; 145
    194c:       2e 15           cp      r18, r14
    194e:       0b dd           rcall   .-1514          ; 0x1366 <__stack+0x267>
    1950:       bf 71           andi    r27, 0x1F       ; 31
    1952:       4f f6           brid    .-110           ; 0x18e6 <__stack+0x7e7>
    1954:       9d 98           cbi     0x13, 5 ; 19
    1956:       b3 03           fmuls   r19, r19
    1958:       04 bf           out     0x34, r16       ; 52
    195a:       9e 0d           add     r25, r14
    195c:       89 93           st      Y+, r24
    195e:       01 dd           rcall   .-1534          ; 0x1362 <__stack+0x263>
    1960:       63 60           ori     r22, 0x03       ; 3
    1962:       43 cb           rjmp    .-2426          ; 0xfea <fpga+0xe1e>
    1964:       e9 11           cpse    r30, r9
    1966:       62 28           or      r6, r2
    1968:       b4 90           lpm     r11, Z+
    196a:       14 14           cp      r1, r4
    196c:       d6 e9           ldi     r29, 0x96       ; 150
    196e:       50 08           sbc     r5, r0
    1970:       10 b0           in      r1, 0x00        ; 0
    1972:       60 dc           rcall   .-1856          ; 0x1234 <__stack+0x135>
    1974:       80 c0           rjmp    .+256           ; 0x1a76 <__stack+0x977>
    1976:       b3 bc           out     0x23, r11       ; 35
    1978:       0a 7a           andi    r16, 0xAA       ; 170
    197a:       77 e9           ldi     r23, 0x97       ; 151
    197c:       e8 fe           .word   0xfee8  ; ????
    197e:       a5 66           ori     r26, 0x65       ; 101
    1980:       01 b9           out     0x01, r16       ; 1
    1982:       ba 20           and     r11, r10
    1984:       12 94           swap    r1
    1986:       df 02           muls    r29, r31
    1988:       6c 17           cp      r22, r28
    198a:       4a 61           ori     r20, 0x1A       ; 26
    198c:       2c dc           rcall   .-1960          ; 0x11e6 <__stack+0xe7>
    198e:       ff f7           brid    .-2             ; 0x198e <__stack+0x88f>
    1990:       cb 10           cpse    r12, r11
    1992:       08 80           ld      r0, Y
    1994:       3c 4b           sbci    r19, 0xBC       ; 188
    1996:       42 40           sbci    r20, 0x02       ; 2
    1998:       0a 01           movw    r0, r20
    199a:       76 ac           ldd     r7, Z+62        ; 0x3e
    199c:       23 04           cpc     r2, r3
    199e:       28 bd           out     0x28, r18       ; 40
    19a0:       c6 5a           subi    r28, 0xA6       ; 166
    19a2:       d8 bc           out     0x28, r13       ; 40
    19a4:       fc 2f           mov     r31, r28
    19a6:       ca fa           .word   0xfaca  ; ????
    19a8:       6c 34           cpi     r22, 0x4C       ; 76
    19aa:       8e 09           sbc     r24, r14
    19ac:       a7 80           ldd     r10, Z+7        ; 0x07
    19ae:       62 5d           subi    r22, 0xD2       ; 210
    19b0:       64 b1           in      r22, 0x04       ; 4
    19b2:       10 8f           std     Z+24, r17       ; 0x18
    19b4:       ee 09           sbc     r30, r14
    19b6:       50 fc           sbrc    r5, 0
    19b8:       33 92           .word   0x9233  ; ????
    19ba:       77 cf           rjmp    .-274           ; 0x18aa <__stack+0x7ab>
    19bc:       20 47           sbci    r18, 0x70       ; 112
    19be:       58 ac           ldd     r5, Y+56        ; 0x38
    19c0:       0a 01           movw    r0, r20
    19c2:       f5 66           ori     r31, 0x65       ; 101
    19c4:       40 af           std     Z+56, r20       ; 0x38
    19c6:       b4 e1           ldi     r27, 0x14       ; 20
    19c8:       81 20           and     r8, r1
    19ca:       41 67           ori     r20, 0x71       ; 113
    19cc:       7f 32           cpi     r23, 0x2F       ; 47
    19ce:       60 fe           sbrs    r6, 0
    19d0:       b0 10           cpse    r11, r0
    19d2:       cb a0           ldd     r12, Y+35       ; 0x23
    19d4:       c3 51           subi    r28, 0x13       ; 19
    19d6:       41 6f           ori     r20, 0xF1       ; 241
    19d8:       9f ee           ldi     r25, 0xEF       ; 239
    19da:       81 1c           adc     r8, r1
    19dc:       fb 02           muls    r31, r27
    19de:       d4 de           rcall   .-600           ; 0x1788 <__stack+0x689>
    19e0:       c3 0d           add     r28, r3
    19e2:       b3 db           rcall   .-2202          ; 0x114a <__stack+0x4b>
    19e4:       fb c6           rjmp    .+3574          ; 0x27dc <__stack+0x16dd>
    19e6:       a8 c7           rjmp    .+3920          ; 0x2938 <__stack+0x1839>
    19e8:       fe 04           cpc     r15, r14
    19ea:       2c fa           .word   0xfa2c  ; ????
    19ec:       11 7b           andi    r17, 0xB1       ; 177
    19ee:       64 49           sbci    r22, 0x94       ; 148
    19f0:       d8 fe           .word   0xfed8  ; ????
    19f2:       20 bf           out     0x30, r18       ; 48
    19f4:       18 ae           std     Y+56, r1        ; 0x38
    19f6:       4d 96           adiw    r24, 0x1d       ; 29
    19f8:       14 ee           ldi     r17, 0xE4       ; 228
    19fa:       5e b8           out     0x0e, r5        ; 14
    19fc:       fc 0a           sbc     r15, r28
    19fe:       c2 dd           rcall   .-1148          ; 0x1584 <__stack+0x485>
    1a00:       d9 f7           brne    .-10            ; 0x19f8 <__stack+0x8f9>
    1a02:       04 dd           rcall   .-1528          ; 0x140c <__stack+0x30d>
    1a04:       f5 96           adiw    r30, 0x35       ; 53
    1a06:       04 b3           in      r16, 0x14       ; 20
    1a08:       ad bd           out     0x2d, r26       ; 45
    1a0a:       98 fa           .word   0xfa98  ; ????
    1a0c:       86 bb           out     0x16, r24       ; 22
    1a0e:       e4 09           sbc     r30, r4
    1a10:       90 a2           std     Z+32, r9        ; 0x20
    1a12:       6e 3c           cpi     r22, 0xCE       ; 206
    1a14:       d8 f8           .word   0xf8d8  ; ????
    1a16:       ff ba           out     0x1f, r15       ; 31
    1a18:       6a 08           sbc     r6, r10
    1a1a:       ef 30           cpi     r30, 0x0F       ; 15
    1a1c:       31 ad           ldd     r19, Z+57       ; 0x39
    1a1e:       99 70           andi    r25, 0x09       ; 9
    1a20:       b1 fc           sbrc    r11, 1
    1a22:       7e 59           subi    r23, 0x9E       ; 158
    1a24:       3f 20           and     r3, r15
    1a26:       ff 1a           sub     r15, r31
    1a28:       63 df           rcall   .-314           ; 0x18f0 <__stack+0x7f1>
    1a2a:       a3 b1           in      r26, 0x03       ; 3
    1a2c:       b0 9d           mul     r27, r0
    1a2e:       b0 96           adiw    r30, 0x20       ; 32
    1a30:       bf d6           rcall   .+3454          ; 0x27b0 <__stack+0x16b1>
    1a32:       cc 18           sub     r12, r12
    1a34:       09 9b           sbis    0x01, 1 ; 1
    1a36:       49 63           ori     r20, 0x39       ; 57
    1a38:       5f 0e           add     r5, r31
    1a3a:       b1 10           cpse    r11, r1
    1a3c:       bf d8           rcall   .-3714          ; 0xbbc <fpga+0x9f0>
    1a3e:       78 02           muls    r23, r24
    1a40:       59 ab           std     Y+49, r21       ; 0x31
    1a42:       15 20           and     r1, r5
    1a44:       0b 1b           sub     r16, r27
    1a46:       66 b8           out     0x06, r6        ; 6
    1a48:       fd 5d           subi    r31, 0xDD       ; 221
    1a4a:       57 0d           add     r21, r7
    1a4c:       40 c5           rjmp    .+2688          ; 0x24ce <__stack+0x13cf>
    1a4e:       e1 77           andi    r30, 0x71       ; 113
    1a50:       e9 42           sbci    r30, 0x29       ; 41
    1a52:       22 f2           brmi    .-120           ; 0x19dc <__stack+0x8dd>
    1a54:       5a d7           rcall   .+3764          ; 0x290a <__stack+0x180b>
    1a56:       08 40           sbci    r16, 0x08       ; 8
    1a58:       50 34           cpi     r21, 0x40       ; 64
    1a5a:       f3 56           subi    r31, 0x63       ; 99
    1a5c:       29 e6           ldi     r18, 0x69       ; 105
    1a5e:       99 fd           .word   0xfd99  ; ????
    1a60:       10 06           cpc     r1, r16
    1a62:       82 f1           brmi    .+96            ; 0x1ac4 <__stack+0x9c5>
    1a64:       f3 c6           rjmp    .+3558          ; 0x284c <__stack+0x174d>
    1a66:       69 e6           ldi     r22, 0x69       ; 105
    1a68:       ed 2f           mov     r30, r29
    1a6a:       92 2e           mov     r9, r18
    1a6c:       a2 c2           rjmp    .+1348          ; 0x1fb2 <__stack+0xeb3>
    1a6e:       bf 3f           cpi     r27, 0xFF       ; 255
    1a70:       02 d6           rcall   .+3076          ; 0x2676 <__stack+0x1577>
    1a72:       e5 ff           sbrs    r30, 5
    1a74:       aa 30           cpi     r26, 0x0A       ; 10
    1a76:       06 f8           bld     r0, 6
    1a78:       73 16           cp      r7, r19
    1a7a:       03 bf           out     0x33, r16       ; 51
    1a7c:       40 0e           add     r4, r16
    1a7e:       c0 bf           out     0x30, r28       ; 48
    1a80:       d1 0c           add     r13, r1
    1a82:       01 19           sub     r16, r1
    1a84:       fd eb           ldi     r31, 0xBD       ; 189
    1a86:       ff 3c           cpi     r31, 0xCF       ; 207
    1a88:       c5 fa           bst     r12, 5
    1a8a:       e0 13           cpse    r30, r16
    1a8c:       e3 b7           in      r30, 0x33       ; 51
    1a8e:       80 07           cpc     r24, r16
    1a90:       69 b6           in      r6, 0x39        ; 57
    1a92:       b0 bf           out     0x30, r27       ; 48
    1a94:       ea b7           in      r30, 0x3a       ; 58
    1a96:       f8 e2           ldi     r31, 0x28       ; 40
    1a98:       20 37           cpi     r18, 0x70       ; 112
    1a9a:       b8 04           cpc     r11, r8
    1a9c:       39 88           ldd     r3, Y+17        ; 0x11
    1a9e:       f3 45           sbci    r31, 0x53       ; 83
    1aa0:       c4 7d           andi    r28, 0xD4       ; 212
    1aa2:       4c 34           cpi     r20, 0x4C       ; 76
    1aa4:       68 49           sbci    r22, 0x98       ; 152
    1aa6:       66 68           ori     r22, 0x86       ; 134
    1aa8:       56 72           andi    r21, 0x26       ; 38
    1aaa:       a6 e6           ldi     r26, 0x66       ; 102
    1aac:       c3 68           ori     r28, 0x83       ; 131
    1aae:       f9 d1           rcall   .+1010          ; 0x1ea2 <__stack+0xda3>
    1ab0:       96 20           and     r9, r6
    1ab2:       ad 18           sub     r10, r13
    1ab4:       e7 08           sbc     r14, r7
    1ab6:       11 8c           ldd     r1, Z+25        ; 0x19
    1ab8:       f6 30           cpi     r31, 0x06       ; 6
    1aba:       09 77           andi    r16, 0x79       ; 121
    1abc:       bc 3a           cpi     r27, 0xAC       ; 172
    1abe:       10 83           st      Z, r17
    1ac0:       60 82           st      Z, r6
    1ac2:       04 f3           brlt    .-64            ; 0x1a84 <__stack+0x985>
    1ac4:       67 f4           brid    .+24            ; 0x1ade <__stack+0x9df>
    1ac6:       e2 de           rcall   .-572           ; 0x188c <__stack+0x78d>
    1ac8:       ed 42           sbci    r30, 0x2D       ; 45
    1aca:       f9 b5           in      r31, 0x29       ; 41
    1acc:       93 5e           subi    r25, 0xE3       ; 227
    1ace:       49 05           cpc     r20, r9
    1ad0:       f3 ef           ldi     r31, 0xF3       ; 243
    1ad2:       60 02           muls    r22, r16
    1ad4:       40 cb           rjmp    .-2432          ; 0x1156 <__stack+0x57>
    1ad6:       7b 44           sbci    r23, 0x4B       ; 75
    1ad8:       66 f0           brts    .+24            ; 0x1af2 <__stack+0x9f3>
    1ada:       29 1e           adc     r2, r25
    1adc:       fb 81           ldd     r31, Y+3        ; 0x03
    1ade:       78 0f           add     r23, r24
    1ae0:       bc 04           cpc     r11, r12
    1ae2:       39 76           andi    r19, 0x69       ; 105
    1ae4:       f3 c0           rjmp    .+486           ; 0x1ccc <__stack+0xbcd>
    1ae6:       03 8b           std     Z+19, r16       ; 0x13
    1ae8:       f3 08           sbc     r15, r3
    1aea:       16 5f           subi    r17, 0xF6       ; 246
    1aec:       19 03           fmul    r17, r17
    1aee:       f3 7f           andi    r31, 0xF3       ; 243
    1af0:       8a 04           cpc     r8, r10
    1af2:       7b 0c           add     r7, r11
    1af4:       78 20           and     r7, r8
    1af6:       bb 0f           add     r27, r27
    1af8:       fb c3           rjmp    .+2038          ; 0x22f0 <__stack+0x11f1>
    1afa:       c8 ff           .word   0xffc8  ; ????
    1afc:       42 e3           ldi     r20, 0x32       ; 50
    1afe:       f9 cf           rjmp    .-14            ; 0x1af2 <__stack+0x9f3>
    1b00:       66 28           or      r6, r6
    1b02:       93 86           std     Z+11, r9        ; 0x0b
    1b04:       5f fd           .word   0xfd5f  ; ????
    1b06:       f5 c2           rjmp    .+1514          ; 0x20f2 <__stack+0xff3>
    1b08:       a7 61           ori     r26, 0x17       ; 23
    1b0a:       99 f3           breq    .-26            ; 0x1af2 <__stack+0x9f3>
    1b0c:       e6 66           ori     r30, 0x66       ; 102
    1b0e:       41 22           and     r4, r17
    1b10:       b9 66           ori     r27, 0x69       ; 105
    1b12:       1e c6           rjmp    .+3132          ; 0x2750 <__stack+0x1651>
    1b14:       59 d8           rcall   .-3918          ; 0xbc8 <fpga+0x9fc>
    1b16:       d8 fe           .word   0xfed8  ; ????
    1b18:       93 b3           in      r25, 0x13       ; 19
    1b1a:       10 02           muls    r17, r16
    1b1c:       48 b3           in      r20, 0x18       ; 24
    1b1e:       2c 6c           ori     r18, 0xCC       ; 204
    1b20:       4c b3           in      r20, 0x1c       ; 28
    1b22:       d7 f2           brie    .-76            ; 0x1ad8 <__stack+0x9d9>
    1b24:       d9 01           movw    r26, r18
    1b26:       d3 df           rcall   .-90            ; 0x1ace <__stack+0x9cf>
    1b28:       fb 32           cpi     r31, 0x2B       ; 43
    1b2a:       20 64           ori     r18, 0x40       ; 64
    1b2c:       fe 72           andi    r31, 0x2E       ; 46
    1b2e:       06 a0           ldd     r0, Z+38        ; 0x26
    1b30:       fd d3           rcall   .+2042          ; 0x232c <__stack+0x122d>
    1b32:       b6 17           cp      r27, r22
    1b34:       88 dd           rcall   .-1264          ; 0x1646 <__stack+0x547>
    1b36:       78 ac           ldd     r7, Y+56        ; 0x38
    1b38:       80 c7           rjmp    .+3840          ; 0x2a3a <__stack+0x193b>
    1b3a:       7d 02           muls    r23, r29
    1b3c:       9b 10           cpse    r9, r11
    1b3e:       80 24           eor     r8, r0
    1b40:       2b 4c           sbci    r18, 0xCB       ; 203
    1b42:       98 5b           subi    r25, 0xB8       ; 184
    1b44:       48 a8           ldd     r4, Y+48        ; 0x30
    1b46:       d1 93           st      Z+, r29
    1b48:       f3 60           ori     r31, 0x03       ; 3
    1b4a:       c4 2d           mov     r28, r4
    1b4c:       bf 04           cpc     r11, r15
    1b4e:       4c 62           ori     r20, 0x2C       ; 44
    1b50:       ee 50           subi    r30, 0x0E       ; 14
    1b52:       57 10           cpse    r5, r7
    1b54:       e2 46           sbci    r30, 0x62       ; 98
    1b56:       c6 f3           brts    .-16            ; 0x1b48 <__stack+0xa49>
    1b58:       a6 2c           mov     r10, r6
    1b5a:       fe dc           rcall   .-1540          ; 0x1558 <__stack+0x459>
    1b5c:       b1 06           cpc     r11, r17
    1b5e:       9e 25           eor     r25, r14
    1b60:       1e 4a           sbci    r17, 0xAE       ; 174
    1b62:       fb b2           in      r15, 0x1b       ; 27
    1b64:       cb 80           ldd     r12, Y+3        ; 0x03
    1b66:       d4 40           sbci    r29, 0x04       ; 4
    1b68:       64 e5           ldi     r22, 0x54       ; 84
    1b6a:       30 0c           add     r3, r0
    1b6c:       bf 09           sbc     r27, r15
    1b6e:       56 36           cpi     r21, 0x66       ; 102
    1b70:       08 7e           andi    r16, 0xE8       ; 232
    1b72:       cb aa           std     Y+51, r12       ; 0x33
    1b74:       fd 27           eor     r31, r29
    1b76:       cd 98           cbi     0x19, 5 ; 25
    1b78:       ff cc           rjmp    .-1538          ; 0x1578 <__stack+0x479>
    1b7a:       10 68           ori     r17, 0x80       ; 128
    1b7c:       e7 dc           rcall   .-1586          ; 0x154c <__stack+0x44d>
    1b7e:       a8 fc           .word   0xfca8  ; ????
    1b80:       d8 b8           out     0x08, r13       ; 8
    1b82:       86 71           andi    r24, 0x16       ; 22
    1b84:       d5 d1           rcall   .+938           ; 0x1f30 <__stack+0xe31>
    1b86:       80 72           andi    r24, 0x20       ; 32
    1b88:       e3 09           sbc     r30, r3
    1b8a:       e2 ab           std     Z+50, r30       ; 0x32
    1b8c:       31 f3           breq    .-52            ; 0x1b5a <__stack+0xa5b>
    1b8e:       73 19           sub     r23, r3
    1b90:       33 b2           in      r3, 0x13        ; 19
    1b92:       fe 0a           sbc     r15, r30
    1b94:       72 e6           ldi     r23, 0x62       ; 98
    1b96:       f7 ea           ldi     r31, 0xA7       ; 167
    1b98:       f9 f6           brne    .-66            ; 0x1b58 <__stack+0xa59>
    1b9a:       a6 c0           rjmp    .+332           ; 0x1ce8 <__stack+0xbe9>
    1b9c:       24 6d           ori     r18, 0xD4       ; 212
    1b9e:       fb 13           cpse    r31, r27
    1ba0:       1c 55           subi    r17, 0x5C       ; 92
    1ba2:       09 16           cp      r0, r25
    1ba4:       c2 fa           bst     r12, 2
    1ba6:       b0 03           fmuls   r19, r16
    1ba8:       93 60           ori     r25, 0x03       ; 3
    1baa:       82 f6           brpl    .-96            ; 0x1b4c <__stack+0xa4d>
    1bac:       78 30           cpi     r23, 0x08       ; 8
    1bae:       06 c5           rjmp    .+2572          ; 0x25bc <__stack+0x14bd>
    1bb0:       96 b2           in      r9, 0x16        ; 22
    1bb2:       a3 57           subi    r26, 0x73       ; 115
    1bb4:       b6 98           cbi     0x16, 6 ; 22
    1bb6:       88 60           ori     r24, 0x08       ; 8
    1bb8:       9f 9f           mul     r25, r31
    1bba:       a2 e8           ldi     r26, 0x82       ; 130
    1bbc:       19 ed           ldi     r17, 0xD9       ; 217
    1bbe:       eb f1           brvs    .+122           ; 0x1c3a <__stack+0xb3b>
    1bc0:       de c5           rjmp    .+3004          ; 0x277e <__stack+0x167f>
    1bc2:       7a 05           cpc     r23, r10
    1bc4:       3c 6d           ori     r19, 0xDC       ; 220
    1bc6:       f3 f0           brvs    .+60            ; 0x1c04 <__stack+0xb05>
    1bc8:       7c 98           cbi     0x0f, 4 ; 15
    1bca:       8c f3           brlt    .-30            ; 0x1bae <__stack+0xaaf>
    1bcc:       54 b5           in      r21, 0x24       ; 36
    1bce:       cf f1           brie    .+114           ; 0x1c42 <__stack+0xb43>
    1bd0:       98 d3           rcall   .+1840          ; 0x2302 <__stack+0x1203>
    1bd2:       7f 6e           ori     r23, 0xEF       ; 239
    1bd4:       64 fe           sbrs    r6, 4
    1bd6:       57 f1           brie    .+84            ; 0x1c2c <__stack+0xb2d>
    1bd8:       06 cb           rjmp    .-2548          ; 0x11e6 <__stack+0xe7>
    1bda:       fc 72           andi    r31, 0x2C       ; 44
    1bdc:       43 66           ori     r20, 0x63       ; 99
    1bde:       53 f3           brvs    .-44            ; 0x1bb4 <__stack+0xab5>
    1be0:       7f 33           cpi     r23, 0x3F       ; 63
    1be2:       d8 cc           rjmp    .-1616          ; 0x1594 <__stack+0x495>
    1be4:       ff 63           ori     r31, 0x3F       ; 63
    1be6:       d4 98           cbi     0x1a, 4 ; 26
    1be8:       81 66           ori     r24, 0x61       ; 97
    1bea:       4b b3           in      r20, 0x1b       ; 27
    1bec:       c1 31           cpi     r28, 0x11       ; 17
    1bee:       b3 58           subi    r27, 0x83       ; 131
    1bf0:       b1 08           sbc     r11, r1
    1bf2:       b3 b3           in      r27, 0x13       ; 19
    1bf4:       3f d7           rcall   .+3710          ; 0x2a74 <__stack+0x1975>
    1bf6:       98 61           ori     r25, 0x18       ; 24
    1bf8:       f0 7c           andi    r31, 0xC0       ; 192
    1bfa:       da c9           rjmp    .-3148          ; 0xfb0 <fpga+0xde4>
    1bfc:       f8 7a           andi    r31, 0xA8       ; 168
    1bfe:       d3 10           cpse    r13, r3
    1c00:       9b ed           ldi     r25, 0xDB       ; 219
    1c02:       08 14           cp      r0, r8
    1c04:       f9 fe           .word   0xfef9  ; ????
    1c06:       40 e6           ldi     r20, 0x60       ; 96
    1c08:       02 48           sbci    r16, 0x82       ; 130
    1c0a:       82 f3           brmi    .-32            ; 0x1bec <__stack+0xaed>
    1c0c:       69 17           cp      r22, r25
    1c0e:       4d 88           ldd     r4, Y+21        ; 0x15
    1c10:       90 2c           mov     r9, r0
    1c12:       f3 23           and     r31, r19
    1c14:       f6 98           cbi     0x1e, 6 ; 30
    1c16:       20 01           movw    r4, r0
    1c18:       59 b4           in      r5, 0x29        ; 41
    1c1a:       da af           std     Y+58, r29       ; 0x3a
    1c1c:       b7 41           sbci    r27, 0x17       ; 23
    1c1e:       50 f6           brcc    .-108           ; 0x1bb4 <__stack+0xab5>
    1c20:       10 04           cpc     r1, r0
    1c22:       44 d7           rcall   .+3720          ; 0x2aac <__stack+0x19ad>
    1c24:       61 41           sbci    r22, 0x11       ; 17
    1c26:       ff 71           andi    r31, 0x1F       ; 31
    1c28:       c7 1a           sub     r12, r23
    1c2a:       fb 2b           or      r31, r27
    1c2c:       b3 32           cpi     r27, 0x23       ; 35
    1c2e:       e6 b9           out     0x06, r30       ; 6
    1c30:       06 20           and     r0, r6
    1c32:       d3 c6           rjmp    .+3494          ; 0x29da <__stack+0x18db>
    1c34:       98 f9           .word   0xf998  ; ????
    1c36:       18 4f           sbci    r17, 0xF8       ; 248
    1c38:       b8 fb           .word   0xfbb8  ; ????
    1c3a:       04 e0           ldi     r16, 0x04       ; 4
    1c3c:       41 62           ori     r20, 0x21       ; 33
    1c3e:       7b e0           ldi     r23, 0x0B       ; 11
    1c40:       67 f9           bld     r22, 7
    1c42:       98 71           andi    r25, 0x18       ; 24
    1c44:       9b a3           std     Y+35, r25       ; 0x23
    1c46:       0c 28           or      r0, r12
    1c48:       fb 77           andi    r31, 0x7B       ; 123
    1c4a:       ef 7f           andi    r30, 0xFF       ; 255
    1c4c:       46 17           cp      r20, r22
    1c4e:       de 20           and     r13, r14
    1c50:       f9 98           cbi     0x1f, 1 ; 31
    1c52:       2b 6c           ori     r18, 0xCB       ; 203
    1c54:       50 be           out     0x30, r5        ; 48
    1c56:       19 44           sbci    r17, 0x49       ; 73
    1c58:       80 02           muls    r24, r16
    1c5a:       08 c6           rjmp    .+3088          ; 0x286c <__stack+0x176d>
    1c5c:       fc 98           cbi     0x1f, 4 ; 31
    1c5e:       23 7f           andi    r18, 0xF3       ; 243
    1c60:       a5 cc           rjmp    .-1718          ; 0x15ac <__stack+0x4ad>
    1c62:       69 88           ldd     r6, Y+17        ; 0x11
    1c64:       cd d5           rcall   .+2970          ; 0x2800 <__stack+0x1701>
    1c66:       48 f8           .word   0xf848  ; ????
    1c68:       f9 22           and     r15, r25
    1c6a:       72 96           adiw    r30, 0x12       ; 18
    1c6c:       13 5b           subi    r17, 0xB3       ; 179
    1c6e:       b7 f9           bld     r27, 7
    1c70:       98 70           andi    r25, 0x08       ; 8
    1c72:       50 30           cpi     r21, 0x00       ; 0
    1c74:       b6 40           sbci    r27, 0x06       ; 6
    1c76:       01 31           cpi     r16, 0x11       ; 17
    1c78:       eb 98           cbi     0x1d, 3 ; 29
    1c7a:       8b 2b           or      r24, r27
    1c7c:       df 98           cbi     0x1b, 7 ; 27
    1c7e:       20 60           ori     r18, 0x00       ; 0
    1c80:       22 80           ldd     r2, Z+2 ; 0x02
    1c82:       01 7e           andi    r16, 0xE1       ; 225
    1c84:       df e3           ldi     r29, 0x3F       ; 63
    1c86:       ed 98           cbi     0x1d, 5 ; 29
    1c88:       f2 20           and     r15, r2
    1c8a:       7b c5           rjmp    .+2806          ; 0x2782 <__stack+0x1683>
    1c8c:       79 40           sbci    r23, 0x09       ; 9
    1c8e:       6f eb           ldi     r22, 0xBF       ; 191
    1c90:       98 c8           rjmp    .-3792          ; 0xdc2 <fpga+0xbf6>
    1c92:       bd 98           cbi     0x17, 5 ; 23
    1c94:       24 b0           in      r2, 0x04        ; 4
    1c96:       01 9b           sbis    0x00, 1 ; 0
    1c98:       d6 98           cbi     0x1a, 6 ; 26
    1c9a:       7a 9e           mul     r7, r26
    1c9c:       98 ec           ldi     r25, 0xC8       ; 200
    1c9e:       e0 fe           sbrs    r14, 0
    1ca0:       08 4b           sbci    r16, 0xB8       ; 184
    1ca2:       d7 98           cbi     0x1a, 7 ; 26
    1ca4:       04 78           andi    r16, 0x84       ; 132
    1ca6:       e5 b0           in      r14, 0x05       ; 5
    1ca8:       66 a3           std     Z+38, r22       ; 0x26
    1caa:       cf 98           cbi     0x19, 7 ; 25
    1cac:       5f 2a           or      r5, r31
    1cae:       40 ed           ldi     r20, 0xD0       ; 208
    1cb0:       98 46           sbci    r25, 0x68       ; 104
    1cb2:       c4 fe           sbrs    r12, 4
    1cb4:       58 b6           in      r5, 0x38        ; 56
    1cb6:       12 7f           andi    r17, 0xF2       ; 242
    1cb8:       b3 18           sub     r11, r3
    1cba:       01 03           mulsu   r16, r17
    1cbc:       40 24           eor     r4, r0
    1cbe:       08 88           ldd     r0, Y+16        ; 0x10
    1cc0:       61 37           cpi     r22, 0x71       ; 113
    1cc2:       ad 98           cbi     0x15, 5 ; 21
    1cc4:       41 7d           andi    r20, 0xD1       ; 209
    1cc6:       4b 18           sub     r4, r11
    1cc8:       b4 ff           sbrs    r27, 4
    1cca:       eb 24           eor     r14, r11
    1ccc:       7e 95 16 e1     call    0x5dc22c        ; 0x5dc22c <__data_load_end+0x5d3e00>
    1cd0:       ce d0           rcall   .+412           ; 0x1e6e <__stack+0xd6f>
    1cd2:       9a 20           and     r9, r10
    1cd4:       40 60           ori     r20, 0x00       ; 0
    1cd6:       d1 81           ldd     r29, Z+1        ; 0x01
    1cd8:       cb 90           .word   0x90cb  ; ????
    1cda:       f6 16           cp      r15, r22
    1cdc:       cd c8           rjmp    .-3686          ; 0xe78 <fpga+0xcac>
    1cde:       03 95           inc     r16
    1ce0:       ef 98           cbi     0x1d, 7 ; 29
    1ce2:       10 04           cpc     r1, r0
    1ce4:       08 4d           sbci    r16, 0xD8       ; 216
    1ce6:       7f 6c           ori     r23, 0xCF       ; 207
    1ce8:       64 fd           sbrc    r22, 4
    1cea:       e2 d2           rcall   .+1476          ; 0x22b0 <__stack+0x11b1>
    1cec:       5b b4           in      r5, 0x2b        ; 43
    1cee:       40 f1           brcs    .+80            ; 0x1d40 <__stack+0xc41>
    1cf0:       89 9f           mul     r24, r25
    1cf2:       b7 e0           ldi     r27, 0x07       ; 7
    1cf4:       9c e9           ldi     r25, 0x9C       ; 156
    1cf6:       39 62           ori     r19, 0x29       ; 41
    1cf8:       4d 51           subi    r20, 0x1D       ; 29
    1cfa:       58 fa           .word   0xfa58  ; ????
    1cfc:       fd b1           in      r31, 0x0d       ; 13
    1cfe:       af 31           cpi     r26, 0x1F       ; 31
    1d00:       b5 b9           out     0x05, r27       ; 5
    1d02:       da f9           .word   0xf9da  ; ????
    1d04:       f3 98           cbi     0x1e, 3 ; 30
    1d06:       5c ec           ldi     r21, 0xCC       ; 204
    1d08:       c8 64           ori     r28, 0x48       ; 72
    1d0a:       41 6f           ori     r20, 0xF1       ; 241
    1d0c:       2d 78           andi    r18, 0x8D       ; 141
    1d0e:       fe 32           cpi     r31, 0x2E       ; 46
    1d10:       ba ca           rjmp    .-2700          ; 0x1286 <__stack+0x187>
    1d12:       5c 4f           sbci    r21, 0xFC       ; 252
    1d14:       3c d2           rcall   .+1144          ; 0x218e <__stack+0x108f>
    1d16:       30 f9           bld     r19, 0
    1d18:       fc 04           cpc     r15, r12
    1d1a:       df 8f           std     Y+31, r29       ; 0x1f
    1d1c:       61 2f           mov     r22, r17
    1d1e:       47 52           subi    r20, 0x27       ; 39
    1d20:       04 02           muls    r16, r20
    1d22:       7f 48           sbci    r23, 0x8F       ; 143
    1d24:       13 12           cpse    r1, r19
    1d26:       f3 98           cbi     0x1e, 3 ; 30
    1d28:       7e ad           ldd     r23, Y+62       ; 0x3e
    1d2a:       9e b6           in      r9, 0x3e        ; 62
    1d2c:       21 fe           sbrs    r2, 1
    1d2e:       cc 10           cpse    r12, r12
    1d30:       08 5f           subi    r16, 0xF8       ; 248
    1d32:       ce c7           rjmp    .+3996          ; 0x2cd0 <__stack+0x1bd1>
    1d34:       29 7f           andi    r18, 0xF9       ; 249
    1d36:       7f 09           sbc     r23, r15
    1d38:       46 a5           ldd     r20, Z+46       ; 0x2e
    1d3a:       c1 7c           andi    r28, 0xC1       ; 193
    1d3c:       23 bf           out     0x33, r18       ; 51
    1d3e:       16 30           cpi     r17, 0x06       ; 6
    1d40:       7b 7d           andi    r23, 0xDB       ; 219
    1d42:       0b 60           ori     r16, 0x0B       ; 11
    1d44:       41 15           cp      r20, r1
    1d46:       f5 98           cbi     0x1e, 5 ; 30
    1d48:       02 a1           ldd     r16, Z+34       ; 0x22
    1d4a:       b6 94           lsr     r11
    1d4c:       66 f2           brts    .-104           ; 0x1ce6 <__stack+0xbe7>
    1d4e:       08 62           ori     r16, 0x28       ; 40
    1d50:       41 20           and     r4, r1
    1d52:       bf 96           adiw    r30, 0x2f       ; 47
    1d54:       23 fc           sbrc    r2, 3
    1d56:       9e a5           ldd     r25, Y+46       ; 0x2e
    1d58:       5e 98           cbi     0x0b, 6 ; 11
    1d5a:       8a 83           std     Y+2, r24        ; 0x02
    1d5c:       db 99           sbic    0x1b, 3 ; 27
    1d5e:       30 40           sbci    r19, 0x00       ; 0
    1d60:       1e f3           brts    .-58            ; 0x1d28 <__stack+0xc29>
    1d62:       5e 98           cbi     0x0b, 6 ; 11
    1d64:       b1 28           or      r11, r1
    1d66:       2f 6d           ori     r18, 0xDF       ; 223
    1d68:       98 0c           add     r9, r8
    1d6a:       20 0c           add     r2, r0
    1d6c:       b4 4b           sbci    r27, 0xB4       ; 180
    1d6e:       9a 30           cpi     r25, 0x0A       ; 10
    1d70:       80 f8           bld     r8, 0
    1d72:       33 73           andi    r19, 0x33       ; 51
    1d74:       fc 98           cbi     0x1f, 4 ; 31
    1d76:       fc 95 c8 18     jmp     0x7c3190        ; 0x7c3190 <__data_load_end+0x7bad64>
    1d7a:       e6 98           cbi     0x1c, 6 ; 28
    1d7c:       37 f6           brid    .-116           ; 0x1d0a <__stack+0xc0b>
    1d7e:       7f ff           .word   0xff7f  ; ????
    1d80:       cc b4           in      r12, 0x2c       ; 44
    1d82:       62 69           ori     r22, 0x92       ; 146
    1d84:       59 41           sbci    r21, 0x19       ; 25
    1d86:       ff c0           rjmp    .+510           ; 0x1f86 <__stack+0xe87>
    1d88:       0a b3           in      r16, 0x1a       ; 26
    1d8a:       a6 0b           sbc     r26, r22
    1d8c:       b3 4e           sbci    r27, 0xE3       ; 227
    1d8e:       fc cd           rjmp    .-1032          ; 0x1988 <__stack+0x889>
    1d90:       c8 80           ld      r12, Y
    1d92:       89 7b           andi    r24, 0xB9       ; 185
    1d94:       98 20           and     r9, r8
    1d96:       01 6a           ori     r16, 0xA1       ; 161
    1d98:       b3 64           ori     r27, 0x43       ; 67
    1d9a:       f8 98           cbi     0x1f, 0 ; 31
    1d9c:       35 a7           std     Z+45, r19       ; 0x2d
    1d9e:       14 f6           brge    .-124           ; 0x1d24 <__stack+0xc25>
    1da0:       b1 fd           sbrc    r27, 1
    1da2:       d3 d7           rcall   .+4006          ; 0x2d4a <__stack+0x1c4b>
    1da4:       98 42           sbci    r25, 0x28       ; 40
    1da6:       2f d9           rcall   .-3490          ; 0x1006 <fpga+0xe3a>
    1da8:       04 e4           ldi     r16, 0x44       ; 68
    1daa:       fe 40           sbci    r31, 0x0E       ; 14
    1dac:       fc 6d           ori     r31, 0xDC       ; 220
    1dae:       1a 09           sbc     r17, r10
    1db0:       08 69           ori     r16, 0x98       ; 152
    1db2:       11 cb           rjmp    .-2526          ; 0x13d6 <__stack+0x2d7>
    1db4:       e1 90           ld      r14, Z+
    1db6:       e5 16           cp      r14, r21
    1db8:       f2 98           cbi     0x1e, 2 ; 30
    1dba:       5c fc           .word   0xfc5c  ; ????
    1dbc:       2d f7           brhc    .-54            ; 0x1d88 <__stack+0xc89>
    1dbe:       bd 84           ldd     r11, Y+13       ; 0x0d
    1dc0:       f3 0a           sbc     r15, r19
    1dc2:       c6 02           muls    r28, r22
    1dc4:       21 7f           andi    r18, 0xF1       ; 241
    1dc6:       59 fe           .word   0xfe59  ; ????
    1dc8:       46 8a           std     Z+22, r4        ; 0x16
    1dca:       df 9d           mul     r29, r15
    1dcc:       63 25           eor     r22, r3
    1dce:       ff f6           brid    .-66            ; 0x1d8e <__stack+0xc8f>
    1dd0:       46 e6           ldi     r20, 0x66       ; 102
    1dd2:       a8 cd           rjmp    .-1200          ; 0x1924 <__stack+0x825>
    1dd4:       d4 01           movw    r26, r8
    1dd6:       40 1b           sub     r20, r16
    1dd8:       ea 72           andi    r30, 0x2A       ; 42
    1dda:       30 10           cpse    r3, r0
    1ddc:       5f 30           cpi     r21, 0x0F       ; 15
    1dde:       e7 ed           ldi     r30, 0xD7       ; 215
    1de0:       fc 9f           mul     r31, r28
    1de2:       07 7a           andi    r16, 0xA7       ; 167
    1de4:       98 c4           rjmp    .+2352          ; 0x2716 <__stack+0x1617>
    1de6:       4d a7           std     Y+45, r20       ; 0x2d
    1de8:       fa 60           ori     r31, 0x0A       ; 10
    1dea:       8c f9           .word   0xf98c  ; ????
    1dec:       98 2c           mov     r9, r8
    1dee:       19 0f           add     r17, r25
    1df0:       8c da           rcall   .-2792          ; 0x130a <__stack+0x20b>
    1df2:       c8 61           ori     r28, 0x18       ; 24
    1df4:       f7 b1           in      r31, 0x07       ; 7
    1df6:       fc 04           cpc     r15, r12
    1df8:       36 b6           in      r3, 0x36        ; 54
    1dfa:       02 99           sbic    0x00, 2 ; 0
    1dfc:       c8 79           andi    r28, 0x98       ; 152
    1dfe:       c5 fb           bst     r28, 5
    1e00:       9c 8e           std     Y+28, r9        ; 0x1c
    1e02:       40 9b           sbis    0x08, 0 ; 8
    1e04:       f7 4c           sbci    r31, 0xC7       ; 199
    1e06:       84 19           sub     r24, r4
    1e08:       f5 98           cbi     0x1e, 5 ; 30
    1e0a:       90 69           ori     r25, 0x90       ; 144
    1e0c:       c1 93           st      Z+, r28
    1e0e:       eb d7           rcall   .+4054          ; 0x2de6 <__stack+0x1ce7>
    1e10:       08 f9           .word   0xf908  ; ????
    1e12:       30 da           rcall   .-2976          ; 0x1274 <__stack+0x175>
    1e14:       45 b3           in      r20, 0x15       ; 21
    1e16:       d8 c0           rjmp    .+432           ; 0x1fc8 <__stack+0xec9>
    1e18:       c0 b0           in      r12, 0x00       ; 0
    1e1a:       01 74           andi    r16, 0x41       ; 65
    1e1c:       13 60           ori     r17, 0x03       ; 3
    1e1e:       ad 37           cpi     r26, 0x7D       ; 125
    1e20:       a6 20           and     r10, r6
    1e22:       78 98           cbi     0x0f, 0 ; 15
    1e24:       38 0b           sbc     r19, r24
    1e26:       b0 14           cp      r11, r0
    1e28:       f2 42           sbci    r31, 0x22       ; 34
    1e2a:       01 99           sbic    0x00, 1 ; 0
    1e2c:       c5 bd           out     0x25, r28       ; 37
    1e2e:       98 03           fmulsu  r17, r16
    1e30:       46 2b           or      r20, r22
    1e32:       46 49           sbci    r20, 0x96       ; 150
    1e34:       c8 d0           rcall   .+400           ; 0x1fc6 <__stack+0xec7>
    1e36:       30 6b           ori     r19, 0xB0       ; 176
    1e38:       9f c8           rjmp    .-3778          ; 0xf78 <fpga+0xdac>
    1e3a:       3c 90           ld      r3, X
    1e3c:       07 f2           brie    .-128           ; 0x1dbe <__stack+0xcbf>
    1e3e:       09 dc           rcall   .-2030          ; 0x1652 <__stack+0x553>
    1e40:       30 64           ori     r19, 0x40       ; 64
    1e42:       f9 98           cbi     0x1f, 1 ; 31
    1e44:       3e f3           brts    .-50            ; 0x1e14 <__stack+0xd15>
    1e46:       0f 20           and     r0, r15
    1e48:       01 3c           cpi     r16, 0xC1       ; 193
    1e4a:       08 c6           rjmp    .+3088          ; 0x2a5c <__stack+0x195d>
    1e4c:       7d 98           cbi     0x0f, 5 ; 15
    1e4e:       03 77           andi    r16, 0x73       ; 115
    1e50:       ed 51           subi    r30, 0x1D       ; 29
    1e52:       05 fc           sbrc    r0, 5
    1e54:       98 ff           .word   0xff98  ; ????
    1e56:       2c 4b           sbci    r18, 0xBC       ; 188
    1e58:       da 48           sbci    r29, 0x8A       ; 138
    1e5a:       10 6a           ori     r17, 0xA0       ; 160
    1e5c:       15 60           ori     r17, 0x05       ; 5
    1e5e:       cc f6           brge    .-78            ; 0x1e12 <__stack+0xd13>
    1e60:       98 0c           add     r9, r8
    1e62:       42 c6           rjmp    .+3204          ; 0x2ae8 <__stack+0x19e9>
    1e64:       7c 98           cbi     0x0f, 4 ; 15
    1e66:       03 63           ori     r16, 0x33       ; 51
    1e68:       66 29           or      r22, r6
    1e6a:       4f b1           in      r20, 0x0f       ; 15
    1e6c:       ad fc           .word   0xfcad  ; ????
    1e6e:       01 5e           subi    r16, 0xE1       ; 225
    1e70:       46 69           ori     r20, 0x96       ; 150
    1e72:       96 88           ldd     r9, Z+22        ; 0x16
    1e74:       57 a3           std     Z+39, r21       ; 0x27
    1e76:       98 40           sbci    r25, 0x08       ; 8
    1e78:       d8 0c           add     r13, r8
    1e7a:       9f 80           ldd     r9, Y+7 ; 0x07
    1e7c:       98 6f           ori     r25, 0xF8       ; 248
    1e7e:       e6 98           cbi     0x1c, 6 ; 28
    1e80:       ff 2e           mov     r15, r31
    1e82:       59 c8           rjmp    .-3918          ; 0xf36 <fpga+0xd6a>
    1e84:       bf 10           cpse    r11, r15
    1e86:       f7 7f           andi    r31, 0xF7       ; 247
    1e88:       b8 7b           andi    r27, 0xB8       ; 184
    1e8a:       98 84           ldd     r9, Y+8 ; 0x08
    1e8c:       40 b9           out     0x00, r20       ; 0
    1e8e:       10 ed           ldi     r17, 0xD0       ; 208
    1e90:       02 84           ldd     r0, Z+10        ; 0x0a
    1e92:       44 d7           rcall   .+3720          ; 0x2d1c <__stack+0x1c1d>
    1e94:       5b ae           std     Y+59, r5        ; 0x3b
    1e96:       02 11           cpse    r16, r2
    1e98:       b8 01           movw    r22, r16
    1e9a:       15 91           lpm     r17, Z+
    1e9c:       88 ff           .word   0xff88  ; ????
    1e9e:       7f 04           cpc     r7, r15
    1ea0:       01 65           ori     r16, 0x51       ; 81
    1ea2:       e5 c8           rjmp    .-3638          ; 0x106e <fpga+0xea2>
    1ea4:       e4 f3           brlt    .-8             ; 0x1e9e <__stack+0xd9f>
    1ea6:       d4 7b           andi    r29, 0xB4       ; 180
    1ea8:       f3 fc           sbrc    r15, 3
    1eaa:       f8 79           andi    r31, 0x98       ; 152
    1eac:       5c 9a           sbi     0x0b, 4 ; 11
    1eae:       ca 45           sbci    r28, 0x5A       ; 90
    1eb0:       a4 c5           rjmp    .+2888          ; 0x29fa <__stack+0x18fb>
    1eb2:       c8 a1           ldd     r28, Y+32       ; 0x20
    1eb4:       10 18           sub     r1, r0
    1eb6:       99 19           sub     r25, r9
    1eb8:       9e ff           .word   0xff9e  ; ????
    1eba:       2f 73           andi    r18, 0x3F       ; 63
    1ebc:       ee 65           ori     r30, 0x5E       ; 94
    1ebe:       c8 fa           .word   0xfac8  ; ????
    1ec0:       f1 91           ld      r31, Z+ ; undefined
    1ec2:       f1 64           ori     r31, 0x41       ; 65
    1ec4:       fa 98           cbi     0x1f, 2 ; 31
    1ec6:       30 b2           in      r3, 0x10        ; 16
    1ec8:       c8 ee           ldi     r28, 0xE8       ; 232
    1eca:       76 30           cpi     r23, 0x06       ; 6
    1ecc:       60 41           sbci    r22, 0x10       ; 16
    1ece:       30 21           and     r19, r0
    1ed0:       bd e3           ldi     r27, 0x3D       ; 61
    1ed2:       2c 10           cpse    r2, r12
    1ed4:       a1 19           sub     r26, r1
    1ed6:       b9 16           cp      r11, r25
    1ed8:       f9 8e           std     Y+25, r15       ; 0x19
    1eda:       68 f7           brcc    .-38            ; 0x1eb6 <__stack+0xdb7>
    1edc:       d3 c9           rjmp    .-3162          ; 0x1284 <__stack+0x185>
    1ede:       fa 78           andi    r31, 0x8A       ; 138
    1ee0:       20 22           and     r2, r16
    1ee2:       dc c8           rjmp    .-3656          ; 0x109c <fpga+0xed0>
    1ee4:       08 53           subi    r16, 0x38       ; 56
    1ee6:       64 28           or      r6, r4
    1ee8:       66 42           sbci    r22, 0x26       ; 38
    1eea:       f3 34           cpi     r31, 0x43       ; 67
    1eec:       88 45           sbci    r24, 0x58       ; 88
    1eee:       d6 77           andi    r29, 0x76       ; 118
    1ef0:       72 ff           sbrs    r23, 2
    1ef2:       b4 d1           rcall   .+872           ; 0x225c <__stack+0x115d>
    1ef4:       f9 88           ldd     r15, Y+17       ; 0x11
    1ef6:       65 86           std     Z+13, r6        ; 0x0d
    1ef8:       19 dc           rcall   .-1998          ; 0x172c <__stack+0x62d>
    1efa:       08 4c           sbci    r16, 0xC8       ; 200
    1efc:       24 bb           out     0x14, r18       ; 20
    1efe:       fa be           out     0x3a, r15       ; 58
    1f00:       b1 22           and     r11, r17
    1f02:       16 02           muls    r17, r22
    1f04:       24 0b           sbc     r18, r20
    1f06:       6f 2f           mov     r22, r31
    1f08:       98 af           std     Y+56, r25       ; 0x38
    1f0a:       72 dd           rcall   .-1308          ; 0x19f0 <__stack+0x8f1>
    1f0c:       c9 93           st      Y+, r28 ; undefined
    1f0e:       9b 79           andi    r25, 0x9B       ; 155
    1f10:       01 12           cpse    r0, r17
    1f12:       ed a6           std     Y+45, r14       ; 0x2d
    1f14:       09 bf           out     0x39, r16       ; 57
    1f16:       5b 17           cp      r21, r27
    1f18:       bb ed           ldi     r27, 0xDB       ; 219
    1f1a:       0b 01           movw    r0, r22
    1f1c:       20 4d           sbci    r18, 0xD0       ; 208
    1f1e:       af e3           ldi     r26, 0x3F       ; 63
    1f20:       fb 32           cpi     r31, 0x2B       ; 43
    1f22:       1c 80           ldd     r1, Y+4 ; 0x04
    1f24:       05 f0           brhs    .+0             ; 0x1f26 <__stack+0xe27>
    1f26:       23 de           rcall   .-954           ; 0x1b6e <__stack+0xa6f>
    1f28:       98 88           ldd     r9, Y+16        ; 0x10
    1f2a:       07 f1           brie    .+64            ; 0x1f6c <__stack+0xe6d>
    1f2c:       20 ec           ldi     r18, 0xC0       ; 192
    1f2e:       fe c8           rjmp    .-3588          ; 0x112c <__stack+0x2d>
    1f30:       10 0f           add     r17, r16
    1f32:       60 01           movw    r12, r0
    1f34:       3c 20           and     r3, r12
    1f36:       cf 5a           subi    r28, 0xAF       ; 175
    1f38:       b4 3c           cpi     r27, 0xC4       ; 196
    1f3a:       9d 73           andi    r25, 0x3D       ; 61
    1f3c:       d6 b1           in      r29, 0x06       ; 6
    1f3e:       c7 19           sub     r28, r7
    1f40:       65 9b           sbis    0x0c, 5 ; 12
    1f42:       c9 66           ori     r28, 0x69       ; 105
    1f44:       f0 66           ori     r31, 0x60       ; 96
    1f46:       5f 99           sbic    0x0b, 7 ; 11
    1f48:       c4 06           cpc     r12, r20
    1f4a:       c2 65           ori     r28, 0x52       ; 82
    1f4c:       f9 e5           ldi     r31, 0x59       ; 89
    1f4e:       e2 f3           brmi    .-8             ; 0x1f48 <__stack+0xe49>
    1f50:       ce ce           rjmp    .-612           ; 0x1cee <__stack+0xbef>
    1f52:       3c 1b           sub     r19, r28
    1f54:       e0 c4           rjmp    .+2496          ; 0x2916 <__stack+0x1817>
    1f56:       7f 7f           andi    r23, 0xFF       ; 255
    1f58:       80 47           sbci    r24, 0x70       ; 112
    1f5a:       59 35           cpi     r21, 0x59       ; 89
    1f5c:       b3 33           cpi     r27, 0x33       ; 51
    1f5e:       fe f4           brtc    .+62            ; 0x1f9e <__stack+0xe9f>
    1f60:       de c0           rjmp    .+444           ; 0x211e <__stack+0x101f>
    1f62:       b3 04           cpc     r11, r3
    1f64:       3d 4b           sbci    r19, 0xBD       ; 189
    1f66:       10 4f           sbci    r17, 0xF0       ; 240
    1f68:       f3 8c           ldd     r15, Z+27       ; 0x1b
    1f6a:       08 01           movw    r0, r16
    1f6c:       b0 62           ori     r27, 0x20       ; 32
    1f6e:       1f 7f           andi    r17, 0xFF       ; 255
    1f70:       b7 b0           in      r11, 0x07       ; 7
    1f72:       ed 17           cp      r30, r29
    1f74:       20 91 ee fd     lds     r18, 0xFDEE
    1f78:       60 12           cpse    r6, r16
    1f7a:       4c e5           ldi     r20, 0x5C       ; 92
    1f7c:       f9 48           sbci    r31, 0x89       ; 137
    1f7e:       33 b3           in      r19, 0x13       ; 19
    1f80:       24 c0           rjmp    .+72            ; 0x1fca <__stack+0xecb>
    1f82:       a5 08           sbc     r10, r5
    1f84:       7f 9b           sbis    0x0f, 7 ; 15
    1f86:       d1 7a           andi    r29, 0xA1       ; 161
    1f88:       98 1a           sub     r9, r24
    1f8a:       f1 f3           breq    .-4             ; 0x1f88 <__stack+0xe89>
    1f8c:       67 d8           rcall   .-3890          ; 0x105c <fpga+0xe90>
    1f8e:       34 09           sbc     r19, r4
    1f90:       97 19           sub     r25, r7
    1f92:       30 fe           sbrs    r3, 0
    1f94:       98 a5           ldd     r25, Y+40       ; 0x28
    1f96:       08 d4           rcall   .+2064          ; 0x27a8 <__stack+0x16a9>
    1f98:       20 fe           sbrs    r2, 0
    1f9a:       97 47           sbci    r25, 0x77       ; 119
    1f9c:       66 19           sub     r22, r6
    1f9e:       ef c6           rjmp    .+3550          ; 0x2d7e <__stack+0x1c7f>
    1fa0:       cd 15           cp      r28, r13
    1fa2:       11 ff           sbrs    r17, 1
    1fa4:       19 a7           std     Y+41, r17       ; 0x29
    1fa6:       28 b5           in      r18, 0x28       ; 40
    1fa8:       fa 50           subi    r31, 0x0A       ; 10
    1faa:       e0 23           and     r30, r16
    1fac:       28 23           and     r18, r24
    1fae:       df cf           rjmp    .-66            ; 0x1f6e <__stack+0xe6f>
    1fb0:       98 cd           rjmp    .-1232          ; 0x1ae2 <__stack+0x9e3>
    1fb2:       c8 02           muls    r28, r24
    1fb4:       18 99           sbic    0x03, 0 ; 3
    1fb6:       97 99           sbic    0x12, 7 ; 18
    1fb8:       5e fe           .word   0xfe5e  ; ????
    1fba:       98 6e           ori     r25, 0xE8       ; 232
    1fbc:       5c bb           out     0x1c, r21       ; 28
    1fbe:       38 97           sbiw    r30, 0x08       ; 8
    1fc0:       30 11           cpse    r19, r0
    1fc2:       f5 fe           sbrs    r15, 5
    1fc4:       19 27           eor     r17, r25
    1fc6:       39 ed           ldi     r19, 0xD9       ; 217
    1fc8:       44 46           sbci    r20, 0x64       ; 100
    1fca:       8d 63           ori     r24, 0x3D       ; 61
    1fcc:       46 73           andi    r20, 0x36       ; 54
    1fce:       e5 19           sub     r30, r5
    1fd0:       dd 64           ori     r29, 0x4D       ; 77
    1fd2:       22 4c           sbci    r18, 0xC2       ; 194
    1fd4:       ff 32           cpi     r31, 0x2F       ; 47
    1fd6:       84 fd           sbrc    r24, 4
    1fd8:       ed 2f           mov     r30, r29
    1fda:       dc af           std     Y+60, r29       ; 0x3c
    1fdc:       32 2e           mov     r3, r18
    1fde:       a5 2d           mov     r26, r5
    1fe0:       08 e2           ldi     r16, 0x28       ; 40
    1fe2:       d6 26           eor     r13, r22
    1fe4:       c0 9c           mul     r12, r0
    1fe6:       19 8b           std     Y+17, r17       ; 0x11
    1fe8:       60 52           subi    r22, 0x20       ; 32
    1fea:       e0 8c           ldd     r14, Z+24       ; 0x18
    1fec:       a0 67           ori     r26, 0x70       ; 112
    1fee:       b6 17           cp      r27, r22
    1ff0:       8c ea           ldi     r24, 0xAC       ; 172
    1ff2:       ed 23           and     r30, r29
    1ff4:       ce 30           cpi     r28, 0x0E       ; 14
    1ff6:       81 21           and     r24, r1
    1ff8:       ba 17           cp      r27, r26
    1ffa:       ee 77           andi    r30, 0x7E       ; 126
    1ffc:       30 a0           ldd     r3, Z+32        ; 0x20
    1ffe:       03 f0           brvs    .+0             ; 0x2000 <__stack+0xf01>
    2000:       f9 d2           rcall   .+1522          ; 0x25f4 <__stack+0x14f5>
    2002:       91 e4           ldi     r25, 0x41       ; 65
    2004:       98 f3           brcs    .-26            ; 0x1fec <__stack+0xeed>
    2006:       ae 10           cpse    r10, r14
    2008:       31 5d           subi    r19, 0xD1       ; 209
    200a:       2c d8           rcall   .-4008          ; 0x1064 <fpga+0xe98>
    200c:       c8 10           cpse    r12, r8
    200e:       97 8d           ldd     r25, Z+31       ; 0x1f
    2010:       98 d3           rcall   .+1840          ; 0x2742 <__stack+0x1643>
    2012:       e0 02           muls    r30, r16
    2014:       9b bb           out     0x1b, r25       ; 27
    2016:       ff 9b           sbis    0x1f, 7 ; 31
    2018:       30 04           cpc     r3, r0
    201a:       c0 12           cpse    r12, r16
    201c:       e0 30           cpi     r30, 0x00       ; 0
    201e:       2c 43           sbci    r18, 0x3C       ; 60
    2020:       8c 7d           andi    r24, 0xDC       ; 220
    2022:       4c ed           ldi     r20, 0xDC       ; 220
    2024:       f5 d3           rcall   .+2026          ; 0x2810 <__stack+0x1711>
    2026:       88 01           movw    r16, r16
    2028:       b3 a0           ldd     r11, Z+35       ; 0x23
    202a:       f9 e0           ldi     r31, 0x09       ; 9
    202c:       1b 12           cpse    r1, r27
    202e:       c4 31           cpi     r28, 0x14       ; 20
    2030:       b3 90           .word   0x90b3  ; ????
    2032:       bc 08           sbc     r11, r12
    2034:       b3 b4           in      r11, 0x23       ; 35
    2036:       aa c4           rjmp    .+2388          ; 0x298c <__stack+0x188d>
    2038:       16 b3           in      r17, 0x16       ; 22
    203a:       09 21           and     r16, r9
    203c:       ef 98           cbi     0x1d, 7 ; 29
    203e:       a3 60           ori     r26, 0x03       ; 3
    2040:       11 8c           ldd     r1, Z+25        ; 0x19
    2042:       76 c4           rjmp    .+2284          ; 0x2930 <__stack+0x1831>
    2044:       48 b7           in      r20, 0x38       ; 56
    2046:       f9 c9           rjmp    .-3086          ; 0x143a <__stack+0x33b>
    2048:       c8 45           sbci    r28, 0x58       ; 88
    204a:       b7 21           and     r27, r7
    204c:       f1 98           cbi     0x1e, 1 ; 30
    204e:       d6 98           cbi     0x1a, 6 ; 26
    2050:       6a e3           ldi     r22, 0x3A       ; 58
    2052:       a1 ac           ldd     r10, Z+57       ; 0x39
    2054:       5b 2c           mov     r5, r11
    2056:       c8 fe           .word   0xfec8  ; ????
    2058:       01 30           cpi     r16, 0x01       ; 1
    205a:       0d 44           sbci    r16, 0x4D       ; 77
    205c:       89 19           sub     r24, r9
    205e:       62 99           sbic    0x0c, 2 ; 12
    2060:       e2 71           andi    r30, 0x12       ; 18
    2062:       fd 18           sub     r15, r13
    2064:       93 5a           subi    r25, 0xA3       ; 163
    2066:       ff a3           std     Y+39, r31       ; 0x27
    2068:       fe 46           sbci    r31, 0x6E       ; 110
    206a:       10 f0           brcs    .+4             ; 0x2070 <__stack+0xf71>
    206c:       98 6b           ori     r25, 0xB8       ; 184
    206e:       d2 83           std     Z+2, r29        ; 0x02
    2070:       02 f6           brpl    .-128           ; 0x1ff2 <__stack+0xef3>
    2072:       c4 7e           andi    r28, 0xE4       ; 228
    2074:       33 8c           ldd     r3, Z+27        ; 0x1b
    2076:       03 fe           sbrs    r0, 3
    2078:       36 30           cpi     r19, 0x06       ; 6
    207a:       69 f7           brne    .-38            ; 0x2056 <__stack+0xf57>
    207c:       f8 ff           .word   0xfff8  ; ????
    207e:       48 0a           sbc     r4, r24
    2080:       d9 a6           std     Y+41, r13       ; 0x29
    2082:       10 bb           out     0x10, r17       ; 16
    2084:       bc bb           out     0x1c, r27       ; 28
    2086:       48 65           ori     r20, 0x58       ; 88
    2088:       49 b3           in      r20, 0x19       ; 25
    208a:       b9 1a           sub     r11, r25
    208c:       e7 e0           ldi     r30, 0x07       ; 7
    208e:       ad dd           rcall   .-1190          ; 0x1bea <__stack+0xaeb>
    2090:       04 4c           sbci    r16, 0xC4       ; 196
    2092:       25 91           lpm     r18, Z+
    2094:       19 3d           cpi     r17, 0xD9       ; 217
    2096:       de 60           ori     r29, 0x0E       ; 14
    2098:       22 de           rcall   .-956           ; 0x1cde <__stack+0xbdf>
    209a:       af 88           ldd     r10, Y+23       ; 0x17
    209c:       7a 98           cbi     0x0f, 2 ; 15
    209e:       b0 08           sbc     r11, r0
    20a0:       40 c0           rjmp    .+128           ; 0x2122 <__stack+0x1023>
    20a2:       62 e5           ldi     r22, 0x52       ; 82
    20a4:       8b 60           ori     r24, 0x0B       ; 11
    20a6:       3f bd           out     0x2f, r19       ; 47
    20a8:       37 16           cp      r3, r23
    20aa:       c0 24           eor     r12, r0
    20ac:       70 30           cpi     r23, 0x00       ; 0
    20ae:       1c 12           cpse    r1, r28
    20b0:       8c 2c           mov     r8, r12
    20b2:       91 b0           in      r9, 0x01        ; 1
    20b4:       b3 61           ori     r27, 0x13       ; 19
    20b6:       7c 1b           sub     r23, r28
    20b8:       6d 3c           cpi     r22, 0xCD       ; 205
    20ba:       06 96           adiw    r24, 0x06       ; 6
    20bc:       66 2c           mov     r6, r6
    20be:       4f e6           ldi     r20, 0x6F       ; 111
    20c0:       eb 04           cpc     r14, r11
    20c2:       2f 05           cpc     r18, r15
    20c4:       77 d5           rcall   .+2798          ; 0x2bb4 <__stack+0x1ab5>
    20c6:       70 fb           bst     r23, 0
    20c8:       e6 d5           rcall   .+3020          ; 0x2c96 <__stack+0x1b97>
    20ca:       f1 ff           sbrs    r31, 1
    20cc:       5a d2           rcall   .+1204          ; 0x2582 <__stack+0x1483>
    20ce:       20 f8           bld     r2, 0
    20d0:       98 1d           adc     r25, r8
    20d2:       1e d0           rcall   .+60            ; 0x2110 <__stack+0x1011>
    20d4:       dc 5d           subi    r29, 0xDC       ; 220
    20d6:       ac e2           ldi     r26, 0x2C       ; 44
    20d8:       b4 c8           rjmp    .-3736          ; 0x1242 <__stack+0x143>
    20da:       2d 77           andi    r18, 0x7D       ; 125
    20dc:       35 9d           mul     r19, r5
    20de:       31 66           ori     r19, 0x61       ; 97
    20e0:       3e 79           andi    r19, 0x9E       ; 158
    20e2:       30 80           ld      r3, Z
    20e4:       78 10           cpse    r7, r8
    20e6:       03 d3           rcall   .+1542          ; 0x26ee <__stack+0x15ef>
    20e8:       77 57           subi    r23, 0x77       ; 119
    20ea:       fe 81           ldd     r31, Y+6        ; 0x06
    20ec:       98 62           ori     r25, 0x28       ; 40
    20ee:       99 c8           rjmp    .-3790          ; 0x1222 <__stack+0x123>
    20f0:       4b f3           brvs    .-46            ; 0x20c4 <__stack+0xfc5>
    20f2:       80 55           subi    r24, 0x50       ; 80
    20f4:       b3 50           subi    r27, 0x03       ; 3
    20f6:       b9 b3           in      r27, 0x19       ; 25
    20f8:       89 a6           std     Y+41, r8        ; 0x29
    20fa:       ff 61           ori     r31, 0x1F       ; 31
    20fc:       d3 84           ldd     r13, Z+11       ; 0x0b
    20fe:       e5 44           sbci    r30, 0x45       ; 69
    2100:       fa 36           cpi     r31, 0x6A       ; 106
    2102:       cd 05           cpc     r28, r13
    2104:       16 23           and     r17, r22
    2106:       99 c8           rjmp    .-3790          ; 0x123a <__stack+0x13b>
    2108:       22 b3           in      r18, 0x12       ; 18
    210a:       96 28           or      r9, r6
    210c:       f3 a2           std     Z+35, r15       ; 0x23
    210e:       b3 11           cpse    r27, r3
    2110:       df f6           brid    .-74            ; 0x20c8 <__stack+0xfc9>
    2112:       e0 10           cpse    r14, r0
    2114:       7f 92           push    r7
    2116:       98 c6           rjmp    .+3376          ; 0x2e48 <__stack+0x1d49>
    2118:       12 ff           sbrs    r17, 2
    211a:       6c 98           cbi     0x0d, 4 ; 13
    211c:       d8 fc           .word   0xfcd8  ; ????
    211e:       6f ec           ldi     r22, 0xCF       ; 207
    2120:       14 b3           in      r17, 0x14       ; 20
    2122:       b3 1f           adc     r27, r19
    2124:       77 ff           sbrs    r23, 7
    2126:       bc ff           .word   0xffbc  ; ????
    2128:       20 f8           bld     r2, 0
    212a:       59 bf           out     0x39, r21       ; 57
    212c:       d2 6c           ori     r29, 0xC2       ; 194
    212e:       f1 e3           ldi     r31, 0x31       ; 49
    2130:       f3 38           cpi     r31, 0x83       ; 131
    2132:       d1 c6           rjmp    .+3490          ; 0x2ed6 <__stack+0x1dd7>
    2134:       d5 d3           rcall   .+1962          ; 0x28e0 <__stack+0x17e1>
    2136:       80 e6           ldi     r24, 0x60       ; 96
    2138:       4b 09           sbc     r20, r11
    213a:       0d ff           .word   0xff0d  ; ????
    213c:       89 fe           .word   0xfe89  ; ????
    213e:       82 40           sbci    r24, 0x02       ; 2
    2140:       66 1d           adc     r22, r6
    2142:       ba fd           .word   0xfdba  ; ????
    2144:       82 48           sbci    r24, 0x82       ; 130
    2146:       66 bc           out     0x26, r6        ; 38
    2148:       b3 a0           ldd     r11, Z+35       ; 0x23
    214a:       dc 86           std     Y+12, r13       ; 0x0c
    214c:       c7 7e           andi    r28, 0xE7       ; 231
    214e:       91 8f           std     Z+25, r25       ; 0x19
    2150:       e0 3f           cpi     r30, 0xF0       ; 240
    2152:       73 cf           rjmp    .-282           ; 0x203a <__stack+0xf3b>
    2154:       db 3c           cpi     r29, 0xCB       ; 203
    2156:       46 f3           brts    .-48            ; 0x2128 <__stack+0x1029>
    2158:       0b 53           subi    r16, 0x3B       ; 59
    215a:       39 4f           sbci    r19, 0xF9       ; 249
    215c:       b7 cc           rjmp    .-1682          ; 0x1acc <__stack+0x9cd>
    215e:       00 51           subi    r16, 0x10       ; 16
    2160:       d0 a4           ldd     r13, Z+40       ; 0x28
    2162:       dc 44           sbci    r29, 0x4C       ; 76
    2164:       dc ff           .word   0xffdc  ; ????
    2166:       cf 35           cpi     r28, 0x5F       ; 95
    2168:       91 d3           rcall   .+1826          ; 0x288c <__stack+0x178d>
    216a:       34 cd           rjmp    .-1432          ; 0x1bd4 <__stack+0xad5>
    216c:       f3 75           andi    r31, 0x53       ; 83
    216e:       71 6b           ori     r23, 0xB1       ; 177
    2170:       b0 f8           bld     r11, 0
    2172:       49 fd           .word   0xfd49  ; ????
    2174:       cc 98           cbi     0x19, 4 ; 25
    2176:       a2 66           ori     r26, 0x62       ; 98
    2178:       40 c9           rjmp    .-3456          ; 0x13fa <__stack+0x2fb>
    217a:       37 49           sbci    r19, 0x97       ; 151
    217c:       e8 74           andi    r30, 0x48       ; 72
    217e:       8c 57           subi    r24, 0x7C       ; 124
    2180:       8c 62           ori     r24, 0x2C       ; 44
    2182:       f5 ff           sbrs    r31, 5
    2184:       02 e5           ldi     r16, 0x52       ; 82
    2186:       d6 db           rcall   .-2132          ; 0x1934 <__stack+0x835>
    2188:       64 fc           sbrc    r6, 4
    218a:       43 c5           rjmp    .+2694          ; 0x2c12 <__stack+0x1b13>
    218c:       04 36           cpi     r16, 0x64       ; 100
    218e:       ff 98           cbi     0x1f, 7 ; 31
    2190:       fe fd           .word   0xfdfe  ; ????
    2192:       b0 a4           ldd     r11, Z+40       ; 0x28
    2194:       44 58           subi    r20, 0x84       ; 132
    2196:       ff 58           subi    r31, 0x8F       ; 143
    2198:       25 7a           andi    r18, 0xA5       ; 165
    219a:       4b 98           cbi     0x09, 3 ; 9
    219c:       c4 d7           rcall   .+3976          ; 0x3126 <__stack+0x2027>
    219e:       b3 40           sbci    r27, 0x03       ; 3
    21a0:       6d e0           ldi     r22, 0x0D       ; 13
    21a2:       86 0c           add     r8, r6
    21a4:       b3 d0           rcall   .+358           ; 0x230c <__stack+0x120d>
    21a6:       fb 07           cpc     r31, r27
    21a8:       fd 6f           ori     r31, 0xFD       ; 253
    21aa:       85 06           cpc     r8, r21
    21ac:       ce 23           and     r28, r30
    21ae:       e2 d1           rcall   .+964           ; 0x2574 <__stack+0x1475>
    21b0:       c0 d5           rcall   .+2944          ; 0x2d32 <__stack+0x1c33>
    21b2:       66 f8           bld     r6, 6
    21b4:       2c fc           .word   0xfc2c  ; ????
    21b6:       59 64           ori     r21, 0x49       ; 73
    21b8:       04 61           ori     r16, 0x14       ; 20
    21ba:       17 ec           ldi     r17, 0xC7       ; 199
    21bc:       68 01           movw    r12, r16
    21be:       a5 19           sub     r26, r5
    21c0:       fb b0           in      r15, 0x0b       ; 11
    21c2:       c4 d1           rcall   .+904           ; 0x254c <__stack+0x144d>
    21c4:       c5 20           and     r12, r5
    21c6:       9d fe           .word   0xfe9d  ; ????
    21c8:       3f 6a           ori     r19, 0xAF       ; 175
    21ca:       fb b1           in      r31, 0x0b       ; 11
    21cc:       82 1d           adc     r24, r2
    21ce:       d1 f3           breq    .-12            ; 0x21c4 <__stack+0x10c5>
    21d0:       40 38           cpi     r20, 0x80       ; 128
    21d2:       11 e9           ldi     r17, 0x91       ; 145
    21d4:       e0 bf           out     0x30, r30       ; 48
    21d6:       87 d5           rcall   .+2830          ; 0x2ce6 <__stack+0x1be7>
    21d8:       da 04           cpc     r13, r10
    21da:       02 ad           ldd     r16, Z+58       ; 0x3a
    21dc:       51 68           ori     r21, 0x81       ; 129
    21de:       14 66           ori     r17, 0x64       ; 100
    21e0:       50 fd           sbrc    r21, 0
    21e2:       2c dd           rcall   .-1448          ; 0x1c3c <__stack+0xb3d>
    21e4:       9f 57           subi    r25, 0x7F       ; 127
    21e6:       2a 80           ldd     r2, Y+2 ; 0x02
    21e8:       36 02           muls    r19, r22
    21ea:       6c 05           cpc     r22, r12
    21ec:       22 2c           mov     r2, r2
    21ee:       2b 8d           ldd     r18, Y+27       ; 0x1b
    21f0:       3b fd           .word   0xfd3b  ; ????
    21f2:       02 03           mulsu   r16, r18
    21f4:       62 26           eor     r6, r18
    21f6:       d0 3c           cpi     r29, 0xC0       ; 192
    21f8:       d6 50           subi    r29, 0x06       ; 6
    21fa:       85 37           cpi     r24, 0x75       ; 117
    21fc:       ba 49           sbci    r27, 0x9A       ; 154
    21fe:       f9 f9           .word   0xf9f9  ; ????
    2200:       fa 99           sbic    0x1f, 2 ; 31
    2202:       b4 90           lpm     r11, Z+
    2204:       cd 09           sbc     r28, r13
    2206:       11 1f           adc     r17, r17
    2208:       f3 e9           ldi     r31, 0x93       ; 147
    220a:       68 03           fmul    r22, r16
    220c:       d4 46           sbci    r29, 0x64       ; 100
    220e:       f5 22           and     r15, r21
    2210:       19 b5           in      r17, 0x29       ; 41
    2212:       08 51           subi    r16, 0x18       ; 24
    2214:       60 42           sbci    r22, 0x20       ; 32
    2216:       f5 aa           std     Z+53, r15       ; 0x35
    2218:       e1 80           ldd     r14, Z+1        ; 0x01
    221a:       c8 6c           ori     r28, 0xC8       ; 200
    221c:       19 fa           .word   0xfa19  ; ????
    221e:       0a 12           cpse    r0, r26
    2220:       3d e5           ldi     r19, 0x5D       ; 93
    2222:       b0 a3           std     Z+32, r27       ; 0x20
    2224:       fd 7e           andi    r31, 0xED       ; 237
    2226:       fa b1           in      r31, 0x0a       ; 10
    2228:       c9 ed           ldi     r28, 0xD9       ; 217
    222a:       d2 20           and     r13, r2
    222c:       a7 d8           rcall   .-3762          ; 0x137c <__stack+0x27d>
    222e:       84 d7           rcall   .+3848          ; 0x3138 <__stack+0x2039>
    2230:       ab 34           cpi     r26, 0x4B       ; 75
    2232:       81 f6           brne    .-96            ; 0x21d4 <__stack+0x10d5>
    2234:       f2 08           sbc     r15, r2
    2236:       7a b3           in      r23, 0x1a       ; 26
    2238:       fb c4           rjmp    .+2550          ; 0x2c30 <__stack+0x1b31>
    223a:       ff 0a           sbc     r15, r31
    223c:       20 6d           ori     r18, 0xD0       ; 208
    223e:       d6 56           subi    r29, 0x66       ; 102
    2240:       3e 72           andi    r19, 0x2E       ; 46
    2242:       6f f7           brid    .-38            ; 0x221e <__stack+0x111f>
    2244:       40 f9           bld     r20, 0
    2246:       e5 82           std     Z+5, r14        ; 0x05
    2248:       11 20           and     r1, r1
    224a:       1c 8c           ldd     r1, Y+28        ; 0x1c
    224c:       35 d8           rcall   .-3990          ; 0x12b8 <__stack+0x1b9>
    224e:       88 fe           .word   0xfe88  ; ????
    2250:       d7 6c           ori     r29, 0xC7       ; 199
    2252:       17 04           cpc     r1, r7
    2254:       2d ed           ldi     r18, 0xDD       ; 221
    2256:       b1 fa           bst     r11, 1
    2258:       87 06           cpc     r8, r23
    225a:       70 7f           andi    r23, 0xF0       ; 240
    225c:       f7 19           sub     r31, r7
    225e:       18 ff           .word   0xff18  ; ????
    2260:       99 f7           brne    .-26            ; 0x2248 <__stack+0x1149>
    2262:       e6 6d           ori     r30, 0xD6       ; 214
    2264:       41 ec           ldi     r20, 0xC1       ; 193
    2266:       85 3d           cpi     r24, 0xD5       ; 213
    2268:       fa a5           ldd     r31, Y+42       ; 0x2a
    226a:       50 66           ori     r21, 0x60       ; 96
    226c:       40 8b           std     Z+16, r20       ; 0x10
    226e:       6d 15           cp      r22, r13
    2270:       9e ff           .word   0xff9e  ; ????
    2272:       62 9f           mul     r22, r18
    2274:       1d 6e           ori     r17, 0xED       ; 237
    2276:       d3 0e           add     r13, r19
    2278:       f9 9d           mul     r31, r9
    227a:       fc 30           cpi     r31, 0x0C       ; 12
    227c:       0c 06           cpc     r0, r28
    227e:       93 a0           ldd     r9, Z+35        ; 0x23
    2280:       ba 18           sub     r11, r10
    2282:       6a 1b           sub     r22, r26
    2284:       5c 97           sbiw    r26, 0x1c       ; 28
    2286:       b1 f8           bld     r11, 1
    2288:       6e 30           cpi     r22, 0x0E       ; 14
    228a:       e3 cb           rjmp    .-2106          ; 0x1a52 <__stack+0x953>
    228c:       96 30           cpi     r25, 0x06       ; 6
    228e:       fd 09           sbc     r31, r13
    2290:       7b e3           ldi     r23, 0x3B       ; 59
    2292:       60 f4           brcc    .+24            ; 0x22ac <__stack+0x11ad>
    2294:       b3 b1           in      r27, 0x03       ; 3
    2296:       10 cd           rjmp    .-1504          ; 0x1cb8 <__stack+0xbb9>
    2298:       3c af           std     Y+60, r19       ; 0x3c
    229a:       dd df           rcall   .-70            ; 0x2256 <__stack+0x1157>
    229c:       af 61           ori     r26, 0x1F       ; 31
    229e:       c8 f5           brcc    .+114           ; 0x2312 <__stack+0x1213>
    22a0:       0d b2           in      r0, 0x1d        ; 29
    22a2:       f5 c2           rjmp    .+1514          ; 0x288e <__stack+0x178f>
    22a4:       34 a9           ldd     r19, Z+52       ; 0x34
    22a6:       80 b5           in      r24, 0x20       ; 32
    22a8:       d3 58           subi    r29, 0x83       ; 131
    22aa:       b3 f9           bld     r27, 3
    22ac:       9f d8           rcall   .-3778          ; 0x13ec <__stack+0x2ed>
    22ae:       63 68           ori     r22, 0x83       ; 131
    22b0:       19 b0           in      r1, 0x09        ; 9
    22b2:       18 46           sbci    r17, 0x68       ; 104
    22b4:       fd cc           rjmp    .-1542          ; 0x1cb0 <__stack+0xbb1>
    22b6:       20 82           st      Z, r2
    22b8:       cf ed           ldi     r28, 0xDF       ; 223
    22ba:       32 02           muls    r19, r18
    22bc:       4b 9e           mul     r4, r27
    22be:       ef ca           rjmp    .-2594          ; 0x189e <__stack+0x79f>
    22c0:       db 61           ori     r29, 0x1B       ; 27
    22c2:       fe e8           ldi     r31, 0x8E       ; 142
    22c4:       c2 b6           in      r12, 0x32       ; 50
    22c6:       b3 68           ori     r27, 0x83       ; 131
    22c8:       fc c5           rjmp    .+3064          ; 0x2ec2 <__stack+0x1dc3>
    22ca:       fb ce           rjmp    .-522           ; 0x20c2 <__stack+0xfc3>
    22cc:       10 61           ori     r17, 0x10       ; 16
    22ce:       7f 36           cpi     r23, 0x6F       ; 111
    22d0:       b7 48           sbci    r27, 0x87       ; 135
    22d2:       fe 08           sbc     r15, r14
    22d4:       4b 20           and     r4, r11
    22d6:       04 46           sbci    r16, 0x64       ; 100
    22d8:       9c d8           rcall   .-3784          ; 0x1412 <__stack+0x313>
    22da:       fb 03           fmulsu  r23, r19
    22dc:       0c bf           out     0x3c, r16       ; 60
    22de:       31 40           sbci    r19, 0x01       ; 1
    22e0:       67 1e           adc     r6, r23
    22e2:       f3 38           cpi     r31, 0x83       ; 131
    22e4:       d8 d0           rcall   .+432           ; 0x2496 <__stack+0x1397>
    22e6:       fa b2           in      r15, 0x1a       ; 26
    22e8:       d4 80           ldd     r13, Z+4        ; 0x04
    22ea:       c2 be           out     0x32, r12       ; 50
    22ec:       dc 5f           subi    r29, 0xFC       ; 252
    22ee:       02 65           ori     r16, 0x52       ; 82
    22f0:       d8 78           andi    r29, 0x88       ; 136
    22f2:       fb 9f           mul     r31, r27
    22f4:       18 31           cpi     r17, 0x18       ; 24
    22f6:       61 b6           in      r6, 0x31        ; 49
    22f8:       47 33           cpi     r20, 0x37       ; 55
    22fa:       fb cc           rjmp    .-1546          ; 0x1cf2 <__stack+0xbf3>
    22fc:       08 3c           cpi     r16, 0xC8       ; 200
    22fe:       34 03           mulsu   r19, r20
    2300:       08 79           andi    r16, 0x98       ; 152
    2302:       22 98           cbi     0x04, 2 ; 4
    2304:       b4 fb           bst     r27, 4
    2306:       d8 d4           rcall   .+2480          ; 0x2cb8 <__stack+0x1bb9>
    2308:       e0 bf           out     0x30, r30       ; 48
    230a:       cc ed           ldi     r28, 0xDC       ; 220
    230c:       8e bd           out     0x2e, r24       ; 46
    230e:       aa 92           st      -Y, r10
    2310:       40 61           ori     r20, 0x10       ; 16
    2312:       67 36           cpi     r22, 0x67       ; 103
    2314:       65 50           subi    r22, 0x05       ; 5
    2316:       f9 fe           .word   0xfef9  ; ????
    2318:       9b 5d           subi    r25, 0xDB       ; 219
    231a:       72 6d           ori     r23, 0xD2       ; 210
    231c:       b7 cb           rjmp    .-2194          ; 0x1a8c <__stack+0x98d>
    231e:       ec 4a           sbci    r30, 0xAC       ; 172
    2320:       b0 fb           bst     r27, 0
    2322:       bb 7b           andi    r27, 0xBB       ; 187
    2324:       46 e8           ldi     r20, 0x86       ; 134
    2326:       f9 28           or      r15, r9
    2328:       08 be           out     0x38, r0        ; 56
    232a:       b9 f3           breq    .-18            ; 0x231a <__stack+0x121b>
    232c:       82 0d           add     r24, r2
    232e:       7f c6           rjmp    .+3326          ; 0x302e <__stack+0x1f2f>
    2330:       c8 a4           ldd     r12, Y+40       ; 0x28
    2332:       fa c4           rjmp    .+2548          ; 0x2d28 <__stack+0x1c29>
    2334:       04 88           ldd     r0, Z+20        ; 0x14
    2336:       30 d4           rcall   .+2144          ; 0x2b98 <__stack+0x1a99>
    2338:       a3 7a           andi    r26, 0xA3       ; 163
    233a:       ae 08           sbc     r10, r14
    233c:       02 41           sbci    r16, 0x12       ; 18
    233e:       5c 68           ori     r21, 0x8C       ; 140
    2340:       80 52           subi    r24, 0x20       ; 32
    2342:       d8 40           sbci    r29, 0x08       ; 8
    2344:       10 d7           rcall   .+3616          ; 0x3166 <__stack+0x2067>
    2346:       f6 dc           rcall   .-1556          ; 0x1d34 <__stack+0xc35>
    2348:       04 02           muls    r16, r20
    234a:       bf 06           cpc     r11, r31
    234c:       5d d2           rcall   .+1210          ; 0x2808 <__stack+0x1709>
    234e:       bf 10           cpse    r11, r15
    2350:       58 c9           rjmp    .-3408          ; 0x1602 <__stack+0x503>
    2352:       e0 ff           sbrs    r30, 0
    2354:       3c 30           cpi     r19, 0x0C       ; 12
    2356:       04 20           and     r0, r4
    2358:       d1 bd           out     0x21, r29       ; 33
    235a:       80 eb           ldi     r24, 0xB0       ; 176
    235c:       e1 66           ori     r30, 0x61       ; 97
    235e:       a0 a0           ldd     r10, Z+32       ; 0x20
    2360:       60 14           cp      r6, r0
    2362:       54 3d           cpi     r21, 0xD4       ; 212
    2364:       08 0c           add     r0, r8
    2366:       d8 28           or      r13, r8
    2368:       05 d7           rcall   .+3594          ; 0x3174 <__stack+0x2075>
    236a:       f6 ce           rjmp    .-532           ; 0x2158 <__stack+0x1059>
    236c:       81 09           sbc     r24, r1
    236e:       a5 a0           ldd     r10, Z+37       ; 0x25
    2370:       f1 99           sbic    0x1e, 1 ; 30
    2372:       5e e6           ldi     r21, 0x6E       ; 110
    2374:       a7 48           sbci    r26, 0x87       ; 135
    2376:       66 14           cp      r6, r6
    2378:       84 42           sbci    r24, 0x24       ; 36
    237a:       a6 ca           rjmp    .-2740          ; 0x18c8 <__stack+0x7c9>
    237c:       f0 01           movw    r30, r0
    237e:       50 44           sbci    r21, 0x40       ; 64
    2380:       e7 38           cpi     r30, 0x87       ; 135
    2382:       a5 5c           subi    r26, 0xC5       ; 197
    2384:       04 53           subi    r16, 0x34       ; 52
    2386:       14 f6           brge    .-124           ; 0x230c <__stack+0x120d>
    2388:       22 9d           mul     r18, r2
    238a:       0a ee           ldi     r16, 0xEA       ; 234
    238c:       01 61           ori     r16, 0x11       ; 17
    238e:       88 66           ori     r24, 0x68       ; 104
    2390:       63 07           cpc     r22, r19
    2392:       05 50           subi    r16, 0x05       ; 5
    2394:       af ed           ldi     r26, 0xDF       ; 223
    2396:       9c 0c           add     r9, r12
    2398:       bd ae           std     Y+61, r11       ; 0x3d
    239a:       24 3e           cpi     r18, 0xE4       ; 228
    239c:       35 40           sbci    r19, 0x05       ; 5
    239e:       08 05           cpc     r16, r8
    23a0:       c0 7a           andi    r28, 0xA0       ; 160
    23a2:       c6 52           subi    r28, 0x26       ; 38
    23a4:       60 fb           bst     r22, 0
    23a6:       3f 91           pop     r19
    23a8:       6d f8           .word   0xf86d  ; ????
    23aa:       5b 19           sub     r21, r11
    23ac:       08 04           cpc     r0, r8
    23ae:       30 2b           or      r19, r16
    23b0:       c7 cd           rjmp    .-1138          ; 0x1f40 <__stack+0xe41>
    23b2:       ff fe           .word   0xfeff  ; ????
    23b4:       42 76           andi    r20, 0x62       ; 98
    23b6:       c7 98           cbi     0x18, 7 ; 24
    23b8:       f8 fe           .word   0xfef8  ; ????
    23ba:       fc 44           sbci    r31, 0x4C       ; 76
    23bc:       ab e9           ldi     r26, 0x9B       ; 155
    23be:       5f cc           rjmp    .-1858          ; 0x1c7e <__stack+0xb7f>
    23c0:       d1 40           sbci    r29, 0x01       ; 1
    23c2:       20 0f           add     r18, r16
    23c4:       7c f6           brge    .-98            ; 0x2364 <__stack+0x1265>
    23c6:       b1 8e           std     Z+25, r11       ; 0x19
    23c8:       8f 4d           sbci    r24, 0xDF       ; 223
    23ca:       a8 01           movw    r20, r16
    23cc:       d7 04           cpc     r13, r7
    23ce:       ba b4           in      r11, 0x2a       ; 42
    23d0:       80 5e           subi    r24, 0xE0       ; 224
    23d2:       cf c1           rjmp    .+926           ; 0x2772 <__stack+0x1673>
    23d4:       c0 c8           rjmp    .-3712          ; 0x1556 <__stack+0x457>
    23d6:       fc 63           ori     r31, 0x3C       ; 60
    23d8:       06 8f           std     Z+30, r16       ; 0x1e
    23da:       17 7b           andi    r17, 0xB7       ; 183
    23dc:       e4 fc           sbrc    r14, 4
    23de:       fb 61           ori     r31, 0x1B       ; 27
    23e0:       6a b8           out     0x0a, r6        ; 10
    23e2:       20 d3           rcall   .+1600          ; 0x2a24 <__stack+0x1925>
    23e4:       ee 3d           cpi     r30, 0xDE       ; 222
    23e6:       33 26           eor     r3, r19
    23e8:       f9 e9           ldi     r31, 0x99       ; 153
    23ea:       18 bc           out     0x28, r1        ; 40
    23ec:       f9 c4           rjmp    .+2546          ; 0x2de0 <__stack+0x1ce1>
    23ee:       f2 a6           std     Z+42, r15       ; 0x2a
    23f0:       31 10           cpse    r3, r1
    23f2:       ef b1           in      r30, 0x0f       ; 15
    23f4:       d8 c6           rjmp    .+3504          ; 0x31a6 <__stack+0x20a7>
    23f6:       3a 08           sbc     r3, r10
    23f8:       fe ee           ldi     r31, 0xEE       ; 238
    23fa:       b0 b8           out     0x00, r11       ; 0
    23fc:       f0 1d           adc     r31, r0
    23fe:       df bd           out     0x2f, r29       ; 47
    2400:       16 58           subi    r17, 0x86       ; 134
    2402:       fc 0c           add     r15, r12
    2404:       9d d6           rcall   .+3386          ; 0x3140 <__stack+0x2041>
    2406:       7e 18           sub     r7, r14
    2408:       6e 51           subi    r22, 0x1E       ; 30
    240a:       48 d8           rcall   .-3952          ; 0x149c <__stack+0x39d>
    240c:       11 d7           rcall   .+3618          ; 0x3230 <__stack+0x2131>
    240e:       ac 17           cp      r26, r28
    2410:       ef b0           in      r14, 0x0f       ; 15
    2412:       e6 c8           rjmp    .-3636          ; 0x15e0 <__stack+0x4e1>
    2414:       63 06           cpc     r6, r19
    2416:       ec f9           .word   0xf9ec  ; ????
    2418:       c5 bf           out     0x35, r28       ; 53
    241a:       ff 10           cpse    r15, r15
    241c:       b0 20           and     r11, r0
    241e:       b3 6b           ori     r27, 0xB3       ; 179
    2420:       47 f4           brid    .+16            ; 0x2432 <__stack+0x1333>
    2422:       91 20           and     r9, r1
    2424:       66 0d           add     r22, r6
    2426:       95 e7           ldi     r25, 0x75       ; 117
    2428:       bd e5           ldi     r27, 0x5D       ; 93
    242a:       36 fc           sbrc    r3, 6
    242c:       c4 2c           mov     r12, r4
    242e:       f7 2e           mov     r15, r23
    2430:       ce 73           andi    r28, 0x3E       ; 62
    2432:       b8 fe           .word   0xfeb8  ; ????
    2434:       c4 fc           sbrc    r12, 4
    2436:       13 c3           rjmp    .+1574          ; 0x2a5e <__stack+0x195f>
    2438:       dc a5           ldd     r29, Y+44       ; 0x2c
    243a:       2e 25           eor     r18, r14
    243c:       40 87           std     Z+8, r20        ; 0x08
    243e:       cd b3           in      r28, 0x1d       ; 29
    2440:       d8 f9           .word   0xf9d8  ; ????
    2442:       89 7e           andi    r24, 0xE9       ; 233
    2444:       3d 32           cpi     r19, 0x2D       ; 45
    2446:       e5 a6           std     Z+45, r14       ; 0x2d
    2448:       03 18           sub     r0, r3
    244a:       0c 4c           sbci    r16, 0xCC       ; 204
    244c:       6d 01           movw    r12, r26
    244e:       fc be           out     0x3c, r15       ; 60
    2450:       b1 28           or      r11, r1
    2452:       3d 58           subi    r19, 0x8D       ; 141
    2454:       62 12           cpse    r6, r18
    2456:       5a 6d           ori     r21, 0xDA       ; 218
    2458:       b5 20           and     r11, r5
    245a:       fe cc           rjmp    .-1540          ; 0x1e58 <__stack+0xd59>
    245c:       fc 20           and     r15, r12
    245e:       f1 6b           ori     r31, 0xB1       ; 177
    2460:       77 19           sub     r23, r7
    2462:       b6 f0           brts    .+44            ; 0x2490 <__stack+0x1391>
    2464:       55 46           sbci    r21, 0x65       ; 101
    2466:       11 3c           cpi     r17, 0xC1       ; 193
    2468:       42 44           sbci    r20, 0x42       ; 66
    246a:       03 08           sbc     r0, r3
    246c:       f1 de           rcall   .-542           ; 0x2250 <__stack+0x1151>
    246e:       a8 85           ldd     r26, Y+8        ; 0x08
    2470:       80 18           sub     r8, r0
    2472:       be b7           in      r27, 0x3e       ; 62
    2474:       76 08           sbc     r7, r6
    2476:       22 6b           ori     r18, 0xB2       ; 178
    2478:       c8 80           ld      r12, Y
    247a:       12 b2           in      r1, 0x12        ; 18
    247c:       02 7b           andi    r16, 0xB2       ; 178
    247e:       b0 70           andi    r27, 0x00       ; 0
    2480:       b6 ff           sbrs    r27, 6
    2482:       db d1           rcall   .+950           ; 0x283a <__stack+0x173b>
    2484:       75 1b           sub     r23, r21
    2486:       06 1c           adc     r0, r6
    2488:       f4 1c           adc     r15, r4
    248a:       5c 22           and     r5, r28
    248c:       63 3a           cpi     r22, 0xA3       ; 163
    248e:       6c b1           in      r22, 0x0c       ; 12
    2490:       01 1e           adc     r0, r17
    2492:       f7 d6           rcall   .+3566          ; 0x3282 <__stack+0x2183>
    2494:       c0 f8           bld     r12, 0
    2496:       60 8d           ldd     r22, Z+24       ; 0x18
    2498:       e1 bd           out     0x21, r30       ; 33
    249a:       c0 b2           in      r12, 0x10       ; 16
    249c:       e5 07           cpc     r30, r21
    249e:       bf fc           .word   0xfcbf  ; ????
    24a0:       c0 41           sbci    r28, 0x10       ; 16
    24a2:       b3 7b           andi    r27, 0xB3       ; 179
    24a4:       e0 41           sbci    r30, 0x10       ; 16
    24a6:       0c 15           cp      r16, r12
    24a8:       3d b4           in      r3, 0x2d        ; 45
    24aa:       b1 0b           sbc     r27, r17
    24ac:       72 f5           brpl    .+92            ; 0x250a <__stack+0x140b>
    24ae:       07 ca           rjmp    .-3058          ; 0x18be <__stack+0x7bf>
    24b0:       6c e7           ldi     r22, 0x7C       ; 124
    24b2:       f8 fe           .word   0xfef8  ; ????
    24b4:       86 45           sbci    r24, 0x56       ; 86
    24b6:       60 41           sbci    r22, 0x10       ; 16
    24b8:       fd 49           sbci    r31, 0x9D       ; 157
    24ba:       61 06           cpc     r6, r17
    24bc:       f3 ff           sbrs    r31, 3
    24be:       9f 03           fmulsu  r17, r23
    24c0:       1a 01           movw    r2, r20
    24c2:       80 09           sbc     r24, r0
    24c4:       30 0d           add     r19, r0
    24c6:       8a fd           .word   0xfd8a  ; ????
    24c8:       dd 6c           ori     r29, 0xCD       ; 205
    24ca:       59 b2           in      r5, 0x19        ; 25
    24cc:       ff 7f           andi    r31, 0xFF       ; 255
    24ce:       61 82           std     Z+1, r6 ; 0x01
    24d0:       69 ed           ldi     r22, 0xD9       ; 217
    24d2:       5c f8           .word   0xf85c  ; ????
    24d4:       80 6d           ori     r24, 0xD0       ; 208
    24d6:       fd 6a           ori     r31, 0xAD       ; 173
    24d8:       af 98           cbi     0x15, 7 ; 21
    24da:       9b 96           adiw    r26, 0x2b       ; 43
    24dc:       10 2c           mov     r1, r0
    24de:       64 44           sbci    r22, 0x44       ; 68
    24e0:       08 fb           .word   0xfb08  ; ????
    24e2:       d7 04           cpc     r13, r7
    24e4:       8c 80           ldd     r8, Y+4 ; 0x04
    24e6:       50 13           cpse    r21, r16
    24e8:       3f b5           in      r19, 0x2f       ; 47
    24ea:       5d 82           std     Y+5, r5 ; 0x05
    24ec:       13 60           ori     r17, 0x03       ; 3
    24ee:       24 eb           ldi     r18, 0xB4       ; 180
    24f0:       d3 85           ldd     r29, Z+11       ; 0x0b
    24f2:       d6 ee           ldi     r29, 0xE6       ; 230
    24f4:       60 8e           std     Z+24, r6        ; 0x18
    24f6:       12 90           ld      r1, -Z
    24f8:       f8 e0           ldi     r31, 0x08       ; 8
    24fa:       e4 71           andi    r30, 0x14       ; 20
    24fc:       30 4f           sbci    r19, 0xF0       ; 240
    24fe:       1e c4           rjmp    .+2108          ; 0x2d3c <__stack+0x1c3d>
    2500:       83 78           andi    r24, 0x83       ; 131
    2502:       03 0f           add     r16, r19
    2504:       02 77           andi    r16, 0x72       ; 114
    2506:       fc d6           rcall   .+3576          ; 0x3300 <__stack+0x2201>
    2508:       31 40           sbci    r19, 0x01       ; 1
    250a:       1e c0           rjmp    .+60            ; 0x2548 <__stack+0x1449>
    250c:       28 78           andi    r18, 0x88       ; 136
    250e:       7e 0f           add     r23, r30
    2510:       e2 01           movw    r28, r4
    2512:       0c c4           rjmp    .+2072          ; 0x2d2c <__stack+0x1c2d>
    2514:       fb 0f           add     r31, r27
    2516:       b0 5f           subi    r27, 0xF0       ; 240
    2518:       e2 cb           rjmp    .-2108          ; 0x1cde <__stack+0xbdf>
    251a:       03 7a           andi    r16, 0xA3       ; 163
    251c:       83 96           adiw    r24, 0x23       ; 35
    251e:       d3 04           cpc     r13, r3
    2520:       9e e5           ldi     r25, 0x5E       ; 94
    2522:       68 3e           cpi     r22, 0xE8       ; 232
    2524:       cb 28           or      r12, r11
    2526:       f8 c3           rjmp    .+2032          ; 0x2d18 <__stack+0x1c19>
    2528:       5f 7b           andi    r21, 0xBF       ; 191
    252a:       d5 03           fmuls   r21, r21
    252c:       60 10           cpse    r6, r0
    252e:       0c 7e           andi    r16, 0xEC       ; 236
    2530:       10 11           cpse    r17, r0
    2532:       93 32           cpi     r25, 0x23       ; 35
    2534:       0c 80           ldd     r0, Y+4 ; 0x04
    2536:       9c 03           fmulsu  r17, r20
    2538:       13 14           cp      r1, r3
    253a:       66 fd           sbrc    r22, 6
    253c:       d3 01           movw    r26, r6
    253e:       eb d3           rcall   .+2006          ; 0x2d16 <__stack+0x1c17>
    2540:       05 2b           or      r16, r21
    2542:       db e4           ldi     r29, 0x4B       ; 75
    2544:       48 fb           .word   0xfb48  ; ????
    2546:       c1 b3           in      r28, 0x11       ; 17
    2548:       ed 28           or      r14, r13
    254a:       18 c7           rjmp    .+3632          ; 0x337c <__stack+0x227d>
    254c:       e0 89           ldd     r30, Z+16       ; 0x10
    254e:       88 18           sub     r8, r8
    2550:       99 01           movw    r18, r18
    2552:       b3 42           sbci    r27, 0x23       ; 35
    2554:       f3 d8           rcall   .-3610          ; 0x173c <__stack+0x63d>
    2556:       21 34           cpi     r18, 0x41       ; 65
    2558:       9a 19           sub     r25, r10
    255a:       c0 bc           out     0x20, r12       ; 32
    255c:       b8 77           andi    r27, 0x78       ; 120
    255e:       d3 41           sbci    r29, 0x13       ; 19
    2560:       8c 23           and     r24, r28
    2562:       6a 02           muls    r22, r26
    2564:       b2 40           sbci    r27, 0x02       ; 2
    2566:       19 da           rcall   .-3022          ; 0x199a <__stack+0x89b>
    2568:       ff 34           cpi     r31, 0x4F       ; 79
    256a:       12 28           or      r1, r2
    256c:       40 7b           andi    r20, 0xB0       ; 176
    256e:       7b b4           in      r7, 0x2b        ; 43
    2570:       80 16           cp      r8, r16
    2572:       4a fb           .word   0xfb4a  ; ????
    2574:       61 60           ori     r22, 0x01       ; 1
    2576:       fc 41           sbci    r31, 0x1C       ; 28
    2578:       24 31           cpi     r18, 0x14       ; 20
    257a:       7f 4d           sbci    r23, 0xDF       ; 223
    257c:       98 43           sbci    r25, 0x38       ; 56
    257e:       d1 22           and     r13, r17
    2580:       eb d3           rcall   .+2006          ; 0x2d58 <__stack+0x1c59>
    2582:       10 90 b9 88     lds     r1, 0x88B9
    2586:       1e f3           brts    .-58            ; 0x254e <__stack+0x144f>
    2588:       03 1c           adc     r0, r3
    258a:       fd 68           ori     r31, 0x8D       ; 141
    258c:       93 6a           ori     r25, 0xA3       ; 163
    258e:       d8 78           andi    r29, 0x88       ; 136
    2590:       93 36           cpi     r25, 0x63       ; 99
    2592:       21 d6           rcall   .+3138          ; 0x31d6 <__stack+0x20d7>
    2594:       5b cb           rjmp    .-2378          ; 0x1c4c <__stack+0xb4d>
    2596:       00 06           cpc     r0, r16
    2598:       1a ee           ldi     r17, 0xEA       ; 234
    259a:       f8 80           ld      r15, Y
    259c:       50 d0           rcall   .+160           ; 0x263e <__stack+0x153f>
    259e:       b3 02           muls    r27, r19
    25a0:       3b b9           out     0x0b, r19       ; 11
    25a2:       2f 2e           mov     r2, r31
    25a4:       4b cf           rjmp    .-362           ; 0x243c <__stack+0x133d>
    25a6:       32 f3           brmi    .-52            ; 0x2574 <__stack+0x1475>
    25a8:       99 a3           std     Y+33, r25       ; 0x21
    25aa:       08 68           ori     r16, 0x88       ; 136
    25ac:       fd 67           ori     r31, 0x7D       ; 125
    25ae:       69 cd           rjmp    .-1326          ; 0x2082 <__stack+0xf83>
    25b0:       ff 90           pop     r15
    25b2:       ce 30           cpi     r28, 0x0E       ; 14
    25b4:       40 e0           ldi     r20, 0x00       ; 0
    25b6:       02 01           movw    r0, r4
    25b8:       d1 c8           rjmp    .-3678          ; 0x175c <__stack+0x65d>
    25ba:       05 71           andi    r16, 0x15       ; 21
    25bc:       76 b7           in      r23, 0x36       ; 54
    25be:       ab 0f           add     r26, r27
    25c0:       f9 2f           mov     r31, r25
    25c2:       c8 fb           .word   0xfbc8  ; ????
    25c4:       cc f4           brge    .+50            ; 0x25f8 <__stack+0x14f9>
    25c6:       91 f5           brne    .+100           ; 0x262c <__stack+0x152d>
    25c8:       de 16           cp      r13, r30
    25ca:       f9 c1           rjmp    .+1010          ; 0x29be <__stack+0x18bf>
    25cc:       5c 33           cpi     r21, 0x3C       ; 60
    25ce:       59 66           ori     r21, 0x69       ; 105
    25d0:       62 6e           ori     r22, 0xE2       ; 226
    25d2:       7e d0           rcall   .+252           ; 0x26d0 <__stack+0x15d1>
    25d4:       08 02           muls    r16, r24
    25d6:       ef 37           cpi     r30, 0x7F       ; 127
    25d8:       99 ed           ldi     r25, 0xD9       ; 217
    25da:       fe 40           sbci    r31, 0x0E       ; 14
    25dc:       b3 94           inc     r11
    25de:       2a ff           .word   0xff2a  ; ????
    25e0:       6b ea           ldi     r22, 0xAB       ; 171
    25e2:       c5 58           subi    r28, 0x85       ; 133
    25e4:       f8 c0           rjmp    .+496           ; 0x27d6 <__stack+0x16d7>
    25e6:       6f f7           brid    .-38            ; 0x25c2 <__stack+0x14c3>
    25e8:       c5 46           sbci    r28, 0x65       ; 101
    25ea:       01 04           cpc     r0, r1
    25ec:       e7 18           sub     r14, r7
    25ee:       20 88           ldd     r2, Z+16        ; 0x10
    25f0:       f8 4c           sbci    r31, 0xC8       ; 200
    25f2:       80 ec           ldi     r24, 0xC0       ; 192
    25f4:       45 30           cpi     r20, 0x05       ; 5
    25f6:       09 4f           sbci    r16, 0xF9       ; 249
    25f8:       ff 7f           andi    r31, 0xFF       ; 255
    25fa:       08 98           cbi     0x01, 0 ; 1
    25fc:       10 0b           sbc     r17, r16
    25fe:       60 2d           mov     r22, r0
    2600:       06 fd           sbrc    r16, 6
    2602:       98 83           st      Y, r25
    2604:       de 60           ori     r29, 0x0E       ; 14
    2606:       24 f3           brlt    .-56            ; 0x25d0 <__stack+0x14d1>
    2608:       da d2           rcall   .+1460          ; 0x2bbe <__stack+0x1abf>
    260a:       fa 74           andi    r31, 0x4A       ; 74
    260c:       5d 29           or      r21, r13
    260e:       1e a2           std     Y+38, r1        ; 0x26
    2610:       6b ef           ldi     r22, 0xFB       ; 251
    2612:       98 07           cpc     r25, r24
    2614:       30 20           and     r3, r0
    2616:       1e 71           andi    r17, 0x1E       ; 30
    2618:       19 7a           andi    r17, 0xA9       ; 169
    261a:       98 3c           cpi     r25, 0xC8       ; 200
    261c:       c4 ce           rjmp    .-632           ; 0x23a6 <__stack+0x12a7>
    261e:       66 6d           ori     r22, 0xD6       ; 214
    2620:       e0 82           st      Z, r14
    2622:       78 0f           add     r23, r24
    2624:       2e dc           rcall   .-1956          ; 0x1e82 <__stack+0xd83>
    2626:       51 03           mulsu   r21, r17
    2628:       b4 c1           rjmp    .+872           ; 0x2992 <__stack+0x1893>
    262a:       fd 32           cpi     r31, 0x2D       ; 45
    262c:       f8 a3           std     Y+32, r31       ; 0x20
    262e:       66 80           ldd     r6, Z+6 ; 0x06
    2630:       18 2d           mov     r17, r8
    2632:       fb 7c           andi    r31, 0xCB       ; 203
    2634:       e5 bb           out     0x15, r30       ; 21
    2636:       5a 18           sub     r5, r10
    2638:       2b 93           .word   0x932b  ; ????
    263a:       fd e0           ldi     r31, 0x0D       ; 13
    263c:       88 01           movw    r16, r16
    263e:       30 8b           std     Z+16, r19       ; 0x10
    2640:       f1 40           sbci    r31, 0x01       ; 1
    2642:       78 b8           out     0x08, r7        ; 8
    2644:       06 de           rcall   .-1012          ; 0x2252 <__stack+0x1153>
    2646:       98 6e           ori     r25, 0xE8       ; 232
    2648:       f3 02           muls    r31, r19
    264a:       fe d7           rcall   .+4092          ; 0x3648 <__stack+0x2549>
    264c:       cc 78           andi    r28, 0x8C       ; 140
    264e:       87 b3           in      r24, 0x17       ; 23
    2650:       a6 c0           rjmp    .+332           ; 0x279e <__stack+0x169f>
    2652:       24 bb           out     0x14, r18       ; 20
    2654:       18 fe           .word   0xfe18  ; ????
    2656:       ad 44           sbci    r26, 0x4D       ; 77
    2658:       80 01           movw    r16, r0
    265a:       34 c5           rjmp    .+2664          ; 0x30c4 <__stack+0x1fc5>
    265c:       73 dc           rcall   .-1818          ; 0x1f44 <__stack+0xe45>
    265e:       1a 03           fmul    r17, r18
    2660:       93 60           ori     r25, 0x03       ; 3
    2662:       5d 7a           andi    r21, 0xAD       ; 173
    2664:       7f 99           sbic    0x0f, 7 ; 15
    2666:       98 20           and     r9, r8
    2668:       b3 ad           ldd     r27, Z+59       ; 0x3b
    266a:       ff 3e           cpi     r31, 0xEF       ; 239
    266c:       ac bc           out     0x2c, r10       ; 44
    266e:       a9 ee           ldi     r26, 0xE9       ; 233
    2670:       5e 3d           cpi     r21, 0xDE       ; 222
    2672:       04 46           sbci    r16, 0x64       ; 100
    2674:       e9 88           ldd     r14, Y+17       ; 0x11
    2676:       82 40           sbci    r24, 0x02       ; 2
    2678:       66 20           and     r6, r6
    267a:       d8 28           or      r13, r8
    267c:       30 ae           std     Z+56, r3        ; 0x38
    267e:       ae e6           ldi     r26, 0x6E       ; 110
    2680:       28 fd           .word   0xfd28  ; ????
    2682:       20 01           movw    r4, r0
    2684:       bf 91           pop     r27
    2686:       98 f3           brcs    .-26            ; 0x266e <__stack+0x156f>
    2688:       a7 ed           ldi     r26, 0xD7       ; 215
    268a:       bf 78           andi    r27, 0x8F       ; 143
    268c:       fd 98           cbi     0x1f, 5 ; 31
    268e:       08 b6           in      r0, 0x38        ; 56
    2690:       03 f4           brvc    .+0             ; 0x2692 <__stack+0x1593>
    2692:       b4 01           movw    r22, r8
    2694:       ec 85           ldd     r30, Y+12       ; 0x0c
    2696:       04 03           mulsu   r16, r20
    2698:       6f 35           cpi     r22, 0x5F       ; 95
    269a:       73 18           sub     r7, r3
    269c:       fb 07           cpc     r31, r27
    269e:       40 3f           cpi     r20, 0xF0       ; 240
    26a0:       e6 14           cp      r14, r6
    26a2:       7b fe           .word   0xfe7b  ; ????
    26a4:       d8 bd           out     0x28, r29       ; 40
    26a6:       fe 3d           cpi     r31, 0xDE       ; 222
    26a8:       3d f5           brhc    .+78            ; 0x26f8 <__stack+0x15f9>
    26aa:       21 4b           sbci    r18, 0xB1       ; 177
    26ac:       d3 83           std     Z+3, r29        ; 0x03
    26ae:       9b 43           sbci    r25, 0x3B       ; 59
    26b0:       80 0c           add     r8, r0
    26b2:       14 f9           bld     r17, 4
    26b4:       7f b9           out     0x0f, r23       ; 15
    26b6:       ae 90           ld      r10, -X
    26b8:       5f 5d           subi    r21, 0xDF       ; 223
    26ba:       0e e6           ldi     r16, 0x6E       ; 110
    26bc:       98 5f           subi    r25, 0xF8       ; 248
    26be:       2d 65           ori     r18, 0x5D       ; 93
    26c0:       fe 4f           sbci    r31, 0xFE       ; 254
    26c2:       a0 ed           ldi     r26, 0xD0       ; 208
    26c4:       91 01           movw    r18, r2
    26c6:       aa 71           andi    r26, 0x1A       ; 26
    26c8:       90 b8           out     0x00, r9        ; 0
    26ca:       70 48           sbci    r23, 0x80       ; 128
    26cc:       84 0b           sbc     r24, r20
    26ce:       ec 57           subi    r30, 0x7C       ; 124
    26d0:       f9 7f           andi    r31, 0xF9       ; 249
    26d2:       5a 40           sbci    r21, 0x0A       ; 10
    26d4:       1a df           rcall   .-460           ; 0x250a <__stack+0x140b>
    26d6:       04 21           and     r16, r4
    26d8:       d6 d1           rcall   .+940           ; 0x2a86 <__stack+0x1987>
    26da:       8b ba           out     0x1b, r8        ; 27
    26dc:       44 db           rcall   .-2424          ; 0x1d66 <__stack+0xc67>
    26de:       f9 58           subi    r31, 0x89       ; 137
    26e0:       ff 40           sbci    r31, 0x0F       ; 15
    26e2:       cf 59           subi    r28, 0x9F       ; 159
    26e4:       18 01           movw    r2, r16
    26e6:       e0 df           rcall   .-64            ; 0x26a8 <__stack+0x15a9>
    26e8:       11 2c           mov     r1, r1
    26ea:       ec 4b           sbci    r30, 0xBC       ; 188
    26ec:       c0 44           sbci    r28, 0x40       ; 64
    26ee:       cf b7           in      r28, 0x3f       ; 63
    26f0:       63 f8           bld     r6, 3
    26f2:       8c 02           muls    r24, r28
    26f4:       50 5b           subi    r21, 0xB0       ; 176
    26f6:       e3 62           ori     r30, 0x23       ; 35
    26f8:       7e 98           cbi     0x0f, 6 ; 15
    26fa:       31 1d           adc     r19, r1
    26fc:       13 44           sbci    r17, 0x43       ; 67
    26fe:       db 2c           mov     r13, r11
    2700:       10 f3           brcs    .-60            ; 0x26c6 <__stack+0x15c7>
    2702:       30 40           sbci    r19, 0x00       ; 0
    2704:       11 68           ori     r17, 0x81       ; 129
    2706:       4d b6           in      r4, 0x3d        ; 61
    2708:       f9 f5           brne    .+126           ; 0x2788 <__stack+0x1689>
    270a:       c5 c4           rjmp    .+2442          ; 0x3096 <__stack+0x1f97>
    270c:       de 98           cbi     0x1b, 6 ; 27
    270e:       bb 04           cpc     r11, r11
    2710:       d0 ca           rjmp    .-2656          ; 0x1cb2 <__stack+0xbb3>
    2712:       e4 34           cpi     r30, 0x44       ; 68
    2714:       1e d0           rcall   .+60            ; 0x2752 <__stack+0x1653>
    2716:       0f c0           rjmp    .+30            ; 0x2736 <__stack+0x1637>
    2718:       0f 60           ori     r16, 0x0F       ; 15
    271a:       b1 38           cpi     r27, 0x81       ; 129
    271c:       37 68           ori     r19, 0x87       ; 135
    271e:       f0 20           and     r15, r0
    2720:       06 ca           rjmp    .-3060          ; 0x1b2e <__stack+0xa2f>
    2722:       c8 80           ld      r12, Y
    2724:       d3 37           cpi     r29, 0x73       ; 115
    2726:       dd e3           ldi     r29, 0x3D       ; 61
    2728:       30 5e           subi    r19, 0xE0       ; 224
    272a:       ed e5           ldi     r30, 0x5D       ; 93
    272c:       ff 08           sbc     r15, r15
    272e:       08 57           subi    r16, 0x78       ; 120
    2730:       f0 d3           rcall   .+2016          ; 0x2f12 <__stack+0x1e13>
    2732:       8f 30           cpi     r24, 0x0F       ; 15
    2734:       d3 f2           brvs    .-76            ; 0x26ea <__stack+0x15eb>
    2736:       dd d6           rcall   .+3514          ; 0x34f2 <__stack+0x23f3>
    2738:       08 41           sbci    r16, 0x18       ; 24
    273a:       30 8a           std     Z+16, r3        ; 0x10
    273c:       71 7d           andi    r23, 0xD1       ; 209
    273e:       7f ac           ldd     r7, Y+63        ; 0x3f
    2740:       03 62           ori     r16, 0x23       ; 35
    2742:       03 0c           add     r0, r3
    2744:       04 6b           ori     r16, 0xB4       ; 180
    2746:       e6 98           cbi     0x1c, 6 ; 28
    2748:       f9 41           sbci    r31, 0x19       ; 25
    274a:       b6 98           cbi     0x16, 6 ; 22
    274c:       cb c8           rjmp    .-3690          ; 0x18e4 <__stack+0x7e5>
    274e:       97 b3           in      r25, 0x17       ; 23
    2750:       04 b3           in      r16, 0x14       ; 20
    2752:       b3 82           std     Z+3, r11        ; 0x03
    2754:       d0 f3           brcs    .-12            ; 0x274a <__stack+0x164b>
    2756:       89 dd           rcall   .-1262          ; 0x226a <__stack+0x116b>
    2758:       11 01           movw    r2, r2
    275a:       d6 8d           ldd     r29, Z+30       ; 0x1e
    275c:       2c b3           in      r18, 0x1c       ; 28
    275e:       af 1a           sub     r10, r31
    2760:       ed 9f           mul     r30, r29
    2762:       20 0d           add     r18, r0
    2764:       fc 98           cbi     0x1f, 4 ; 31
    2766:       be 4c           sbci    r27, 0xCE       ; 206
    2768:       d3 e8           ldi     r29, 0x83       ; 131
    276a:       cc 19           sub     r28, r12
    276c:       f5 be           out     0x35, r15       ; 53
    276e:       80 17           cp      r24, r16
    2770:       76 51           subi    r23, 0x16       ; 22
    2772:       10 46           sbci    r17, 0x60       ; 96
    2774:       dc 60           ori     r29, 0x0C       ; 12
    2776:       fc 61           ori     r31, 0x1C       ; 28
    2778:       0a 02           muls    r16, r26
    277a:       41 0d           add     r20, r1
    277c:       30 76           andi    r19, 0x60       ; 96
    277e:       7f 0d           add     r23, r15
    2780:       30 f0           brcs    .+12            ; 0x278e <__stack+0x168f>
    2782:       84 a3           std     Z+36, r24       ; 0x24
    2784:       75 01           movw    r14, r10
    2786:       02 4b           sbci    r16, 0xB2       ; 178
    2788:       f3 05           cpc     r31, r3
    278a:       6f 35           cpi     r22, 0x5F       ; 95
    278c:       98 e5           ldi     r25, 0x58       ; 88
    278e:       30 80           ld      r3, Z
    2790:       af 99           sbic    0x15, 7 ; 21
    2792:       98 de           rcall   .-720           ; 0x24c4 <__stack+0x13c5>
    2794:       ad a3           std     Y+37, r26       ; 0x25
    2796:       03 a4           ldd     r0, Z+43        ; 0x2b
    2798:       15 ce           rjmp    .-982           ; 0x23c4 <__stack+0x12c5>
    279a:       42 06           cpc     r4, r18
    279c:       02 d7           rcall   .+3588          ; 0x35a2 <__stack+0x24a3>
    279e:       db 4d           sbci    r29, 0xDB       ; 219
    27a0:       84 80           ldd     r8, Z+4 ; 0x04
    27a2:       3b cd           rjmp    .-1418          ; 0x221a <__stack+0x111b>
    27a4:       98 15           cp      r25, r8
    27a6:       19 e0           ldi     r17, 0x09       ; 9
    27a8:       e4 04           cpc     r14, r4
    27aa:       d8 dd           rcall   .-1104          ; 0x235c <__stack+0x125d>
    27ac:       02 40           sbci    r16, 0x02       ; 2
    27ae:       a5 af           std     Z+61, r26       ; 0x3d
    27b0:       c3 85           ldd     r28, Z+11       ; 0x0b
    27b2:       b3 18           sub     r11, r3
    27b4:       71 96           adiw    r30, 0x11       ; 17
    27b6:       9e b0           in      r9, 0x0e        ; 14
    27b8:       a2 60           ori     r26, 0x02       ; 2
    27ba:       c0 41           sbci    r28, 0x10       ; 16
    27bc:       6b 1c           adc     r6, r11
    27be:       99 03           fmulsu  r17, r17
    27c0:       b2 0e           add     r11, r18
    27c2:       f6 0d           add     r31, r6
    27c4:       fe 98           cbi     0x1f, 6 ; 31
    27c6:       6e 77           andi    r22, 0x7E       ; 126
    27c8:       da f8           .word   0xf8da  ; ????
    27ca:       fb 17           cp      r31, r27
    27cc:       f2 0a           sbc     r15, r18
    27ce:       5d d6           rcall   .+3258          ; 0x348a <__stack+0x238b>
    27d0:       f2 a5           ldd     r31, Z+42       ; 0x2a
    27d2:       3f be           out     0x3f, r3        ; 63
    27d4:       7a db           rcall   .-2316          ; 0x1eca <__stack+0xdcb>
    27d6:       0b 09           sbc     r16, r11
    27d8:       31 a5           ldd     r19, Z+41       ; 0x29
    27da:       1f 4c           sbci    r17, 0xCF       ; 207
    27dc:       98 10           cpse    r9, r8
    27de:       3b 26           eor     r3, r27
    27e0:       ee fa           .word   0xfaee  ; ????
    27e2:       42 48           sbci    r20, 0x82       ; 130
    27e4:       fd d8           rcall   .-3590          ; 0x19e0 <__stack+0x8e1>
    27e6:       84 1e           adc     r8, r20
    27e8:       bc 1a           sub     r11, r28
    27ea:       6f c8           rjmp    .-3874          ; 0x18ca <__stack+0x7cb>
    27ec:       30 f9           bld     r19, 0
    27ee:       0d bc           out     0x2d, r0        ; 45
    27f0:       98 9d           mul     r25, r8
    27f2:       8c 2c           mov     r8, r12
    27f4:       80 31           cpi     r24, 0x10       ; 16
    27f6:       73 30           cpi     r23, 0x03       ; 3
    27f8:       c1 08           sbc     r12, r1
    27fa:       85 98           cbi     0x10, 5 ; 16
    27fc:       a3 ce           rjmp    .-698           ; 0x2544 <__stack+0x1445>
    27fe:       60 14           cp      r6, r0
    2800:       f6 50           subi    r31, 0x06       ; 6
    2802:       b0 ce           rjmp    .-672           ; 0x2564 <__stack+0x1465>
    2804:       68 65           ori     r22, 0x58       ; 88
    2806:       80 51           subi    r24, 0x10       ; 16
    2808:       94 bf           out     0x34, r25       ; 52
    280a:       52 a0           ldd     r5, Z+34        ; 0x22
    280c:       49 bb           out     0x19, r20       ; 25
    280e:       4c d3           rcall   .+1688          ; 0x2ea8 <__stack+0x1da9>
    2810:       6f 9b           sbis    0x0d, 7 ; 13
    2812:       c8 01           movw    r24, r16
    2814:       4f 5a           subi    r20, 0xAF       ; 175
    2816:       9f fd           .word   0xfd9f  ; ????
    2818:       fa c5           rjmp    .+3060          ; 0x340e <__stack+0x230f>
    281a:       1e 75           andi    r17, 0x5E       ; 94
    281c:       7a 78           andi    r23, 0x8A       ; 138
    281e:       10 c5           rjmp    .+2592          ; 0x3240 <__stack+0x2141>
    2820:       3d c8           rjmp    .-3974          ; 0x189c <__stack+0x79d>
    2822:       30 e0           ldi     r19, 0x00       ; 0
    2824:       ab cb           rjmp    .-2218          ; 0x1f7c <__stack+0xe7d>
    2826:       98 d1           rcall   .+816           ; 0x2b58 <__stack+0x1a59>
    2828:       b8 62           ori     r27, 0x28       ; 40
    282a:       59 fc           .word   0xfc59  ; ????
    282c:       30 5c           subi    r19, 0xC0       ; 192
    282e:       a7 a6           std     Z+47, r10       ; 0x2f
    2830:       90 19           sub     r25, r0
    2832:       06 40           sbci    r16, 0x06       ; 6
    2834:       9b b3           in      r25, 0x1b       ; 27
    2836:       03 e8           ldi     r16, 0x83       ; 131
    2838:       7f 5a           subi    r23, 0xAF       ; 175
    283a:       98 70           andi    r25, 0x08       ; 8
    283c:       78 e4           ldi     r23, 0x48       ; 72
    283e:       25 d6           rcall   .+3146          ; 0x348a <__stack+0x238b>
    2840:       64 fe           sbrs    r6, 4
    2842:       98 59           subi    r25, 0x98       ; 152
    2844:       d5 bf           out     0x35, r29       ; 53
    2846:       01 cd           rjmp    .-1534          ; 0x224a <__stack+0x114b>
    2848:       98 35           cpi     r25, 0x58       ; 88
    284a:       08 02           muls    r16, r24
    284c:       62 1e           adc     r6, r18
    284e:       98 4a           sbci    r25, 0xA8       ; 168
    2850:       e0 10           cpse    r14, r0
    2852:       fe 7f           andi    r31, 0xFE       ; 254
    2854:       18 90           .word   0x9018  ; ????
    2856:       9d b3           in      r25, 0x1d       ; 29
    2858:       0c 88           ldd     r0, Y+20        ; 0x14
    285a:       01 b7           in      r16, 0x31       ; 49
    285c:       9a 98           cbi     0x13, 2 ; 19
    285e:       f3 7d           andi    r31, 0xD3       ; 211
    2860:       e1 f8           bld     r14, 1
    2862:       69 fb           .word   0xfb69  ; ????
    2864:       32 02           muls    r19, r18
    2866:       fc 4b           sbci    r31, 0xBC       ; 188
    2868:       d1 b3           in      r29, 0x11       ; 17
    286a:       d0 4c           sbci    r29, 0xC0       ; 192
    286c:       b3 43           sbci    r27, 0x33       ; 51
    286e:       60 83           st      Z, r22
    2870:       39 08           sbc     r3, r9
    2872:       b3 34           cpi     r27, 0x43       ; 67
    2874:       d8 b3           in      r29, 0x18       ; 24
    2876:       29 a0           ldd     r2, Y+33        ; 0x21
    2878:       b0 06           cpc     r11, r16
    287a:       17 93           .word   0x9317  ; ????
    287c:       98 d8           rcall   .-3792          ; 0x19ae <__stack+0x8af>
    287e:       8d 80           ldd     r8, Y+5 ; 0x05
    2880:       b7 81           ldd     r27, Z+7        ; 0x07
    2882:       cb c8           rjmp    .-3690          ; 0x1a1a <__stack+0x91b>
    2884:       5f d7           rcall   .+3774          ; 0x3744 <__stack+0x2645>
    2886:       7f fc           .word   0xfc7f  ; ????
    2888:       e6 1d           adc     r30, r6
    288a:       20 91 28 ff     lds     r18, 0xFF28
    288e:       e7 c7           rjmp    .+4046          ; 0x385e <__stack+0x275f>
    2890:       2d a2           std     Y+37, r2        ; 0x25
    2892:       db 82           std     Y+3, r13        ; 0x03
    2894:       14 ee           ldi     r17, 0xE4       ; 228
    2896:       08 88           ldd     r0, Y+16        ; 0x10
    2898:       1a d7           rcall   .+3636          ; 0x36ce <__stack+0x25cf>
    289a:       dc 21           and     r29, r12
    289c:       20 44           sbci    r18, 0x40       ; 64
    289e:       82 84           ldd     r8, Z+10        ; 0x0a
    28a0:       c5 72           andi    r28, 0x25       ; 37
    28a2:       c8 78           andi    r28, 0x88       ; 136
    28a4:       e0 4a           sbci    r30, 0xA0       ; 160
    28a6:       24 01           movw    r4, r8
    28a8:       ee e5           ldi     r30, 0x5E       ; 94
    28aa:       30 12           cpse    r3, r16
    28ac:       dc dd           rcall   .-1096          ; 0x2466 <__stack+0x1367>
    28ae:       b4 08           sbc     r11, r4
    28b0:       ed 64           ori     r30, 0x4D       ; 77
    28b2:       b0 a1           ldd     r27, Z+32       ; 0x20
    28b4:       66 fa           bst     r6, 6
    28b6:       64 2f           mov     r22, r20
    28b8:       ea 22           and     r14, r26
    28ba:       39 f4           brne    .+14            ; 0x28ca <__stack+0x17cb>
    28bc:       25 59           subi    r18, 0x95       ; 149
    28be:       ef 82           std     Y+7, r14        ; 0x07
    28c0:       18 02           muls    r17, r24
    28c2:       93 b3           in      r25, 0x13       ; 19
    28c4:       02 80           ldd     r0, Z+2 ; 0x02
    28c6:       2f e4           ldi     r18, 0x4F       ; 79
    28c8:       33 73           andi    r19, 0x33       ; 51
    28ca:       bd 98           cbi     0x17, 5 ; 23
    28cc:       78 bb           out     0x18, r23       ; 24
    28ce:       ff 28           or      r15, r15
    28d0:       30 9c           mul     r3, r0
    28d2:       fc 86           std     Y+12, r15       ; 0x0c
    28d4:       c8 66           ori     r28, 0x68       ; 104
    28d6:       b3 0c           add     r11, r3
    28d8:       19 20           and     r1, r9
    28da:       8c 09           sbc     r24, r12
    28dc:       67 33           cpi     r22, 0x37       ; 55
    28de:       94 07           cpc     r25, r20
    28e0:       9d 1c           adc     r9, r13
    28e2:       e0 c0           rjmp    .+448           ; 0x2aa4 <__stack+0x19a5>
    28e4:       02 61           ori     r16, 0x12       ; 18
    28e6:       6e 0b           sbc     r22, r30
    28e8:       40 e5           ldi     r20, 0x50       ; 80
    28ea:       30 30           cpi     r19, 0x00       ; 0
    28ec:       16 fb           bst     r17, 6
    28ee:       de d6           rcall   .+3516          ; 0x36ac <__stack+0x25ad>
    28f0:       e6 b5           in      r30, 0x26       ; 38
    28f2:       38 e3           ldi     r19, 0x38       ; 56
    28f4:       7d f2           brhs    .-98            ; 0x2894 <__stack+0x1795>
    28f6:       c8 4a           sbci    r28, 0xA8       ; 168
    28f8:       65 a9           ldd     r22, Z+53       ; 0x35
    28fa:       53 87           std     Z+11, r21       ; 0x0b
    28fc:       11 a5           ldd     r17, Z+41       ; 0x29
    28fe:       10 61           ori     r17, 0x10       ; 16
    2900:       d7 0a           sbc     r13, r23
    2902:       40 ac           ldd     r4, Z+56        ; 0x38
    2904:       3d 21           and     r19, r13
    2906:       47 27           eor     r20, r23
    2908:       48 45           sbci    r20, 0x58       ; 88
    290a:       04 42           sbci    r16, 0x24       ; 36
    290c:       fd 08           sbc     r15, r13
    290e:       01 60           ori     r16, 0x01       ; 1
    2910:       41 20           and     r4, r1
    2912:       28 b6           in      r2, 0x38        ; 56
    2914:       68 c8           rjmp    .-3888          ; 0x19e6 <__stack+0x8e7>
    2916:       0b 75           andi    r16, 0x5B       ; 91
    2918:       f4 b3           in      r31, 0x14       ; 20
    291a:       fb 03           fmulsu  r23, r19
    291c:       e1 40           sbci    r30, 0x01       ; 1
    291e:       eb 46           sbci    r30, 0x6B       ; 107
    2920:       82 88           ldd     r8, Z+18        ; 0x12
    2922:       d2 98           cbi     0x1a, 2 ; 26
    2924:       60 6d           ori     r22, 0xD0       ; 208
    2926:       b8 3d           cpi     r27, 0xD8       ; 216
    2928:       0f 26           eor     r0, r31
    292a:       c0 08           sbc     r12, r0
    292c:       5a af           std     Y+58, r21       ; 0x3a
    292e:       41 39           cpi     r20, 0x91       ; 145
    2930:       00 62           ori     r16, 0x20       ; 32
    2932:       7d ad           ldd     r23, Y+61       ; 0x3d
    2934:       9e c6           rjmp    .+3388          ; 0x3672 <__stack+0x2573>
    2936:       ea 58           subi    r30, 0x8A       ; 138
    2938:       a0 02           muls    r26, r16
    293a:       b9 ea           ldi     r27, 0xA9       ; 169
    293c:       82 af           std     Z+58, r24       ; 0x3a
    293e:       09 53           subi    r16, 0x39       ; 57
    2940:       98 c0           rjmp    .+304           ; 0x2a72 <__stack+0x1973>
    2942:       38 a3           std     Y+32, r19       ; 0x20
    2944:       40 b4           in      r4, 0x20        ; 32
    2946:       41 e2           ldi     r20, 0x21       ; 33
    2948:       d3 56           subi    r29, 0x63       ; 99
    294a:       19 0c           add     r1, r9
    294c:       42 d5           rcall   .+2692          ; 0x33d2 <__stack+0x22d3>
    294e:       77 9d           mul     r23, r7
    2950:       98 cf           rjmp    .-208           ; 0x2882 <__stack+0x1783>
    2952:       3d 3c           cpi     r19, 0xCD       ; 205
    2954:       a0 07           cpc     r26, r16
    2956:       e1 e0           ldi     r30, 0x01       ; 1
    2958:       40 06           cpc     r4, r16
    295a:       c8 64           ori     r28, 0x48       ; 72
    295c:       79 20           and     r7, r9
    295e:       f3 07           cpc     r31, r19
    2960:       f1 ba           out     0x11, r15       ; 17
    2962:       9f ed           ldi     r25, 0xDF       ; 223
    2964:       e2 30           cpi     r30, 0x02       ; 2
    2966:       20 7a           andi    r18, 0xA0       ; 160
    2968:       98 78           andi    r25, 0x88       ; 136
    296a:       1f 0b           sbc     r17, r31
    296c:       e0 41           sbci    r30, 0x10       ; 16
    296e:       5e 98           cbi     0x0b, 6 ; 11
    2970:       bf f0           brie    .+46            ; 0x29a0 <__stack+0x18a1>
    2972:       8d 6d           ori     r24, 0xDD       ; 221
    2974:       19 e5           ldi     r17, 0x59       ; 89
    2976:       e8 fc           .word   0xfce8  ; ????
    2978:       83 5e           subi    r24, 0xE3       ; 227
    297a:       c5 6d           ori     r28, 0xD5       ; 213
    297c:       e7 98           cbi     0x1c, 7 ; 28
    297e:       6f 1f           adc     r22, r31
    2980:       06 c2           rjmp    .+1036          ; 0x2d8e <__stack+0x1c8f>
    2982:       76 57           subi    r23, 0x76       ; 118
    2984:       c8 ac           ldd     r12, Y+56       ; 0x38
    2986:       d8 02           muls    r29, r24
    2988:       53 f9           bld     r21, 3
    298a:       80 06           cpc     r8, r16
    298c:       80 e0           ldi     r24, 0x00       ; 0
    298e:       cb 88           ldd     r12, Y+19       ; 0x13
    2990:       02 39           cpi     r16, 0x92       ; 146
    2992:       fd b8           out     0x0d, r15       ; 13
    2994:       05 7f           andi    r16, 0xF5       ; 245
    2996:       11 03           mulsu   r17, r17
    2998:       13 ff           sbrs    r17, 3
    299a:       4d a6           std     Y+45, r4        ; 0x2d
    299c:       fc b4           in      r15, 0x2c       ; 44
    299e:       02 06           cpc     r0, r18
    29a0:       5e 0b           sbc     r21, r30
    29a2:       b3 8e           std     Z+27, r11       ; 0x1b
    29a4:       08 95           ret
    29a6:       b3 46           sbci    r27, 0x63       ; 99
    29a8:       a9 08           sbc     r10, r9
    29aa:       09 19           sub     r16, r9
    29ac:       d6 02           muls    r29, r22
    29ae:       4c 6c           ori     r20, 0xCC       ; 204
    29b0:       c6 40           sbci    r28, 0x06       ; 6
    29b2:       45 66           ori     r20, 0x65       ; 101
    29b4:       46 ff           sbrs    r20, 6
    29b6:       c4 10           cpse    r12, r4
    29b8:       5a 40           sbci    r21, 0x0A       ; 10
    29ba:       01 70           andi    r16, 0x01       ; 1
    29bc:       04 8c           ldd     r0, Z+28        ; 0x1c
    29be:       bb a2           std     Y+35, r11       ; 0x23
    29c0:       f5 9f           mul     r31, r21
    29c2:       c2 f2           brmi    .-80            ; 0x2974 <__stack+0x1875>
    29c4:       cc 8c           ldd     r12, Y+28       ; 0x1c
    29c6:       d7 5d           subi    r29, 0xD7       ; 215
    29c8:       fc fa           .word   0xfafc  ; ????
    29ca:       20 08           sbc     r2, r0
    29cc:       de 98           cbi     0x1b, 6 ; 27
    29ce:       2f f6           brid    .-118           ; 0x295a <__stack+0x185b>
    29d0:       f3 d5           rcall   .+3046          ; 0x35b8 <__stack+0x24b9>
    29d2:       bb 17           cp      r27, r27
    29d4:       44 4a           sbci    r20, 0xA4       ; 164
    29d6:       dc 61           ori     r29, 0x1C       ; 28
    29d8:       57 f4           brid    .+20            ; 0x29ee <__stack+0x18ef>
    29da:       0d 19           sub     r16, r13
    29dc:       43 e7           ldi     r20, 0x73       ; 115
    29de:       b5 ff           sbrs    r27, 5
    29e0:       95 28           or      r9, r5
    29e2:       52 81           ldd     r21, Z+2        ; 0x02
    29e4:       48 4a           sbci    r20, 0xA8       ; 168
    29e6:       c6 08           sbc     r12, r6
    29e8:       09 6b           ori     r16, 0xB9       ; 185
    29ea:       92 c8           rjmp    .-3804          ; 0x1b10 <__stack+0xa11>
    29ec:       8e d5           rcall   .+2844          ; 0x350a <__stack+0x240b>
    29ee:       b3 0c           add     r11, r3
    29f0:       af fd           .word   0xfdaf  ; ????
    29f2:       b8 27           eor     r27, r24
    29f4:       09 f1           breq    .+66            ; 0x2a38 <__stack+0x1939>
    29f6:       b5 65           ori     r27, 0x55       ; 85
    29f8:       64 ed           ldi     r22, 0xD4       ; 212
    29fa:       7a 18           sub     r7, r10
    29fc:       0c 80           ldd     r0, Y+4 ; 0x04
    29fe:       18 a2           std     Y+32, r1        ; 0x20
    2a00:       d2 72           andi    r29, 0x22       ; 34
    2a02:       25 d9           rcall   .-3510          ; 0x1c4e <__stack+0xb4f>
    2a04:       e6 0c           add     r14, r6
    2a06:       9b e5           ldi     r25, 0x5B       ; 91
    2a08:       98 ca           rjmp    .-2768          ; 0x1f3a <__stack+0xe3b>
    2a0a:       4e fd           .word   0xfd4e  ; ????
    2a0c:       50 c5           rjmp    .+2720          ; 0x34ae <__stack+0x23af>
    2a0e:       10 e4           ldi     r17, 0x40       ; 64
    2a10:       a2 16           cp      r10, r18
    2a12:       f9 f2           breq    .-66            ; 0x29d2 <__stack+0x18d3>
    2a14:       f3 2c           mov     r15, r3
    2a16:       84 df           rcall   .-248           ; 0x2920 <__stack+0x1821>
    2a18:       e8 c0           rjmp    .+464           ; 0x2bea <__stack+0x1aeb>
    2a1a:       96 0b           sbc     r25, r22
    2a1c:       23 b4           in      r2, 0x23        ; 35
    2a1e:       4e 87           std     Y+14, r20       ; 0x0e
    2a20:       5f 52           subi    r21, 0x2F       ; 47
    2a22:       fd 10           cpse    r15, r13
    2a24:       c8 02           muls    r28, r24
    2a26:       41 20           and     r4, r1
    2a28:       0c 19           sub     r16, r12
    2a2a:       f3 9c           mul     r15, r3
    2a2c:       30 ed           ldi     r19, 0xD0       ; 208
    2a2e:       89 fa           .word   0xfa89  ; ????
    2a30:       08 fe           .word   0xfe08  ; ????
    2a32:       01 b2           in      r0, 0x11        ; 17
    2a34:       59 e2           ldi     r21, 0x29       ; 41
    2a36:       76 f2           brts    .-100           ; 0x29d4 <__stack+0x18d5>
    2a38:       07 3c           cpi     r16, 0xC7       ; 199
    2a3a:       ab 69           ori     r26, 0x9B       ; 155
    2a3c:       cf cc           rjmp    .-1634          ; 0x23dc <__stack+0x12dd>
    2a3e:       2e 20           and     r2, r14
    2a40:       d2 07           cpc     r29, r18
    2a42:       c2 26           eor     r12, r18
    2a44:       18 ec           ldi     r17, 0xC8       ; 200
    2a46:       f4 ab           std     Z+52, r31       ; 0x34
    2a48:       0c 21           and     r16, r12
    2a4a:       84 d6           rcall   .+3336          ; 0x3754 <__stack+0x2655>
    2a4c:       79 36           cpi     r23, 0x69       ; 105
    2a4e:       ab bd           out     0x2b, r26       ; 43
    2a50:       1a fb           .word   0xfb1a  ; ????
    2a52:       03 90           .word   0x9003  ; ????
    2a54:       a0 a2           std     Z+32, r10       ; 0x20
    2a56:       40 da           rcall   .-2944          ; 0x1ed8 <__stack+0xdd9>
    2a58:       f3 98           cbi     0x1e, 3 ; 30
    2a5a:       bf 5f           subi    r27, 0xFF       ; 255
    2a5c:       21 6b           ori     r18, 0xB1       ; 177
    2a5e:       ab a2           std     Y+35, r10       ; 0x23
    2a60:       13 85           ldd     r17, Z+11       ; 0x0b
    2a62:       c7 89           ldd     r28, Z+23       ; 0x17
    2a64:       9f cf           rjmp    .-194           ; 0x29a4 <__stack+0x18a5>
    2a66:       30 11           cpse    r19, r0
    2a68:       31 0a           sbc     r3, r17
    2a6a:       86 e0           ldi     r24, 0x06       ; 6
    2a6c:       c0 20           and     r12, r0
    2a6e:       90 78           andi    r25, 0x80       ; 128
    2a70:       02 60           ori     r16, 0x02       ; 2
    2a72:       01 8c           ldd     r0, Z+25        ; 0x19
    2a74:       76 91           elpm    r23, Z+
    2a76:       bc 30           cpi     r27, 0x0C       ; 12
    2a78:       ef 20           and     r14, r15
    2a7a:       61 24           eor     r6, r1
    2a7c:       66 e2           ldi     r22, 0x26       ; 38
    2a7e:       42 fa           bst     r4, 2
    2a80:       33 1c           adc     r3, r3
    2a82:       5b f9           .word   0xf95b  ; ????
    2a84:       79 98           cbi     0x0f, 1 ; 15
    2a86:       fc 30           cpi     r31, 0x0C       ; 12
    2a88:       d7 31           cpi     r29, 0x17       ; 23
    2a8a:       20 08           sbc     r2, r0
    2a8c:       30 f7           brcc    .-52            ; 0x2a5a <__stack+0x195b>
    2a8e:       bb e0           ldi     r27, 0x0B       ; 11
    2a90:       41 3f           cpi     r20, 0xF1       ; 241
    2a92:       cf 98           cbi     0x19, 7 ; 25
    2a94:       e4 5a           subi    r30, 0xA4       ; 164
    2a96:       f0 fe           sbrs    r15, 0
    2a98:       d3 50           subi    r29, 0x03       ; 3
    2a9a:       02 38           cpi     r16, 0x82       ; 130
    2a9c:       40 0f           add     r20, r16
    2a9e:       64 d7           rcall   .+3784          ; 0x3968 <__stack+0x2869>
    2aa0:       90 30           cpi     r25, 0x00       ; 0
    2aa2:       c0 2d           mov     r28, r0
    2aa4:       70 1c           adc     r7, r0
    2aa6:       e2 28           or      r14, r2
    2aa8:       fc 04           cpc     r15, r12
    2aaa:       b8 a7           std     Y+40, r27       ; 0x28
    2aac:       33 ca           rjmp    .-2970          ; 0x1f14 <__stack+0xe15>
    2aae:       e1 30           cpi     r30, 0x01       ; 1
    2ab0:       59 69           ori     r21, 0x99       ; 153
    2ab2:       94 9e           mul     r9, r20
    2ab4:       0a 67           ori     r16, 0x7A       ; 122
    2ab6:       29 66           ori     r18, 0x69       ; 105
    2ab8:       81 e0           ldi     r24, 0x01       ; 1
    2aba:       c4 26           eor     r12, r20
    2abc:       d3 66           ori     r29, 0x63       ; 99
    2abe:       40 e0           ldi     r20, 0x00       ; 0
    2ac0:       d3 eb           ldi     r29, 0xB3       ; 179
    2ac2:       8c 30           cpi     r24, 0x0C       ; 12
    2ac4:       9f e0           ldi     r25, 0x0F       ; 15
    2ac6:       a2 cb           rjmp    .-2236          ; 0x220c <__stack+0x110d>
    2ac8:       fe 2e           mov     r15, r30
    2aca:       a3 bb           out     0x13, r26       ; 19
    2acc:       ab 21           and     r26, r11
    2ace:       b3 16           cp      r11, r19
    2ad0:       da c4           rjmp    .+2484          ; 0x3486 <__stack+0x2387>
    2ad2:       08 36           cpi     r16, 0x68       ; 104
    2ad4:       b3 81           ldd     r27, Z+3        ; 0x03
    2ad6:       01 7f           andi    r16, 0xF1       ; 241
    2ad8:       b8 98           cbi     0x17, 0 ; 23
    2ada:       a0 05           cpc     r26, r0
    2adc:       80 b5           in      r24, 0x20       ; 32
    2ade:       46 e9           ldi     r20, 0x96       ; 150
    2ae0:       0e 44           sbci    r16, 0x4E       ; 78
    2ae2:       98 1f           adc     r25, r24
    2ae4:       4e a8           ldd     r4, Y+54        ; 0x36
    2ae6:       b5 05           cpc     r27, r5
    2ae8:       e6 30           cpi     r30, 0x06       ; 6
    2aea:       08 61           ori     r16, 0x18       ; 24
    2aec:       d7 35           cpi     r29, 0x57       ; 87
    2aee:       7b f9           .word   0xf97b  ; ????
    2af0:       f9 41           sbci    r31, 0x19       ; 25
    2af2:       12 56           subi    r17, 0x62       ; 98
    2af4:       b8 82           st      Y, r11
    2af6:       f3 8d           ldd     r31, Z+27       ; 0x1b
    2af8:       5b 3f           cpi     r21, 0xFB       ; 251
    2afa:       03 5a           subi    r16, 0xA3       ; 163
    2afc:       3f a8           ldd     r3, Y+55        ; 0x37
    2afe:       48 40           sbci    r20, 0x08       ; 8
    2b00:       01 30           cpi     r16, 0x01       ; 1
    2b02:       04 1c           adc     r0, r4
    2b04:       b3 d5           rcall   .+2918          ; 0x366c <__stack+0x256d>
    2b06:       9e ff           .word   0xff9e  ; ????
    2b08:       84 90           lpm     r8, Z+
    2b0a:       20 12           cpse    r2, r16
    2b0c:       69 bd           out     0x29, r22       ; 41
    2b0e:       42 bb           out     0x12, r20       ; 18
    2b10:       29 df           rcall   .-430           ; 0x2964 <__stack+0x1865>
    2b12:       24 20           and     r2, r4
    2b14:       e8 98           cbi     0x1d, 0 ; 29
    2b16:       1a 5d           subi    r17, 0xDA       ; 218
    2b18:       88 08           sbc     r8, r8
    2b1a:       42 a7           std     Z+42, r20       ; 0x2a
    2b1c:       ec fb           .word   0xfbec  ; ????
    2b1e:       fa 9c           mul     r15, r10
    2b20:       97 c8           rjmp    .-3794          ; 0x1c50 <__stack+0xb51>
    2b22:       78 6d           ori     r23, 0xD8       ; 216
    2b24:       76 1a           sub     r7, r22
    2b26:       f8 87           std     Y+8, r31        ; 0x08
    2b28:       2c 67           ori     r18, 0x7C       ; 124
    2b2a:       fd 7f           andi    r31, 0xFD       ; 253
    2b2c:       bf 9a           sbi     0x17, 7 ; 23
    2b2e:       a5 71           andi    r26, 0x15       ; 21
    2b30:       4b a7           std     Y+43, r20       ; 0x2b
    2b32:       db 52           subi    r29, 0x2B       ; 43
    2b34:       a5 e3           ldi     r26, 0x35       ; 53
    2b36:       90 19           sub     r25, r0
    2b38:       c8 b8           out     0x08, r12       ; 8
    2b3a:       f0 4e           sbci    r31, 0xE0       ; 224
    2b3c:       f3 98           cbi     0x1e, 3 ; 30
    2b3e:       c0 23           and     r28, r16
    2b40:       17 6e           ori     r17, 0xE7       ; 231
    2b42:       28 bc           out     0x28, r2        ; 40
    2b44:       42 5b           subi    r20, 0xB2       ; 178
    2b46:       58 34           cpi     r21, 0x48       ; 72
    2b48:       8f a9           ldd     r24, Y+55       ; 0x37
    2b4a:       98 90           .word   0x9098  ; ????
    2b4c:       23 16           cp      r2, r19
    2b4e:       e7 88           ldd     r14, Z+23       ; 0x17
    2b50:       02 01           movw    r0, r4
    2b52:       db 60           ori     r29, 0x0B       ; 11
    2b54:       81 7f           andi    r24, 0xF1       ; 241
    2b56:       b6 98           cbi     0x16, 6 ; 22
    2b58:       18 c0           rjmp    .+48            ; 0x2b8a <__stack+0x1a8b>
    2b5a:       db 49           sbci    r29, 0x9B       ; 155
    2b5c:       d0 30           cpi     r29, 0x00       ; 0
    2b5e:       fa 9f           mul     r31, r26
    2b60:       db 55           subi    r29, 0x5B       ; 91
    2b62:       d0 6a           ori     r29, 0xA0       ; 160
    2b64:       02 50           subi    r16, 0x02       ; 2
    2b66:       f0 84           ldd     r15, Z+8        ; 0x08
    2b68:       9a 04           cpc     r9, r10
    2b6a:       10 e4           ldi     r17, 0x40       ; 64
    2b6c:       0f 82           std     Y+7, r0 ; 0x07
    2b6e:       d9 3b           cpi     r29, 0xB9       ; 185
    2b70:       0a fe           .word   0xfe0a  ; ????
    2b72:       98 44           sbci    r25, 0x48       ; 72
    2b74:       8c ce           rjmp    .-744           ; 0x288e <__stack+0x178f>
    2b76:       a6 41           sbci    r26, 0x16       ; 22
    2b78:       66 44           sbci    r22, 0x46       ; 70
    2b7a:       08 fc           .word   0xfc08  ; ????
    2b7c:       99 c8           rjmp    .-3790          ; 0x1cb0 <__stack+0xbb1>
    2b7e:       b3 40           sbci    r27, 0x03       ; 3
    2b80:       e9 b4           in      r14, 0x29       ; 41
    2b82:       14 fa           bst     r1, 4
    2b84:       ae 69           ori     r26, 0x9E       ; 158
    2b86:       b3 80           ldd     r11, Z+3        ; 0x03
    2b88:       20 b7           in      r18, 0x30       ; 48
    2b8a:       98 00           .word   0x0098  ; ????
    2b8c:       ee a0           ldd     r14, Y+38       ; 0x26
    2b8e:       42 4c           sbci    r20, 0xC2       ; 194
    2b90:       53 1e           adc     r5, r19
    2b92:       26 de           rcall   .-948           ; 0x27e0 <__stack+0x16e1>
    2b94:       01 23           and     r16, r17
    2b96:       30 d4           rcall   .+2144          ; 0x33f8 <__stack+0x22f9>
    2b98:       24 36           cpi     r18, 0x64       ; 100
    2b9a:       11 b1           in      r17, 0x01       ; 1
    2b9c:       21 ef           ldi     r18, 0xF1       ; 241
    2b9e:       98 22           and     r9, r24
    2ba0:       42 26           eor     r4, r18
    2ba2:       c0 c0           rjmp    .+384           ; 0x2d24 <__stack+0x1c25>
    2ba4:       18 58           subi    r17, 0x88       ; 136
    2ba6:       7e af           std     Y+62, r23       ; 0x3e
    2ba8:       62 45           sbci    r22, 0x52       ; 82
    2baa:       f1 98           cbi     0x1e, 1 ; 30
    2bac:       d3 ed           ldi     r29, 0xD3       ; 211
    2bae:       93 60           ori     r25, 0x03       ; 3
    2bb0:       12 3b           cpi     r17, 0xB2       ; 178
    2bb2:       79 f9           .word   0xf979  ; ????
    2bb4:       05 fc           sbrc    r0, 5
    2bb6:       87 c0           rjmp    .+270           ; 0x2cc6 <__stack+0x1bc7>
    2bb8:       20 1e           adc     r2, r16
    2bba:       77 a9           ldd     r23, Z+55       ; 0x37
    2bbc:       98 62           ori     r25, 0x28       ; 40
    2bbe:       d0 07           cpc     r29, r16
    2bc0:       98 34           cpi     r25, 0x48       ; 72
    2bc2:       f3 c4           rjmp    .+2534          ; 0x35aa <__stack+0x24ab>
    2bc4:       15 39           cpi     r17, 0x95       ; 149
    2bc6:       e0 8b           std     Z+16, r30       ; 0x10
    2bc8:       d8 9f           mul     r29, r24
    2bca:       b5 98           cbi     0x16, 5 ; 22
    2bcc:       05 f1           brhs    .+64            ; 0x2c0e <__stack+0x1b0f>
    2bce:       f4 0f           add     r31, r20
    2bd0:       b3 ac           ldd     r11, Z+59       ; 0x3b
    2bd2:       07 95           ror     r16
    2bd4:       85 3d           cpi     r24, 0xD5       ; 213
    2bd6:       ea d5           rcall   .+3028          ; 0x37ac <__stack+0x26ad>
    2bd8:       88 cb           rjmp    .-2288          ; 0x22ea <__stack+0x11eb>
    2bda:       9b 4e           sbci    r25, 0xEB       ; 235
    2bdc:       dd aa           std     Y+53, r13       ; 0x35
    2bde:       fc c6           rjmp    .+3576          ; 0x39d8 <__stack+0x28d9>
    2be0:       8a fe           .word   0xfe8a  ; ????
    2be2:       98 47           sbci    r25, 0x78       ; 120
    2be4:       66 e4           ldi     r22, 0x46       ; 70
    2be6:       c8 fe           .word   0xfec8  ; ????
    2be8:       eb 22           and     r14, r27
    2bea:       20 0c           add     r2, r0
    2bec:       02 01           movw    r0, r4
    2bee:       31 ce           rjmp    .-926           ; 0x2852 <__stack+0x1753>
    2bf0:       3f 66           ori     r19, 0x6F       ; 111
    2bf2:       c5 78           andi    r28, 0x85       ; 133
    2bf4:       db f9           .word   0xf9db  ; ????
    2bf6:       c8 e1           ldi     r28, 0x18       ; 24
    2bf8:       08 80           ld      r0, Y
    2bfa:       41 b3           in      r20, 0x11       ; 17
    2bfc:       3d 98           cbi     0x07, 5 ; 7
    2bfe:       b0 af           std     Z+56, r27       ; 0x38
    2c00:       fb d9           rcall   .-3082          ; 0x1ff8 <__stack+0xef9>
    2c02:       7b 40           sbci    r23, 0x0B       ; 11
    2c04:       0b b3           in      r16, 0x1b       ; 27
    2c06:       04 9a           sbi     0x00, 4 ; 0
    2c08:       b3 24           eor     r11, r3
    2c0a:       90 7a           andi    r25, 0xA0       ; 160
    2c0c:       f3 04           cpc     r15, r3
    2c0e:       4c 80           ldd     r4, Y+4 ; 0x04
    2c10:       08 fb           .word   0xfb08  ; ????
    2c12:       07 3b           cpi     r16, 0xB7       ; 183
    2c14:       de 98           cbi     0x1b, 6 ; 27
    2c16:       81 10           cpse    r8, r1
    2c18:       26 08           sbc     r2, r6
    2c1a:       3d 98           cbi     0x07, 5 ; 7
    2c1c:       64 2e           mov     r6, r20
    2c1e:       ed d5           rcall   .+3034          ; 0x37fa <__stack+0x26fb>
    2c20:       84 11           cpse    r24, r4
    2c22:       7c 98           cbi     0x0f, 4 ; 15
    2c24:       5a b3           in      r21, 0x1a       ; 26
    2c26:       3d 8b           std     Y+21, r19       ; 0x15
    2c28:       f0 f9           bld     r31, 0
    2c2a:       a0 01           movw    r20, r0
    2c2c:       fe 98           cbi     0x1f, 6 ; 31
    2c2e:       2d eb           ldi     r18, 0xBD       ; 189
    2c30:       b9 30           cpi     r27, 0x09       ; 9
    2c32:       14 27           eor     r17, r20
    2c34:       e6 f3           brts    .-8             ; 0x2c2e <__stack+0x1b2f>
    2c36:       0b 0a           sbc     r0, r27
    2c38:       0f 01           movw    r0, r30
    2c3a:       28 01           movw    r4, r16
    2c3c:       9f 9a           sbi     0x13, 7 ; 19
    2c3e:       7b 20           and     r7, r11
    2c40:       d0 3f           cpi     r29, 0xF0       ; 240
    2c42:       9a 12           cpse    r9, r26
    2c44:       44 6f           ori     r20, 0xF4       ; 244
    2c46:       bd 08           sbc     r11, r13
    2c48:       01 7f           andi    r16, 0xF1       ; 241
    2c4a:       f3 14           cp      r15, r3
    2c4c:       c2 08           sbc     r12, r2
    2c4e:       02 43           sbci    r16, 0x32       ; 50
    2c50:       0b 09           sbc     r16, r11
    2c52:       b4 0c           add     r11, r4
    2c54:       4b 95           .word   0x954b  ; ????
    2c56:       f8 46           sbci    r31, 0x68       ; 104
    2c58:       24 d5           rcall   .+2632          ; 0x36a2 <__stack+0x25a3>
    2c5a:       89 9e           mul     r8, r25
    2c5c:       b6 40           sbci    r27, 0x06       ; 6
    2c5e:       79 46           sbci    r23, 0x69       ; 105
    2c60:       8e 28           or      r8, r14
    2c62:       ff 21           and     r31, r15
    2c64:       b5 e5           ldi     r27, 0x55       ; 85
    2c66:       d3 c0           rjmp    .+422           ; 0x2e0e <__stack+0x1d0f>
    2c68:       af 1e           adc     r10, r31
    2c6a:       cd 66           ori     r28, 0x6D       ; 109
    2c6c:       d6 fc           sbrc    r13, 6
    2c6e:       c0 40           sbci    r28, 0x00       ; 0
    2c70:       88 a3           std     Y+32, r24       ; 0x20
    2c72:       e0 b8           out     0x00, r14       ; 0
    2c74:       6e 5d           subi    r22, 0xDE       ; 222
    2c76:       30 06           cpc     r3, r16
    2c78:       97 f5           brid    .+100           ; 0x2cde <__stack+0x1bdf>
    2c7a:       6d 29           or      r22, r13
    2c7c:       7d b2           in      r7, 0x1d        ; 29
    2c7e:       9f fa           .word   0xfa9f  ; ????
    2c80:       7f 80           ldd     r7, Y+7 ; 0x07
    2c82:       f4 a5           ldd     r31, Z+44       ; 0x2c
    2c84:       a0 0f           add     r26, r16
    2c86:       16 c8           rjmp    .-4052          ; 0x1cb4 <__stack+0xbb5>
    2c88:       03 40           sbci    r16, 0x03       ; 3
    2c8a:       ca 20           and     r12, r10
    2c8c:       0e f1           brts    .+66            ; 0x2cd0 <__stack+0x1bd1>
    2c8e:       57 f3           brie    .-44            ; 0x2c64 <__stack+0x1b65>
    2c90:       e0 eb           ldi     r30, 0xB0       ; 176
    2c92:       d9 03           fmulsu  r21, r17
    2c94:       ef 48           sbci    r30, 0x8F       ; 143
    2c96:       d4 15           cp      r29, r4
    2c98:       fd 95 19 bc     jmp     0x7f7832        ; 0x7f7832 <__data_load_end+0x7ef406>
    2c9c:       a8 2a           or      r10, r24
    2c9e:       18 2d           mov     r17, r8
    2ca0:       b8 30           cpi     r27, 0x08       ; 8
    2ca2:       bd 70           andi    r27, 0x0D       ; 13
    2ca4:       98 c0           rjmp    .+304           ; 0x2dd6 <__stack+0x1cd7>
    2ca6:       48 13           cpse    r20, r24
    2ca8:       9d 14           cp      r9, r13
    2caa:       87 28           or      r8, r7
    2cac:       30 af           std     Z+56, r19       ; 0x38
    2cae:       9b 1a           sub     r9, r27
    2cb0:       f1 28           or      r15, r1
    2cb2:       7a a5           ldd     r23, Y+42       ; 0x2a
    2cb4:       41 2d           mov     r20, r1
    2cb6:       14 7b           andi    r17, 0xB4       ; 180
    2cb8:       7b 08           sbc     r7, r11
    2cba:       21 97           sbiw    r28, 0x01       ; 1
    2cbc:       04 fe           sbrs    r0, 4
    2cbe:       6a c1           rjmp    .+724           ; 0x2f94 <__stack+0x1e95>
    2cc0:       d0 bd           out     0x20, r29       ; 32
    2cc2:       8b 20           and     r8, r11
    2cc4:       1d a3           std     Y+37, r17       ; 0x25
    2cc6:       e0 ba           out     0x10, r14       ; 16
    2cc8:       fb 06           cpc     r15, r27
    2cca:       88 bc           out     0x28, r8        ; 40
    2ccc:       98 b5           in      r25, 0x28       ; 40
    2cce:       02 01           movw    r0, r4
    2cd0:       5e 98           cbi     0x0b, 6 ; 11
    2cd2:       d7 8c           ldd     r13, Z+31       ; 0x1f
    2cd4:       80 96           adiw    r24, 0x20       ; 32
    2cd6:       c8 72           andi    r28, 0x28       ; 40
    2cd8:       c8 40           sbci    r28, 0x08       ; 8
    2cda:       04 f0           brlt    .+0             ; 0x2cdc <__stack+0x1bdd>
    2cdc:       37 2c           mov     r3, r7
    2cde:       80 11           cpse    r24, r0
    2ce0:       a3 b1           in      r26, 0x03       ; 3
    2ce2:       98 7e           andi    r25, 0xE8       ; 232
    2ce4:       bf c1           rjmp    .+894           ; 0x3064 <__stack+0x1f65>
    2ce6:       f5 32           cpi     r31, 0x25       ; 37
    2ce8:       45 ef           ldi     r20, 0xF5       ; 245
    2cea:       01 81           ldd     r16, Z+1        ; 0x01
    2cec:       20 98           cbi     0x04, 0 ; 4
    2cee:       04 fc           sbrc    r0, 4
    2cf0:       a3 60           ori     r26, 0x03       ; 3
    2cf2:       41 2c           mov     r4, r1
    2cf4:       88 89           ldd     r24, Y+16       ; 0x10
    2cf6:       94 c6           rjmp    .+3368          ; 0x3a20 <__stack+0x2921>
    2cf8:       d0 c6           rjmp    .+3488          ; 0x3a9a <__stack+0x299b>
    2cfa:       af 22           and     r10, r31
    2cfc:       3f db           rcall   .-2434          ; 0x237c <__stack+0x127d>
    2cfe:       b5 e0           ldi     r27, 0x05       ; 5
    2d00:       fe f6           brtc    .-66            ; 0x2cc0 <__stack+0x1bc1>
    2d02:       3c 6f           ori     r19, 0xFC       ; 252
    2d04:       22 30           cpi     r18, 0x02       ; 2
    2d06:       f1 fd           sbrc    r31, 1
    2d08:       1e c0           rjmp    .+60            ; 0x2d46 <__stack+0x1c47>
    2d0a:       03 19           sub     r16, r3
    2d0c:       00 73           andi    r16, 0x30       ; 48
    2d0e:       50 3c           cpi     r21, 0xC0       ; 192
    2d10:       08 6a           ori     r16, 0xA8       ; 168
    2d12:       65 6d           ori     r22, 0xD5       ; 213
    2d14:       f9 29           or      r31, r9
    2d16:       68 d3           rcall   .+1744          ; 0x33e8 <__stack+0x22e9>
    2d18:       e6 a0           ldd     r14, Z+38       ; 0x26
    2d1a:       05 70           andi    r16, 0x05       ; 5
    2d1c:       b0 c0           rjmp    .+352           ; 0x2e7e <__stack+0x1d7f>
    2d1e:       05 58           subi    r16, 0x85       ; 133
    2d20:       73 10           cpse    r7, r3
    2d22:       01 3c           cpi     r16, 0xC1       ; 193
    2d24:       2b 19           sub     r18, r11
    2d26:       3e e5           ldi     r19, 0x5E       ; 94
    2d28:       d0 81           ld      r29, Z
    2d2a:       78 10           cpse    r7, r8
    2d2c:       d1 95           neg     r29
    2d2e:       fd 71           andi    r31, 0x1D       ; 29
    2d30:       fa 9b           sbis    0x1f, 2 ; 31
    2d32:       c4 30           cpi     r28, 0x04       ; 4
    2d34:       f3 5f           subi    r31, 0xF3       ; 243
    2d36:       cc 48           sbci    r28, 0x8C       ; 140
    2d38:       f3 30           cpi     r31, 0x03       ; 3
    2d3a:       ad 56           subi    r26, 0x6D       ; 109
    2d3c:       b3 50           subi    r27, 0x03       ; 3
    2d3e:       a9 b3           in      r26, 0x19       ; 25
    2d40:       88 ed           ldi     r24, 0xD8       ; 216
    2d42:       ee 08           sbc     r14, r14
    2d44:       06 81           ldd     r16, Z+6        ; 0x06
    2d46:       24 e0           ldi     r18, 0x04       ; 4
    2d48:       d3 04           cpc     r13, r3
    2d4a:       bf 7c           andi    r27, 0xCF       ; 207
    2d4c:       cb 98           cbi     0x19, 3 ; 25
    2d4e:       2d 9b           sbis    0x05, 5 ; 5
    2d50:       39 e5           ldi     r19, 0x59       ; 89
    2d52:       09 45           sbci    r16, 0x59       ; 89
    2d54:       b3 bf           out     0x33, r27       ; 51
    2d56:       49 c0           rjmp    .+146           ; 0x2dea <__stack+0x1ceb>
    2d58:       22 18           sub     r2, r2
    2d5a:       21 6c           ori     r18, 0xC1       ; 193
    2d5c:       b3 ac           ldd     r11, Z+59       ; 0x3b
    2d5e:       26 e0           ldi     r18, 0x06       ; 6
    2d60:       7b 05           cpc     r23, r11
    2d62:       03 7e           andi    r16, 0xE3       ; 227
    2d64:       08 0c           add     r0, r8
    2d66:       84 89           ldd     r24, Z+20       ; 0x14
    2d68:       30 22           and     r3, r16
    2d6a:       d4 b3           in      r29, 0x14       ; 20
    2d6c:       d9 11           cpse    r29, r9
    2d6e:       80 8c           ldd     r8, Z+24        ; 0x18
    2d70:       29 05           cpc     r18, r9
    2d72:       46 6f           ori     r20, 0xF6       ; 246
    2d74:       1c 45           sbci    r17, 0x5C       ; 92
    2d76:       23 eb           ldi     r18, 0xB3       ; 179
    2d78:       61 41           sbci    r22, 0x11       ; 17
    2d7a:       4d f5           brhc    .+82            ; 0x2dce <__stack+0x1ccf>
    2d7c:       ac 20           and     r10, r12
    2d7e:       e0 a9           ldd     r30, Z+48       ; 0x30
    2d80:       65 51           subi    r22, 0x15       ; 21
    2d82:       c6 a8           ldd     r12, Z+54       ; 0x36
    2d84:       d9 b1           in      r29, 0x09       ; 9
    2d86:       b3 94           inc     r11
    2d88:       ff 20           and     r15, r15
    2d8a:       06 e6           ldi     r16, 0x66       ; 102
    2d8c:       b3 5f           subi    r27, 0xF3       ; 243
    2d8e:       0b 85           ldd     r16, Y+11       ; 0x0b
    2d90:       2a fe           .word   0xfe2a  ; ????
    2d92:       13 8c           ldd     r1, Z+27        ; 0x1b
    2d94:       f3 bd           out     0x23, r31       ; 35
    2d96:       6e 11           cpse    r22, r14
    2d98:       70 ff           sbrs    r23, 0
    2d9a:       f3 85           ldd     r31, Z+11       ; 0x0b
    2d9c:       fc ea           ldi     r31, 0xAC       ; 172
    2d9e:       e3 e2           ldi     r30, 0x23       ; 35
    2da0:       c0 f3           brcs    .-16            ; 0x2d92 <__stack+0x1c93>
    2da2:       b7 33           cpi     r27, 0x37       ; 55
    2da4:       f3 cd           rjmp    .-1050          ; 0x298c <__stack+0x188d>
    2da6:       ff 0d           add     r31, r15
    2da8:       b5 b8           out     0x05, r11       ; 5
    2daa:       9d f3           brhs    .-26            ; 0x2d92 <__stack+0x1c93>
    2dac:       d3 53           subi    r29, 0x33       ; 51
    2dae:       a8 9b           sbis    0x15, 0 ; 21
    2db0:       88 48           sbci    r24, 0x88       ; 136
    2db2:       fe 3c           cpi     r31, 0xCE       ; 206
    2db4:       d1 8c           ldd     r13, Z+25       ; 0x19
    2db6:       93 35           cpi     r25, 0x53       ; 83
    2db8:       76 ff           sbrs    r23, 6
    2dba:       18 ff           .word   0xff18  ; ????
    2dbc:       24 51           subi    r18, 0x14       ; 20
    2dbe:       66 9c           mul     r6, r6
    2dc0:       59 67           ori     r21, 0x79       ; 121
    2dc2:       98 08           sbc     r9, r8
    2dc4:       a2 d3           rcall   .+1860          ; 0x350a <__stack+0x240b>
    2dc6:       09 d1           rcall   .+530           ; 0x2fda <__stack+0x1edb>
    2dc8:       d3 ea           ldi     r29, 0xA3       ; 163
    2dca:       b3 f9           bld     r27, 3
    2dcc:       c8 cf           rjmp    .-112           ; 0x2d5e <__stack+0x1c5f>
    2dce:       38 dc           rcall   .-1936          ; 0x2640 <__stack+0x1541>
    2dd0:       c4 ce           rjmp    .-632           ; 0x2b5a <__stack+0x1a5b>
    2dd2:       31 e3           ldi     r19, 0x31       ; 49
    2dd4:       45 39           cpi     r20, 0x95       ; 149
    2dd6:       40 af           std     Z+56, r20       ; 0x38
    2dd8:       74 ad           ldd     r23, Z+60       ; 0x3c
    2dda:       60 f8           bld     r6, 0
    2ddc:       06 61           ori     r16, 0x16       ; 22
    2dde:       41 37           cpi     r20, 0x71       ; 113
    2de0:       9b f4           brvc    .+38            ; 0x2e08 <__stack+0x1d09>
    2de2:       ac c6           rjmp    .+3416          ; 0x3b3c <__stack+0x2a3d>
    2de4:       6b 97           sbiw    r28, 0x1b       ; 27
    2de6:       01 b5           in      r16, 0x21       ; 33
    2de8:       f3 a0           ldd     r15, Z+35       ; 0x23
    2dea:       f9 d6           rcall   .+3570          ; 0x3bde <__stack+0x2adf>
    2dec:       01 2e           mov     r0, r17
    2dee:       17 62           ori     r17, 0x27       ; 39
    2df0:       07 b2           in      r0, 0x17        ; 23
    2df2:       9b d3           rcall   .+1846          ; 0x352a <__stack+0x242b>
    2df4:       fd 32           cpi     r31, 0x2D       ; 45
    2df6:       9a 77           andi    r25, 0x7A       ; 122
    2df8:       d8 f9           .word   0xf9d8  ; ????
    2dfa:       fc ff           .word   0xfffc  ; ????
    2dfc:       d8 32           cpi     r29, 0x28       ; 40
    2dfe:       ff d1           rcall   .+1022          ; 0x31fe <__stack+0x20ff>
    2e00:       cc 9d           mul     r28, r12
    2e02:       a3 66           ori     r26, 0x63       ; 99
    2e04:       58 fb           .word   0xfb58  ; ????
    2e06:       4b dd           rcall   .-1386          ; 0x289e <__stack+0x179f>
    2e08:       44 3b           cpi     r20, 0xB4       ; 180
    2e0a:       e8 15           cp      r30, r8
    2e0c:       fb c7           rjmp    .+4086          ; 0x3e04 <__stack+0x2d05>
    2e0e:       3e 28           or      r3, r14
    2e10:       5e bd           out     0x2e, r21       ; 46
    2e12:       db 66           ori     r29, 0x6B       ; 107
    2e14:       78 d2           rcall   .+1264          ; 0x3306 <__stack+0x2207>
    2e16:       d8 ff           .word   0xffd8  ; ????
    2e18:       f8 98           cbi     0x1f, 0 ; 31
    2e1a:       d3 b0           in      r13, 0x03       ; 3
    2e1c:       a5 c9           rjmp    .-3254          ; 0x2168 <__stack+0x1069>
    2e1e:       ff 90           pop     r15
    2e20:       b2 ff           sbrs    r27, 2
    2e22:       8c 91           ld      r24, X
    2e24:       f5 ff           sbrs    r31, 5
    2e26:       40 8d           ldd     r20, Z+24       ; 0x18
    2e28:       99 c3           rjmp    .+1842          ; 0x355c <__stack+0x245d>
    2e2a:       df f8           .word   0xf8df  ; ????
    2e2c:       d9 88           ldd     r13, Y+17       ; 0x11
    2e2e:       f8 cb           rjmp    .-2064          ; 0x2620 <__stack+0x1521>
    2e30:       e6 10           cpse    r14, r6
    2e32:       0b cd           rjmp    .-1514          ; 0x284a <__stack+0x174b>
    2e34:       6f d8           rcall   .-3874          ; 0x1f14 <__stack+0xe15>
    2e36:       cb 98           cbi     0x19, 3 ; 25
    2e38:       fc 2c           mov     r15, r12
    2e3a:       4b ec           ldi     r20, 0xCB       ; 203
    2e3c:       4d 7c           andi    r20, 0xCD       ; 205
    2e3e:       ff ff           .word   0xffff  ; ????
    2e40:       b3 34           cpi     r27, 0x43       ; 67
    2e42:       fd aa           std     Y+53, r15       ; 0x35
    2e44:       fb 63           ori     r31, 0x3B       ; 59
    2e46:       5f da           rcall   .-2882          ; 0x2306 <__stack+0x1207>
    2e48:       61 72           andi    r22, 0x21       ; 33
    2e4a:       97 ff           sbrs    r25, 7
    2e4c:       df ed           ldi     r29, 0xDF       ; 223
    2e4e:       e1 8b           std     Z+17, r30       ; 0x11
    2e50:       97 6c           ori     r25, 0xC7       ; 199
    2e52:       19 7c           andi    r17, 0xC9       ; 201
    2e54:       2c 8c           ldd     r2, Y+28        ; 0x1c
    2e56:       fd fe           .word   0xfefd  ; ????
    2e58:       2c b2           in      r2, 0x1c        ; 28
    2e5a:       c0 3a           cpi     r28, 0xA0       ; 160
    2e5c:       fe a3           std     Y+38, r31       ; 0x26
    2e5e:       21 f5           brne    .+72            ; 0x2ea8 <__stack+0x1da9>
    2e60:       5f 36           cpi     r21, 0x6F       ; 111
    2e62:       74 06           cpc     r7, r20
    2e64:       5e ff           .word   0xff5e  ; ????
    2e66:       fb bd           out     0x2b, r31       ; 43
    2e68:       22 40           sbci    r18, 0x02       ; 2
    2e6a:       10 08           sbc     r1, r0
    2e6c:       12 4b           sbci    r17, 0xB2       ; 178
    2e6e:       b5 40           sbci    r27, 0x05       ; 5
    2e70:       e4 f8           bld     r14, 4
    2e72:       7a 81           ldd     r23, Y+2        ; 0x02
    2e74:       cb 12           cpse    r12, r27
    2e76:       c9 7b           andi    r28, 0xB9       ; 185
    2e78:       b4 ed           ldi     r27, 0xD4       ; 212
    2e7a:       00 cf           rjmp    .-512           ; 0x2c7c <__stack+0x1b7d>
    2e7c:       56 e5           ldi     r21, 0x56       ; 86
    2e7e:       fb e9           ldi     r31, 0x9B       ; 155
    2e80:       3c 80           ldd     r3, Y+4 ; 0x04
    2e82:       6d 08           sbc     r6, r13
    2e84:       81 90           ld      r8, Z+
    2e86:       c2 7e           andi    r28, 0xE2       ; 226
    2e88:       51 a5           ldd     r21, Z+41       ; 0x29
    2e8a:       92 16           cp      r9, r18
    2e8c:       f8 40           sbci    r31, 0x08       ; 8
    2e8e:       7f 85           ldd     r23, Y+15       ; 0x0f
    2e90:       28 05           cpc     r18, r8
    2e92:       b1 20           and     r11, r1
    2e94:       01 b4           in      r0, 0x21        ; 33
    2e96:       ed d0           rcall   .+474           ; 0x3072 <__stack+0x1f73>
    2e98:       30 80           ld      r3, Z
    2e9a:       92 62           ori     r25, 0x22       ; 34
    2e9c:       c0 e0           ldi     r28, 0x00       ; 0
    2e9e:       8d 6d           ori     r24, 0xDD       ; 221
    2ea0:       7d 3b           cpi     r23, 0xBD       ; 189
    2ea2:       03 7f           andi    r16, 0xF3       ; 243
    2ea4:       ee 3c           cpi     r30, 0xCE       ; 206
    2ea6:       fe d8           rcall   .-3588          ; 0x20a4 <__stack+0xfa5>
    2ea8:       27 44           sbci    r18, 0x47       ; 71
    2eaa:       ef da           rcall   .-2594          ; 0x248a <__stack+0x138b>
    2eac:       9f 60           ori     r25, 0x0F       ; 15
    2eae:       96 79           andi    r25, 0x96       ; 150
    2eb0:       dd 97           sbiw    r26, 0x3d       ; 61
    2eb2:       d2 44           sbci    r29, 0x42       ; 66
    2eb4:       94 96           adiw    r26, 0x24       ; 36
    2eb6:       4c 06           cpc     r4, r28
    2eb8:       68 b5           in      r22, 0x28       ; 40
    2eba:       bb 99           sbic    0x17, 3 ; 23
    2ebc:       ee fb           .word   0xfbee  ; ????
    2ebe:       77 9d           mul     r23, r7
    2ec0:       45 0a           sbc     r4, r21
    2ec2:       98 fe           .word   0xfe98  ; ????
    2ec4:       7e 81           ldd     r23, Y+6        ; 0x06
    2ec6:       6d fa           .word   0xfa6d  ; ????
    2ec8:       29 96           adiw    r28, 0x09       ; 9
    2eca:       e2 84           ldd     r14, Z+10       ; 0x0a
    2ecc:       7e cb           rjmp    .-2308          ; 0x25ca <__stack+0x14cb>
    2ece:       96 99           sbic    0x12, 6 ; 18
    2ed0:       08 3a           cpi     r16, 0xA8       ; 168
    2ed2:       11 c5           rjmp    .+2594          ; 0x38f6 <__stack+0x27f7>
    2ed4:       7f 6f           ori     r23, 0xFF       ; 255
    2ed6:       88 b8           out     0x08, r8        ; 8
    2ed8:       fe 07           cpc     r31, r30
    2eda:       f5 fc           sbrc    r15, 5
    2edc:       80 ba           out     0x10, r8        ; 16
    2ede:       e0 20           and     r14, r0
    2ee0:       82 f3           brmi    .-32            ; 0x2ec2 <__stack+0x1dc3>
    2ee2:       23 cc           rjmp    .-1978          ; 0x272a <__stack+0x162b>
    2ee4:       ba 7e           andi    r27, 0xEA       ; 234
    2ee6:       c5 b7           in      r28, 0x35       ; 53
    2ee8:       c4 10           cpse    r12, r4
    2eea:       1e 04           cpc     r1, r14
    2eec:       e0 8a           std     Z+16, r14       ; 0x10
    2eee:       8c af           std     Y+60, r24       ; 0x3c
    2ef0:       6c 29           or      r22, r12
    2ef2:       c8 fb           .word   0xfbc8  ; ????
    2ef4:       cd b3           in      r28, 0x1d       ; 29
    2ef6:       6b 3c           cpi     r22, 0xCB       ; 203
    2ef8:       d7 58           subi    r29, 0x87       ; 135
    2efa:       d6 56           subi    r29, 0x66       ; 102
    2efc:       ff d8           rcall   .-3586          ; 0x20fc <__stack+0xffd>
    2efe:       d0 ff           sbrs    r29, 0
    2f00:       a2 24           eor     r10, r2
    2f02:       04 c6           rjmp    .+3080          ; 0x3b0c <__stack+0x2a0d>
    2f04:       16 1f           adc     r17, r22
    2f06:       02 fc           sbrc    r0, 2
    2f08:       3d 67           ori     r19, 0x7D       ; 125
    2f0a:       25 e2           ldi     r18, 0x25       ; 37
    2f0c:       a8 19           sub     r26, r8
    2f0e:       86 c6           rjmp    .+3340          ; 0x3c1c <__stack+0x2b1d>
    2f10:       ff 21           and     r31, r15
    2f12:       fb 16           cp      r15, r27
    2f14:       b8 cc           rjmp    .-1680          ; 0x2886 <__stack+0x1787>
    2f16:       66 8d           ldd     r22, Z+30       ; 0x1e
    2f18:       30 91 87 ac     lds     r19, 0xAC87
    2f1c:       5f 61           ori     r21, 0x1F       ; 31
    2f1e:       dd 08           sbc     r13, r13
    2f20:       b1 fa           bst     r11, 1
    2f22:       52 e6           ldi     r21, 0x62       ; 98
    2f24:       0a a4           ldd     r0, Y+42        ; 0x2a
    2f26:       c5 fa           bst     r12, 5
    2f28:       ad 8b           std     Y+21, r26       ; 0x15
    2f2a:       1a cc           rjmp    .-1996          ; 0x2760 <__stack+0x1661>
    2f2c:       a1 fe           sbrs    r10, 1
    2f2e:       6c a2           std     Y+36, r6        ; 0x24
    2f30:       90 fb           bst     r25, 0
    2f32:       65 3e           cpi     r22, 0xE5       ; 229
    2f34:       01 67           ori     r16, 0x71       ; 113
    2f36:       18 9b           sbis    0x03, 0 ; 3
    2f38:       ee b6           in      r14, 0x3e       ; 62
    2f3a:       d0 88           ldd     r13, Z+16       ; 0x10
    2f3c:       f9 61           ori     r31, 0x19       ; 25
    2f3e:       70 8d           ldd     r23, Z+24       ; 0x18
    2f40:       71 70           andi    r23, 0x01       ; 1
    2f42:       8f fb           .word   0xfb8f  ; ????
    2f44:       6f 30           cpi     r22, 0x0F       ; 15
    2f46:       fc b1           in      r31, 0x0c       ; 12
    2f48:       02 43           sbci    r16, 0x32       ; 50
    2f4a:       da fa           .word   0xfada  ; ????
    2f4c:       61 33           cpi     r22, 0x31       ; 49
    2f4e:       1a 23           and     r17, r26
    2f50:       b4 24           eor     r11, r4
    2f52:       73 36           cpi     r23, 0x63       ; 99
    2f54:       4f 6c           ori     r20, 0xCF       ; 207
    2f56:       45 48           sbci    r20, 0x85       ; 133
    2f58:       f8 37           cpi     r31, 0x78       ; 120
    2f5a:       fd 32           cpi     r31, 0x2D       ; 45
    2f5c:       02 9e           mul     r0, r18
    2f5e:       49 d8           rcall   .-3950          ; 0x1ff2 <__stack+0xef3>
    2f60:       a8 fc           .word   0xfca8  ; ????
    2f62:       6a b5           in      r22, 0x2a       ; 42
    2f64:       67 9f           mul     r22, r23
    2f66:       b6 d6           rcall   .+3436          ; 0x3cd4 <__stack+0x2bd5>
    2f68:       b1 4f           sbci    r27, 0xF1       ; 241
    2f6a:       c2 dc           rcall   .-1660          ; 0x28f0 <__stack+0x17f1>
    2f6c:       63 66           ori     r22, 0x63       ; 99
    2f6e:       d3 fd           sbrc    r29, 3
    2f70:       b2 b2           in      r11, 0x12       ; 18
    2f72:       01 8c           ldd     r0, Z+25        ; 0x19
    2f74:       61 a6           std     Z+41, r6        ; 0x29
    2f76:       0f 28           or      r0, r15
    2f78:       fa c9           rjmp    .-3084          ; 0x236e <__stack+0x126f>
    2f7a:       33 d9           rcall   .-3482          ; 0x21e2 <__stack+0x10e3>
    2f7c:       d6 b8           out     0x06, r13       ; 6
    2f7e:       04 11           cpse    r16, r4
    2f80:       78 55           subi    r23, 0x58       ; 88
    2f82:       b7 b5           in      r27, 0x27       ; 39
    2f84:       ed 82           std     Y+5, r14        ; 0x05
    2f86:       f9 85           ldd     r31, Y+9        ; 0x09
    2f88:       06 26           eor     r0, r22
    2f8a:       3f ee           ldi     r19, 0xEF       ; 239
    2f8c:       de d8           rcall   .-3652          ; 0x214a <__stack+0x104b>
    2f8e:       ff 80           ldd     r15, Y+7        ; 0x07
    2f90:       cc 31           cpi     r28, 0x1C       ; 28
    2f92:       88 cd           rjmp    .-1264          ; 0x2aa4 <__stack+0x19a5>
    2f94:       bd 4c           sbci    r27, 0xCD       ; 205
    2f96:       e3 01           movw    r28, r6
    2f98:       6b ab           std     Y+51, r22       ; 0x33
    2f9a:       b2 82           std     Z+2, r11        ; 0x02
    2f9c:       3f db           rcall   .-2434          ; 0x261c <__stack+0x151d>
    2f9e:       e5 fe           sbrs    r14, 5
    2fa0:       20 2c           mov     r2, r0
    2fa2:       b3 c3           rjmp    .+1894          ; 0x370a <__stack+0x260b>
    2fa4:       b6 62           ori     r27, 0x26       ; 38
    2fa6:       d8 f9           .word   0xf9d8  ; ????
    2fa8:       c3 7c           andi    r28, 0xC3       ; 195
    2faa:       b7 37           cpi     r27, 0x77       ; 119
    2fac:       47 85           ldd     r20, Z+15       ; 0x0f
    2fae:       02 6a           ori     r16, 0xA2       ; 162
    2fb0:       c7 d9           rcall   .-3186          ; 0x2340 <__stack+0x1241>
    2fb2:       b8 fd           .word   0xfdb8  ; ????
    2fb4:       4b 97           sbiw    r24, 0x1b       ; 27
    2fb6:       02 cc           rjmp    .-2044          ; 0x27bc <__stack+0x16bd>
    2fb8:       36 37           cpi     r19, 0x76       ; 118
    2fba:       6c ff           .word   0xff6c  ; ????
    2fbc:       f0 fd           sbrc    r31, 0
    2fbe:       2e 58           subi    r18, 0x8E       ; 142
    2fc0:       ce 40           sbci    r28, 0x0E       ; 14
    2fc2:       c6 76           andi    r28, 0x66       ; 102
    2fc4:       c6 d8           rcall   .-3700          ; 0x2152 <__stack+0x1053>
    2fc6:       fe 14           cp      r15, r14
    2fc8:       9b 1b           sub     r25, r27
    2fca:       f2 d4           rcall   .+2532          ; 0x39b0 <__stack+0x28b1>
    2fcc:       02 d8           rcall   .-4092          ; 0x1fd2 <__stack+0xed3>
    2fce:       40 b2           in      r4, 0x10        ; 16
    2fd0:       f4 c9           rjmp    .-3096          ; 0x23ba <__stack+0x12bb>
    2fd2:       de dc           rcall   .-1604          ; 0x2990 <__stack+0x1891>
    2fd4:       c4 fa           bst     r12, 4
    2fd6:       8c ee           ldi     r24, 0xEC       ; 236
    2fd8:       cf 6e           ori     r28, 0xEF       ; 239
    2fda:       57 08           sbc     r5, r7
    2fdc:       80 1b           sub     r24, r16
    2fde:       d1 dd           rcall   .-1118          ; 0x2b82 <__stack+0x1a83>
    2fe0:       0c 12           cpse    r0, r28
    2fe2:       4c b2           in      r4, 0x1c        ; 28
    2fe4:       41 e1           ldi     r20, 0x11       ; 17
    2fe6:       04 ad           ldd     r16, Z+60       ; 0x3c
    2fe8:       63 4d           sbci    r22, 0xD3       ; 211
    2fea:       23 68           ori     r18, 0x83       ; 131
    2fec:       f7 05           cpc     r31, r7
    2fee:       c6 5c           subi    r28, 0xC6       ; 198
    2ff0:       57 e5           ldi     r21, 0x57       ; 87
    2ff2:       e7 58           subi    r30, 0x87       ; 135
    2ff4:       b3 86           std     Z+11, r11       ; 0x0b
    2ff6:       a6 ff           sbrs    r26, 6
    2ff8:       22 12           cpse    r2, r18
    2ffa:       ed 88           ldd     r14, Y+21       ; 0x15
    2ffc:       ff 40           sbci    r31, 0x0F       ; 15
    2ffe:       be 66           ori     r27, 0x6E       ; 110
    3000:       c7 f6           brid    .-80            ; 0x2fb2 <__stack+0x1eb3>
    3002:       9f c7           rjmp    .+3902          ; 0x3f42 <__stack+0x2e43>
    3004:       f3 ed           ldi     r31, 0xD3       ; 211
    3006:       c8 b3           in      r28, 0x18       ; 24
    3008:       ff 7d           andi    r31, 0xDF       ; 223
    300a:       9e 40           sbci    r25, 0x0E       ; 14
    300c:       70 ad           ldd     r23, Z+56       ; 0x38
    300e:       66 be           out     0x36, r6        ; 54
    3010:       bc 05           cpc     r27, r12
    3012:       84 7e           andi    r24, 0xE4       ; 228
    3014:       e6 6f           ori     r30, 0xF6       ; 246
    3016:       fd 92           st      X+, r15
    3018:       28 fe           .word   0xfe28  ; ????
    301a:       b9 bb           out     0x19, r27       ; 25
    301c:       ba e1           ldi     r27, 0x1A       ; 26
    301e:       41 ff           sbrs    r20, 1
    3020:       bf f7           brid    .-18            ; 0x3010 <__stack+0x1f11>
    3022:       2c eb           ldi     r18, 0xBC       ; 188
    3024:       2d fe           .word   0xfe2d  ; ????
    3026:       17 fc           sbrc    r1, 7
    3028:       0a 85           ldd     r16, Y+10       ; 0x0a
    302a:       a7 75           andi    r26, 0x57       ; 87
    302c:       89 8b           std     Y+17, r24       ; 0x11
    302e:       49 e7           ldi     r20, 0x79       ; 121
    3030:       1b fc           .word   0xfc1b  ; ????
    3032:       1f 08           sbc     r1, r15
    3034:       c7 83           std     Z+7, r28        ; 0x07
    3036:       80 6f           ori     r24, 0xF0       ; 240
    3038:       94 42           sbci    r25, 0x24       ; 36
    303a:       39 5c           subi    r19, 0xC9       ; 201
    303c:       ca f8           .word   0xf8ca  ; ????
    303e:       01 11           cpse    r16, r1
    3040:       20 02           muls    r18, r16
    3042:       80 af           std     Z+56, r24       ; 0x38
    3044:       d6 bf           out     0x36, r29       ; 54
    3046:       04 84           ldd     r0, Z+12        ; 0x0c
    3048:       b9 fe           .word   0xfeb9  ; ????
    304a:       02 24           eor     r0, r2
    304c:       dc 19           sub     r29, r12
    304e:       05 f8           bld     r0, 5
    3050:       0a 82           std     Y+2, r0 ; 0x02
    3052:       96 21           and     r25, r6
    3054:       2f f6           brid    .-118           ; 0x2fe0 <__stack+0x1ee1>
    3056:       85 fa           bst     r8, 5
    3058:       b0 b2           in      r11, 0x10       ; 16
    305a:       11 05           cpc     r17, r1
    305c:       2e ca           rjmp    .-2980          ; 0x24ba <__stack+0x13bb>
    305e:       77 64           ori     r23, 0x47       ; 71
    3060:       15 be           out     0x35, r1        ; 53
    3062:       03 b1           in      r16, 0x03       ; 3
    3064:       81 cf           rjmp    .-254           ; 0x2f68 <__stack+0x1e69>
    3066:       02 83           std     Z+2, r16        ; 0x02
    3068:       b9 10           cpse    r11, r9
    306a:       01 28           or      r0, r1
    306c:       8b 40           sbci    r24, 0x0B       ; 11
    306e:       a0 3d           cpi     r26, 0xD0       ; 208
    3070:       d7 82           std     Z+7, r13        ; 0x07
    3072:       52 10           cpse    r5, r2
    3074:       13 1d           adc     r17, r3
    3076:       f3 0d           add     r31, r3
    3078:       18 62           ori     r17, 0x28       ; 40
    307a:       9d 6b           ori     r25, 0xBD       ; 189
    307c:       bb 50           subi    r27, 0x0B       ; 11
    307e:       fb fd           .word   0xfdfb  ; ????
    3080:       80 87           std     Z+8, r24        ; 0x08
    3082:       bb 0f           add     r27, r27
    3084:       36 e5           ldi     r19, 0x56       ; 86
    3086:       20 50           subi    r18, 0x00       ; 0
    3088:       80 6d           ori     r24, 0xD0       ; 208
    308a:       ee 57           subi    r30, 0x7E       ; 126
    308c:       20 e0           ldi     r18, 0x00       ; 0
    308e:       f8 77           andi    r31, 0x78       ; 120
    3090:       81 38           cpi     r24, 0x81       ; 129
    3092:       24 7e           andi    r18, 0xE4       ; 228
    3094:       8d 02           muls    r24, r29
    3096:       d9 17           cp      r29, r25
    3098:       99 f8           .word   0xf899  ; ????
    309a:       20 17           cp      r18, r16
    309c:       8c 91           ld      r24, X
    309e:       04 67           ori     r16, 0x74       ; 116
    30a0:       e3 01           movw    r28, r6
    30a2:       35 d9           rcall   .-3478          ; 0x230e <__stack+0x120f>
    30a4:       05 07           cpc     r16, r21
    30a6:       fc 45           sbci    r31, 0x5C       ; 92
    30a8:       30 d5           rcall   .+2656          ; 0x3b0a <__stack+0x2a0b>
    30aa:       e1 30           cpi     r30, 0x01       ; 1
    30ac:       48 05           cpc     r20, r8
    30ae:       b5 42           sbci    r27, 0x25       ; 37
    30b0:       60 e2           ldi     r22, 0x20       ; 32
    30b2:       79 91           ld      r23, Y+
    30b4:       4c a7           std     Y+44, r20       ; 0x2c
    30b6:       fc 58           subi    r31, 0x8C       ; 140
    30b8:       0d 60           ori     r16, 0x0D       ; 13
    30ba:       48 e3           ldi     r20, 0x38       ; 56
    30bc:       61 e4           ldi     r22, 0x41       ; 65
    30be:       fe 46           sbci    r31, 0x6E       ; 110
    30c0:       ad 22           and     r10, r29
    30c2:       84 2c           mov     r8, r4
    30c4:       e7 77           andi    r30, 0x77       ; 119
    30c6:       76 51           subi    r23, 0x16       ; 22
    30c8:       40 c5           rjmp    .+2688          ; 0x3b4a <__stack+0x2a4b>
    30ca:       0c f6           brge    .-126           ; 0x304e <__stack+0x1f4f>
    30cc:       df fa           .word   0xfadf  ; ????
    30ce:       fc 3b           cpi     r31, 0xBC       ; 188
    30d0:       66 41           sbci    r22, 0x16       ; 22
    30d2:       10 f4           brcc    .+4             ; 0x30d8 <__stack+0x1fd9>
    30d4:       76 df           rcall   .-276           ; 0x2fc2 <__stack+0x1ec3>
    30d6:       cb f9           .word   0xf9cb  ; ????
    30d8:       cd 02           muls    r28, r29
    30da:       15 f9           bld     r17, 5
    30dc:       82 f6           brpl    .-96            ; 0x307e <__stack+0x1f7f>
    30de:       bf 2d           mov     r27, r15
    30e0:       fc cc           rjmp    .-1544          ; 0x2ada <__stack+0x19db>
    30e2:       81 20           and     r8, r1
    30e4:       d1 aa           std     Z+49, r13       ; 0x31
    30e6:       80 e1           ldi     r24, 0x10       ; 16
    30e8:       12 33           cpi     r17, 0x32       ; 50
    30ea:       f7 20           and     r15, r7
    30ec:       d5 02           muls    r29, r21
    30ee:       fc b3           in      r31, 0x1c       ; 28
    30f0:       10 fc           sbrc    r1, 0
    30f2:       2d 5f           subi    r18, 0xFD       ; 253
    30f4:       03 f8           bld     r0, 3
    30f6:       9e 04           cpc     r9, r14
    30f8:       a8 f5           brcc    .+106           ; 0x3164 <__stack+0x2065>
    30fa:       c6 37           cpi     r28, 0x76       ; 118
    30fc:       48 08           sbc     r4, r8
    30fe:       6e 61           ori     r22, 0x1E       ; 30
    3100:       09 b3           in      r16, 0x19       ; 25
    3102:       51 d4           rcall   .+2210          ; 0x39a6 <__stack+0x28a7>
    3104:       fd 61           ori     r31, 0x1D       ; 29
    3106:       77 2d           mov     r23, r7
    3108:       3a 10           cpse    r3, r10
    310a:       cc b5           in      r28, 0x2c       ; 44
    310c:       fe 6c           ori     r31, 0xCE       ; 206
    310e:       50 08           sbc     r5, r0
    3110:       ff 4b           sbci    r31, 0xBF       ; 191
    3112:       cc 83           std     Y+4, r28        ; 0x04
    3114:       2c eb           ldi     r18, 0xBC       ; 188
    3116:       b4 76           andi    r27, 0x64       ; 100
    3118:       a4 f0           brlt    .+40            ; 0x3142 <__stack+0x2043>
    311a:       f9 c5           rjmp    .+3058          ; 0x3d0e <__stack+0x2c0f>
    311c:       88 d8           rcall   .-3824          ; 0x222e <__stack+0x112f>
    311e:       31 c5           rjmp    .+2658          ; 0x3b82 <__stack+0x2a83>
    3120:       56 4b           sbci    r21, 0xB6       ; 182
    3122:       40 2d           mov     r20, r0
    3124:       be be           out     0x3e, r11       ; 62
    3126:       90 fb           bst     r25, 0
    3128:       08 d4           rcall   .+2064          ; 0x393a <__stack+0x283b>
    312a:       43 cf           rjmp    .-378           ; 0x2fb2 <__stack+0x1eb3>
    312c:       d4 41           sbci    r29, 0x14       ; 20
    312e:       01 76           andi    r16, 0x61       ; 97
    3130:       29 dd           rcall   .-1454          ; 0x2b84 <__stack+0x1a85>
    3132:       63 01           movw    r12, r6
    3134:       04 7d           andi    r16, 0xD4       ; 212
    3136:       aa 89           ldd     r26, Y+18       ; 0x12
    3138:       f3 bf           out     0x33, r31       ; 51
    313a:       50 f8           bld     r5, 0
    313c:       62 2d           mov     r22, r2
    313e:       7f 01           movw    r14, r30
    3140:       08 8c           ldd     r0, Y+24        ; 0x18
    3142:       2e 21           and     r18, r14
    3144:       08 5f           subi    r16, 0xF8       ; 248
    3146:       d3 60           ori     r29, 0x03       ; 3
    3148:       e4 c3           rjmp    .+1992          ; 0x3912 <__stack+0x2813>
    314a:       3c 67           ori     r19, 0x7C       ; 124
    314c:       e6 2e           mov     r14, r22
    314e:       40 c4           rjmp    .+2176          ; 0x39d0 <__stack+0x28d1>
    3150:       be 05           cpc     r27, r14
    3152:       6b 84           ldd     r6, Y+11        ; 0x0b
    3154:       21 cc           rjmp    .-1982          ; 0x2998 <__stack+0x1899>
    3156:       d2 5f           subi    r29, 0xF2       ; 242
    3158:       f6 7d           andi    r31, 0xD6       ; 214
    315a:       02 27           eor     r16, r18
    315c:       fd fd           .word   0xfdfd  ; ????
    315e:       38 fe           .word   0xfe38  ; ????
    3160:       8a 71           andi    r24, 0x1A       ; 26
    3162:       17 75           andi    r17, 0x57       ; 87
    3164:       d7 8a           std     Z+23, r13       ; 0x17
    3166:       ac b3           in      r26, 0x1c       ; 28
    3168:       80 63           ori     r24, 0x30       ; 48
    316a:       cb 36           cpi     r28, 0x6B       ; 107
    316c:       ac b1           in      r26, 0x0c       ; 12
    316e:       3e 2d           mov     r19, r14
    3170:       ff b7           in      r31, 0x3f       ; 63
    3172:       37 fa           bst     r3, 7
    3174:       7f 30           cpi     r23, 0x0F       ; 15
    3176:       fb b3           in      r31, 0x1b       ; 27
    3178:       76 9b           sbis    0x0e, 6 ; 14
    317a:       80 2f           mov     r24, r16
    317c:       ed b5           in      r30, 0x2d       ; 45
    317e:       c0 fa           bst     r12, 0
    3180:       89 f2           breq    .-94            ; 0x3124 <__stack+0x2025>
    3182:       e8 50           subi    r30, 0x08       ; 8
    3184:       ef ec           ldi     r30, 0xCF       ; 207
    3186:       9f 20           and     r9, r15
    3188:       02 64           ori     r16, 0x42       ; 66
    318a:       72 c4           rjmp    .+2276          ; 0x3a70 <__stack+0x2971>
    318c:       bf e3           ldi     r27, 0x3F       ; 63
    318e:       b0 79           andi    r27, 0x90       ; 144
    3190:       66 b6           in      r6, 0x36        ; 54
    3192:       98 48           sbci    r25, 0x88       ; 136
    3194:       4d 95 39 c6     jmp     0x538c72        ; 0x538c72 <__data_load_end+0x530846>
    3198:       9d 24           eor     r9, r13
    319a:       65 d9           rcall   .-3382          ; 0x2466 <__stack+0x1367>
    319c:       08 fe           .word   0xfe08  ; ????
    319e:       e7 3a           cpi     r30, 0xA7       ; 167
    31a0:       f9 bc           out     0x29, r15       ; 41
    31a2:       84 cb           rjmp    .-2296          ; 0x28ac <__stack+0x17ad>
    31a4:       a9 86           std     Y+9, r10        ; 0x09
    31a6:       29 ef           ldi     r18, 0xF9       ; 249
    31a8:       58 b3           in      r21, 0x18       ; 24
    31aa:       ff c8           rjmp    .-3586          ; 0x23aa <__stack+0x12ab>
    31ac:       dd 41           sbci    r29, 0x1D       ; 29
    31ae:       c2 85           ldd     r28, Z+10       ; 0x0a
    31b0:       ff 06           cpc     r15, r31
    31b2:       97 ab           std     Z+55, r25       ; 0x37
    31b4:       62 fc           sbrc    r6, 2
    31b6:       3b ec           ldi     r19, 0xCB       ; 203
    31b8:       f3 29           or      r31, r3
    31ba:       d4 c0           rjmp    .+424           ; 0x3364 <__stack+0x2265>
    31bc:       01 b2           in      r0, 0x11        ; 17
    31be:       39 f7           brne    .-50            ; 0x318e <__stack+0x208f>
    31c0:       c2 b8           out     0x02, r12       ; 2
    31c2:       b3 fb           bst     r27, 3
    31c4:       f7 e8           ldi     r31, 0x87       ; 135
    31c6:       10 61           ori     r17, 0x10       ; 16
    31c8:       32 66           ori     r19, 0x62       ; 98
    31ca:       80 ce           rjmp    .-768           ; 0x2ecc <__stack+0x1dcd>
    31cc:       59 66           ori     r21, 0x69       ; 105
    31ce:       a0 ce           rjmp    .-704           ; 0x2f10 <__stack+0x1e11>
    31d0:       b3 30           cpi     r27, 0x03       ; 3
    31d2:       10 44           sbci    r17, 0x40       ; 64
    31d4:       c2 65           ori     r28, 0x52       ; 82
    31d6:       66 c0           rjmp    .+204           ; 0x32a4 <__stack+0x21a5>
    31d8:       9c b3           in      r25, 0x1c       ; 28
    31da:       b3 d0           rcall   .+358           ; 0x3342 <__stack+0x2243>
    31dc:       bf 7f           andi    r27, 0xFF       ; 255
    31de:       3c d8           rcall   .-3976          ; 0x2258 <__stack+0x1159>
    31e0:       80 01           movw    r16, r0
    31e2:       4c 66           ori     r20, 0x6C       ; 108
    31e4:       a3 20           and     r10, r3
    31e6:       d7 28           or      r13, r7
    31e8:       19 b6           in      r1, 0x39        ; 57
    31ea:       49 ce           rjmp    .-878           ; 0x2e7e <__stack+0x1d7f>
    31ec:       00 66           ori     r16, 0x60       ; 96
    31ee:       c2 8f           std     Z+26, r28       ; 0x1a
    31f0:       d9 7f           andi    r29, 0xF9       ; 249
    31f2:       01 df           rcall   .-510           ; 0x2ff6 <__stack+0x1ef7>
    31f4:       7f b3           in      r23, 0x1f       ; 31
    31f6:       fe d0           rcall   .+508           ; 0x33f4 <__stack+0x22f5>
    31f8:       b3 40           sbci    r27, 0x03       ; 3
    31fa:       18 6d           ori     r17, 0xD8       ; 216
    31fc:       fd cc           rjmp    .-1542          ; 0x2bf8 <__stack+0x1af9>
    31fe:       c0 fb           bst     r28, 0
    3200:       a1 12           cpse    r10, r17
    3202:       93 f6           brvc    .-92            ; 0x31a8 <__stack+0x20a9>
    3204:       ba 34           cpi     r27, 0x4A       ; 74
    3206:       c0 d9           rcall   .-3200          ; 0x2588 <__stack+0x1489>
    3208:       a0 08           sbc     r10, r0
    320a:       3d 86           std     Y+13, r3        ; 0x0d
    320c:       67 fb           bst     r22, 7
    320e:       6f 74           andi    r22, 0x4F       ; 79
    3210:       ff 7a           andi    r31, 0xAF       ; 175
    3212:       ea c0           rjmp    .+468           ; 0x33e8 <__stack+0x22e9>
    3214:       c7 7b           andi    r28, 0xB7       ; 183
    3216:       82 0c           add     r8, r2
    3218:       6a f8           .word   0xf86a  ; ????
    321a:       d8 86           std     Y+8, r13        ; 0x08
    321c:       80 d3           rcall   .+1792          ; 0x391e <__stack+0x281f>
    321e:       56 d0           rcall   .+172           ; 0x32cc <__stack+0x21cd>
    3220:       f9 7f           andi    r31, 0xF9       ; 249
    3222:       ac a5           ldd     r26, Y+44       ; 0x2c
    3224:       f0 9f           mul     r31, r16
    3226:       3c 98           cbi     0x07, 4 ; 7
    3228:       8e c5           rjmp    .+2844          ; 0x3d46 <__stack+0x2c47>
    322a:       7d 82           std     Y+5, r7 ; 0x05
    322c:       e4 bb           out     0x14, r30       ; 20
    322e:       01 ed           ldi     r16, 0xD1       ; 209
    3230:       f6 fc           sbrc    r15, 6
    3232:       98 cd           rjmp    .-1232          ; 0x2d64 <__stack+0x1c65>
    3234:       70 da           rcall   .-2848          ; 0x2716 <__stack+0x1617>
    3236:       d1 fb           bst     r29, 1
    3238:       04 06           cpc     r0, r20
    323a:       4b 19           sub     r20, r11
    323c:       14 2b           or      r17, r20
    323e:       2c 80           ldd     r2, Y+4 ; 0x04
    3240:       36 e7           ldi     r19, 0x76       ; 118
    3242:       c1 3a           cpi     r28, 0xA1       ; 161
    3244:       fc 04           cpc     r15, r12
    3246:       29 96           adiw    r28, 0x09       ; 9
    3248:       9e 48           sbci    r25, 0x8E       ; 142
    324a:       64 fe           sbrs    r6, 4
    324c:       7f c0           rjmp    .+254           ; 0x334c <__stack+0x224d>
    324e:       c6 38           cpi     r28, 0x86       ; 134
    3250:       d2 f6           brpl    .-76            ; 0x3206 <__stack+0x2107>
    3252:       73 c0           rjmp    .+230           ; 0x333a <__stack+0x223b>
    3254:       22 d7           rcall   .+3652          ; 0x409a <__stack+0x2f9b>
    3256:       ec 90           ld      r14, X
    3258:       e6 e2           ldi     r30, 0x26       ; 38
    325a:       d2 fe           sbrs    r13, 2
    325c:       bd a5           ldd     r27, Y+45       ; 0x2d
    325e:       08 6e           ori     r16, 0xE8       ; 232
    3260:       46 4e           sbci    r20, 0xE6       ; 230
    3262:       f3 88           ldd     r15, Z+19       ; 0x13
    3264:       01 f4           brne    .+0             ; 0x3266 <__stack+0x2167>
    3266:       c6 7a           andi    r28, 0xA6       ; 166
    3268:       15 e5           ldi     r17, 0x55       ; 85
    326a:       b3 f0           brvs    .+44            ; 0x3298 <__stack+0x2199>
    326c:       bf 99           sbic    0x17, 7 ; 23
    326e:       98 da           rcall   .-2768          ; 0x27a0 <__stack+0x16a1>
    3270:       62 b6           in      r6, 0x32        ; 50
    3272:       f9 37           cpi     r31, 0x79       ; 121
    3274:       b6 6c           ori     r27, 0xC6       ; 198
    3276:       66 06           cpc     r6, r22
    3278:       c1 6b           ori     r28, 0xB1       ; 177
    327a:       ac 71           andi    r26, 0x1C       ; 28
    327c:       a3 6e           ori     r26, 0xE3       ; 227
    327e:       39 b3           in      r19, 0x19       ; 25
    3280:       fb 1d           adc     r31, r11
    3282:       12 c0           rjmp    .+36            ; 0x32a8 <__stack+0x21a9>
    3284:       e0 20           and     r14, r0
    3286:       c8 6c           ori     r28, 0xC8       ; 200
    3288:       b3 16           cp      r11, r19
    328a:       c0 77           andi    r28, 0x70       ; 112
    328c:       f6 d9           rcall   .-3092          ; 0x267a <__stack+0x157b>
    328e:       c0 2d           mov     r28, r0
    3290:       fd cc           rjmp    .-1542          ; 0x2c8c <__stack+0x1b8d>
    3292:       a0 fd           sbrc    r26, 0
    3294:       ff 8b           std     Y+23, r31       ; 0x17
    3296:       b6 50           subi    r27, 0x06       ; 6
    3298:       2e b3           in      r18, 0x1e       ; 30
    329a:       58 08           sbc     r5, r8
    329c:       42 d7           rcall   .+3716          ; 0x4122 <__stack+0x3023>
    329e:       5f be           out     0x3f, r5        ; 63
    32a0:       f6 29           or      r31, r6
    32a2:       2c 19           sub     r18, r12
    32a4:       02 fe           sbrs    r0, 2
    32a6:       d0 41           sbci    r29, 0x10       ; 16
    32a8:       c9 df           rcall   .-110           ; 0x323c <__stack+0x213d>
    32aa:       91 02           muls    r25, r17
    32ac:       04 80           ldd     r0, Z+4 ; 0x04
    32ae:       63 a6           std     Z+43, r6        ; 0x2b
    32b0:       65 2c           mov     r6, r5
    32b2:       66 df           rcall   .-308           ; 0x3180 <__stack+0x2081>
    32b4:       68 ff           .word   0xff68  ; ????
    32b6:       ed 6e           ori     r30, 0xED       ; 237
    32b8:       f0 40           sbci    r31, 0x00       ; 0
    32ba:       90 84           ldd     r9, Z+8 ; 0x08
    32bc:       8a 07           cpc     r24, r26
    32be:       c7 7e           andi    r28, 0xE7       ; 231
    32c0:       cc 03           fmulsu  r20, r20
    32c2:       16 f6           brtc    .-124           ; 0x3248 <__stack+0x2149>
    32c4:       98 78           andi    r25, 0x88       ; 136
    32c6:       fd cd           rjmp    .-1030          ; 0x2ec2 <__stack+0x1dc3>
    32c8:       d7 64           ori     r29, 0x47       ; 71
    32ca:       10 82           st      Z, r1
    32cc:       40 b1           in      r20, 0x00       ; 0
    32ce:       12 a3           std     Z+34, r17       ; 0x22
    32d0:       67 1a           sub     r6, r23
    32d2:       6b 66           ori     r22, 0x6B       ; 107
    32d4:       38 fa           .word   0xfa38  ; ????
    32d6:       f6 8c           ldd     r15, Z+30       ; 0x1e
    32d8:       09 4f           sbci    r16, 0xF9       ; 249
    32da:       7e 6f           ori     r23, 0xFE       ; 254
    32dc:       30 06           cpc     r3, r16
    32de:       05 c0           rjmp    .+10            ; 0x32ea <__stack+0x21eb>
    32e0:       08 c7           rjmp    .+3600          ; 0x40f2 <__stack+0x2ff3>
    32e2:       8c 66           ori     r24, 0x6C       ; 108
    32e4:       57 da           rcall   .-2898          ; 0x2794 <__stack+0x1695>
    32e6:       98 28           or      r9, r8
    32e8:       fc f2           brlt    .-66            ; 0x32a8 <__stack+0x21a9>
    32ea:       a5 f3           brhs    .-24            ; 0x32d4 <__stack+0x21d5>
    32ec:       de 23           and     r29, r30
    32ee:       bd 7a           andi    r27, 0xAD       ; 173
    32f0:       80 04           cpc     r8, r0
    32f2:       f0 8c           ldd     r15, Z+24       ; 0x18
    32f4:       fd cc           rjmp    .-1542          ; 0x2cf0 <__stack+0x1bf1>
    32f6:       94 b3           in      r25, 0x14       ; 20
    32f8:       b3 60           ori     r27, 0x03       ; 3
    32fa:       9b 19           sub     r25, r11
    32fc:       58 fe           .word   0xfe58  ; ????
    32fe:       bc f2           brlt    .-82            ; 0x32ae <__stack+0x21af>
    3300:       ca 4b           sbci    r28, 0xBA       ; 186
    3302:       66 10           cpse    r6, r6
    3304:       66 1a           sub     r6, r22
    3306:       fb cc           rjmp    .-1546          ; 0x2cfe <__stack+0x1bff>
    3308:       1a 5e           subi    r17, 0xEA       ; 234
    330a:       19 e8           ldi     r17, 0x89       ; 137
    330c:       b3 2c           mov     r11, r3
    330e:       db 80           ldd     r13, Y+3        ; 0x03
    3310:       08 16           cp      r0, r24
    3312:       02 3d           cpi     r16, 0xD2       ; 210
    3314:       e6 98           cbi     0x1c, 6 ; 28
    3316:       79 59           subi    r23, 0x99       ; 153
    3318:       be ed           ldi     r27, 0xDE       ; 222
    331a:       49 f8           .word   0xf849  ; ????
    331c:       3e 89           ldd     r19, Y+22       ; 0x16
    331e:       df fc           .word   0xfcdf  ; ????
    3320:       3e 84           ldd     r3, Y+14        ; 0x0e
    3322:       08 40           sbci    r16, 0x08       ; 8
    3324:       b0 f2           brcs    .-84            ; 0x32d2 <__stack+0x21d3>
    3326:       93 cc           rjmp    .-1754          ; 0x2c4e <__stack+0x1b4f>
    3328:       98 43           sbci    r25, 0x38       ; 56
    332a:       96 57           subi    r25, 0x76       ; 118
    332c:       fb 6f           ori     r31, 0xFB       ; 251
    332e:       12 1a           sub     r1, r18
    3330:       b7 04           cpc     r11, r7
    3332:       c6 4c           sbci    r28, 0xC6       ; 198
    3334:       d0 6f           ori     r29, 0xF0       ; 240
    3336:       94 30           cpi     r25, 0x04       ; 4
    3338:       68 b3           in      r22, 0x18       ; 24
    333a:       4b 92           .word   0x924b  ; ????
    333c:       a0 27           eor     r26, r16
    333e:       d6 98           cbi     0x1a, 6 ; 26
    3340:       05 37           cpi     r16, 0x75       ; 117
    3342:       e6 98           cbi     0x1c, 6 ; 28
    3344:       34 66           ori     r19, 0x64       ; 100
    3346:       d1 59           subi    r29, 0x91       ; 145
    3348:       fd 76           andi    r31, 0x6D       ; 109
    334a:       97 de           rcall   .-722           ; 0x307a <__stack+0x1f7b>
    334c:       fe 80           ldd     r15, Y+6        ; 0x06
    334e:       42 12           cpse    r4, r18
    3350:       c3 41           sbci    r28, 0x13       ; 19
    3352:       67 ff           sbrs    r22, 7
    3354:       d9 72           andi    r29, 0x29       ; 41
    3356:       ff de           rcall   .-514           ; 0x3156 <__stack+0x2057>
    3358:       98 af           std     Y+56, r25       ; 0x38
    335a:       01 30           cpi     r16, 0x01       ; 1
    335c:       98 d5           rcall   .+2864          ; 0x3e8e <__stack+0x2d8f>
    335e:       66 42           sbci    r22, 0x26       ; 38
    3360:       b3 fd           sbrc    r27, 3
    3362:       bd 98           cbi     0x17, 5 ; 23
    3364:       90 d8           rcall   .-3808          ; 0x2486 <__stack+0x1387>
    3366:       04 f0           brlt    .+0             ; 0x3368 <__stack+0x2269>
    3368:       c9 18           sub     r12, r9
    336a:       8d b6           in      r8, 0x3d        ; 61
    336c:       b3 10           cpse    r11, r3
    336e:       fb 77           andi    r31, 0x7B       ; 123
    3370:       80 98           cbi     0x10, 0 ; 16
    3372:       2c 66           ori     r18, 0x6C       ; 108
    3374:       36 fe           sbrs    r3, 6
    3376:       cc c3           rjmp    .+1944          ; 0x3b10 <__stack+0x2a11>
    3378:       fc cd           rjmp    .-1032          ; 0x2f72 <__stack+0x1e73>
    337a:       f6 98           cbi     0x1e, 6 ; 30
    337c:       b0 20           and     r11, r0
    337e:       c2 8f           std     Z+26, r28       ; 0x1a
    3380:       33 98           cbi     0x06, 3 ; 6
    3382:       f9 ca           rjmp    .-2574          ; 0x2976 <__stack+0x1877>
    3384:       fa 66           ori     r31, 0x6A       ; 106
    3386:       f8 98           cbi     0x1f, 0 ; 31
    3388:       0b 20           and     r0, r11
    338a:       1f f5           brid    .+70            ; 0x33d2 <__stack+0x22d3>
    338c:       98 d0           rcall   .+304           ; 0x34be <__stack+0x23bf>
    338e:       8b 36           cpi     r24, 0x6B       ; 107
    3390:       e2 a8           ldd     r14, Z+50       ; 0x32
    3392:       fc 7e           andi    r31, 0xEC       ; 236
    3394:       58 b2           in      r5, 0x18        ; 24
    3396:       ff 98           cbi     0x1f, 7 ; 31
    3398:       98 bb           out     0x18, r25       ; 24
    339a:       46 78           andi    r20, 0x86       ; 134
    339c:       ff 66           ori     r31, 0x6F       ; 111
    339e:       f8 98           cbi     0x1f, 0 ; 31
    33a0:       b1 f3           breq    .-20            ; 0x338e <__stack+0x228f>
    33a2:       ff 58           subi    r31, 0x8F       ; 143
    33a4:       98 e0           ldi     r25, 0x08       ; 8
    33a6:       b3 e2           ldi     r27, 0x23       ; 35
    33a8:       60 fa           bst     r6, 0
    33aa:       b3 04           cpc     r11, r3
    33ac:       3d 98           cbi     0x07, 5 ; 7
    33ae:       04 63           ori     r16, 0x34       ; 52
    33b0:       be 98           cbi     0x17, 6 ; 23
    33b2:       63 4c           sbci    r22, 0xC3       ; 195
    33b4:       19 c8           rjmp    .-4046          ; 0x23e8 <__stack+0x12e9>
    33b6:       f8 d9           rcall   .-3088          ; 0x27a8 <__stack+0x16a9>
    33b8:       b5 b0           in      r11, 0x05       ; 5
    33ba:       7f 32           cpi     r23, 0x2F       ; 47
    33bc:       d8 08           sbc     r13, r8
    33be:       05 de           rcall   .-1014          ; 0x2fca <__stack+0x1ecb>
    33c0:       58 c8           rjmp    .-3920          ; 0x2472 <__stack+0x1373>
    33c2:       d2 19           sub     r29, r2
    33c4:       38 ef           ldi     r19, 0xF8       ; 248
    33c6:       59 98           cbi     0x0b, 1 ; 11
    33c8:       10 3e           cpi     r17, 0xE0       ; 224
    33ca:       98 d8           rcall   .-3792          ; 0x24fc <__stack+0x13fd>
    33cc:       3c 80           ldd     r3, Y+4 ; 0x04
    33ce:       ff ac           ldd     r15, Y+63       ; 0x3f
    33d0:       98 e0           ldi     r25, 0x08       ; 8
    33d2:       63 f6           brvc    .-104           ; 0x336c <__stack+0x226d>
    33d4:       7f 08           sbc     r7, r15
    33d6:       23 e6           ldi     r18, 0x63       ; 99
    33d8:       98 1a           sub     r9, r24
    33da:       b6 66           ori     r27, 0x66       ; 102
    33dc:       70 fb           bst     r23, 0
    33de:       6f ac           ldd     r6, Y+63        ; 0x3f
    33e0:       98 30           cpi     r25, 0x08       ; 8
    33e2:       77 8c           ldd     r7, Z+31        ; 0x1f
    33e4:       30 69           ori     r19, 0x90       ; 144
    33e6:       b3 40           sbci    r27, 0x03       ; 3
    33e8:       bb fc           .word   0xfcbb  ; ????
    33ea:       ec 8b           std     Y+20, r30       ; 0x14
    33ec:       bf 76           andi    r27, 0x6F       ; 111
    33ee:       98 44           sbci    r25, 0x48       ; 72
    33f0:       10 84           ldd     r1, Z+8 ; 0x08
    33f2:       1a fb           .word   0xfb1a  ; ????
    33f4:       98 e4           ldi     r25, 0x48       ; 72
    33f6:       f9 67           ori     r31, 0x79       ; 121
    33f8:       b6 ed           ldi     r27, 0xD6       ; 214
    33fa:       02 44           sbci    r16, 0x42       ; 66
    33fc:       1b 7a           andi    r17, 0xAB       ; 171
    33fe:       98 38           cpi     r25, 0x88       ; 136
    3400:       ec b3           in      r30, 0x1c       ; 28
    3402:       c8 7d           andi    r28, 0xD8       ; 216
    3404:       98 80           ld      r9, Y
    3406:       61 b7           in      r22, 0x31       ; 49
    3408:       b4 98           cbi     0x16, 4 ; 22
    340a:       80 fa           bst     r8, 0
    340c:       47 66           ori     r20, 0x67       ; 103
    340e:       f8 98           cbi     0x1f, 0 ; 31
    3410:       7b 28           or      r7, r11
    3412:       0d 7d           andi    r16, 0xDD       ; 221
    3414:       98 0b           sbc     r25, r24
    3416:       bb fd           .word   0xfdbb  ; ????
    3418:       8c 3d           cpi     r24, 0xDC       ; 220
    341a:       af d8           rcall   .-3746          ; 0x257a <__stack+0x147b>
    341c:       32 04           cpc     r3, r2
    341e:       ff 98           cbi     0x1f, 7 ; 31
    3420:       98 bf           out     0x38, r25       ; 56
    3422:       75 44           sbci    r23, 0x45       ; 69
    3424:       e1 f9           bld     r30, 1
    3426:       eb a5           ldd     r30, Y+43       ; 0x2b
    3428:       08 2f           mov     r16, r24
    342a:       db 98           cbi     0x1b, 3 ; 27
    342c:       05 30           cpi     r16, 0x05       ; 5
    342e:       1d cd           rjmp    .-1478          ; 0x2e6a <__stack+0x1d6b>
    3430:       c8 30           cpi     r28, 0x08       ; 8
    3432:       8b 3b           cpi     r24, 0xBB       ; 187
    3434:       e3 c0           rjmp    .+454           ; 0x35fc <__stack+0x24fd>
    3436:       fb 04           cpc     r15, r11
    3438:       10 f5           brcc    .+68            ; 0x347e <__stack+0x237f>
    343a:       98 80           ld      r9, Y
    343c:       86 bc           out     0x26, r8        ; 38
    343e:       30 d9           rcall   .-3488          ; 0x26a0 <__stack+0x15a1>
    3440:       8b f8           .word   0xf88b  ; ????
    3442:       fe 98           cbi     0x1f, 6 ; 31
    3444:       ec 04           cpc     r14, r12
    3446:       e0 02           muls    r30, r16
    3448:       35 e6           ldi     r19, 0x65       ; 101
    344a:       30 88           ldd     r3, Z+16        ; 0x10
    344c:       fa ff           .word   0xfffa  ; ????
    344e:       5b 98           cbi     0x0b, 3 ; 11
    3450:       90 f8           bld     r9, 0
    3452:       98 f6           brcc    .-90            ; 0x33fa <__stack+0x22fb>
    3454:       5b 16           cp      r5, r27
    3456:       11 42           sbci    r17, 0x21       ; 33
    3458:       37 e6           ldi     r19, 0x67       ; 103
    345a:       98 31           cpi     r25, 0x18       ; 24
    345c:       cd 11           cpse    r28, r13
    345e:       d0 ff           sbrs    r29, 0
    3460:       a1 41           sbci    r26, 0x11       ; 17
    3462:       92 ed           ldi     r25, 0xD2       ; 210
    3464:       a3 06           cpc     r10, r19
    3466:       f3 0d           add     r31, r3
    3468:       1b 65           ori     r17, 0x5B       ; 91
    346a:       b0 fb           bst     r27, 0
    346c:       3f dd           rcall   .-1410          ; 0x2eec <__stack+0x1ded>
    346e:       98 06           cpc     r9, r24
    3470:       80 20           and     r8, r0
    3472:       8e 7d           andi    r24, 0xDE       ; 222
    3474:       cc 8b           std     Y+20, r28       ; 0x14
    3476:       b6 e1           ldi     r27, 0x16       ; 22
    3478:       18 fc           .word   0xfc18  ; ????
    347a:       77 8e           std     Z+31, r7        ; 0x1f
    347c:       98 b3           in      r25, 0x18       ; 24
    347e:       44 08           sbc     r4, r4
    3480:       c6 4c           sbci    r28, 0xC6       ; 198
    3482:       67 69           ori     r22, 0x97       ; 151
    3484:       19 9a           sbi     0x03, 1 ; 3
    3486:       77 ec           ldi     r23, 0xC7       ; 199
    3488:       7f 02           muls    r23, r31
    348a:       af fb           .word   0xfbaf  ; ????
    348c:       32 10           cpse    r3, r2
    348e:       16 c4           rjmp    .+2092          ; 0x3cbc <__stack+0x2bbd>
    3490:       04 1d           adc     r16, r4
    3492:       e5 ca           rjmp    .-2614          ; 0x2a5e <__stack+0x195f>
    3494:       24 8a           std     Z+20, r2        ; 0x14
    3496:       b7 e2           ldi     r27, 0x27       ; 39
    3498:       58 fd           .word   0xfd58  ; ????
    349a:       fa 98           cbi     0x1f, 2 ; 31
    349c:       b0 c9           rjmp    .-3232          ; 0x27fe <__stack+0x16ff>
    349e:       f6 98           cbi     0x1e, 6 ; 30
    34a0:       07 30           cpi     r16, 0x07       ; 7
    34a2:       2b 0d           add     r18, r11
    34a4:       79 30           cpi     r23, 0x09       ; 9
    34a6:       68 b3           in      r22, 0x18       ; 24
    34a8:       fc fd           .word   0xfdfc  ; ????
    34aa:       98 06           cpc     r9, r24
    34ac:       d8 c0           rjmp    .+432           ; 0x365e <__stack+0x255f>
    34ae:       40 6b           ori     r20, 0xB0       ; 176
    34b0:       cd 30           cpi     r28, 0x0D       ; 13
    34b2:       59 fa           .word   0xfa59  ; ????
    34b4:       fe 98           cbi     0x1f, 6 ; 31
    34b6:       b2 80           ldd     r11, Z+2        ; 0x02
    34b8:       5b b3           in      r21, 0x1b       ; 27
    34ba:       12 c1           rjmp    .+548           ; 0x36e0 <__stack+0x25e1>
    34bc:       0d b9           out     0x0d, r16       ; 13
    34be:       30 d8           rcall   .-4000          ; 0x2520 <__stack+0x1421>
    34c0:       80 f8           bld     r8, 0
    34c2:       cd fe           .word   0xfecd  ; ????
    34c4:       ac 80           ldd     r10, Y+4        ; 0x04
    34c6:       06 c6           rjmp    .+3084          ; 0x40d4 <__stack+0x2fd5>
    34c8:       7f 03           fmul    r23, r23
    34ca:       20 b6           in      r2, 0x30        ; 48
    34cc:       09 2f           mov     r16, r25
    34ce:       d3 b3           in      r29, 0x13       ; 19
    34d0:       5b 86           std     Y+11, r5        ; 0x0b
    34d2:       c6 9a           sbi     0x18, 6 ; 24
    34d4:       fe ce           rjmp    .-516           ; 0x32d2 <__stack+0x21d3>
    34d6:       fe 14           cp      r15, r14
    34d8:       20 06           cpc     r2, r16
    34da:       58 b0           in      r5, 0x08        ; 8
    34dc:       c1 66           ori     r28, 0x61       ; 97
    34de:       ba e5           ldi     r27, 0x5A       ; 90
    34e0:       60 c4           rjmp    .+2240          ; 0x3da2 <__stack+0x2ca3>
    34e2:       bc e5           ldi     r27, 0x5C       ; 92
    34e4:       ff 37           cpi     r31, 0x7F       ; 127
    34e6:       98 3d           cpi     r25, 0xD8       ; 216
    34e8:       ff f3           brie    .-2             ; 0x34e8 <__stack+0x23e9>
    34ea:       31 01           movw    r6, r2
    34ec:       84 3d           cpi     r24, 0xD4       ; 212
    34ee:       64 b1           in      r22, 0x04       ; 4
    34f0:       78 2e           mov     r7, r24
    34f2:       af b1           in      r26, 0x0f       ; 15
    34f4:       33 98           cbi     0x06, 3 ; 6
    34f6:       73 31           cpi     r23, 0x13       ; 19
    34f8:       46 62           ori     r20, 0x26       ; 38
    34fa:       2b d9           rcall   .-3498          ; 0x2752 <__stack+0x1653>
    34fc:       10 63           ori     r17, 0x30       ; 48
    34fe:       d1 1b           sub     r29, r17
    3500:       ee 64           ori     r30, 0x4E       ; 78
    3502:       28 fe           .word   0xfe28  ; ????
    3504:       ff 59           subi    r31, 0x9F       ; 159
    3506:       98 c0           rjmp    .+304           ; 0x3638 <__stack+0x2539>
    3508:       3f 7f           andi    r19, 0xFF       ; 255
    350a:       d9 46           sbci    r29, 0x69       ; 105
    350c:       c1 2b           or      r28, r17
    350e:       a0 02           muls    r26, r16
    3510:       6f 32           cpi     r22, 0x2F       ; 47
    3512:       ed bf           out     0x3d, r30       ; 61
    3514:       32 28           or      r3, r2
    3516:       64 f3           brlt    .-40            ; 0x34f0 <__stack+0x23f1>
    3518:       78 c0           rjmp    .+240           ; 0x360a <__stack+0x250b>
    351a:       42 67           ori     r20, 0x72       ; 114
    351c:       fb 98           cbi     0x1f, 3 ; 31
    351e:       f0 80           ld      r15, Z
    3520:       6f ed           ldi     r22, 0xDF       ; 223
    3522:       98 88           ldd     r9, Y+16        ; 0x10
    3524:       07 95           ror     r16
    3526:       9b c8           rjmp    .-3786          ; 0x265e <__stack+0x155f>
    3528:       04 53           subi    r16, 0x34       ; 52
    352a:       66 55           subi    r22, 0x56       ; 86
    352c:       ab 48           sbci    r26, 0x8B       ; 139
    352e:       0b b3           in      r16, 0x1b       ; 27
    3530:       d3 cd           rjmp    .-1114          ; 0x30d8 <__stack+0x1fd9>
    3532:       f6 56           subi    r31, 0x66       ; 102
    3534:       df f0           brie    .+54            ; 0x356c <__stack+0x246d>
    3536:       5f 2f           mov     r21, r31
    3538:       ca 04           cpc     r12, r10
    353a:       32 9b           sbis    0x06, 2 ; 6
    353c:       fc 98           cbi     0x1f, 4 ; 31
    353e:       c9 fb           .word   0xfbc9  ; ????
    3540:       8f 55           subi    r24, 0x5F       ; 95
    3542:       b3 50           subi    r27, 0x03       ; 3
    3544:       94 b3           in      r25, 0x14       ; 20
    3546:       2d 60           ori     r18, 0x0D       ; 13
    3548:       4c fc           .word   0xfc4c  ; ????
    354a:       ef 6d           ori     r30, 0xDF       ; 223
    354c:       d8 78           andi    r29, 0x88       ; 136
    354e:       fc 16           cp      r15, r28
    3550:       4e 22           and     r4, r30
    3552:       51 19           sub     r21, r1
    3554:       95 f6           brhc    .-92            ; 0x34fa <__stack+0x23fb>
    3556:       bd 71           andi    r27, 0x1D       ; 29
    3558:       11 b2           in      r1, 0x11        ; 17
    355a:       eb 20           and     r14, r11
    355c:       cf 3f           cpi     r28, 0xFF       ; 255
    355e:       b3 cc           rjmp    .-1690          ; 0x2ec6 <__stack+0x1dc7>
    3560:       98 58           subi    r25, 0x88       ; 136
    3562:       ff cf           rjmp    .-2             ; 0x3562 <__stack+0x2463>
    3564:       31 b3           in      r19, 0x11       ; 17
    3566:       f7 ff           sbrs    r31, 7
    3568:       bc ff           .word   0xffbc  ; ????
    356a:       20 5a           subi    r18, 0xA0       ; 160
    356c:       6f 5f           subi    r22, 0xFF       ; 255
    356e:       52 99           sbic    0x0a, 2 ; 10
    3570:       02 48           sbci    r16, 0x82       ; 130
    3572:       08 88           ldd     r0, Y+16        ; 0x10
    3574:       67 19           sub     r22, r7
    3576:       f3 c6           rjmp    .+3558          ; 0x435e <__stack+0x325f>
    3578:       d1 38           cpi     r29, 0x81       ; 129
    357a:       d3 c0           rjmp    .+422           ; 0x3722 <__stack+0x2623>
    357c:       98 ff           .word   0xff98  ; ????
    357e:       60 90 ff 36     lds     r6, 0x36FF
    3582:       b3 28           or      r11, r3
    3584:       09 0d           add     r16, r9
    3586:       66 a3           std     Z+38, r22       ; 0x26
    3588:       fc 85           ldd     r31, Y+12       ; 0x0c
    358a:       8b 83           std     Y+3, r24        ; 0x03
    358c:       30 fa           bst     r3, 0
    358e:       c9 d0           rcall   .+402           ; 0x3722 <__stack+0x2623>
    3590:       f4 cf           rjmp    .-24            ; 0x357a <__stack+0x247b>
    3592:       ef 0b           sbc     r30, r31
    3594:       29 f9           .word   0xf929  ; ????
    3596:       20 7f           andi    r18, 0xF0       ; 240
    3598:       1b f4           brvc    .+6             ; 0x35a0 <__stack+0x24a1>
    359a:       1e a0           ldd     r1, Y+38        ; 0x26
    359c:       eb 63           ori     r30, 0x3B       ; 59
    359e:       05 66           ori     r16, 0x65       ; 101
    35a0:       f6 6e           ori     r31, 0xE6       ; 230
    35a2:       a7 d3           rcall   .+1870          ; 0x3cf2 <__stack+0x2bf3>
    35a4:       fc 27           eor     r31, r28
    35a6:       b3 e0           ldi     r27, 0x03       ; 3
    35a8:       12 39           cpi     r17, 0x92       ; 146
    35aa:       f9 fc           .word   0xfcf9  ; ????
    35ac:       e3 b1           in      r30, 0x03       ; 3
    35ae:       30 37           cpi     r19, 0x70       ; 112
    35b0:       c7 36           cpi     r28, 0x67       ; 103
    35b2:       e3 f3           brvs    .-8             ; 0x35ac <__stack+0x24ad>
    35b4:       e0 43           sbci    r30, 0x30       ; 48
    35b6:       b1 31           cpi     r27, 0x11       ; 17
    35b8:       91 1b           sub     r25, r17
    35ba:       60 bb           out     0x10, r22       ; 16
    35bc:       f2 32           cpi     r31, 0x22       ; 34
    35be:       df c3           rjmp    .+1982          ; 0x3d7e <__stack+0x2c7f>
    35c0:       65 ff           sbrs    r22, 5
    35c2:       10 82           st      Z, r1
    35c4:       5f 98           cbi     0x0b, 7 ; 11
    35c6:       e5 27           eor     r30, r21
    35c8:       ac b3           in      r26, 0x1c       ; 28
    35ca:       10 de           rcall   .-992           ; 0x31ec <__stack+0x20ed>
    35cc:       58 45           sbci    r21, 0x58       ; 88
    35ce:       40 6a           ori     r20, 0xA0       ; 160
    35d0:       b3 d8           rcall   .-3738          ; 0x2738 <__stack+0x1639>
    35d2:       d8 fa           .word   0xfad8  ; ????
    35d4:       5a cf           rjmp    .-332           ; 0x348a <__stack+0x238b>
    35d6:       63 59           subi    r22, 0x93       ; 147
    35d8:       2e b0           in      r2, 0x0e        ; 14
    35da:       89 af           std     Y+57, r24       ; 0x39
    35dc:       cc 4b           sbci    r28, 0xBC       ; 188
    35de:       77 fb           bst     r23, 7
    35e0:       53 90           .word   0x9053  ; ????
    35e2:       ff 10           cpse    r15, r15
    35e4:       dd 64           ori     r29, 0x4D       ; 77
    35e6:       01 90           ld      r0, Z+
    35e8:       7c 61           ori     r23, 0x1C       ; 28
    35ea:       63 a5           ldd     r22, Z+43       ; 0x2b
    35ec:       fc f9           .word   0xf9fc  ; ????
    35ee:       2d fc           .word   0xfc2d  ; ????
    35f0:       f9 15           cp      r31, r9
    35f2:       08 61           ori     r16, 0x18       ; 24
    35f4:       89 64           ori     r24, 0x49       ; 73
    35f6:       b8 86           std     Y+8, r11        ; 0x08
    35f8:       f7 c2           rjmp    .+1518          ; 0x3be8 <__stack+0x2ae9>
    35fa:       10 80           ld      r1, Z
    35fc:       fb e4           ldi     r31, 0x4B       ; 75
    35fe:       31 07           cpc     r19, r17
    3600:       9c 66           ori     r25, 0x6C       ; 108
    3602:       ad 0c           add     r10, r13
    3604:       bf f1           brie    .+110           ; 0x3674 <__stack+0x2575>
    3606:       8c 44           sbci    r24, 0x4C       ; 76
    3608:       26 59           subi    r18, 0x96       ; 150
    360a:       a2 05           cpc     r26, r2
    360c:       1d 97           sbiw    r26, 0x0d       ; 13
    360e:       ec 20           and     r14, r12
    3610:       60 fa           bst     r6, 0
    3612:       2c f5           brge    .+74            ; 0x365e <__stack+0x255f>
    3614:       56 20           and     r5, r6
    3616:       2c 3a           cpi     r18, 0xAC       ; 172
    3618:       04 59           subi    r16, 0x94       ; 148
    361a:       e3 38           cpi     r30, 0x83       ; 131
    361c:       b0 f9           bld     r27, 0
    361e:       79 f5           brne    .+94            ; 0x367e <__stack+0x257f>
    3620:       4b 40           sbci    r20, 0x0B       ; 11
    3622:       8d fa           .word   0xfa8d  ; ????
    3624:       98 fb           .word   0xfb98  ; ????
    3626:       c0 98           cbi     0x18, 0 ; 24
    3628:       eb b1           in      r30, 0x0b       ; 11
    362a:       3b 8c           ldd     r3, Y+27        ; 0x1b
    362c:       03 39           cpi     r16, 0x93       ; 147
    362e:       16 b3           in      r17, 0x16       ; 22
    3630:       19 77           andi    r17, 0x79       ; 121
    3632:       d8 f4           brcc    .+54            ; 0x366a <__stack+0x256b>
    3634:       74 b3           in      r23, 0x14       ; 20
    3636:       60 9c           mul     r6, r0
    3638:       19 60           ori     r17, 0x09       ; 9
    363a:       7e 98           cbi     0x0f, 6 ; 15
    363c:       b3 1f           adc     r27, r19
    363e:       ab b3           in      r26, 0x1b       ; 27
    3640:       10 17           cp      r17, r16
    3642:       58 b3           in      r21, 0x18       ; 24
    3644:       fe 61           ori     r31, 0x1E       ; 30
    3646:       bb 01           movw    r22, r22
    3648:       10 16           cp      r1, r16
    364a:       de 49           sbci    r29, 0x9E       ; 158
    364c:       b0 fe           sbrs    r11, 0
    364e:       c1 75           andi    r28, 0x51       ; 81
    3650:       19 40           sbci    r17, 0x09       ; 9
    3652:       60 97           sbiw    r28, 0x10       ; 16
    3654:       db b1           in      r29, 0x0b       ; 11
    3656:       10 0d           add     r17, r0
    3658:       56 b3           in      r21, 0x16       ; 22
    365a:       88 72           andi    r24, 0x28       ; 40
    365c:       19 08           sbc     r1, r9
    365e:       c7 74           andi    r28, 0x47       ; 71
    3660:       c0 c6           rjmp    .+3456          ; 0x43e2 <__stack+0x32e3>
    3662:       9b e3           ldi     r25, 0x3B       ; 59
    3664:       90 fe           sbrs    r9, 0
    3666:       04 ce           rjmp    .-1016          ; 0x3270 <__stack+0x2171>
    3668:       30 7d           andi    r19, 0xD0       ; 208
    366a:       48 f9           .word   0xf948  ; ????
    366c:       cb b3           in      r28, 0x1b       ; 27
    366e:       62 3f           cpi     r22, 0xF2       ; 242
    3670:       da b0           in      r13, 0x0a       ; 10
    3672:       20 d5           rcall   .+2624          ; 0x40b4 <__stack+0x2fb5>
    3674:       b3 b8           out     0x03, r11       ; 3
    3676:       b0 fc           sbrc    r11, 0
    3678:       29 fb           .word   0xfb29  ; ????
    367a:       b1 80           ldd     r11, Z+1        ; 0x01
    367c:       61 ca           rjmp    .-2878          ; 0x2b40 <__stack+0x1a41>
    367e:       b3 18           sub     r11, r3
    3680:       96 b3           in      r25, 0x16       ; 22
    3682:       04 5f           subi    r16, 0xF4       ; 244
    3684:       ec da           rcall   .-2600          ; 0x2c5e <__stack+0x1b5f>
    3686:       08 37           cpi     r16, 0x78       ; 120
    3688:       f0 99           sbic    0x1e, 0 ; 30
    368a:       1c 40           sbci    r17, 0x0C       ; 12
    368c:       fd 12           cpse    r15, r29
    368e:       0b 11           cpse    r16, r11
    3690:       d6 b3           in      r29, 0x16       ; 22
    3692:       08 15           cp      r16, r8
    3694:       98 c8           rjmp    .-3792          ; 0x27c6 <__stack+0x16c7>
    3696:       9b d0           rcall   .+310           ; 0x37ce <__stack+0x26cf>
    3698:       b8 fe           .word   0xfeb8  ; ????
    369a:       65 fe           sbrs    r6, 5
    369c:       34 24           eor     r3, r4
    369e:       58 a9           ldd     r21, Y+48       ; 0x30
    36a0:       71 ce           rjmp    .-798           ; 0x3384 <__stack+0x2285>
    36a2:       bd 80           ldd     r11, Y+5        ; 0x05
    36a4:       54 fd           sbrc    r21, 4
    36a6:       76 fc           sbrc    r7, 6
    36a8:       08 20           and     r0, r8
    36aa:       eb 66           ori     r30, 0x6B       ; 107
    36ac:       28 27           eor     r18, r24
    36ae:       d3 4b           sbci    r29, 0xB3       ; 179
    36b0:       18 fd           .word   0xfd18  ; ????
    36b2:       60 63           ori     r22, 0x30       ; 48
    36b4:       dc bf           out     0x3c, r29       ; 60
    36b6:       46 b3           in      r20, 0x16       ; 22
    36b8:       6f 36           cpi     r22, 0x6F       ; 111
    36ba:       ca 20           and     r12, r10
    36bc:       08 fe           .word   0xfe08  ; ????
    36be:       59 a7           std     Y+41, r21       ; 0x29
    36c0:       01 dc           rcall   .-2046          ; 0x2ec4 <__stack+0x1dc5>
    36c2:       04 80           ldd     r0, Z+4 ; 0x04
    36c4:       40 06           cpc     r4, r16
    36c6:       02 c6           rjmp    .+3076          ; 0x42cc <__stack+0x31cd>
    36c8:       97 73           andi    r25, 0x37       ; 55
    36ca:       80 99           sbic    0x10, 0 ; 16
    36cc:       b4 c7           rjmp    .+3944          ; 0x4636 <__stack+0x3537>
    36ce:       66 f9           bld     r22, 6
    36d0:       98 85           ldd     r25, Y+8        ; 0x08
    36d2:       1f 8c           ldd     r1, Y+31        ; 0x1f
    36d4:       63 fe           sbrs    r6, 3
    36d6:       27 d9           rcall   .-3506          ; 0x2926 <__stack+0x1827>
    36d8:       b0 fc           sbrc    r11, 0
    36da:       6a a3           std     Y+34, r22       ; 0x22
    36dc:       04 51           subi    r16, 0x14       ; 20
    36de:       f3 02           muls    r31, r19
    36e0:       59 90           ld      r5, Y+
    36e2:       66 61           ori     r22, 0x16       ; 22
    36e4:       57 7b           andi    r21, 0xB7       ; 183
    36e6:       92 c8           rjmp    .-3804          ; 0x280c <__stack+0x170d>
    36e8:       fc 10           cpse    r15, r12
    36ea:       08 0c           add     r0, r8
    36ec:       8a 26           eor     r8, r26
    36ee:       6c a6           std     Y+44, r6        ; 0x2c
    36f0:       ac f9           .word   0xf9ac  ; ????
    36f2:       16 ba           out     0x16, r1        ; 22
    36f4:       fe f3           brts    .-2             ; 0x36f4 <__stack+0x25f5>
    36f6:       6a 0d           add     r22, r10
    36f8:       bb 17           cp      r27, r27
    36fa:       ff 46           sbci    r31, 0x6F       ; 111
    36fc:       c0 08           sbc     r12, r0
    36fe:       cd b0           in      r12, 0x0d       ; 13
    3700:       b8 fd           .word   0xfdb8  ; ????
    3702:       9e ed           ldi     r25, 0xDE       ; 222
    3704:       d8 04           cpc     r13, r8
    3706:       02 6c           ori     r16, 0xC2       ; 194
    3708:       b3 d8           rcall   .-3738          ; 0x2870 <__stack+0x1771>
    370a:       f8 fd           .word   0xfdf8  ; ????
    370c:       14 fc           sbrc    r1, 4
    370e:       7d b0           in      r7, 0x0d        ; 13
    3710:       08 e1           ldi     r16, 0x18       ; 24
    3712:       b4 80           ldd     r11, Z+4        ; 0x04
    3714:       b0 18           sub     r11, r0
    3716:       4c d3           rcall   .+1688          ; 0x3db0 <__stack+0x2cb1>
    3718:       15 02           muls    r17, r21
    371a:       5b fb           .word   0xfb5b  ; ????
    371c:       cc dc           rcall   .-1640          ; 0x30b6 <__stack+0x1fb7>
    371e:       fb 06           cpc     r15, r27
    3720:       05 66           ori     r16, 0x65       ; 101
    3722:       40 8f           std     Z+24, r20       ; 0x18
    3724:       e6 73           andi    r30, 0x36       ; 54
    3726:       08 df           rcall   .-496           ; 0x3538 <__stack+0x2439>
    3728:       d4 72           andi    r29, 0x24       ; 36
    372a:       02 f3           brmi    .-64            ; 0x36ec <__stack+0x25ed>
    372c:       c6 20           and     r12, r6
    372e:       81 11           cpse    r24, r1
    3730:       dc ca           rjmp    .-2632          ; 0x2cea <__stack+0x1beb>
    3732:       6a ef           ldi     r22, 0xFA       ; 250
    3734:       61 c7           rjmp    .+3778          ; 0x45f8 <__stack+0x34f9>
    3736:       2d 7c           andi    r18, 0xCD       ; 205
    3738:       18 15           cp      r17, r8
    373a:       a3 40           sbci    r26, 0x03       ; 3
    373c:       e7 4b           sbci    r30, 0xB7       ; 183
    373e:       36 b3           in      r19, 0x16       ; 22
    3740:       80 01           movw    r16, r0
    3742:       c6 e7           ldi     r28, 0x76       ; 118
    3744:       19 72           andi    r17, 0x29       ; 41
    3746:       d1 06           cpc     r13, r17
    3748:       f3 72           andi    r31, 0x23       ; 35
    374a:       b7 6b           ori     r27, 0xB7       ; 183
    374c:       78 62           ori     r23, 0x28       ; 40
    374e:       bf 32           cpi     r27, 0x2F       ; 47
    3750:       b1 50           subi    r27, 0x01       ; 1
    3752:       f3 b3           in      r31, 0x13       ; 19
    3754:       21 7f           andi    r18, 0xF1       ; 241
    3756:       05 3e           cpi     r16, 0xE5       ; 229
    3758:       fd 0a           sbc     r15, r29
    375a:       49 24           eor     r4, r9
    375c:       45 77           andi    r20, 0x75       ; 117
    375e:       fa 38           cpi     r31, 0x8A       ; 138
    3760:       ff ac           ldd     r15, Y+63       ; 0x3f
    3762:       a3 04           cpc     r10, r3
    3764:       f5 3b           cpi     r31, 0xB5       ; 181
    3766:       02 84           ldd     r0, Z+10        ; 0x0a
    3768:       ec b3           in      r30, 0x1c       ; 28
    376a:       40 10           cpse    r4, r0
    376c:       de fd           .word   0xfdde  ; ????
    376e:       12 f6           brpl    .-124           ; 0x36f4 <__stack+0x25f5>
    3770:       dc e8           ldi     r29, 0x8C       ; 140
    3772:       f9 19           sub     r31, r9
    3774:       b3 07           cpc     r27, r19
    3776:       96 d6           rcall   .+3372          ; 0x44a4 <__stack+0x33a5>
    3778:       c0 3e           cpi     r28, 0xE0       ; 224
    377a:       07 b2           in      r0, 0x17        ; 23
    377c:       18 90           .word   0x9018  ; ????
    377e:       19 18           sub     r1, r9
    3780:       39 0b           sbc     r19, r25
    3782:       62 41           sbci    r22, 0x12       ; 18
    3784:       f9 de           rcall   .-526           ; 0x3578 <__stack+0x2479>
    3786:       58 f9           .word   0xf958  ; ????
    3788:       f0 67           ori     r31, 0x70       ; 112
    378a:       ac d4           rcall   .+2392          ; 0x40e4 <__stack+0x2fe5>
    378c:       03 7f           andi    r16, 0xF3       ; 243
    378e:       f6 cd           rjmp    .-1044          ; 0x337c <__stack+0x227d>
    3790:       20 57           subi    r18, 0x70       ; 112
    3792:       78 7e           andi    r23, 0xE8       ; 232
    3794:       40 04           cpc     r4, r0
    3796:       80 eb           ldi     r24, 0xB0       ; 176
    3798:       d6 e5           ldi     r29, 0x56       ; 86
    379a:       f8 28           or      r15, r8
    379c:       b3 b0           in      r11, 0x03       ; 3
    379e:       8b b3           in      r24, 0x1b       ; 27
    37a0:       fe 72           andi    r31, 0x2E       ; 46
    37a2:       01 88           ldd     r0, Z+17        ; 0x11
    37a4:       02 05           cpc     r16, r2
    37a6:       bf 32           cpi     r27, 0x2F       ; 47
    37a8:       fe 64           ori     r31, 0x4E       ; 78
    37aa:       ac 9e           mul     r10, r28
    37ac:       01 85           ldd     r16, Z+9        ; 0x09
    37ae:       88 88           ldd     r8, Y+16        ; 0x10
    37b0:       a7 2c           mov     r10, r7
    37b2:       25 11           cpse    r18, r5
    37b4:       21 4c           sbci    r18, 0xC1       ; 193
    37b6:       b7 42           sbci    r27, 0x27       ; 39
    37b8:       66 48           sbci    r22, 0x86       ; 134
    37ba:       5b 0d           add     r21, r11
    37bc:       9b b9           out     0x0b, r25       ; 11
    37be:       9c f9           .word   0xf99c  ; ????
    37c0:       53 c2           rjmp    .+1190          ; 0x3c68 <__stack+0x2b69>
    37c2:       1c dd           rcall   .-1480          ; 0x31fc <__stack+0x20fd>
    37c4:       9d 0c           add     r9, r13
    37c6:       b7 d8           rcall   .-3730          ; 0x2936 <__stack+0x1837>
    37c8:       e0 b7           in      r30, 0x30       ; 48
    37ca:       9e 8c           ldd     r9, Y+30        ; 0x1e
    37cc:       df b4           in      r13, 0x2f       ; 47
    37ce:       b8 5c           subi    r27, 0xC8       ; 200
    37d0:       b3 30           cpi     r27, 0x03       ; 3
    37d2:       fb b1           in      r31, 0x0b       ; 11
    37d4:       60 8e           std     Z+24, r6        ; 0x18
    37d6:       5b c0           rjmp    .+182           ; 0x388e <__stack+0x278f>
    37d8:       08 e5           ldi     r16, 0x58       ; 88
    37da:       f5 89           ldd     r31, Z+21       ; 0x15
    37dc:       f3 9b           sbis    0x1e, 3 ; 30
    37de:       60 20           and     r6, r0
    37e0:       68 72           andi    r22, 0x28       ; 40
    37e2:       d9 fd           .word   0xfdd9  ; ????
    37e4:       04 0b           sbc     r16, r20
    37e6:       cb 0a           sbc     r12, r27
    37e8:       27 b6           in      r2, 0x37        ; 55
    37ea:       d2 04           cpc     r13, r2
    37ec:       16 75           andi    r17, 0x56       ; 86
    37ee:       f2 ef           ldi     r31, 0xF2       ; 242
    37f0:       2a 83           std     Y+2, r18        ; 0x02
    37f2:       f9 84           ldd     r15, Y+9        ; 0x09
    37f4:       09 af           std     Y+57, r16       ; 0x39
    37f6:       01 38           cpi     r16, 0x81       ; 129
    37f8:       f5 f4           brhc    .+60            ; 0x3836 <__stack+0x2737>
    37fa:       25 04           cpc     r2, r5
    37fc:       9c 6d           ori     r25, 0xDC       ; 220
    37fe:       82 80           ldd     r8, Z+2 ; 0x02
    3800:       c2 2e           mov     r12, r18
    3802:       cc f5           brge    .+114           ; 0x3876 <__stack+0x2777>
    3804:       04 66           ori     r16, 0x64       ; 100
    3806:       81 cf           rjmp    .-254           ; 0x370a <__stack+0x260b>
    3808:       d5 89           ldd     r29, Z+21       ; 0x15
    380a:       f6 c1           rjmp    .+1004          ; 0x3bf8 <__stack+0x2af9>
    380c:       fb e0           ldi     r31, 0x0B       ; 11
    380e:       77 ee           ldi     r23, 0xE7       ; 231
    3810:       89 f0           breq    .+34            ; 0x3834 <__stack+0x2735>
    3812:       6c ea           ldi     r22, 0xAC       ; 172
    3814:       58 20           and     r5, r8
    3816:       8f 5b           subi    r24, 0xBF       ; 191
    3818:       98 80           ld      r9, Y
    381a:       fd d5           rcall   .+3066          ; 0x4416 <__stack+0x3317>
    381c:       8f ab           std     Y+55, r24       ; 0x37
    381e:       ff 0e           add     r15, r31
    3820:       a0 b8           out     0x00, r10       ; 0
    3822:       69 01           movw    r12, r18
    3824:       e4 b9           out     0x04, r30       ; 4
    3826:       d0 ae           std     Z+56, r13       ; 0x38
    3828:       fb a3           std     Y+35, r31       ; 0x23
    382a:       5e c3           rjmp    .+1724          ; 0x3ee8 <__stack+0x2de9>
    382c:       3f f6           brid    .-114           ; 0x37bc <__stack+0x26bd>
    382e:       80 02           muls    r24, r16
    3830:       13 ea           ldi     r17, 0xA3       ; 163
    3832:       0a 18           sub     r0, r10
    3834:       be 92           st      -X, r11
    3836:       5d 89           ldd     r21, Y+21       ; 0x15
    3838:       dc 20           and     r13, r12
    383a:       fb fe           .word   0xfefb  ; ????
    383c:       0b 04           cpc     r0, r11
    383e:       66 b3           in      r22, 0x16       ; 22
    3840:       60 24           eor     r6, r0
    3842:       ce 58           subi    r28, 0x8E       ; 142
    3844:       b4 90           lpm     r11, Z+
    3846:       42 b4           in      r4, 0x22        ; 34
    3848:       5e e8           ldi     r21, 0x8E       ; 142
    384a:       5f 7f           andi    r21, 0xFF       ; 255
    384c:       7b b3           in      r23, 0x1b       ; 27
    384e:       90 ff           sbrs    r25, 0
    3850:       00 b2           in      r0, 0x10        ; 16
    3852:       b2 fe           sbrs    r11, 2
    3854:       4d f5           brhc    .+82            ; 0x38a8 <__stack+0x27a9>
    3856:       1f 40           sbci    r17, 0x0F       ; 15
    3858:       7d 7f           andi    r23, 0xFD       ; 253
    385a:       8e 2d           mov     r24, r14
    385c:       69 08           sbc     r6, r9
    385e:       fd 7d           andi    r31, 0xDD       ; 221
    3860:       1a 33           cpi     r17, 0x3A       ; 58
    3862:       fd 68           ori     r31, 0x8D       ; 141
    3864:       19 a0           ldd     r1, Y+33        ; 0x21
    3866:       a5 91           lpm     r26, Z+
    3868:       ca f9           .word   0xf9ca  ; ????
    386a:       9b a6           std     Y+43, r9        ; 0x2b
    386c:       9e 69           ori     r25, 0x9E       ; 158
    386e:       cc 84           ldd     r12, Y+12       ; 0x0c
    3870:       c7 19           sub     r28, r7
    3872:       f6 07           cpc     r31, r22
    3874:       80 cc           rjmp    .-1792          ; 0x3176 <__stack+0x2077>
    3876:       5b b3           in      r21, 0x1b       ; 27
    3878:       60 83           st      Z, r22
    387a:       1d 61           ori     r17, 0x1D       ; 29
    387c:       3f 2f           mov     r19, r31
    387e:       30 18           sub     r3, r0
    3880:       fd 55           subi    r31, 0x5D       ; 93
    3882:       62 37           cpi     r22, 0x72       ; 114
    3884:       fb d0           rcall   .+502           ; 0x3a7c <__stack+0x297d>
    3886:       fc 75           andi    r31, 0x5C       ; 92
    3888:       59 b1           in      r21, 0x09       ; 9
    388a:       45 86           std     Z+13, r4        ; 0x0d
    388c:       79 c1           rjmp    .+754           ; 0x3b80 <__stack+0x2a81>
    388e:       df 18           sub     r13, r15
    3890:       04 d9           rcall   .-3576          ; 0x2a9a <__stack+0x199b>
    3892:       08 44           sbci    r16, 0x48       ; 72
    3894:       fb c0           rjmp    .+502           ; 0x3a8c <__stack+0x298d>
    3896:       7a fa           .word   0xfa7a  ; ????
    3898:       ed 04           cpc     r14, r13
    389a:       01 22           and     r0, r17
    389c:       53 e9           ldi     r21, 0x93       ; 147
    389e:       44 57           subi    r20, 0x74       ; 116
    38a0:       05 6d           ori     r16, 0xD5       ; 213
    38a2:       97 fd           sbrc    r25, 7
    38a4:       ed 7f           andi    r30, 0xFD       ; 253
    38a6:       8d 72           andi    r24, 0x2D       ; 45
    38a8:       77 14           cp      r7, r7
    38aa:       dd b3           in      r29, 0x1d       ; 29
    38ac:       02 5e           subi    r16, 0xE2       ; 226
    38ae:       98 81           ld      r25, Y
    38b0:       0c 48           sbci    r16, 0x8C       ; 140
    38b2:       5b e3           ldi     r21, 0x3B       ; 59
    38b4:       af fc           .word   0xfcaf  ; ????
    38b6:       b2 29           or      r27, r2
    38b8:       12 50           subi    r17, 0x02       ; 2
    38ba:       e0 c0           rjmp    .+448           ; 0x3a7c <__stack+0x297d>
    38bc:       6d bd           out     0x2d, r22       ; 45
    38be:       02 7e           andi    r16, 0xE2       ; 226
    38c0:       22 58           subi    r18, 0x82       ; 130
    38c2:       f3 d1           rcall   .+998           ; 0x3caa <__stack+0x2bab>
    38c4:       70 ba           out     0x10, r7        ; 16
    38c6:       f6 1e           adc     r15, r22
    38c8:       ff 5d           subi    r31, 0xDF       ; 223
    38ca:       98 60           ori     r25, 0x08       ; 8
    38cc:       be 61           ori     r27, 0x1E       ; 30
    38ce:       fc 84           ldd     r15, Y+12       ; 0x0c
    38d0:       81 c9           rjmp    .-3326          ; 0x2bd4 <__stack+0x1ad5>
    38d2:       e9 ea           ldi     r30, 0xA9       ; 169
    38d4:       b6 6d           ori     r27, 0xD6       ; 214
    38d6:       db 7f           andi    r29, 0xFB       ; 251
    38d8:       01 8c           ldd     r0, Z+25        ; 0x19
    38da:       66 27           eor     r22, r22
    38dc:       fd 7f           andi    r31, 0xFD       ; 253
    38de:       40 ff           sbrs    r20, 0
    38e0:       46 ce           rjmp    .-884           ; 0x356e <__stack+0x246f>
    38e2:       d9 fb           .word   0xfbd9  ; ????
    38e4:       cd b0           in      r12, 0x0d       ; 13
    38e6:       40 d7           rcall   .+3712          ; 0x4768 <__stack+0x3669>
    38e8:       f4 82           std     Z+4, r15        ; 0x04
    38ea:       04 c0           rjmp    .+8             ; 0x38f4 <__stack+0x27f5>
    38ec:       6b cb           rjmp    .-2346          ; 0x2fc4 <__stack+0x1ec5>
    38ee:       e6 09           sbc     r30, r6
    38f0:       1e d2           rcall   .+1084          ; 0x3d2e <__stack+0x2c2f>
    38f2:       98 d3           rcall   .+1840          ; 0x4024 <__stack+0x2f25>
    38f4:       25 6f           ori     r18, 0xF5       ; 245
    38f6:       af 76           andi    r26, 0x6F       ; 111
    38f8:       75 98           cbi     0x0e, 5 ; 14
    38fa:       01 0c           add     r0, r1
    38fc:       80 bc           out     0x20, r8        ; 32
    38fe:       96 70           andi    r25, 0x06       ; 6
    3900:       ff da           rcall   .-2562          ; 0x2f00 <__stack+0x1e01>
    3902:       13 a4           ldd     r1, Z+43        ; 0x2b
    3904:       81 e8           ldi     r24, 0x81       ; 129
    3906:       b2 22           and     r11, r18
    3908:       3c 98           cbi     0x07, 4 ; 7
    390a:       c7 c5           rjmp    .+2958          ; 0x449a <__stack+0x339b>
    390c:       70 cc           rjmp    .-1824          ; 0x31ee <__stack+0x20ef>
    390e:       93 ea           ldi     r25, 0xA3       ; 163
    3910:       98 08           sbc     r9, r8
    3912:       f0 98           cbi     0x1e, 0 ; 30
    3914:       c9 ca           rjmp    .-2670          ; 0x2ea8 <__stack+0x1da9>
    3916:       f8 7f           andi    r31, 0xF8       ; 248
    3918:       2c 80           ldd     r2, Y+4 ; 0x04
    391a:       02 70           andi    r16, 0x02       ; 2
    391c:       c2 c7           rjmp    .+3972          ; 0x48a2 <__stack+0x37a3>
    391e:       cd 19           sub     r28, r13
    3920:       1c 39           cpi     r17, 0x9C       ; 156
    3922:       e0 fa           bst     r14, 0
    3924:       60 92 4e f7     sts     0xF74E, r6
    3928:       b0 c9           rjmp    .-3232          ; 0x2c8a <__stack+0x1b8b>
    392a:       58 70           andi    r21, 0x08       ; 8
    392c:       02 59           subi    r16, 0x92       ; 146
    392e:       9b c8           rjmp    .-3786          ; 0x2a66 <__stack+0x1967>
    3930:       04 97           sbiw    r24, 0x04       ; 4
    3932:       b0 0c           add     r11, r0
    3934:       f1 95           neg     r31
    3936:       c8 66           ori     r28, 0x68       ; 104
    3938:       12 0c           add     r1, r2
    393a:       ae 30           cpi     r26, 0x0E       ; 14
    393c:       95 b4           in      r9, 0x25        ; 37
    393e:       5b f6           brvc    .-106           ; 0x38d6 <__stack+0x27d7>
    3940:       84 81           ldd     r24, Z+4        ; 0x04
    3942:       40 e7           ldi     r20, 0x70       ; 112
    3944:       fa 5a           subi    r31, 0xAA       ; 170
    3946:       fc 80           ldd     r15, Y+4        ; 0x04
    3948:       fd 31           cpi     r31, 0x1D       ; 29
    394a:       b0 10           cpse    r11, r0
    394c:       c6 c0           rjmp    .+396           ; 0x3ada <__stack+0x29db>
    394e:       08 bf           out     0x38, r16       ; 56
    3950:       da d1           rcall   .+948           ; 0x3d06 <__stack+0x2c07>
    3952:       2c a7           std     Y+44, r18       ; 0x2c
    3954:       08 7b           andi    r16, 0xB8       ; 184
    3956:       fb 36           cpi     r31, 0x6B       ; 107
    3958:       60 14           cp      r6, r0
    395a:       72 83           std     Z+2, r23        ; 0x02
    395c:       5f cf           rjmp    .-322           ; 0x381c <__stack+0x271d>
    395e:       11 ef           ldi     r17, 0xF1       ; 241
    3960:       98 98           cbi     0x13, 0 ; 19
    3962:       ff c0           rjmp    .+510           ; 0x3b62 <__stack+0x2a63>
    3964:       01 fb           bst     r16, 1
    3966:       1c 80           ldd     r1, Y+4 ; 0x04
    3968:       07 f0           brie    .+0             ; 0x396a <__stack+0x286b>
    396a:       20 43           sbci    r18, 0x30       ; 48
    396c:       03 6f           ori     r16, 0xF3       ; 243
    396e:       58 55           subi    r21, 0x58       ; 88
    3970:       c0 43           sbci    r28, 0x30       ; 48
    3972:       f6 d6           rcall   .+3564          ; 0x4760 <__stack+0x3661>
    3974:       5e 57           subi    r21, 0x7E       ; 126
    3976:       c8 9d           mul     r28, r8
    3978:       98 a2           std     Y+32, r9        ; 0x20
    397a:       15 c3           rjmp    .+1578          ; 0x3fa6 <__stack+0x2ea7>
    397c:       6c 79           andi    r22, 0x9C       ; 156
    397e:       06 a5           ldd     r16, Z+46       ; 0x2e
    3980:       c3 06           cpc     r12, r19
    3982:       f9 c8           rjmp    .-3598          ; 0x2b76 <__stack+0x1a77>
    3984:       b0 02           muls    r27, r16
    3986:       a0 18           sub     r10, r0
    3988:       d0 2a           or      r13, r16
    398a:       9b 7d           andi    r25, 0xDB       ; 219
    398c:       59 ff           .word   0xff59  ; ????
    398e:       85 fa           bst     r8, 5
    3990:       b3 eb           ldi     r27, 0xB3       ; 179
    3992:       50 41           sbci    r21, 0x10       ; 16
    3994:       cf e4           ldi     r28, 0x4F       ; 79
    3996:       58 01           movw    r10, r16
    3998:       0b 48           sbci    r16, 0x8B       ; 139
    399a:       bd 6f           ori     r27, 0xFD       ; 253
    399c:       e7 8a           std     Z+23, r14       ; 0x17
    399e:       fb 98           cbi     0x1f, 3 ; 31
    39a0:       98 fc           .word   0xfc98  ; ????
    39a2:       87 30           cpi     r24, 0x07       ; 7
    39a4:       84 b6           in      r8, 0x34        ; 52
    39a6:       10 d5           rcall   .+2592          ; 0x43c8 <__stack+0x32c9>
    39a8:       bb 01           movw    r22, r22
    39aa:       cd 9d           mul     r28, r13
    39ac:       20 02           muls    r18, r16
    39ae:       dd 48           sbci    r29, 0x8D       ; 141
    39b0:       63 27           eor     r22, r19
    39b2:       66 19           sub     r22, r6
    39b4:       d1 3e           cpi     r29, 0xE1       ; 225
    39b6:       2c bf           out     0x3c, r18       ; 60
    39b8:       02 8e           std     Z+26, r0        ; 0x1a
    39ba:       30 de           rcall   .-928           ; 0x361c <__stack+0x251d>
    39bc:       e9 e0           ldi     r30, 0x09       ; 9
    39be:       fd c9           rjmp    .-3078          ; 0x2dba <__stack+0x1cbb>
    39c0:       fd 3d           cpi     r31, 0xDD       ; 221
    39c2:       10 87           std     Z+8, r17        ; 0x08
    39c4:       5c 30           cpi     r21, 0x0C       ; 12
    39c6:       77 2b           or      r23, r23
    39c8:       7d f9           .word   0xf97d  ; ????
    39ca:       af 79           andi    r26, 0x9F       ; 159
    39cc:       f3 48           sbci    r31, 0x83       ; 131
    39ce:       ff d6           rcall   .+3582          ; 0x47ce <__stack+0x36cf>
    39d0:       60 61           ori     r22, 0x10       ; 16
    39d2:       4a bb           out     0x1a, r20       ; 26
    39d4:       03 cb           rjmp    .-2554          ; 0x2fdc <__stack+0x1edd>
    39d6:       cd 5a           subi    r28, 0xAD       ; 173
    39d8:       44 c8           rjmp    .-3960          ; 0x2a62 <__stack+0x1963>
    39da:       13 fa           bst     r1, 3
    39dc:       3b 10           cpse    r3, r11
    39de:       80 65           ori     r24, 0x50       ; 80
    39e0:       01 11           cpse    r16, r1
    39e2:       91 fb           bst     r25, 1
    39e4:       cc a0           ldd     r12, Y+36       ; 0x24
    39e6:       0b 79           andi    r16, 0x9B       ; 155
    39e8:       30 80           ld      r3, Z
    39ea:       77 b3           in      r23, 0x17       ; 23
    39ec:       f1 b2           in      r15, 0x11       ; 17
    39ee:       fa f5           brpl    .+126           ; 0x3a6e <__stack+0x296f>
    39f0:       31 36           cpi     r19, 0x61       ; 97
    39f2:       65 c0           rjmp    .+202           ; 0x3abe <__stack+0x29bf>
    39f4:       9c 1f           adc     r25, r28
    39f6:       d7 0c           add     r13, r7
    39f8:       82 01           movw    r16, r4
    39fa:       80 b1           in      r24, 0x00       ; 0
    39fc:       04 dc           rcall   .-2040          ; 0x3206 <__stack+0x2107>
    39fe:       c0 7b           andi    r28, 0xB0       ; 176
    3a00:       c0 7f           andi    r28, 0xF0       ; 240
    3a02:       f6 d2           rcall   .+1516          ; 0x3ff0 <__stack+0x2ef1>
    3a04:       4c 04           cpc     r4, r12
    3a06:       fc 30           cpi     r31, 0x0C       ; 12
    3a08:       03 04           cpc     r0, r3
    3a0a:       0c fc           .word   0xfc0c  ; ????
    3a0c:       80 11           cpse    r24, r0
    3a0e:       30 10           cpse    r3, r0
    3a10:       f8 fe           .word   0xfef8  ; ????
    3a12:       cb 26           eor     r12, r27
    3a14:       1c 66           ori     r17, 0x6C       ; 108
    3a16:       5f 57           subi    r21, 0x7F       ; 127
    3a18:       98 0f           add     r25, r24
    3a1a:       17 3d           cpi     r17, 0xD7       ; 215
    3a1c:       d8 a8           ldd     r13, Y+48       ; 0x30
    3a1e:       ef af           std     Y+63, r30       ; 0x3f
    3a20:       98 f0           brcs    .+38            ; 0x3a48 <__stack+0x2949>
    3a22:       16 fa           bst     r1, 6
    3a24:       d3 4f           sbci    r29, 0xF3       ; 243
    3a26:       be 98           cbi     0x17, 6 ; 23
    3a28:       20 01           movw    r4, r0
    3a2a:       e0 41           sbci    r30, 0x10       ; 16
    3a2c:       3c 06           cpc     r3, r28
    3a2e:       88 f9           .word   0xf988  ; ????
    3a30:       76 b6           in      r7, 0x36        ; 54
    3a32:       30 20           and     r3, r0
    3a34:       ad c3           rjmp    .+1882          ; 0x4190 <__stack+0x3091>
    3a36:       10 0c           add     r1, r0
    3a38:       eb b6           in      r14, 0x3b       ; 59
    3a3a:       02 1d           adc     r16, r2
    3a3c:       d1 a7           std     Z+41, r29       ; 0x29
    3a3e:       d3 65           ori     r29, 0x53       ; 83
    3a40:       65 5e           subi    r22, 0xE5       ; 229
    3a42:       bf 8f           std     Y+31, r27       ; 0x1f
    3a44:       14 c1           rjmp    .+552           ; 0x3c6e <__stack+0x2b6f>
    3a46:       89 ff           .word   0xff89  ; ????
    3a48:       90 da           rcall   .-2784          ; 0x2f6a <__stack+0x1e6b>
    3a4a:       85 b0           in      r8, 0x05        ; 5
    3a4c:       b7 e0           ldi     r27, 0x07       ; 7
    3a4e:       10 02           muls    r17, r16
    3a50:       9e b3           in      r25, 0x1e       ; 30
    3a52:       42 b0           in      r4, 0x02        ; 2
    3a54:       09 a1           ldd     r16, Y+33       ; 0x21
    3a56:       b3 58           subi    r27, 0x83       ; 131
    3a58:       ae 08           sbc     r10, r14
    3a5a:       a1 64           ori     r26, 0x41       ; 65
    3a5c:       c6 80           ldd     r12, Z+6        ; 0x06
    3a5e:       fd 68           ori     r31, 0x8D       ; 141
    3a60:       f8 20           and     r15, r8
    3a62:       09 04           cpc     r0, r9
    3a64:       21 af           std     Z+57, r18       ; 0x39
    3a66:       6c 70           andi    r22, 0x0C       ; 12
    3a68:       82 8f           std     Z+26, r24       ; 0x1a
    3a6a:       58 98           cbi     0x0b, 0 ; 11
    3a6c:       10 b7           in      r17, 0x30       ; 48
    3a6e:       5f 64           ori     r21, 0x4F       ; 79
    3a70:       f6 95           lsr     r31
    3a72:       bb 75           andi    r27, 0x5B       ; 91
    3a74:       65 7a           andi    r22, 0xA5       ; 165
    3a76:       98 a0           ldd     r9, Y+32        ; 0x20
    3a78:       ec d9           rcall   .-3112          ; 0x2e52 <__stack+0x1d53>
    3a7a:       7b f8           .word   0xf87b  ; ????
    3a7c:       1a c9           rjmp    .-3532          ; 0x2cb2 <__stack+0x1bb3>
    3a7e:       b0 20           and     r11, r0
    3a80:       97 8f           std     Z+31, r25       ; 0x1f
    3a82:       da 23           and     r29, r26
    3a84:       45 80           ldd     r4, Z+5 ; 0x05
    3a86:       3f 9b           sbis    0x07, 7 ; 7
    3a88:       30 70           andi    r19, 0x00       ; 0
    3a8a:       f9 8d           ldd     r31, Y+25       ; 0x19
    3a8c:       ba d6           rcall   .+3444          ; 0x4802 <__stack+0x3703>
    3a8e:       b8 04           cpc     r11, r8
    3a90:       10 ac           ldd     r1, Z+56        ; 0x38
    3a92:       b3 06           cpc     r11, r19
    3a94:       c3 b4           in      r12, 0x23       ; 35
    3a96:       c6 f3           brts    .-16            ; 0x3a88 <__stack+0x2989>
    3a98:       0c 08           sbc     r0, r12
    3a9a:       ef 48           sbci    r30, 0x8F       ; 143
    3a9c:       b0 fb           bst     r27, 0
    3a9e:       ac ed           ldi     r26, 0xDC       ; 220
    3aa0:       5d e5           ldi     r21, 0x5D       ; 93
    3aa2:       20 40           sbci    r18, 0x00       ; 0
    3aa4:       4c bf           out     0x3c, r20       ; 60
    3aa6:       ac 98           cbi     0x15, 4 ; 21
    3aa8:       20 63           ori     r18, 0x30       ; 48
    3aaa:       9b 7d           andi    r25, 0xDB       ; 219
    3aac:       16 08           sbc     r1, r6
    3aae:       37 b6           in      r3, 0x37        ; 55
    3ab0:       65 09           sbc     r22, r5
    3ab2:       cf f3           brie    .-14            ; 0x3aa6 <__stack+0x29a7>
    3ab4:       82 fc           sbrc    r8, 2
    3ab6:       80 05           cpc     r24, r0
    3ab8:       97 81           ldd     r25, Z+7        ; 0x07
    3aba:       b5 f2           brhs    .-84            ; 0x3a68 <__stack+0x2969>
    3abc:       30 40           sbci    r19, 0x00       ; 0
    3abe:       0e 2c           mov     r0, r14
    3ac0:       04 f3           brlt    .-64            ; 0x3a82 <__stack+0x2983>
    3ac2:       d8 1c           adc     r13, r8
    3ac4:       5a b3           in      r21, 0x1a       ; 26
    3ac6:       c6 72           andi    r28, 0x26       ; 38
    3ac8:       30 80           ld      r3, Z
    3aca:       df f7           brid    .-10            ; 0x3ac2 <__stack+0x29c3>
    3acc:       bb 10           cpse    r11, r11
    3ace:       78 98           cbi     0x0f, 0 ; 15
    3ad0:       05 de           rcall   .-1014          ; 0x36dc <__stack+0x25dd>
    3ad2:       27 b0           in      r2, 0x07        ; 7
    3ad4:       f9 e0           ldi     r31, 0x09       ; 9
    3ad6:       57 5d           subi    r21, 0xD7       ; 215
    3ad8:       8a c5           rjmp    .+2836          ; 0x45ee <__stack+0x34ef>
    3ada:       b7 cd           rjmp    .-1170          ; 0x364a <__stack+0x254b>
    3adc:       bc 20           and     r11, r12
    3ade:       75 de           rcall   .-790           ; 0x37ca <__stack+0x26cb>
    3ae0:       8f fb           .word   0xfb8f  ; ????
    3ae2:       98 80           ld      r9, Y
    3ae4:       07 7a           andi    r16, 0xA7       ; 167
    3ae6:       f9 70           andi    r31, 0x09       ; 9
    3ae8:       59 fd           .word   0xfd59  ; ????
    3aea:       7e 98           cbi     0x0f, 6 ; 15
    3aec:       b8 60           ori     r27, 0x08       ; 8
    3aee:       12 76           andi    r17, 0x62       ; 98
    3af0:       66 81           ldd     r22, Z+6        ; 0x06
    3af2:       20 a8           ldd     r2, Z+48        ; 0x30
    3af4:       c3 40           sbci    r28, 0x03       ; 3
    3af6:       ef fb           .word   0xfbef  ; ????
    3af8:       12 1e           adc     r1, r18
    3afa:       d6 f7           brtc    .-12            ; 0x3af0 <__stack+0x29f1>
    3afc:       06 02           muls    r16, r22
    3afe:       f3 66           ori     r31, 0x63       ; 99
    3b00:       11 e6           ldi     r17, 0x61       ; 97
    3b02:       73 e9           ldi     r23, 0x93       ; 147
    3b04:       fd 46           sbci    r31, 0x6D       ; 109
    3b06:       51 b5           in      r21, 0x21       ; 33
    3b08:       40 5d           subi    r20, 0xD0       ; 208
    3b0a:       76 02           muls    r23, r22
    3b0c:       b0 7e           andi    r27, 0xE0       ; 224
    3b0e:       2e 12           cpse    r2, r30
    3b10:       58 65           ori     r21, 0x58       ; 88
    3b12:       22 c2           rjmp    .+1092          ; 0x3f58 <__stack+0x2e59>
    3b14:       65 26           eor     r6, r21
    3b16:       03 30           cpi     r16, 0x03       ; 3
    3b18:       b3 8b           std     Z+19, r27       ; 0x13
    3b1a:       10 ce           rjmp    .-992           ; 0x373c <__stack+0x263d>
    3b1c:       98 f7           brcc    .-26            ; 0x3b04 <__stack+0x2a05>
    3b1e:       d4 e8           ldi     r29, 0x84       ; 132
    3b20:       fc 90           ld      r15, X
    3b22:       cf 11           cpse    r28, r15
    3b24:       84 65           ori     r24, 0x54       ; 84
    3b26:       d0 44           sbci    r29, 0x40       ; 64
    3b28:       02 72           andi    r16, 0x22       ; 34
    3b2a:       9e 2c           mov     r9, r14
    3b2c:       13 bc           out     0x23, r1        ; 35
    3b2e:       b8 fc           .word   0xfcb8  ; ????
    3b30:       ae a7           std     Y+46, r26       ; 0x2e
    3b32:       ec a8           ldd     r14, Y+52       ; 0x34
    3b34:       28 30           cpi     r18, 0x08       ; 8
    3b36:       4c 19           sub     r20, r12
    3b38:       cc d1           rcall   .+920           ; 0x3ed2 <__stack+0x2dd3>
    3b3a:       db f3           brvs    .-10            ; 0x3b32 <__stack+0x2a33>
    3b3c:       7a c6           rjmp    .+3316          ; 0x4832 <__stack+0x3733>
    3b3e:       09 ec           ldi     r16, 0xC9       ; 201
    3b40:       eb 6b           ori     r30, 0xBB       ; 187
    3b42:       d8 f8           .word   0xf8d8  ; ????
    3b44:       68 dd           rcall   .-1328          ; 0x3616 <__stack+0x2517>
    3b46:       19 d7           rcall   .+3634          ; 0x497a <__stack+0x387b>
    3b48:       6d d0           rcall   .+218           ; 0x3c24 <__stack+0x2b25>
    3b4a:       cc 1e           adc     r12, r28
    3b4c:       7f c5           rjmp    .+2814          ; 0x464c <__stack+0x354d>
    3b4e:       e5 90           lpm     r14, Z+
    3b50:       97 e8           ldi     r25, 0x87       ; 135
    3b52:       98 04           cpc     r9, r8
    3b54:       e9 f0           breq    .+58            ; 0x3b90 <__stack+0x2a91>
    3b56:       38 ae           std     Y+56, r3        ; 0x38
    3b58:       fb b7           in      r31, 0x3b       ; 59
    3b5a:       24 ed           ldi     r18, 0xD4       ; 212
    3b5c:       75 0e           add     r7, r21
    3b5e:       b9 b3           in      r27, 0x19       ; 25
    3b60:       25 ef           ldi     r18, 0xF5       ; 245
    3b62:       03 fb           bst     r16, 3
    3b64:       8a 2c           mov     r8, r10
    3b66:       b3 c4           rjmp    .+2406          ; 0x44ce <__stack+0x33cf>
    3b68:       ce bd           out     0x2e, r28       ; 46
    3b6a:       a4 b3           in      r26, 0x14       ; 20
    3b6c:       0a 73           andi    r16, 0x3A       ; 58
    3b6e:       09 30           cpi     r16, 0x09       ; 9
    3b70:       f8 dd           rcall   .-1040          ; 0x3762 <__stack+0x2663>
    3b72:       8c 01           movw    r16, r24
    3b74:       fa cc           rjmp    .-1548          ; 0x356a <__stack+0x246b>
    3b76:       48 1b           sub     r20, r24
    3b78:       f4 ee           ldi     r31, 0xE4       ; 228
    3b7a:       0d 23           and     r16, r29
    3b7c:       4f 15           cp      r20, r15
    3b7e:       31 f6           brne    .-116           ; 0x3b0c <__stack+0x2a0d>
    3b80:       4f 34           cpi     r20, 0x4F       ; 79
    3b82:       98 5b           subi    r25, 0xB8       ; 184
    3b84:       39 22           and     r3, r25
    3b86:       a6 b3           in      r26, 0x16       ; 22
    3b88:       04 b3           in      r16, 0x14       ; 20
    3b8a:       21 26           eor     r2, r17
    3b8c:       28 45           sbci    r18, 0x58       ; 88
    3b8e:       ed 82           std     Y+5, r14        ; 0x05
    3b90:       e3 6b           ori     r30, 0xB3       ; 179
    3b92:       c8 42           sbci    r28, 0x28       ; 40
    3b94:       94 30           cpi     r25, 0x04       ; 4
    3b96:       80 47           sbci    r24, 0x70       ; 112
    3b98:       25 fb           bst     r18, 5
    3b9a:       6b b7           in      r22, 0x3b       ; 59
    3b9c:       ab 3f           cpi     r26, 0xFB       ; 251
    3b9e:       02 d6           rcall   .+3076          ; 0x47a4 <__stack+0x36a5>
    3ba0:       8b 84           ldd     r8, Y+11        ; 0x0b
    3ba2:       29 fd           .word   0xfd29  ; ????
    3ba4:       7f c0           rjmp    .+254           ; 0x3ca4 <__stack+0x2ba5>
    3ba6:       44 cb           rjmp    .-2424          ; 0x3230 <__stack+0x2131>
    3ba8:       f9 24           eor     r15, r9
    3baa:       57 b3           in      r21, 0x17       ; 23
    3bac:       08 58           subi    r16, 0x88       ; 136
    3bae:       10 33           cpi     r17, 0x30       ; 48
    3bb0:       b3 04           cpc     r11, r3
    3bb2:       04 50           subi    r16, 0x04       ; 4
    3bb4:       3e f4           brtc    .+14            ; 0x3bc4 <__stack+0x2ac5>
    3bb6:       78 f9           .word   0xf978  ; ????
    3bb8:       40 80           ld      r4, Z
    3bba:       ef 73           andi    r30, 0x3F       ; 63
    3bbc:       98 20           and     r9, r8
    3bbe:       06 08           sbc     r0, r6
    3bc0:       0d 40           sbci    r16, 0x0D       ; 13
    3bc2:       b2 03           fmuls   r19, r18
    3bc4:       b3 c8           rjmp    .-3738          ; 0x2d2c <__stack+0x1c2d>
    3bc6:       0f b1           in      r16, 0x0f       ; 15
    3bc8:       60 5f           subi    r22, 0xF0       ; 240
    3bca:       59 98           cbi     0x0b, 1 ; 11
    3bcc:       f2 39           cpi     r31, 0x92       ; 146
    3bce:       c8 5e           subi    r28, 0xE8       ; 232
    3bd0:       5e a7           std     Y+46, r21       ; 0x2e
    3bd2:       1e ba           out     0x1e, r1        ; 30
    3bd4:       20 07           cpc     r18, r16
    3bd6:       60 4a           sbci    r22, 0xA0       ; 160
    3bd8:       ca a0           ldd     r12, Y+34       ; 0x22
    3bda:       e5 30           cpi     r30, 0x05       ; 5
    3bdc:       20 73           andi    r18, 0x30       ; 48
    3bde:       30 80           ld      r3, Z
    3be0:       18 00           .word   0x0018  ; ????
    3be2:       b3 66           ori     r27, 0x63       ; 99
    3be4:       3c 9d           mul     r19, r12
    3be6:       ef b1           in      r30, 0x0f       ; 15
    3be8:       12 3f           cpi     r17, 0xF2       ; 242
    3bea:       b5 cc           rjmp    .-1686          ; 0x3556 <__stack+0x2457>
    3bec:       fb 52           subi    r31, 0x2B       ; 43
    3bee:       55 66           ori     r21, 0x65       ; 101
    3bf0:       40 24           eor     r4, r0
    3bf2:       c6 60           ori     r28, 0x06       ; 6
    3bf4:       eb a6           std     Y+43, r14       ; 0x2b
    3bf6:       26 25           eor     r18, r6
    3bf8:       fe 10           cpse    r15, r14
    3bfa:       d5 06           cpc     r13, r21
    3bfc:       01 37           cpi     r16, 0x71       ; 113
    3bfe:       ed 24           eor     r14, r13
    3c00:       af c3           rjmp    .+1886          ; 0x4360 <__stack+0x3261>
    3c02:       42 ed           ldi     r20, 0xD2       ; 210
    3c04:       90 04           cpc     r9, r0
    3c06:       2c b3           in      r18, 0x1c       ; 28
    3c08:       01 53           subi    r16, 0x31       ; 49
    3c0a:       fb cc           rjmp    .-1546          ; 0x3602 <__stack+0x2503>
    3c0c:       c8 88           ldd     r12, Y+16       ; 0x10
    3c0e:       27 a5           ldd     r18, Z+47       ; 0x2f
    3c10:       90 19           sub     r25, r0
    3c12:       df 7f           andi    r29, 0xFF       ; 255
    3c14:       99 81           ldd     r25, Y+1        ; 0x01
    3c16:       d1 11           cpse    r29, r1
    3c18:       ef fd           .word   0xfdef  ; ????
    3c1a:       30 fc           sbrc    r3, 0
    3c1c:       20 08           sbc     r2, r0
    3c1e:       25 04           cpc     r2, r5
    3c20:       b7 d9           rcall   .-3218          ; 0x2f90 <__stack+0x1e91>
    3c22:       8b 1c           adc     r8, r11
    3c24:       30 63           ori     r19, 0x30       ; 48
    3c26:       19 2e           mov     r1, r25
    3c28:       5f 51           subi    r21, 0x1F       ; 31
    3c2a:       79 d3           rcall   .+1778          ; 0x431e <__stack+0x321f>
    3c2c:       b7 ae           std     Z+63, r11       ; 0x3f
    3c2e:       8b 04           cpc     r8, r11
    3c30:       f4 98           cbi     0x1e, 4 ; 30
    3c32:       81 78           andi    r24, 0x81       ; 129
    3c34:       a0 89           ldd     r26, Z+16       ; 0x10
    3c36:       05 f8           bld     r0, 5
    3c38:       5f 2e           mov     r5, r31
    3c3a:       65 1e           adc     r6, r21
    3c3c:       d5 fa           bst     r13, 5
    3c3e:       62 46           sbci    r22, 0x62       ; 98
    3c40:       1f eb           ldi     r17, 0xBF       ; 191
    3c42:       e7 02           muls    r30, r23
    3c44:       2f 92           push    r2
    3c46:       58 40           sbci    r21, 0x08       ; 8
    3c48:       19 d0           rcall   .+50            ; 0x3c7c <__stack+0x2b7d>
    3c4a:       a3 e5           ldi     r26, 0x53       ; 83
    3c4c:       9c fa           .word   0xfa9c  ; ????
    3c4e:       c6 f7           brtc    .-16            ; 0x3c40 <__stack+0x2b41>
    3c50:       a3 b0           in      r10, 0x03       ; 3
    3c52:       6c 60           ori     r22, 0x0C       ; 12
    3c54:       6d cb           rjmp    .-2342          ; 0x3330 <__stack+0x2231>
    3c56:       2c 83           std     Y+4, r18        ; 0x04
    3c58:       14 38           cpi     r17, 0x84       ; 132
    3c5a:       b5 e0           ldi     r27, 0x05       ; 5
    3c5c:       cd d9           rcall   .-3174          ; 0x2ff8 <__stack+0x1ef9>
    3c5e:       b5 b3           in      r27, 0x15       ; 21
    3c60:       7a c6           rjmp    .+3316          ; 0x4956 <__stack+0x3857>
    3c62:       e0 93 fa 90     sts     0x90FA, r30
    3c66:       b3 84           ldd     r11, Z+11       ; 0x0b
    3c68:       6d c2           rjmp    .+1242          ; 0x4144 <__stack+0x3045>
    3c6a:       30 b9           out     0x00, r19       ; 0
    3c6c:       f5 70           andi    r31, 0x05       ; 5
    3c6e:       44 cb           rjmp    .-2424          ; 0x32f8 <__stack+0x21f9>
    3c70:       1e 23           and     r17, r30
    3c72:       30 bb           out     0x10, r19       ; 16
    3c74:       8d e0           ldi     r24, 0x0D       ; 13
    3c76:       4c 23           and     r20, r28
    3c78:       fe df           rcall   .-4             ; 0x3c76 <__stack+0x2b77>
    3c7a:       de 04           cpc     r13, r14
    3c7c:       9e c8           rjmp    .-3780          ; 0x2dba <__stack+0x1cbb>
    3c7e:       49 24           eor     r4, r9
    3c80:       45 b7           in      r20, 0x35       ; 53
    3c82:       42 fe           sbrs    r4, 2
    3c84:       35 aa           std     Z+53, r3        ; 0x35
    3c86:       b0 cb           rjmp    .-2208          ; 0x33e8 <__stack+0x22e9>
    3c88:       30 22           and     r3, r16
    3c8a:       dd 3d           cpi     r29, 0xDD       ; 221
    3c8c:       8c 82           std     Y+4, r8 ; 0x04
    3c8e:       31 7d           andi    r19, 0xD1       ; 209
    3c90:       9f cb           rjmp    .-2242          ; 0x33d0 <__stack+0x22d1>
    3c92:       e3 0b           sbc     r30, r19
    3c94:       6f b3           in      r22, 0x1f       ; 31
    3c96:       26 17           cp      r18, r22
    3c98:       09 80           ldd     r0, Y+1 ; 0x01
    3c9a:       1a e0           ldi     r17, 0x0A       ; 10
    3c9c:       2d f4           brhc    .+10            ; 0x3ca8 <__stack+0x2ba9>
    3c9e:       0c 77           andi    r16, 0x7C       ; 124
    3ca0:       d6 88           ldd     r13, Z+22       ; 0x16
    3ca2:       5f 45           sbci    r21, 0x5F       ; 95
    3ca4:       9d 40           sbci    r25, 0x0D       ; 13
    3ca6:       59 82           std     Y+1, r5 ; 0x01
    3ca8:       44 72           andi    r20, 0x24       ; 36
    3caa:       69 fd           .word   0xfd69  ; ????
    3cac:       b2 c8           rjmp    .-3740          ; 0x2e12 <__stack+0x1d13>
    3cae:       d7 3b           cpi     r29, 0xB7       ; 183
    3cb0:       f5 18           sub     r15, r5
    3cb2:       40 f3           brcs    .-48            ; 0x3c84 <__stack+0x2b85>
    3cb4:       c8 07           cpc     r28, r24
    3cb6:       77 f6           brid    .-100           ; 0x3c54 <__stack+0x2b55>
    3cb8:       5c 03           fmul    r21, r20
    3cba:       01 5e           subi    r16, 0xE1       ; 225
    3cbc:       ed 38           cpi     r30, 0x8D       ; 141
    3cbe:       10 57           subi    r17, 0x70       ; 112
    3cc0:       ab e8           ldi     r26, 0x8B       ; 139
    3cc2:       19 e0           ldi     r17, 0x09       ; 9
    3cc4:       5a 1f           adc     r21, r26
    3cc6:       c0 07           cpc     r28, r16
    3cc8:       30 af           std     Z+56, r19       ; 0x38
    3cca:       1e 17           cp      r17, r30
    3ccc:       5e 83           std     Y+6, r21        ; 0x06
    3cce:       7a 98           cbi     0x0f, 2 ; 15
    3cd0:       b8 bf           out     0x38, r27       ; 56
    3cd2:       cc 31           cpi     r28, 0x1C       ; 28
    3cd4:       96 08           sbc     r9, r6
    3cd6:       c3 85           ldd     r28, Z+11       ; 0x0b
    3cd8:       01 a6           std     Z+41, r0        ; 0x29
    3cda:       4f bd           out     0x2f, r20       ; 47
    3cdc:       37 b5           in      r19, 0x27       ; 39
    3cde:       03 35           cpi     r16, 0x53       ; 83
    3ce0:       76 5a           subi    r23, 0xA6       ; 166
    3ce2:       b3 50           subi    r27, 0x03       ; 3
    3ce4:       ae b3           in      r26, 0x1e       ; 30
    3ce6:       88 08           sbc     r8, r8
    3ce8:       e0 cb           rjmp    .-2112          ; 0x34aa <__stack+0x23ab>
    3cea:       ef 0a           sbc     r14, r31
    3cec:       80 18           sub     r8, r0
    3cee:       10 25           eor     r17, r0
    3cf0:       c7 8b           std     Z+23, r28       ; 0x17
    3cf2:       df 1b           sub     r29, r31
    3cf4:       c0 28           or      r12, r0
    3cf6:       fc 96           adiw    r30, 0x3c       ; 60
    3cf8:       09 f3           breq    .-62            ; 0x3cbc <__stack+0x2bbd>
    3cfa:       82 b3           in      r24, 0x12       ; 18
    3cfc:       5c 8d           ldd     r21, Y+28       ; 0x1c
    3cfe:       b3 56           subi    r27, 0x63       ; 99
    3d00:       39 93           st      Y+, r19
    3d02:       df ee           ldi     r29, 0xEF       ; 239
    3d04:       66 1b           sub     r22, r22
    3d06:       11 8d           ldd     r17, Z+25       ; 0x19
    3d08:       93 d3           rcall   .+1830          ; 0x4430 <__stack+0x3331>
    3d0a:       41 ab           std     Z+49, r20       ; 0x31
    3d0c:       b3 08           sbc     r11, r3
    3d0e:       58 77           andi    r21, 0x78       ; 120
    3d10:       fa 7f           andi    r31, 0xFA       ; 250
    3d12:       28 02           muls    r18, r24
    3d14:       09 4b           sbci    r16, 0xB9       ; 185
    3d16:       95 fc           sbrc    r9, 5
    3d18:       b5 15           cp      r27, r5
    3d1a:       33 ff           sbrs    r19, 3
    3d1c:       cc b3           in      r28, 0x1c       ; 28
    3d1e:       7d ff           .word   0xff7d  ; ????
    3d20:       ac d1           rcall   .+856           ; 0x407a <__stack+0x2f7b>
    3d22:       ff 20           and     r15, r15
    3d24:       5d dc           rcall   .-1862          ; 0x35e0 <__stack+0x24e1>
    3d26:       1d bb           out     0x1d, r17       ; 29
    3d28:       40 ec           ldi     r20, 0xC0       ; 192
    3d2a:       55 a5           ldd     r21, Z+45       ; 0x2d
    3d2c:       f3 01           movw    r30, r6
    3d2e:       19 f3           breq    .-58            ; 0x3cf6 <__stack+0x2bf7>
    3d30:       86 d3           rcall   .+1804          ; 0x443e <__stack+0x333f>
    3d32:       69 e0           ldi     r22, 0x09       ; 9
    3d34:       9e d3           rcall   .+1852          ; 0x4472 <__stack+0x3373>
    3d36:       d9 88           ldd     r13, Y+17       ; 0x11
    3d38:       fe 42           sbci    r31, 0x2E       ; 46
    3d3a:       d4 eb           ldi     r29, 0xB4       ; 180
    3d3c:       c3 b7           in      r28, 0x33       ; 51
    3d3e:       ff 90           pop     r15
    3d40:       ff 2c           mov     r15, r15
    3d42:       65 18           sub     r6, r5
    3d44:       a0 78           andi    r26, 0x80       ; 128
    3d46:       66 c4           rjmp    .+2252          ; 0x4614 <__stack+0x3515>
    3d48:       e3 f8           bld     r14, 3
    3d4a:       b2 21           and     r27, r2
    3d4c:       4c d3           rcall   .+1688          ; 0x43e6 <__stack+0x32e7>
    3d4e:       78 59           subi    r23, 0x98       ; 152
    3d50:       df ab           std     Y+55, r29       ; 0x37
    3d52:       99 43           sbci    r25, 0x39       ; 57
    3d54:       da b2           in      r13, 0x1a       ; 26
    3d56:       3c 2f           mov     r19, r28
    3d58:       f2 b1           in      r31, 0x02       ; 2
    3d5a:       f5 e9           ldi     r31, 0x95       ; 149
    3d5c:       f8 af           std     Y+56, r31       ; 0x38
    3d5e:       cb 9b           sbis    0x19, 3 ; 25
    3d60:       a0 cc           rjmp    .-1728          ; 0x36a2 <__stack+0x25a3>
    3d62:       c2 df           rcall   .-124           ; 0x3ce8 <__stack+0x2be9>
    3d64:       b3 bf           out     0x33, r27       ; 51
    3d66:       cd b3           in      r28, 0x1d       ; 29
    3d68:       cd e0           ldi     r28, 0x0D       ; 13
    3d6a:       cd 59           subi    r28, 0x9D       ; 157
    3d6c:       f4 f2           brlt    .-68            ; 0x3d2a <__stack+0x2c2b>
    3d6e:       b9 d1           rcall   .+882           ; 0x40e2 <__stack+0x2fe3>
    3d70:       fe bc           out     0x2e, r15       ; 46
    3d72:       08 de           rcall   .-1008          ; 0x3984 <__stack+0x2885>
    3d74:       d8 73           andi    r29, 0x38       ; 56
    3d76:       58 a0           ldd     r5, Y+32        ; 0x20
    3d78:       72 ff           sbrs    r23, 2
    3d7a:       ec 33           cpi     r30, 0x3C       ; 60
    3d7c:       f8 10           cpse    r15, r8
    3d7e:       34 f8           bld     r3, 4
    3d80:       cc 4c           sbci    r28, 0xCC       ; 204
    3d82:       44 d3           rcall   .+1672          ; 0x440c <__stack+0x330d>
    3d84:       25 ff           sbrs    r18, 5
    3d86:       87 06           cpc     r8, r23
    3d88:       77 7f           andi    r23, 0xF7       ; 247
    3d8a:       e8 a6           std     Y+40, r14       ; 0x28
    3d8c:       90 b3           in      r25, 0x10       ; 16
    3d8e:       c4 bf           out     0x34, r28       ; 52
    3d90:       e5 40           sbci    r30, 0x05       ; 5
    3d92:       61 92           st      Z+, r6
    3d94:       a7 98           cbi     0x14, 7 ; 20
    3d96:       c3 e2           ldi     r28, 0x23       ; 35
    3d98:       66 37           cpi     r22, 0x76       ; 118
    3d9a:       21 5a           subi    r18, 0xA1       ; 161
    3d9c:       5c 70           andi    r21, 0x0C       ; 12
    3d9e:       ac b3           in      r26, 0x1c       ; 28
    3da0:       02 10           cpse    r0, r2
    3da2:       bd 46           sbci    r27, 0x6D       ; 109
    3da4:       38 b6           in      r3, 0x38        ; 56
    3da6:       fd db           rcall   .-2054          ; 0x35a2 <__stack+0x24a3>
    3da8:       34 33           cpi     r19, 0x34       ; 52
    3daa:       b6 71           andi    r27, 0x16       ; 22
    3dac:       02 19           sub     r16, r2
    3dae:       36 b3           in      r19, 0x16       ; 22
    3db0:       40 fc           sbrc    r4, 0
    3db2:       1d 19           sub     r17, r13
    3db4:       1c ff           .word   0xff1c  ; ????
    3db6:       cc b1           in      r28, 0x0c       ; 12
    3db8:       80 1f           adc     r24, r16
    3dba:       b7 f9           bld     r27, 7
    3dbc:       db 57           subi    r29, 0x7B       ; 123
    3dbe:       3c e5           ldi     r19, 0x5C       ; 92
    3dc0:       d8 e7           ldi     r29, 0x78       ; 120
    3dc2:       f3 f8           bld     r15, 3
    3dc4:       34 f3           brlt    .-52            ; 0x3d92 <__stack+0x2c93>
    3dc6:       06 08           sbc     r0, r6
    3dc8:       fe df           rcall   .-4             ; 0x3dc6 <__stack+0x2cc7>
    3dca:       ac db           rcall   .-2216          ; 0x3524 <__stack+0x2425>
    3dcc:       f3 c0           rjmp    .+486           ; 0x3fb4 <__stack+0x2eb5>
    3dce:       14 fd           sbrc    r17, 4
    3dd0:       18 10           cpse    r1, r8
    3dd2:       19 fe           .word   0xfe19  ; ????
    3dd4:       9f eb           ldi     r25, 0xBF       ; 191
    3dd6:       15 b6           in      r1, 0x35        ; 53
    3dd8:       79 fe           .word   0xfe79  ; ????
    3dda:       10 ff           sbrs    r17, 0
    3ddc:       c2 fc           sbrc    r12, 2
    3dde:       3b 63           ori     r19, 0x3B       ; 59
    3de0:       81 02           muls    r24, r17
    3de2:       85 a7           std     Z+45, r24       ; 0x2d
    3de4:       e9 9c           mul     r14, r9
    3de6:       66 b1           in      r22, 0x06       ; 6
    3de8:       20 0f           add     r18, r16
    3dea:       5e ce           rjmp    .-836           ; 0x3aa8 <__stack+0x29a9>
    3dec:       30 b3           in      r19, 0x10       ; 16
    3dee:       2d e6           ldi     r18, 0x6D       ; 109
    3df0:       47 da           rcall   .-2930          ; 0x3280 <__stack+0x2181>
    3df2:       cd 50           subi    r28, 0x0D       ; 13
    3df4:       14 39           cpi     r17, 0x94       ; 148
    3df6:       e9 31           cpi     r30, 0x19       ; 25
    3df8:       18 f1           brcs    .+70            ; 0x3e40 <__stack+0x2d41>
    3dfa:       5a f5           brpl    .+86            ; 0x3e52 <__stack+0x2d53>
    3dfc:       bb fa           .word   0xfabb  ; ????
    3dfe:       fd 82           std     Y+5, r15        ; 0x05
    3e00:       02 20           and     r0, r2
    3e02:       82 e7           ldi     r24, 0x72       ; 114
    3e04:       d6 66           ori     r29, 0x66       ; 102
    3e06:       80 22           and     r8, r16
    3e08:       d1 97           sbiw    r26, 0x31       ; 49
    3e0a:       05 73           andi    r16, 0x35       ; 53
    3e0c:       d5 01           movw    r26, r10
    3e0e:       52 62           ori     r21, 0x22       ; 34
    3e10:       46 14           cp      r4, r6
    3e12:       71 39           cpi     r23, 0x91       ; 145
    3e14:       25 b0           in      r2, 0x05        ; 5
    3e16:       40 b5           in      r20, 0x20       ; 32
    3e18:       3a 22           and     r3, r26
    3e1a:       8c fa           .word   0xfa8c  ; ????
    3e1c:       02 31           cpi     r16, 0x12       ; 18
    3e1e:       c6 03           fmuls   r20, r22
    3e20:       29 37           cpi     r18, 0x79       ; 121
    3e22:       ec b6           in      r14, 0x3c       ; 60
    3e24:       23 da           rcall   .-3002          ; 0x326c <__stack+0x216d>
    3e26:       72 d3           rcall   .+1764          ; 0x450c <__stack+0x340d>
    3e28:       62 2f           mov     r22, r18
    3e2a:       cc 9f           mul     r28, r28
    3e2c:       35 f2           brhs    .-116           ; 0x3dba <__stack+0x2cbb>
    3e2e:       ea 39           cpi     r30, 0x9A       ; 154
    3e30:       0d 25           eor     r16, r13
    3e32:       dc b0           in      r13, 0x0c       ; 12
    3e34:       f9 ef           ldi     r31, 0xF9       ; 249
    3e36:       af 72           andi    r26, 0x2F       ; 47
    3e38:       ea 10           cpse    r14, r10
    3e3a:       34 38           cpi     r19, 0x84       ; 132
    3e3c:       6d 61           ori     r22, 0x1D       ; 29
    3e3e:       d8 fc           .word   0xfcd8  ; ????
    3e40:       f8 0b           sbc     r31, r24
    3e42:       c3 f2           brvs    .-80            ; 0x3df4 <__stack+0x2cf5>
    3e44:       ff d2           rcall   .+1534          ; 0x4444 <__stack+0x3345>
    3e46:       fc 37           cpi     r31, 0x7C       ; 124
    3e48:       ac 31           cpi     r26, 0x1C       ; 28
    3e4a:       9b c3           rjmp    .+1846          ; 0x4582 <__stack+0x3483>
    3e4c:       aa 1f           adc     r26, r26
    3e4e:       e6 f6           brtc    .-72            ; 0x3e08 <__stack+0x2d09>
    3e50:       d8 fe           .word   0xfed8  ; ????
    3e52:       c3 f2           brvs    .-80            ; 0x3e04 <__stack+0x2d05>
    3e54:       70 58           subi    r23, 0x80       ; 128
    3e56:       73 10           cpse    r7, r3
    3e58:       89 b3           in      r24, 0x19       ; 25
    3e5a:       b6 d8           rcall   .-3732          ; 0x2fc8 <__stack+0x1ec9>
    3e5c:       46 6c           ori     r20, 0xC6       ; 198
    3e5e:       a9 b0           in      r10, 0x09       ; 9
    3e60:       50 f7           brcc    .-44            ; 0x3e36 <__stack+0x2d37>
    3e62:       8d 7d           andi    r24, 0xDD       ; 221
    3e64:       fc 89           ldd     r31, Y+20       ; 0x14
    3e66:       e6 09           sbc     r30, r6
    3e68:       88 fa           .word   0xfa88  ; ????
    3e6a:       c5 56           subi    r28, 0x65       ; 101
    3e6c:       00 04           cpc     r0, r0
    3e6e:       1e ee           ldi     r17, 0xEE       ; 238
    3e70:       e3 40           sbci    r30, 0x03       ; 3
    3e72:       c4 0c           add     r12, r4
    3e74:       90 67           ori     r25, 0x70       ; 112
    3e76:       2c 8f           std     Y+28, r18       ; 0x1c
    3e78:       45 db           rcall   .-2422          ; 0x3504 <__stack+0x2405>
    3e7a:       d0 b7           in      r29, 0x30       ; 48
    3e7c:       fa 30           cpi     r31, 0x0A       ; 10
    3e7e:       f5 9b           sbis    0x1e, 5 ; 30
    3e80:       db 03           fmulsu  r21, r19
    3e82:       01 08           sbc     r0, r1
    3e84:       37 cd           rjmp    .-1426          ; 0x38f4 <__stack+0x27f5>
    3e86:       91 3b           cpi     r25, 0xB1       ; 177
    3e88:       bc 20           and     r11, r12
    3e8a:       4b 9f           mul     r20, r27
    3e8c:       fc 28           or      r15, r12
    3e8e:       77 c3           rjmp    .+1774          ; 0x457e <__stack+0x347f>
    3e90:       4d 37           cpi     r20, 0x7D       ; 125
    3e92:       fd 5c           subi    r31, 0xCD       ; 205
    3e94:       d1 d8           rcall   .-3678          ; 0x3038 <__stack+0x1f39>
    3e96:       66 62           ori     r22, 0x26       ; 38
    3e98:       bb 9b           sbis    0x17, 3 ; 23
    3e9a:       b1 80           ldd     r11, Z+1        ; 0x01
    3e9c:       a5 19           sub     r26, r5
    3e9e:       20 89           ldd     r18, Z+16       ; 0x10
    3ea0:       31 ac           ldd     r3, Z+57        ; 0x39
    3ea2:       f8 20           and     r15, r8
    3ea4:       d8 7f           andi    r29, 0xF8       ; 248
    3ea6:       a6 1d           adc     r26, r6
    3ea8:       eb 26           eor     r14, r27
    3eaa:       fd 0c           add     r15, r13
    3eac:       3c 5b           subi    r19, 0xBC       ; 188
    3eae:       c5 f9           bld     r28, 5
    3eb0:       f6 b8           out     0x06, r15       ; 6
    3eb2:       b0 fb           bst     r27, 0
    3eb4:       44 f5           brge    .+80            ; 0x3f06 <__stack+0x2e07>
    3eb6:       98 04           cpc     r9, r8
    3eb8:       fe e5           ldi     r31, 0x5E       ; 94
    3eba:       b0 fb           bst     r27, 0
    3ebc:       4b d3           rcall   .+1686          ; 0x4554 <__stack+0x3455>
    3ebe:       af 04           cpc     r10, r15
    3ec0:       c5 b3           in      r28, 0x15       ; 21
    3ec2:       02 bf           out     0x32, r16       ; 50
    3ec4:       8b 78           andi    r24, 0x8B       ; 139
    3ec6:       f5 0f           add     r31, r21
    3ec8:       1d b3           in      r17, 0x1d       ; 29
    3eca:       a0 fe           sbrs    r10, 0
    3ecc:       02 87           std     Z+10, r16       ; 0x0a
    3ece:       1d 27           eor     r17, r29
    3ed0:       67 6f           ori     r22, 0xF7       ; 247
    3ed2:       66 d8           rcall   .-3892          ; 0x2fa0 <__stack+0x1ea1>
    3ed4:       fd dd           rcall   .-1030          ; 0x3ad0 <__stack+0x29d1>
    3ed6:       20 01           movw    r4, r0
    3ed8:       e0 40           sbci    r30, 0x00       ; 0
    3eda:       d9 fe           .word   0xfed9  ; ????
    3edc:       c2 62           ori     r28, 0x22       ; 34
    3ede:       66 9c           mul     r6, r6
    3ee0:       39 ed           ldi     r19, 0xD9       ; 217
    3ee2:       b9 28           or      r11, r9
    3ee4:       f9 83           std     Y+1, r31        ; 0x01
    3ee6:       0f ec           ldi     r16, 0xCF       ; 207
    3ee8:       7f 08           sbc     r7, r15
    3eea:       33 e5           ldi     r19, 0x53       ; 83
    3eec:       78 ff           .word   0xff78  ; ????
    3eee:       89 f5           brne    .+98            ; 0x3f52 <__stack+0x2e53>
    3ef0:       1e 86           std     Y+14, r1        ; 0x0e
    3ef2:       9f 75           andi    r25, 0x5F       ; 95
    3ef4:       ae 90           ld      r10, -X
    3ef6:       b0 fe           sbrs    r11, 0
    3ef8:       48 ed           ldi     r20, 0xD8       ; 216
    3efa:       b1 ff           sbrs    r27, 1
    3efc:       9e ea           ldi     r25, 0xAE       ; 174
    3efe:       b5 01           movw    r22, r10
    3f00:       58 5b           subi    r21, 0xB8       ; 184
    3f02:       20 e7           ldi     r18, 0x70       ; 112
    3f04:       2d dc           rcall   .-1958          ; 0x3760 <__stack+0x2661>
    3f06:       10 8d           ldd     r17, Z+24       ; 0x18
    3f08:       f3 de           rcall   .-538           ; 0x3cf0 <__stack+0x2bf1>
    3f0a:       a6 80           ldd     r10, Z+6        ; 0x06
    3f0c:       68 f8           .word   0xf868  ; ????
    3f0e:       10 dc           rcall   .-2016          ; 0x3730 <__stack+0x2631>
    3f10:       9a 0b           sbc     r25, r26
    3f12:       2b 4d           sbci    r18, 0xDB       ; 219
    3f14:       5b 4c           sbci    r21, 0xCB       ; 203
    3f16:       d4 48           sbci    r29, 0x84       ; 132
    3f18:       96 dc           rcall   .-1748          ; 0x3846 <__stack+0x2747>
    3f1a:       b4 96           adiw    r30, 0x24       ; 36
    3f1c:       90 80           ld      r9, Z
    3f1e:       67 ae           std     Z+63, r6        ; 0x3f
    3f20:       98 0a           sbc     r9, r24
    3f22:       0a c8           rjmp    .-4076          ; 0x2f38 <__stack+0x1e39>
    3f24:       ff 84           ldd     r15, Y+15       ; 0x0f
    3f26:       d9 d9           rcall   .-3150          ; 0x32da <__stack+0x21db>
    3f28:       71 10           cpse    r7, r1
    3f2a:       28 8f           std     Y+24, r18       ; 0x18
    3f2c:       a4 c6           rjmp    .+3400          ; 0x4c76 <__stack+0x3b77>
    3f2e:       fc f6           brge    .-66            ; 0x3eee <__stack+0x2def>
    3f30:       f2 7c           andi    r31, 0xC2       ; 194
    3f32:       36 b3           in      r19, 0x16       ; 22
    3f34:       53 5e           subi    r21, 0xE3       ; 227
    3f36:       82 66           ori     r24, 0x62       ; 98
    3f38:       78 fa           .word   0xfa78  ; ????
    3f3a:       fc 20           and     r15, r12
    3f3c:       05 14           cp      r0, r5
    3f3e:       16 0e           add     r1, r22
    3f40:       10 29           or      r17, r0
    3f42:       08 c1           rjmp    .+528           ; 0x4154 <__stack+0x3055>
    3f44:       0c 51           subi    r16, 0x1C       ; 28
    3f46:       3a 01           movw    r6, r20
    3f48:       2b 11           cpse    r18, r11
    3f4a:       71 aa           std     Z+49, r7        ; 0x31
    3f4c:       20 32           cpi     r18, 0x20       ; 32
    3f4e:       80 f1           brcs    .+96            ; 0x3fb0 <__stack+0x2eb1>
    3f50:       52 01           movw    r10, r4
    3f52:       d8 8f           std     Y+24, r29       ; 0x18
    3f54:       90 95           com     r25
    3f56:       db c6           rjmp    .+3510          ; 0x4d0e <__stack+0x3c0f>
    3f58:       e1 81           ldd     r30, Z+1        ; 0x01
    3f5a:       77 a7           std     Z+47, r23       ; 0x2f
    3f5c:       5f 10           cpse    r5, r15
    3f5e:       b3 03           fmuls   r19, r19
    3f60:       0c 03           fmul    r16, r20
    3f62:       14 86           std     Z+12, r1        ; 0x0c
    3f64:       c9 81           ldd     r28, Y+1        ; 0x01
    3f66:       80 f1           brcs    .+96            ; 0x3fc8 <__stack+0x2ec9>
    3f68:       c8 16           cp      r12, r24
    3f6a:       28 22           and     r2, r24
    3f6c:       4c ec           ldi     r20, 0xCC       ; 204
    3f6e:       f9 f6           brne    .-66            ; 0x3f2e <__stack+0x2e2f>
    3f70:       b0 de           rcall   .-672           ; 0x3cd2 <__stack+0x2bd3>
    3f72:       de 80           ldd     r13, Y+6        ; 0x06
    3f74:       7c 2b           or      r23, r28
    3f76:       f9 c9           rjmp    .-3086          ; 0x336a <__stack+0x226b>
    3f78:       3f 5e           subi    r19, 0xEF       ; 239
    3f7a:       4c 06           cpc     r4, r28
    3f7c:       05 32           cpi     r16, 0x25       ; 37
    3f7e:       25 2f           mov     r18, r21
    3f80:       87 56           subi    r24, 0x67       ; 103
    3f82:       88 6d           ori     r24, 0xD8       ; 216
    3f84:       2b 1e           adc     r2, r27
    3f86:       d5 1e           adc     r13, r21
    3f88:       bd 02           muls    r27, r29
    3f8a:       f2 10           cpse    r15, r2
    3f8c:       43 65           ori     r20, 0x53       ; 83
    3f8e:       f4 25           eor     r31, r4
    3f90:       39 f6           brne    .-114           ; 0x3f20 <__stack+0x2e21>
    3f92:       21 08           sbc     r2, r1
    3f94:       e8 a3           std     Y+32, r30       ; 0x20
    3f96:       f8 b3           in      r31, 0x18       ; 24
    3f98:       81 80           ldd     r8, Z+1 ; 0x01
    3f9a:       bc df           rcall   .-136           ; 0x3f14 <__stack+0x2e15>
    3f9c:       df d6           rcall   .+3518          ; 0x4d5c <__stack+0x3c5d>
    3f9e:       ea 04           cpc     r14, r10
    3fa0:       3f 9b           sbis    0x07, 7 ; 7
    3fa2:       27 20           and     r2, r7
    3fa4:       11 6f           ori     r17, 0xF1       ; 241
    3fa6:       f3 98           cbi     0x1e, 3 ; 30
    3fa8:       fc 58           subi    r31, 0x8C       ; 140
    3faa:       01 40           sbci    r16, 0x01       ; 1
    3fac:       9f ac           ldd     r9, Y+63        ; 0x3f
    3fae:       a1 80           ldd     r10, Z+1        ; 0x01
    3fb0:       7f cd           rjmp    .-1282          ; 0x3ab0 <__stack+0x29b1>
    3fb2:       44 f2           brlt    .-112           ; 0x3f44 <__stack+0x2e45>
    3fb4:       47 53           subi    r20, 0x37       ; 55
    3fb6:       c6 f8           bld     r12, 6
    3fb8:       f0 f8           bld     r15, 0
    3fba:       6d f6           brhc    .-102           ; 0x3f56 <__stack+0x2e57>
    3fbc:       65 08           sbc     r6, r5
    3fbe:       39 c4           rjmp    .+2162          ; 0x4832 <__stack+0x3733>
    3fc0:       e5 c8           rjmp    .-3638          ; 0x318c <__stack+0x208d>
    3fc2:       fa 02           muls    r31, r26
    3fc4:       7f 93           push    r23
    3fc6:       fb 08           sbc     r15, r11
    3fc8:       40 55           subi    r20, 0x50       ; 80
    3fca:       a6 08           sbc     r10, r6
    3fcc:       84 ed           ldi     r24, 0xD4       ; 212
    3fce:       b3 02           muls    r27, r19
    3fd0:       40 bb           out     0x10, r20       ; 16
    3fd2:       37 60           ori     r19, 0x07       ; 7
    3fd4:       fa 36           cpi     r31, 0x6A       ; 106
    3fd6:       c0 20           and     r12, r0
    3fd8:       1a 69           ori     r17, 0x9A       ; 154
    3fda:       20 be           out     0x30, r2        ; 48
    3fdc:       9b 3d           cpi     r25, 0xDB       ; 219
    3fde:       bb 26           eor     r11, r27
    3fe0:       18 fd           .word   0xfd18  ; ????
    3fe2:       44 7f           andi    r20, 0xF4       ; 244
    3fe4:       ec c0           rjmp    .+472           ; 0x41be <__stack+0x30bf>
    3fe6:       08 80           ld      r0, Y
    3fe8:       3d ef           ldi     r19, 0xFD       ; 253
    3fea:       11 21           and     r17, r1
    3fec:       fa 0a           sbc     r15, r26
    3fee:       d8 20           and     r13, r8
    3ff0:       10 8a           std     Z+16, r1        ; 0x10
    3ff2:       31 41           sbci    r19, 0x11       ; 17
    3ff4:       c2 0f           add     r28, r18
    3ff6:       d9 ca           rjmp    .-2638          ; 0x35aa <__stack+0x24ab>
    3ff8:       01 a3           std     Z+33, r16       ; 0x21
    3ffa:       8e 61           ori     r24, 0x1E       ; 30
    3ffc:       50 b3           in      r21, 0x10       ; 16
    3ffe:       ff 72           andi    r31, 0x2F       ; 47
    4000:       15 c7           rjmp    .+3626          ; 0x4e2c <__stack+0x3d2d>
    4002:       cd 2a           or      r12, r29
    4004:       cc b4           in      r12, 0x2c       ; 44
    4006:       47 76           andi    r20, 0x67       ; 103
    4008:       e3 ff           sbrs    r30, 3
    400a:       18 7d           andi    r17, 0xD8       ; 216
    400c:       da 89           ldd     r29, Y+18       ; 0x12
    400e:       f2 bc           out     0x22, r15       ; 34
    4010:       80 be           out     0x30, r8        ; 48
    4012:       8e 8c           ldd     r8, Y+30        ; 0x1e
    4014:       66 10           cpse    r6, r6
    4016:       d7 ff           sbrs    r29, 7
    4018:       20 36           cpi     r18, 0x60       ; 96
    401a:       9d 30           cpi     r25, 0x0D       ; 13
    401c:       fd 2b           or      r31, r29
    401e:       fb 91           .word   0x91fb  ; ????
    4020:       02 18           sub     r0, r2
    4022:       ee 19           sub     r30, r14
    4024:       01 a0           ldd     r0, Z+33        ; 0x21
    4026:       ff b1           in      r31, 0x0f       ; 15
    4028:       04 15           cp      r16, r4
    402a:       4f f9           .word   0xf94f  ; ????
    402c:       92 a2           std     Z+34, r9        ; 0x22
    402e:       62 c6           rjmp    .+3268          ; 0x4cf4 <__stack+0x3bf5>
    4030:       30 37           cpi     r19, 0x70       ; 112
    4032:       e5 2d           mov     r30, r5
    4034:       d6 06           cpc     r13, r22
    4036:       fd f2           brhs    .-66            ; 0x3ff6 <__stack+0x2ef7>
    4038:       b1 fa           bst     r11, 1
    403a:       fd 30           cpi     r31, 0x0D       ; 13
    403c:       84 9c           mul     r8, r4
    403e:       9d bc           out     0x2d, r9        ; 45
    4040:       98 5c           subi    r25, 0xC8       ; 200
    4042:       4a ac           ldd     r4, Y+58        ; 0x3a
    4044:       67 7c           andi    r22, 0xC7       ; 199
    4046:       2f b0           in      r2, 0x0f        ; 15
    4048:       eb c5           rjmp    .+3030          ; 0x4c20 <__stack+0x3b21>
    404a:       ff 30           cpi     r31, 0x0F       ; 15
    404c:       fb fb           .word   0xfbfb  ; ????
    404e:       20 04           cpc     r2, r0
    4050:       a4 10           cpse    r10, r4
    4052:       9e b1           in      r25, 0x0e       ; 14
    4054:       08 20           and     r0, r8
    4056:       48 21           and     r20, r8
    4058:       fd df           rcall   .-6             ; 0x4054 <__stack+0x2f55>
    405a:       4e 40           sbci    r20, 0x0E       ; 14
    405c:       d4 aa           std     Z+52, r13       ; 0x34
    405e:       f7 03           fmuls   r23, r23
    4060:       08 04           cpc     r0, r8
    4062:       b1 11           cpse    r27, r1
    4064:       17 66           ori     r17, 0x67       ; 103
    4066:       40 12           cpse    r4, r16
    4068:       18 5d           subi    r17, 0xD8       ; 216
    406a:       bd 5f           subi    r27, 0xFD       ; 253
    406c:       40 bf           out     0x30, r20       ; 48
    406e:       21 d4           rcall   .+2114          ; 0x48b2 <__stack+0x37b3>
    4070:       00 08           sbc     r0, r0
    4072:       c5 de           rcall   .-630           ; 0x3dfe <__stack+0x2cff>
    4074:       0c 01           movw    r0, r24
    4076:       09 cd           rjmp    .-1518          ; 0x3a8a <__stack+0x298b>
    4078:       48 ff           .word   0xff48  ; ????
    407a:       ef 30           cpi     r30, 0x0F       ; 15
    407c:       aa d9           rcall   .-3244          ; 0x33d2 <__stack+0x22d3>
    407e:       61 c5           rjmp    .+2754          ; 0x4b42 <__stack+0x3a43>
    4080:       3c 68           ori     r19, 0x8C       ; 140
    4082:       c7 f8           bld     r12, 7
    4084:       c9 df           rcall   .-110           ; 0x4018 <__stack+0x2f19>
    4086:       9a 3e           cpi     r25, 0xEA       ; 234
    4088:       f0 fc           sbrc    r15, 0
    408a:       39 fb           .word   0xfb39  ; ????
    408c:       66 06           cpc     r6, r22
    408e:       ae 80           ldd     r10, Y+6        ; 0x06
    4090:       df 5b           subi    r29, 0xBF       ; 191
    4092:       03 c6           rjmp    .+3078          ; 0x4c9a <__stack+0x3b9b>
    4094:       34 bf           out     0x34, r19       ; 52
    4096:       af d8           rcall   .-3746          ; 0x31f6 <__stack+0x20f7>
    4098:       03 60           ori     r16, 0x03       ; 3
    409a:       a3 c2           rjmp    .+1350          ; 0x45e2 <__stack+0x34e3>
    409c:       06 c0           rjmp    .+12            ; 0x40aa <__stack+0x2fab>
    409e:       77 e7           ldi     r23, 0x77       ; 119
    40a0:       84 78           andi    r24, 0x84       ; 132
    40a2:       e0 80           ld      r14, Z
    40a4:       81 7e           andi    r24, 0xE1       ; 225
    40a6:       dd d3           rcall   .+1978          ; 0x4862 <__stack+0x3763>
    40a8:       db d0           rcall   .+438           ; 0x4260 <__stack+0x3161>
    40aa:       20 ff           sbrs    r18, 0
    40ac:       8e 58           subi    r24, 0x8E       ; 142
    40ae:       3d 66           ori     r19, 0x6D       ; 109
    40b0:       90 30           cpi     r25, 0x00       ; 0
    40b2:       02 a3           std     Z+34, r16       ; 0x22
    40b4:       a3 60           ori     r26, 0x03       ; 3
    40b6:       04 b3           in      r16, 0x14       ; 20
    40b8:       0d 7f           andi    r16, 0xFD       ; 253
    40ba:       79 80           ldd     r7, Y+1 ; 0x01
    40bc:       62 5c           subi    r22, 0xC2       ; 194
    40be:       64 e9           ldi     r22, 0x94       ; 148
    40c0:       14 82           std     Z+4, r1 ; 0x04
    40c2:       48 cf           rjmp    .-368           ; 0x3f54 <__stack+0x2e55>
    40c4:       68 6d           ori     r22, 0xD8       ; 216
    40c6:       e4 b4           in      r14, 0x24       ; 36
    40c8:       f4 01           movw    r30, r8
    40ca:       a7 f3           brie    .-24            ; 0x40b4 <__stack+0x2fb5>
    40cc:       26 05           cpc     r18, r6
    40ce:       d0 66           ori     r29, 0x60       ; 96
    40d0:       50 b9           out     0x00, r21       ; 0
    40d2:       20 f5           brcc    .+72            ; 0x411c <__stack+0x301d>
    40d4:       18 03           fmul    r17, r16
    40d6:       23 42           sbci    r18, 0x23       ; 35
    40d8:       2e 04           cpc     r2, r14
    40da:       5a a9           ldd     r21, Y+50       ; 0x32
    40dc:       16 b8           out     0x06, r1        ; 6
    40de:       cb 2c           mov     r12, r11
    40e0:       84 91           lpm     r24, Z+
    40e2:       16 22           and     r1, r22
    40e4:       22 b3           in      r18, 0x12       ; 18
    40e6:       f9 46           sbci    r31, 0x69       ; 105
    40e8:       c0 08           sbc     r12, r0
    40ea:       58 10           cpse    r5, r8
    40ec:       86 ef           ldi     r24, 0xF6       ; 246
    40ee:       01 0c           add     r0, r1
    40f0:       80 fc           sbrc    r8, 0
    40f2:       45 28           or      r4, r5
    40f4:       f7 fc           sbrc    r15, 7
    40f6:       88 20           and     r8, r8
    40f8:       44 78           andi    r20, 0x84       ; 132
    40fa:       dc 2c           mov     r13, r12
    40fc:       68 fd           .word   0xfd68  ; ????
    40fe:       dc 33           cpi     r29, 0x3C       ; 60
    4100:       3c dd           rcall   .-1416          ; 0x3b7a <__stack+0x2a7b>
    4102:       e6 1e           adc     r14, r22
    4104:       c8 03           fmulsu  r20, r16
    4106:       46 0f           add     r20, r22
    4108:       e5 72           andi    r30, 0x25       ; 37
    410a:       05 29           or      r16, r5
    410c:       dc c0           rjmp    .+440           ; 0x42c6 <__stack+0x31c7>
    410e:       8f 0f           add     r24, r31
    4110:       96 e0           ldi     r25, 0x06       ; 6
    4112:       d0 25           eor     r29, r0
    4114:       ef e5           ldi     r30, 0x5F       ; 95
    4116:       07 f1           brie    .+64            ; 0x4158 <__stack+0x3059>
    4118:       20 1e           adc     r2, r16
    411a:       90 c0           rjmp    .+288           ; 0x423c <__stack+0x313d>
    411c:       19 f7           brne    .-58            ; 0x40e4 <__stack+0x2fe5>
    411e:       0e 24           eor     r0, r14
    4120:       7e 5b           subi    r23, 0xBE       ; 190
    4122:       b2 81           ldd     r27, Z+2        ; 0x02
    4124:       d3 de           rcall   .-602           ; 0x3ecc <__stack+0x2dcd>
    4126:       18 83           st      Y, r17
    4128:       0f d0           rcall   .+30            ; 0x4148 <__stack+0x3049>
    412a:       fb 5f           subi    r31, 0xFB       ; 251
    412c:       2e 7f           andi    r18, 0xFE       ; 254
    412e:       9d dc           rcall   .-1734          ; 0x3a6a <__stack+0x296b>
    4130:       f7 dc           rcall   .-1554          ; 0x3b20 <__stack+0x2a21>
    4132:       af c3           rjmp    .+1886          ; 0x4892 <__stack+0x3793>
    4134:       06 f9           bld     r16, 6
    4136:       cf ae           std     Y+63, r12       ; 0x3f
    4138:       4b 86           std     Y+11, r4        ; 0x0b
    413a:       20 12           cpse    r2, r16
    413c:       68 19           sub     r22, r8
    413e:       02 42           sbci    r16, 0x22       ; 34
    4140:       d3 6d           ori     r29, 0xD3       ; 211
    4142:       66 10           cpse    r6, r6
    4144:       0e d3           rcall   .+1564          ; 0x4762 <__stack+0x3663>
    4146:       f9 85           ldd     r31, Y+9        ; 0x09
    4148:       d8 69           ori     r29, 0x98       ; 152
    414a:       ef 42           sbci    r30, 0x2F       ; 47
    414c:       f8 ff           .word   0xfff8  ; ????
    414e:       80 28           or      r8, r0
    4150:       da 30           cpi     r29, 0x0A       ; 10
    4152:       08 b7           in      r16, 0x38       ; 56
    4154:       b3 10           cpse    r11, r3
    4156:       4c 2e           mov     r4, r28
    4158:       19 26           eor     r1, r25
    415a:       40 fb           bst     r20, 0
    415c:       0b 71           andi    r16, 0x1B       ; 27
    415e:       b3 89           ldd     r27, Z+19       ; 0x13
    4160:       fa 5f           subi    r31, 0xFA       ; 250
    4162:       16 69           ori     r17, 0x96       ; 150
    4164:       19 19           sub     r17, r9
    4166:       b3 02           muls    r27, r19
    4168:       7b 19           sub     r23, r11
    416a:       86 c0           rjmp    .+268           ; 0x4278 <__stack+0x3179>
    416c:       a6 20           and     r10, r6
    416e:       d3 21           and     r29, r3
    4170:       14 9e           mul     r1, r20
    4172:       e8 b0           in      r14, 0x08       ; 8
    4174:       20 48           sbci    r18, 0x80       ; 128
    4176:       fc 8d           ldd     r31, Y+28       ; 0x1c
    4178:       83 3f           cpi     r24, 0xF3       ; 243
    417a:       7f 0a           sbc     r7, r31
    417c:       cd 01           movw    r24, r26
    417e:       04 9d           mul     r16, r4
    4180:       41 af           std     Z+57, r20       ; 0x39
    4182:       af 98           cbi     0x15, 7 ; 21
    4184:       12 f5           brpl    .+68            ; 0x41ca <__stack+0x30cb>
    4186:       ea a4           ldd     r14, Y+42       ; 0x2a
    4188:       b0 66           ori     r27, 0x60       ; 96
    418a:       06 4f           sbci    r16, 0xF6       ; 246
    418c:       7e 41           sbci    r23, 0x1E       ; 30
    418e:       10 02           muls    r17, r16
    4190:       20 1a           sub     r2, r16
    4192:       41 5f           subi    r20, 0xF1       ; 241
    4194:       f6 b2           in      r15, 0x16       ; 22
    4196:       5e 92           st      -X, r5
    4198:       b7 f3           brie    .-20            ; 0x4186 <__stack+0x3087>
    419a:       42 9f           mul     r20, r18
    419c:       a2 f7           brpl    .-24            ; 0x4186 <__stack+0x3087>
    419e:       29 28           or      r2, r9
    41a0:       08 04           cpc     r0, r8
    41a2:       ed 02           muls    r30, r29
    41a4:       ec fe           .word   0xfeec  ; ????
    41a6:       d0 d5           rcall   .+2976          ; 0x4d48 <__stack+0x3c49>
    41a8:       03 2c           mov     r0, r3
    41aa:       20 ef           ldi     r18, 0xF0       ; 240
    41ac:       36 a6           std     Z+46, r3        ; 0x2e
    41ae:       f3 7e           andi    r31, 0xE3       ; 227
    41b0:       cd 00           .word   0x00cd  ; ????
    41b2:       fe fd           .word   0xfdfe  ; ????
    41b4:       02 32           cpi     r16, 0x22       ; 34
    41b6:       be 3a           cpi     r27, 0xAE       ; 174
    41b8:       63 8d           ldd     r22, Z+27       ; 0x1b
    41ba:       42 32           cpi     r20, 0x22       ; 34
    41bc:       51 15           cp      r21, r1
    41be:       10 71           andi    r17, 0x10       ; 16
    41c0:       30 b7           in      r19, 0x30       ; 48
    41c2:       6e b6           in      r6, 0x3e        ; 62
    41c4:       02 5a           subi    r16, 0xA2       ; 162
    41c6:       ac 81           ldd     r26, Y+4        ; 0x04
    41c8:       fa 98           cbi     0x1f, 2 ; 31
    41ca:       03 df           rcall   .-506           ; 0x3fd2 <__stack+0x2ed3>
    41cc:       ad 53           subi    r26, 0x3D       ; 61
    41ce:       cd 6e           ori     r28, 0xED       ; 237
    41d0:       93 c0           rjmp    .+294           ; 0x42f8 <__stack+0x31f9>
    41d2:       07 ea           ldi     r16, 0xA7       ; 167
    41d4:       0e 35           cpi     r16, 0x5E       ; 94
    41d6:       d5 18           sub     r13, r5
    41d8:       e4 98           cbi     0x1c, 4 ; 28
    41da:       39 a2           std     Y+33, r3        ; 0x21
    41dc:       01 9f           mul     r16, r17
    41de:       24 d3           rcall   .+1608          ; 0x4828 <__stack+0x3729>
    41e0:       df 81           ldd     r29, Y+7        ; 0x07
    41e2:       f6 86           std     Z+14, r15       ; 0x0e
    41e4:       50 fe           sbrs    r5, 0
    41e6:       0c dd           rcall   .-1512          ; 0x3c00 <__stack+0x2b01>
    41e8:       01 c8           rjmp    .-4094          ; 0x31ec <__stack+0x20ed>
    41ea:       53 08           sbc     r5, r3
    41ec:       c3 b6           in      r12, 0x33       ; 51
    41ee:       11 ab           std     Z+49, r17       ; 0x31
    41f0:       be 22           and     r11, r30
    41f2:       db 5d           subi    r29, 0xDB       ; 219
    41f4:       b0 10           cpse    r11, r0
    41f6:       11 fc           sbrc    r1, 1
    41f8:       32 06           cpc     r3, r18
    41fa:       cd eb           ldi     r28, 0xBD       ; 189
    41fc:       5a 64           ori     r21, 0x4A       ; 74
    41fe:       09 c6           rjmp    .+3090          ; 0x4e12 <__stack+0x3d13>
    4200:       9d a5           ldd     r25, Y+45       ; 0x2d
    4202:       68 de           rcall   .-816           ; 0x3ed4 <__stack+0x2dd5>
    4204:       79 4c           sbci    r23, 0xC9       ; 201
    4206:       04 08           sbc     r0, r4
    4208:       70 cc           rjmp    .-1824          ; 0x3aea <__stack+0x29eb>
    420a:       b3 fa           bst     r11, 3
    420c:       8b 33           cpi     r24, 0x3B       ; 59
    420e:       47 43           sbci    r20, 0x37       ; 55
    4210:       12 61           ori     r17, 0x12       ; 18
    4212:       40 d2           rcall   .+1152          ; 0x4694 <__stack+0x3595>
    4214:       80 82           st      Z, r8
    4216:       66 16           cp      r6, r22
    4218:       e5 b8           out     0x05, r14       ; 5
    421a:       0b a2           std     Y+35, r0        ; 0x23
    421c:       66 11           cpse    r22, r6
    421e:       c4 bb           out     0x14, r28       ; 20
    4220:       fe c4           rjmp    .+2556          ; 0x4c1e <__stack+0x3b1f>
    4222:       80 42           sbci    r24, 0x20       ; 32
    4224:       7d b5           in      r23, 0x2d       ; 45
    4226:       62 02           muls    r22, r18
    4228:       8c 84           ldd     r8, Y+12        ; 0x0c
    422a:       30 d7           rcall   .+3680          ; 0x508c <__stack+0x3f8d>
    422c:       26 82           std     Z+6, r2 ; 0x06
    422e:       bb 18           sub     r11, r11
    4230:       03 13           cpse    r16, r19
    4232:       b5 73           andi    r27, 0x35       ; 53
    4234:       49 eb           ldi     r20, 0xB9       ; 185
    4236:       10 06           cpc     r1, r16
    4238:       c9 b7           in      r28, 0x39       ; 57
    423a:       b1 3c           cpi     r27, 0xC1       ; 193
    423c:       ab dc           rcall   .-1706          ; 0x3b94 <__stack+0x2a95>
    423e:       c0 c2           rjmp    .+1408          ; 0x47c0 <__stack+0x36c1>
    4240:       98 eb           ldi     r25, 0xB8       ; 184
    4242:       e0 01           movw    r28, r0
    4244:       ce 98           cbi     0x19, 6 ; 25
    4246:       5e f3           brts    .-42            ; 0x421e <__stack+0x311f>
    4248:       83 ec           ldi     r24, 0xC3       ; 195
    424a:       b1 3c           cpi     r27, 0xC1       ; 193
    424c:       3f 40           sbci    r19, 0x0F       ; 15
    424e:       98 f0           brcs    .+38            ; 0x4276 <__stack+0x3177>
    4250:       77 bb           out     0x17, r23       ; 23
    4252:       98 10           cpse    r9, r8
    4254:       0f 20           and     r0, r15
    4256:       86 f3           brts    .-32            ; 0x4238 <__stack+0x3139>
    4258:       23 1c           adc     r2, r3
    425a:       e7 d3           rcall   .+1998          ; 0x4a2a <__stack+0x392b>
    425c:       0f 68           ori     r16, 0x8F       ; 143
    425e:       01 99           sbic    0x00, 1 ; 0
    4260:       2c 6a           ori     r18, 0xAC       ; 172
    4262:       f9 61           ori     r31, 0x19       ; 25
    4264:       11 b7           in      r17, 0x31       ; 49
    4266:       57 74           andi    r21, 0x47       ; 71
    4268:       9b f2           brvs    .-90            ; 0x4210 <__stack+0x3111>
    426a:       7d 9b           sbis    0x0f, 5 ; 15
    426c:       e2 b3           in      r30, 0x12       ; 18
    426e:       e6 c5           rjmp    .+3020          ; 0x4e3c <__stack+0x3d3d>
    4270:       7b 64           ori     r23, 0x4B       ; 75
    4272:       18 5f           subi    r17, 0xF8       ; 248
    4274:       9e 6b           ori     r25, 0xBE       ; 190
    4276:       ed 6b           ori     r30, 0xBD       ; 189
    4278:       80 40           sbci    r24, 0x00       ; 0
    427a:       7d c2           rjmp    .+1274          ; 0x4776 <__stack+0x3677>
    427c:       7f 5e           subi    r23, 0xEF       ; 239
    427e:       88 81           ld      r24, Y
    4280:       8f 10           cpse    r8, r15
    4282:       93 88           ldd     r9, Z+19        ; 0x13
    4284:       f8 d9           rcall   .-3088          ; 0x3676 <__stack+0x2577>
    4286:       cd 8b           std     Y+21, r28       ; 0x15
    4288:       9e 60           ori     r25, 0x0E       ; 14
    428a:       29 82           std     Y+1, r2 ; 0x01
    428c:       10 01           movw    r2, r0
    428e:       f2 19           sub     r31, r2
    4290:       3d e0           ldi     r19, 0x0D       ; 13
    4292:       b3 12           cpse    r11, r19
    4294:       05 99           sbic    0x00, 5 ; 0
    4296:       a7 0d           add     r26, r7
    4298:       f6 91           elpm    r31, Z+
    429a:       c2 66           ori     r28, 0x62       ; 98
    429c:       6f 04           cpc     r6, r15
    429e:       e0 21           and     r30, r0
    42a0:       ff 4a           sbci    r31, 0xAF       ; 175
    42a2:       98 20           and     r9, r8
    42a4:       f3 19           sub     r31, r3
    42a6:       b3 e1           ldi     r27, 0x13       ; 19
    42a8:       8c f3           brlt    .-30            ; 0x428c <__stack+0x318d>
    42aa:       3a b9           out     0x0a, r19       ; 10
    42ac:       a0 fe           sbrs    r10, 0
    42ae:       ec 66           ori     r30, 0x6C       ; 108
    42b0:       80 47           sbci    r24, 0x70       ; 112
    42b2:       f9 96           adiw    r30, 0x39       ; 57
    42b4:       36 f7           brtc    .-52            ; 0x4282 <__stack+0x3183>
    42b6:       22 40           sbci    r18, 0x02       ; 2
    42b8:       80 f3           brcs    .-32            ; 0x429a <__stack+0x319b>
    42ba:       6d 88           ldd     r6, Y+21        ; 0x15
    42bc:       16 bc           out     0x26, r1        ; 38
    42be:       11 6e           ori     r17, 0xE1       ; 225
    42c0:       d7 7c           andi    r29, 0xC7       ; 199
    42c2:       f5 6f           ori     r31, 0xF5       ; 245
    42c4:       84 20           and     r8, r4
    42c6:       e6 98           cbi     0x1c, 6 ; 28
    42c8:       fc 30           cpi     r31, 0x0C       ; 12
    42ca:       49 ec           ldi     r20, 0xC9       ; 201
    42cc:       42 f3           brmi    .-48            ; 0x429e <__stack+0x319f>
    42ce:       83 48           sbci    r24, 0x83       ; 131
    42d0:       8d a6           std     Y+45, r8        ; 0x2d
    42d2:       21 2e           mov     r2, r17
    42d4:       78 fd           .word   0xfd78  ; ????
    42d6:       ef 31           cpi     r30, 0x1F       ; 31
    42d8:       87 fd           sbrc    r24, 7
    42da:       d8 49           sbci    r29, 0x98       ; 152
    42dc:       02 d6           rcall   .+3076          ; 0x4ee2 <__stack+0x3de3>
    42de:       66 1d           adc     r22, r6
    42e0:       10 c7           rjmp    .+3616          ; 0x5102 <__stack+0x4003>
    42e2:       40 f6           brcc    .-112           ; 0x4274 <__stack+0x3175>
    42e4:       45 d8           rcall   .-3958          ; 0x3370 <__stack+0x2271>
    42e6:       f9 8f           std     Y+25, r31       ; 0x19
    42e8:       de 22           and     r13, r30
    42ea:       39 ac           ldd     r3, Y+57        ; 0x39
    42ec:       57 cc           rjmp    .-1874          ; 0x3b9c <__stack+0x2a9d>
    42ee:       81 19           sub     r24, r1
    42f0:       b6 46           sbci    r27, 0x66       ; 102
    42f2:       d8 7a           andi    r29, 0xA8       ; 168
    42f4:       bb 0c           add     r11, r11
    42f6:       69 7e           andi    r22, 0xE9       ; 233
    42f8:       30 e8           ldi     r19, 0x80       ; 128
    42fa:       03 6f           ori     r16, 0xF3       ; 243
    42fc:       e7 98           cbi     0x1c, 7 ; 28
    42fe:       f4 c2           rjmp    .+1512          ; 0x48e8 <__stack+0x37e9>
    4300:       d3 e9           ldi     r29, 0x93       ; 147
    4302:       e0 5b           subi    r30, 0xB0       ; 176
    4304:       78 fa           .word   0xfa78  ; ????
    4306:       e5 08           sbc     r14, r5
    4308:       28 04           cpc     r2, r8
    430a:       f3 ae           std     Z+59, r15       ; 0x3b
    430c:       a5 f9           bld     r26, 5
    430e:       01 da           rcall   .-3070          ; 0x3712 <__stack+0x2613>
    4310:       71 3c           cpi     r23, 0xC1       ; 193
    4312:       c2 79           andi    r28, 0x92       ; 146
    4314:       fb cb           rjmp    .-2058          ; 0x3b0c <__stack+0x2a0d>
    4316:       db 95           .word   0x95db  ; ????
    4318:       6f dd           rcall   .-1314          ; 0x3df8 <__stack+0x2cf9>
    431a:       c4 09           sbc     r28, r4
    431c:       c3 30           cpi     r28, 0x03       ; 3
    431e:       e5 58           subi    r30, 0x85       ; 133
    4320:       25 b6           in      r2, 0x35        ; 53
    4322:       d3 a9           ldd     r29, Z+51       ; 0x33
    4324:       7d 7f           andi    r23, 0xFD       ; 253
    4326:       e8 13           cpse    r30, r24
    4328:       21 f8           bld     r2, 1
    432a:       41 0c           add     r4, r1
    432c:       b0 10           cpse    r11, r0
    432e:       30 53           subi    r19, 0x30       ; 48
    4330:       f0 66           ori     r31, 0x60       ; 96
    4332:       50 0a           sbc     r5, r16
    4334:       06 fe           sbrs    r0, 6
    4336:       f9 e1           ldi     r31, 0x19       ; 25
    4338:       23 61           ori     r18, 0x13       ; 19
    433a:       40 2c           mov     r4, r0
    433c:       b6 79           andi    r27, 0x96       ; 150
    433e:       dd 18           sub     r13, r13
    4340:       de b6           in      r13, 0x3e       ; 62
    4342:       bf 76           andi    r27, 0x6F       ; 111
    4344:       30 02           muls    r19, r16
    4346:       26 c0           rjmp    .+76            ; 0x4394 <__stack+0x3295>
    4348:       22 18           sub     r2, r2
    434a:       fb 01           movw    r30, r22
    434c:       03 61           ori     r16, 0x13       ; 19
    434e:       12 4c           sbci    r17, 0xC2       ; 194
    4350:       bd 98           cbi     0x17, 5 ; 23
    4352:       46 3f           cpi     r20, 0xF6       ; 246
    4354:       a6 90           elpm    r10, Z+
    4356:       08 60           ori     r16, 0x08       ; 8
    4358:       40 0c           add     r4, r0
    435a:       84 2c           mov     r8, r4
    435c:       83 77           andi    r24, 0x73       ; 115
    435e:       d7 fa           bst     r13, 7
    4360:       11 30           cpi     r17, 0x01       ; 1
    4362:       53 fe           sbrs    r5, 3
    4364:       98 5e           subi    r25, 0xE8       ; 232
    4366:       d2 30           cpi     r29, 0x02       ; 2
    4368:       74 80           ldd     r7, Z+4 ; 0x04
    436a:       1d cb           rjmp    .-2502          ; 0x39a6 <__stack+0x28a7>
    436c:       30 02           muls    r19, r16
    436e:       43 2c           mov     r4, r3
    4370:       38 19           sub     r19, r8
    4372:       7c 97           sbiw    r30, 0x1c       ; 28
    4374:       38 90           .word   0x9038  ; ????
    4376:       07 f1           brie    .+64            ; 0x43b8 <__stack+0x32b9>
    4378:       0d 1e           adc     r0, r29
    437a:       44 2f           mov     r20, r20
    437c:       d3 0e           add     r13, r19
    437e:       f0 98           cbi     0x1e, 0 ; 30
    4380:       24 f8           bld     r2, 4
    4382:       dd c6           rjmp    .+3514          ; 0x513e <__stack+0x403f>
    4384:       38 c8           rjmp    .-3984          ; 0x33f6 <__stack+0x22f7>
    4386:       03 3d           cpi     r16, 0xD3       ; 211
    4388:       7c 70           andi    r23, 0x0C       ; 12
    438a:       f9 04           cpc     r15, r9
    438c:       2a 30           cpi     r18, 0x0A       ; 10
    438e:       fb 9f           mul     r31, r27
    4390:       27 cf           rjmp    .-434           ; 0x41e0 <__stack+0x30e1>
    4392:       98 59           subi    r25, 0x98       ; 152
    4394:       b8 83           st      Y, r27
    4396:       9f cc           rjmp    .-1730          ; 0x3cd6 <__stack+0x2bd7>
    4398:       46 ec           ldi     r20, 0xC6       ; 198
    439a:       a9 09           sbc     r26, r9
    439c:       30 f4           brcc    .+12            ; 0x43aa <__stack+0x32ab>
    439e:       5e f2           brts    .-106           ; 0x4336 <__stack+0x3237>
    43a0:       46 f5           brtc    .+80            ; 0x43f2 <__stack+0x32f3>
    43a2:       fc 03           fmulsu  r23, r20
    43a4:       cc 18           sub     r12, r12
    43a6:       08 c6           rjmp    .+3088          ; 0x4fb8 <__stack+0x3eb9>
    43a8:       20 e0           ldi     r18, 0x00       ; 0
    43aa:       c6 41           sbci    r28, 0x16       ; 22
    43ac:       30 09           sbc     r19, r0
    43ae:       fb 5a           subi    r31, 0xAB       ; 171
    43b0:       fc 5f           subi    r31, 0xFC       ; 252
    43b2:       ed 68           ori     r30, 0x8D       ; 141
    43b4:       b3 eb           ldi     r27, 0xB3       ; 179
    43b6:       0d 80           ldd     r0, Y+5 ; 0x05
    43b8:       50 d6           rcall   .+3232          ; 0x505a <__stack+0x3f5b>
    43ba:       b8 04           cpc     r11, r8
    43bc:       fe 98           cbi     0x1f, 6 ; 31
    43be:       b3 90           .word   0x90b3  ; ????
    43c0:       88 1b           sub     r24, r24
    43c2:       b3 b8           out     0x03, r11       ; 3
    43c4:       30 04           cpc     r3, r0
    43c6:       98 b6           in      r9, 0x38        ; 56
    43c8:       dd f1           brhs    .+118           ; 0x4440 <__stack+0x3341>
    43ca:       98 99           sbic    0x13, 0 ; 19
    43cc:       85 88           ldd     r8, Z+21        ; 0x15
    43ce:       53 0b           sbc     r21, r19
    43d0:       04 4e           sbci    r16, 0xE4       ; 228
    43d2:       e0 84           ldd     r14, Z+8        ; 0x08
    43d4:       05 b0           in      r0, 0x05        ; 5
    43d6:       6b e0           ldi     r22, 0x0B       ; 11
    43d8:       fe 8f           std     Y+30, r31       ; 0x1e
    43da:       4a 57           subi    r20, 0x7A       ; 122
    43dc:       cc 40           sbci    r28, 0x0C       ; 12
    43de:       6e 44           sbci    r22, 0x4E       ; 78
    43e0:       80 19           sub     r24, r0
    43e2:       46 e0           ldi     r20, 0x06       ; 6
    43e4:       42 f3           brmi    .-48            ; 0x43b6 <__stack+0x32b7>
    43e6:       c2 23           and     r28, r18
    43e8:       01 2c           mov     r0, r1
    43ea:       d4 4f           sbci    r29, 0xF4       ; 244
    43ec:       8b 30           cpi     r24, 0x0B       ; 11
    43ee:       55 33           cpi     r21, 0x35       ; 53
    43f0:       80 9a           sbi     0x10, 0 ; 16
    43f2:       c8 68           ori     r28, 0x88       ; 136
    43f4:       e1 30           cpi     r30, 0x01       ; 1
    43f6:       e0 a2           std     Z+32, r14       ; 0x20
    43f8:       a0 e6           ldi     r26, 0x60       ; 96
    43fa:       cc c8           rjmp    .-3688          ; 0x3594 <__stack+0x2495>
    43fc:       6c 1c           adc     r6, r12
    43fe:       09 21           and     r16, r9
    4400:       35 eb           ldi     r19, 0xB5       ; 181
    4402:       59 ff           .word   0xff59  ; ????
    4404:       4e b3           in      r20, 0x1e       ; 30
    4406:       cb 48           sbci    r28, 0x8B       ; 139
    4408:       31 66           ori     r19, 0x61       ; 97
    440a:       51 d0           rcall   .+162           ; 0x44ae <__stack+0x33af>
    440c:       e6 9f           mul     r30, r22
    440e:       c6 7d           andi    r28, 0xD6       ; 214
    4410:       ea db           rcall   .-2092          ; 0x3be6 <__stack+0x2ae7>
    4412:       60 37           cpi     r22, 0x70       ; 112
    4414:       f3 3f           cpi     r31, 0xF3       ; 243
    4416:       9c 67           ori     r25, 0x7C       ; 124
    4418:       0f 84           ldd     r0, Y+15        ; 0x0f
    441a:       f8 fb           .word   0xfbf8  ; ????
    441c:       71 95           neg     r23
    441e:       b7 c8           rjmp    .-3730          ; 0x358e <__stack+0x248f>
    4420:       45 8e           std     Z+29, r4        ; 0x1d
    4422:       6b b7           in      r22, 0x3b       ; 59
    4424:       17 32           cpi     r17, 0x27       ; 39
    4426:       25 cf           rjmp    .-438           ; 0x4272 <__stack+0x3173>
    4428:       19 b0           in      r1, 0x09        ; 9
    442a:       8a fa           .word   0xfa8a  ; ????
    442c:       3a 01           movw    r6, r20
    442e:       ee ac           ldd     r14, Y+62       ; 0x3e
    4430:       64 8a           std     Z+20, r6        ; 0x14
    4432:       9e b4           in      r9, 0x2e        ; 46
    4434:       dc 5e           subi    r29, 0xEC       ; 236
    4436:       fd dd           rcall   .-1030          ; 0x4032 <__stack+0x2f33>
    4438:       a5 70           andi    r26, 0x05       ; 5
    443a:       b3 81           ldd     r27, Z+3        ; 0x03
    443c:       1c 40           sbci    r17, 0x0C       ; 12
    443e:       66 de           rcall   .-820           ; 0x410c <__stack+0x300d>
    4440:       02 20           and     r0, r2
    4442:       41 85           ldd     r20, Z+9        ; 0x09
    4444:       60 01           movw    r12, r0
    4446:       dc a0           ldd     r13, Y+36       ; 0x24
    4448:       05 ac           ldd     r0, Z+61        ; 0x3d
    444a:       7f 18           sub     r7, r15
    444c:       7d bf           out     0x3d, r23       ; 61
    444e:       0e 30           cpi     r16, 0x0E       ; 14
    4450:       fe 48           sbci    r31, 0x8E       ; 142
    4452:       18 d0           rcall   .+48            ; 0x4484 <__stack+0x3385>
    4454:       6c 1f           adc     r22, r28
    4456:       31 11           cpse    r19, r1
    4458:       80 11           cpse    r24, r0
    445a:       c3 18           sub     r12, r3
    445c:       0c 2c           mov     r0, r12
    445e:       01 2e           mov     r0, r17
    4460:       bd 09           sbc     r27, r13
    4462:       cd 2e           mov     r12, r29
    4464:       04 fd           sbrc    r16, 4
    4466:       f2 0c           add     r15, r2
    4468:       e2 8c           ldd     r14, Z+26       ; 0x1a
    446a:       8c 81           ldd     r24, Y+4        ; 0x04
    446c:       9e 8e           std     Y+30, r9        ; 0x1e
    446e:       24 c1           rjmp    .+584           ; 0x46b8 <__stack+0x35b9>
    4470:       48 ef           ldi     r20, 0xF8       ; 248
    4472:       ee 72           andi    r30, 0x2E       ; 46
    4474:       40 4c           sbci    r20, 0xC0       ; 192
    4476:       e3 30           cpi     r30, 0x03       ; 3
    4478:       37 a0           ldd     r3, Z+39        ; 0x27
    447a:       17 3f           cpi     r17, 0xF7       ; 247
    447c:       94 ca           rjmp    .-2776          ; 0x39a6 <__stack+0x28a7>
    447e:       24 66           ori     r18, 0x64       ; 100
    4480:       2b f5           brvc    .+74            ; 0x44cc <__stack+0x33cd>
    4482:       de 98           cbi     0x1b, 6 ; 27
    4484:       20 22           and     r2, r16
    4486:       46 c8           rjmp    .-3956          ; 0x3514 <__stack+0x2415>
    4488:       92 21           and     r25, r2
    448a:       88 19           sub     r24, r8
    448c:       be 32           cpi     r27, 0x2E       ; 46
    448e:       75 9a           sbi     0x0e, 5 ; 14
    4490:       b9 f9           .word   0xf9b9  ; ????
    4492:       c7 4a           sbci    r28, 0xA7       ; 167
    4494:       78 d2           rcall   .+1264          ; 0x4986 <__stack+0x3887>
    4496:       17 f1           brie    .+68            ; 0x44dc <__stack+0x33dd>
    4498:       5d dc           rcall   .-1862          ; 0x3d54 <__stack+0x2c55>
    449a:       30 dd           rcall   .-1440          ; 0x3efc <__stack+0x2dfd>
    449c:       03 f0           brvs    .+0             ; 0x449e <__stack+0x339f>
    449e:       e8 8b           std     Y+16, r30       ; 0x10
    44a0:       79 7b           andi    r23, 0xB9       ; 185
    44a2:       0f 04           cpc     r0, r15
    44a4:       23 96           adiw    r28, 0x03       ; 3
    44a6:       30 0a           sbc     r3, r16
    44a8:       aa f8           .word   0xf8aa  ; ????
    44aa:       05 3f           cpi     r16, 0xF5       ; 245
    44ac:       66 c0           rjmp    .+204           ; 0x457a <__stack+0x347b>
    44ae:       98 57           subi    r25, 0x78       ; 120
    44b0:       08 1c           adc     r0, r8
    44b2:       30 c6           rjmp    .+3168          ; 0x5114 <__stack+0x4015>
    44b4:       73 d3           rcall   .+1766          ; 0x4b9c <__stack+0x3a9d>
    44b6:       01 70           andi    r16, 0x01       ; 1
    44b8:       30 d3           rcall   .+1632          ; 0x4b1a <__stack+0x3a1b>
    44ba:       64 fd           sbrc    r22, 4
    44bc:       0c 20           and     r0, r12
    44be:       e8 f8           .word   0xf8e8  ; ????
    44c0:       37 19           sub     r19, r7
    44c2:       08 06           cpc     r0, r24
    44c4:       fe ac           ldd     r15, Y+62       ; 0x3e
    44c6:       61 1b           sub     r22, r17
    44c8:       ff 12           cpse    r15, r31
    44ca:       02 b5           in      r16, 0x22       ; 34
    44cc:       c0 f2           brcs    .-80            ; 0x447e <__stack+0x337f>
    44ce:       8b 23           and     r24, r27
    44d0:       e6 89           ldd     r30, Z+22       ; 0x16
    44d2:       3f ab           std     Y+55, r19       ; 0x37
    44d4:       f5 28           or      r15, r5
    44d6:       d5 1a           sub     r13, r21
    44d8:       d4 e0           ldi     r29, 0x04       ; 4
    44da:       5d 59           subi    r21, 0x9D       ; 157
    44dc:       f7 ba           out     0x17, r15       ; 23
    44de:       8d 66           ori     r24, 0x6D       ; 109
    44e0:       f3 3a           cpi     r31, 0xA3       ; 163
    44e2:       cd b3           in      r28, 0x1d       ; 29
    44e4:       02 16           cp      r0, r18
    44e6:       fd 88           ldd     r15, Y+21       ; 0x15
    44e8:       fa 60           ori     r31, 0x0A       ; 10
    44ea:       12 0d           add     r17, r2
    44ec:       a0 51           subi    r26, 0x10       ; 16
    44ee:       f5 98           cbi     0x1e, 5 ; 30
    44f0:       d4 37           cpi     r29, 0x74       ; 116
    44f2:       c3 13           cpse    r28, r19
    44f4:       62 b6           in      r6, 0x32        ; 50
    44f6:       d3 40           sbci    r29, 0x03       ; 3
    44f8:       02 ab           std     Z+50, r16       ; 0x32
    44fa:       21 01           movw    r4, r2
    44fc:       29 19           sub     r18, r9
    44fe:       08 bc           out     0x28, r0        ; 40
    4500:       41 93           st      Z+, r20
    4502:       7e 86           std     Y+14, r7        ; 0x0e
    4504:       b0 10           cpse    r11, r0
    4506:       20 02           muls    r18, r16
    4508:       44 93           .word   0x9344  ; ????
    450a:       86 69           ori     r24, 0x96       ; 150
    450c:       f3 90           .word   0x90f3  ; ????
    450e:       e5 11           cpse    r30, r5
    4510:       30 05           cpc     r19, r0
    4512:       66 7e           andi    r22, 0xE6       ; 230
    4514:       bf 82           std     Y+7, r11        ; 0x07
    4516:       ec 8b           std     Y+20, r30       ; 0x14
    4518:       fa 20           and     r15, r10
    451a:       0d 66           ori     r16, 0x6D       ; 109
    451c:       65 88           ldd     r6, Z+21        ; 0x15
    451e:       d7 36           cpi     r29, 0x67       ; 103
    4520:       c8 62           ori     r28, 0x28       ; 40
    4522:       9a 2e           mov     r9, r26
    4524:       b5 91           lpm     r27, Z+
    4526:       59 72           andi    r21, 0x29       ; 41
    4528:       50 0a           sbc     r5, r16
    452a:       67 8a           std     Z+23, r6        ; 0x17
    452c:       fe b5           in      r31, 0x2e       ; 46
    452e:       58 40           sbci    r21, 0x08       ; 8
    4530:       fc e9           ldi     r31, 0x9C       ; 156
    4532:       c8 50           subi    r28, 0x08       ; 8
    4534:       04 dc           rcall   .-2040          ; 0x3d3e <__stack+0x2c3f>
    4536:       08 93           .word   0x9308  ; ????
    4538:       02 8e           std     Z+26, r0        ; 0x1a
    453a:       b3 89           ldd     r27, Z+19       ; 0x13
    453c:       cd 22           and     r12, r29
    453e:       88 f3           brcs    .-30            ; 0x4522 <__stack+0x3423>
    4540:       a0 11           cpse    r26, r0
    4542:       66 4b           sbci    r22, 0xB6       ; 182
    4544:       97 c6           rjmp    .+3374          ; 0x5274 <__stack+0x4175>
    4546:       dd e4           ldi     r29, 0x4D       ; 77
    4548:       f4 23           and     r31, r20
    454a:       46 66           ori     r20, 0x66       ; 102
    454c:       9a 53           subi    r25, 0x3A       ; 58
    454e:       66 72           andi    r22, 0x26       ; 38
    4550:       23 04           cpc     r2, r3
    4552:       dc 51           subi    r29, 0x1C       ; 28
    4554:       5e ac           ldd     r5, Y+62        ; 0x3e
    4556:       19 7b           andi    r17, 0xB9       ; 185
    4558:       ef 28           or      r14, r15
    455a:       fe 7f           andi    r31, 0xFE       ; 254
    455c:       ab 6e           ori     r26, 0xEB       ; 235
    455e:       02 6f           ori     r16, 0xF2       ; 242
    4560:       33 fd           sbrc    r19, 3
    4562:       d6 01           movw    r26, r12
    4564:       ae 44           sbci    r26, 0x4E       ; 78
    4566:       c8 69           ori     r28, 0x98       ; 152
    4568:       e6 68           ori     r30, 0x86       ; 134
    456a:       77 ae           std     Z+63, r7        ; 0x3f
    456c:       e5 09           sbc     r30, r5
    456e:       e5 30           cpi     r30, 0x05       ; 5
    4570:       20 d9           rcall   .-3520          ; 0x37b2 <__stack+0x26b3>
    4572:       d5 b5           in      r29, 0x25       ; 37
    4574:       62 e9           ldi     r22, 0x92       ; 146
    4576:       8e 37           cpi     r24, 0x7E       ; 126
    4578:       45 f3           brhs    .-48            ; 0x454a <__stack+0x344b>
    457a:       ac ef           ldi     r26, 0xFC       ; 252
    457c:       44 01           movw    r8, r8
    457e:       e0 c5           rjmp    .+3008          ; 0x5140 <__stack+0x4041>
    4580:       70 fb           bst     r23, 0
    4582:       b5 f4           brhc    .+44            ; 0x45b0 <__stack+0x34b1>
    4584:       36 40           sbci    r19, 0x06       ; 6
    4586:       ac c3           rjmp    .+1880          ; 0x4ce0 <__stack+0x3be1>
    4588:       d1 c7           rjmp    .+4002          ; 0x552c <__stack+0x442d>
    458a:       84 3b           cpi     r24, 0xB4       ; 180
    458c:       e6 ca           rjmp    .-2612          ; 0x3b5a <__stack+0x2a5b>
    458e:       bc 77           andi    r27, 0x7C       ; 124
    4590:       6c 19           sub     r22, r12
    4592:       b2 02           muls    r27, r18
    4594:       19 4f           sbci    r17, 0xF9       ; 249
    4596:       14 12           cpse    r1, r20
    4598:       d4 45           sbci    r29, 0x54       ; 84
    459a:       80 eb           ldi     r24, 0xB0       ; 176
    459c:       ca 29           or      r28, r10
    459e:       55 58           subi    r21, 0x85       ; 133
    45a0:       11 2b           or      r17, r17
    45a2:       7e 20           and     r7, r14
    45a4:       99 30           cpi     r25, 0x09       ; 9
    45a6:       5a f9           .word   0xf95a  ; ????
    45a8:       ca d7           rcall   .+3988          ; 0x553e <__stack+0x443f>
    45aa:       b0 40           sbci    r27, 0x00       ; 0
    45ac:       31 30           cpi     r19, 0x01       ; 1
    45ae:       18 03           fmul    r17, r16
    45b0:       e0 01           movw    r28, r0
    45b2:       f5 4c           sbci    r31, 0xC5       ; 197
    45b4:       08 45           sbci    r16, 0x58       ; 88
    45b6:       96 f5           brtc    .+100           ; 0x461c <__stack+0x351d>
    45b8:       a3 dd           rcall   .-1210          ; 0x4100 <__stack+0x3001>
    45ba:       b5 91           lpm     r27, Z+
    45bc:       20 7d           andi    r18, 0xD0       ; 208
    45be:       33 3a           cpi     r19, 0xA3       ; 163
    45c0:       99 b3           in      r25, 0x19       ; 25
    45c2:       9b 10           cpse    r9, r11
    45c4:       da 16           cp      r13, r26
    45c6:       c1 7f           andi    r28, 0xF1       ; 241
    45c8:       12 2c           mov     r1, r2
    45ca:       90 29           or      r25, r0
    45cc:       f3 a8           ldd     r15, Z+51       ; 0x33
    45ce:       04 ad           ldd     r16, Z+60       ; 0x3c
    45d0:       58 79           andi    r21, 0x98       ; 152
    45d2:       a2 14           cp      r10, r2
    45d4:       2c 02           muls    r18, r28
    45d6:       11 86           std     Z+9, r1 ; 0x09
    45d8:       af a8           ldd     r10, Y+55       ; 0x37
    45da:       bf cc           rjmp    .-1666          ; 0x3f5a <__stack+0x2e5b>
    45dc:       97 30           cpi     r25, 0x07       ; 7
    45de:       1e f2           brts    .-122           ; 0x4566 <__stack+0x3467>
    45e0:       30 e0           ldi     r19, 0x00       ; 0
    45e2:       97 bd           out     0x27, r25       ; 39
    45e4:       05 72           andi    r16, 0x25       ; 37
    45e6:       30 81           ld      r19, Z
    45e8:       99 cf           rjmp    .-206           ; 0x451c <__stack+0x341d>
    45ea:       e0 01           movw    r28, r0
    45ec:       4a b3           in      r20, 0x1a       ; 26
    45ee:       05 7a           andi    r16, 0xA5       ; 165
    45f0:       4b ff           .word   0xff4b  ; ????
    45f2:       6b a5           ldd     r22, Y+43       ; 0x2b
    45f4:       20 06           cpc     r2, r16
    45f6:       c8 98           cbi     0x19, 0 ; 25
    45f8:       d3 57           subi    r29, 0x73       ; 115
    45fa:       f3 67           ori     r31, 0x73       ; 115
    45fc:       db 20           and     r13, r11
    45fe:       c6 83           std     Z+6, r28        ; 0x06
    4600:       18 4f           sbci    r17, 0xF8       ; 248
    4602:       f3 40           sbci    r31, 0x03       ; 3
    4604:       3c 10           cpse    r3, r12
    4606:       78 dd           rcall   .-1296          ; 0x40f8 <__stack+0x2ff9>
    4608:       ff 08           sbc     r15, r15
    460a:       c9 5d           subi    r28, 0xD9       ; 217
    460c:       01 66           ori     r16, 0x61       ; 97
    460e:       4e 93           st      -X, r20
    4610:       10 0c           add     r1, r0
    4612:       80 4d           sbci    r24, 0xD0       ; 208
    4614:       13 72           andi    r17, 0x23       ; 35
    4616:       01 af           std     Z+57, r16       ; 0x39
    4618:       11 30           cpi     r17, 0x01       ; 1
    461a:       9c b2           in      r9, 0x1c        ; 28
    461c:       ff 40           sbci    r31, 0x0F       ; 15
    461e:       dc f6           brge    .-74            ; 0x45d6 <__stack+0x34d7>
    4620:       fe 3f           cpi     r31, 0xFE       ; 254
    4622:       30 e5           ldi     r19, 0x50       ; 80
    4624:       e8 d3           rcall   .+2000          ; 0x4df6 <__stack+0x3cf7>
    4626:       11 f3           breq    .-60            ; 0x45ec <__stack+0x34ed>
    4628:       e6 1a           sub     r14, r22
    462a:       c6 37           cpi     r28, 0x76       ; 118
    462c:       f3 08           sbc     r15, r3
    462e:       11 e4           ldi     r17, 0x41       ; 65
    4630:       c8 bd           out     0x28, r28       ; 40
    4632:       26 b3           in      r18, 0x16       ; 22
    4634:       01 d6           rcall   .+3074          ; 0x5238 <__stack+0x4139>
    4636:       0d 80           ldd     r0, Y+5 ; 0x05
    4638:       df 1b           sub     r29, r31
    463a:       eb 8b           std     Y+19, r30       ; 0x13
    463c:       11 db           rcall   .-2526          ; 0x3c60 <__stack+0x2b61>
    463e:       b3 90           .word   0x90b3  ; ????
    4640:       10 51           subi    r17, 0x10       ; 16
    4642:       b0 33           cpi     r27, 0x30       ; 48
    4644:       6c b3           in      r22, 0x1c       ; 28
    4646:       bb 34           cpi     r27, 0x4B       ; 75
    4648:       94 30           cpi     r25, 0x04       ; 4
    464a:       58 d3           rcall   .+1712          ; 0x4cfc <__stack+0x3bfd>
    464c:       6a b3           in      r22, 0x1a       ; 26
    464e:       dd c0           rjmp    .+442           ; 0x480a <__stack+0x370b>
    4650:       20 9f           mul     r18, r16
    4652:       c8 14           cp      r12, r8
    4654:       0c 90           ld      r0, X
    4656:       09 81           ldd     r16, Y+1        ; 0x01
    4658:       32 28           or      r3, r2
    465a:       c7 f9           bld     r28, 7
    465c:       20 6d           ori     r18, 0xD0       ; 208
    465e:       ff 98           cbi     0x1f, 7 ; 31
    4660:       48 21           and     r20, r8
    4662:       4c 28           or      r4, r12
    4664:       b5 08           sbc     r11, r5
    4666:       c8 c8           rjmp    .-3696          ; 0x37f8 <__stack+0x26f9>
    4668:       0f 51           subi    r16, 0x1F       ; 31
    466a:       ba 04           cpc     r11, r10
    466c:       21 9c           mul     r2, r1
    466e:       ff 5c           subi    r31, 0xCF       ; 207
    4670:       9b b4           in      r9, 0x2b        ; 43
    4672:       08 f0           brcs    .+2             ; 0x4676 <__stack+0x3577>
    4674:       98 88           ldd     r9, Y+16        ; 0x10
    4676:       95 8b           std     Z+21, r25       ; 0x15
    4678:       5c 26           eor     r5, r28
    467a:       bb d2           rcall   .+1398          ; 0x4bf2 <__stack+0x3af3>
    467c:       21 71           andi    r18, 0x11       ; 17
    467e:       68 04           cpc     r6, r8
    4680:       06 2c           mov     r0, r6
    4682:       fd 8f           std     Y+29, r31       ; 0x1d
    4684:       5f 98           cbi     0x0b, 7 ; 11
    4686:       61 cb           rjmp    .-2366          ; 0x3d4a <__stack+0x2c4b>
    4688:       6a 10           cpse    r6, r10
    468a:       13 cb           rjmp    .-2522          ; 0x3cb2 <__stack+0x2bb3>
    468c:       cf 2f           mov     r28, r31
    468e:       c5 98           cbi     0x18, 5 ; 24
    4690:       c2 e6           ldi     r28, 0x62       ; 98
    4692:       57 ab           std     Z+55, r21       ; 0x37
    4694:       52 18           sub     r5, r2
    4696:       5f af           std     Y+63, r21       ; 0x3f
    4698:       f9 51           subi    r31, 0x19       ; 25
    469a:       e5 fa           bst     r14, 5
    469c:       7a a7           std     Y+42, r23       ; 0x2a
    469e:       97 cf           rjmp    .-210           ; 0x45ce <__stack+0x34cf>
    46a0:       a0 2d           mov     r26, r0
    46a2:       0e 4e           sbci    r16, 0xEE       ; 238
    46a4:       81 f3           breq    .-32            ; 0x4686 <__stack+0x3587>
    46a6:       05 04           cpc     r0, r5
    46a8:       f3 c2           rjmp    .+1510          ; 0x4c90 <__stack+0x3b91>
    46aa:       2f 76           andi    r18, 0x6F       ; 111
    46ac:       48 40           sbci    r20, 0x08       ; 8
    46ae:       67 29           or      r22, r7
    46b0:       30 06           cpc     r3, r16
    46b2:       19 20           and     r1, r9
    46b4:       47 16           cp      r4, r23
    46b6:       a8 ff           .word   0xffa8  ; ????
    46b8:       1c e1           ldi     r17, 0x1C       ; 28
    46ba:       4f 22           and     r4, r31
    46bc:       c6 30           cpi     r28, 0x06       ; 6
    46be:       10 68           ori     r17, 0x80       ; 128
    46c0:       de fd           .word   0xfdde  ; ????
    46c2:       08 9e           mul     r0, r24
    46c4:       7f b0           in      r7, 0x0f        ; 15
    46c6:       98 04           cpc     r9, r8
    46c8:       0d 0d           add     r16, r13
    46ca:       53 80           ldd     r5, Z+3 ; 0x03
    46cc:       95 9b           sbis    0x12, 5 ; 18
    46ce:       23 02           muls    r18, r19
    46d0:       14 e0           ldi     r17, 0x04       ; 4
    46d2:       30 92 02 1e     sts     0x1E02, r3
    46d6:       2b 65           ori     r18, 0x5B       ; 91
    46d8:       dc 1a           sub     r13, r28
    46da:       c2 5b           subi    r28, 0xB2       ; 178
    46dc:       6e 99           sbic    0x0d, 6 ; 13
    46de:       6d 21           and     r22, r13
    46e0:       fd f7           brhc    .-2             ; 0x46e0 <__stack+0x35e1>
    46e2:       ef b0           in      r14, 0x0f       ; 15
    46e4:       40 c0           rjmp    .+128           ; 0x4766 <__stack+0x3667>
    46e6:       df 56           subi    r29, 0x6F       ; 111
    46e8:       41 08           sbc     r4, r1
    46ea:       20 fb           bst     r18, 0
    46ec:       82 49           sbci    r24, 0x92       ; 146
    46ee:       30 22           and     r3, r16
    46f0:       44 7d           andi    r20, 0xD4       ; 212
    46f2:       ad 0b           sbc     r26, r29
    46f4:       b1 e3           ldi     r27, 0x31       ; 49
    46f6:       0e 2f           mov     r16, r30
    46f8:       ca da           rcall   .-2668          ; 0x3c8e <__stack+0x2b8f>
    46fa:       7f 28           or      r7, r15
    46fc:       73 aa           std     Z+51, r7        ; 0x33
    46fe:       88 05           cpc     r24, r8
    4700:       6b ba           out     0x1b, r6        ; 27
    4702:       2e 03           fmul    r18, r22
    4704:       de ee           ldi     r29, 0xEE       ; 238
    4706:       80 05           cpc     r24, r0
    4708:       78 3a           cpi     r23, 0xA8       ; 168
    470a:       11 fc           sbrc    r1, 1
    470c:       60 2d           mov     r22, r0
    470e:       f2 c8           rjmp    .-3612          ; 0x38f4 <__stack+0x27f5>
    4710:       ef da           rcall   .-2594          ; 0x3cf0 <__stack+0x2bf1>
    4712:       2f 3c           cpi     r18, 0xCF       ; 207
    4714:       65 c8           rjmp    .-3894          ; 0x37e0 <__stack+0x26e1>
    4716:       1f 6c           ori     r17, 0xCF       ; 207
    4718:       a6 32           cpi     r26, 0x26       ; 38
    471a:       79 b3           in      r23, 0x19       ; 25
    471c:       fc 30           cpi     r31, 0x0C       ; 12
    471e:       6b eb           ldi     r22, 0xBB       ; 187
    4720:       98 41           sbci    r25, 0x18       ; 24
    4722:       bd d5           rcall   .+2938          ; 0x529e <__stack+0x419f>
    4724:       20 f0           brcs    .+8             ; 0x472e <__stack+0x362f>
    4726:       06 d0           rcall   .+12            ; 0x4734 <__stack+0x3635>
    4728:       03 19           sub     r16, r3
    472a:       fc 07           cpc     r31, r28
    472c:       64 41           sbci    r22, 0x14       ; 20
    472e:       2c 3d           cpi     r18, 0xDC       ; 220
    4730:       e8 fb           .word   0xfbe8  ; ????
    4732:       79 2b           or      r23, r25
    4734:       fe 17           cp      r31, r30
    4736:       42 b6           in      r4, 0x32        ; 50
    4738:       71 b8           out     0x01, r7        ; 1
    473a:       6a d0           rcall   .+212           ; 0x4810 <__stack+0x3711>
    473c:       b9 1b           sub     r27, r25
    473e:       3b 4c           sbci    r19, 0xCB       ; 203
    4740:       b6 ee           ldi     r27, 0xE6       ; 230
    4742:       23 30           cpi     r18, 0x03       ; 3
    4744:       96 40           sbci    r25, 0x06       ; 6
    4746:       7c 4f           sbci    r23, 0xFC       ; 252
    4748:       ff 1f           adc     r31, r31
    474a:       04 88           ldd     r0, Z+20        ; 0x14
    474c:       41 38           cpi     r20, 0x81       ; 129
    474e:       ec 0a           sbc     r14, r28
    4750:       ff b3           in      r31, 0x1f       ; 31
    4752:       91 c0           rjmp    .+290           ; 0x4876 <__stack+0x3777>
    4754:       46 6b           ori     r20, 0xB6       ; 182
    4756:       99 c8           rjmp    .-3790          ; 0x388a <__stack+0x278b>
    4758:       01 e0           ldi     r16, 0x01       ; 1
    475a:       bf 30           cpi     r27, 0x0F       ; 15
    475c:       2b c8           rjmp    .-4010          ; 0x37b4 <__stack+0x26b5>
    475e:       ef c4           rjmp    .+2526          ; 0x513e <__stack+0x403f>
    4760:       5b 7a           andi    r21, 0xAB       ; 171
    4762:       10 1b           sub     r17, r16
    4764:       71 9f           mul     r23, r17
    4766:       b3 ca           rjmp    .-2714          ; 0x3cce <__stack+0x2bcf>
    4768:       30 59           subi    r19, 0x90       ; 144
    476a:       36 d3           rcall   .+1644          ; 0x4dd8 <__stack+0x3cd9>
    476c:       39 b3           in      r19, 0x19       ; 25
    476e:       89 24           eor     r8, r9
    4770:       4f f3           brie    .-46            ; 0x4744 <__stack+0x3645>
    4772:       09 30           cpi     r16, 0x09       ; 9
    4774:       40 f0           brcs    .+16            ; 0x4786 <__stack+0x3687>
    4776:       c9 fb           .word   0xfbc9  ; ????
    4778:       20 8a           std     Z+16, r2        ; 0x10
    477a:       a3 7f           andi    r26, 0xF3       ; 243
    477c:       1d 3d           cpi     r17, 0xDD       ; 221
    477e:       c4 ac           ldd     r12, Z+60       ; 0x3c
    4780:       63 7f           andi    r22, 0xF3       ; 243
    4782:       da 72           andi    r29, 0x2A       ; 42
    4784:       2b 74           andi    r18, 0x4B       ; 75
    4786:       a4 8c           ldd     r10, Z+28       ; 0x1c
    4788:       5b d4           rcall   .+2230          ; 0x5040 <__stack+0x3f41>
    478a:       ff 34           cpi     r31, 0x4F       ; 79
    478c:       bb 79           andi    r27, 0x9B       ; 155
    478e:       3a 86           std     Y+10, r3        ; 0x0a
    4790:       22 09           sbc     r18, r2
    4792:       5d 86           std     Y+13, r5        ; 0x0d
    4794:       11 e5           ldi     r17, 0x51       ; 81
    4796:       98 ec           ldi     r25, 0xC8       ; 200
    4798:       d6 43           sbci    r29, 0x36       ; 54
    479a:       68 0c           add     r6, r8
    479c:       4d 28           or      r4, r13
    479e:       f6 81           ldd     r31, Z+6        ; 0x06
    47a0:       41 20           and     r4, r1
    47a2:       fc 57           subi    r31, 0x7C       ; 124
    47a4:       90 71           andi    r25, 0x10       ; 16
    47a6:       ba b6           in      r11, 0x3a       ; 58
    47a8:       e2 31           cpi     r30, 0x12       ; 18
    47aa:       f3 3f           cpi     r31, 0xF3       ; 243
    47ac:       2f 90           pop     r2
    47ae:       a4 ec           ldi     r26, 0xC4       ; 196
    47b0:       f4 18           sub     r15, r4
    47b2:       b2 b6           in      r11, 0x32       ; 50
    47b4:       ba 91           ld      r27, -Y
    47b6:       fe 26           eor     r15, r30
    47b8:       30 ed           ldi     r19, 0xD0       ; 208
    47ba:       38 f9           .word   0xf938  ; ????
    47bc:       df f4           brid    .+54            ; 0x47f4 <__stack+0x36f5>
    47be:       ed 02           muls    r30, r29
    47c0:       9b b6           in      r9, 0x3b        ; 59
    47c2:       42 17           cp      r20, r18
    47c4:       43 d0           rcall   .+134           ; 0x484c <__stack+0x374d>
    47c6:       b6 af           std     Z+62, r27       ; 0x3e
    47c8:       80 08           sbc     r8, r0
    47ca:       72 66           ori     r23, 0x62       ; 98
    47cc:       30 b6           in      r3, 0x30        ; 48
    47ce:       71 e4           ldi     r23, 0x41       ; 65
    47d0:       23 60           ori     r18, 0x03       ; 3
    47d2:       dc 89           ldd     r29, Y+20       ; 0x14
    47d4:       e0 d6           rcall   .+3520          ; 0x5596 <__stack+0x4497>
    47d6:       7f 16           cp      r7, r31
    47d8:       23 4f           sbci    r18, 0xF3       ; 243
    47da:       c8 a5           ldd     r28, Y+40       ; 0x28
    47dc:       30 10           cpse    r3, r0
    47de:       f0 77           andi    r31, 0x70       ; 112
    47e0:       6f 17           cp      r22, r31
    47e2:       21 2f           mov     r18, r17
    47e4:       72 4b           sbci    r23, 0xB2       ; 178
    47e6:       50 21           and     r21, r0
    47e8:       e5 73           andi    r30, 0x35       ; 53
    47ea:       19 fc           .word   0xfc19  ; ????
    47ec:       df 59           subi    r29, 0x9F       ; 159
    47ee:       ed ea           ldi     r30, 0xAD       ; 173
    47f0:       b3 80           ldd     r11, Z+3        ; 0x03
    47f2:       3b 44           sbci    r19, 0x4B       ; 75
    47f4:       8b e6           ldi     r24, 0x6B       ; 107
    47f6:       61 5a           subi    r22, 0xA1       ; 161
    47f8:       b8 dd           rcall   .-1168          ; 0x436a <__stack+0x326b>
    47fa:       3f 40           sbci    r19, 0x0F       ; 15
    47fc:       20 03           mulsu   r18, r16
    47fe:       92 6c           ori     r25, 0xC2       ; 194
    4800:       b3 f8           bld     r11, 3
    4802:       71 e7           ldi     r23, 0x71       ; 113
    4804:       d8 fb           .word   0xfbd8  ; ????
    4806:       26 89           ldd     r18, Z+22       ; 0x16
    4808:       81 10           cpse    r8, r1
    480a:       e0 3a           cpi     r30, 0xA0       ; 160
    480c:       1f 60           ori     r17, 0x0F       ; 15
    480e:       42 4c           sbci    r20, 0xC2       ; 194
    4810:       88 05           cpc     r24, r8
    4812:       5f 15           cp      r21, r15
    4814:       72 f3           brmi    .-36            ; 0x47f2 <__stack+0x36f3>
    4816:       23 5f           subi    r18, 0xF3       ; 243
    4818:       86 a6           std     Z+46, r8        ; 0x2e
    481a:       fb df           rcall   .-10            ; 0x4812 <__stack+0x3713>
    481c:       8b 6f           ori     r24, 0xFB       ; 251
    481e:       f3 23           and     r31, r19
    4820:       cd 26           eor     r12, r29
    4822:       90 c1           rjmp    .+800           ; 0x4b44 <__stack+0x3a45>
    4824:       ea a6           std     Y+42, r14       ; 0x2a
    4826:       81 26           eor     r8, r17
    4828:       4c 0d           add     r20, r12
    482a:       48 cc           rjmp    .-1904          ; 0x40bc <__stack+0x2fbd>
    482c:       3c 44           sbci    r19, 0x4C       ; 76
    482e:       98 2d           mov     r25, r8
    4830:       0b 64           ori     r16, 0x4B       ; 75
    4832:       d9 7b           andi    r29, 0xB9       ; 185
    4834:       1b 06           cpc     r1, r27
    4836:       50 d7           rcall   .+3744          ; 0x56d8 <__stack+0x45d9>
    4838:       fd e0           ldi     r31, 0x0D       ; 13
    483a:       ad a5           ldd     r26, Y+45       ; 0x2d
    483c:       05 bd           out     0x25, r16       ; 37
    483e:       98 e0           ldi     r25, 0x08       ; 8
    4840:       b5 41           sbci    r27, 0x15       ; 21
    4842:       ce bb           out     0x1e, r28       ; 30
    4844:       83 78           andi    r24, 0x83       ; 131
    4846:       fe 33           cpi     r31, 0x3E       ; 62
    4848:       43 cb           rjmp    .-2426          ; 0x3ed0 <__stack+0x2dd1>
    484a:       67 4e           sbci    r22, 0xE7       ; 231
    484c:       79 e6           ldi     r23, 0x69       ; 105
    484e:       30 c4           rjmp    .+2144          ; 0x50b0 <__stack+0x3fb1>
    4850:       02 bc           out     0x22, r0        ; 34
    4852:       98 fe           .word   0xfe98  ; ????
    4854:       c0 b1           in      r28, 0x00       ; 0
    4856:       f0 ca           rjmp    .-2592          ; 0x3e38 <__stack+0x2d39>
    4858:       1e d0           rcall   .+60            ; 0x4896 <__stack+0x3797>
    485a:       19 66           ori     r17, 0x69       ; 105
    485c:       f3 80           ldd     r15, Z+3        ; 0x03
    485e:       2c 0d           add     r18, r12
    4860:       fd ff           .word   0xfffd  ; ????
    4862:       23 98           cbi     0x04, 3 ; 4
    4864:       7e 5f           subi    r23, 0xFE       ; 254
    4866:       da 12           cpse    r13, r26
    4868:       30 af           std     Z+56, r19       ; 0x38
    486a:       7a 62           ori     r23, 0x2A       ; 42
    486c:       33 2c           mov     r3, r3
    486e:       8f b5           in      r24, 0x2f       ; 47
    4870:       2f 5a           subi    r18, 0xAF       ; 175
    4872:       ae af           std     Y+62, r26       ; 0x3e
    4874:       bb e6           ldi     r27, 0x6B       ; 107
    4876:       8d ea           ldi     r24, 0xAD       ; 173
    4878:       7e a2           std     Y+38, r7        ; 0x26
    487a:       fc ce           rjmp    .-520           ; 0x4674 <__stack+0x3575>
    487c:       9b 81           ldd     r25, Y+3        ; 0x03
    487e:       17 d8           rcall   .-4050          ; 0x38ae <__stack+0x27af>
    4880:       fc 77           andi    r31, 0x7C       ; 124
    4882:       45 32           cpi     r20, 0x25       ; 37
    4884:       0a a7           std     Y+42, r16       ; 0x2a
    4886:       c0 a3           std     Z+32, r28       ; 0x20
    4888:       ed 8d           ldd     r30, Y+29       ; 0x1d
    488a:       82 6e           ori     r24, 0xE2       ; 226
    488c:       b3 7b           andi    r27, 0xB3       ; 179
    488e:       89 b0           in      r8, 0x09        ; 9
    4890:       08 62           ori     r16, 0x28       ; 40
    4892:       88 b3           in      r24, 0x18       ; 24
    4894:       40 14           cp      r4, r0
    4896:       92 c0           rjmp    .+292           ; 0x49bc <__stack+0x38bd>
    4898:       68 f1           brcs    .+90            ; 0x48f4 <__stack+0x37f5>
    489a:       f8 44           sbci    r31, 0x48       ; 72
    489c:       82 88           ldd     r8, Z+18        ; 0x12
    489e:       13 61           ori     r17, 0x13       ; 19
    48a0:       1e 4e           sbci    r17, 0xEE       ; 238
    48a2:       04 08           sbc     r0, r4
    48a4:       30 71           andi    r19, 0x10       ; 16
    48a6:       e9 fc           .word   0xfce9  ; ????
    48a8:       20 c0           rjmp    .+64            ; 0x48ea <__stack+0x37eb>
    48aa:       69 f9           .word   0xf969  ; ????
    48ac:       8c 0a           sbc     r8, r28
    48ae:       92 c0           rjmp    .+292           ; 0x49d4 <__stack+0x38d5>
    48b0:       41 20           and     r4, r1
    48b2:       6a f3           brmi    .-38            ; 0x488e <__stack+0x378f>
    48b4:       69 ab           std     Y+49, r22       ; 0x31
    48b6:       85 a4           ldd     r8, Z+45        ; 0x2d
    48b8:       3c b3           in      r19, 0x1c       ; 28
    48ba:       64 6d           ori     r22, 0xD4       ; 212
    48bc:       8a 7f           andi    r24, 0xFA       ; 250
    48be:       09 58           subi    r16, 0x89       ; 137
    48c0:       e0 25           eor     r30, r0
    48c2:       e6 3a           cpi     r30, 0xA6       ; 166
    48c4:       a7 04           cpc     r10, r7
    48c6:       30 e0           ldi     r19, 0x00       ; 0
    48c8:       42 12           cpse    r4, r18
    48ca:       69 5c           subi    r22, 0xC9       ; 201
    48cc:       29 7b           andi    r18, 0xB9       ; 185
    48ce:       db b8           out     0x0b, r13       ; 11
    48d0:       fd 89           ldd     r31, Y+21       ; 0x15
    48d2:       d8 c0           rjmp    .+432           ; 0x4a84 <__stack+0x3985>
    48d4:       b5 b6           in      r11, 0x35       ; 53
    48d6:       02 e1           ldi     r16, 0x12       ; 18
    48d8:       8f f3           brie    .-30            ; 0x48bc <__stack+0x37bd>
    48da:       62 7e           andi    r22, 0xE2       ; 226
    48dc:       99 6a           ori     r25, 0xA9       ; 169
    48de:       26 2c           mov     r2, r6
    48e0:       8d b5           in      r24, 0x2d       ; 45
    48e2:       e0 03           fmuls   r22, r16
    48e4:       ab 59           subi    r26, 0x9B       ; 155
    48e6:       98 ff           .word   0xff98  ; ????
    48e8:       2d c5           rjmp    .+2650          ; 0x5344 <__stack+0x4245>
    48ea:       90 cf           rjmp    .-224           ; 0x480c <__stack+0x370d>
    48ec:       11 2f           mov     r17, r17
    48ee:       0a fc           .word   0xfc0a  ; ????
    48f0:       d6 31           cpi     r29, 0x16       ; 22
    48f2:       b3 fd           sbrc    r27, 3
    48f4:       7c 47           sbci    r23, 0x7C       ; 124
    48f6:       df d4           rcall   .+2494          ; 0x52b6 <__stack+0x41b7>
    48f8:       36 62           ori     r19, 0x26       ; 38
    48fa:       ca 41           sbci    r28, 0x1A       ; 26
    48fc:       19 65           ori     r17, 0x59       ; 89
    48fe:       08 c0           rjmp    .+16            ; 0x4910 <__stack+0x3811>
    4900:       1a bd           out     0x2a, r17       ; 42
    4902:       9f 09           sbc     r25, r15
    4904:       a7 fc           sbrc    r10, 7
    4906:       77 5c           subi    r23, 0xC7       ; 199
    4908:       d8 f8           .word   0xf8d8  ; ????
    490a:       01 79           andi    r16, 0x91       ; 145
    490c:       98 eb           ldi     r25, 0xB8       ; 184
    490e:       eb 23           and     r30, r27
    4910:       fd 98           cbi     0x1f, 5 ; 31
    4912:       30 b2           in      r3, 0x10        ; 16
    4914:       04 96           adiw    r24, 0x04       ; 4
    4916:       2b 0a           sbc     r2, r27
    4918:       69 b3           in      r22, 0x19       ; 25
    491a:       cc 09           sbc     r28, r12
    491c:       14 c2           rjmp    .+1064          ; 0x4d46 <__stack+0x3c47>
    491e:       a5 1e           adc     r10, r21
    4920:       c0 12           cpse    r12, r16
    4922:       90 95           com     r25
    4924:       9d 0b           sbc     r25, r29
    4926:       cc 2c           mov     r12, r12
    4928:       a4 67           ori     r26, 0x74       ; 116
    492a:       c8 a0           ldd     r12, Y+32       ; 0x20
    492c:       fe 2b           or      r31, r30
    492e:       4d c5           rjmp    .+2714          ; 0x53ca <__stack+0x42cb>
    4930:       c5 f2           brhs    .-80            ; 0x48e2 <__stack+0x37e3>
    4932:       23 05           cpc     r18, r3
    4934:       60 03           mulsu   r22, r16
    4936:       81 5e           subi    r24, 0xE1       ; 225
    4938:       8b ed           ldi     r24, 0xDB       ; 219
    493a:       06 c2           rjmp    .+1036          ; 0x4d48 <__stack+0x3c49>
    493c:       48 d6           rcall   .+3216          ; 0x55ce <__stack+0x44cf>
    493e:       b3 21           and     r27, r3
    4940:       ab 20           and     r10, r11
    4942:       18 5e           subi    r17, 0xE8       ; 232
    4944:       fe c6           rjmp    .+3580          ; 0x5742 <__stack+0x4643>
    4946:       8c 05           cpc     r24, r12
    4948:       30 06           cpc     r3, r16
    494a:       46 01           movw    r8, r12
    494c:       b4 df           rcall   .-152           ; 0x48b6 <__stack+0x37b7>
    494e:       2d 61           ori     r18, 0x1D       ; 29
    4950:       66 c8           rjmp    .-3892          ; 0x3a1e <__stack+0x291f>
    4952:       11 f6           brne    .-124           ; 0x48d8 <__stack+0x37d9>
    4954:       a0 18           sub     r10, r0
    4956:       10 b3           in      r17, 0x10       ; 16
    4958:       c8 0c           add     r12, r8
    495a:       ce 80           ldd     r12, Y+6        ; 0x06
    495c:       21 25           eor     r18, r1
    495e:       48 fb           .word   0xfb48  ; ????
    4960:       b9 30           cpi     r27, 0x09       ; 9
    4962:       88 b5           in      r24, 0x28       ; 40
    4964:       07 f5           brid    .+64            ; 0x49a6 <__stack+0x38a7>
    4966:       98 0b           sbc     r25, r24
    4968:       de 8b           std     Y+22, r29       ; 0x16
    496a:       16 f0           brts    .+4             ; 0x4970 <__stack+0x3871>
    496c:       ef 84           ldd     r14, Y+15       ; 0x0f
    496e:       e9 d3           rcall   .+2002          ; 0x5142 <__stack+0x4043>
    4970:       c8 98           cbi     0x19, 0 ; 25
    4972:       e6 fd           sbrc    r30, 6
    4974:       b5 41           sbci    r27, 0x15       ; 21
    4976:       ff dc           rcall   .-1538          ; 0x4376 <__stack+0x3277>
    4978:       e8 01           movw    r28, r16
    497a:       3d d7           rcall   .+3706          ; 0x57f6 <__stack+0x46f7>
    497c:       80 07           cpc     r24, r16
    497e:       e9 94           .word   0x94e9  ; ????
    4980:       c4 5c           subi    r28, 0xC4       ; 196
    4982:       0e 6b           ori     r16, 0xBE       ; 190
    4984:       c9 30           cpi     r28, 0x09       ; 9
    4986:       1c c6           rjmp    .+3128          ; 0x55c0 <__stack+0x44c1>
    4988:       81 19           sub     r24, r1
    498a:       0f 9a           sbi     0x01, 7 ; 1
    498c:       e4 c6           rjmp    .+3528          ; 0x5756 <__stack+0x4657>
    498e:       20 f9           bld     r18, 0
    4990:       cc f0           brlt    .+50            ; 0x49c4 <__stack+0x38c5>
    4992:       6f fe           .word   0xfe6f  ; ????
    4994:       b9 04           cpc     r11, r9
    4996:       88 01           movw    r16, r16
    4998:       96 f3           brts    .-28            ; 0x497e <__stack+0x387f>
    499a:       c2 47           sbci    r28, 0x72       ; 114
    499c:       5a c4           rjmp    .+2228          ; 0x5252 <__stack+0x4153>
    499e:       6d b3           in      r22, 0x1d       ; 29
    49a0:       7e f2           brts    .-98            ; 0x4940 <__stack+0x3841>
    49a2:       02 d4           rcall   .+2052          ; 0x51a8 <__stack+0x40a9>
    49a4:       66 91           elpm    r22, Z+
    49a6:       e0 02           muls    r30, r16
    49a8:       d9 7c           andi    r29, 0xC9       ; 201
    49aa:       30 b5           in      r19, 0x20       ; 32
    49ac:       40 ca           rjmp    .-2944          ; 0x3e2e <__stack+0x2d2f>
    49ae:       c8 61           ori     r28, 0x18       ; 24
    49b0:       e6 c8           rjmp    .-3636          ; 0x3b7e <__stack+0x2a7f>
    49b2:       fd 42           sbci    r31, 0x2D       ; 45
    49b4:       90 bf           out     0x30, r25       ; 48
    49b6:       09 d5           rcall   .+2578          ; 0x53ca <__stack+0x42cb>
    49b8:       f1 93           st      Z+, r31 ; undefined
    49ba:       e4 98           cbi     0x1c, 4 ; 28
    49bc:       ed bf           out     0x3d, r30       ; 61
    49be:       10 65           ori     r17, 0x50       ; 80
    49c0:       3b cd           rjmp    .-1418          ; 0x4438 <__stack+0x3339>
    49c2:       e0 b3           in      r30, 0x10       ; 16
    49c4:       91 00           .word   0x0091  ; ????
    49c6:       e6 34           cpi     r30, 0x46       ; 70
    49c8:       ad b3           in      r26, 0x1d       ; 29
    49ca:       84 01           movw    r16, r8
    49cc:       64 c8           rjmp    .-3896          ; 0x3a96 <__stack+0x2997>
    49ce:       05 90           lpm     r0, Z+
    49d0:       c8 99           sbic    0x19, 0 ; 25
    49d2:       1c 30           cpi     r17, 0x0C       ; 12
    49d4:       6b 9f           mul     r22, r27
    49d6:       c8 51           subi    r28, 0x18       ; 24
    49d8:       30 08           sbc     r3, r0
    49da:       f0 b2           in      r15, 0x10       ; 16
    49dc:       fb b5           in      r31, 0x2b       ; 43
    49de:       25 08           sbc     r2, r5
    49e0:       67 ed           ldi     r22, 0xD7       ; 215
    49e2:       0f e7           ldi     r16, 0x7F       ; 127
    49e4:       b3 99           sbic    0x16, 3 ; 22
    49e6:       a4 fc           sbrc    r10, 4
    49e8:       66 67           ori     r22, 0x76       ; 118
    49ea:       7d 16           cp      r7, r29
    49ec:       2e 9f           mul     r18, r30
    49ee:       f8 f3           brcs    .-2             ; 0x49ee <__stack+0x38ef>
    49f0:       58 f8           .word   0xf858  ; ????
    49f2:       1d f3           brhs    .-58            ; 0x49ba <__stack+0x38bb>
    49f4:       b5 fc           sbrc    r11, 5
    49f6:       4b d1           rcall   .+662           ; 0x4c8e <__stack+0x3b8f>
    49f8:       f3 01           movw    r30, r6
    49fa:       46 e6           ldi     r20, 0x66       ; 102
    49fc:       71 cf           rjmp    .-286           ; 0x48e0 <__stack+0x37e1>
    49fe:       69 b5           in      r22, 0x29       ; 41
    4a00:       ba d3           rcall   .+1908          ; 0x5176 <__stack+0x4077>
    4a02:       01 d4           rcall   .+2050          ; 0x5206 <__stack+0x4107>
    4a04:       c6 ff           sbrs    r28, 6
    4a06:       3d a4           ldd     r3, Y+45        ; 0x2d
    4a08:       d3 40           sbci    r29, 0x03       ; 3
    4a0a:       b3 fd           sbrc    r27, 3
    4a0c:       05 99           sbic    0x00, 5 ; 0
    4a0e:       46 87           std     Z+14, r20       ; 0x0e
    4a10:       2e ff           .word   0xff2e  ; ????
    4a12:       88 ff           .word   0xff88  ; ????
    4a14:       2c 59           subi    r18, 0x9C       ; 156
    4a16:       ad e6           ldi     r26, 0x6D       ; 109
    4a18:       93 79           andi    r25, 0x93       ; 147
    4a1a:       66 b9           out     0x06, r22       ; 6
    4a1c:       1b 8a           std     Y+19, r1        ; 0x13
    4a1e:       af d3           rcall   .+1886          ; 0x517e <__stack+0x407f>
    4a20:       82 56           subi    r24, 0x62       ; 98
    4a22:       d3 52           subi    r29, 0x23       ; 35
    4a24:       80 62           ori     r24, 0x20       ; 32
    4a26:       6d 96           adiw    r28, 0x1d       ; 29
    4a28:       0a bf           out     0x3a, r16       ; 58
    4a2a:       ec 6c           ori     r30, 0xCC       ; 204
    4a2c:       17 62           ori     r17, 0x27       ; 39
    4a2e:       64 59           subi    r22, 0x94       ; 148
    4a30:       e0 66           ori     r30, 0x60       ; 96
    4a32:       ea 47           sbci    r30, 0x7A       ; 122
    4a34:       10 dd           rcall   .-1504          ; 0x4456 <__stack+0x3357>
    4a36:       2f 98           cbi     0x05, 7 ; 5
    4a38:       bd fa           .word   0xfabd  ; ????
    4a3a:       c2 10           cpse    r12, r2
    4a3c:       66 2d           mov     r22, r6
    4a3e:       1b 02           muls    r17, r27
    4a40:       be 81           ldd     r27, Y+6        ; 0x06
    4a42:       c7 0d           add     r28, r7
    4a44:       b2 54           subi    r27, 0x42       ; 66
    4a46:       e0 50           subi    r30, 0x00       ; 0
    4a48:       af 45           sbci    r26, 0x5F       ; 95
    4a4a:       c6 bd           out     0x26, r28       ; 38
    4a4c:       85 fa           bst     r8, 5
    4a4e:       08 90           .word   0x9008  ; ????
    4a50:       a0 71           andi    r26, 0x10       ; 16
    4a52:       73 9e           mul     r7, r19
    4a54:       be 67           ori     r27, 0x7E       ; 126
    4a56:       7d ac           ldd     r7, Y+61        ; 0x3d
    4a58:       b1 24           eor     r11, r1
    4a5a:       b9 f3           breq    .-18            ; 0x4a4a <__stack+0x394b>
    4a5c:       fc e5           ldi     r31, 0x5C       ; 92
    4a5e:       7b f3           brvs    .-34            ; 0x4a3e <__stack+0x393f>
    4a60:       b1 fc           sbrc    r11, 1
    4a62:       b0 30           cpi     r27, 0x00       ; 0
    4a64:       b3 e0           ldi     r27, 0x03       ; 3
    4a66:       cc 32           cpi     r28, 0x2C       ; 44
    4a68:       3e 05           cpc     r19, r14
    4a6a:       df eb           ldi     r29, 0xBF       ; 191
    4a6c:       32 cf           rjmp    .-412           ; 0x48d2 <__stack+0x37d3>
    4a6e:       79 2d           mov     r23, r9
    4a70:       d3 b8           out     0x03, r13       ; 3
    4a72:       e3 f2           brvs    .-72            ; 0x4a2c <__stack+0x392d>
    4a74:       c9 cb           rjmp    .-2158          ; 0x4208 <__stack+0x3109>
    4a76:       02 1f           adc     r16, r18
    4a78:       fe 28           or      r15, r14
    4a7a:       10 88           ldd     r1, Z+16        ; 0x10
    4a7c:       d5 a7           std     Z+45, r29       ; 0x2d
    4a7e:       10 68           ori     r17, 0x80       ; 128
    4a80:       cf 64           ori     r28, 0x4F       ; 79
    4a82:       36 c2           rjmp    .+1132          ; 0x4ef0 <__stack+0x3df1>
    4a84:       68 fa           .word   0xfa68  ; ????
    4a86:       17 f9           bld     r17, 7
    4a88:       ff 9e           mul     r15, r31
    4a8a:       51 6e           ori     r21, 0xE1       ; 225
    4a8c:       84 c0           rjmp    .+264           ; 0x4b96 <__stack+0x3a97>
    4a8e:       88 fb           .word   0xfb88  ; ????
    4a90:       60 8e           std     Z+24, r6        ; 0x18
    4a92:       ff 5b           subi    r31, 0xBF       ; 191
    4a94:       e3 62           ori     r30, 0x23       ; 35
    4a96:       db ae           std     Y+59, r13       ; 0x3b
    4a98:       61 8b           std     Z+17, r22       ; 0x11
    4a9a:       4e 98           cbi     0x09, 6 ; 9
    4a9c:       f9 61           ori     r31, 0x19       ; 25
    4a9e:       6a 20           and     r6, r10
    4aa0:       40 c6           rjmp    .+3200          ; 0x5722 <__stack+0x4623>
    4aa2:       7f b1           in      r23, 0x0f       ; 15
    4aa4:       c8 b3           in      r28, 0x18       ; 24
    4aa6:       fe ba           out     0x1e, r15       ; 30
    4aa8:       1a c2           rjmp    .+1076          ; 0x4ede <__stack+0x3ddf>
    4aaa:       d5 70           andi    r29, 0x05       ; 5
    4aac:       40 ba           out     0x10, r4        ; 16
    4aae:       96 20           and     r9, r6
    4ab0:       3f 30           cpi     r19, 0x0F       ; 15
    4ab2:       ff 50           subi    r31, 0x0F       ; 15
    4ab4:       7b be           out     0x3b, r7        ; 59
    4ab6:       40 10           cpse    r4, r0
    4ab8:       19 85           ldd     r17, Y+9        ; 0x09
    4aba:       6c bc           out     0x2c, r6        ; 44
    4abc:       80 10           cpse    r8, r0
    4abe:       76 cb           rjmp    .-2324          ; 0x41ac <__stack+0x30ad>
    4ac0:       bb 10           cpse    r11, r11
    4ac2:       21 a7           std     Z+41, r18       ; 0x29
    4ac4:       ff 7f           andi    r31, 0xFF       ; 255
    4ac6:       ed d5           rcall   .+3034          ; 0x56a2 <__stack+0x45a3>
    4ac8:       24 ff           sbrs    r18, 4
    4aca:       cc 20           and     r12, r12
    4acc:       64 7e           andi    r22, 0xE4       ; 228
    4ace:       62 22           and     r6, r18
    4ad0:       cc e3           ldi     r28, 0x3C       ; 60
    4ad2:       91 33           cpi     r25, 0x31       ; 49
    4ad4:       c8 23           and     r28, r24
    4ad6:       e4 2b           or      r30, r20
    4ad8:       93 cf           rjmp    .-218           ; 0x4a00 <__stack+0x3901>
    4ada:       41 b1           in      r20, 0x01       ; 1
    4adc:       08 5e           subi    r16, 0xE8       ; 232
    4ade:       da 7b           andi    r29, 0xBA       ; 186
    4ae0:       06 58           subi    r16, 0x86       ; 134
    4ae2:       fd ce           rjmp    .-518           ; 0x48de <__stack+0x37df>
    4ae4:       c0 40           sbci    r28, 0x00       ; 0
    4ae6:       99 0c           add     r9, r9
    4ae8:       16 1a           sub     r1, r22
    4aea:       f3 80           ldd     r15, Z+3        ; 0x03
    4aec:       d4 da           rcall   .-2648          ; 0x4096 <__stack+0x2f97>
    4aee:       64 8a           std     Z+20, r6        ; 0x14
    4af0:       bd 01           movw    r22, r26
    4af2:       a9 28           or      r10, r9
    4af4:       1c b1           in      r17, 0x0c       ; 12
    4af6:       cd 0c           add     r12, r13
    4af8:       d2 7b           andi    r29, 0xB2       ; 178
    4afa:       a4 e0           ldi     r26, 0x04       ; 4
    4afc:       02 3c           cpi     r16, 0xC2       ; 194
    4afe:       40 4f           sbci    r20, 0xF0       ; 240
    4b00:       39 2a           or      r3, r25
    4b02:       28 22           and     r2, r24
    4b04:       31 df           rcall   .-414           ; 0x4968 <__stack+0x3869>
    4b06:       86 bf           out     0x36, r24       ; 54
    4b08:       16 14           cp      r1, r6
    4b0a:       06 10           cpse    r0, r6
    4b0c:       51 08           sbc     r5, r1
    4b0e:       cf 40           sbci    r28, 0x0F       ; 15
    4b10:       01 c1           rjmp    .+514           ; 0x4d14 <__stack+0x3c15>
    4b12:       a0 05           cpc     r26, r0
    4b14:       10 dd           rcall   .-1504          ; 0x4536 <__stack+0x3437>
    4b16:       f8 02           muls    r31, r24
    4b18:       b4 bf           out     0x34, r27       ; 52
    4b1a:       b6 17           cp      r27, r22
    4b1c:       04 60           ori     r16, 0x04       ; 4
    4b1e:       6b ca           rjmp    .-2858          ; 0x3ff6 <__stack+0x2ef7>
    4b20:       2e 20           and     r2, r14
    4b22:       21 4f           sbci    r18, 0xF1       ; 241
    4b24:       89 d5           rcall   .+2834          ; 0x5638 <__stack+0x4539>
    4b26:       12 44           sbci    r17, 0x42       ; 66
    4b28:       c4 bc           out     0x24, r12       ; 36
    4b2a:       b1 f7           brne    .-20            ; 0x4b18 <__stack+0x3a19>
    4b2c:       61 12           cpse    r6, r17
    4b2e:       a2 a8           ldd     r10, Z+50       ; 0x32
    4b30:       39 f4           brne    .+14            ; 0x4b40 <__stack+0x3a41>
    4b32:       21 04           cpc     r2, r1
    4b34:       ca 3e           cpi     r28, 0xEA       ; 234
    4b36:       40 10           cpse    r4, r0
    4b38:       07 b0           in      r0, 0x07        ; 7
    4b3a:       42 67           ori     r20, 0x72       ; 114
    4b3c:       e9 14           cp      r14, r9
    4b3e:       d2 04           cpc     r13, r2
    4b40:       d0 d9           rcall   .-3168          ; 0x3ee2 <__stack+0x2de3>
    4b42:       ff 12           cpse    r15, r31
    4b44:       bf b4           in      r11, 0x2f       ; 47
    4b46:       6f f6           brid    .-102           ; 0x4ae2 <__stack+0x39e3>
    4b48:       71 38           cpi     r23, 0x81       ; 129
    4b4a:       ff b7           in      r31, 0x3f       ; 63
    4b4c:       20 16           cp      r2, r16
    4b4e:       f7 d5           rcall   .+3054          ; 0x573e <__stack+0x463f>
    4b50:       ce c7           rjmp    .+3996          ; 0x5aee <__stack+0x49ef>
    4b52:       31 fc           sbrc    r3, 1
    4b54:       12 e0           ldi     r17, 0x02       ; 2
    4b56:       2c 6f           ori     r18, 0xFC       ; 252
    4b58:       16 e9           ldi     r17, 0x96       ; 150
    4b5a:       94 6f           ori     r25, 0xF4       ; 244
    4b5c:       2c cd           rjmp    .-1448          ; 0x45b6 <__stack+0x34b7>
    4b5e:       01 54           subi    r16, 0x41       ; 65
    4b60:       66 be           out     0x36, r6        ; 54
    4b62:       cc 9b           sbis    0x19, 4 ; 25
    4b64:       62 82           std     Z+2, r6 ; 0x02
    4b66:       80 d6           rcall   .+3328          ; 0x5868 <__stack+0x4769>
    4b68:       ef 04           cpc     r14, r15
    4b6a:       bf 7c           andi    r27, 0xCF       ; 207
    4b6c:       0f 08           sbc     r0, r15
    4b6e:       44 b7           in      r20, 0x34       ; 52
    4b70:       fa 6c           ori     r31, 0xCA       ; 202
    4b72:       6e 04           cpc     r6, r14
    4b74:       82 bf           out     0x32, r24       ; 50
    4b76:       a5 51           subi    r26, 0x15       ; 21
    4b78:       d9 02           muls    r29, r25
    4b7a:       85 7e           andi    r24, 0xE5       ; 229
    4b7c:       df 3b           cpi     r29, 0xBF       ; 191
    4b7e:       9e b0           in      r9, 0x0e        ; 14
    4b80:       fe 25           eor     r31, r14
    4b82:       49 08           sbc     r4, r9
    4b84:       67 91           elpm    r22, Z+
    4b86:       7d ea           ldi     r23, 0xAD       ; 173
    4b88:       9e ad           ldd     r25, Y+62       ; 0x3e
    4b8a:       a3 08           sbc     r10, r3
    4b8c:       88 cc           rjmp    .-1776          ; 0x449e <__stack+0x339f>
    4b8e:       76 f5           brtc    .+92            ; 0x4bec <__stack+0x3aed>
    4b90:       ad 90           ld      r10, X+
    4b92:       8e f5           brtc    .+98            ; 0x4bf6 <__stack+0x3af7>
    4b94:       fe e6           ldi     r31, 0x6E       ; 110
    4b96:       a0 21           and     r26, r0
    4b98:       e7 32           cpi     r30, 0x27       ; 39
    4b9a:       9c 1f           adc     r25, r28
    4b9c:       32 6e           ori     r19, 0xE2       ; 226
    4b9e:       db bf           out     0x3b, r29       ; 59
    4ba0:       01 65           ori     r16, 0x51       ; 81
    4ba2:       96 f9           bld     r25, 6
    4ba4:       b6 d8           rcall   .-3732          ; 0x3d12 <__stack+0x2c13>
    4ba6:       99 9e           mul     r9, r25
    4ba8:       98 3a           cpi     r25, 0xA8       ; 168
    4baa:       ca ec           ldi     r28, 0xCA       ; 202
    4bac:       04 dc           rcall   .-2040          ; 0x43b6 <__stack+0x32b7>
    4bae:       8f 8f           std     Y+31, r24       ; 0x1f
    4bb0:       3e 5a           subi    r19, 0xAE       ; 174
    4bb2:       9d f9           .word   0xf99d  ; ????
    4bb4:       18 e8           ldi     r17, 0x88       ; 136
    4bb6:       a6 ac           ldd     r10, Z+62       ; 0x3e
    4bb8:       61 20           and     r6, r1
    4bba:       24 e5           ldi     r18, 0x54       ; 84
    4bbc:       7a 04           cpc     r7, r10
    4bbe:       ab 52           subi    r26, 0x2B       ; 43
    4bc0:       e0 fc           sbrc    r14, 0
    4bc2:       6d b5           in      r22, 0x2d       ; 45
    4bc4:       b0 b6           in      r11, 0x30       ; 48
    4bc6:       d0 23           and     r29, r16
    4bc8:       f6 00           .word   0x00f6  ; ????
    4bca:       38 ff           .word   0xff38  ; ????
    4bcc:       b7 c0           rjmp    .+366           ; 0x4d3c <__stack+0x3c3d>
    4bce:       5c b3           in      r21, 0x1c       ; 28
    4bd0:       30 f8           bld     r3, 0
    4bd2:       bf a0           ldd     r11, Y+39       ; 0x27
    4bd4:       ec 7f           andi    r30, 0xFC       ; 252
    4bd6:       25 f5           brhc    .+72            ; 0x4c20 <__stack+0x3b21>
    4bd8:       ac 10           cpse    r10, r12
    4bda:       c6 c7           rjmp    .+3980          ; 0x5b68 <__stack+0x4a69>
    4bdc:       33 fd           sbrc    r19, 3
    4bde:       f5 d8           rcall   .-3606          ; 0x3dca <__stack+0x2ccb>
    4be0:       fd e6           ldi     r31, 0x6D       ; 109
    4be2:       5e 31           cpi     r21, 0x1E       ; 30
    4be4:       9b 7b           andi    r25, 0xBB       ; 187
    4be6:       40 1c           adc     r4, r0
    4be8:       5b 5b           subi    r21, 0xBB       ; 187
    4bea:       08 7e           andi    r16, 0xE8       ; 232
    4bec:       95 60           ori     r25, 0x05       ; 5
    4bee:       9a d5           rcall   .+2868          ; 0x5724 <__stack+0x4625>
    4bf0:       24 fe           sbrs    r2, 4
    4bf2:       23 a4           ldd     r2, Z+43        ; 0x2b
    4bf4:       b3 1f           adc     r27, r19
    4bf6:       fb 7f           andi    r31, 0xFB       ; 251
    4bf8:       1f 26           eor     r1, r31
    4bfa:       0c d3           rcall   .+1560          ; 0x5214 <__stack+0x4115>
    4bfc:       e4 fb           bst     r30, 4
    4bfe:       cf f3           brie    .-14            ; 0x4bf2 <__stack+0x3af3>
    4c00:       20 3c           cpi     r18, 0xC0       ; 192
    4c02:       db c2           rjmp    .+1462          ; 0x51ba <__stack+0x40bb>
    4c04:       8d db           rcall   .-2278          ; 0x4320 <__stack+0x3221>
    4c06:       49 fe           .word   0xfe49  ; ????
    4c08:       f5 be           out     0x35, r15       ; 53
    4c0a:       96 10           cpse    r9, r6
    4c0c:       b2 02           muls    r27, r18
    4c0e:       d6 b5           in      r29, 0x26       ; 38
    4c10:       40 2d           mov     r20, r0
    4c12:       d7 54           subi    r29, 0x47       ; 71
    4c14:       ea 15           cp      r30, r10
    4c16:       a0 d9           rcall   .-3264          ; 0x3f58 <__stack+0x2e59>
    4c18:       f2 70           andi    r31, 0x02       ; 2
    4c1a:       63 ff           sbrs    r22, 3
    4c1c:       7f 46           sbci    r23, 0x6F       ; 111
    4c1e:       b9 fe           .word   0xfeb9  ; ????
    4c20:       5f b7           in      r21, 0x3f       ; 63
    4c22:       90 31           cpi     r25, 0x10       ; 16
    4c24:       bb 36           cpi     r27, 0x6B       ; 107
    4c26:       08 f0           brcs    .+2             ; 0x4c2a <__stack+0x3b2b>
    4c28:       fd c2           rjmp    .+1530          ; 0x5224 <__stack+0x4125>
    4c2a:       73 3b           cpi     r23, 0xB3       ; 179
    4c2c:       2d 4b           sbci    r18, 0xBD       ; 189
    4c2e:       01 62           ori     r16, 0x21       ; 33
    4c30:       5e 8a           std     Y+22, r5        ; 0x16
    4c32:       d9 c8           rjmp    .-3662          ; 0x3de6 <__stack+0x2ce7>
    4c34:       f8 fd           .word   0xfdf8  ; ????
    4c36:       d9 b1           in      r29, 0x09       ; 9
    4c38:       02 fd           sbrc    r16, 2
    4c3a:       37 aa           std     Z+55, r3        ; 0x37
    4c3c:       3d b5           in      r19, 0x2d       ; 45
    4c3e:       f6 0a           sbc     r15, r22
    4c40:       46 5c           subi    r20, 0xC6       ; 198
    4c42:       8d c6           rjmp    .+3354          ; 0x595e <__stack+0x485f>
    4c44:       48 fc           .word   0xfc48  ; ????
    4c46:       84 8b           std     Z+20, r24       ; 0x14
    4c48:       71 08           sbc     r7, r1
    4c4a:       08 9b           sbis    0x01, 0 ; 1
    4c4c:       db 18           sub     r13, r11
    4c4e:       ff 1c           adc     r15, r15
    4c50:       ed d4           rcall   .+2522          ; 0x562c <__stack+0x452d>
    4c52:       80 84           ldd     r8, Z+8 ; 0x08
    4c54:       4b a1           ldd     r20, Y+35       ; 0x23
    4c56:       02 7f           andi    r16, 0xF2       ; 242
    4c58:       31 4b           sbci    r19, 0xB1       ; 177
    4c5a:       ff 31           cpi     r31, 0x1F       ; 31
    4c5c:       01 85           ldd     r16, Z+9        ; 0x09
    4c5e:       93 40           sbci    r25, 0x03       ; 3
    4c60:       b1 f9           bld     r27, 1
    4c62:       8e ad           ldd     r24, Y+62       ; 0x3e
    4c64:       b3 08           sbc     r11, r3
    4c66:       4d c8           rjmp    .-3942          ; 0x3d02 <__stack+0x2c03>
    4c68:       cc b4           in      r12, 0x2c       ; 44
    4c6a:       22 ce           rjmp    .-956           ; 0x48b0 <__stack+0x37b1>
    4c6c:       f5 60           ori     r31, 0x05       ; 5
    4c6e:       fd d5           rcall   .+3066          ; 0x586a <__stack+0x476b>
    4c70:       95 02           muls    r25, r21
    4c72:       6e 29           or      r22, r14
    4c74:       63 f9           bld     r22, 3
    4c76:       74 b3           in      r23, 0x14       ; 20
    4c78:       50 ff           sbrs    r21, 0
    4c7a:       22 84           ldd     r2, Z+10        ; 0x0a
    4c7c:       69 ed           ldi     r22, 0xD9       ; 217
    4c7e:       70 b0           in      r7, 0x00        ; 0
    4c80:       f9 8d           ldd     r31, Y+25       ; 0x19
    4c82:       e5 95           asr     r30
    4c84:       84 ff           sbrs    r24, 4
    4c86:       fd b9           out     0x0d, r31       ; 13
    4c88:       0a fb           .word   0xfb0a  ; ????
    4c8a:       38 b3           in      r19, 0x18       ; 24
    4c8c:       fd 7e           andi    r31, 0xED       ; 237
    4c8e:       b0 82           st      Z, r11
    4c90:       32 b4           in      r3, 0x22        ; 34
    4c92:       35 28           or      r3, r5
    4c94:       3d f7           brhc    .-50            ; 0x4c64 <__stack+0x3b65>
    4c96:       fa 01           movw    r30, r20
    4c98:       6e ec           ldi     r22, 0xCE       ; 206
    4c9a:       6f d6           rcall   .+3294          ; 0x597a <__stack+0x487b>
    4c9c:       e6 77           andi    r30, 0x76       ; 118
    4c9e:       56 7d           andi    r21, 0xD6       ; 214
    4ca0:       76 73           andi    r23, 0x36       ; 54
    4ca2:       90 ff           sbrs    r25, 0
    4ca4:       3d db           rcall   .-2438          ; 0x4320 <__stack+0x3221>
    4ca6:       81 01           movw    r16, r2
    4ca8:       1d f3           brhs    .-58            ; 0x4c70 <__stack+0x3b71>
    4caa:       e2 72           andi    r30, 0x22       ; 34
    4cac:       c4 d4           rcall   .+2440          ; 0x5636 <__stack+0x4537>
    4cae:       61 fe           sbrs    r6, 1
    4cb0:       b2 d2           rcall   .+1380          ; 0x5216 <__stack+0x4117>
    4cb2:       7c 7d           andi    r23, 0xDC       ; 220
    4cb4:       f3 7a           andi    r31, 0xA3       ; 163
    4cb6:       cc 72           andi    r28, 0x2C       ; 44
    4cb8:       27 36           cpi     r18, 0x67       ; 103
    4cba:       ff da           rcall   .-2562          ; 0x42ba <__stack+0x31bb>
    4cbc:       a4 6c           ori     r26, 0xC4       ; 196
    4cbe:       b9 d8           rcall   .-3726          ; 0x3e32 <__stack+0x2d33>
    4cc0:       ff 8d           ldd     r31, Y+31       ; 0x1f
    4cc2:       5e 15           cp      r21, r14
    4cc4:       80 eb           ldi     r24, 0xB0       ; 176
    4cc6:       2e 9f           mul     r18, r30
    4cc8:       08 a2           std     Y+32, r0        ; 0x20
    4cca:       c2 c5           rjmp    .+2948          ; 0x5850 <__stack+0x4751>
    4ccc:       b2 10           cpse    r11, r2
    4cce:       ed d0           rcall   .+474           ; 0x4eaa <__stack+0x3dab>
    4cd0:       d0 fa           bst     r13, 0
    4cd2:       eb c7           rjmp    .+4054          ; 0x5caa <__stack+0x4bab>
    4cd4:       20 d4           rcall   .+2112          ; 0x5516 <__stack+0x4417>
    4cd6:       3a 10           cpse    r3, r10
    4cd8:       f7 7a           andi    r31, 0xA7       ; 167
    4cda:       4a 02           muls    r20, r26
    4cdc:       8f eb           ldi     r24, 0xBF       ; 191
    4cde:       d3 d8           rcall   .-3674          ; 0x3e86 <__stack+0x2d87>
    4ce0:       73 38           cpi     r23, 0x83       ; 131
    4ce2:       24 34           cpi     r18, 0x44       ; 68
    4ce4:       e1 0e           add     r14, r17
    4ce6:       c3 05           cpc     r28, r3
    4ce8:       a9 34           cpi     r26, 0x49       ; 73
    4cea:       c1 d3           rcall   .+1922          ; 0x546e <__stack+0x436f>
    4cec:       9a b4           in      r9, 0x2a        ; 42
    4cee:       30 a8           ldd     r3, Z+48        ; 0x30
    4cf0:       ff e0           ldi     r31, 0x0F       ; 15
    4cf2:       bc 20           and     r11, r12
    4cf4:       c5 81           ldd     r28, Z+5        ; 0x05
    4cf6:       ed ac           ldd     r14, Y+61       ; 0x3d
    4cf8:       a2 16           cp      r10, r18
    4cfa:       f8 3f           cpi     r31, 0xF8       ; 248
    4cfc:       5d bb           out     0x1d, r21       ; 29
    4cfe:       91 40           sbci    r25, 0x01       ; 1
    4d00:       04 82           std     Z+4, r0 ; 0x04
    4d02:       b7 04           cpc     r11, r7
    4d04:       df e8           ldi     r29, 0x8F       ; 143
    4d06:       cc e6           ldi     r28, 0x6C       ; 108
    4d08:       f2 a2           std     Z+34, r15       ; 0x22
    4d0a:       6d 3a           cpi     r22, 0xAD       ; 173
    4d0c:       20 40           sbci    r18, 0x00       ; 0
    4d0e:       49 a3           std     Y+33, r20       ; 0x21
    4d10:       cb 81           ldd     r28, Y+3        ; 0x03
    4d12:       4b b4           in      r4, 0x2b        ; 43
    4d14:       02 93           st      -Z, r16
    4d16:       cc fc           .word   0xfccc  ; ????
    4d18:       df 04           cpc     r13, r15
    4d1a:       33 c7           rjmp    .+3686          ; 0x5b82 <__stack+0x4a83>
    4d1c:       24 bd           out     0x24, r18       ; 36
    4d1e:       4c 4e           sbci    r20, 0xEC       ; 236
    4d20:       f3 41           sbci    r31, 0x13       ; 19
    4d22:       09 80           ldd     r0, Y+1 ; 0x01
    4d24:       52 fe           sbrs    r5, 2
    4d26:       b3 0c           add     r11, r3
    4d28:       40 f4           brcc    .+16            ; 0x4d3a <__stack+0x3c3b>
    4d2a:       26 ee           ldi     r18, 0xE6       ; 230
    4d2c:       e9 0d           add     r30, r9
    4d2e:       e5 65           ori     r30, 0x55       ; 85
    4d30:       18 a8           ldd     r1, Y+48        ; 0x30
    4d32:       b3 17           cp      r27, r19
    4d34:       a3 9d           mul     r26, r3
    4d36:       18 a7           std     Y+40, r17       ; 0x28
    4d38:       c0 0c           add     r12, r0
    4d3a:       98 0a           sbc     r9, r24
    4d3c:       e9 da           rcall   .-2606          ; 0x4310 <__stack+0x3211>
    4d3e:       50 28           or      r5, r0
    4d40:       f0 05           cpc     r31, r0
    4d42:       f9 01           movw    r30, r18
    4d44:       10 14           cp      r1, r0
    4d46:       06 d0           rcall   .+12            ; 0x4d54 <__stack+0x3c55>
    4d48:       d5 e3           ldi     r29, 0x35       ; 53
    4d4a:       0a 05           cpc     r16, r10
    4d4c:       0c 44           sbci    r16, 0x4C       ; 76
    4d4e:       10 fe           sbrs    r1, 0
    4d50:       08 fd           .word   0xfd08  ; ????
    4d52:       40 80           ld      r4, Z
    4d54:       12 00           .word   0x0012  ; ????
    4d56:       83 4d           sbci    r24, 0xD3       ; 211
    4d58:       dc 97           sbiw    r26, 0x3c       ; 60
    4d5a:       03 ff           sbrs    r16, 3
    4d5c:       b9 cc           rjmp    .-1678          ; 0x46d0 <__stack+0x35d1>
    4d5e:       20 04           cpc     r2, r0
    4d60:       8a 10           cpse    r8, r10
    4d62:       8c 6d           ori     r24, 0xDC       ; 220
    4d64:       2a 76           andi    r18, 0x6A       ; 106
    4d66:       92 05           cpc     r25, r2
    4d68:       20 0c           add     r2, r0
    4d6a:       57 6e           ori     r21, 0xE7       ; 231
    4d6c:       eb 02           muls    r30, r27
    4d6e:       51 ae           std     Z+57, r5        ; 0x39
    4d70:       a8 6a           ori     r26, 0xA8       ; 168
    4d72:       38 f5           brcc    .+78            ; 0x4dc2 <__stack+0x3cc3>
    4d74:       41 f0           breq    .+16            ; 0x4d86 <__stack+0x3c87>
    4d76:       0a 7f           andi    r16, 0xFA       ; 250
    4d78:       c3 20           and     r12, r3
    4d7a:       01 5a           subi    r16, 0xA1       ; 161
    4d7c:       02 f9           bld     r16, 2
    4d7e:       61 40           sbci    r22, 0x01       ; 1
    4d80:       0d 03           fmul    r16, r21
    4d82:       8e ef           ldi     r24, 0xFE       ; 254
    4d84:       91 28           or      r9, r1
    4d86:       98 37           cpi     r25, 0x78       ; 120
    4d88:       50 60           ori     r21, 0x00       ; 0
    4d8a:       6a fc           .word   0xfc6a  ; ????
    4d8c:       80 cf           rjmp    .-256           ; 0x4c8e <__stack+0x3b8f>
    4d8e:       dd 4c           sbci    r29, 0xCD       ; 205
    4d90:       08 9f           mul     r16, r24
    4d92:       f6 08           sbc     r15, r6
    4d94:       5f 17           cp      r21, r31
    4d96:       64 d2           rcall   .+1224          ; 0x5260 <__stack+0x4161>
    4d98:       ec e6           ldi     r30, 0x6C       ; 108
    4d9a:       82 9a           sbi     0x10, 2 ; 16
    4d9c:       f7 01           movw    r30, r14
    4d9e:       22 5b           subi    r18, 0xB2       ; 178
    4da0:       4e 40           sbci    r20, 0x0E       ; 14
    4da2:       2d e9           ldi     r18, 0x9D       ; 157
    4da4:       fb b3           in      r31, 0x1b       ; 27
    4da6:       32 40           sbci    r19, 0x02       ; 2
    4da8:       6b b1           in      r22, 0x0b       ; 11
    4daa:       79 e8           ldi     r23, 0x89       ; 137
    4dac:       02 6a           ori     r16, 0xA2       ; 162
    4dae:       ff 4d           sbci    r31, 0xDF       ; 223
    4db0:       2d 01           movw    r4, r26
    4db2:       3c 08           sbc     r3, r12
    4db4:       9e 9f           mul     r25, r30
    4db6:       25 bb           out     0x15, r18       ; 21
    4db8:       e0 ff           sbrs    r30, 0
    4dba:       cc c3           rjmp    .+1944          ; 0x5554 <__stack+0x4455>
    4dbc:       10 01           movw    r2, r0
    4dbe:       6d e2           ldi     r22, 0x2D       ; 45
    4dc0:       f9 79           andi    r31, 0x99       ; 153
    4dc2:       4a f3           brmi    .-46            ; 0x4d96 <__stack+0x3c97>
    4dc4:       c5 40           sbci    r28, 0x05       ; 5
    4dc6:       e4 ff           sbrs    r30, 4
    4dc8:       63 3a           cpi     r22, 0xA3       ; 163
    4dca:       b0 b1           in      r27, 0x00       ; 0
    4dcc:       04 5d           subi    r16, 0xD4       ; 212
    4dce:       b1 94           neg     r11
    4dd0:       56 f0           brts    .+20            ; 0x4de6 <__stack+0x3ce7>
    4dd2:       fc ff           .word   0xfffc  ; ????
    4dd4:       c5 3a           cpi     r28, 0xA5       ; 165
    4dd6:       6b c5           rjmp    .+2774          ; 0x58ae <__stack+0x47af>
    4dd8:       40 b9           out     0x00, r20       ; 0
    4dda:       59 44           sbci    r21, 0x49       ; 73
    4ddc:       e7 94           ror     r14
    4dde:       ed 63           ori     r30, 0x3D       ; 61
    4de0:       a3 48           sbci    r26, 0x83       ; 131
    4de2:       b0 fb           bst     r27, 0
    4de4:       62 bd           out     0x22, r22       ; 34
    4de6:       30 b5           in      r19, 0x20       ; 32
    4de8:       05 6c           ori     r16, 0xC5       ; 197
    4dea:       29 20           and     r2, r9
    4dec:       80 4b           sbci    r24, 0xB0       ; 176
    4dee:       ef c2           rjmp    .+1502          ; 0x53ce <__stack+0x42cf>
    4df0:       59 e3           ldi     r21, 0x39       ; 57
    4df2:       40 cd           rjmp    .-1408          ; 0x4874 <__stack+0x3775>
    4df4:       2e 30           cpi     r18, 0x0E       ; 14
    4df6:       fa a9           ldd     r31, Y+50       ; 0x32
    4df8:       58 ae           std     Y+56, r5        ; 0x38
    4dfa:       58 77           andi    r21, 0x78       ; 120
    4dfc:       73 b3           in      r23, 0x13       ; 19
    4dfe:       49 dd           rcall   .-1390          ; 0x4892 <__stack+0x3793>
    4e00:       18 b6           in      r1, 0x38        ; 56
    4e02:       fc 5a           subi    r31, 0xAC       ; 172
    4e04:       0f 40           sbci    r16, 0x0F       ; 15
    4e06:       2c 92           st      X, r2
    4e08:       04 78           andi    r16, 0x84       ; 132
    4e0a:       cd cd           rjmp    .-1126          ; 0x49a6 <__stack+0x38a7>
    4e0c:       fd ca           rjmp    .-2566          ; 0x4408 <__stack+0x3309>
    4e0e:       40 fe           sbrs    r4, 0
    4e10:       48 45           sbci    r20, 0x58       ; 88
    4e12:       fe fd           .word   0xfdfe  ; ????
    4e14:       49 88           ldd     r4, Y+17        ; 0x11
    4e16:       fd c6           rjmp    .+3578          ; 0x5c12 <__stack+0x4b13>
    4e18:       3d 14           cp      r3, r13
    4e1a:       19 7b           andi    r17, 0xB9       ; 185
    4e1c:       ea 0c           add     r14, r10
    4e1e:       20 36           cpi     r18, 0x60       ; 96
    4e20:       b0 6c           ori     r27, 0xC0       ; 192
    4e22:       f7 58           subi    r31, 0x87       ; 135
    4e24:       fe 21           and     r31, r14
    4e26:       cb d7           rcall   .+3990          ; 0x5dbe <__stack+0x4cbf>
    4e28:       56 c4           rjmp    .+2220          ; 0x56d6 <__stack+0x45d7>
    4e2a:       01 80           ldd     r0, Z+1 ; 0x01
    4e2c:       cc 33           cpi     r28, 0x3C       ; 60
    4e2e:       8b b6           in      r8, 0x3b        ; 59
    4e30:       df ba           out     0x1f, r13       ; 31
    4e32:       64 c6           rjmp    .+3272          ; 0x5afc <__stack+0x49fd>
    4e34:       37 c0           rjmp    .+110           ; 0x4ea4 <__stack+0x3da5>
    4e36:       40 65           ori     r20, 0x50       ; 80
    4e38:       fd a1           ldd     r31, Y+37       ; 0x25
    4e3a:       19 b6           in      r1, 0x39        ; 57
    4e3c:       1d 24           eor     r1, r13
    4e3e:       6a 15           cp      r22, r10
    4e40:       6f d1           rcall   .+734           ; 0x5120 <__stack+0x4021>
    4e42:       12 9e           mul     r1, r18
    4e44:       a2 d8           rcall   .-3772          ; 0x3f8a <__stack+0x2e8b>
    4e46:       18 fb           .word   0xfb18  ; ????
    4e48:       a6 ec           ldi     r26, 0xC6       ; 198
    4e4a:       5d 01           movw    r10, r26
    4e4c:       9f 35           cpi     r25, 0x5F       ; 95
    4e4e:       9b f4           brvc    .+38            ; 0x4e76 <__stack+0x3d77>
    4e50:       63 01           movw    r12, r6
    4e52:       b1 9a           sbi     0x16, 1 ; 22
    4e54:       ed d9           rcall   .-3110          ; 0x4230 <__stack+0x3131>
    4e56:       3a f8           .word   0xf83a  ; ????
    4e58:       9e 7e           andi    r25, 0xEE       ; 238
    4e5a:       67 e6           ldi     r22, 0x67       ; 103
    4e5c:       06 10           cpse    r0, r6
    4e5e:       f3 da           rcall   .-2586          ; 0x4446 <__stack+0x3347>
    4e60:       fa be           out     0x3a, r15       ; 58
    4e62:       d4 49           sbci    r29, 0x94       ; 148
    4e64:       fe 16           cp      r15, r30
    4e66:       aa 49           sbci    r26, 0x9A       ; 154
    4e68:       23 ed           ldi     r18, 0xD3       ; 211
    4e6a:       2e 70           andi    r18, 0x0E       ; 14
    4e6c:       fc 87           std     Y+12, r31       ; 0x0c
    4e6e:       f9 38           cpi     r31, 0x89       ; 137
    4e70:       78 7f           andi    r23, 0xF8       ; 248
    4e72:       77 fe           sbrs    r7, 7
    4e74:       69 fe           .word   0xfe69  ; ????
    4e76:       13 0c           add     r1, r3
    4e78:       d6 ff           sbrs    r29, 6
    4e7a:       0c df           rcall   .-488           ; 0x4c94 <__stack+0x3b95>
    4e7c:       63 6e           ori     r22, 0xE3       ; 227
    4e7e:       60 4d           sbci    r22, 0xD0       ; 208
    4e80:       51 30           cpi     r21, 0x01       ; 1
    4e82:       ff b7           in      r31, 0x3f       ; 63
    4e84:       ec 92           st      X, r14
    4e86:       10 c5           rjmp    .+2592          ; 0x58a8 <__stack+0x47a9>
    4e88:       01 02           muls    r16, r17
    4e8a:       8b 6e           ori     r24, 0xEB       ; 235
    4e8c:       5c 09           sbc     r21, r12
    4e8e:       cf fa           .word   0xfacf  ; ????
    4e90:       13 e3           ldi     r17, 0x33       ; 51
    4e92:       6e 5f           subi    r22, 0xFE       ; 254
    4e94:       da 7e           andi    r29, 0xEA       ; 234
    4e96:       f8 a0           ldd     r15, Y+32       ; 0x20
    4e98:       ed 18           sub     r14, r13
    4e9a:       30 41           sbci    r19, 0x10       ; 16
    4e9c:       5b ff           .word   0xff5b  ; ????
    4e9e:       fe 19           sub     r31, r14
    4ea0:       8e 7f           andi    r24, 0xFE       ; 254
    4ea2:       b0 b1           in      r27, 0x00       ; 0
    4ea4:       c0 9f           mul     r28, r16
    4ea6:       b3 4d           sbci    r27, 0xD3       ; 211
    4ea8:       d7 ee           ldi     r29, 0xE7       ; 231
    4eaa:       d0 2e           mov     r13, r16
    4eac:       09 02           muls    r16, r25
    4eae:       36 22           and     r3, r22
    4eb0:       58 19           sub     r21, r8
    4eb2:       42 4f           sbci    r20, 0xF2       ; 242
    4eb4:       f6 94           lsr     r15
    4eb6:       7f 2e           mov     r7, r31
    4eb8:       9e 40           sbci    r25, 0x0E       ; 14
    4eba:       32 fb           bst     r19, 2
    4ebc:       d6 19           sub     r29, r6
    4ebe:       40 67           ori     r20, 0x70       ; 112
    4ec0:       f6 46           sbci    r31, 0x66       ; 102
    4ec2:       03 02           muls    r16, r19
    4ec4:       2c b3           in      r18, 0x1c       ; 28
    4ec6:       b1 06           cpc     r11, r17
    4ec8:       0e 5a           subi    r16, 0xAE       ; 174
    4eca:       51 a3           std     Z+33, r21       ; 0x21
    4ecc:       ff 6f           ori     r31, 0xFF       ; 255
    4ece:       70 ff           sbrs    r23, 0
    4ed0:       62 6d           ori     r22, 0xD2       ; 210
    4ed2:       dc c0           rjmp    .+440           ; 0x508c <__stack+0x3f8d>
    4ed4:       03 8c           ldd     r0, Z+27        ; 0x1b
    4ed6:       7d 39           cpi     r23, 0x9D       ; 157
    4ed8:       9e a2           std     Y+38, r9        ; 0x26
    4eda:       2d d3           rcall   .+1626          ; 0x5536 <__stack+0x4437>
    4edc:       5b 50           subi    r21, 0x0B       ; 11
    4ede:       38 f8           .word   0xf838  ; ????
    4ee0:       14 16           cp      r1, r20
    4ee2:       cc e0           ldi     r28, 0x0C       ; 12
    4ee4:       13 b6           in      r1, 0x33        ; 51
    4ee6:       ff 18           sub     r15, r15
    4ee8:       10 cd           rjmp    .-1504          ; 0x490a <__stack+0x380b>
    4eea:       d3 08           sbc     r13, r3
    4eec:       fe b2           in      r15, 0x1e       ; 30
    4eee:       53 08           sbc     r5, r3
    4ef0:       c2 46           sbci    r28, 0x62       ; 98
    4ef2:       b3 20           and     r11, r3
    4ef4:       0a c4           rjmp    .+2068          ; 0x570a <__stack+0x460b>
    4ef6:       c5 86           std     Z+13, r12       ; 0x0d
    4ef8:       4f fb           .word   0xfb4f  ; ????
    4efa:       96 b1           in      r25, 0x06       ; 6
    4efc:       10 1f           adc     r17, r16
    4efe:       16 98           cbi     0x02, 6 ; 2
    4f00:       f3 2b           or      r31, r19
    4f02:       cb 8c           ldd     r12, Y+27       ; 0x1b
    4f04:       08 37           cpi     r16, 0x78       ; 120
    4f06:       d6 98           cbi     0x1a, 6 ; 26
    4f08:       06 5f           subi    r16, 0xF6       ; 246
    4f0a:       b6 98           cbi     0x16, 6 ; 22
    4f0c:       10 f9           bld     r17, 0
    4f0e:       ab d5           rcall   .+2902          ; 0x5a66 <__stack+0x4967>
    4f10:       18 2c           mov     r1, r8
    4f12:       46 c5           rjmp    .+2700          ; 0x59a0 <__stack+0x48a1>
    4f14:       bf d6           rcall   .+3454          ; 0x5c94 <__stack+0x4b95>
    4f16:       06 63           ori     r16, 0x36       ; 54
    4f18:       6d 0f           add     r22, r29
    4f1a:       78 fd           .word   0xfd78  ; ????
    4f1c:       aa d6           rcall   .+3412          ; 0x5c72 <__stack+0x4b73>
    4f1e:       04 cb           rjmp    .-2552          ; 0x4528 <__stack+0x3429>
    4f20:       31 8f           std     Z+25, r19       ; 0x19
    4f22:       6e d8           rcall   .-3876          ; 0x4000 <__stack+0x2f01>
    4f24:       5b 04           cpc     r5, r11
    4f26:       92 9c           mul     r9, r2
    4f28:       c0 db           rcall   .-2176          ; 0x46aa <__stack+0x35ab>
    4f2a:       db 98           cbi     0x1b, 3 ; 27
    4f2c:       d0 ff           sbrs    r29, 0
    4f2e:       55 8b           std     Z+21, r21       ; 0x15
    4f30:       82 95           swap    r24
    4f32:       fb cc           rjmp    .-1546          ; 0x492a <__stack+0x382b>
    4f34:       42 18           sub     r4, r2
    4f36:       dd 43           sbci    r29, 0x3D       ; 61
    4f38:       80 88           ldd     r8, Z+16        ; 0x10
    4f3a:       7a 4b           sbci    r23, 0xBA       ; 186
    4f3c:       40 db           rcall   .-2432          ; 0x45be <__stack+0x34bf>
    4f3e:       99 04           cpc     r9, r9
    4f40:       a3 fe           sbrs    r10, 3
    4f42:       c8 bd           out     0x28, r28       ; 40
    4f44:       b0 f6           brcc    .-84            ; 0x4ef2 <__stack+0x3df3>
    4f46:       05 65           ori     r16, 0x55       ; 85
    4f48:       2c ce           rjmp    .-936           ; 0x4ba2 <__stack+0x3aa3>
    4f4a:       10 61           ori     r17, 0x10       ; 16
    4f4c:       34 41           sbci    r19, 0x14       ; 20
    4f4e:       64 9e           mul     r6, r20
    4f50:       f4 c6           rjmp    .+3560          ; 0x5d3a <__stack+0x4c3b>
    4f52:       ed 18           sub     r14, r13
    4f54:       05 83           std     Z+5, r16        ; 0x05
    4f56:       55 5c           subi    r21, 0xC5       ; 197
    4f58:       39 eb           ldi     r19, 0xB9       ; 185
    4f5a:       98 3c           cpi     r25, 0xC8       ; 200
    4f5c:       3c 26           eor     r3, r28
    4f5e:       8c f3           brlt    .-30            ; 0x4f42 <__stack+0x3e43>
    4f60:       23 f3           brvs    .-56            ; 0x4f2a <__stack+0x3e2b>
    4f62:       98 d6           rcall   .+3376          ; 0x5c94 <__stack+0x4b95>
    4f64:       c6 1e           adc     r12, r22
    4f66:       fe 98           cbi     0x1f, 6 ; 31
    4f68:       cd a0           ldd     r12, Y+37       ; 0x25
    4f6a:       fd 21           and     r31, r13
    4f6c:       30 af           std     Z+56, r19       ; 0x38
    4f6e:       d8 e9           ldi     r29, 0x98       ; 152
    4f70:       60 ff           sbrs    r22, 0
    4f72:       b3 30           cpi     r27, 0x03       ; 3
    4f74:       3d b8           out     0x0d, r3        ; 13
    4f76:       13 cb           rjmp    .-2522          ; 0x459e <__stack+0x349f>
    4f78:       fc 10           cpse    r15, r12
    4f7a:       ed 27           eor     r30, r29
    4f7c:       6c 0f           add     r22, r28
    4f7e:       53 e0           ldi     r21, 0x03       ; 3
    4f80:       97 5b           subi    r25, 0xB7       ; 183
    4f82:       0a e7           ldi     r16, 0x7A       ; 122
    4f84:       65 a0           ldd     r6, Z+37        ; 0x25
    4f86:       40 67           ori     r20, 0x70       ; 112
    4f88:       ad b3           in      r26, 0x1d       ; 29
    4f8a:       11 bd           out     0x21, r17       ; 33
    4f8c:       98 20           and     r9, r8
    4f8e:       b6 ff           sbrs    r27, 6
    4f90:       e3 6a           ori     r30, 0xA3       ; 163
    4f92:       2b ac           ldd     r2, Y+59        ; 0x3b
    4f94:       3f ce           rjmp    .-898           ; 0x4c14 <__stack+0x3b15>
    4f96:       b1 67           ori     r27, 0x71       ; 113
    4f98:       b3 99           sbic    0x16, 3 ; 22
    4f9a:       fe 45           sbci    r31, 0x5E       ; 94
    4f9c:       d5 19           sub     r29, r5
    4f9e:       48 b6           in      r4, 0x38        ; 56
    4fa0:       fc fd           .word   0xfdfc  ; ????
    4fa2:       03 10           cpse    r0, r3
    4fa4:       8f e5           ldi     r24, 0x5F       ; 95
    4fa6:       d7 8f           std     Z+31, r29       ; 0x1f
    4fa8:       ff f4           brid    .+62            ; 0x4fe8 <__stack+0x3ee9>
    4faa:       08 ff           .word   0xff08  ; ????
    4fac:       61 a6           std     Z+41, r6        ; 0x29
    4fae:       d9 50           subi    r29, 0x09       ; 9
    4fb0:       e7 e9           ldi     r30, 0x97       ; 151
    4fb2:       3b 33           cpi     r19, 0x3B       ; 59
    4fb4:       f0 fb           bst     r31, 0
    4fb6:       08 6e           ori     r16, 0xE8       ; 232
    4fb8:       31 b7           in      r19, 0x31       ; 49
    4fba:       a5 33           cpi     r26, 0x35       ; 53
    4fbc:       12 aa           std     Z+50, r1        ; 0x32
    4fbe:       f8 09           sbc     r31, r8
    4fc0:       b8 42           sbci    r27, 0x28       ; 40
    4fc2:       c4 f6           brge    .-80            ; 0x4f74 <__stack+0x3e75>
    4fc4:       d1 ff           sbrs    r29, 1
    4fc6:       6c 82           std     Y+4, r6 ; 0x04
    4fc8:       58 fb           .word   0xfb58  ; ????
    4fca:       4b bb           out     0x1b, r20       ; 27
    4fcc:       17 18           sub     r1, r7
    4fce:       09 0a           sbc     r0, r25
    4fd0:       51 54           subi    r21, 0x41       ; 65
    4fd2:       10 db           rcall   .-2528          ; 0x45f4 <__stack+0x34f5>
    4fd4:       36 4f           sbci    r19, 0xF6       ; 246
    4fd6:       10 fa           bst     r1, 0
    4fd8:       de a5           ldd     r29, Y+46       ; 0x2e
    4fda:       61 2f           mov     r22, r17
    4fdc:       6f b1           in      r22, 0x0f       ; 15
    4fde:       0c 33           cpi     r16, 0x3C       ; 60
    4fe0:       f5 cf           rjmp    .-22            ; 0x4fcc <__stack+0x3ecd>
    4fe2:       d3 fe           sbrs    r13, 3
    4fe4:       7f 98           cbi     0x0f, 7 ; 15
    4fe6:       fc c6           rjmp    .+3576          ; 0x5de0 <__stack+0x4ce1>
    4fe8:       3a c6           rjmp    .+3188          ; 0x5c5e <__stack+0x4b5f>
    4fea:       c4 7e           andi    r28, 0xE4       ; 228
    4fec:       21 6c           ori     r18, 0xC1       ; 193
    4fee:       cc 30           cpi     r28, 0x0C       ; 12
    4ff0:       65 da           rcall   .-2870          ; 0x44bc <__stack+0x33bd>
    4ff2:       c8 b1           in      r28, 0x08       ; 8
    4ff4:       fb 3f           cpi     r31, 0xFB       ; 251
    4ff6:       d8 d9           rcall   .-3152          ; 0x43a8 <__stack+0x32a9>
    4ff8:       05 b8           out     0x05, r0        ; 5
    4ffa:       b3 0b           sbc     r27, r19
    4ffc:       12 3d           cpi     r17, 0xD2       ; 210
    4ffe:       bc 11           cpse    r27, r12
    5000:       6c 19           sub     r22, r12
    5002:       b6 20           and     r11, r6
    5004:       dc e3           ldi     r29, 0x3C       ; 60
    5006:       1a 06           cpc     r1, r26
    5008:       35 c6           rjmp    .+3178          ; 0x5c74 <__stack+0x4b75>
    500a:       30 e6           ldi     r19, 0x60       ; 96
    500c:       19 23           and     r17, r25
    500e:       dd 17           cp      r29, r29
    5010:       42 48           sbci    r20, 0x82       ; 130
    5012:       7a 4b           sbci    r23, 0xBA       ; 186
    5014:       2c 86           std     Y+12, r2        ; 0x0c
    5016:       de 4a           sbci    r29, 0xAE       ; 174
    5018:       fd e3           ldi     r31, 0x3D       ; 61
    501a:       f0 1f           adc     r31, r16
    501c:       e3 30           cpi     r30, 0x03       ; 3
    501e:       73 b3           in      r23, 0x13       ; 19
    5020:       1b de           rcall   .-970           ; 0x4c58 <__stack+0x3b59>
    5022:       1c 48           sbci    r17, 0x8C       ; 140
    5024:       f8 c4           rjmp    .+2544          ; 0x5a16 <__stack+0x4917>
    5026:       f4 7e           andi    r31, 0xE4       ; 228
    5028:       c2 ff           sbrs    r28, 2
    502a:       5f 98           cbi     0x0b, 7 ; 11
    502c:       0f cb           rjmp    .-2530          ; 0x464c <__stack+0x354d>
    502e:       bb f8           .word   0xf8bb  ; ????
    5030:       7f b1           in      r23, 0x0f       ; 15
    5032:       62 9e           mul     r6, r18
    5034:       37 30           cpi     r19, 0x07       ; 7
    5036:       56 6e           ori     r21, 0xE6       ; 230
    5038:       02 d8           rcall   .-4092          ; 0x403e <__stack+0x2f3f>
    503a:       49 9f           mul     r20, r25
    503c:       f7 cc           rjmp    .-1554          ; 0x4a2c <__stack+0x392d>
    503e:       81 02           muls    r24, r17
    5040:       76 a7           std     Z+46, r23       ; 0x2e
    5042:       fa c4           rjmp    .+2548          ; 0x5a38 <__stack+0x4939>
    5044:       b9 0b           sbc     r27, r25
    5046:       98 62           ori     r25, 0x28       ; 40
    5048:       ff cc           rjmp    .-1538          ; 0x4a48 <__stack+0x3949>
    504a:       62 5f           subi    r22, 0xF2       ; 242
    504c:       32 ed           ldi     r19, 0xD2       ; 210
    504e:       05 08           sbc     r0, r5
    5050:       01 56           subi    r16, 0x61       ; 97
    5052:       4f fa           .word   0xfa4f  ; ????
    5054:       25 db           rcall   .-2486          ; 0x46a0 <__stack+0x35a1>
    5056:       24 1e           adc     r2, r20
    5058:       7d b5           in      r23, 0x2d       ; 45
    505a:       da 5b           subi    r29, 0xBA       ; 186
    505c:       f8 54           subi    r31, 0x48       ; 72
    505e:       b6 da           rcall   .-2708          ; 0x45cc <__stack+0x34cd>
    5060:       3c 10           cpse    r3, r12
    5062:       7f ef           ldi     r23, 0xFF       ; 255
    5064:       ec 40           sbci    r30, 0x0C       ; 12
    5066:       fb c9           rjmp    .-3082          ; 0x445e <__stack+0x335f>
    5068:       f3 7b           andi    r31, 0xB3       ; 179
    506a:       04 62           ori     r16, 0x24       ; 36
    506c:       5f 7f           andi    r21, 0xFF       ; 255
    506e:       b3 08           sbc     r11, r3
    5070:       fc ec           ldi     r31, 0xCC       ; 204
    5072:       d4 5e           subi    r29, 0xE4       ; 228
    5074:       c4 96           adiw    r24, 0x34       ; 52
    5076:       66 10           cpse    r6, r6
    5078:       dc 7d           andi    r29, 0xDC       ; 220
    507a:       d8 79           andi    r29, 0x98       ; 152
    507c:       fc 97           sbiw    r30, 0x3c       ; 60
    507e:       ec 3f           cpi     r30, 0xFC       ; 252
    5080:       58 ef           ldi     r21, 0xF8       ; 248
    5082:       6d 9f           mul     r22, r29
    5084:       04 01           movw    r0, r8
    5086:       8c f1           brlt    .+98            ; 0x50ea <__stack+0x3feb>
    5088:       fe 92           st      -X, r15
    508a:       64 b4           in      r6, 0x24        ; 36
    508c:       69 d9           rcall   .-3374          ; 0x4360 <__stack+0x3261>
    508e:       c9 fd           .word   0xfdc9  ; ????
    5090:       b3 10           cpse    r11, r3
    5092:       fd 98           cbi     0x1f, 5 ; 31
    5094:       c0 80           ld      r12, Z
    5096:       88 ce           rjmp    .-752           ; 0x4da8 <__stack+0x3ca9>
    5098:       5b 19           sub     r21, r11
    509a:       50 7d           andi    r21, 0xD0       ; 208
    509c:       c4 b7           in      r28, 0x34       ; 52
    509e:       ec a4           ldd     r14, Y+44       ; 0x2c
    50a0:       60 9f           mul     r22, r16
    50a2:       5d 2f           mov     r21, r29
    50a4:       41 e7           ldi     r20, 0x71       ; 113
    50a6:       50 36           cpi     r21, 0x60       ; 96
    50a8:       34 98           cbi     0x06, 4 ; 6
    50aa:       fa 78           andi    r31, 0x8A       ; 138
    50ac:       4a bc           out     0x2a, r4        ; 42
    50ae:       b3 28           or      r11, r3
    50b0:       cb 6c           ori     r28, 0xCB       ; 203
    50b2:       66 10           cpse    r6, r6
    50b4:       01 67           ori     r16, 0x71       ; 113
    50b6:       8d 30           cpi     r24, 0x0D       ; 13
    50b8:       d6 eb           ldi     r29, 0xB6       ; 182
    50ba:       68 22           and     r6, r24
    50bc:       19 a3           std     Y+33, r17       ; 0x21
    50be:       f0 b0           in      r15, 0x00       ; 0
    50c0:       16 eb           ldi     r17, 0xB6       ; 182
    50c2:       b1 6c           ori     r27, 0xC1       ; 193
    50c4:       b3 d5           rcall   .+2918          ; 0x5c2c <__stack+0x4b2d>
    50c6:       3d 4b           sbci    r19, 0xBD       ; 189
    50c8:       01 68           ori     r16, 0x81       ; 129
    50ca:       16 ed           ldi     r17, 0xD6       ; 214
    50cc:       78 f9           .word   0xf978  ; ????
    50ce:       0c 56           subi    r16, 0x6C       ; 108
    50d0:       b3 10           cpse    r11, r3
    50d2:       49 66           ori     r20, 0x69       ; 105
    50d4:       8c 18           sub     r8, r12
    50d6:       ff 97           sbiw    r30, 0x3f       ; 63
    50d8:       ad 98           cbi     0x15, 5 ; 21
    50da:       20 9b           sbis    0x04, 0 ; 4
    50dc:       37 d2           rcall   .+1134          ; 0x554c <__stack+0x444d>
    50de:       f9 3f           cpi     r31, 0xF9       ; 249
    50e0:       ef 32           cpi     r30, 0x2F       ; 47
    50e2:       6c 48           sbci    r22, 0x8C       ; 140
    50e4:       0b 04           cpc     r0, r11
    50e6:       b5 6d           ori     r27, 0xD5       ; 213
    50e8:       20 a8           ldd     r2, Z+48        ; 0x30
    50ea:       19 da           rcall   .-3022          ; 0x451e <__stack+0x341f>
    50ec:       7f b0           in      r7, 0x0f        ; 15
    50ee:       2c 8b           std     Y+20, r18       ; 0x14
    50f0:       23 9c           mul     r2, r3
    50f2:       df 9b           sbis    0x1b, 7 ; 27
    50f4:       08 f7           brcc    .-62            ; 0x50b8 <__stack+0x3fb9>
    50f6:       32 e9           ldi     r19, 0x92       ; 146
    50f8:       15 88           ldd     r1, Z+21        ; 0x15
    50fa:       7b 98           cbi     0x0f, 3 ; 15
    50fc:       30 40           sbci    r19, 0x00       ; 0
    50fe:       36 63           ori     r19, 0x36       ; 54
    5100:       03 ab           std     Z+51, r16       ; 0x33
    5102:       d7 02           muls    r29, r23
    5104:       63 f8           bld     r6, 3
    5106:       2f 29           or      r18, r15
    5108:       d5 e0           ldi     r29, 0x05       ; 5
    510a:       01 66           ori     r16, 0x61       ; 97
    510c:       7a 98           cbi     0x0f, 2 ; 15
    510e:       0f e7           ldi     r16, 0x7F       ; 127
    5110:       df 58           subi    r29, 0x8F       ; 143
    5112:       fa 08           sbc     r15, r10
    5114:       62 dd           rcall   .-1340          ; 0x4bda <__stack+0x3adb>
    5116:       44 63           ori     r20, 0x34       ; 52
    5118:       f9 d5           rcall   .+3058          ; 0x5d0c <__stack+0x4c0d>
    511a:       67 f7           brid    .-40            ; 0x50f4 <__stack+0x3ff5>
    511c:       4d 39           cpi     r20, 0x9D       ; 157
    511e:       f9 b1           in      r31, 0x09       ; 9
    5120:       10 2e           mov     r1, r16
    5122:       6c d7           rcall   .+3800          ; 0x5ffc <__stack+0x4efd>
    5124:       40 03           mulsu   r20, r16
    5126:       cf 59           subi    r28, 0x9F       ; 159
    5128:       53 80           ldd     r5, Z+3 ; 0x03
    512a:       0b 2b           or      r16, r27
    512c:       40 39           cpi     r20, 0x90       ; 144
    512e:       b3 08           sbc     r11, r3
    5130:       bc 02           muls    r27, r28
    5132:       19 c9           rjmp    .-3534          ; 0x4366 <__stack+0x3267>
    5134:       f5 e5           ldi     r31, 0x55       ; 85
    5136:       88 97           sbiw    r24, 0x28       ; 40
    5138:       c9 30           cpi     r28, 0x09       ; 9
    513a:       1a bc           out     0x2a, r1        ; 42
    513c:       62 eb           ldi     r22, 0xB2       ; 178
    513e:       b3 20           and     r11, r3
    5140:       3f 36           cpi     r19, 0x6F       ; 111
    5142:       c8 40           sbci    r28, 0x08       ; 8
    5144:       de 98           cbi     0x1b, 6 ; 27
    5146:       d8 84           ldd     r13, Y+8        ; 0x08
    5148:       fb 93           .word   0x93fb  ; ????
    514a:       34 18           sub     r3, r4
    514c:       04 67           ori     r16, 0x74       ; 116
    514e:       18 b3           in      r17, 0x18       ; 24
    5150:       45 90           lpm     r4, Z+
    5152:       ab 6d           ori     r26, 0xDB       ; 219
    5154:       50 16           cp      r5, r16
    5156:       b3 30           cpi     r27, 0x03       ; 3
    5158:       63 19           sub     r22, r3
    515a:       10 08           sbc     r1, r0
    515c:       67 7a           andi    r22, 0xA7       ; 167
    515e:       6f 02           muls    r22, r31
    5160:       c6 78           andi    r28, 0x86       ; 134
    5162:       30 be           out     0x30, r3        ; 48
    5164:       32 d1           rcall   .+612           ; 0x53ca <__stack+0x42cb>
    5166:       09 e8           ldi     r16, 0x89       ; 137
    5168:       b5 fc           sbrc    r11, 5
    516a:       6c d1           rcall   .+728           ; 0x5444 <__stack+0x4345>
    516c:       98 04           cpc     r9, r8
    516e:       a3 66           ori     r26, 0x63       ; 99
    5170:       19 33           cpi     r17, 0x39       ; 57
    5172:       78 fd           .word   0xfd78  ; ????
    5174:       98 40           sbci    r25, 0x08       ; 8
    5176:       46 40           sbci    r20, 0x06       ; 6
    5178:       8d 3e           cpi     r24, 0xED       ; 237
    517a:       d9 fa           .word   0xfad9  ; ????
    517c:       a7 ec           ldi     r26, 0xC7       ; 199
    517e:       15 42           sbci    r17, 0x25       ; 37
    5180:       b4 c0           rjmp    .+360           ; 0x52ea <__stack+0x41eb>
    5182:       98 06           cpc     r9, r24
    5184:       2e 19           sub     r18, r14
    5186:       d8 30           cpi     r29, 0x08       ; 8
    5188:       04 86           std     Z+12, r0        ; 0x0c
    518a:       dd e3           ldi     r29, 0x3D       ; 61
    518c:       a7 fc           sbrc    r10, 7
    518e:       9a d3           rcall   .+1844          ; 0x58c4 <__stack+0x47c5>
    5190:       2c b3           in      r18, 0x1c       ; 28
    5192:       f0 de           rcall   .-544           ; 0x4f74 <__stack+0x3e75>
    5194:       58 30           cpi     r21, 0x08       ; 8
    5196:       04 af           std     Z+60, r16       ; 0x3c
    5198:       17 7d           andi    r17, 0xD7       ; 215
    519a:       9b 98           cbi     0x13, 3 ; 19
    519c:       18 f7           brcc    .-58            ; 0x5164 <__stack+0x4065>
    519e:       8f ab           std     Y+55, r24       ; 0x37
    51a0:       98 c8           rjmp    .-3792          ; 0x42d2 <__stack+0x31d3>
    51a2:       ac fe           .word   0xfeac  ; ????
    51a4:       ee bf           out     0x3e, r30       ; 62
    51a6:       be ac           ldd     r11, Y+62       ; 0x3e
    51a8:       a4 c5           rjmp    .+2888          ; 0x5cf2 <__stack+0x4bf3>
    51aa:       6e 40           sbci    r22, 0x0E       ; 14
    51ac:       90 66           ori     r25, 0x60       ; 96
    51ae:       62 1f           adc     r22, r18
    51b0:       80 b6           in      r8, 0x30        ; 48
    51b2:       04 fe           sbrs    r0, 4
    51b4:       b5 f3           brhs    .-20            ; 0x51a2 <__stack+0x40a3>
    51b6:       fb d0           rcall   .+502           ; 0x53ae <__stack+0x42af>
    51b8:       19 ce           rjmp    .-974           ; 0x4dec <__stack+0x3ced>
    51ba:       e3 30           cpi     r30, 0x03       ; 3
    51bc:       16 2f           mov     r17, r22
    51be:       ff 31           cpi     r31, 0x1F       ; 31
    51c0:       98 3f           cpi     r25, 0xF8       ; 248
    51c2:       5a 1e           adc     r5, r26
    51c4:       0c 69           ori     r16, 0x9C       ; 156
    51c6:       62 8d           ldd     r22, Z+26       ; 0x1a
    51c8:       67 c8           rjmp    .-3890          ; 0x4298 <__stack+0x3199>
    51ca:       30 80           ld      r3, Z
    51cc:       b5 04           cpc     r11, r5
    51ce:       37 ef           ldi     r19, 0xF7       ; 247
    51d0:       59 19           sub     r21, r9
    51d2:       04 fc           sbrc    r0, 4
    51d4:       f8 db           rcall   .-2064          ; 0x49c6 <__stack+0x38c7>
    51d6:       82 48           sbci    r24, 0x82       ; 130
    51d8:       7f f9           .word   0xf97f  ; ????
    51da:       50 fe           sbrs    r5, 0
    51dc:       62 5a           subi    r22, 0xA2       ; 162
    51de:       7a b5           in      r23, 0x2a       ; 42
    51e0:       18 5b           subi    r17, 0xB8       ; 184
    51e2:       e2 30           cpi     r30, 0x02       ; 2
    51e4:       98 11           cpse    r25, r8
    51e6:       99 19           sub     r25, r9
    51e8:       9d c9           rjmp    .-3270          ; 0x4524 <__stack+0x3425>
    51ea:       1c b0           in      r1, 0x0c        ; 12
    51ec:       19 6a           ori     r17, 0xA9       ; 169
    51ee:       c0 65           ori     r28, 0x50       ; 80
    51f0:       76 db           rcall   .-2324          ; 0x48de <__stack+0x37df>
    51f2:       06 d5           rcall   .+2572          ; 0x5c00 <__stack+0x4b01>
    51f4:       82 3c           cpi     r24, 0xC2       ; 194
    51f6:       b1 80           ldd     r11, Z+1        ; 0x01
    51f8:       0c ec           ldi     r16, 0xCC       ; 204
    51fa:       82 88           ldd     r8, Z+18        ; 0x12
    51fc:       01 5f           subi    r16, 0xF1       ; 241
    51fe:       b5 37           cpi     r27, 0x75       ; 117
    5200:       60 96           adiw    r28, 0x10       ; 16
    5202:       c8 fe           .word   0xfec8  ; ????
    5204:       0b 67           ori     r16, 0x7B       ; 123
    5206:       ee f3           brts    .-6             ; 0x5202 <__stack+0x4103>
    5208:       34 cf           rjmp    .-408           ; 0x5072 <__stack+0x3f73>
    520a:       e2 32           cpi     r30, 0x22       ; 34
    520c:       31 e5           ldi     r19, 0x51       ; 81
    520e:       0e 5b           subi    r16, 0xBE       ; 190
    5210:       30 90 19 f6     lds     r3, 0xF619
    5214:       7b 96           adiw    r30, 0x1b       ; 27
    5216:       b6 8c           ldd     r11, Z+30       ; 0x1e
    5218:       6d 2a           or      r6, r29
    521a:       10 03           mulsu   r17, r16
    521c:       16 cc           rjmp    .-2004          ; 0x4a4a <__stack+0x394b>
    521e:       11 7e           andi    r17, 0xE1       ; 225
    5220:       4d 1d           adc     r20, r13
    5222:       00 16           cp      r0, r16
    5224:       9c b1           in      r25, 0x0c       ; 12
    5226:       28 d3           rcall   .+1616          ; 0x5878 <__stack+0x4779>
    5228:       af e6           ldi     r26, 0x6F       ; 111
    522a:       eb 50           subi    r30, 0x0B       ; 11
    522c:       f9 ca           rjmp    .-2574          ; 0x4820 <__stack+0x3721>
    522e:       6d 74           andi    r22, 0x4D       ; 77
    5230:       0f 04           cpc     r0, r15
    5232:       96 19           sub     r25, r6
    5234:       03 2d           mov     r16, r3
    5236:       de c4           rjmp    .+2492          ; 0x5bf4 <__stack+0x4af5>
    5238:       0c 88           ldd     r0, Y+20        ; 0x14
    523a:       07 c5           rjmp    .+2574          ; 0x5c4a <__stack+0x4b4b>
    523c:       b2 c8           rjmp    .-3740          ; 0x43a2 <__stack+0x32a3>
    523e:       b7 e3           ldi     r27, 0x37       ; 55
    5240:       04 65           ori     r16, 0x54       ; 84
    5242:       18 d6           rcall   .+3120          ; 0x5e74 <__stack+0x4d75>
    5244:       f7 1b           sub     r31, r23
    5246:       30 99           sbic    0x06, 0 ; 6
    5248:       5a e7           ldi     r21, 0x7A       ; 122
    524a:       9c 36           cpi     r25, 0x6C       ; 108
    524c:       73 38           cpi     r23, 0x83       ; 131
    524e:       fe c6           rjmp    .+3580          ; 0x604c <__stack+0x4f4d>
    5250:       19 53           subi    r17, 0x39       ; 57
    5252:       b3 40           sbci    r27, 0x03       ; 3
    5254:       44 b1           in      r20, 0x04       ; 4
    5256:       03 8f           std     Z+27, r16       ; 0x1b
    5258:       58 98           cbi     0x0b, 0 ; 11
    525a:       06 97           sbiw    r24, 0x06       ; 6
    525c:       6f 17           cp      r22, r31
    525e:       8c 37           cpi     r24, 0x7C       ; 124
    5260:       f7 f5           brid    .+124           ; 0x52de <__stack+0x41df>
    5262:       98 10           cpse    r9, r8
    5264:       e8 57           subi    r30, 0x78       ; 120
    5266:       01 ed           ldi     r16, 0xD1       ; 209
    5268:       fd 98           cbi     0x1f, 5 ; 31
    526a:       01 b2           in      r0, 0x11        ; 17
    526c:       20 7e           andi    r18, 0xE0       ; 224
    526e:       3c cc           rjmp    .-1928          ; 0x4ae8 <__stack+0x39e9>
    5270:       e6 30           cpi     r30, 0x06       ; 6
    5272:       02 40           sbci    r16, 0x02       ; 2
    5274:       c9 f5           brne    .+114           ; 0x52e8 <__stack+0x41e9>
    5276:       d9 42           sbci    r29, 0x29       ; 41
    5278:       af 0e           add     r10, r31
    527a:       30 d3           rcall   .+1632          ; 0x58dc <__stack+0x47dd>
    527c:       50 fa           bst     r5, 0
    527e:       ef b7           in      r30, 0x3f       ; 63
    5280:       be e6           ldi     r27, 0x6E       ; 110
    5282:       6b 84           ldd     r6, Y+11        ; 0x0b
    5284:       01 d4           rcall   .+2050          ; 0x5a88 <__stack+0x4989>
    5286:       59 c5           rjmp    .+2738          ; 0x5d3a <__stack+0x4c3b>
    5288:       b4 15           cp      r27, r4
    528a:       c4 f4           brge    .+48            ; 0x52bc <__stack+0x41bd>
    528c:       4f df           rcall   .-354           ; 0x512c <__stack+0x402d>
    528e:       96 30           cpi     r25, 0x06       ; 6
    5290:       fc ad           ldd     r31, Y+60       ; 0x3c
    5292:       23 18           sub     r2, r3
    5294:       08 df           rcall   .-496           ; 0x50a6 <__stack+0x3fa7>
    5296:       d6 b4           in      r13, 0x26       ; 38
    5298:       80 6e           ori     r24, 0xE0       ; 224
    529a:       d2 06           cpc     r13, r18
    529c:       10 20           and     r1, r0
    529e:       0c ee           ldi     r16, 0xEC       ; 236
    52a0:       ac de           rcall   .-680           ; 0x4ffa <__stack+0x3efb>
    52a2:       59 00           .word   0x0059  ; ????
    52a4:       08 5f           subi    r16, 0xF8       ; 248
    52a6:       6c b7           in      r22, 0x3c       ; 60
    52a8:       60 fb           bst     r22, 0
    52aa:       9f 5e           subi    r25, 0xEF       ; 239
    52ac:       cb ae           std     Y+59, r12       ; 0x3b
    52ae:       a0 66           ori     r26, 0x60       ; 96
    52b0:       2b 3b           cpi     r18, 0xBB       ; 187
    52b2:       4c 80           ldd     r4, Y+4 ; 0x04
    52b4:       85 2f           mov     r24, r21
    52b6:       c5 0f           add     r28, r21
    52b8:       38 9e           mul     r3, r24
    52ba:       b3 d8           rcall   .-3738          ; 0x4422 <__stack+0x3323>
    52bc:       34 0a           sbc     r3, r20
    52be:       87 51           subi    r24, 0x17       ; 23
    52c0:       fd d1           rcall   .+1018          ; 0x56bc <__stack+0x45bd>
    52c2:       a2 c2           rjmp    .+1348          ; 0x5808 <__stack+0x4709>
    52c4:       fc 96           adiw    r30, 0x3c       ; 60
    52c6:       cd 20           and     r12, r13
    52c8:       dd eb           ldi     r29, 0xBD       ; 189
    52ca:       ed 8c           ldd     r14, Y+29       ; 0x1d
    52cc:       80 91 38 30     lds     r24, 0x3038
    52d0:       f7 66           ori     r31, 0x67       ; 103
    52d2:       80 05           cpc     r24, r0
    52d4:       b2 6c           ori     r27, 0xC2       ; 194
    52d6:       20 b5           in      r18, 0x20       ; 32
    52d8:       18 4b           sbci    r17, 0xB8       ; 184
    52da:       20 0c           add     r2, r0
    52dc:       d3 90           .word   0x90d3  ; ????
    52de:       d7 58           subi    r29, 0x87       ; 135
    52e0:       dd 92           st      X+, r13
    52e2:       c8 e0           ldi     r28, 0x08       ; 8
    52e4:       d3 ed           ldi     r29, 0xD3       ; 211
    52e6:       52 bf           out     0x32, r21       ; 50
    52e8:       7f 06           cpc     r7, r31
    52ea:       da 08           sbc     r13, r10
    52ec:       f9 f2           breq    .-66            ; 0x52ac <__stack+0x41ad>
    52ee:       5d 0e           add     r5, r29
    52f0:       ff 5a           subi    r31, 0xAF       ; 175
    52f2:       98 e4           ldi     r25, 0x48       ; 72
    52f4:       2d cb           rjmp    .-2470          ; 0x4950 <__stack+0x3851>
    52f6:       1e 5b           subi    r17, 0xBE       ; 190
    52f8:       f3 3c           cpi     r31, 0xC3       ; 195
    52fa:       10 5f           subi    r17, 0xF0       ; 240
    52fc:       6d ab           std     Y+53, r22       ; 0x35
    52fe:       90 03           fmuls   r17, r16
    5300:       97 66           ori     r25, 0x67       ; 103
    5302:       3c 9f           mul     r19, r28
    5304:       e0 98           cbi     0x1c, 0 ; 28
    5306:       c8 e0           ldi     r28, 0x08       ; 8
    5308:       81 b2           in      r8, 0x11        ; 17
    530a:       b8 30           cpi     r27, 0x08       ; 8
    530c:       bf ff           .word   0xffbf  ; ????
    530e:       f8 6a           ori     r31, 0xA8       ; 168
    5310:       33 2f           mov     r19, r19
    5312:       d9 23           and     r29, r25
    5314:       73 e0           ldi     r23, 0x03       ; 3
    5316:       7f 7b           andi    r23, 0xBF       ; 191
    5318:       d8 84           ldd     r13, Y+8        ; 0x08
    531a:       01 30           cpi     r16, 0x01       ; 1
    531c:       90 40           sbci    r25, 0x00       ; 0
    531e:       83 7b           andi    r24, 0xB3       ; 179
    5320:       d8 02           muls    r29, r24
    5322:       73 66           ori     r23, 0x63       ; 99
    5324:       45 e0           ldi     r20, 0x05       ; 5
    5326:       03 c6           rjmp    .+3078          ; 0x5f2e <__stack+0x4e2f>
    5328:       66 a7           std     Z+46, r22       ; 0x2e
    532a:       51 9c           mul     r5, r1
    532c:       39 1f           adc     r19, r25
    532e:       d9 c8           rjmp    .-3662          ; 0x44e2 <__stack+0x33e3>
    5330:       ff 60           ori     r31, 0x0F       ; 15
    5332:       b3 1e           adc     r11, r19
    5334:       c3 2e           mov     r12, r19
    5336:       39 fe           .word   0xfe39  ; ????
    5338:       5f 4c           sbci    r21, 0xCF       ; 207
    533a:       80 46           sbci    r24, 0x60       ; 96
    533c:       b3 b6           in      r11, 0x33       ; 51
    533e:       04 cb           rjmp    .-2552          ; 0x4948 <__stack+0x3849>
    5340:       e4 7f           andi    r30, 0xF4       ; 244
    5342:       d9 47           sbci    r29, 0x79       ; 121
    5344:       08 ca           rjmp    .-3056          ; 0x4756 <__stack+0x3657>
    5346:       b3 10           cpse    r11, r3
    5348:       3d f3           brhs    .-50            ; 0x5318 <__stack+0x4219>
    534a:       b3 02           muls    r27, r19
    534c:       1a fc           .word   0xfc1a  ; ????
    534e:       d3 ec           ldi     r29, 0xC3       ; 195
    5350:       a4 5b           subi    r26, 0xB4       ; 180
    5352:       d6 f4           brtc    .+52            ; 0x5388 <__stack+0x4289>
    5354:       04 e6           ldi     r16, 0x64       ; 100
    5356:       f0 10           cpse    r15, r0
    5358:       b5 ff           sbrs    r27, 5
    535a:       e8 f9           .word   0xf9e8  ; ????
    535c:       e9 65           ori     r30, 0x59       ; 89
    535e:       80 a2           std     Z+32, r8        ; 0x20
    5360:       5e 78           andi    r21, 0x8E       ; 142
    5362:       4b 8c           ldd     r4, Y+27        ; 0x1b
    5364:       01 60           ori     r16, 0x01       ; 1
    5366:       f3 2d           mov     r31, r3
    5368:       4c f3           brlt    .-46            ; 0x533c <__stack+0x423d>
    536a:       ef d9           rcall   .-3106          ; 0x474a <__stack+0x364b>
    536c:       32 28           or      r3, r2
    536e:       46 d3           rcall   .+1676          ; 0x59fc <__stack+0x48fd>
    5370:       70 c6           rjmp    .+3296          ; 0x6052 <__stack+0x4f53>
    5372:       1c c0           rjmp    .+56            ; 0x53ac <__stack+0x42ad>
    5374:       fe 06           cpc     r15, r30
    5376:       09 0e           add     r0, r25
    5378:       ff 98           cbi     0x1f, 7 ; 31
    537a:       ff 2c           mov     r15, r15
    537c:       c6 8c           ldd     r12, Z+30       ; 0x1e
    537e:       93 fe           sbrs    r9, 3
    5380:       31 45           sbci    r19, 0x51       ; 81
    5382:       b6 d3           rcall   .+1900          ; 0x5af0 <__stack+0x49f1>
    5384:       c1 fa           bst     r12, 1
    5386:       23 3f           cpi     r18, 0xF3       ; 243
    5388:       36 01           movw    r6, r12
    538a:       80 39           cpi     r24, 0x90       ; 144
    538c:       f2 dc           rcall   .-1564          ; 0x4d72 <__stack+0x3c73>
    538e:       cf d8           rcall   .-3682          ; 0x452e <__stack+0x342f>
    5390:       e0 59           subi    r30, 0x90       ; 144
    5392:       be 8e           std     Y+30, r11       ; 0x1e
    5394:       e6 d1           rcall   .+972           ; 0x5762 <__stack+0x4663>
    5396:       fe 20           and     r15, r14
    5398:       d4 b5           in      r29, 0x24       ; 36
    539a:       8f a0           ldd     r8, Y+39        ; 0x27
    539c:       35 86           std     Z+13, r3        ; 0x0d
    539e:       3c a8           ldd     r3, Y+52        ; 0x34
    53a0:       93 cf           rjmp    .-218           ; 0x52c8 <__stack+0x41c9>
    53a2:       38 ff           .word   0xff38  ; ????
    53a4:       ed df           rcall   .-38            ; 0x5380 <__stack+0x4281>
    53a6:       ee ac           ldd     r14, Y+62       ; 0x3e
    53a8:       36 88           ldd     r3, Z+22        ; 0x16
    53aa:       3d f3           brhs    .-50            ; 0x537a <__stack+0x427b>
    53ac:       e6 58           subi    r30, 0x86       ; 134
    53ae:       db fe           .word   0xfedb  ; ????
    53b0:       0c 00           .word   0x000c  ; ????
    53b2:       de 62           ori     r29, 0x2E       ; 46
    53b4:       1d 75           andi    r17, 0x5D       ; 93
    53b6:       65 18           sub     r6, r5
    53b8:       b1 c1           rjmp    .+866           ; 0x571c <__stack+0x461d>
    53ba:       ed bb           out     0x1d, r30       ; 29
    53bc:       b1 62           ori     r27, 0x21       ; 33
    53be:       fb 11           cpse    r31, r11
    53c0:       82 3f           cpi     r24, 0xF2       ; 242
    53c2:       d7 cc           rjmp    .-1618          ; 0x4d72 <__stack+0x3c73>
    53c4:       d8 7f           andi    r29, 0xF8       ; 248
    53c6:       a6 76           andi    r26, 0x66       ; 102
    53c8:       a8 08           sbc     r10, r8
    53ca:       04 11           cpse    r16, r4
    53cc:       fa a2           std     Y+34, r15       ; 0x22
    53ce:       40 cb           rjmp    .-2432          ; 0x4a50 <__stack+0x3951>
    53d0:       e6 67           ori     r30, 0x76       ; 118
    53d2:       d8 f8           .word   0xf8d8  ; ????
    53d4:       c1 2f           mov     r28, r17
    53d6:       cc e5           ldi     r28, 0x5C       ; 92
    53d8:       1e cc           rjmp    .-1988          ; 0x4c16 <__stack+0x3b17>
    53da:       b3 67           ori     r27, 0x73       ; 115
    53dc:       3b 2e           mov     r3, r27
    53de:       18 ff           .word   0xff18  ; ????
    53e0:       24 04           cpc     r2, r4
    53e2:       05 10           cpse    r0, r5
    53e4:       9f b6           in      r9, 0x3f        ; 63
    53e6:       63 2d           mov     r22, r3
    53e8:       fb 44           sbci    r31, 0x4B       ; 75
    53ea:       04 13           cpse    r16, r20
    53ec:       fd be           out     0x3d, r15       ; 61
    53ee:       fc 8d           ldd     r31, Y+28       ; 0x1c
    53f0:       2c c8           rjmp    .-4008          ; 0x444a <__stack+0x334b>
    53f2:       10 44           sbci    r17, 0x40       ; 64
    53f4:       cf c6           rjmp    .+3486          ; 0x6194 <__stack+0x5095>
    53f6:       5b d1           rcall   .+694           ; 0x56ae <__stack+0x45af>
    53f8:       88 fa           .word   0xfa88  ; ????
    53fa:       12 58           subi    r17, 0x82       ; 130
    53fc:       77 08           sbc     r7, r7
    53fe:       4e 1c           adc     r4, r14
    5400:       7a 5d           subi    r23, 0xDA       ; 218
    5402:       80 d9           rcall   .-3328          ; 0x4704 <__stack+0x3605>
    5404:       97 fb           bst     r25, 7
    5406:       66 1f           adc     r22, r22
    5408:       c0 e6           ldi     r28, 0x60       ; 96
    540a:       82 36           cpi     r24, 0x62       ; 98
    540c:       53 1d           adc     r21, r3
    540e:       a8 c7           rjmp    .+3920          ; 0x6360 <__stack+0x5261>
    5410:       8c da           rcall   .-2792          ; 0x492a <__stack+0x382b>
    5412:       d4 b1           in      r29, 0x04       ; 4
    5414:       e3 ee           ldi     r30, 0xE3       ; 227
    5416:       4d f6           brhc    .-110           ; 0x53aa <__stack+0x42ab>
    5418:       ac fb           .word   0xfbac  ; ????
    541a:       10 80           ld      r1, Z
    541c:       5f 28           or      r5, r15
    541e:       4f 64           ori     r20, 0x4F       ; 79
    5420:       d0 96           adiw    r26, 0x30       ; 48
    5422:       91 80           ldd     r9, Z+1 ; 0x01
    5424:       2e 76           andi    r18, 0x6E       ; 110
    5426:       b5 20           and     r11, r5
    5428:       51 8b           std     Z+17, r21       ; 0x11
    542a:       40 b3           in      r20, 0x10       ; 16
    542c:       ed c8           rjmp    .-3622          ; 0x4608 <__stack+0x3509>
    542e:       82 12           cpse    r8, r18
    5430:       1e b5           in      r17, 0x2e       ; 46
    5432:       b3 ef           ldi     r27, 0xF3       ; 243
    5434:       dc fa           .word   0xfadc  ; ????
    5436:       80 16           cp      r8, r16
    5438:       75 be           out     0x35, r7        ; 53
    543a:       59 81           ldd     r21, Y+1        ; 0x01
    543c:       b7 d8           rcall   .-3730          ; 0x45ac <__stack+0x34ad>
    543e:       a0 cf           rjmp    .-192           ; 0x5380 <__stack+0x4281>
    5440:       56 b1           in      r21, 0x06       ; 6
    5442:       da 25           eor     r29, r10
    5444:       3b 63           ori     r19, 0x3B       ; 59
    5446:       0c 06           cpc     r0, r28
    5448:       82 57           subi    r24, 0x72       ; 114
    544a:       27 e8           ldi     r18, 0x87       ; 135
    544c:       fc 22           and     r15, r28
    544e:       62 66           ori     r22, 0x62       ; 98
    5450:       80 14           cp      r8, r0
    5452:       fa ee           ldi     r31, 0xEA       ; 234
    5454:       04 b4           in      r0, 0x24        ; 36
    5456:       15 d5           rcall   .+2602          ; 0x5e82 <__stack+0x4d83>
    5458:       a0 f9           bld     r26, 0
    545a:       b3 02           muls    r27, r19
    545c:       4f e4           ldi     r20, 0x4F       ; 79
    545e:       30 f3           brcs    .-52            ; 0x542c <__stack+0x432d>
    5460:       87 f6           brid    .-96            ; 0x5402 <__stack+0x4303>
    5462:       1f 40           sbci    r17, 0x0F       ; 15
    5464:       ff 87           std     Y+15, r31       ; 0x0f
    5466:       da 04           cpc     r13, r10
    5468:       01 b6           in      r0, 0x31        ; 49
    546a:       82 78           andi    r24, 0x82       ; 130
    546c:       f9 04           cpc     r15, r9
    546e:       6f 5b           subi    r22, 0xBF       ; 191
    5470:       b1 ac           ldd     r11, Z+57       ; 0x39
    5472:       53 88           ldd     r5, Z+19        ; 0x13
    5474:       22 59           subi    r18, 0x92       ; 146
    5476:       b3 40           sbci    r27, 0x03       ; 3
    5478:       3f 83           std     Y+7, r19        ; 0x07
    547a:       b1 80           ldd     r11, Z+1        ; 0x01
    547c:       9f 6d           ori     r25, 0xDF       ; 223
    547e:       39 30           cpi     r19, 0x09       ; 9
    5480:       fd 8c           ldd     r15, Y+29       ; 0x1d
    5482:       d7 10           cpse    r13, r7
    5484:       5b 19           sub     r21, r11
    5486:       b8 fd           .word   0xfdb8  ; ????
    5488:       02 ef           ldi     r16, 0xF2       ; 242
    548a:       96 7d           andi    r25, 0xD6       ; 214
    548c:       20 57           subi    r18, 0x70       ; 112
    548e:       d8 96           adiw    r26, 0x38       ; 56
    5490:       d7 6c           ori     r29, 0xC7       ; 199
    5492:       17 fc           sbrc    r1, 7
    5494:       27 fb           bst     r18, 7
    5496:       83 1f           adc     r24, r19
    5498:       e7 c9           rjmp    .-3122          ; 0x4868 <__stack+0x3769>
    549a:       04 f8           bld     r0, 4
    549c:       fb 6e           ori     r31, 0xEB       ; 235
    549e:       dc 63           ori     r29, 0x3C       ; 60
    54a0:       e6 b1           in      r30, 0x06       ; 6
    54a2:       10 19           sub     r17, r0
    54a4:       19 be           out     0x39, r1        ; 57
    54a6:       4b b0           in      r4, 0x0b        ; 11
    54a8:       01 eb           ldi     r16, 0xB1       ; 177
    54aa:       ed cc           rjmp    .-1574          ; 0x4e86 <__stack+0x3d87>
    54ac:       fd 98           cbi     0x1f, 5 ; 31
    54ae:       08 6a           ori     r16, 0xA8       ; 168
    54b0:       55 61           ori     r21, 0x15       ; 21
    54b2:       c0 b5           in      r28, 0x20       ; 32
    54b4:       d1 c5           rjmp    .+2978          ; 0x6058 <__stack+0x4f59>
    54b6:       50 19           sub     r21, r0
    54b8:       b9 3a           cpi     r27, 0xA9       ; 169
    54ba:       ba 2d           mov     r27, r10
    54bc:       04 ca           rjmp    .-3064          ; 0x48c6 <__stack+0x37c7>
    54be:       d5 1c           adc     r13, r5
    54c0:       18 aa           std     Y+48, r1        ; 0x30
    54c2:       f8 0c           add     r15, r8
    54c4:       c7 d7           rcall   .+3982          ; 0x6454 <__stack+0x5355>
    54c6:       b1 60           ori     r27, 0x01       ; 1
    54c8:       18 b3           in      r17, 0x18       ; 24
    54ca:       d6 ec           ldi     r29, 0xC6       ; 198
    54cc:       96 10           cpse    r9, r6
    54ce:       2a de           rcall   .-940           ; 0x5124 <__stack+0x4025>
    54d0:       83 fe           sbrs    r8, 3
    54d2:       02 c7           rjmp    .+3588          ; 0x62d8 <__stack+0x51d9>
    54d4:       f6 6a           ori     r31, 0xA6       ; 166
    54d6:       c2 3c           cpi     r28, 0xC2       ; 194
    54d8:       bf 71           andi    r27, 0x1F       ; 31
    54da:       2c 7b           andi    r18, 0xBC       ; 188
    54dc:       77 96           adiw    r30, 0x17       ; 23
    54de:       ca 02           muls    r28, r26
    54e0:       09 1d           adc     r16, r9
    54e2:       b1 b3           in      r27, 0x11       ; 17
    54e4:       20 3c           cpi     r18, 0xC0       ; 192
    54e6:       e0 c7           rjmp    .+4032          ; 0x64a8 <__stack+0x53a9>
    54e8:       d6 b3           in      r29, 0x16       ; 22
    54ea:       f9 3c           cpi     r31, 0xC9       ; 201
    54ec:       70 b0           in      r7, 0x00        ; 0
    54ee:       20 a1           ldd     r18, Z+32       ; 0x20
    54f0:       b2 f8           bld     r11, 2
    54f2:       b1 fd           sbrc    r27, 1
    54f4:       fe d8           rcall   .-3588          ; 0x46f2 <__stack+0x35f3>
    54f6:       b5 02           muls    r27, r21
    54f8:       ff 58           subi    r31, 0x8F       ; 143
    54fa:       b5 57           subi    r27, 0x75       ; 117
    54fc:       c7 30           cpi     r28, 0x07       ; 7
    54fe:       71 39           cpi     r23, 0x91       ; 145
    5500:       84 4b           sbci    r24, 0xB4       ; 180
    5502:       0f 50           subi    r16, 0x0F       ; 15
    5504:       7f 31           cpi     r23, 0x1F       ; 31
    5506:       4b ad           ldd     r20, Y+59       ; 0x3b
    5508:       58 c8           rjmp    .-3920          ; 0x45ba <__stack+0x34bb>
    550a:       80 49           sbci    r24, 0x90       ; 144
    550c:       db e3           ldi     r29, 0x3B       ; 59
    550e:       08 06           cpc     r0, r24
    5510:       ce 5b           subi    r28, 0xBE       ; 190
    5512:       7d 01           movw    r14, r26
    5514:       98 18           sub     r9, r8
    5516:       74 66           ori     r23, 0x64       ; 100
    5518:       b0 02           muls    r27, r16
    551a:       97 d6           rcall   .+3374          ; 0x624a <__stack+0x514b>
    551c:       09 22           and     r0, r25
    551e:       fe 26           eor     r15, r30
    5520:       da 30           cpi     r29, 0x0A       ; 10
    5522:       fb 98           cbi     0x1f, 3 ; 31
    5524:       c6 62           ori     r28, 0x26       ; 38
    5526:       b9 67           ori     r27, 0x79       ; 121
    5528:       fc 74           andi    r31, 0x4C       ; 76
    552a:       d8 b3           in      r29, 0x18       ; 24
    552c:       12 59           subi    r17, 0x92       ; 146
    552e:       fd e8           ldi     r31, 0x8D       ; 141
    5530:       20 04           cpc     r2, r0
    5532:       9e 3e           cpi     r25, 0xEE       ; 238
    5534:       b6 08           sbc     r11, r6
    5536:       f6 73           andi    r31, 0x36       ; 54
    5538:       e0 fb           bst     r30, 0
    553a:       dd 7a           andi    r29, 0xAD       ; 173
    553c:       01 77           andi    r16, 0x71       ; 113
    553e:       5c 75           andi    r21, 0x5C       ; 92
    5540:       ea 11           cpse    r30, r10
    5542:       aa ee           ldi     r26, 0xEA       ; 234
    5544:       80 cf           rjmp    .-256           ; 0x5446 <__stack+0x4347>
    5546:       e1 6e           ori     r30, 0xE1       ; 225
    5548:       ed 6a           ori     r30, 0xAD       ; 173
    554a:       d2 a3           std     Z+34, r29       ; 0x22
    554c:       10 69           ori     r17, 0x90       ; 144
    554e:       20 cb           rjmp    .-2496          ; 0x4b90 <__stack+0x3a91>
    5550:       e5 d7           rcall   .+4042          ; 0x651c <__stack+0x541d>
    5552:       02 37           cpi     r16, 0x72       ; 114
    5554:       c9 b0           in      r12, 0x09       ; 9
    5556:       ff b3           in      r31, 0x1f       ; 31
    5558:       ce 80           ldd     r12, Y+6        ; 0x06
    555a:       01 e3           ldi     r16, 0x31       ; 49
    555c:       06 18           sub     r0, r6
    555e:       34 d6           rcall   .+3176          ; 0x61c8 <__stack+0x50c9>
    5560:       89 a1           ldd     r24, Y+33       ; 0x21
    5562:       a0 39           cpi     r26, 0x90       ; 144
    5564:       d6 82           std     Z+6, r13        ; 0x06
    5566:       02 f5           brpl    .+64            ; 0x55a8 <__stack+0x44a9>
    5568:       78 91           .word   0x9178  ; ????
    556a:       56 6f           ori     r21, 0xF6       ; 246
    556c:       7d 14           cp      r7, r13
    556e:       20 03           mulsu   r18, r16
    5570:       08 30           cpi     r16, 0x08       ; 8
    5572:       ca ac           ldd     r12, Y+58       ; 0x3a
    5574:       12 35           cpi     r17, 0x52       ; 82
    5576:       d0 19           sub     r29, r0
    5578:       a3 e0           ldi     r26, 0x03       ; 3
    557a:       18 e5           ldi     r17, 0x58       ; 88
    557c:       c8 20           and     r12, r8
    557e:       01 c6           rjmp    .+3074          ; 0x6182 <__stack+0x5083>
    5580:       06 ed           ldi     r16, 0xD6       ; 214
    5582:       fe 02           muls    r31, r30
    5584:       05 db           rcall   .-2550          ; 0x4b90 <__stack+0x3a91>
    5586:       0a 49           sbci    r16, 0x9A       ; 154
    5588:       eb 0e           add     r14, r27
    558a:       99 a1           ldd     r25, Y+33       ; 0x21
    558c:       02 e1           ldi     r16, 0x12       ; 18
    558e:       cf 34           cpi     r28, 0x4F       ; 79
    5590:       d9 90           ld      r13, Y+
    5592:       04 49           sbci    r16, 0x94       ; 148
    5594:       de 04           cpc     r13, r14
    5596:       ff 67           ori     r31, 0x7F       ; 127
    5598:       f2 ba           out     0x12, r15       ; 18
    559a:       24 99           sbic    0x04, 4 ; 4
    559c:       ec 48           sbci    r30, 0x8C       ; 140
    559e:       a3 8a           std     Z+19, r10       ; 0x13
    55a0:       22 db           rcall   .-2492          ; 0x4be6 <__stack+0x3ae7>
    55a2:       e7 a0           ldd     r14, Z+39       ; 0x27
    55a4:       20 f1           brcs    .+72            ; 0x55ee <__stack+0x44ef>
    55a6:       84 80           ldd     r8, Z+4 ; 0x04
    55a8:       3a d8           rcall   .-3980          ; 0x461e <__stack+0x351f>
    55aa:       28 40           sbci    r18, 0x08       ; 8
    55ac:       47 50           subi    r20, 0x07       ; 7
    55ae:       01 3b           cpi     r16, 0xB1       ; 177
    55b0:       e8 f8           .word   0xf8e8  ; ????
    55b2:       fa 19           sub     r31, r10
    55b4:       f3 12           cpse    r15, r19
    55b6:       1f f3           brie    .-58            ; 0x557e <__stack+0x447f>
    55b8:       ca 18           sub     r12, r10
    55ba:       f5 e5           ldi     r31, 0x55       ; 85
    55bc:       01 92           st      Z+, r0
    55be:       ea 1d           adc     r30, r10
    55c0:       8b eb           ldi     r24, 0xBB       ; 187
    55c2:       23 20           and     r2, r3
    55c4:       88 6c           ori     r24, 0xC8       ; 200
    55c6:       e6 a4           ldd     r14, Z+46       ; 0x2e
    55c8:       01 8a           std     Z+17, r0        ; 0x11
    55ca:       04 3b           cpi     r16, 0xB4       ; 180
    55cc:       82 5f           subi    r24, 0xF2       ; 242
    55ce:       dd a3           std     Y+37, r29       ; 0x25
    55d0:       22 eb           ldi     r18, 0xB2       ; 178
    55d2:       4b fd           .word   0xfd4b  ; ????
    55d4:       13 fb           bst     r17, 3
    55d6:       0c 0d           add     r16, r12
    55d8:       7b fe           .word   0xfe7b  ; ????
    55da:       fb 62           ori     r31, 0x2B       ; 43
    55dc:       fc 01           movw    r30, r24
    55de:       b1 10           cpse    r11, r1
    55e0:       4d b1           in      r20, 0x0d       ; 13
    55e2:       85 87           std     Z+13, r24       ; 0x0d
    55e4:       86 80           ldd     r8, Z+6 ; 0x06
    55e6:       60 f8           bld     r6, 0
    55e8:       2c 2e           mov     r2, r28
    55ea:       11 db           rcall   .-2526          ; 0x4c0e <__stack+0x3b0f>
    55ec:       ff b2           in      r15, 0x1f       ; 31
    55ee:       fd 05           cpc     r31, r13
    55f0:       3e b4           in      r3, 0x2e        ; 46
    55f2:       17 59           subi    r17, 0x97       ; 151
    55f4:       11 20           and     r1, r1
    55f6:       fd a2           std     Y+37, r15       ; 0x25
    55f8:       b3 80           ldd     r11, Z+3        ; 0x03
    55fa:       35 ab           std     Z+53, r19       ; 0x35
    55fc:       30 b7           in      r19, 0x30       ; 48
    55fe:       84 2f           mov     r24, r20
    5600:       25 32           cpi     r18, 0x25       ; 37
    5602:       e6 14           cp      r14, r6
    5604:       17 01           movw    r2, r14
    5606:       d6 d1           rcall   .+940           ; 0x59b4 <__stack+0x48b5>
    5608:       48 f8           .word   0xf848  ; ????
    560a:       f4 88           ldd     r15, Z+20       ; 0x14
    560c:       fe d9           rcall   .-3076          ; 0x4a0a <__stack+0x390b>
    560e:       04 cf           rjmp    .-504           ; 0x5418 <__stack+0x4319>
    5610:       fd 77           andi    r31, 0x7D       ; 125
    5612:       80 84           ldd     r8, Z+8 ; 0x08
    5614:       1b 92           .word   0x921b  ; ????
    5616:       d8 d0           rcall   .+432           ; 0x57c8 <__stack+0x46c9>
    5618:       fa fe           .word   0xfefa  ; ????
    561a:       cb 49           sbci    r28, 0x9B       ; 155
    561c:       6e 55           subi    r22, 0x5E       ; 94
    561e:       98 01           movw    r18, r16
    5620:       8a 7e           andi    r24, 0xEA       ; 234
    5622:       7f 08           sbc     r7, r15
    5624:       dd ed           ldi     r29, 0xDD       ; 221
    5626:       38 d8           rcall   .-3984          ; 0x4698 <__stack+0x3599>
    5628:       fa 02           muls    r31, r26
    562a:       ee 99           sbic    0x1d, 6 ; 29
    562c:       65 e6           ldi     r22, 0x65       ; 101
    562e:       c4 31           cpi     r28, 0x14       ; 20
    5630:       ed 1b           sub     r30, r29
    5632:       10 ff           sbrs    r17, 0
    5634:       85 1a           sub     r8, r21
    5636:       ff 63           ori     r31, 0x3F       ; 63
    5638:       fe 81           ldd     r31, Y+6        ; 0x06
    563a:       d8 50           subi    r29, 0x08       ; 8
    563c:       fb ea           ldi     r31, 0xAB       ; 171
    563e:       df 10           cpse    r13, r15
    5640:       d5 5b           subi    r29, 0xB5       ; 181
    5642:       08 61           ori     r16, 0x18       ; 24
    5644:       0e b6           in      r0, 0x3e        ; 62
    5646:       5d e4           ldi     r21, 0x4D       ; 77
    5648:       fb 30           cpi     r31, 0x0B       ; 11
    564a:       41 67           ori     r20, 0x71       ; 113
    564c:       f9 50           subi    r31, 0x09       ; 9
    564e:       8f 2c           mov     r8, r15
    5650:       df 58           subi    r29, 0x8F       ; 143
    5652:       78 66           ori     r23, 0x68       ; 104
    5654:       8e 23           and     r24, r30
    5656:       fb aa           std     Y+51, r15       ; 0x33
    5658:       08 f5           brcc    .+66            ; 0x569c <__stack+0x459d>
    565a:       61 c8           rjmp    .-3902          ; 0x471e <__stack+0x361f>
    565c:       f3 fc           sbrc    r15, 3
    565e:       20 05           cpc     r18, r0
    5660:       b6 f9           bld     r27, 6
    5662:       90 dd           rcall   .-1248          ; 0x5184 <__stack+0x4085>
    5664:       84 1a           sub     r8, r20
    5666:       fa ef           ldi     r31, 0xFA       ; 250
    5668:       29 e7           ldi     r18, 0x79       ; 121
    566a:       52 80           ldd     r5, Z+2 ; 0x02
    566c:       10 01           movw    r2, r0
    566e:       e1 88           ldd     r14, Z+17       ; 0x11
    5670:       52 48           sbci    r21, 0x82       ; 130
    5672:       fc 0a           sbc     r15, r28
    5674:       00 4d           sbci    r16, 0xD0       ; 208
    5676:       20 85           ldd     r18, Z+8        ; 0x08
    5678:       4b 02           muls    r20, r27
    567a:       3f fa           .word   0xfa3f  ; ????
    567c:       e9 34           cpi     r30, 0x49       ; 73
    567e:       0a 52           subi    r16, 0x2A       ; 42
    5680:       13 42           sbci    r17, 0x23       ; 35
    5682:       37 02           muls    r19, r23
    5684:       e5 0a           sbc     r14, r21
    5686:       86 0f           add     r24, r22
    5688:       ed c6           rjmp    .+3546          ; 0x6464 <__stack+0x5365>
    568a:       0a 49           sbci    r16, 0x9A       ; 154
    568c:       02 e7           ldi     r16, 0x72       ; 114
    568e:       29 24           eor     r2, r9
    5690:       05 94           asr     r0
    5692:       f0 ff           sbrs    r31, 0
    5694:       86 80           ldd     r8, Z+6 ; 0x06
    5696:       86 eb           ldi     r24, 0xB6       ; 182
    5698:       b6 18           sub     r11, r6
    569a:       dd 37           cpi     r29, 0x7D       ; 125
    569c:       02 6e           ori     r16, 0xE2       ; 226
    569e:       07 62           ori     r16, 0x27       ; 39
    56a0:       bf db           rcall   .-2178          ; 0x4e20 <__stack+0x3d21>
    56a2:       dc 02           muls    r29, r28
    56a4:       80 e8           ldi     r24, 0x80       ; 128
    56a6:       15 b7           in      r17, 0x35       ; 53
    56a8:       d1 67           ori     r29, 0x71       ; 113
    56aa:       c6 2d           mov     r28, r6
    56ac:       c0 80           ld      r12, Z
    56ae:       3f 32           cpi     r19, 0x2F       ; 47
    56b0:       81 7b           andi    r24, 0xB1       ; 177
    56b2:       e9 06           cpc     r14, r25
    56b4:       c0 76           andi    r28, 0x60       ; 96
    56b6:       ee 6d           ori     r30, 0xDE       ; 222
    56b8:       42 5e           subi    r20, 0xE2       ; 226
    56ba:       ae 31           cpi     r26, 0x1E       ; 30
    56bc:       bc 4d           sbci    r27, 0xDC       ; 220
    56be:       84 01           movw    r16, r8
    56c0:       0c 9c           mul     r0, r12
    56c2:       b8 af           std     Y+56, r27       ; 0x38
    56c4:       60 ef           ldi     r22, 0xF0       ; 240
    56c6:       74 01           movw    r14, r8
    56c8:       c0 52           subi    r28, 0x20       ; 32
    56ca:       c0 10           cpse    r12, r0
    56cc:       f3 08           sbc     r15, r3
    56ce:       5e c9           rjmp    .-3396          ; 0x498c <__stack+0x388d>
    56d0:       a2 af           std     Z+58, r26       ; 0x3a
    56d2:       41 57           subi    r20, 0x71       ; 113
    56d4:       93 81           ldd     r25, Z+3        ; 0x03
    56d6:       ba 98           cbi     0x17, 2 ; 23
    56d8:       f8 80           ld      r15, Y
    56da:       05 71           andi    r16, 0x15       ; 21
    56dc:       ec 40           sbci    r30, 0x0C       ; 12
    56de:       28 02           muls    r18, r24
    56e0:       67 03           mulsu   r22, r23
    56e2:       f2 24           eor     r15, r2
    56e4:       20 70           andi    r18, 0x00       ; 0
    56e6:       e5 c0           rjmp    .+458           ; 0x58b2 <__stack+0x47b3>
    56e8:       d9 58           subi    r29, 0x89       ; 137
    56ea:       e2 08           sbc     r14, r2
    56ec:       61 44           sbci    r22, 0x41       ; 65
    56ee:       1b e6           ldi     r17, 0x6B       ; 107
    56f0:       06 11           cpse    r16, r6
    56f2:       f4 d9           rcall   .-3096          ; 0x4adc <__stack+0x39dd>
    56f4:       90 e8           ldi     r25, 0x80       ; 128
    56f6:       d3 20           and     r13, r3
    56f8:       48 3d           cpi     r20, 0xD8       ; 216
    56fa:       2b d4           rcall   .+2134          ; 0x5f52 <__stack+0x4e53>
    56fc:       36 80           ldd     r3, Z+6 ; 0x06
    56fe:       66 fd           sbrc    r22, 6
    5700:       05 13           cpse    r16, r21
    5702:       20 82           st      Z, r2
    5704:       4c 80           ldd     r4, Y+4 ; 0x04
    5706:       30 f0           brcs    .+12            ; 0x5714 <__stack+0x4615>
    5708:       e0 fd           sbrc    r30, 0
    570a:       a1 91           ld      r26, Z+
    570c:       40 09           sbc     r20, r0
    570e:       f9 c0           rjmp    .+498           ; 0x5902 <__stack+0x4803>
    5710:       22 18           sub     r2, r2
    5712:       11 63           ori     r17, 0x31       ; 49
    5714:       f2 e7           ldi     r31, 0x72       ; 114
    5716:       48 88           ldd     r4, Y+16        ; 0x10
    5718:       09 0b           sbc     r16, r25
    571a:       c6 c0           rjmp    .+396           ; 0x58a8 <__stack+0x47a9>
    571c:       f0 28           or      r15, r0
    571e:       40 10           cpse    r4, r0
    5720:       22 69           ori     r18, 0x92       ; 146
    5722:       42 a7           std     Z+42, r20       ; 0x2a
    5724:       32 b3           in      r19, 0x12       ; 18
    5726:       02 91           ld      r16, -Z
    5728:       b5 49           sbci    r27, 0x95       ; 149
    572a:       be 08           sbc     r11, r14
    572c:       16 c2           rjmp    .+1068          ; 0x5b5a <__stack+0x4a5b>
    572e:       02 98           cbi     0x00, 2 ; 0
    5730:       91 c6           rjmp    .+3362          ; 0x6454 <__stack+0x5355>
    5732:       14 4e           sbci    r17, 0xE4       ; 228
    5734:       93 31           cpi     r25, 0x13       ; 19
    5736:       01 98           cbi     0x00, 1 ; 0
    5738:       91 98           cbi     0x12, 1 ; 18
    573a:       08 f9           .word   0xf908  ; ????
    573c:       60 04           cpc     r6, r0
    573e:       20 ce           rjmp    .-960           ; 0x5380 <__stack+0x4281>
    5740:       05 02           muls    r16, r21
    5742:       66 f9           bld     r22, 6
    5744:       e0 04           cpc     r14, r0
    5746:       3c c3           rjmp    .+1656          ; 0x5dc0 <__stack+0x4cc1>
    5748:       ef 70           andi    r30, 0x0F       ; 15
    574a:       d3 1e           adc     r13, r19
    574c:       c0 66           ori     r28, 0x60       ; 96
    574e:       07 e0           ldi     r16, 0x07       ; 7
    5750:       5b c1           rjmp    .+694           ; 0x5a08 <__stack+0x4909>
    5752:       16 f0           brts    .+4             ; 0x5758 <__stack+0x4659>
    5754:       e4 f3           brlt    .-8             ; 0x574e <__stack+0x464f>
    5756:       7a 3f           cpi     r23, 0xFA       ; 250
    5758:       0f e4           ldi     r16, 0x4F       ; 79
    575a:       01 3c           cpi     r16, 0xC1       ; 193
    575c:       67 7a           andi    r22, 0xA7       ; 167
    575e:       d0 e0           ldi     r29, 0x00       ; 0
    5760:       7e ed           ldi     r23, 0xDE       ; 222
    5762:       80 07           cpc     r24, r16
    5764:       f0 20           and     r15, r0
    5766:       1e 8f           std     Y+30, r17       ; 0x1e
    5768:       70 2d           mov     r23, r0
    576a:       f3 bd           out     0x23, r31       ; 35
    576c:       89 d3           rcall   .+1810          ; 0x5e80 <__stack+0x4d81>
    576e:       10 d3           rcall   .+1568          ; 0x5d90 <__stack+0x4c91>
    5770:       0f e0           ldi     r16, 0x0F       ; 15
    5772:       f6 88           ldd     r15, Z+22       ; 0x16
    5774:       fa 32           cpi     r31, 0x2A       ; 42
    5776:       c3 30           cpi     r28, 0x03       ; 3
    5778:       28 bf           out     0x38, r18       ; 56
    577a:       f9 04           cpc     r15, r9
    577c:       49 b3           in      r20, 0x19       ; 25
    577e:       0c f3           brlt    .-62            ; 0x5742 <__stack+0x4643>
    5780:       3a fb           .word   0xfb3a  ; ????
    5782:       06 c2           rjmp    .+1036          ; 0x5b90 <__stack+0x4a91>
    5784:       65 d6           rcall   .+3274          ; 0x6450 <__stack+0x5351>
    5786:       03 62           ori     r16, 0x23       ; 35
    5788:       f3 19           sub     r31, r3
    578a:       e6 e3           ldi     r30, 0x36       ; 54
    578c:       1b ed           ldi     r17, 0xDB       ; 219
    578e:       20 f7           brcc    .-56            ; 0x5758 <__stack+0x4659>
    5790:       06 c0           rjmp    .+12            ; 0x579e <__stack+0x469f>
    5792:       40 18           sub     r4, r0
    5794:       fd 64           ori     r31, 0x4D       ; 77
    5796:       a9 e0           ldi     r26, 0x09       ; 9
    5798:       37 d3           rcall   .+1646          ; 0x5e08 <__stack+0x4d09>
    579a:       60 20           and     r6, r0
    579c:       b0 c6           rjmp    .+3424          ; 0x64fe <__stack+0x53ff>
    579e:       d0 fe           sbrs    r13, 0
    57a0:       b4 29           or      r27, r4
    57a2:       20 9b           sbis    0x04, 0 ; 4
    57a4:       f3 48           sbci    r31, 0x83       ; 131
    57a6:       18 01           movw    r2, r16
    57a8:       93 f9           bld     r25, 3
    57aa:       86 a5           ldd     r24, Z+46       ; 0x2e
    57ac:       82 ed           ldi     r24, 0xD2       ; 210
    57ae:       27 cf           rjmp    .-434           ; 0x55fe <__stack+0x44ff>
    57b0:       a6 13           cpse    r26, r22
    57b2:       60 12           cpse    r6, r16
    57b4:       44 d8           rcall   .-3960          ; 0x483e <__stack+0x373f>
    57b6:       90 41           sbci    r25, 0x10       ; 16
    57b8:       8b b3           in      r24, 0x1b       ; 27
    57ba:       10 02           muls    r17, r16
    57bc:       3a b3           in      r19, 0x1a       ; 26
    57be:       08 18           sub     r0, r8
    57c0:       d0 16           cp      r13, r16
    57c2:       af 14           cp      r10, r15
    57c4:       b3 19           sub     r27, r3
    57c6:       d3 fa           bst     r13, 3
    57c8:       83 60           ori     r24, 0x03       ; 3
    57ca:       02 0c           add     r0, r2
    57cc:       c2 d7           rcall   .+3972          ; 0x6752 <_binary_top_mlz_size+0x19f>
    57ce:       25 30           cpi     r18, 0x05       ; 5
    57d0:       f8 20           and     r15, r8
    57d2:       c8 09           sbc     r28, r8
    57d4:       85 9a           sbi     0x10, 5 ; 16
    57d6:       e1 7e           andi    r30, 0xE1       ; 225
    57d8:       1a 40           sbci    r17, 0x0A       ; 10
    57da:       13 49           sbci    r17, 0x93       ; 147
    57dc:       21 09           sbc     r18, r1
    57de:       33 bf           out     0x33, r19       ; 51
    57e0:       27 08           sbc     r2, r7
    57e2:       d6 88           ldd     r13, Z+22       ; 0x16
    57e4:       02 82           std     Z+2, r0 ; 0x02
    57e6:       37 bb           out     0x17, r19       ; 23
    57e8:       21 8c           ldd     r2, Z+25        ; 0x19
    57ea:       cf de           rcall   .-610           ; 0x558a <__stack+0x448b>
    57ec:       79 64           ori     r23, 0x49       ; 73
    57ee:       08 50           subi    r16, 0x08       ; 8
    57f0:       04 c0           rjmp    .+8             ; 0x57fa <__stack+0x46fb>
    57f2:       f4 09           sbc     r31, r4
    57f4:       bf 9d           mul     r27, r15
    57f6:       c4 a1           ldd     r28, Z+36       ; 0x24
    57f8:       b1 20           and     r11, r1
    57fa:       48 9d           mul     r20, r8
    57fc:       fe 01           movw    r30, r28
    57fe:       20 24           eor     r2, r0
    5800:       dd c0           rjmp    .+442           ; 0x59bc <__stack+0x48bd>
    5802:       66 30           cpi     r22, 0x06       ; 6
    5804:       16 5c           subi    r17, 0xC6       ; 198
    5806:       bf 53           subi    r27, 0x3F       ; 63
    5808:       00 b2           in      r0, 0x10        ; 16
    580a:       26 bc           out     0x26, r2        ; 38
    580c:       98 bc           out     0x28, r9        ; 40
    580e:       69 dc           rcall   .-1838          ; 0x50e2 <__stack+0x3fe3>
    5810:       bb db           rcall   .-2186          ; 0x4f88 <__stack+0x3e89>
    5812:       c5 dc           rcall   .-1654          ; 0x519e <__stack+0x409f>
    5814:       77 36           cpi     r23, 0x67       ; 103
    5816:       9e 04           cpc     r9, r14
    5818:       40 c6           rjmp    .+3200          ; 0x649a <__stack+0x539b>
    581a:       58 c2           rjmp    .+1200          ; 0x5ccc <__stack+0x4bcd>
    581c:       e0 19           sub     r30, r0
    581e:       ff 60           ori     r31, 0x0F       ; 15
    5820:       8b c8           rjmp    .-3818          ; 0x4938 <__stack+0x3839>
    5822:       ff af           std     Y+63, r31       ; 0x3f
    5824:       8a f9           .word   0xf98a  ; ????
    5826:       e6 dc           rcall   .-1588          ; 0x51f4 <__stack+0x40f5>
    5828:       83 40           sbci    r24, 0x03       ; 3
    582a:       5f aa           std     Y+55, r5        ; 0x37
    582c:       aa 4a           sbci    r26, 0xAA       ; 170
    582e:       31 fb           bst     r19, 1
    5830:       b5 d1           rcall   .+874           ; 0x5b9c <__stack+0x4a9d>
    5832:       bf 80           ldd     r11, Y+7        ; 0x07
    5834:       59 dd           rcall   .-1358          ; 0x52e8 <__stack+0x41e9>
    5836:       47 80           ldd     r4, Z+7 ; 0x07
    5838:       64 bf           out     0x34, r22       ; 52
    583a:       cc 24           eor     r12, r12
    583c:       6f e9           ldi     r22, 0x9F       ; 159
    583e:       8b 0c           add     r8, r11
    5840:       a2 33           cpi     r26, 0x32       ; 50
    5842:       79 16           cp      r7, r25
    5844:       f6 41           sbci    r31, 0x16       ; 22
    5846:       79 f0           breq    .+30            ; 0x5866 <__stack+0x4767>
    5848:       3d 19           sub     r19, r13
    584a:       84 48           sbci    r24, 0x84       ; 132
    584c:       20 80           ld      r2, Z
    584e:       ed d2           rcall   .+1498          ; 0x5e2a <__stack+0x4d2b>
    5850:       23 60           ori     r18, 0x03       ; 3
    5852:       66 5f           subi    r22, 0xF6       ; 246
    5854:       11 73           andi    r17, 0x31       ; 49
    5856:       f8 22           and     r15, r24
    5858:       10 59           subi    r17, 0x90       ; 144
    585a:       40 59           subi    r20, 0x90       ; 144
    585c:       28 d6           rcall   .+3152          ; 0x64ae <__stack+0x53af>
    585e:       48 90           .word   0x9048  ; ????
    5860:       58 5b           subi    r21, 0xB8       ; 184
    5862:       87 34           cpi     r24, 0x47       ; 71
    5864:       1a 02           muls    r17, r26
    5866:       42 71           andi    r20, 0x12       ; 18
    5868:       65 ee           ldi     r22, 0xE5       ; 229
    586a:       1d 05           cpc     r17, r13
    586c:       4c 2c           mov     r4, r12
    586e:       89 10           cpse    r8, r9
    5870:       73 6e           ori     r23, 0xE3       ; 227
    5872:       e9 e1           ldi     r30, 0x19       ; 25
    5874:       fc 84           ldd     r15, Y+12       ; 0x0c
    5876:       81 cc           rjmp    .-1790          ; 0x517a <__stack+0x407b>
    5878:       12 a3           std     Z+34, r17       ; 0x22
    587a:       44 3f           cpi     r20, 0xF4       ; 244
    587c:       09 10           cpse    r0, r9
    587e:       40 84           ldd     r4, Z+8 ; 0x08
    5880:       b9 4c           sbci    r27, 0xC9       ; 201
    5882:       ab 46           sbci    r26, 0x6B       ; 107
    5884:       ae c2           rjmp    .+1372          ; 0x5de2 <__stack+0x4ce3>
    5886:       cf d0           rcall   .+414           ; 0x5a26 <__stack+0x4927>
    5888:       63 eb           ldi     r22, 0xB3       ; 179
    588a:       20 04           cpc     r2, r0
    588c:       44 b3           in      r20, 0x14       ; 20
    588e:       30 bc           out     0x20, r3        ; 32
    5890:       e5 bd           out     0x25, r30       ; 37
    5892:       6b 22           and     r6, r27
    5894:       f6 46           sbci    r31, 0x66       ; 102
    5896:       c1 02           muls    r28, r17
    5898:       01 8e           std     Z+25, r0        ; 0x19
    589a:       f3 51           subi    r31, 0x13       ; 19
    589c:       30 0a           sbc     r3, r16
    589e:       50 08           sbc     r5, r0
    58a0:       15 6c           ori     r17, 0xC5       ; 197
    58a2:       60 44           sbci    r22, 0x40       ; 64
    58a4:       a7 9c           mul     r10, r7
    58a6:       d5 d1           rcall   .+938           ; 0x5c52 <__stack+0x4b53>
    58a8:       fc e0           ldi     r31, 0x0C       ; 12
    58aa:       0d 7a           andi    r16, 0xAD       ; 173
    58ac:       c5 72           andi    r28, 0x25       ; 37
    58ae:       60 a0           ldd     r6, Z+32        ; 0x20
    58b0:       c0 43           sbci    r28, 0x30       ; 48
    58b2:       79 03           fmul    r23, r17
    58b4:       e4 41           sbci    r30, 0x14       ; 20
    58b6:       5f 5c           subi    r21, 0xCF       ; 207
    58b8:       5e b8           out     0x0e, r5        ; 14
    58ba:       fa c4           rjmp    .+2548          ; 0x62b0 <__stack+0x51b1>
    58bc:       03 38           cpi     r16, 0x83       ; 131
    58be:       00 0f           add     r16, r16
    58c0:       f0 b8           out     0x00, r15       ; 0
    58c2:       6c 4f           sbci    r22, 0xFC       ; 252
    58c4:       cc 98           cbi     0x19, 4 ; 25
    58c6:       92 f3           brmi    .-28            ; 0x58ac <__stack+0x47ad>
    58c8:       77 f9           bld     r23, 7
    58ca:       0e c8           rjmp    .-4068          ; 0x48e8 <__stack+0x37e9>
    58cc:       83 10           cpse    r8, r3
    58ce:       d3 f5           brvc    .+116           ; 0x5944 <__stack+0x4845>
    58d0:       4d fc           .word   0xfc4d  ; ????
    58d2:       8c 17           cp      r24, r28
    58d4:       99 61           ori     r25, 0x19       ; 25
    58d6:       67 18           sub     r6, r7
    58d8:       76 82           std     Z+6, r7 ; 0x06
    58da:       60 10           cpse    r6, r0
    58dc:       4f a6           std     Y+47, r4        ; 0x2f
    58de:       98 40           sbci    r25, 0x08       ; 8
    58e0:       3b 88           ldd     r3, Y+19        ; 0x13
    58e2:       c4 bc           out     0x24, r12       ; 36
    58e4:       98 51           subi    r25, 0x18       ; 24
    58e6:       79 e0           ldi     r23, 0x09       ; 9
    58e8:       bf 9f           mul     r27, r31
    58ea:       8b f7           brvc    .-30            ; 0x58ce <__stack+0x47cf>
    58ec:       16 fb           bst     r17, 6
    58ee:       98 82           st      Y, r9
    58f0:       01 3f           cpi     r16, 0xF1       ; 241
    58f2:       e5 7a           andi    r30, 0xA5       ; 165
    58f4:       ff c0           rjmp    .+510           ; 0x5af4 <__stack+0x49f5>
    58f6:       91 30           cpi     r25, 0x01       ; 1
    58f8:       bb 41           sbci    r27, 0x1B       ; 27
    58fa:       c9 c5           rjmp    .+2962          ; 0x648e <__stack+0x538f>
    58fc:       53 04           cpc     r5, r3
    58fe:       e8 46           sbci    r30, 0x68       ; 104
    5900:       90 45           sbci    r25, 0x50       ; 80
    5902:       19 79           andi    r17, 0x99       ; 153
    5904:       5c 58           subi    r21, 0x8C       ; 140
    5906:       04 03           mulsu   r16, r20
    5908:       1b f6           brvc    .-122           ; 0x5890 <__stack+0x4791>
    590a:       4c 80           ldd     r4, Y+4 ; 0x04
    590c:       45 30           cpi     r20, 0x05       ; 5
    590e:       77 e4           ldi     r23, 0x47       ; 71
    5910:       7f 84           ldd     r7, Y+15        ; 0x0f
    5912:       c0 62           ori     r28, 0x20       ; 32
    5914:       e0 c9           rjmp    .-3136          ; 0x4cd6 <__stack+0x3bd7>
    5916:       5d b3           in      r21, 0x1d       ; 29
    5918:       06 a9           ldd     r16, Z+54       ; 0x36
    591a:       af 8b           std     Y+23, r26       ; 0x17
    591c:       1b ae           std     Y+59, r1        ; 0x3b
    591e:       8c 8f           std     Y+28, r24       ; 0x1c
    5920:       1d f0           brhs    .+6             ; 0x5928 <__stack+0x4829>
    5922:       f0 fa           bst     r15, 0
    5924:       20 08           sbc     r2, r0
    5926:       34 44           sbci    r19, 0x44       ; 68
    5928:       d7 90           elpm    r13, Z+
    592a:       42 0d           add     r20, r2
    592c:       30 ea           ldi     r19, 0xA0       ; 160
    592e:       41 dd           rcall   .-1406          ; 0x53b2 <__stack+0x42b3>
    5930:       41 40           sbci    r20, 0x01       ; 1
    5932:       6d 7e           andi    r22, 0xED       ; 237
    5934:       43 0b           sbc     r20, r19
    5936:       09 41           sbci    r16, 0x19       ; 25
    5938:       0d 03           fmul    r16, r21
    593a:       3c 67           ori     r19, 0x7C       ; 124
    593c:       bf 4f           sbci    r27, 0xFF       ; 255
    593e:       34 f5           brge    .+76            ; 0x598c <__stack+0x488d>
    5940:       c1 24           eor     r12, r1
    5942:       92 44           sbci    r25, 0x42       ; 66
    5944:       bb d8           rcall   .-3722          ; 0x4abc <__stack+0x39bd>
    5946:       68 5f           subi    r22, 0xF8       ; 248
    5948:       45 98           cbi     0x08, 5 ; 8
    594a:       10 5f           subi    r17, 0xF0       ; 240
    594c:       29 f3           breq    .-54            ; 0x5918 <__stack+0x4819>
    594e:       08 12           cpse    r0, r24
    5950:       49 24           eor     r4, r9
    5952:       c2 10           cpse    r12, r2
    5954:       f0 e8           ldi     r31, 0x80       ; 128
    5956:       ff 00           .word   0x00ff  ; ????
    5958:       40 c2           rjmp    .+1152          ; 0x5dda <__stack+0x4cdb>
    595a:       70 bc           out     0x20, r7        ; 32
    595c:       92 53           subi    r25, 0x32       ; 50
    595e:       f6 f8           bld     r15, 6
    5960:       8f d9           rcall   .-3298          ; 0x4c80 <__stack+0x3b81>
    5962:       02 f3           brmi    .-64            ; 0x5924 <__stack+0x4825>
    5964:       b2 9e           mul     r11, r18
    5966:       c9 fd           .word   0xfdc9  ; ????
    5968:       34 12           cpse    r3, r20
    596a:       aa f8           .word   0xf8aa  ; ????
    596c:       09 dd           rcall   .-1518          ; 0x5380 <__stack+0x4281>
    596e:       56 60           ori     r21, 0x06       ; 6
    5970:       6f e7           ldi     r22, 0x7F       ; 127
    5972:       98 ab           std     Y+48, r25       ; 0x30
    5974:       d0 0c           add     r13, r0
    5976:       c5 e1           ldi     r28, 0x15       ; 21
    5978:       c0 69           ori     r28, 0x90       ; 144
    597a:       62 78           andi    r22, 0x82       ; 130
    597c:       98 e8           ldi     r25, 0x88       ; 136
    597e:       e9 18           sub     r14, r9
    5980:       c4 6c           ori     r28, 0xC4       ; 196
    5982:       fd 14           cp      r15, r13
    5984:       80 43           sbci    r24, 0x30       ; 48
    5986:       e1 77           andi    r30, 0x71       ; 113
    5988:       6c 57           subi    r22, 0x7C       ; 124
    598a:       40 47           sbci    r20, 0x70       ; 112
    598c:       65 3d           cpi     r22, 0xD5       ; 213
    598e:       c1 7d           andi    r28, 0xD1       ; 209
    5990:       9f cb           rjmp    .-2242          ; 0x50d0 <__stack+0x3fd1>
    5992:       c1 70           andi    r28, 0x01       ; 1
    5994:       5f 7b           andi    r21, 0xBF       ; 191
    5996:       98 81           ld      r25, Y
    5998:       40 1e           adc     r4, r16
    599a:       80 b9           out     0x00, r24       ; 0
    599c:       26 84           ldd     r2, Z+14        ; 0x0e
    599e:       9c 01           movw    r18, r24
    59a0:       80 d8           rcall   .-3840          ; 0x4aa2 <__stack+0x39a3>
    59a2:       ff cf           rjmp    .-2             ; 0x59a2 <__stack+0x48a3>
    59a4:       e1 31           cpi     r30, 0x11       ; 17
    59a6:       56 c0           rjmp    .+172           ; 0x5a54 <__stack+0x4955>
    59a8:       02 99           sbic    0x00, 2 ; 0
    59aa:       2b d8           rcall   .-4010          ; 0x4a02 <__stack+0x3903>
    59ac:       f7 0e           add     r15, r23
    59ae:       24 97           sbiw    r28, 0x04       ; 4
    59b0:       91 67           ori     r25, 0x71       ; 113
    59b2:       fb a3           std     Y+35, r31       ; 0x23
    59b4:       f5 4c           sbci    r31, 0xC5       ; 197
    59b6:       21 62           ori     r18, 0x21       ; 33
    59b8:       79 b4           in      r7, 0x29        ; 41
    59ba:       f2 08           sbc     r15, r2
    59bc:       86 c0           rjmp    .+268           ; 0x5aca <__stack+0x49cb>
    59be:       80 e0           ldi     r24, 0x00       ; 0
    59c0:       88 19           sub     r24, r8
    59c2:       f3 f2           brvs    .-68            ; 0x5980 <__stack+0x4881>
    59c4:       5b f0           brvs    .+22            ; 0x59dc <__stack+0x48dd>
    59c6:       6b d3           rcall   .+1750          ; 0x609e <__stack+0x4f9f>
    59c8:       0a a9           ldd     r16, Y+50       ; 0x32
    59ca:       11 39           cpi     r17, 0x91       ; 145
    59cc:       c7 98           cbi     0x18, 7 ; 24
    59ce:       f8 99           sbic    0x1f, 0 ; 31
    59d0:       5c 6a           ori     r21, 0xAC       ; 172
    59d2:       30 e2           ldi     r19, 0x20       ; 32
    59d4:       19 2b           or      r17, r25
    59d6:       43 75           andi    r20, 0x53       ; 83
    59d8:       70 90 cf 30     lds     r7, 0x30CF
    59dc:       26 c1           rjmp    .+588           ; 0x5c2a <__stack+0x4b2b>
    59de:       20 58           subi    r18, 0x80       ; 128
    59e0:       0e 13           cpse    r16, r30
    59e2:       7b e9           ldi     r23, 0x9B       ; 155
    59e4:       4c 84           ldd     r4, Y+12        ; 0x0c
    59e6:       11 7d           andi    r17, 0xD1       ; 209
    59e8:       5a bd           out     0x2a, r21       ; 42
    59ea:       22 b0           in      r2, 0x02        ; 2
    59ec:       f8 91           .word   0x91f8  ; ????
    59ee:       49 17           cp      r20, r25
    59f0:       f7 7f           andi    r31, 0xF7       ; 247
    59f2:       42 98           cbi     0x08, 2 ; 8
    59f4:       97 5b           subi    r25, 0xB7       ; 183
    59f6:       c8 5f           subi    r28, 0xF8       ; 248
    59f8:       c6 21           and     r28, r6
    59fa:       1f d3           rcall   .+1598          ; 0x603a <__stack+0x4f3b>
    59fc:       0b 62           ori     r16, 0x2B       ; 43
    59fe:       11 8c           ldd     r1, Z+25        ; 0x19
    5a00:       e3 08           sbc     r14, r3
    5a02:       10 b1           in      r17, 0x00       ; 0
    5a04:       5d 28           or      r5, r13
    5a06:       ca 30           cpi     r28, 0x0A       ; 10
    5a08:       90 f5           brcc    .+100           ; 0x5a6e <__stack+0x496f>
    5a0a:       c5 02           muls    r28, r21
    5a0c:       72 d4           rcall   .+2276          ; 0x62f2 <__stack+0x51f3>
    5a0e:       20 fe           sbrs    r2, 0
    5a10:       27 30           cpi     r18, 0x07       ; 7
    5a12:       f3 1e           adc     r15, r19
    5a14:       c8 03           fmulsu  r20, r16
    5a16:       d7 19           sub     r29, r7
    5a18:       20 99           sbic    0x04, 0 ; 4
    5a1a:       98 f9           .word   0xf998  ; ????
    5a1c:       39 ae           std     Y+57, r3        ; 0x39
    5a1e:       e4 66           ori     r30, 0x64       ; 100
    5a20:       3d 07           cpc     r19, r29
    5a22:       f2 e0           ldi     r31, 0x02       ; 2
    5a24:       10 df           rcall   .-480           ; 0x5846 <__stack+0x4747>
    5a26:       93 30           cpi     r25, 0x03       ; 3
    5a28:       b0 f3           brcs    .-20            ; 0x5a16 <__stack+0x4917>
    5a2a:       d0 dd           rcall   .-1120          ; 0x55cc <__stack+0x44cd>
    5a2c:       03 78           andi    r16, 0x83       ; 131
    5a2e:       e9 6b           ori     r30, 0xB9       ; 185
    5a30:       0c 52           subi    r16, 0x2C       ; 44
    5a32:       c2 f9           bld     r28, 2
    5a34:       80 ae           std     Z+56, r8        ; 0x38
    5a36:       31 34           cpi     r19, 0x41       ; 65
    5a38:       5d fe           .word   0xfe5d  ; ????
    5a3a:       7f 0c           add     r7, r15
    5a3c:       88 ff           .word   0xff88  ; ????
    5a3e:       3b 8b           std     Y+19, r19       ; 0x13
    5a40:       c4 98           cbi     0x18, 4 ; 24
    5a42:       3b b7           in      r19, 0x3b       ; 59
    5a44:       f3 37           cpi     r31, 0x73       ; 115
    5a46:       b3 ed           ldi     r27, 0xD3       ; 211
    5a48:       03 81           ldd     r16, Z+3        ; 0x03
    5a4a:       75 37           cpi     r23, 0x75       ; 117
    5a4c:       e6 e0           ldi     r30, 0x06       ; 6
    5a4e:       fe 98           cbi     0x1f, 6 ; 31
    5a50:       ae 40           sbci    r26, 0x0E       ; 14
    5a52:       65 23           and     r22, r21
    5a54:       03 20           and     r0, r3
    5a56:       d3 de           rcall   .-602           ; 0x57fe <__stack+0x46ff>
    5a58:       8f fa           .word   0xfa8f  ; ????
    5a5a:       70 f8           bld     r7, 0
    5a5c:       80 11           cpse    r24, r0
    5a5e:       b0 4f           sbci    r27, 0xF0       ; 240
    5a60:       c0 42           sbci    r28, 0x20       ; 32
    5a62:       e0 90 40 01     lds     r14, 0x0140
    5a66:       db 8c           ldd     r13, Y+27       ; 0x1b
    5a68:       80 8d           ldd     r24, Z+24       ; 0x18
    5a6a:       b3 c1           rjmp    .+870           ; 0x5dd2 <__stack+0x4cd3>
    5a6c:       2c 18           sub     r2, r12
    5a6e:       f3 87           std     Z+11, r31       ; 0x0b
    5a70:       ab 4b           sbci    r26, 0xBB       ; 187
    5a72:       20 b6           in      r2, 0x30        ; 48
    5a74:       91 48           sbci    r25, 0x81       ; 129
    5a76:       e4 b3           in      r30, 0x14       ; 20
    5a78:       d3 c1           rjmp    .+934           ; 0x5e20 <__stack+0x4d21>
    5a7a:       04 18           sub     r0, r4
    5a7c:       ce 03           fmulsu  r20, r22
    5a7e:       60 04           cpc     r6, r0
    5a80:       82 21           and     r24, r2
    5a82:       73 52           subi    r23, 0x23       ; 35
    5a84:       a8 fe           .word   0xfea8  ; ????
    5a86:       af 34           cpi     r26, 0x4F       ; 79
    5a88:       e2 02           muls    r30, r18
    5a8a:       20 90 c0 1b     lds     r2, 0x1BC0
    5a8e:       ad a3           std     Y+37, r26       ; 0x25
    5a90:       34 71           andi    r19, 0x14       ; 20
    5a92:       fb 9b           sbis    0x1f, 3 ; 31
    5a94:       f8 30           cpi     r31, 0x08       ; 8
    5a96:       07 2d           mov     r16, r7
    5a98:       28 89           ldd     r18, Y+16       ; 0x10
    5a9a:       d9 b4           in      r13, 0x29       ; 41
    5a9c:       20 9d           mul     r18, r0
    5a9e:       2c 35           cpi     r18, 0x5C       ; 92
    5aa0:       d4 30           cpi     r29, 0x04       ; 4
    5aa2:       f5 37           cpi     r31, 0x75       ; 117
    5aa4:       97 c8           rjmp    .-3794          ; 0x4bd4 <__stack+0x3ad5>
    5aa6:       a6 07           cpc     r26, r22
    5aa8:       a0 d1           rcall   .+832           ; 0x5dea <__stack+0x4ceb>
    5aaa:       86 bc           out     0x26, r8        ; 38
    5aac:       98 b9           out     0x08, r25       ; 8
    5aae:       30 68           ori     r19, 0x80       ; 128
    5ab0:       8f 01           movw    r16, r30
    5ab2:       a8 5e           subi    r26, 0xE8       ; 232
    5ab4:       4b df           rcall   .-362           ; 0x594c <__stack+0x484d>
    5ab6:       f4 f8           bld     r15, 4
    5ab8:       fb 41           sbci    r31, 0x1B       ; 27
    5aba:       c4 ce           rjmp    .-632           ; 0x5844 <__stack+0x4745>
    5abc:       19 e3           ldi     r17, 0x39       ; 57
    5abe:       6a 6c           ori     r22, 0xCA       ; 202
    5ac0:       bf c2           rjmp    .+1406          ; 0x6040 <__stack+0x4f41>
    5ac2:       6c 3c           cpi     r22, 0xCC       ; 204
    5ac4:       fe bf           out     0x3e, r31       ; 62
    5ac6:       fe cf           rjmp    .-4             ; 0x5ac4 <__stack+0x49c5>
    5ac8:       2c cb           rjmp    .-2472          ; 0x5122 <__stack+0x4023>
    5aca:       c8 cd           rjmp    .-1136          ; 0x565c <__stack+0x455d>
    5acc:       66 fe           sbrs    r6, 6
    5ace:       1b ec           ldi     r17, 0xCB       ; 203
    5ad0:       cc c8           rjmp    .-3688          ; 0x4c6a <__stack+0x3b6b>
    5ad2:       01 da           rcall   .-3070          ; 0x4ed6 <__stack+0x3dd7>
    5ad4:       fe 05           cpc     r31, r14
    5ad6:       b7 e3           ldi     r27, 0x37       ; 55
    5ad8:       7a 98           cbi     0x0f, 2 ; 15
    5ada:       c0 d7           rcall   .+3968          ; 0x6a5c <to_zx+0x50>
    5adc:       cf a5           ldd     r28, Y+47       ; 0x2f
    5ade:       3f bd           out     0x2f, r19       ; 47
    5ae0:       dd c5           rjmp    .+3002          ; 0x669c <_binary_top_mlz_size+0xe9>
    5ae2:       04 01           movw    r0, r8
    5ae4:       21 88           ldd     r2, Z+17        ; 0x11
    5ae6:       67 c8           rjmp    .-3890          ; 0x4bb6 <__stack+0x3ab7>
    5ae8:       30 10           cpse    r3, r0
    5aea:       fb 01           movw    r30, r22
    5aec:       c0 20           and     r12, r0
    5aee:       18 04           cpc     r1, r8
    5af0:       5c af           std     Y+60, r21       ; 0x3c
    5af2:       a5 3b           cpi     r26, 0xB5       ; 181
    5af4:       98 8b           std     Y+16, r25       ; 0x10
    5af6:       30 b4           in      r3, 0x20        ; 32
    5af8:       2a 84           ldd     r2, Y+10        ; 0x0a
    5afa:       a6 e4           ldi     r26, 0x46       ; 70
    5afc:       e8 fb           .word   0xfbe8  ; ????
    5afe:       20 c6           rjmp    .+3136          ; 0x6740 <_binary_top_mlz_size+0x18d>
    5b00:       ad c5           rjmp    .+2906          ; 0x665c <_binary_top_mlz_size+0xa9>
    5b02:       5d dc           rcall   .-1862          ; 0x53be <__stack+0x42bf>
    5b04:       49 f6           brne    .-110           ; 0x5a98 <__stack+0x4999>
    5b06:       7f ad           ldd     r23, Y+63       ; 0x3f
    5b08:       64 18           sub     r6, r4
    5b0a:       61 79           andi    r22, 0x91       ; 145
    5b0c:       0b 76           andi    r16, 0x6B       ; 107
    5b0e:       91 30           cpi     r25, 0x01       ; 1
    5b10:       1b 3f           cpi     r17, 0xFB       ; 251
    5b12:       d9 98           cbi     0x1b, 1 ; 27
    5b14:       10 80           ld      r1, Z
    5b16:       d9 8e           std     Y+25, r13       ; 0x19
    5b18:       08 d4           rcall   .+2064          ; 0x632a <__stack+0x522b>
    5b1a:       54 e7           ldi     r21, 0x74       ; 116
    5b1c:       ac 82           std     Y+4, r10        ; 0x04
    5b1e:       02 05           cpc     r16, r2
    5b20:       c4 23           and     r28, r20
    5b22:       64 e0           ldi     r22, 0x04       ; 4
    5b24:       44 80           ldd     r4, Z+4 ; 0x04
    5b26:       09 77           andi    r16, 0x79       ; 121
    5b28:       00 9b           sbis    0x00, 0 ; 0
    5b2a:       fc 67           ori     r31, 0x7C       ; 124
    5b2c:       7b 26           eor     r7, r27
    5b2e:       c1 0a           sbc     r12, r17
    5b30:       18 92           .word   0x9218  ; ????
    5b32:       e8 41           sbci    r30, 0x18       ; 24
    5b34:       c0 bd           out     0x20, r28       ; 32
    5b36:       98 16           cp      r9, r24
    5b38:       fc c0           rjmp    .+504           ; 0x5d32 <__stack+0x4c33>
    5b3a:       08 40           sbci    r16, 0x08       ; 8
    5b3c:       04 23           and     r16, r20
    5b3e:       60 5f           subi    r22, 0xF0       ; 240
    5b40:       8c 88           ldd     r8, Y+20        ; 0x14
    5b42:       09 31           cpi     r16, 0x19       ; 25
    5b44:       bc 0a           sbc     r11, r28
    5b46:       bd dc           rcall   .-1670          ; 0x54c2 <__stack+0x43c3>
    5b48:       06 4f           sbci    r16, 0xF6       ; 246
    5b4a:       c6 a0           ldd     r12, Z+38       ; 0x26
    5b4c:       09 46           sbci    r16, 0x69       ; 105
    5b4e:       c4 43           sbci    r28, 0x34       ; 52
    5b50:       66 73           andi    r22, 0x36       ; 54
    5b52:       12 43           sbci    r17, 0x32       ; 50
    5b54:       88 f3           brcs    .-30            ; 0x5b38 <__stack+0x4a39>
    5b56:       06 f0           brts    .+0             ; 0x5b58 <__stack+0x4a59>
    5b58:       40 02           muls    r20, r16
    5b5a:       10 03           mulsu   r17, r16
    5b5c:       38 60           ori     r19, 0x08       ; 8
    5b5e:       84 8c           ldd     r8, Z+28        ; 0x1c
    5b60:       d3 11           cpse    r29, r3
    5b62:       b3 c1           rjmp    .+870           ; 0x5eca <__stack+0x4dcb>
    5b64:       eb fb           .word   0xfbeb  ; ????
    5b66:       e0 81           ld      r30, Z
    5b68:       95 5d           subi    r25, 0xD5       ; 213
    5b6a:       70 e4           ldi     r23, 0x40       ; 64
    5b6c:       98 b0           in      r9, 0x08        ; 8
    5b6e:       59 d5           rcall   .+2738          ; 0x6622 <_binary_top_mlz_size+0x6f>
    5b70:       5e 98           cbi     0x0b, 6 ; 11
    5b72:       fe f1           brts    .+126           ; 0x5bf2 <__stack+0x4af3>
    5b74:       20 1e           adc     r2, r16
    5b76:       c0 83           st      Z, r28
    5b78:       78 10           cpse    r7, r8
    5b7a:       ca e5           ldi     r28, 0x5A       ; 90
    5b7c:       30 14           cp      r3, r0
    5b7e:       ab f8           .word   0xf8ab  ; ????
    5b80:       e2 41           sbci    r30, 0x12       ; 18
    5b82:       7f 16           cp      r7, r31
    5b84:       30 6e           ori     r19, 0xE0       ; 224
    5b86:       c8 78           andi    r28, 0x88       ; 136
    5b88:       2e 59           subi    r18, 0x9E       ; 158
    5b8a:       7b 30           cpi     r23, 0x0B       ; 11
    5b8c:       b0 40           sbci    r27, 0x00       ; 0
    5b8e:       0e c0           rjmp    .+28            ; 0x5bac <__stack+0x4aad>
    5b90:       4f 25           eor     r20, r15
    5b92:       98 ef           ldi     r25, 0xF8       ; 248
    5b94:       f9 d9           rcall   .-3086          ; 0x4f88 <__stack+0x3e89>
    5b96:       c8 5e           subi    r28, 0xE8       ; 232
    5b98:       f2 68           ori     r31, 0x82       ; 130
    5b9a:       3b 7f           andi    r19, 0xFB       ; 251
    5b9c:       9f e5           ldi     r25, 0x5F       ; 95
    5b9e:       9b bb           out     0x1b, r25       ; 27
    5ba0:       60 4f           sbci    r22, 0xF0       ; 240
    5ba2:       8a 7f           andi    r24, 0xFA       ; 250
    5ba4:       d7 cd           rjmp    .-1106          ; 0x5754 <__stack+0x4655>
    5ba6:       ed 54           subi    r30, 0x4D       ; 77
    5ba8:       b3 88           ldd     r11, Z+19       ; 0x13
    5baa:       d3 7e           andi    r29, 0xE3       ; 227
    5bac:       4b c8           rjmp    .-3946          ; 0x4c44 <__stack+0x3b45>
    5bae:       66 7f           andi    r22, 0xF6       ; 246
    5bb0:       1b 98           cbi     0x03, 3 ; 3
    5bb2:       2e 83           std     Y+6, r18        ; 0x06
    5bb4:       c7 d3           rcall   .+1934          ; 0x6344 <__stack+0x5245>
    5bb6:       f4 eb           ldi     r31, 0xB4       ; 180
    5bb8:       fb 59           subi    r31, 0x9B       ; 155
    5bba:       f5 41           sbci    r31, 0x15       ; 21
    5bbc:       c0 17           cp      r28, r16
    5bbe:       97 c5           rjmp    .+2862          ; 0x66ee <_binary_top_mlz_size+0x13b>
    5bc0:       6d 10           cpse    r6, r13
    5bc2:       84 4b           sbci    r24, 0xB4       ; 180
    5bc4:       b3 df           rcall   .-154           ; 0x5b2c <__stack+0x4a2d>
    5bc6:       c5 0a           sbc     r12, r21
    5bc8:       0c d0           rcall   .+24            ; 0x5be2 <__stack+0x4ae3>
    5bca:       48 30           cpi     r20, 0x08       ; 8
    5bcc:       b6 40           sbci    r27, 0x06       ; 6
    5bce:       0e 19           sub     r16, r14
    5bd0:       d4 19           sub     r29, r4
    5bd2:       5a c0           rjmp    .+180           ; 0x5c88 <__stack+0x4b89>
    5bd4:       e6 c8           rjmp    .-3636          ; 0x4da2 <__stack+0x3ca3>
    5bd6:       60 df           rcall   .-320           ; 0x5a98 <__stack+0x4999>
    5bd8:       d4 98           cbi     0x1a, 4 ; 26
    5bda:       08 86           std     Y+8, r0 ; 0x08
    5bdc:       99 22           and     r9, r25
    5bde:       19 91           ld      r17, Y+
    5be0:       ef f8           .word   0xf8ef  ; ????
    5be2:       f8 fa           .word   0xfaf8  ; ????
    5be4:       20 05           cpc     r18, r0
    5be6:       b6 b1           in      r27, 0x06       ; 6
    5be8:       10 eb           ldi     r17, 0xB0       ; 176
    5bea:       08 88           ldd     r0, Y+16        ; 0x10
    5bec:       30 66           ori     r19, 0x60       ; 96
    5bee:       33 4f           sbci    r19, 0xF3       ; 243
    5bf0:       1f 98           cbi     0x03, 7 ; 3
    5bf2:       91 22           and     r9, r17
    5bf4:       6c 0c           add     r6, r12
    5bf6:       8d af           std     Y+61, r24       ; 0x3d
    5bf8:       20 35           cpi     r18, 0x50       ; 80
    5bfa:       fa 5b           subi    r31, 0xBA       ; 186
    5bfc:       bb 50           subi    r27, 0x0B       ; 11
    5bfe:       7b dd           rcall   .-1290          ; 0x56f6 <__stack+0x45f7>
    5c00:       30 24           eor     r3, r0
    5c02:       8d 91           ld      r24, X+
    5c04:       02 0a           sbc     r0, r18
    5c06:       92 01           movw    r18, r4
    5c08:       ff 7f           andi    r31, 0xFF       ; 255
    5c0a:       ae 83           std     Y+6, r26        ; 0x06
    5c0c:       86 f1           brts    .+96            ; 0x5c6e <__stack+0x4b6f>
    5c0e:       65 d3           rcall   .+1738          ; 0x62da <__stack+0x51db>
    5c10:       5a 37           cpi     r21, 0x7A       ; 122
    5c12:       af a1           ldd     r26, Y+39       ; 0x27
    5c14:       6f 98           cbi     0x0d, 7 ; 13
    5c16:       b8 fb           .word   0xfbb8  ; ????
    5c18:       42 53           subi    r20, 0x32       ; 50
    5c1a:       04 77           andi    r16, 0x74       ; 116
    5c1c:       99 98           cbi     0x13, 1 ; 19
    5c1e:       1f 92           push    r1
    5c20:       5a 95           dec     r21
    5c22:       7a f8           .word   0xf87a  ; ????
    5c24:       90 d9           rcall   .-3296          ; 0x4f46 <__stack+0x3e47>
    5c26:       b3 02           muls    r27, r19
    5c28:       65 79           andi    r22, 0x95       ; 149
    5c2a:       90 c4           rjmp    .+2336          ; 0x654c <__stack+0x544d>
    5c2c:       50 ef           ldi     r21, 0xF0       ; 240
    5c2e:       6e d0           rcall   .+220           ; 0x5d0c <__stack+0x4c0d>
    5c30:       47 c6           rjmp    .+3214          ; 0x68c0 <update_keys+0xc2>
    5c32:       fb 98           cbi     0x1f, 3 ; 31
    5c34:       c0 ff           sbrs    r28, 0
    5c36:       03 81           ldd     r16, Z+3        ; 0x03
    5c38:       20 45           sbci    r18, 0x50       ; 80
    5c3a:       10 e2           ldi     r17, 0x20       ; 32
    5c3c:       98 be           out     0x38, r9        ; 56
    5c3e:       f3 ec           ldi     r31, 0xC3       ; 195
    5c40:       f8 30           cpi     r31, 0x08       ; 8
    5c42:       64 d4           rcall   .+2248          ; 0x650c <__stack+0x540d>
    5c44:       40 53           subi    r20, 0x30       ; 48
    5c46:       d9 e9           ldi     r29, 0x99       ; 153
    5c48:       0c dd           rcall   .-1512          ; 0x5662 <__stack+0x4563>
    5c4a:       64 80           ldd     r6, Z+4 ; 0x04
    5c4c:       41 96           adiw    r24, 0x11       ; 17
    5c4e:       26 24           eor     r2, r6
    5c50:       a3 d3           rcall   .+1862          ; 0x6398 <__stack+0x5299>
    5c52:       e0 08           sbc     r14, r0
    5c54:       72 e7           ldi     r23, 0x72       ; 114
    5c56:       1e 8b           std     Y+22, r17       ; 0x16
    5c58:       fb d5           rcall   .+3062          ; 0x6850 <update_keys+0x52>
    5c5a:       37 41           sbci    r19, 0x17       ; 23
    5c5c:       cf 69           ori     r28, 0x9F       ; 159
    5c5e:       fa 84           ldd     r15, Y+10       ; 0x0a
    5c60:       05 30           cpi     r16, 0x05       ; 5
    5c62:       a7 92           .word   0x92a7  ; ????
    5c64:       f3 99           sbic    0x1e, 3 ; 30
    5c66:       44 10           cpse    r4, r4
    5c68:       a5 09           sbc     r26, r5
    5c6a:       e0 11           cpse    r30, r0
    5c6c:       af 2b           or      r26, r31
    5c6e:       30 21           and     r19, r0
    5c70:       5d e0           ldi     r21, 0x0D       ; 13
    5c72:       82 04           cpc     r8, r2
    5c74:       06 c6           rjmp    .+3084          ; 0x6882 <update_keys+0x84>
    5c76:       51 57           subi    r21, 0x71       ; 113
    5c78:       a7 13           cpse    r26, r23
    5c7a:       20 b3           in      r18, 0x10       ; 16
    5c7c:       11 26           eor     r1, r17
    5c7e:       30 e0           ldi     r19, 0x00       ; 0
    5c80:       98 1e           adc     r9, r24
    5c82:       5c 91           ld      r21, X
    5c84:       10 e0           ldi     r17, 0x00       ; 0
    5c86:       6b 02           muls    r22, r27
    5c88:       be 37           cpi     r27, 0x7E       ; 126
    5c8a:       13 04           cpc     r1, r3
    5c8c:       82 01           movw    r16, r4
    5c8e:       ed 7f           andi    r30, 0xFD       ; 253
    5c90:       fc 92           st      X, r15
    5c92:       fd 84           ldd     r15, Y+13       ; 0x0d
    5c94:       89 30           cpi     r24, 0x09       ; 9
    5c96:       20 46           sbci    r18, 0x60       ; 96
    5c98:       27 74           andi    r18, 0x47       ; 71
    5c9a:       ed 43           sbci    r30, 0x3D       ; 61
    5c9c:       60 bf           out     0x30, r22       ; 48
    5c9e:       22 f8           bld     r2, 2
    5ca0:       e3 26           eor     r14, r19
    5ca2:       c4 10           cpse    r12, r4
    5ca4:       58 05           cpc     r21, r8
    5ca6:       5d dd           rcall   .-1350          ; 0x5762 <__stack+0x4663>
    5ca8:       36 e0           ldi     r19, 0x06       ; 6
    5caa:       31 cb           rjmp    .-2462          ; 0x530e <__stack+0x420f>
    5cac:       66 06           cpc     r6, r22
    5cae:       57 f8           bld     r5, 7
    5cb0:       83 91           .word   0x9183  ; ????
    5cb2:       30 ff           sbrs    r19, 0
    5cb4:       02 46           sbci    r16, 0x62       ; 98
    5cb6:       c0 04           cpc     r12, r0
    5cb8:       59 08           sbc     r5, r9
    5cba:       03 62           ori     r16, 0x23       ; 35
    5cbc:       43 89           ldd     r20, Z+19       ; 0x13
    5cbe:       3c 0a           sbc     r3, r28
    5cc0:       29 b4           in      r2, 0x29        ; 41
    5cc2:       b3 23           and     r27, r19
    5cc4:       0b 20           and     r0, r11
    5cc6:       2c 27           eor     r18, r28
    5cc8:       79 f5           brne    .+94            ; 0x5d28 <__stack+0x4c29>
    5cca:       a0 ff           sbrs    r26, 0
    5ccc:       7e 75           andi    r23, 0x5E       ; 94
    5cce:       c8 31           cpi     r28, 0x18       ; 24
    5cd0:       40 c5           rjmp    .+2688          ; 0x6752 <_binary_top_mlz_size+0x19f>
    5cd2:       30 e6           ldi     r19, 0x60       ; 96
    5cd4:       c5 fc           sbrc    r12, 5
    5cd6:       30 02           muls    r19, r16
    5cd8:       7a 1e           adc     r7, r26
    5cda:       0f e2           ldi     r16, 0x2F       ; 47
    5cdc:       1f 3c           cpi     r17, 0xCF       ; 207
    5cde:       08 05           cpc     r16, r8
    5ce0:       6a 66           ori     r22, 0x6A       ; 106
    5ce2:       b7 02           muls    r27, r23
    5ce4:       cd d5           rcall   .+2970          ; 0x6880 <update_keys+0x82>
    5ce6:       90 dc           rcall   .-1760          ; 0x5608 <__stack+0x4509>
    5ce8:       30 5e           subi    r19, 0xE0       ; 224
    5cea:       a5 69           ori     r26, 0x95       ; 149
    5cec:       e4 98           cbi     0x1c, 4 ; 28
    5cee:       46 5c           subi    r20, 0xC6       ; 198
    5cf0:       30 7f           andi    r19, 0xF0       ; 240
    5cf2:       93 5e           subi    r25, 0xE3       ; 227
    5cf4:       76 fa           bst     r7, 6
    5cf6:       88 77           andi    r24, 0x78       ; 120
    5cf8:       dd 1f           adc     r29, r29
    5cfa:       e5 b8           out     0x05, r14       ; 5
    5cfc:       e0 a5           ldd     r30, Z+40       ; 0x28
    5cfe:       8b 06           cpc     r8, r27
    5d00:       6e 7d           andi    r22, 0xDE       ; 222
    5d02:       7d 60           ori     r23, 0x0D       ; 13
    5d04:       40 0c           add     r4, r0
    5d06:       84 81           ldd     r24, Z+4        ; 0x04
    5d08:       88 e6           ldi     r24, 0x68       ; 104
    5d0a:       c8 30           cpi     r28, 0x08       ; 8
    5d0c:       d8 e0           ldi     r29, 0x08       ; 8
    5d0e:       fd 00           .word   0x00fd  ; ????
    5d10:       54 e1           ldi     r21, 0x14       ; 20
    5d12:       66 59           subi    r22, 0x96       ; 150
    5d14:       7f 16           cp      r7, r31
    5d16:       ea a7           std     Y+42, r30       ; 0x2a
    5d18:       91 fa           bst     r9, 1
    5d1a:       fa 32           cpi     r31, 0x2A       ; 42
    5d1c:       40 22           and     r4, r16
    5d1e:       3a ae           std     Y+58, r3        ; 0x3a
    5d20:       21 30           cpi     r18, 0x01       ; 1
    5d22:       e0 26           eor     r14, r16
    5d24:       6a b3           in      r22, 0x1a       ; 26
    5d26:       c0 11           cpse    r28, r0
    5d28:       21 e6           ldi     r18, 0x61       ; 97
    5d2a:       24 80           ldd     r2, Z+4 ; 0x04
    5d2c:       09 d3           rcall   .+1554          ; 0x6340 <__stack+0x5241>
    5d2e:       08 d4           rcall   .+2064          ; 0x6540 <__stack+0x5441>
    5d30:       bb c8           rjmp    .-3722          ; 0x4ea8 <__stack+0x3da9>
    5d32:       6b b3           in      r22, 0x1b       ; 27
    5d34:       12 46           sbci    r17, 0x62       ; 98
    5d36:       37 5b           subi    r19, 0xB7       ; 183
    5d38:       09 ad           ldd     r16, Y+57       ; 0x39
    5d3a:       86 01           movw    r16, r12
    5d3c:       1e b3           in      r17, 0x1e       ; 30
    5d3e:       81 91           ld      r24, Z+
    5d40:       60 80           ld      r6, Z
    5d42:       57 b3           in      r21, 0x17       ; 23
    5d44:       b1 98           cbi     0x16, 1 ; 22
    5d46:       a8 fa           .word   0xfaa8  ; ????
    5d48:       38 10           cpse    r3, r8
    5d4a:       04 8a           std     Z+20, r0        ; 0x14
    5d4c:       b1 90           ld      r11, Z+
    5d4e:       31 1a           sub     r3, r17
    5d50:       40 f8           bld     r4, 0
    5d52:       08 41           sbci    r16, 0x18       ; 24
    5d54:       29 2e           mov     r2, r25
    5d56:       f0 e9           ldi     r31, 0x90       ; 144
    5d58:       10 88           ldd     r1, Z+16        ; 0x10
    5d5a:       d7 01           movw    r26, r14
    5d5c:       30 c1           rjmp    .+608           ; 0x5fbe <__stack+0x4ebf>
    5d5e:       81 22           and     r8, r17
    5d60:       6f c6           rjmp    .+3294          ; 0x6a40 <to_zx+0x34>
    5d62:       30 dd           rcall   .-1440          ; 0x57c4 <__stack+0x46c5>
    5d64:       f6 3c           cpi     r31, 0xC6       ; 198
    5d66:       36 34           cpi     r19, 0x46       ; 70
    5d68:       81 10           cpse    r8, r1
    5d6a:       d1 e4           ldi     r29, 0x41       ; 65
    5d6c:       42 fc           sbrc    r4, 2
    5d6e:       c2 19           sub     r28, r2
    5d70:       b4 87           std     Z+12, r27       ; 0x0c
    5d72:       fc c6           rjmp    .+3576          ; 0x6b6c <to_zx+0x160>
    5d74:       10 49           sbci    r17, 0x90       ; 144
    5d76:       03 01           movw    r0, r6
    5d78:       20 8a           std     Z+16, r2        ; 0x10
    5d7a:       04 85           ldd     r16, Z+12       ; 0x0c
    5d7c:       b3 9f           mul     r27, r19
    5d7e:       7b 64           ori     r23, 0x4B       ; 75
    5d80:       c1 40           sbci    r28, 0x01       ; 1
    5d82:       46 19           sub     r20, r6
    5d84:       4b ca           rjmp    .-2922          ; 0x521c <__stack+0x411d>
    5d86:       08 81           ld      r16, Y
    5d88:       b8 40           sbci    r27, 0x08       ; 8
    5d8a:       d1 cf           rjmp    .-94            ; 0x5d2e <__stack+0x4c2f>
    5d8c:       ea b1           in      r30, 0x0a       ; 10
    5d8e:       2c ed           ldi     r18, 0xDC       ; 220
    5d90:       b7 9b           sbis    0x16, 7 ; 22
    5d92:       cb fc           .word   0xfccb  ; ????
    5d94:       ff 07           cpc     r31, r31
    5d96:       18 5c           subi    r17, 0xC8       ; 200
    5d98:       7d 68           ori     r23, 0x8D       ; 141
    5d9a:       ee c0           rjmp    .+476           ; 0x5f78 <__stack+0x4e79>
    5d9c:       28 f9           .word   0xf928  ; ????
    5d9e:       25 e0           ldi     r18, 0x05       ; 5
    5da0:       aa 72           andi    r26, 0x2A       ; 42
    5da2:       30 c8           rjmp    .-4000          ; 0x4e04 <__stack+0x3d05>
    5da4:       e3 bc           out     0x23, r14       ; 35
    5da6:       7c f8           .word   0xf87c  ; ????
    5da8:       c8 02           muls    r28, r24
    5daa:       60 20           and     r6, r0
    5dac:       0c 48           sbci    r16, 0x8C       ; 140
    5dae:       84 23           and     r24, r20
    5db0:       33 d3           rcall   .+1638          ; 0x6418 <__stack+0x5319>
    5db2:       97 60           ori     r25, 0x07       ; 7
    5db4:       ed 10           cpse    r14, r13
    5db6:       91 06           cpc     r9, r17
    5db8:       e0 03           fmuls   r22, r16
    5dba:       69 e7           ldi     r22, 0x79       ; 121
    5dbc:       98 fd           .word   0xfd98  ; ????
    5dbe:       d6 2e           mov     r13, r22
    5dc0:       79 41           sbci    r23, 0x19       ; 25
    5dc2:       d1 e1           ldi     r29, 0x11       ; 17
    5dc4:       fd dd           rcall   .-1030          ; 0x59c0 <__stack+0x48c1>
    5dc6:       d8 fb           .word   0xfbd8  ; ????
    5dc8:       df bc           out     0x2f, r13       ; 47
    5dca:       42 c1           rjmp    .+644           ; 0x6050 <__stack+0x4f51>
    5dcc:       80 58           subi    r24, 0x80       ; 128
    5dce:       31 1a           sub     r3, r17
    5dd0:       02 6d           ori     r16, 0xD2       ; 210
    5dd2:       8c f3           brlt    .-30            ; 0x5db6 <__stack+0x4cb7>
    5dd4:       c8 21           and     r28, r8
    5dd6:       9e 44           sbci    r25, 0x4E       ; 78
    5dd8:       98 80           ld      r9, Y
    5dda:       11 32           cpi     r17, 0x21       ; 33
    5ddc:       ce e2           ldi     r28, 0x2E       ; 46
    5dde:       30 68           ori     r19, 0x80       ; 128
    5de0:       66 02           muls    r22, r22
    5de2:       22 bf           out     0x32, r18       ; 50
    5de4:       2b ff           .word   0xff2b  ; ????
    5de6:       b3 44           sbci    r27, 0x43       ; 67
    5de8:       69 ce           rjmp    .-814           ; 0x5abc <__stack+0x49bd>
    5dea:       03 05           cpc     r16, r3
    5dec:       11 60           ori     r17, 0x01       ; 1
    5dee:       04 8c           ldd     r0, Z+28        ; 0x1c
    5df0:       ae a0           ldd     r10, Y+38       ; 0x26
    5df2:       cf 46           sbci    r28, 0x6F       ; 111
    5df4:       fe cd           rjmp    .-1028          ; 0x59f2 <__stack+0x48f3>
    5df6:       01 12           cpse    r0, r17
    5df8:       c6 d7           rcall   .+3980          ; 0x6d86 <zx_task+0x114>
    5dfa:       c0 88           ldd     r12, Z+16       ; 0x10
    5dfc:       f8 5f           subi    r31, 0xF8       ; 248
    5dfe:       40 21           and     r20, r0
    5e00:       80 30           cpi     r24, 0x00       ; 0
    5e02:       11 57           subi    r17, 0x71       ; 113
    5e04:       2b 30           cpi     r18, 0x0B       ; 11
    5e06:       42 39           cpi     r20, 0x92       ; 146
    5e08:       f5 01           movw    r30, r10
    5e0a:       44 ab           std     Z+52, r20       ; 0x34
    5e0c:       ec 40           sbci    r30, 0x0C       ; 12
    5e0e:       30 09           sbc     r19, r0
    5e10:       d0 19           sub     r29, r0
    5e12:       1b 05           cpc     r17, r11
    5e14:       b0 b9           out     0x00, r27       ; 0
    5e16:       10 09           sbc     r17, r0
    5e18:       9b 20           and     r9, r11
    5e1a:       5c 14           cp      r5, r12
    5e1c:       ff 7f           andi    r31, 0xFF       ; 255
    5e1e:       26 4f           sbci    r18, 0xF6       ; 246
    5e20:       ec 08           sbc     r14, r12
    5e22:       03 64           ori     r16, 0x43       ; 67
    5e24:       04 21           and     r16, r4
    5e26:       b7 1d           adc     r27, r7
    5e28:       7e d0           rcall   .+252           ; 0x5f26 <__stack+0x4e27>
    5e2a:       f8 78           andi    r31, 0x88       ; 136
    5e2c:       c5 bb           out     0x15, r28       ; 21
    5e2e:       ea 3b           cpi     r30, 0xBA       ; 186
    5e30:       c8 81           ld      r28, Y
    5e32:       18 b8           out     0x08, r1        ; 8
    5e34:       6a 3a           cpi     r22, 0xAA       ; 170
    5e36:       e2 30           cpi     r30, 0x02       ; 2
    5e38:       f3 98           cbi     0x1e, 3 ; 30
    5e3a:       f8 5d           subi    r31, 0xD8       ; 216
    5e3c:       4b e6           ldi     r20, 0x6B       ; 107
    5e3e:       7d 33           cpi     r23, 0x3D       ; 61
    5e40:       fe 7f           andi    r31, 0xFE       ; 254
    5e42:       e0 41           sbci    r30, 0x10       ; 16
    5e44:       3c a0           ldd     r3, Y+36        ; 0x24
    5e46:       96 e0           ldi     r25, 0x06       ; 6
    5e48:       16 bc           out     0x26, r1        ; 38
    5e4a:       30 59           subi    r19, 0x90       ; 144
    5e4c:       bb 35           cpi     r27, 0x5B       ; 91
    5e4e:       e7 06           cpc     r14, r23
    5e50:       ee 8b           std     Y+22, r30       ; 0x16
    5e52:       20 0f           add     r18, r16
    5e54:       60 95           com     r22
    5e56:       de 28           or      r13, r14
    5e58:       e5 e5           ldi     r30, 0x55       ; 85
    5e5a:       db e9           ldi     r29, 0x9B       ; 155
    5e5c:       c2 b8           out     0x02, r12       ; 2
    5e5e:       a1 ff           sbrs    r26, 1
    5e60:       37 d2           rcall   .+1134          ; 0x62d0 <__stack+0x51d1>
    5e62:       cd c8           rjmp    .-3686          ; 0x4ffe <__stack+0x3eff>
    5e64:       40 79           andi    r20, 0x90       ; 144
    5e66:       8b bf           out     0x3b, r24       ; 59
    5e68:       ac e5           ldi     r26, 0x5C       ; 92
    5e6a:       40 af           std     Z+56, r20       ; 0x38
    5e6c:       15 98           cbi     0x02, 5 ; 2
    5e6e:       d3 c6           rjmp    .+3494          ; 0x6c16 <zx_wait_task+0x74>
    5e70:       cc be           out     0x3c, r12       ; 60
    5e72:       98 bf           out     0x38, r25       ; 56
    5e74:       06 eb           ldi     r16, 0xB6       ; 182
    5e76:       cc f7           brge    .-14            ; 0x5e6a <__stack+0x4d6b>
    5e78:       9f 82           std     Y+7, r9 ; 0x07
    5e7a:       66 10           cpse    r6, r6
    5e7c:       f8 4f           sbci    r31, 0xF8       ; 248
    5e7e:       e0 46           sbci    r30, 0x60       ; 96
    5e80:       17 60           ori     r17, 0x07       ; 7
    5e82:       22 a7           std     Z+42, r18       ; 0x2a
    5e84:       18 83           st      Y, r17
    5e86:       24 2c           mov     r2, r4
    5e88:       90 6a           ori     r25, 0xA0       ; 160
    5e8a:       b3 fa           bst     r11, 3
    5e8c:       80 23           and     r24, r16
    5e8e:       61 02           muls    r22, r17
    5e90:       0c cc           rjmp    .-2024          ; 0x56aa <__stack+0x45ab>
    5e92:       8e 40           sbci    r24, 0x0E       ; 14
    5e94:       26 7f           andi    r18, 0xF6       ; 246
    5e96:       b3 4b           sbci    r27, 0xB3       ; 179
    5e98:       40 46           sbci    r20, 0x60       ; 96
    5e9a:       e0 98           cbi     0x1c, 0 ; 28
    5e9c:       19 bf           out     0x39, r17       ; 57
    5e9e:       1d 30           cpi     r17, 0x0D       ; 13
    5ea0:       cc ca           rjmp    .-2664          ; 0x543a <__stack+0x433b>
    5ea2:       23 21           and     r18, r3
    5ea4:       bb d3           rcall   .+1910          ; 0x661c <_binary_top_mlz_size+0x69>
    5ea6:       7c 0f           add     r23, r28
    5ea8:       70 fe           sbrs    r7, 0
    5eaa:       20 2c           mov     r2, r0
    5eac:       35 80           ldd     r3, Z+5 ; 0x05
    5eae:       7f 10           cpse    r7, r15
    5eb0:       04 1a           sub     r0, r20
    5eb2:       51 34           cpi     r21, 0x41       ; 65
    5eb4:       90 21           and     r25, r0
    5eb6:       b5 d7           rcall   .+3946          ; 0x6e22 <zx_task+0x1b0>
    5eb8:       84 20           and     r8, r4
    5eba:       bf 98           cbi     0x17, 7 ; 23
    5ebc:       92 48           sbci    r25, 0x82       ; 130
    5ebe:       0a 09           sbc     r16, r10
    5ec0:       24 0d           add     r18, r4
    5ec2:       77 c4           rjmp    .+2286          ; 0x67b2 <.do_clear_bss_start+0x2>
    5ec4:       2b 6a           ori     r18, 0xAB       ; 171
    5ec6:       66 6f           ori     r22, 0xF6       ; 246
    5ec8:       dd 17           cp      r29, r29
    5eca:       a4 a0           ldd     r10, Z+36       ; 0x24
    5ecc:       70 30           cpi     r23, 0x00       ; 0
    5ece:       0c 41           sbci    r16, 0x1C       ; 28
    5ed0:       13 43           sbci    r17, 0x33       ; 51
    5ed2:       83 20           and     r8, r3
    5ed4:       44 87           std     Z+12, r20       ; 0x0c
    5ed6:       fc c3           rjmp    .+2040          ; 0x66d0 <_binary_top_mlz_size+0x11d>
    5ed8:       0a 05           cpc     r16, r10
    5eda:       c0 28           or      r12, r0
    5edc:       02 a4           ldd     r0, Z+42        ; 0x2a
    5ede:       a0 de           rcall   .-704           ; 0x5c20 <__stack+0x4b21>
    5ee0:       e0 95           com     r30
    5ee2:       19 1a           sub     r1, r25
    5ee4:       d0 05           cpc     r29, r0
    5ee6:       9e d6           rcall   .+3388          ; 0x6c24 <zx_wait_task+0x82>
    5ee8:       b5 0c           add     r11, r5
    5eea:       fa 96           adiw    r30, 0x3a       ; 58
    5eec:       3f 19           sub     r19, r15
    5eee:       6b a2           std     Y+35, r6        ; 0x23
    5ef0:       6c 7b           andi    r22, 0xBC       ; 188
    5ef2:       e2 ff           sbrs    r30, 2
    5ef4:       3b ee           ldi     r19, 0xEB       ; 235
    5ef6:       d6 2d           mov     r29, r6
    5ef8:       03 a4           ldd     r0, Z+43        ; 0x2b
    5efa:       a2 91           ld      r26, -Z
    5efc:       bb 08           sbc     r11, r11
    5efe:       cf 44           sbci    r28, 0x4F       ; 79
    5f00:       f6 aa           std     Z+54, r15       ; 0x36
    5f02:       38 fd           .word   0xfd38  ; ????
    5f04:       57 9a           sbi     0x0a, 7 ; 10
    5f06:       a1 a8           ldd     r10, Z+49       ; 0x31
    5f08:       c1 44           sbci    r28, 0x41       ; 65
    5f0a:       1e 26           eor     r1, r30
    5f0c:       f7 f0           brie    .+60            ; 0x5f4a <__stack+0x4e4b>
    5f0e:       48 88           ldd     r4, Y+16        ; 0x10
    5f10:       ae 43           sbci    r26, 0x3E       ; 62
    5f12:       bc e3           ldi     r27, 0x3C       ; 60
    5f14:       b5 08           sbc     r11, r5
    5f16:       42 40           sbci    r20, 0x02       ; 2
    5f18:       a3 1a           sub     r10, r19
    5f1a:       ad 66           ori     r26, 0x6D       ; 109
    5f1c:       04 f4           brge    .+0             ; 0x5f1e <__stack+0x4e1f>
    5f1e:       13 6e           ori     r17, 0xE3       ; 227
    5f20:       72 32           cpi     r23, 0x22       ; 34
    5f22:       4a 4d           sbci    r20, 0xDA       ; 218
    5f24:       11 90           ld      r1, Z+
    5f26:       e3 30           cpi     r30, 0x03       ; 3
    5f28:       bf 9c           mul     r11, r15
    5f2a:       0e 99           sbic    0x01, 6 ; 1
    5f2c:       88 0c           add     r8, r8
    5f2e:       20 d8           rcall   .-4032          ; 0x4f70 <__stack+0x3e71>
    5f30:       76 b5           in      r23, 0x26       ; 38
    5f32:       af fd           .word   0xfdaf  ; ????
    5f34:       88 9e           mul     r8, r24
    5f36:       0d 22           and     r0, r29
    5f38:       40 02           muls    r20, r16
    5f3a:       b2 30           cpi     r27, 0x02       ; 2
    5f3c:       bc 44           sbci    r27, 0x4C       ; 76
    5f3e:       94 4a           sbci    r25, 0xA4       ; 164
    5f40:       85 b5           in      r24, 0x25       ; 37
    5f42:       8a 18           sub     r8, r10
    5f44:       47 86           std     Z+15, r4        ; 0x0f
    5f46:       b2 4c           sbci    r27, 0xC2       ; 194
    5f48:       3c 4d           sbci    r19, 0xDC       ; 220
    5f4a:       dc f7           brge    .-10            ; 0x5f42 <__stack+0x4e43>
    5f4c:       7b ce           rjmp    .-778           ; 0x5c44 <__stack+0x4b45>
    5f4e:       11 22           and     r1, r17
    5f50:       06 9b           sbis    0x00, 6 ; 0
    5f52:       71 23           and     r23, r17
    5f54:       08 c5           rjmp    .+2576          ; 0x6966 <zx_fifo_copy+0xc>
    5f56:       9d 37           cpi     r25, 0x7D       ; 125
    5f58:       24 19           sub     r18, r4
    5f5a:       41 b3           in      r20, 0x11       ; 17
    5f5c:       af e7           ldi     r26, 0x7F       ; 127
    5f5e:       2d 8b           std     Y+21, r18       ; 0x15
    5f60:       af 96           adiw    r28, 0x2f       ; 47
    5f62:       8c b9           out     0x0c, r24       ; 12
    5f64:       b4 dc           rcall   .-1688          ; 0x58ce <__stack+0x47cf>
    5f66:       79 26           eor     r7, r25
    5f68:       83 40           sbci    r24, 0x03       ; 3
    5f6a:       80 fe           sbrs    r8, 0
    5f6c:       fe 11           cpse    r31, r14
    5f6e:       90 10           cpse    r9, r0
    5f70:       26 c0           rjmp    .+76            ; 0x5fbe <__stack+0x4ebf>
    5f72:       24 98           cbi     0x04, 4 ; 4
    5f74:       1c 13           cpse    r17, r28
    5f76:       fd a1           ldd     r31, Y+37       ; 0x25
    5f78:       4c 84           ldd     r4, Y+12        ; 0x0c
    5f7a:       11 31           cpi     r17, 0x11       ; 17
    5f7c:       22 b6           in      r2, 0x32        ; 50
    5f7e:       db 04           cpc     r13, r11
    5f80:       2e 1b           sub     r18, r30
    5f82:       30 e5           ldi     r19, 0x50       ; 80
    5f84:       30 18           sub     r3, r0
    5f86:       dc 03           fmulsu  r21, r20
    5f88:       e2 01           movw    r28, r4
    5f8a:       0c 82           std     Y+4, r0 ; 0x04
    5f8c:       f7 b0           in      r15, 0x07       ; 7
    5f8e:       10 16           cp      r1, r16
    5f90:       6f 1d           adc     r22, r15
    5f92:       0b 62           ori     r16, 0x2B       ; 43
    5f94:       16 2c           mov     r1, r6
    5f96:       87 90           elpm    r8, Z+
    5f98:       7c f8           .word   0xf87c  ; ????
    5f9a:       e0 07           cpc     r30, r16
    5f9c:       3d 90           ld      r3, X+
    5f9e:       f9 01           movw    r30, r18
    5fa0:       f2 80           ldd     r15, Z+2        ; 0x02
    5fa2:       16 c0           rjmp    .+44            ; 0x5fd0 <__stack+0x4ed1>
    5fa4:       0d 3d           cpi     r16, 0xDD       ; 221
    5fa6:       46 e4           ldi     r20, 0x46       ; 70
    5fa8:       01 2d           mov     r16, r1
    5faa:       fe 98           cbi     0x1f, 6 ; 31
    5fac:       81 c0           rjmp    .+258           ; 0x60b0 <__stack+0x4fb1>
    5fae:       19 bf           out     0x39, r17       ; 57
    5fb0:       20 cc           rjmp    .-1984          ; 0x57f2 <__stack+0x46f3>
    5fb2:       98 d1           rcall   .+816           ; 0x62e4 <__stack+0x51e5>
    5fb4:       ff 7d           andi    r31, 0xDF       ; 223
    5fb6:       d7 1c           adc     r13, r7
    5fb8:       a0 17           cp      r26, r16
    5fba:       30 16           cp      r3, r16
    5fbc:       3d 6e           ori     r19, 0xED       ; 237
    5fbe:       a8 20           and     r10, r8
    5fc0:       da f6           brpl    .-74            ; 0x5f78 <__stack+0x4e79>
    5fc2:       cd 4b           sbci    r28, 0xBD       ; 189
    5fc4:       c4 cd           rjmp    .-1144          ; 0x5b4e <__stack+0x4a4f>
    5fc6:       f3 e4           ldi     r31, 0x43       ; 67
    5fc8:       81 7f           andi    r24, 0xF1       ; 241
    5fca:       cc fe           .word   0xfecc  ; ????
    5fcc:       84 3d           cpi     r24, 0xD4       ; 212
    5fce:       66 20           and     r6, r6
    5fd0:       06 c2           rjmp    .+1036          ; 0x63de <__stack+0x52df>
    5fd2:       70 7d           andi    r23, 0xD0       ; 208
    5fd4:       bb 68           ori     r27, 0x8B       ; 139
    5fd6:       37 e8           ldi     r19, 0x87       ; 135
    5fd8:       10 f8           bld     r1, 0
    5fda:       e5 af           std     Z+61, r30       ; 0x3d
    5fdc:       37 16           cp      r3, r23
    5fde:       8b f3           brvs    .-30            ; 0x5fc2 <__stack+0x4ec3>
    5fe0:       77 1f           adc     r23, r23
    5fe2:       30 d6           rcall   .+3168          ; 0x6c44 <zx_mouse_task+0xa>
    5fe4:       17 dc           rcall   .-2002          ; 0x5814 <__stack+0x4715>
    5fe6:       30 b5           in      r19, 0x20       ; 32
    5fe8:       0c f1           brlt    .+66            ; 0x602c <__stack+0x4f2d>
    5fea:       98 4a           sbci    r25, 0xA8       ; 168
    5fec:       69 95           .word   0x9569  ; ????
    5fee:       9b ef           ldi     r25, 0xFB       ; 251
    5ff0:       50 fb           bst     r21, 0
    5ff2:       c0 91 b0 09     lds     r28, 0x09B0
    5ff6:       6e 76           andi    r22, 0x6E       ; 110
    5ff8:       10 bf           out     0x30, r17       ; 48
    5ffa:       cc 08           sbc     r12, r12
    5ffc:       15 dc           rcall   .-2006          ; 0x5828 <__stack+0x4729>
    5ffe:       50 4e           sbci    r21, 0xE0       ; 224
    6000:       d3 8c           ldd     r13, Z+27       ; 0x1b
    6002:       04 a1           ldd     r16, Z+36       ; 0x24
    6004:       22 db           rcall   .-2492          ; 0x564a <__stack+0x454b>
    6006:       76 3c           cpi     r23, 0xC6       ; 198
    6008:       b3 73           andi    r27, 0x33       ; 51
    600a:       8f 91           pop     r24
    600c:       38 19           sub     r19, r8
    600e:       c2 72           andi    r28, 0x22       ; 34
    6010:       b3 64           ori     r27, 0x43       ; 67
    6012:       e3 c0           rjmp    .+454           ; 0x61da <__stack+0x50db>
    6014:       d9 b3           in      r29, 0x19       ; 25
    6016:       10 05           cpc     r17, r0
    6018:       b3 97           sbiw    r30, 0x23       ; 35
    601a:       12 f3           brmi    .-60            ; 0x5fe0 <__stack+0x4ee1>
    601c:       7f fb           .word   0xfb7f  ; ????
    601e:       f9 20           and     r15, r9
    6020:       c5 44           sbci    r28, 0x45       ; 69
    6022:       b4 5f           subi    r27, 0xF4       ; 244
    6024:       95 9c           mul     r9, r5
    6026:       1b 68           ori     r17, 0x8B       ; 139
    6028:       49 41           sbci    r20, 0x19       ; 25
    602a:       78 28           or      r7, r8
    602c:       6f e7           ldi     r22, 0x7F       ; 127
    602e:       30 02           muls    r19, r16
    6030:       51 8a           std     Z+17, r5        ; 0x11
    6032:       ee 68           ori     r30, 0x8E       ; 142
    6034:       01 41           sbci    r16, 0x11       ; 17
    6036:       fb 0c           add     r15, r11
    6038:       39 b2           in      r3, 0x19        ; 25
    603a:       50 fc           sbrc    r5, 0
    603c:       84 c0           rjmp    .+264           ; 0x6146 <__stack+0x5047>
    603e:       10 90 44 92     lds     r1, 0x9244
    6042:       af 89           ldd     r26, Y+23       ; 0x17
    6044:       3f 98           cbi     0x07, 7 ; 7
    6046:       86 30           cpi     r24, 0x06       ; 6
    6048:       7b 1a           sub     r7, r27
    604a:       80 63           ori     r24, 0x30       ; 48
    604c:       1a 84           ldd     r1, Y+10        ; 0x0a
    604e:       48 5c           subi    r20, 0xC8       ; 200
    6050:       34 fa           bst     r3, 4
    6052:       53 28           or      r5, r3
    6054:       b4 93           .word   0x93b4  ; ????
    6056:       8d e3           ldi     r24, 0x3D       ; 61
    6058:       c9 ff           .word   0xffc9  ; ????
    605a:       f3 40           sbci    r31, 0x03       ; 3
    605c:       7f 19           sub     r23, r15
    605e:       bf ba           out     0x1f, r11       ; 31
    6060:       15 b7           in      r17, 0x35       ; 53
    6062:       01 fd           sbrc    r16, 1
    6064:       25 01           movw    r4, r10
    6066:       95 cc           rjmp    .-1750          ; 0x5992 <__stack+0x4893>
    6068:       30 01           movw    r6, r0
    606a:       40 bb           out     0x10, r20       ; 16
    606c:       eb 55           subi    r30, 0x5B       ; 91
    606e:       fc fd           .word   0xfdfc  ; ????
    6070:       e4 e1           ldi     r30, 0x14       ; 20
    6072:       c5 4a           sbci    r28, 0xA5       ; 165
    6074:       50 80           ld      r5, Z
    6076:       f3 74           andi    r31, 0x43       ; 67
    6078:       5c af           std     Y+60, r21       ; 0x3c
    607a:       c8 cd           rjmp    .-1136          ; 0x5c0c <__stack+0x4b0d>
    607c:       cc 62           ori     r28, 0x2C       ; 44
    607e:       f3 44           sbci    r31, 0x43       ; 67
    6080:       7d e9           ldi     r23, 0x9D       ; 157
    6082:       9b fa           .word   0xfa9b  ; ????
    6084:       32 64           ori     r19, 0x42       ; 66
    6086:       3b d2           rcall   .+1142          ; 0x64fe <__stack+0x53ff>
    6088:       eb cc           rjmp    .-1578          ; 0x5a60 <__stack+0x4961>
    608a:       45 82           std     Z+5, r4 ; 0x05
    608c:       dd af           std     Y+61, r29       ; 0x3d
    608e:       26 30           cpi     r18, 0x06       ; 6
    6090:       18 cc           rjmp    .-2000          ; 0x58c2 <__stack+0x47c3>
    6092:       40 e2           ldi     r20, 0x20       ; 32
    6094:       f3 4e           sbci    r31, 0xE3       ; 227
    6096:       f5 fc           sbrc    r15, 5
    6098:       a2 31           cpi     r26, 0x12       ; 18
    609a:       92 f7           brpl    .-28            ; 0x6080 <__stack+0x4f81>
    609c:       9e 08           sbc     r9, r14
    609e:       60 24           eor     r6, r0
    60a0:       ae 40           sbci    r26, 0x0E       ; 14
    60a2:       b9 64           ori     r27, 0x49       ; 73
    60a4:       71 48           sbci    r23, 0x81       ; 129
    60a6:       fb 20           and     r15, r11
    60a8:       0b 60           ori     r16, 0x0B       ; 11
    60aa:       21 40           sbci    r18, 0x01       ; 1
    60ac:       27 d6           rcall   .+3150          ; 0x6cfc <zx_task+0x8a>
    60ae:       98 10           cpse    r9, r8
    60b0:       e3 ab           std     Z+51, r30       ; 0x33
    60b2:       94 42           sbci    r25, 0x24       ; 36
    60b4:       e0 c1           rjmp    .+960           ; 0x6476 <__stack+0x5377>
    60b6:       82 58           subi    r24, 0x82       ; 130
    60b8:       3f c5           rjmp    .+2686          ; 0x6b38 <to_zx+0x12c>
    60ba:       a5 22           and     r10, r21
    60bc:       fc 30           cpi     r31, 0x0C       ; 12
    60be:       a5 40           sbci    r26, 0x05       ; 5
    60c0:       9e 01           movw    r18, r28
    60c2:       cc 55           subi    r28, 0x5C       ; 92
    60c4:       3b f9           .word   0xf93b  ; ????
    60c6:       ff ce           rjmp    .-514           ; 0x5ec6 <__stack+0x4dc7>
    60c8:       31 10           cpse    r3, r1
    60ca:       46 c0           rjmp    .+140           ; 0x6158 <__stack+0x5059>
    60cc:       08 19           sub     r16, r8
    60ce:       11 3b           cpi     r17, 0xB1       ; 177
    60d0:       b3 14           cp      r11, r3
    60d2:       84 bb           out     0x14, r24       ; 20
    60d4:       c0 26           eor     r12, r16
    60d6:       90 c1           rjmp    .+800           ; 0x63f8 <__stack+0x52f9>
    60d8:       e0 3f           cpi     r30, 0xF0       ; 240
    60da:       93 60           ori     r25, 0x03       ; 3
    60dc:       02 04           cpc     r0, r2
    60de:       80 11           cpse    r24, r0
    60e0:       da 31           cpi     r29, 0x1A       ; 26
    60e2:       0a 8b           std     Y+18, r16       ; 0x12
    60e4:       20 ef           ldi     r18, 0xF0       ; 240
    60e6:       46 f8           bld     r4, 6
    60e8:       8c 09           sbc     r24, r12
    60ea:       4c cb           rjmp    .-2408          ; 0x5784 <__stack+0x4685>
    60ec:       e0 42           sbci    r30, 0x20       ; 32
    60ee:       fa b3           in      r31, 0x1a       ; 26
    60f0:       03 61           ori     r16, 0x13       ; 19
    60f2:       22 4c           sbci    r18, 0xC2       ; 194
    60f4:       fe 7f           andi    r31, 0xFE       ; 254
    60f6:       09 26           eor     r0, r25
    60f8:       41 a6           std     Z+41, r4        ; 0x29
    60fa:       f9 08           sbc     r15, r9
    60fc:       0b 22           and     r0, r27
    60fe:       42 2c           mov     r4, r2
    6100:       a6 3a           cpi     r26, 0xA6       ; 166
    6102:       dd d9           rcall   .-3142          ; 0x54be <__stack+0x43bf>
    6104:       f9 cb           rjmp    .-2062          ; 0x58f8 <__stack+0x47f9>
    6106:       c8 4f           sbci    r28, 0xF8       ; 248
    6108:       04 a5           ldd     r16, Z+44       ; 0x2c
    610a:       7b 46           sbci    r23, 0x6B       ; 107
    610c:       0b e0           ldi     r16, 0x0B       ; 11
    610e:       41 b3           in      r20, 0x11       ; 17
    6110:       c8 20           and     r12, r8
    6112:       77 8d           ldd     r23, Z+31       ; 0x1f
    6114:       b8 63           ori     r27, 0x38       ; 56
    6116:       e8 7a           andi    r30, 0xA8       ; 168
    6118:       98 07           cpc     r25, r24
    611a:       d1 bb           out     0x11, r29       ; 17
    611c:       90 6b           ori     r25, 0xB0       ; 176
    611e:       9f 26           eor     r9, r31
    6120:       e8 41           sbci    r30, 0x18       ; 24
    6122:       1c 90           ld      r1, X
    6124:       2d e0           ldi     r18, 0x0D       ; 13
    6126:       33 c8           rjmp    .-3994          ; 0x518e <__stack+0x408f>
    6128:       0f a2           std     Y+39, r0        ; 0x27
    612a:       24 c6           rjmp    .+3144          ; 0x6d74 <zx_task+0x102>
    612c:       2e f3           brts    .-54            ; 0x60f8 <__stack+0x4ff9>
    612e:       5a 30           cpi     r21, 0x0A       ; 10
    6130:       58 67           ori     r21, 0x78       ; 120
    6132:       c8 b0           in      r12, 0x08       ; 8
    6134:       fb 36           cpi     r31, 0x6B       ; 107
    6136:       a0 31           cpi     r26, 0x10       ; 16
    6138:       9e a5           ldd     r25, Y+46       ; 0x2e
    613a:       0a 62           ori     r16, 0x2A       ; 42
    613c:       5b 5b           subi    r21, 0xBB       ; 187
    613e:       72 30           cpi     r23, 0x02       ; 2
    6140:       08 b3           in      r16, 0x18       ; 24
    6142:       c8 04           cpc     r12, r8
    6144:       41 86           std     Z+9, r4 ; 0x09
    6146:       5a e7           ldi     r21, 0x7A       ; 122
    6148:       7b d8           rcall   .-3850          ; 0x5240 <__stack+0x4141>
    614a:       02 6a           ori     r16, 0xA2       ; 162
    614c:       66 7f           andi    r22, 0xF6       ; 246
    614e:       9f 6b           ori     r25, 0xBF       ; 191
    6150:       e0 98           cbi     0x1c, 0 ; 28
    6152:       1a f9           .word   0xf91a  ; ????
    6154:       98 da           rcall   .-2768          ; 0x5686 <__stack+0x4587>
    6156:       75 97           sbiw    r30, 0x15       ; 21
    6158:       20 f3           brcs    .-56            ; 0x6122 <__stack+0x5023>
    615a:       e6 10           cpse    r14, r6
    615c:       f8 74           andi    r31, 0x48       ; 72
    615e:       33 30           cpi     r19, 0x03       ; 3
    6160:       40 c0           rjmp    .+128           ; 0x61e2 <__stack+0x50e3>
    6162:       f1 58           subi    r31, 0x81       ; 129
    6164:       04 10           cpse    r0, r4
    6166:       60 bb           out     0x10, r22       ; 16
    6168:       8c 84           ldd     r8, Y+12        ; 0x0c
    616a:       49 d0           rcall   .+146           ; 0x61fe <__stack+0x50ff>
    616c:       b3 98           cbi     0x16, 3 ; 22
    616e:       ba 8b           std     Y+18, r27       ; 0x12
    6170:       60 01           movw    r12, r0
    6172:       e2 23           and     r30, r18
    6174:       e3 fd           sbrc    r30, 3
    6176:       5f b5           in      r21, 0x2f       ; 47
    6178:       d4 6e           ori     r29, 0xE4       ; 228
    617a:       b3 84           ldd     r11, Z+11       ; 0x0b
    617c:       01 f5           brne    .+64            ; 0x61be <__stack+0x50bf>
    617e:       6b 48           sbci    r22, 0x8B       ; 139
    6180:       65 c8           rjmp    .-3894          ; 0x524c <__stack+0x414d>
    6182:       fe 58           subi    r31, 0x8E       ; 142
    6184:       6f b5           in      r22, 0x2f       ; 47
    6186:       e3 ca           rjmp    .-2618          ; 0x574e <__stack+0x464f>
    6188:       30 29           or      r19, r0
    618a:       fc c6           rjmp    .+3576          ; 0x6f84 <__vector_10+0x140>
    618c:       fe 46           sbci    r31, 0x6E       ; 110
    618e:       34 ff           sbrs    r19, 4
    6190:       65 e9           ldi     r22, 0x95       ; 149
    6192:       62 8f           std     Z+26, r22       ; 0x1a
    6194:       b5 ff           sbrs    r27, 5
    6196:       f8 fb           .word   0xfbf8  ; ????
    6198:       f7 4c           sbci    r31, 0xC7       ; 199
    619a:       e8 6f           ori     r30, 0xF8       ; 248
    619c:       af 51           subi    r26, 0x1F       ; 31
    619e:       33 78           andi    r19, 0x83       ; 131
    61a0:       4c f3           brlt    .-46            ; 0x6174 <__stack+0x5075>
    61a2:       ff d8           rcall   .-3586          ; 0x53a2 <__stack+0x42a3>
    61a4:       32 28           or      r3, r2
    61a6:       da d3           rcall   .+1972          ; 0x695c <zx_fifo_copy+0x2>
    61a8:       80 58           subi    r24, 0x80       ; 128
    61aa:       66 24           eor     r6, r6
    61ac:       3b ff           .word   0xff3b  ; ????
    61ae:       98 ff           .word   0xff98  ; ????
    61b0:       24 1a           sub     r2, r20
    61b2:       33 93           .word   0x9333  ; ????
    61b4:       8c d1           rcall   .+792           ; 0x64ce <__stack+0x53cf>
    61b6:       71 39           cpi     r23, 0x91       ; 145
    61b8:       eb b3           in      r30, 0x1b       ; 27
    61ba:       f8 4c           sbci    r31, 0xC8       ; 200
    61bc:       cf 7f           andi    r28, 0xFF       ; 255
    61be:       ef dc           rcall   .-1570          ; 0x5b9e <__stack+0x4a9f>
    61c0:       3f be           out     0x3f, r3        ; 63
    61c2:       ec 6b           ori     r30, 0xBC       ; 188
    61c4:       f6 e6           ldi     r31, 0x66       ; 102
    61c6:       59 fd           .word   0xfd59  ; ????
    61c8:       03 25           eor     r16, r3
    61ca:       80 01           movw    r16, r0
    61cc:       6e f3           brts    .-38            ; 0x61a8 <__stack+0x50a9>
    61ce:       71 93           st      Z+, r23
    61d0:       89 19           sub     r24, r9
    61d2:       b6 c6           rjmp    .+3436          ; 0x6f40 <__vector_10+0xfc>
    61d4:       53 e7           ldi     r21, 0x73       ; 115
    61d6:       a8 35           cpi     r26, 0x58       ; 88
    61d8:       66 d8           rcall   .-3892          ; 0x52a6 <__stack+0x41a7>
    61da:       fd e6           ldi     r31, 0x6D       ; 109
    61dc:       46 e4           ldi     r20, 0x46       ; 70
    61de:       51 b1           in      r21, 0x01       ; 1
    61e0:       6e 86           std     Y+14, r6        ; 0x0e
    61e2:       7f 59           subi    r23, 0x9F       ; 159
    61e4:       12 c6           rjmp    .+3108          ; 0x6e0a <zx_task+0x198>
    61e6:       b5 e7           ldi     r27, 0x75       ; 117
    61e8:       9e 9e           mul     r9, r30
    61ea:       d3 24           eor     r13, r3
    61ec:       71 c6           rjmp    .+3298          ; 0x6ed0 <__vector_10+0x8c>
    61ee:       ab 59           subi    r26, 0x9B       ; 155
    61f0:       23 f8           bld     r2, 3
    61f2:       b0 20           and     r11, r0
    61f4:       47 fa           bst     r4, 7
    61f6:       cc fb           .word   0xfbcc  ; ????
    61f8:       7f 8d           ldd     r23, Y+31       ; 0x1f
    61fa:       dd 8f           std     Y+29, r29       ; 0x1d
    61fc:       25 3c           cpi     r18, 0xC5       ; 197
    61fe:       38 82           st      Y, r3
    6200:       58 df           rcall   .-336           ; 0x60b2 <__stack+0x4fb3>
    6202:       a2 ff           sbrs    r26, 2
    6204:       81 d8           rcall   .-3838          ; 0x5308 <__stack+0x4209>
    6206:       4e c4           rjmp    .+2204          ; 0x6aa4 <to_zx+0x98>
    6208:       9b dc           rcall   .-1738          ; 0x5b40 <__stack+0x4a41>
    620a:       10 f8           bld     r1, 0
    620c:       d6 b5           in      r29, 0x26       ; 38
    620e:       01 c6           rjmp    .+3074          ; 0x6e12 <zx_task+0x1a0>
    6210:       27 24           eor     r2, r7
    6212:       2d 6e           ori     r18, 0xED       ; 237
    6214:       93 b7           in      r25, 0x33       ; 51
    6216:       10 33           cpi     r17, 0x30       ; 48
    6218:       8d cf           rjmp    .-230           ; 0x6134 <__stack+0x5035>
    621a:       04 cd           rjmp    .-1528          ; 0x5c24 <__stack+0x4b25>
    621c:       8f b8           out     0x0f, r8        ; 15
    621e:       af 99           sbic    0x15, 7 ; 21
    6220:       98 eb           ldi     r25, 0xB8       ; 184
    6222:       95 08           sbc     r9, r5
    6224:       16 2d           mov     r17, r6
    6226:       60 b2           in      r6, 0x10        ; 16
    6228:       1f ff           .word   0xff1f  ; ????
    622a:       13 12           cpse    r1, r19
    622c:       6a 99           sbic    0x0d, 2 ; 13
    622e:       fb 20           and     r15, r11
    6230:       02 04           cpc     r0, r2
    6232:       58 fa           .word   0xfa58  ; ????
    6234:       4c bc           out     0x2c, r4        ; 44
    6236:       3b a4           ldd     r3, Y+43        ; 0x2b
    6238:       c2 63           ori     r28, 0x32       ; 50
    623a:       ff cc           rjmp    .-1538          ; 0x5c3a <__stack+0x4b3b>
    623c:       5d 93           st      X+, r21
    623e:       ca 6f           ori     r28, 0xFA       ; 250
    6240:       e6 44           sbci    r30, 0x46       ; 70
    6242:       e0 ff           sbrs    r30, 0
    6244:       fb 24           eor     r15, r11
    6246:       8c ed           ldi     r24, 0xDC       ; 220
    6248:       ff ad           ldd     r31, Y+63       ; 0x3f
    624a:       48 a3           std     Y+32, r20       ; 0x20
    624c:       c3 92           .word   0x92c3  ; ????
    624e:       1c 5b           subi    r17, 0xBC       ; 188
    6250:       ac 20           and     r10, r12
    6252:       1a d4           rcall   .+2100          ; 0x6a88 <to_zx+0x7c>
    6254:       b7 78           andi    r27, 0x87       ; 135
    6256:       98 fe           .word   0xfe98  ; ????
    6258:       1b eb           ldi     r17, 0xBB       ; 187
    625a:       fd 4a           sbci    r31, 0xAD       ; 173
    625c:       97 fb           bst     r25, 7
    625e:       76 a8           ldd     r7, Z+54        ; 0x36
    6260:       12 69           ori     r17, 0x92       ; 146
    6262:       b2 10           cpse    r11, r2
    6264:       20 79           andi    r18, 0x90       ; 144
    6266:       09 c2           rjmp    .+1042          ; 0x667a <_binary_top_mlz_size+0xc7>
    6268:       0a 01           movw    r0, r20
    626a:       62 3e           cpi     r22, 0xE2       ; 226
    626c:       81 de           rcall   .-766           ; 0x5f70 <__stack+0x4e71>
    626e:       28 fe           .word   0xfe28  ; ????
    6270:       ce 88           ldd     r12, Y+22       ; 0x16
    6272:       04 b5           in      r16, 0x24       ; 36
    6274:       ee 10           cpse    r14, r14
    6276:       1d 9d           mul     r17, r13
    6278:       ed 6b           ori     r30, 0xBD       ; 189
    627a:       10 04           cpc     r1, r0
    627c:       89 06           cpc     r8, r25
    627e:       1d 71           andi    r17, 0x1D       ; 29
    6280:       fb 6d           ori     r31, 0xDB       ; 219
    6282:       2b ff           .word   0xff2b  ; ????
    6284:       25 bc           out     0x25, r2        ; 37
    6286:       41 83           std     Z+1, r20        ; 0x01
    6288:       d1 c9           rjmp    .-3166          ; 0x562c <__stack+0x452d>
    628a:       b0 81           ld      r27, Z
    628c:       fa 21           and     r31, r10
    628e:       64 1e           adc     r6, r20
    6290:       73 91           .word   0x9173  ; ????
    6292:       0f 41           sbci    r16, 0x1F       ; 31
    6294:       20 6b           ori     r18, 0xB0       ; 176
    6296:       f2 85           ldd     r31, Z+10       ; 0x0a
    6298:       cf cf           rjmp    .-98            ; 0x6238 <__stack+0x5139>
    629a:       14 66           ori     r17, 0x64       ; 100
    629c:       d8 b3           in      r29, 0x18       ; 24
    629e:       21 ea           ldi     r18, 0xA1       ; 161
    62a0:       90 e0           ldi     r25, 0x00       ; 0
    62a2:       16 8b           std     Z+22, r17       ; 0x16
    62a4:       7e f6           brtc    .-98            ; 0x6244 <__stack+0x5145>
    62a6:       5e 80           ldd     r5, Y+6 ; 0x06
    62a8:       d4 ff           sbrs    r29, 4
    62aa:       89 c4           rjmp    .+2322          ; 0x6bbe <zx_wait_task+0x1c>
    62ac:       ff 00           .word   0x00ff  ; ????
    62ae:       92 4b           sbci    r25, 0xB2       ; 178
    62b0:       f1 45           sbci    r31, 0x51       ; 81
    62b2:       36 88           ldd     r3, Z+22        ; 0x16
    62b4:       86 68           ori     r24, 0x86       ; 134
    62b6:       e5 01           movw    r28, r10
    62b8:       e5 74           andi    r30, 0x45       ; 69
    62ba:       ea 14           cp      r14, r10
    62bc:       94 e7           ldi     r25, 0x74       ; 116
    62be:       b9 22           and     r11, r25
    62c0:       a5 0d           add     r26, r5
    62c2:       67 e7           ldi     r22, 0x77       ; 119
    62c4:       7a 43           sbci    r23, 0x3A       ; 58
    62c6:       a4 23           and     r26, r20
    62c8:       ed 56           subi    r30, 0x6D       ; 109
    62ca:       80 f0           brcs    .+32            ; 0x62ec <__stack+0x51ed>
    62cc:       95 12           cpse    r9, r21
    62ce:       60 06           cpc     r6, r16
    62d0:       e9 85           ldd     r30, Y+9        ; 0x09
    62d2:       05 20           and     r0, r5
    62d4:       d8 0a           sbc     r13, r24
    62d6:       42 a7           std     Z+42, r20       ; 0x2a
    62d8:       c1 e6           ldi     r28, 0x61       ; 97
    62da:       a9 a8           ldd     r10, Y+49       ; 0x31
    62dc:       fc 6e           ori     r31, 0xEC       ; 236
    62de:       80 08           sbc     r8, r0
    62e0:       79 7c           andi    r23, 0xC9       ; 201
    62e2:       62 06           cpc     r6, r18
    62e4:       88 48           sbci    r24, 0x88       ; 136
    62e6:       af 9e           mul     r10, r31
    62e8:       15 9c           mul     r1, r5
    62ea:       08 12           cpse    r0, r24
    62ec:       40 32           cpi     r20, 0x20       ; 32
    62ee:       02 37           cpi     r16, 0x72       ; 114
    62f0:       9b a9           ldd     r25, Y+51       ; 0x33
    62f2:       09 b0           in      r0, 0x09        ; 9
    62f4:       3d 19           sub     r19, r13
    62f6:       29 81           ldd     r18, Y+1        ; 0x01
    62f8:       70 8e           std     Z+24, r7        ; 0x18
    62fa:       4c b4           in      r4, 0x2c        ; 44
    62fc:       04 47           sbci    r16, 0x74       ; 116
    62fe:       9c d8           rcall   .-3784          ; 0x5438 <__stack+0x4339>
    6300:       e4 c1           rjmp    .+968           ; 0x66ca <_binary_top_mlz_size+0x117>
    6302:       12 09           sbc     r17, r2
    6304:       84 f3           brlt    .-32            ; 0x62e6 <__stack+0x51e7>
    6306:       03 2a           or      r0, r19
    6308:       08 2f           mov     r16, r24
    630a:       b1 f8           bld     r11, 1
    630c:       39 37           cpi     r19, 0x79       ; 121
    630e:       f8 b5           in      r31, 0x28       ; 40
    6310:       2e 20           and     r2, r14
    6312:       80 a6           std     Z+40, r8        ; 0x28
    6314:       06 df           rcall   .-500           ; 0x6122 <__stack+0x5023>
    6316:       d8 6d           ori     r29, 0xD8       ; 216
    6318:       e5 a2           std     Z+37, r14       ; 0x25
    631a:       e6 35           cpi     r30, 0x56       ; 86
    631c:       25 fa           bst     r2, 5
    631e:       3e 02           muls    r19, r30
    6320:       0e dc           rcall   .-2020          ; 0x5b3e <__stack+0x4a3f>
    6322:       fe 88           ldd     r15, Y+22       ; 0x16
    6324:       bc cd           rjmp    .-1160          ; 0x5e9e <__stack+0x4d9f>
    6326:       fe fa           .word   0xfafe  ; ????
    6328:       f4 fe           sbrs    r15, 4
    632a:       c8 f9           .word   0xf9c8  ; ????
    632c:       70 c5           rjmp    .+2784          ; 0x6e0e <zx_task+0x19c>
    632e:       11 65           ori     r17, 0x51       ; 81
    6330:       19 c7           rjmp    .+3634          ; 0x7164 <__vector_6+0xbc>
    6332:       cf 1f           adc     r28, r31
    6334:       bb d6           rcall   .+3446          ; 0x70ac <__vector_6+0x4>
    6336:       8f 77           andi    r24, 0x7F       ; 127
    6338:       97 12           cpse    r9, r23
    633a:       cd d9           rcall   .-3174          ; 0x56d6 <__stack+0x45d7>
    633c:       db 81           ldd     r29, Y+3        ; 0x03
    633e:       c1 e5           ldi     r28, 0x51       ; 81
    6340:       df 93           push    r29
    6342:       4f 61           ori     r20, 0x1F       ; 31
    6344:       41 42           sbci    r20, 0x21       ; 33
    6346:       c6 cf           rjmp    .-116           ; 0x62d4 <__stack+0x51d5>
    6348:       89 87           std     Y+9, r24        ; 0x09
    634a:       f2 b0           in      r15, 0x02       ; 2
    634c:       b3 fe           sbrs    r11, 3
    634e:       7a e8           ldi     r23, 0x8A       ; 138
    6350:       c7 c5           rjmp    .+2958          ; 0x6ee0 <__vector_10+0x9c>
    6352:       ff cb           rjmp    .-2050          ; 0x5b52 <__stack+0x4a53>
    6354:       03 34           cpi     r16, 0x43       ; 67
    6356:       69 f6           brne    .-102           ; 0x62f2 <__stack+0x51f3>
    6358:       4d 6a           ori     r20, 0xAD       ; 173
    635a:       46 d8           rcall   .-3956          ; 0x53e8 <__stack+0x42e9>
    635c:       c2 ed           ldi     r28, 0xD2       ; 210
    635e:       de 49           sbci    r29, 0x9E       ; 158
    6360:       40 b0           in      r4, 0x00        ; 0
    6362:       09 9d           mul     r16, r9
    6364:       fb 1c           adc     r15, r11
    6366:       09 6f           ori     r16, 0xF9       ; 249
    6368:       59 4b           sbci    r21, 0xB9       ; 185
    636a:       80 ab           std     Z+48, r24       ; 0x30
    636c:       86 04           cpc     r8, r6
    636e:       2c 89           ldd     r18, Y+20       ; 0x14
    6370:       f2 e2           ldi     r31, 0x22       ; 34
    6372:       31 ec           ldi     r19, 0xC1       ; 193
    6374:       f4 ff           sbrs    r31, 4
    6376:       01 ed           ldi     r16, 0xD1       ; 209
    6378:       cb fb           .word   0xfbcb  ; ????
    637a:       10 4c           sbci    r17, 0xC0       ; 192
    637c:       8e 68           ori     r24, 0x8E       ; 142
    637e:       75 f3           brhs    .-36            ; 0x635c <__stack+0x525d>
    6380:       ab 17           cp      r26, r27
    6382:       ed 61           ori     r30, 0x1D       ; 29
    6384:       08 b7           in      r16, 0x38       ; 56
    6386:       76 a5           ldd     r23, Z+46       ; 0x2e
    6388:       9c f8           .word   0xf89c  ; ????
    638a:       2b f8           .word   0xf82b  ; ????
    638c:       ce 10           cpse    r12, r14
    638e:       ec 67           ori     r30, 0x7C       ; 124
    6390:       a8 6f           ori     r26, 0xF8       ; 248
    6392:       7b c4           rjmp    .+2294          ; 0x6c8a <zx_task+0x18>
    6394:       9a e5           ldi     r25, 0x5A       ; 90
    6396:       a0 fe           sbrs    r10, 0
    6398:       33 84           ldd     r3, Z+11        ; 0x0b
    639a:       f4 bf           out     0x34, r31       ; 52
    639c:       57 f1           brie    .+84            ; 0x63f2 <__stack+0x52f3>
    639e:       ec 2e           mov     r14, r28
    63a0:       18 77           andi    r17, 0x78       ; 120
    63a2:       ac 18           sub     r10, r12
    63a4:       a2 65           ori     r26, 0x52       ; 82
    63a6:       ea f5           brpl    .+122           ; 0x6422 <__stack+0x5323>
    63a8:       68 ba           out     0x18, r6        ; 24
    63aa:       c8 fa           .word   0xfac8  ; ????
    63ac:       c6 d4           rcall   .+2444          ; 0x6d3a <zx_task+0xc8>
    63ae:       69 ef           ldi     r22, 0xF9       ; 249
    63b0:       35 c5           rjmp    .+2666          ; 0x6e1c <zx_task+0x1aa>
    63b2:       04 bf           out     0x34, r16       ; 52
    63b4:       8f b2           in      r8, 0x1f        ; 31
    63b6:       db 23           and     r29, r27
    63b8:       d6 a6           std     Z+46, r13       ; 0x2e
    63ba:       20 2d           mov     r18, r0
    63bc:       e2 89           ldd     r30, Z+18       ; 0x12
    63be:       cb cb           rjmp    .-2154          ; 0x5b56 <__stack+0x4a57>
    63c0:       6f 78           andi    r22, 0x8F       ; 143
    63c2:       e0 fa           bst     r14, 0
    63c4:       47 f4           brid    .+16            ; 0x63d6 <__stack+0x52d7>
    63c6:       80 66           ori     r24, 0x60       ; 96
    63c8:       ee bc           out     0x2e, r14       ; 46
    63ca:       40 c6           rjmp    .+3200          ; 0x704c <__vector_5+0x6c>
    63cc:       3f 8b           std     Y+23, r19       ; 0x17
    63ce:       01 62           ori     r16, 0x21       ; 33
    63d0:       f9 ef           ldi     r31, 0xF9       ; 249
    63d2:       de 10           cpse    r13, r14
    63d4:       fa c7           rjmp    .+4084          ; 0x73ca <ps2keyboard_release_clk+0x14>
    63d6:       05 2d           mov     r16, r5
    63d8:       b0 02           muls    r27, r16
    63da:       0c ef           ldi     r16, 0xFC       ; 252
    63dc:       7d 2b           or      r23, r29
    63de:       02 5e           subi    r16, 0xE2       ; 226
    63e0:       48 b2           in      r4, 0x18        ; 24
    63e2:       14 bf           out     0x34, r17       ; 52
    63e4:       bd 80           ldd     r11, Y+5        ; 0x05
    63e6:       6d af           std     Y+61, r22       ; 0x3d
    63e8:       5f 48           sbci    r21, 0x8F       ; 143
    63ea:       fd 10           cpse    r15, r13
    63ec:       04 71           andi    r16, 0x14       ; 20
    63ee:       95 8e           std     Z+29, r9        ; 0x1d
    63f0:       66 dc           rcall   .-1844          ; 0x5cbe <__stack+0x4bbf>
    63f2:       80 d8           rcall   .-3840          ; 0x54f4 <__stack+0x43f5>
    63f4:       50 c6           rjmp    .+3232          ; 0x7096 <__vector_5+0xb6>
    63f6:       57 91           elpm    r21, Z+
    63f8:       80 7d           andi    r24, 0xD0       ; 208
    63fa:       cc 84           ldd     r12, Y+12       ; 0x0c
    63fc:       bb 5e           subi    r27, 0xEB       ; 235
    63fe:       b1 08           sbc     r11, r1
    6400:       83 12           cpse    r8, r19
    6402:       77 f4           brid    .+28            ; 0x6420 <__stack+0x5321>
    6404:       80 fe           sbrs    r8, 0
    6406:       20 65           ori     r18, 0x50       ; 80
    6408:       ad 7a           andi    r26, 0xAD       ; 173
    640a:       42 16           cp      r4, r18
    640c:       44 04           cpc     r4, r4
    640e:       e7 f3           brie    .-8             ; 0x6408 <__stack+0x5309>
    6410:       98 b9           out     0x08, r25       ; 8
    6412:       e7 9f           mul     r30, r23
    6414:       48 97           sbiw    r24, 0x18       ; 24
    6416:       76 7f           andi    r23, 0xF6       ; 246
    6418:       db c0           rjmp    .+438           ; 0x65d0 <_binary_top_mlz_size+0x1d>
    641a:       fe 6c           ori     r31, 0xCE       ; 206
    641c:       83 2c           mov     r8, r3
    641e:       3d 7c           andi    r19, 0xCD       ; 205
    6420:       ff c7           rjmp    .+4094          ; 0x7420 <ps2mouse_release_clk+0x2>
    6422:       9b d8           rcall   .-3786          ; 0x555a <__stack+0x445b>
    6424:       c9 fb           .word   0xfbc9  ; ????
    6426:       09 f4           brne    .+2             ; 0x642a <__stack+0x532b>
    6428:       68 c5           rjmp    .+2768          ; 0x6efa <__vector_10+0xb6>
    642a:       4c 10           cpse    r4, r12
    642c:       96 c0           rjmp    .+300           ; 0x655a <__stack+0x545b>
    642e:       18 ff           .word   0xff18  ; ????
    6430:       c4 fe           sbrs    r12, 4
    6432:       1b 58           subi    r17, 0x8B       ; 139
    6434:       81 64           ori     r24, 0x41       ; 65
    6436:       ff d8           rcall   .-3586          ; 0x5636 <__stack+0x4537>
    6438:       f8 fd           .word   0xfdf8  ; ????
    643a:       a6 99           sbic    0x14, 6 ; 20
    643c:       42 ff           sbrs    r20, 2
    643e:       38 63           ori     r19, 0x38       ; 56
    6440:       46 db           rcall   .-2420          ; 0x5ace <__stack+0x49cf>
    6442:       cd 70           andi    r28, 0x0D       ; 13
    6444:       38 fb           .word   0xfb38  ; ????
    6446:       8e fa           .word   0xfa8e  ; ????
    6448:       ea 20           and     r14, r10
    644a:       c2 96           adiw    r24, 0x32       ; 50
    644c:       54 f8           bld     r5, 4
    644e:       f9 c5           rjmp    .+3058          ; 0x7042 <__vector_5+0x62>
    6450:       be 11           cpse    r27, r14
    6452:       c3 1f           adc     r28, r19
    6454:       83 b8           out     0x03, r8        ; 3
    6456:       fe 65           ori     r31, 0x5E       ; 94
    6458:       7b 72           andi    r23, 0x2B       ; 43
    645a:       04 28           or      r0, r4
    645c:       68 ea           ldi     r22, 0xA8       ; 168
    645e:       b4 0a           sbc     r11, r20
    6460:       e3 fb           bst     r30, 3
    6462:       2b cc           rjmp    .-1962          ; 0x5cba <__stack+0x4bbb>
    6464:       bd 6b           ori     r27, 0xBD       ; 189
    6466:       e9 20           and     r14, r9
    6468:       dc 05           cpc     r29, r12
    646a:       7a db           rcall   .-2316          ; 0x5b60 <__stack+0x4a61>
    646c:       fb c2           rjmp    .+1526          ; 0x6a64 <to_zx+0x58>
    646e:       0e b2           in      r0, 0x1e        ; 30
    6470:       c1 d6           rcall   .+3458          ; 0x71f4 <hardware_init+0xa>
    6472:       49 20           and     r4, r9
    6474:       33 fd           sbrc    r19, 3
    6476:       c8 88           ldd     r12, Y+16       ; 0x10
    6478:       fd aa           std     Y+53, r15       ; 0x35
    647a:       d7 10           cpse    r13, r7
    647c:       c8 59           subi    r28, 0x98       ; 152
    647e:       14 08           sbc     r1, r4
    6480:       66 09           sbc     r22, r6
    6482:       fd fd           .word   0xfdfd  ; ????
    6484:       6a f6           brpl    .-102           ; 0x6420 <__stack+0x5321>
    6486:       09 89           ldd     r16, Y+17       ; 0x11
    6488:       16 90           elpm    r1, Z+
    648a:       84 21           and     r24, r4
    648c:       77 02           muls    r23, r23
    648e:       30 6a           ori     r19, 0xA0       ; 160
    6490:       37 7e           andi    r19, 0xE7       ; 231
    6492:       59 3e           cpi     r21, 0xE9       ; 233
    6494:       5d bc           out     0x2d, r5        ; 45
    6496:       b1 21           and     r27, r1
    6498:       45 23           and     r20, r21
    649a:       40 98           cbi     0x08, 0 ; 8
    649c:       eb a3           std     Y+35, r30       ; 0x23
    649e:       60 cc           rjmp    .-1856          ; 0x5d60 <__stack+0x4c61>
    64a0:       6e dd           rcall   .-1316          ; 0x5f7e <__stack+0x4e7f>
    64a2:       17 90           elpm    r1, Z+
    64a4:       f2 7f           andi    r31, 0xF2       ; 242
    64a6:       b0 cd           rjmp    .-1184          ; 0x6008 <__stack+0x4f09>
    64a8:       f3 71           andi    r31, 0x13       ; 19
    64aa:       09 b7           in      r16, 0x39       ; 57
    64ac:       09 40           sbci    r16, 0x09       ; 9
    64ae:       66 34           cpi     r22, 0x46       ; 70
    64b0:       f8 d0           rcall   .+496           ; 0x66a2 <_binary_top_mlz_size+0xef>
    64b2:       fe bb           out     0x1e, r31       ; 30
    64b4:       2c a8           ldd     r2, Y+52        ; 0x34
    64b6:       af 08           sbc     r10, r15
    64b8:       a9 e2           ldi     r26, 0x29       ; 41
    64ba:       5d e3           ldi     r21, 0x3D       ; 61
    64bc:       98 3b           cpi     r25, 0xB8       ; 184
    64be:       cc 35           cpi     r28, 0x5C       ; 92
    64c0:       67 a3           std     Z+39, r22       ; 0x27
    64c2:       65 34           cpi     r22, 0x45       ; 69
    64c4:       77 33           cpi     r23, 0x37       ; 55
    64c6:       b8 fd           .word   0xfdb8  ; ????
    64c8:       82 bb           out     0x12, r24       ; 18
    64ca:       f7 40           sbci    r31, 0x07       ; 7
    64cc:       04 08           sbc     r0, r4
    64ce:       c0 41           sbci    r28, 0x10       ; 16
    64d0:       38 f4           brcc    .+14            ; 0x64e0 <__stack+0x53e1>
    64d2:       5a a1           ldd     r21, Y+34       ; 0x22
    64d4:       96 a6           std     Z+46, r9        ; 0x2e
    64d6:       58 7b           andi    r21, 0xB8       ; 184
    64d8:       86 b4           in      r8, 0x26        ; 38
    64da:       fd 01           movw    r30, r26
    64dc:       40 cf           rjmp    .-384           ; 0x635e <__stack+0x525f>
    64de:       80 41           sbci    r24, 0x10       ; 16
    64e0:       82 7b           andi    r24, 0xB2       ; 178
    64e2:       06 59           subi    r16, 0x96       ; 150
    64e4:       dc 5a           subi    r29, 0xAC       ; 172
    64e6:       3f d6           rcall   .+3198          ; 0x7166 <__vector_6+0xbe>
    64e8:       d8 fc           .word   0xfcd8  ; ????
    64ea:       4d 63           ori     r20, 0x3D       ; 61
    64ec:       fd 21           and     r31, r13
    64ee:       fb 4e           sbci    r31, 0xEB       ; 235
    64f0:       6c 26           eor     r6, r28
    64f2:       bd 20           and     r11, r13
    64f4:       47 08           sbc     r4, r7
    64f6:       62 9c           mul     r6, r2
    64f8:       6d bc           out     0x2d, r6        ; 45
    64fa:       04 d7           rcall   .+3592          ; 0x7304 <main+0xc0>
    64fc:       ec d7           rcall   .+4056          ; 0x74d6 <ps2mouse_task+0x78>
    64fe:       c5 28           or      r12, r5
    6500:       f5 9c           mul     r15, r5
    6502:       82 10           cpse    r8, r2
    6504:       96 2a           or      r9, r22
    6506:       9f b5           in      r25, 0x2f       ; 47
    6508:       02 84           ldd     r0, Z+10        ; 0x0a
    650a:       36 fa           bst     r3, 6
    650c:       60 62           ori     r22, 0x20       ; 32
    650e:       b5 90           lpm     r11, Z+
    6510:       f3 94           inc     r15
    6512:       41 06           cpc     r4, r17
    6514:       c4 49           sbci    r28, 0x94       ; 148
    6516:       4b a9           ldd     r20, Y+51       ; 0x33
    6518:       80 81           ld      r24, Z
    651a:       ab a4           ldd     r10, Y+43       ; 0x2b
    651c:       e1 22           and     r14, r17
    651e:       cd e9           ldi     r28, 0x9D       ; 157
    6520:       42 d8           rcall   .-3964          ; 0x55a6 <__stack+0x44a7>
    6522:       10 9f           mul     r17, r16
    6524:       ec e5           ldi     r30, 0x5C       ; 92
    6526:       0c 20           and     r0, r12
    6528:       03 e0           ldi     r16, 0x03       ; 3
    652a:       84 81           ldd     r24, Z+4        ; 0x04
    652c:       92 13           cpse    r25, r18
    652e:       30 b3           in      r19, 0x10       ; 16
    6530:       2c 23           and     r18, r28
    6532:       0d 60           ori     r16, 0x0D       ; 13
    6534:       02 16           cp      r0, r18
    6536:       e5 52           subi    r30, 0x25       ; 37
    6538:       14 c8           rjmp    .-4056          ; 0x5562 <__stack+0x4463>
    653a:       31 cb           rjmp    .-2462          ; 0x5b9e <__stack+0x4a9f>
    653c:       05 0d           add     r16, r5
    653e:       66 b0           in      r6, 0x06        ; 6
    6540:       66 61           ori     r22, 0x16       ; 22
    6542:       79 f6           brne    .-98            ; 0x64e2 <__stack+0x53e3>
    6544:       a4 11           cpse    r26, r4
    6546:       01 a0           ldd     r0, Z+33        ; 0x21
    6548:       81 c0           rjmp    .+258           ; 0x664c <_binary_top_mlz_size+0x99>
    654a:       a1 a0           ldd     r10, Z+33       ; 0x21
    654c:       24 0c           add     r2, r4
    654e:       5d 4a           sbci    r21, 0xAD       ; 173
    6550:       0a 20           and     r0, r10
    6552:       e3 c6           rjmp    .+3526          ; 0x731a <main+0xd6>
    6554:       a7 46           sbci    r26, 0x67       ; 103
    6556:       5c 28           or      r5, r12
    6558:       66 f7           brtc    .-40            ; 0x6532 <__stack+0x5433>
    655a:       55 40           sbci    r21, 0x05       ; 5
    655c:       a0 99           sbic    0x14, 0 ; 20
    655e:       06 a3           std     Z+38, r16       ; 0x26
    6560:       24 bc           out     0x24, r2        ; 36
    6562:       c6 11           cpse    r28, r6
    6564:       50 3f           cpi     r21, 0xF0       ; 240
    6566:       62 21           and     r22, r2
    6568:       20 0c           add     r2, r0
    656a:       85 8a           std     Z+21, r8        ; 0x15
    656c:       8f 10           cpse    r8, r15
    656e:       02 42           sbci    r16, 0x22       ; 34
    6570:       7f ee           ldi     r23, 0xEF       ; 239
    6572:       b5 01           movw    r22, r10
    6574:       e8 bd           out     0x28, r30       ; 40
    6576:       fb 0e           add     r15, r27
    6578:       02 40           sbci    r16, 0x02       ; 2
    657a:       53 12           cpse    r5, r19
    657c:       09 84           ldd     r0, Y+9 ; 0x09
    657e:       f5 f4           brhc    .+60            ; 0x65bc <_binary_top_mlz_size+0x9>
    6580:       80 a9           ldd     r24, Z+48       ; 0x30
    6582:       b3 19           sub     r27, r3
    6584:       f8 e7           ldi     r31, 0x78       ; 120
    6586:       b3 1e           adc     r11, r19
    6588:       e0 93 28 5e     sts     0x5E28, r30
    658c:       fb dc           rcall   .-1546          ; 0x5f84 <__stack+0x4e85>
    658e:       93 89           ldd     r25, Z+19       ; 0x13
    6590:       ea f3           brmi    .-6             ; 0x658c <__stack+0x548d>
    6592:       fe 77           andi    r31, 0x7E       ; 126
    6594:       81 b0           in      r8, 0x01        ; 1
    6596:       b1 01           movw    r22, r2
    6598:       4e d8           rcall   .-3940          ; 0x5636 <__stack+0x4537>
    659a:       35 08           sbc     r3, r5
    659c:       8f de           rcall   .-738           ; 0x62bc <__stack+0x51bd>
    659e:       7f ed           ldi     r23, 0xDF       ; 223
    65a0:       0d 12           cpse    r0, r29
    65a2:       af 93           push    r26
    65a4:       10 06           cpc     r1, r16
    65a6:       02 41           sbci    r16, 0x12       ; 18
    65a8:       24 04           cpc     r2, r4
    65aa:       76 df           rcall   .-276           ; 0x6498 <__stack+0x5399>
    65ac:       7b cb           rjmp    .-2314          ; 0x5ca4 <__stack+0x4ba5>
    65ae:       b8 fc           .word   0xfcb8  ; ????
    65b0:       5a 16           cp      r5, r26
    65b2:       f5 c2           rjmp    .+1514          ; 0x6b9e <to_zx+0x192>
    65b4:       08 8c           ldd     r0, Y+24        ; 0x18
    65b6:       f5 2c           mov     r15, r5
    65b8:       e6 bf           out     0x36, r30       ; 54
    65ba:       73 c6           rjmp    .+3302          ; 0x72a2 <main+0x5e>
    65bc:       ec fd           .word   0xfdec  ; ????
    65be:       a5 40           sbci    r26, 0x05       ; 5
    65c0:       ab 08           sbc     r10, r11
    65c2:       bf 58           subi    r27, 0x8F       ; 143
    65c4:       2f ff           .word   0xff2f  ; ????
    65c6:       0a be           out     0x3a, r0        ; 58
    65c8:       72 f1           brmi    .+92            ; 0x6626 <_binary_top_mlz_size+0x73>
    65ca:       e4 b4           in      r14, 0x24       ; 36
    65cc:       62 9c           mul     r6, r2
    65ce:       4b b5           in      r20, 0x2b       ; 43
    65d0:       fb 06           cpc     r15, r27
    65d2:       93 cb           rjmp    .-2266          ; 0x5cfa <__stack+0x4bfb>
    65d4:       59 77           andi    r21, 0x79       ; 121
    65d6:       02 e2           ldi     r16, 0x22       ; 34
    65d8:       ab 50           subi    r26, 0x0B       ; 11
    65da:       d9 19           sub     r29, r9
    65dc:       04 7e           andi    r16, 0xE4       ; 228
    65de:       59 d8           rcall   .-3918          ; 0x5692 <__stack+0x4593>
    65e0:       e4 01           movw    r28, r8
    65e2:       d8 d9           rcall   .-3152          ; 0x5994 <__stack+0x4895>
    65e4:       48 ff           .word   0xff48  ; ????
    65e6:       fc ff           .word   0xfffc  ; ????
    65e8:       b1 02           muls    r27, r17
    65ea:       4f b1           in      r20, 0x0f       ; 15
    65ec:       d1 75           andi    r29, 0x51       ; 81
    65ee:       04 08           sbc     r0, r4
    65f0:       bf 76           andi    r27, 0x6F       ; 111
    65f2:       70 a8           ldd     r7, Z+48        ; 0x30
    65f4:       fc 9f           mul     r31, r28
    65f6:       4d b8           out     0x0d, r4        ; 13
    65f8:       41 a3           std     Z+33, r20       ; 0x21
    65fa:       3e 10           cpse    r3, r14
    65fc:       01 d9           rcall   .-3582          ; 0x5800 <__stack+0x4701>
    65fe:       df 01           movw    r26, r30
    6600:       a3 81           ldd     r26, Z+3        ; 0x03
    6602:       6d 7c           andi    r22, 0xCD       ; 205
    6604:       b7 fa           bst     r11, 7
    6606:       3f 9a           sbi     0x07, 7 ; 7
    6608:       a8 e1           ldi     r26, 0x18       ; 24
    660a:       fd dc           rcall   .-1542          ; 0x6006 <__stack+0x4f07>
    660c:       4b f3           brvs    .-46            ; 0x65e0 <_binary_top_mlz_size+0x2d>
    660e:       e4 c9           rjmp    .-3128          ; 0x59d8 <__stack+0x48d9>
    6610:       d7 51           subi    r29, 0x17       ; 23
    6612:       a8 b3           in      r26, 0x18       ; 24
    6614:       fa 0d           add     r31, r10
    6616:       30 d6           rcall   .+3168          ; 0x7278 <main+0x34>
    6618:       c6 44           sbci    r28, 0x46       ; 70
    661a:       39 ab           std     Y+49, r19       ; 0x31
    661c:       18 80           ld      r1, Y
    661e:       12 d6           rcall   .+3108          ; 0x7244 <main>
    6620:       ee 48           sbci    r30, 0x8E       ; 142
    6622:       fc d0           rcall   .+504           ; 0x681c <update_keys+0x1e>
    6624:       f8 c6           rjmp    .+3568          ; 0x7416 <ps2keyboard_send_cmd+0x20>
    6626:       9b db           rcall   .-2250          ; 0x5d5e <__stack+0x4c5f>
    6628:       10 90 8c fb     lds     r1, 0xFB8C
    662c:       4d 06           cpc     r4, r29
    662e:       80 65           ori     r24, 0x50       ; 80
    6630:       b6 f3           brts    .-20            ; 0x661e <_binary_top_mlz_size+0x6b>
    6632:       b8 fd           .word   0xfdb8  ; ????
    6634:       e6 8b           std     Z+22, r30       ; 0x16
    6636:       e2 c2           rjmp    .+1476          ; 0x6bfc <zx_wait_task+0x5a>
    6638:       30 cc           rjmp    .-1952          ; 0x5e9a <__stack+0x4d9b>
    663a:       eb 27           eor     r30, r27
    663c:       6e 31           cpi     r22, 0x1E       ; 30
    663e:       1d f7           brhc    .-58            ; 0x6606 <_binary_top_mlz_size+0x53>
    6640:       ff 98           cbi     0x1f, 7 ; 31
    6642:       f8 40           sbci    r31, 0x08       ; 8
    6644:       6d e6           ldi     r22, 0x6D       ; 109
    6646:       0b 79           andi    r16, 0x9B       ; 155
    6648:       cd e6           ldi     r28, 0x6D       ; 109
    664a:       ac 37           cpi     r26, 0x7C       ; 124
    664c:       9b f6           brvc    .-90            ; 0x65f4 <_binary_top_mlz_size+0x41>
    664e:       04 31           cpi     r16, 0x14       ; 20
    6650:       01 48           sbci    r16, 0x81       ; 129
    6652:       b7 f8           bld     r11, 7
    6654:       14 ec           ldi     r17, 0xC4       ; 196
    6656:       fa 36           cpi     r31, 0x6A       ; 106
    6658:       67 9b           sbis    0x0c, 7 ; 12
    665a:       b6 ed           ldi     r27, 0xD6       ; 214
    665c:       4a 8f           std     Y+26, r20       ; 0x1a
    665e:       6d cc           rjmp    .-1830          ; 0x5f3a <__stack+0x4e3b>
    6660:       77 b7           in      r23, 0x37       ; 55
    6662:       49 fa           .word   0xfa49  ; ????
    6664:       02 60           ori     r16, 0x02       ; 2
    6666:       58 e0           ldi     r21, 0x08       ; 8
    6668:       90 8e           std     Z+24, r9        ; 0x18
    666a:       d9 c2           rjmp    .+1458          ; 0x6c1e <zx_wait_task+0x7c>
    666c:       41 ab           std     Z+49, r20       ; 0x31
    666e:       c6 04           cpc     r12, r6
    6670:       16 d3           rcall   .+1580          ; 0x6c9e <zx_task+0x2c>
    6672:       59 f6           brne    .-106           ; 0x660a <_binary_top_mlz_size+0x57>
    6674:       4c 9b           sbis    0x09, 4 ; 9
    6676:       63 a0           ldd     r6, Z+35        ; 0x23
    6678:       fd 2b           or      r31, r29
    667a:       45 15           cp      r20, r5
    667c:       f8 b7           in      r31, 0x38       ; 56
    667e:       c6 0f           add     r28, r22
    6680:       6e 44           sbci    r22, 0x4E       ; 78
    6682:       36 f9           bld     r19, 6
    6684:       02 ab           std     Z+50, r16       ; 0x32
    6686:       bf 01           movw    r22, r30
    6688:       11 ed           ldi     r17, 0xD1       ; 209
    668a:       42 14           cp      r4, r2
    668c:       b2 a0           ldd     r11, Z+34       ; 0x22
    668e:       08 e6           ldi     r16, 0x68       ; 104
    6690:       d6 f8           bld     r13, 6
    6692:       82 9a           sbi     0x10, 2 ; 16
    6694:       f3 30           cpi     r31, 0x03       ; 3
    6696:       06 dc           rcall   .-2036          ; 0x5ea4 <__stack+0x4da5>
    6698:       9d 08           sbc     r9, r13
    669a:       7d 01           movw    r14, r26
    669c:       24 03           mulsu   r18, r20
    669e:       ce 9d           mul     r28, r14
    66a0:       12 96           adiw    r26, 0x02       ; 2
    66a2:       40 50           subi    r20, 0x00       ; 0
    66a4:       26 f7           brtc    .-56            ; 0x666e <_binary_top_mlz_size+0xbb>
    66a6:       24 ae           std     Z+60, r2        ; 0x3c
    66a8:       11 cf           rjmp    .-478           ; 0x64cc <__stack+0x53cd>
    66aa:       fa 42           sbci    r31, 0x2A       ; 42
    66ac:       f1 01           movw    r30, r2
    66ae:       e0 d3           rcall   .+1984          ; 0x6e70 <__vector_10+0x2c>
    66b0:       22 c8           rjmp    .-4028          ; 0x56f6 <__stack+0x45f7>
    66b2:       c4 01           movw    r24, r8
    66b4:       20 ee           ldi     r18, 0xE0       ; 224
    66b6:       28 04           cpc     r2, r8
    66b8:       90 57           subi    r25, 0x70       ; 112
    66ba:       b8 c0           rjmp    .+368           ; 0x682c <update_keys+0x2e>
    66bc:       f2 d3           rcall   .+2020          ; 0x6ea2 <__vector_10+0x5e>
    66be:       03 21           and     r16, r3
    66c0:       d3 bb           out     0x13, r29       ; 19
    66c2:       96 fc           sbrc    r9, 6
    66c4:       0b 05           cpc     r16, r11
    66c6:       a0 f3           brcs    .-24            ; 0x66b0 <_binary_top_mlz_size+0xfd>
    66c8:       08 b4           in      r0, 0x28        ; 40
    66ca:       90 02           muls    r25, r16
    66cc:       c1 0b           sbc     r28, r17
    66ce:       e7 40           sbci    r30, 0x07       ; 7
    66d0:       01 28           or      r0, r1
    66d2:       f3 a8           ldd     r15, Z+51       ; 0x33
    66d4:       0d d3           rcall   .+1562          ; 0x6cf0 <zx_task+0x7e>
    66d6:       14 c0           rjmp    .+40            ; 0x6700 <_binary_top_mlz_size+0x14d>
    66d8:       f3 0a           sbc     r15, r19
    66da:       40 1d           adc     r20, r0
    66dc:       c6 d0           rcall   .+396           ; 0x686a <update_keys+0x6c>
    66de:       79 76           andi    r23, 0x69       ; 105
    66e0:       13 9d           mul     r17, r3
    66e2:       b0 14           cp      r11, r0
    66e4:       02 b4           in      r0, 0x22        ; 34
    66e6:       82 3c           cpi     r24, 0xC2       ; 194
    66e8:       e0 f3           brcs    .-8             ; 0x66e2 <_binary_top_mlz_size+0x12f>
    66ea:       5d 76           andi    r21, 0x6D       ; 109
    66ec:       ba 3d           cpi     r27, 0xDA       ; 218
    66ee:       01 50           subi    r16, 0x01       ; 1
    66f0:       66 fc           sbrc    r6, 6
    66f2:       78 bc           out     0x28, r7        ; 40
    66f4:       a6 e8           ldi     r26, 0x86       ; 134
    66f6:       fe 96           adiw    r30, 0x3e       ; 62
    66f8:       8c 2b           or      r24, r28
    66fa:       80 db           rcall   .-2304          ; 0x5dfc <__stack+0x4cfd>
    66fc:       d8 62           ori     r29, 0x28       ; 40
    66fe:       ff d8           rcall   .-3586          ; 0x58fe <__stack+0x47ff>
    6700:       d8 ff           .word   0xffd8  ; ????
    6702:       a1 e8           ldi     r26, 0x81       ; 129
    6704:       e6 a8           ldd     r14, Z+54       ; 0x36
    6706:       6f 58           subi    r22, 0x8F       ; 143
    6708:       77 ff           sbrs    r23, 7
    670a:       70 57           subi    r23, 0x70       ; 112
    670c:       18 f8           .word   0xf818  ; ????
    670e:       3f 15           cp      r19, r15
    6710:       a0 02           muls    r26, r16
    6712:       b4 80           ldd     r11, Z+4        ; 0x04
    6714:       0a f2           brmi    .-126           ; 0x6698 <_binary_top_mlz_size+0xe5>
    6716:       50 01           movw    r10, r0
    6718:       2a 40           sbci    r18, 0x0A       ; 10
    671a:       1c 81           ldd     r17, Y+4        ; 0x04
    671c:       f3 de           rcall   .-538           ; 0x6504 <__stack+0x5405>
    671e:       54 f3           brlt    .-44            ; 0x66f4 <_binary_top_mlz_size+0x141>
    6720:       fd c0           rjmp    .+506           ; 0x691c <zx_fifo_isfull+0xa>
    6722:       04 98           cbi     0x00, 4 ; 0
    6724:       00 13           cpse    r16, r16
    6726:       60 9f           mul     r22, r16
    6728:       ef 95 17 e0     call    0x7bc02e        ; 0x7bc02e <__data_load_end+0x7b3c02>
    672c:       02 5c           subi    r16, 0xC2       ; 194
    672e:       ff 80           ldd     r15, Y+7        ; 0x07
    6730:       0b f0           brvs    .+2             ; 0x6734 <_binary_top_mlz_size+0x181>
    6732:       03 2e           mov     r0, r19
    6734:       c0 05           cpc     r28, r0
    6736:       b8 36           cpi     r27, 0x68       ; 104
    6738:       f3 60           ori     r31, 0x03       ; 3
    673a:       ca f3           brmi    .-14            ; 0x672e <_binary_top_mlz_size+0x17b>
    673c:       0f 1c           adc     r0, r15
    673e:       f3 b9           out     0x03, r31       ; 3
    6740:       e0 fb           bst     r30, 0
    6742:       4f 0c           add     r4, r15
    6744:       94 81           ldd     r25, Z+4        ; 0x04
    6746:       32 ff           sbrs    r19, 2
    6748:       55 06           cpc     r5, r21
    674a:       ca 40           sbci    r28, 0x0A       ; 10
    674c:       19 30           cpi     r17, 0x09       ; 9
    674e:       03 66           ori     r16, 0x63       ; 99
    6750:       4e f3           brts    .-46            ; 0x6724 <_binary_top_mlz_size+0x171>
    6752:       a9 32           cpi     r26, 0x29       ; 41
    6754:       50 e7           ldi     r21, 0x70       ; 112
    6756:       f3 48           sbci    r31, 0x83       ; 131
    6758:       83 69           ori     r24, 0x93       ; 147
    675a:       f6 30           cpi     r31, 0x06       ; 6
    675c:       0d aa           std     Y+53, r0        ; 0x35
    675e:       41 77           andi    r20, 0x71       ; 113
    6760:       ff 7f           andi    r31, 0xFF       ; 255
    6762:       0c 90           ld      r0, X
    6764:       01 32           cpi     r16, 0x21       ; 33
    6766:       40 06           cpc     r4, r16
    6768:       fc c8           rjmp    .-3592          ; 0x5962 <__stack+0x4863>
    676a:       04 19           sub     r16, r4
    676c:       20 03           mulsu   r18, r16
    676e:       64 ed           ldi     r22, 0xD4       ; 212
    6770:       f3 a4           ldd     r15, Z+43       ; 0x2b
    6772:       41 54           subi    r20, 0x41       ; 65
    6774:       f3 13           cpse    r31, r19
    6776:       f3 f8           bld     r15, 3
    6778:       14 01           movw    r2, r8
    677a:       28 fb           .word   0xfb28  ; ????
    677c:       ff ec           ldi     r31, 0xCF       ; 207
    677e:       02 00           .word   0x0002  ; ????

0000677f <fpga_end>:
        ...

00006780 <__ctors_end>:
    6780:       11 24           eor     r1, r1
    6782:       1f be           out     0x3f, r1        ; 63
    6784:       cf ef           ldi     r28, 0xFF       ; 255
    6786:       d0 e1           ldi     r29, 0x10       ; 16
    6788:       de bf           out     0x3e, r29       ; 62
    678a:       cd bf           out     0x3d, r28       ; 61

0000678c <__do_copy_data>:
    678c:       11 e0           ldi     r17, 0x01       ; 1
    678e:       a0 e0           ldi     r26, 0x00       ; 0
    6790:       b1 e0           ldi     r27, 0x01       ; 1
    6792:       e0 e0           ldi     r30, 0x00       ; 0
    6794:       f4 e8           ldi     r31, 0x84       ; 132
    6796:       00 e0           ldi     r16, 0x00       ; 0
    6798:       0b bf           out     0x3b, r16       ; 59
    679a:       02 c0           rjmp    .+4             ; 0x67a0 <__do_copy_data+0x14>
    679c:       07 90           elpm    r0, Z+
    679e:       0d 92           st      X+, r0
    67a0:       ac 32           cpi     r26, 0x2C       ; 44
    67a2:       b1 07           cpc     r27, r17
    67a4:       d9 f7           brne    .-10            ; 0x679c <__do_copy_data+0x10>

000067a6 <__do_clear_bss>:
    67a6:       1a e0           ldi     r17, 0x0A       ; 10
    67a8:       ac e2           ldi     r26, 0x2C       ; 44
    67aa:       b1 e0           ldi     r27, 0x01       ; 1
    67ac:       01 c0           rjmp    .+2             ; 0x67b0 <.do_clear_bss_start>

000067ae <.do_clear_bss_loop>:
    67ae:       1d 92           st      X+, r1

000067b0 <.do_clear_bss_start>:
    67b0:       a0 3c           cpi     r26, 0xC0       ; 192
    67b2:       b1 07           cpc     r27, r17
    67b4:       e1 f7           brne    .-8             ; 0x67ae <.do_clear_bss_loop>
    67b6:       0e 94 22 39     call    0x7244  ; 0x7244 <main>
    67ba:       0c 94 fe 41     jmp     0x83fc  ; 0x83fc <_exit>

000067be <__bad_interrupt>:
    67be:       0c 94 00 00     jmp     0        ; 0x0 <__vectors>

000067c2 <zx_clr_kb>:
{
        BYTE i;

        for( i=0; i<sizeof(zx_map)/sizeof(zx_map[0]); i++ )
        {
                zx_map[i] = 0;
    67c2:       10 92 58 01     sts     0x0158, r1
    67c6:       10 92 59 01     sts     0x0159, r1
    67ca:       10 92 5a 01     sts     0x015A, r1
    67ce:       10 92 5b 01     sts     0x015B, r1
    67d2:       10 92 5c 01     sts     0x015C, r1
    67d6:       ee e5           ldi     r30, 0x5E       ; 94
    67d8:       f2 e0           ldi     r31, 0x02       ; 2
        }

        for( i=0; i<sizeof(zx_realkbd)/sizeof(zx_realkbd[0]); i++ )
        {
                zx_realkbd[i] = 0xff;
    67da:       8f ef           ldi     r24, 0xFF       ; 255
    67dc:       01 c0           rjmp    .+2             ; 0x67e0 <zx_clr_kb+0x1e>
    67de:       81 93           st      Z+, r24
        for( i=0; i<sizeof(zx_map)/sizeof(zx_map[0]); i++ )
        {
                zx_map[i] = 0;
        }

        for( i=0; i<sizeof(zx_realkbd)/sizeof(zx_realkbd[0]); i++ )
    67e0:       92 e0           ldi     r25, 0x02       ; 2
    67e2:       e9 36           cpi     r30, 0x69       ; 105
    67e4:       f9 07           cpc     r31, r25
    67e6:       d9 f7           brne    .-10            ; 0x67de <zx_clr_kb+0x1c>
    67e8:       ea e6           ldi     r30, 0x6A       ; 106
    67ea:       f2 e0           ldi     r31, 0x02       ; 2
    67ec:       01 c0           rjmp    .+2             ; 0x67f0 <zx_clr_kb+0x2e>
                zx_realkbd[i] = 0xff;
        }

        for( i=0; i<sizeof(zx_counters)/sizeof(zx_counters[0]); i++ )
        {
                zx_counters[i] = 0;
    67ee:       11 92           st      Z+, r1
        for( i=0; i<sizeof(zx_realkbd)/sizeof(zx_realkbd[0]); i++ )
        {
                zx_realkbd[i] = 0xff;
        }

        for( i=0; i<sizeof(zx_counters)/sizeof(zx_counters[0]); i++ )
    67f0:       82 e0           ldi     r24, 0x02       ; 2
    67f2:       e2 39           cpi     r30, 0x92       ; 146
    67f4:       f8 07           cpc     r31, r24
    67f6:       d9 f7           brne    .-10            ; 0x67ee <zx_clr_kb+0x2c>
        {
                zx_counters[i] = 0;
        }

        kb_status = 0;
    67f8:       10 92 69 02     sts     0x0269, r1
}
    67fc:       08 95           ret

000067fe <update_keys>:
                if( tbl2!=NO_KEY ) update_keys(tbl2,was_release);
        }
}

void update_keys(UBYTE zxcode, UBYTE was_release)
{
    67fe:       58 2f           mov     r21, r24
        BYTE i;

        if( zxcode==NO_KEY )
    6800:       8f 37           cpi     r24, 0x7F       ; 127
    6802:       e9 f1           breq    .+122           ; 0x687e <update_keys+0x80>
        {
                /* NOTHING */
        }
        else if( (zxcode==CLRKYS) && (!was_release) ) // does not have release option
    6804:       8a 37           cpi     r24, 0x7A       ; 122
    6806:       01 f5           brne    .+64            ; 0x6848 <update_keys+0x4a>
    6808:       66 23           and     r22, r22
    680a:       c9 f5           brne    .+114           ; 0x687e <update_keys+0x80>
    680c:       e1 e9           ldi     r30, 0x91       ; 145
    680e:       f2 e0           ldi     r31, 0x02       ; 2
        {
                i=39;
                do zx_counters[i]=0; while( (--i)>=0 );
    6810:       10 82           st      Z, r1
    6812:       31 97           sbiw    r30, 0x01       ; 1
    6814:       82 e0           ldi     r24, 0x02       ; 2
    6816:       e9 36           cpi     r30, 0x69       ; 105
    6818:       f8 07           cpc     r31, r24
    681a:       d1 f7           brne    .-12            ; 0x6810 <update_keys+0x12>
}

UBYTE zx_fifo_isfull(void)
{
        //always one byte unused, to distinguish between totally full fifo and empty fifo
        return( (zx_fifo_in_ptr+1)==zx_fifo_out_ptr );
    681c:       40 91 92 02     lds     r20, 0x0292
    6820:       e4 2f           mov     r30, r20
    6822:       f0 e0           ldi     r31, 0x00       ; 0
        else if( (zxcode==CLRKYS) && (!was_release) ) // does not have release option
        {
                i=39;
                do zx_counters[i]=0; while( (--i)>=0 );

                if( !zx_fifo_isfull() )
    6824:       9f 01           movw    r18, r30
    6826:       2f 5f           subi    r18, 0xFF       ; 255
    6828:       3f 4f           sbci    r19, 0xFF       ; 255
    682a:       80 91 57 01     lds     r24, 0x0157
    682e:       90 e0           ldi     r25, 0x00       ; 0
    6830:       28 17           cp      r18, r24
    6832:       39 07           cpc     r19, r25
    6834:       09 f4           brne    .+2             ; 0x6838 <update_keys+0x3a>
    6836:       44 c0           rjmp    .+136           ; 0x68c0 <update_keys+0xc2>
        }
}

void zx_fifo_put(UBYTE input)
{
        zx_fifo[zx_fifo_in_ptr++] = input;
    6838:       e2 5a           subi    r30, 0xA2       ; 162
    683a:       fe 4f           sbci    r31, 0xFE       ; 254
    683c:       8a e7           ldi     r24, 0x7A       ; 122
    683e:       80 83           st      Z, r24
    6840:       4f 5f           subi    r20, 0xFF       ; 255
    6842:       40 93 92 02     sts     0x0292, r20
    6846:       3c c0           rjmp    .+120           ; 0x68c0 <update_keys+0xc2>
                do zx_counters[i]=0; while( (--i)>=0 );

                if( !zx_fifo_isfull() )
                        zx_fifo_put(CLRKYS);
        }
        else if( zxcode>=RSTSYS ) // resets - press and release
    6848:       8b 37           cpi     r24, 0x7B       ; 123
    684a:       c8 f0           brcs    .+50            ; 0x687e <update_keys+0x80>
}

UBYTE zx_fifo_isfull(void)
{
        //always one byte unused, to distinguish between totally full fifo and empty fifo
        return( (zx_fifo_in_ptr+1)==zx_fifo_out_ptr );
    684c:       40 91 92 02     lds     r20, 0x0292
    6850:       e4 2f           mov     r30, r20
    6852:       f0 e0           ldi     r31, 0x00       ; 0
                if( !zx_fifo_isfull() )
                        zx_fifo_put(CLRKYS);
        }
        else if( zxcode>=RSTSYS ) // resets - press and release
        {
                if( !zx_fifo_isfull() )
    6854:       9f 01           movw    r18, r30
    6856:       2f 5f           subi    r18, 0xFF       ; 255
    6858:       3f 4f           sbci    r19, 0xFF       ; 255
    685a:       80 91 57 01     lds     r24, 0x0157
    685e:       90 e0           ldi     r25, 0x00       ; 0
    6860:       28 17           cp      r18, r24
    6862:       39 07           cpc     r19, r25
    6864:       61 f0           breq    .+24            ; 0x687e <update_keys+0x80>
                        zx_fifo_put( (was_release ? 0 : PRESS_MASK) | zxcode );
    6866:       66 23           and     r22, r22
    6868:       11 f4           brne    .+4             ; 0x686e <update_keys+0x70>
    686a:       80 e8           ldi     r24, 0x80       ; 128
    686c:       01 c0           rjmp    .+2             ; 0x6870 <update_keys+0x72>
    686e:       80 e0           ldi     r24, 0x00       ; 0
        }
}

void zx_fifo_put(UBYTE input)
{
        zx_fifo[zx_fifo_in_ptr++] = input;
    6870:       e2 5a           subi    r30, 0xA2       ; 162
    6872:       fe 4f           sbci    r31, 0xFE       ; 254
    6874:       85 2b           or      r24, r21
    6876:       80 83           st      Z, r24
    6878:       4f 5f           subi    r20, 0xFF       ; 255
    687a:       40 93 92 02     sts     0x0292, r20
                if( !zx_fifo_isfull() )
                        zx_fifo_put( (was_release ? 0 : PRESS_MASK) | zxcode );
        }
        else if( zxcode < 40 ); // ordinary keys too
        {
                if( was_release )
    687e:       66 23           and     r22, r22
    6880:       f9 f0           breq    .+62            ; 0x68c0 <update_keys+0xc2>
                {
                        if( zx_counters[zxcode] && !(--zx_counters[zxcode]) ) // left-to-right evaluation and shortcutting
    6882:       e5 2f           mov     r30, r21
    6884:       f0 e0           ldi     r31, 0x00       ; 0
    6886:       e6 59           subi    r30, 0x96       ; 150
    6888:       fd 4f           sbci    r31, 0xFD       ; 253
    688a:       80 81           ld      r24, Z
    688c:       88 23           and     r24, r24
    688e:       a9 f1           breq    .+106           ; 0x68fa <update_keys+0xfc>
    6890:       81 50           subi    r24, 0x01       ; 1
    6892:       80 83           st      Z, r24
    6894:       88 23           and     r24, r24
    6896:       89 f5           brne    .+98            ; 0x68fa <update_keys+0xfc>
}

UBYTE zx_fifo_isfull(void)
{
        //always one byte unused, to distinguish between totally full fifo and empty fifo
        return( (zx_fifo_in_ptr+1)==zx_fifo_out_ptr );
    6898:       40 91 92 02     lds     r20, 0x0292
    689c:       e4 2f           mov     r30, r20
    689e:       f0 e0           ldi     r31, 0x00       ; 0
        {
                if( was_release )
                {
                        if( zx_counters[zxcode] && !(--zx_counters[zxcode]) ) // left-to-right evaluation and shortcutting
                        {
                                if( !zx_fifo_isfull() )
    68a0:       9f 01           movw    r18, r30
    68a2:       2f 5f           subi    r18, 0xFF       ; 255
    68a4:       3f 4f           sbci    r19, 0xFF       ; 255
    68a6:       80 91 57 01     lds     r24, 0x0157
    68aa:       90 e0           ldi     r25, 0x00       ; 0
    68ac:       28 17           cp      r18, r24
    68ae:       39 07           cpc     r19, r25
    68b0:       21 f1           breq    .+72            ; 0x68fa <update_keys+0xfc>
        }
}

void zx_fifo_put(UBYTE input)
{
        zx_fifo[zx_fifo_in_ptr++] = input;
    68b2:       e2 5a           subi    r30, 0xA2       ; 162
    68b4:       fe 4f           sbci    r31, 0xFE       ; 254
    68b6:       50 83           st      Z, r21
    68b8:       4f 5f           subi    r20, 0xFF       ; 255
    68ba:       40 93 92 02     sts     0x0292, r20
    68be:       08 95           ret
                                        zx_fifo_put(zxcode);
                        }
                }
                else // key pressed
                {
                        if( !(zx_counters[zxcode]++) )
    68c0:       e5 2f           mov     r30, r21
    68c2:       f0 e0           ldi     r31, 0x00       ; 0
    68c4:       e6 59           subi    r30, 0x96       ; 150
    68c6:       fd 4f           sbci    r31, 0xFD       ; 253
    68c8:       80 81           ld      r24, Z
    68ca:       8f 5f           subi    r24, 0xFF       ; 255
    68cc:       80 83           st      Z, r24
    68ce:       81 50           subi    r24, 0x01       ; 1
    68d0:       a1 f4           brne    .+40            ; 0x68fa <update_keys+0xfc>
}

UBYTE zx_fifo_isfull(void)
{
        //always one byte unused, to distinguish between totally full fifo and empty fifo
        return( (zx_fifo_in_ptr+1)==zx_fifo_out_ptr );
    68d2:       40 91 92 02     lds     r20, 0x0292
    68d6:       e4 2f           mov     r30, r20
    68d8:       f0 e0           ldi     r31, 0x00       ; 0
                }
                else // key pressed
                {
                        if( !(zx_counters[zxcode]++) )
                        {
                                if( !zx_fifo_isfull() )
    68da:       9f 01           movw    r18, r30
    68dc:       2f 5f           subi    r18, 0xFF       ; 255
    68de:       3f 4f           sbci    r19, 0xFF       ; 255
    68e0:       80 91 57 01     lds     r24, 0x0157
    68e4:       90 e0           ldi     r25, 0x00       ; 0
    68e6:       28 17           cp      r18, r24
    68e8:       39 07           cpc     r19, r25
    68ea:       39 f0           breq    .+14            ; 0x68fa <update_keys+0xfc>
        }
}

void zx_fifo_put(UBYTE input)
{
        zx_fifo[zx_fifo_in_ptr++] = input;
    68ec:       e2 5a           subi    r30, 0xA2       ; 162
    68ee:       fe 4f           sbci    r31, 0xFE       ; 254
    68f0:       50 68           ori     r21, 0x80       ; 128
    68f2:       50 83           st      Z, r21
    68f4:       4f 5f           subi    r20, 0xFF       ; 255
    68f6:       40 93 92 02     sts     0x0292, r20
    68fa:       08 95           ret

000068fc <zx_fifo_put>:
    68fc:       90 91 92 02     lds     r25, 0x0292
    6900:       ee e5           ldi     r30, 0x5E       ; 94
    6902:       f1 e0           ldi     r31, 0x01       ; 1
    6904:       e9 0f           add     r30, r25
    6906:       f1 1d           adc     r31, r1
    6908:       80 83           st      Z, r24
    690a:       9f 5f           subi    r25, 0xFF       ; 255
    690c:       90 93 92 02     sts     0x0292, r25
}
    6910:       08 95           ret

00006912 <zx_fifo_isfull>:

UBYTE zx_fifo_isfull(void)
{
    6912:       40 e0           ldi     r20, 0x00       ; 0
    6914:       20 91 92 02     lds     r18, 0x0292
    6918:       30 e0           ldi     r19, 0x00       ; 0
    691a:       2f 5f           subi    r18, 0xFF       ; 255
    691c:       3f 4f           sbci    r19, 0xFF       ; 255
    691e:       80 91 57 01     lds     r24, 0x0157
    6922:       90 e0           ldi     r25, 0x00       ; 0
    6924:       28 17           cp      r18, r24
    6926:       39 07           cpc     r19, r25
    6928:       09 f4           brne    .+2             ; 0x692c <zx_fifo_isfull+0x1a>
    692a:       41 e0           ldi     r20, 0x01       ; 1
        //always one byte unused, to distinguish between totally full fifo and empty fifo
        return( (zx_fifo_in_ptr+1)==zx_fifo_out_ptr );
}
    692c:       84 2f           mov     r24, r20
    692e:       08 95           ret

00006930 <zx_fifo_isempty>:

UBYTE zx_fifo_isempty(void)
{
    6930:       20 e0           ldi     r18, 0x00       ; 0
    6932:       90 91 92 02     lds     r25, 0x0292
    6936:       80 91 57 01     lds     r24, 0x0157
    693a:       98 17           cp      r25, r24
    693c:       09 f4           brne    .+2             ; 0x6940 <zx_fifo_isempty+0x10>
    693e:       21 e0           ldi     r18, 0x01       ; 1
        return (zx_fifo_in_ptr==zx_fifo_out_ptr);
}
    6940:       82 2f           mov     r24, r18
    6942:       08 95           ret

00006944 <zx_fifo_get>:

UBYTE zx_fifo_get(void)
{
        return zx_fifo[zx_fifo_out_ptr++]; // get byte permanently
    6944:       90 91 57 01     lds     r25, 0x0157
    6948:       ee e5           ldi     r30, 0x5E       ; 94
    694a:       f1 e0           ldi     r31, 0x01       ; 1
    694c:       e9 0f           add     r30, r25
    694e:       f1 1d           adc     r31, r1
    6950:       80 81           ld      r24, Z
    6952:       9f 5f           subi    r25, 0xFF       ; 255
    6954:       90 93 57 01     sts     0x0157, r25
}
    6958:       08 95           ret

0000695a <zx_fifo_copy>:

UBYTE zx_fifo_copy(void)
{
    695a:       80 91 57 01     lds     r24, 0x0157
    695e:       ee e5           ldi     r30, 0x5E       ; 94
    6960:       f1 e0           ldi     r31, 0x01       ; 1
    6962:       e8 0f           add     r30, r24
    6964:       f1 1d           adc     r31, r1
        return zx_fifo[zx_fifo_out_ptr]; // get byte but leave it in fifo
}
    6966:       80 81           ld      r24, Z
    6968:       08 95           ret

0000696a <zx_mouse_reset>:

void zx_mouse_reset(UBYTE enable)
{
        if ( enable )
    696a:       88 23           and     r24, r24
    696c:       21 f0           breq    .+8             ; 0x6976 <zx_mouse_reset+0xc>
        {
                //ZX autodetecting found mouse on this values
                zx_mouse_x = 0;
    696e:       10 92 95 02     sts     0x0295, r1
                zx_mouse_y = 1;
    6972:       81 e0           ldi     r24, 0x01       ; 1
    6974:       05 c0           rjmp    .+10            ; 0x6980 <zx_mouse_reset+0x16>
        }
        else
        {
                //ZX autodetecting not found mouse on this values
                zx_mouse_y = zx_mouse_x = 0xFF;
    6976:       8f ef           ldi     r24, 0xFF       ; 255
    6978:       80 93 95 02     sts     0x0295, r24
    697c:       80 91 95 02     lds     r24, 0x0295
    6980:       80 93 93 02     sts     0x0293, r24
        }
        zx_mouse_button = 0xFF;
    6984:       8f ef           ldi     r24, 0xFF       ; 255
    6986:       80 93 5d 01     sts     0x015D, r24
        flags_register|=(FLAG_PS2MOUSE_ZX_READY);
    698a:       80 91 9b 02     lds     r24, 0x029B
    698e:       84 60           ori     r24, 0x04       ; 4
    6990:       80 93 9b 02     sts     0x029B, r24
}
    6994:       08 95           ret

00006996 <zx_spi_send>:
        //reset Z80
        zx_spi_send(SPI_RST_REG, 0, 0);
}

UBYTE zx_spi_send(UBYTE addr, UBYTE data, UBYTE mask)
{
    6996:       ff 92           push    r15
    6998:       0f 93           push    r16
    699a:       1f 93           push    r17
    699c:       06 2f           mov     r16, r22
    699e:       14 2f           mov     r17, r20
        UBYTE status;
        UBYTE ret;
        nSPICS_PORT &= ~(1<<nSPICS); // fix for status locking
    69a0:       c0 98           cbi     0x18, 0 ; 24
        nSPICS_PORT |= (1<<nSPICS);  // set address of SPI register
    69a2:       c0 9a           sbi     0x18, 0 ; 24
        status = spi_send(addr);
    69a4:       0e 94 0a 3c     call    0x7814  ; 0x7814 <spi_send>
    69a8:       f8 2e           mov     r15, r24
        nSPICS_PORT &= ~(1<<nSPICS); // send data for that register
    69aa:       c0 98           cbi     0x18, 0 ; 24
        ret = spi_send(data);
    69ac:       80 2f           mov     r24, r16
    69ae:       0e 94 0a 3c     call    0x7814  ; 0x7814 <spi_send>
    69b2:       08 2f           mov     r16, r24
        nSPICS_PORT |= (1<<nSPICS);
    69b4:       c0 9a           sbi     0x18, 0 ; 24

        //if CPU waited
        if ( status&mask ) zx_wait_task(status);
    69b6:       1f 21           and     r17, r15
    69b8:       19 f0           breq    .+6             ; 0x69c0 <zx_spi_send+0x2a>
    69ba:       8f 2d           mov     r24, r15
    69bc:       0e 94 d1 35     call    0x6ba2  ; 0x6ba2 <zx_wait_task>

        return ret;
}
    69c0:       80 2f           mov     r24, r16
    69c2:       1f 91           pop     r17
    69c4:       0f 91           pop     r16
    69c6:       ff 90           pop     r15
    69c8:       08 95           ret

000069ca <zx_set_config>:
}

void zx_set_config(UBYTE flags)
{
        //send configuration to FPGA
        zx_spi_send(SPI_CONFIG_REG, (modes_register&MODE_VGA) | (flags & ~MODE_VGA), 0x7F);
    69ca:       90 91 96 02     lds     r25, 0x0296
    69ce:       68 2f           mov     r22, r24
    69d0:       6e 7f           andi    r22, 0xFE       ; 254
    69d2:       91 70           andi    r25, 0x01       ; 1
    69d4:       69 2b           or      r22, r25
    69d6:       80 e8           ldi     r24, 0x80       ; 128
    69d8:       4f e7           ldi     r20, 0x7F       ; 127
    69da:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
}
    69de:       08 95           ret

000069e0 <zx_vga_switcher>:
}

void zx_vga_switcher(void)
{
        //invert VGA mode
        modes_register ^= MODE_VGA;
    69e0:       80 91 96 02     lds     r24, 0x0296
    69e4:       91 e0           ldi     r25, 0x01       ; 1
    69e6:       89 27           eor     r24, r25
    69e8:       80 93 96 02     sts     0x0296, r24

        //send configuration to FPGA
        zx_spi_send(SPI_CONFIG_REG, modes_register&MODE_VGA, 0x7F);
    69ec:       60 91 96 02     lds     r22, 0x0296
    69f0:       61 70           andi    r22, 0x01       ; 1
    69f2:       80 e8           ldi     r24, 0x80       ; 128
    69f4:       4f e7           ldi     r20, 0x7F       ; 127
    69f6:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>

        //save mode register to RTC NVRAM
        rtc_write(RTC_COMMON_MODE_REG, modes_register);
    69fa:       60 91 96 02     lds     r22, 0x0296
    69fe:       8e ef           ldi     r24, 0xFE       ; 254
    6a00:       0e 94 63 3e     call    0x7cc6  ; 0x7cc6 <rtc_write>

        //set led on keyboard
        ps2keyboard_send_cmd(PS2KEYBOARD_CMD_SETLED);
    6a04:       8d ee           ldi     r24, 0xED       ; 237
    6a06:       0e 94 fb 39     call    0x73f6  ; 0x73f6 <ps2keyboard_send_cmd>
}
    6a0a:       08 95           ret

00006a0c <to_zx>:

        kb_status = 0;
}

void to_zx(UBYTE scancode, UBYTE was_E0, UBYTE was_release)
{
    6a0c:       ff 92           push    r15
    6a0e:       0f 93           push    r16
    6a10:       1f 93           push    r17
    6a12:       28 2f           mov     r18, r24
    6a14:       14 2f           mov     r17, r20
        UBYTE* tblptr;
        UBYTE tbl1,tbl2;

        tbl1=tbl2=NO_KEY;

        if( was_E0 )
    6a16:       66 23           and     r22, r22
    6a18:       e9 f1           breq    .+122           ; 0x6a94 <to_zx+0x88>
        {
                if( (scancode>=0x60) && (scancode<=0x7F) )
    6a1a:       80 56           subi    r24, 0x60       ; 96
    6a1c:       80 32           cpi     r24, 0x20       ; 32
    6a1e:       20 f0           brcs    .+8             ; 0x6a28 <to_zx+0x1c>
    6a20:       0f e7           ldi     r16, 0x7F       ; 127
    6a22:       6f e7           ldi     r22, 0x7F       ; 127
    6a24:       f6 2e           mov     r15, r22
    6a26:       0e c0           rjmp    .+28            ; 0x6a44 <to_zx+0x38>
                {
                        tbldisp = (scancode-0x60)*2;
                        tblptr = kbmap_E0 + tbldisp;
    6a28:       82 2f           mov     r24, r18
    6a2a:       90 e0           ldi     r25, 0x00       ; 0
    6a2c:       80 56           subi    r24, 0x60       ; 96
    6a2e:       90 40           sbci    r25, 0x00       ; 0
    6a30:       88 0f           add     r24, r24
    6a32:       99 1f           adc     r25, r25
    6a34:       e0 91 be 0a     lds     r30, 0x0ABE
    6a38:       f0 91 bf 0a     lds     r31, 0x0ABF
    6a3c:       e8 0f           add     r30, r24
    6a3e:       f9 1f           adc     r31, r25
                        tbl1 = *( tblptr++ );
    6a40:       00 81           ld      r16, Z
                        tbl2 = *( tblptr );
    6a42:       f1 80           ldd     r15, Z+1        ; 0x01
                }

                //additional functionality from ps/2 keyboard
                switch( scancode )
    6a44:       2a 35           cpi     r18, 0x5A       ; 90
    6a46:       61 f0           breq    .+24            ; 0x6a60 <to_zx+0x54>
    6a48:       2b 35           cpi     r18, 0x5B       ; 91
    6a4a:       20 f4           brcc    .+8             ; 0x6a54 <to_zx+0x48>
    6a4c:       2a 34           cpi     r18, 0x4A       ; 74
    6a4e:       09 f0           breq    .+2             ; 0x6a52 <to_zx+0x46>
    6a50:       92 c0           rjmp    .+292           ; 0x6b76 <to_zx+0x16a>
    6a52:       9f c0           rjmp    .+318           ; 0x6b92 <to_zx+0x186>
    6a54:       21 37           cpi     r18, 0x71       ; 113
    6a56:       59 f0           breq    .+22            ; 0x6a6e <to_zx+0x62>
    6a58:       2c 37           cpi     r18, 0x7C       ; 124
    6a5a:       09 f0           breq    .+2             ; 0x6a5e <to_zx+0x52>
    6a5c:       8c c0           rjmp    .+280           ; 0x6b76 <to_zx+0x16a>
    6a5e:       02 c0           rjmp    .+4             ; 0x6a64 <to_zx+0x58>
    6a60:       01 e0           ldi     r16, 0x01       ; 1
    6a62:       8b c0           rjmp    .+278           ; 0x6b7a <to_zx+0x16e>
                                tbl1 = KEY_EN;
                                break;
                        //Print Screen
                        case 0x7C:
                                //set/reset NMI
                                zx_set_config( (was_release==0)? SPI_CONFIG_NMI_FLAG : 0 );
    6a64:       11 23           and     r17, r17
    6a66:       09 f0           breq    .+2             ; 0x6a6a <to_zx+0x5e>
    6a68:       75 c0           rjmp    .+234           ; 0x6b54 <to_zx+0x148>
    6a6a:       82 e0           ldi     r24, 0x02       ; 2
    6a6c:       76 c0           rjmp    .+236           ; 0x6b5a <to_zx+0x14e>
                                break;
                        //Del
                        case 0x71:
                                //Ctrl-Alt-Del pressed
                                if ( ( !was_release ) &&
    6a6e:       11 23           and     r17, r17
    6a70:       09 f0           breq    .+2             ; 0x6a74 <to_zx+0x68>
    6a72:       81 c0           rjmp    .+258           ; 0x6b76 <to_zx+0x16a>
    6a74:       80 91 69 02     lds     r24, 0x0269
    6a78:       87 fd           sbrc    r24, 7
    6a7a:       7d c0           rjmp    .+250           ; 0x6b76 <to_zx+0x16a>
    6a7c:       80 91 69 02     lds     r24, 0x0269
    6a80:       83 70           andi    r24, 0x03       ; 3
    6a82:       83 30           cpi     r24, 0x03       ; 3
    6a84:       09 f0           breq    .+2             ; 0x6a88 <to_zx+0x7c>
    6a86:       77 c0           rjmp    .+238           ; 0x6b76 <to_zx+0x16a>
                                     ( !(kb_status & KB_CTRL_ALT_DEL_MAPPED_MASK) ) &&
                                         ( (kb_status & (KB_CTRL_MASK|KB_ALT_MASK)) == (KB_CTRL_MASK|KB_ALT_MASK) ) )
                                {
                                        //hard reset
                                        flags_register |= FLAG_HARD_RESET;
    6a88:       80 91 9b 02     lds     r24, 0x029B
    6a8c:       80 68           ori     r24, 0x80       ; 128
    6a8e:       80 93 9b 02     sts     0x029B, r24
    6a92:       83 c0           rjmp    .+262           ; 0x6b9a <to_zx+0x18e>
                                break;
                }
        }
        else
        {
                if( scancode<=0x7F )
    6a94:       87 ff           sbrs    r24, 7
    6a96:       04 c0           rjmp    .+8             ; 0x6aa0 <to_zx+0x94>
    6a98:       0f e7           ldi     r16, 0x7F       ; 127
    6a9a:       4f e7           ldi     r20, 0x7F       ; 127
    6a9c:       f4 2e           mov     r15, r20
    6a9e:       0b c0           rjmp    .+22            ; 0x6ab6 <to_zx+0xaa>
                {
                        tbldisp = scancode*2;
                        tblptr = kbmap + tbldisp;
    6aa0:       90 e0           ldi     r25, 0x00       ; 0
    6aa2:       88 0f           add     r24, r24
    6aa4:       99 1f           adc     r25, r25
    6aa6:       e0 91 bc 0a     lds     r30, 0x0ABC
    6aaa:       f0 91 bd 0a     lds     r31, 0x0ABD
    6aae:       e8 0f           add     r30, r24
    6ab0:       f9 1f           adc     r31, r25
                        tbl1 = *( tblptr++ );
    6ab2:       00 81           ld      r16, Z
                        tbl2 = *( tblptr );
    6ab4:       f1 80           ldd     r15, Z+1        ; 0x01
                }

                //additional functionality from ps/2 keyboard
                switch( scancode )
    6ab6:       21 31           cpi     r18, 0x11       ; 17
    6ab8:       e9 f1           breq    .+122           ; 0x6b34 <to_zx+0x128>
    6aba:       22 31           cpi     r18, 0x12       ; 18
    6abc:       50 f4           brcc    .+20            ; 0x6ad2 <to_zx+0xc6>
    6abe:       27 30           cpi     r18, 0x07       ; 7
    6ac0:       09 f4           brne    .+2             ; 0x6ac4 <to_zx+0xb8>
    6ac2:       4e c0           rjmp    .+156           ; 0x6b60 <to_zx+0x154>
    6ac4:       29 30           cpi     r18, 0x09       ; 9
    6ac6:       09 f4           brne    .+2             ; 0x6aca <to_zx+0xbe>
    6ac8:       43 c0           rjmp    .+134           ; 0x6b50 <to_zx+0x144>
    6aca:       21 30           cpi     r18, 0x01       ; 1
    6acc:       09 f0           breq    .+2             ; 0x6ad0 <to_zx+0xc4>
    6ace:       53 c0           rjmp    .+166           ; 0x6b76 <to_zx+0x16a>
    6ad0:       3b c0           rjmp    .+118           ; 0x6b48 <to_zx+0x13c>
    6ad2:       24 31           cpi     r18, 0x14       ; 20
    6ad4:       29 f1           breq    .+74            ; 0x6b20 <to_zx+0x114>
    6ad6:       25 31           cpi     r18, 0x15       ; 21
    6ad8:       20 f4           brcc    .+8             ; 0x6ae2 <to_zx+0xd6>
    6ada:       22 31           cpi     r18, 0x12       ; 18
    6adc:       09 f0           breq    .+2             ; 0x6ae0 <to_zx+0xd4>
    6ade:       4b c0           rjmp    .+150           ; 0x6b76 <to_zx+0x16a>
    6ae0:       0b c0           rjmp    .+22            ; 0x6af8 <to_zx+0xec>
    6ae2:       29 35           cpi     r18, 0x59       ; 89
    6ae4:       99 f0           breq    .+38            ; 0x6b0c <to_zx+0x100>
    6ae6:       2e 37           cpi     r18, 0x7E       ; 126
    6ae8:       09 f0           breq    .+2             ; 0x6aec <to_zx+0xe0>
    6aea:       45 c0           rjmp    .+138           ; 0x6b76 <to_zx+0x16a>
                {
                        //Scroll Lock
                        case 0x7E:
                                //check key of vga mode switcher
                                if ( !was_release ) zx_vga_switcher();
    6aec:       11 23           and     r17, r17
    6aee:       09 f0           breq    .+2             ; 0x6af2 <to_zx+0xe6>
    6af0:       42 c0           rjmp    .+132           ; 0x6b76 <to_zx+0x16a>
    6af2:       0e 94 f0 34     call    0x69e0  ; 0x69e0 <zx_vga_switcher>
    6af6:       3f c0           rjmp    .+126           ; 0x6b76 <to_zx+0x16a>
                                break;
                        //Left Shift
                        case  0x12:
                                if ( !was_release ) kb_status |= KB_LSHIFT_MASK;
    6af8:       11 23           and     r17, r17
    6afa:       21 f4           brne    .+8             ; 0x6b04 <to_zx+0xf8>
    6afc:       80 91 69 02     lds     r24, 0x0269
    6b00:       84 60           ori     r24, 0x04       ; 4
    6b02:       37 c0           rjmp    .+110           ; 0x6b72 <to_zx+0x166>
                                else kb_status &= ~KB_LSHIFT_MASK;
    6b04:       80 91 69 02     lds     r24, 0x0269
    6b08:       8b 7f           andi    r24, 0xFB       ; 251
    6b0a:       33 c0           rjmp    .+102           ; 0x6b72 <to_zx+0x166>
                                break;
                        //Right Shift
                        case  0x59:
                                if ( !was_release ) kb_status |= KB_RSHIFT_MASK;
    6b0c:       11 23           and     r17, r17
    6b0e:       21 f4           brne    .+8             ; 0x6b18 <to_zx+0x10c>
    6b10:       80 91 69 02     lds     r24, 0x0269
    6b14:       88 60           ori     r24, 0x08       ; 8
    6b16:       2d c0           rjmp    .+90            ; 0x6b72 <to_zx+0x166>
                                else kb_status &= ~KB_RSHIFT_MASK;
    6b18:       80 91 69 02     lds     r24, 0x0269
    6b1c:       87 7f           andi    r24, 0xF7       ; 247
    6b1e:       29 c0           rjmp    .+82            ; 0x6b72 <to_zx+0x166>
                                break;
                        //Ctrl
                        case  0x14:
                                if ( !was_release ) kb_status |= KB_CTRL_MASK;
    6b20:       11 23           and     r17, r17
    6b22:       21 f4           brne    .+8             ; 0x6b2c <to_zx+0x120>
    6b24:       80 91 69 02     lds     r24, 0x0269
    6b28:       81 60           ori     r24, 0x01       ; 1
    6b2a:       23 c0           rjmp    .+70            ; 0x6b72 <to_zx+0x166>
                                else kb_status &= ~KB_CTRL_MASK;
    6b2c:       80 91 69 02     lds     r24, 0x0269
    6b30:       8e 7f           andi    r24, 0xFE       ; 254
    6b32:       1f c0           rjmp    .+62            ; 0x6b72 <to_zx+0x166>
                                break;
                        //Alt
                        case  0x11:
                                if ( !was_release ) kb_status |= KB_ALT_MASK;
    6b34:       11 23           and     r17, r17
    6b36:       21 f4           brne    .+8             ; 0x6b40 <to_zx+0x134>
    6b38:       80 91 69 02     lds     r24, 0x0269
    6b3c:       82 60           ori     r24, 0x02       ; 2
    6b3e:       19 c0           rjmp    .+50            ; 0x6b72 <to_zx+0x166>
                                else kb_status &= ~KB_ALT_MASK;
    6b40:       80 91 69 02     lds     r24, 0x0269
    6b44:       8d 7f           andi    r24, 0xFD       ; 253
    6b46:       15 c0           rjmp    .+42            ; 0x6b72 <to_zx+0x166>
                                break;
                        //F9
                        case 0x01:
                                //set TURBO
                                zx_set_config( (was_release==0)? SPI_CONFIG_TURBO_FLAG : 0 );
    6b48:       11 23           and     r17, r17
    6b4a:       21 f4           brne    .+8             ; 0x6b54 <to_zx+0x148>
    6b4c:       88 e0           ldi     r24, 0x08       ; 8
    6b4e:       05 c0           rjmp    .+10            ; 0x6b5a <to_zx+0x14e>
                                break;
                        //F10
                        case 0x09:
                                //reset TURBO
                                zx_set_config( (was_release==0)? SPI_CONFIG_NOTURBO_FLAG : 0 );
    6b50:       11 23           and     r17, r17
    6b52:       11 f0           breq    .+4             ; 0x6b58 <to_zx+0x14c>
    6b54:       80 e0           ldi     r24, 0x00       ; 0
    6b56:       01 c0           rjmp    .+2             ; 0x6b5a <to_zx+0x14e>
    6b58:       80 e1           ldi     r24, 0x10       ; 16
    6b5a:       0e 94 e5 34     call    0x69ca  ; 0x69ca <zx_set_config>
    6b5e:       0b c0           rjmp    .+22            ; 0x6b76 <to_zx+0x16a>
                                break;
                        //F12
                        case  0x07:
                                if ( !was_release ) kb_status |= KB_F12_MASK;
    6b60:       11 23           and     r17, r17
    6b62:       21 f4           brne    .+8             ; 0x6b6c <to_zx+0x160>
    6b64:       80 91 69 02     lds     r24, 0x0269
    6b68:       80 61           ori     r24, 0x10       ; 16
    6b6a:       03 c0           rjmp    .+6             ; 0x6b72 <to_zx+0x166>
                                else kb_status &= ~KB_F12_MASK;
    6b6c:       80 91 69 02     lds     r24, 0x0269
    6b70:       8f 7e           andi    r24, 0xEF       ; 239
    6b72:       80 93 69 02     sts     0x0269, r24
                                break;
                }
        }

        if( tbl1!=NO_KEY )
    6b76:       0f 37           cpi     r16, 0x7F       ; 127
    6b78:       81 f0           breq    .+32            ; 0x6b9a <to_zx+0x18e>
        {
                update_keys(tbl1,was_release);
    6b7a:       80 2f           mov     r24, r16
    6b7c:       61 2f           mov     r22, r17
    6b7e:       0e 94 ff 33     call    0x67fe  ; 0x67fe <update_keys>

                if( tbl2!=NO_KEY ) update_keys(tbl2,was_release);
    6b82:       8f e7           ldi     r24, 0x7F       ; 127
    6b84:       f8 16           cp      r15, r24
    6b86:       49 f0           breq    .+18            ; 0x6b9a <to_zx+0x18e>
    6b88:       8f 2d           mov     r24, r15
    6b8a:       61 2f           mov     r22, r17
    6b8c:       0e 94 ff 33     call    0x67fe  ; 0x67fe <update_keys>
    6b90:       04 c0           rjmp    .+8             ; 0x6b9a <to_zx+0x18e>
        }
}
    6b92:       08 e0           ldi     r16, 0x08       ; 8
    6b94:       87 e2           ldi     r24, 0x27       ; 39
    6b96:       f8 2e           mov     r15, r24
    6b98:       f0 cf           rjmp    .-32            ; 0x6b7a <to_zx+0x16e>
    6b9a:       1f 91           pop     r17
    6b9c:       0f 91           pop     r16
    6b9e:       ff 90           pop     r15
    6ba0:       08 95           ret

00006ba2 <zx_wait_task>:
                flags_register&=~(FLAG_PS2MOUSE_ZX_READY);
        }
}

void zx_wait_task(UBYTE status)
{
    6ba2:       0f 93           push    r16
    6ba4:       1f 93           push    r17
    6ba6:       cf 93           push    r28
    6ba8:       df 93           push    r29
    6baa:       08 2f           mov     r16, r24
        UBYTE addr = 0;
        UBYTE data = 0xFF;

        //reset flag
        flags_register &= ~FLAG_SPI_INT;
    6bac:       80 91 9b 02     lds     r24, 0x029B
    6bb0:       87 7f           andi    r24, 0xF7       ; 247
    6bb2:       80 93 9b 02     sts     0x029B, r24

        //prepare data
        switch( status&0x7F )
    6bb6:       c0 2f           mov     r28, r16
    6bb8:       d0 e0           ldi     r29, 0x00       ; 0
    6bba:       cf 77           andi    r28, 0x7F       ; 127
    6bbc:       d0 70           andi    r29, 0x00       ; 0
    6bbe:       c1 30           cpi     r28, 0x01       ; 1
    6bc0:       d1 05           cpc     r29, r1
    6bc2:       29 f0           breq    .+10            ; 0x6bce <zx_wait_task+0x2c>
    6bc4:       c2 30           cpi     r28, 0x02       ; 2
    6bc6:       d1 05           cpc     r29, r1
    6bc8:       69 f0           breq    .+26            ; 0x6be4 <zx_wait_task+0x42>
    6bca:       10 e0           ldi     r17, 0x00       ; 0
    6bcc:       17 c0           rjmp    .+46            ; 0x6bfc <zx_wait_task+0x5a>
        {
        case ZXW_GLUK_CLOCK:
                {
                        addr = zx_spi_send(SPI_GLUK_ADDR, data, 0);
    6bce:       81 e4           ldi     r24, 0x41       ; 65
    6bd0:       6f ef           ldi     r22, 0xFF       ; 255
    6bd2:       40 e0           ldi     r20, 0x00       ; 0
    6bd4:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
    6bd8:       18 2f           mov     r17, r24
                        if ( status&0x80 ) data = gluk_get_reg(addr);
    6bda:       07 ff           sbrs    r16, 7
    6bdc:       0f c0           rjmp    .+30            ; 0x6bfc <zx_wait_task+0x5a>
    6bde:       0e 94 4f 40     call    0x809e  ; 0x809e <gluk_get_reg>
    6be2:       0a c0           rjmp    .+20            ; 0x6bf8 <zx_wait_task+0x56>
                        break;
                }
        case ZXW_KONDR_RS232:
                {
                        addr = zx_spi_send(SPI_RS232_ADDR, data, 0);
    6be4:       82 e4           ldi     r24, 0x42       ; 66
    6be6:       6f ef           ldi     r22, 0xFF       ; 255
    6be8:       40 e0           ldi     r20, 0x00       ; 0
    6bea:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
    6bee:       18 2f           mov     r17, r24
                        if ( status&0x80 ) data = rs232_zx_read(addr);
    6bf0:       07 ff           sbrs    r16, 7
    6bf2:       04 c0           rjmp    .+8             ; 0x6bfc <zx_wait_task+0x5a>
    6bf4:       0e 94 1d 3e     call    0x7c3a  ; 0x7c3a <rs232_zx_read>
    6bf8:       68 2f           mov     r22, r24
    6bfa:       01 c0           rjmp    .+2             ; 0x6bfe <zx_wait_task+0x5c>
    6bfc:       6f ef           ldi     r22, 0xFF       ; 255
                        break;
                }
        }

        if ( status&0x80 ) zx_spi_send(SPI_WAIT_DATA, data, 0);
    6bfe:       07 ff           sbrs    r16, 7
    6c00:       05 c0           rjmp    .+10            ; 0x6c0c <zx_wait_task+0x6a>
    6c02:       80 e4           ldi     r24, 0x40       ; 64
    6c04:       40 e0           ldi     r20, 0x00       ; 0
    6c06:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
    6c0a:       12 c0           rjmp    .+36            ; 0x6c30 <zx_wait_task+0x8e>
        else data = zx_spi_send(SPI_WAIT_DATA, data, 0);
    6c0c:       80 e4           ldi     r24, 0x40       ; 64
    6c0e:       40 e0           ldi     r20, 0x00       ; 0
    6c10:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
    6c14:       68 2f           mov     r22, r24

        if ( !(status&0x80) )
        {
                //save data
                switch( status&0x7F )
    6c16:       c1 30           cpi     r28, 0x01       ; 1
    6c18:       d1 05           cpc     r29, r1
    6c1a:       19 f0           breq    .+6             ; 0x6c22 <zx_wait_task+0x80>
    6c1c:       22 97           sbiw    r28, 0x02       ; 2
    6c1e:       41 f4           brne    .+16            ; 0x6c30 <zx_wait_task+0x8e>
    6c20:       04 c0           rjmp    .+8             ; 0x6c2a <zx_wait_task+0x88>
                {
                case ZXW_GLUK_CLOCK:
                        {
                                gluk_set_reg(addr, data);
    6c22:       81 2f           mov     r24, r17
    6c24:       0e 94 da 3f     call    0x7fb4  ; 0x7fb4 <gluk_set_reg>
    6c28:       03 c0           rjmp    .+6             ; 0x6c30 <zx_wait_task+0x8e>
                                break;
                        }
                case ZXW_KONDR_RS232:
                        {
                                rs232_zx_write(addr, data);
    6c2a:       81 2f           mov     r24, r17
    6c2c:       0e 94 d4 3d     call    0x7ba8  ; 0x7ba8 <rs232_zx_write>
        log_wait[5] = ((addr & 0x0F) <= 9 )?'0'+(addr & 0x0F):'A'+(addr & 0x0F)-10;
        log_wait[7] = ((data >> 4) <= 9 )?'0'+(data >> 4):'A'+(data >> 4)-10;
        log_wait[8] = ((data & 0x0F) <= 9 )?'0'+(data & 0x0F):'A'+(data & 0x0F)-10;
        to_log(log_wait);
#endif   */
}
    6c30:       df 91           pop     r29
    6c32:       cf 91           pop     r28
    6c34:       1f 91           pop     r17
    6c36:       0f 91           pop     r16
    6c38:       08 95           ret

00006c3a <zx_mouse_task>:
        flags_register|=(FLAG_PS2MOUSE_ZX_READY);
}

void zx_mouse_task(void)
{
        if ( flags_register&FLAG_PS2MOUSE_ZX_READY )
    6c3a:       80 91 9b 02     lds     r24, 0x029B
    6c3e:       82 ff           sbrs    r24, 2
    6c40:       17 c0           rjmp    .+46            ; 0x6c70 <zx_mouse_task+0x36>
        log_zxmouse[9] = ((zx_mouse_y >> 4) <= 9 )?'0'+(zx_mouse_y >> 4):'A'+(zx_mouse_y >> 4)-10;
        log_zxmouse[10] = ((zx_mouse_y & 0x0F) <= 9 )?'0'+(zx_mouse_y & 0x0F):'A'+(zx_mouse_y & 0x0F)-10;
        to_log(log_zxmouse);
#endif
                //TODO: ïîêà ñäåëàë ñêîïîì, ïîòîì ñäåëàòü ïî îäíîìó áàéòó çà çàõîä
                zx_spi_send(SPI_MOUSE_BTN, zx_mouse_button, 0x7F);
    6c42:       60 91 5d 01     lds     r22, 0x015D
    6c46:       82 e2           ldi     r24, 0x22       ; 34
    6c48:       4f e7           ldi     r20, 0x7F       ; 127
    6c4a:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>

                zx_spi_send(SPI_MOUSE_X, zx_mouse_x, 0x7F);
    6c4e:       60 91 95 02     lds     r22, 0x0295
    6c52:       80 e2           ldi     r24, 0x20       ; 32
    6c54:       4f e7           ldi     r20, 0x7F       ; 127
    6c56:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>

                zx_spi_send(SPI_MOUSE_Y, zx_mouse_y, 0x7F);
    6c5a:       60 91 93 02     lds     r22, 0x0293
    6c5e:       81 e2           ldi     r24, 0x21       ; 33
    6c60:       4f e7           ldi     r20, 0x7F       ; 127
    6c62:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>

                //data sended - reset flag
                flags_register&=~(FLAG_PS2MOUSE_ZX_READY);
    6c66:       80 91 9b 02     lds     r24, 0x029B
    6c6a:       8b 7f           andi    r24, 0xFB       ; 251
    6c6c:       80 93 9b 02     sts     0x029B, r24
    6c70:       08 95           ret

00006c72 <zx_task>:
        static UBYTE reset_type;

        UBYTE was_data;
        UBYTE code,keynum,keybit;

        if ( operation==ZX_TASK_INIT )
    6c72:       88 23           and     r24, r24
    6c74:       c1 f5           brne    .+112           ; 0x6ce6 <zx_task+0x74>
        {
                reset_type = 0;
    6c76:       10 92 2c 01     sts     0x012C, r1
                prev_code = KEY_V+1; // impossible scancode
    6c7a:       88 e2           ldi     r24, 0x28       ; 40
    6c7c:       80 93 2e 01     sts     0x012E, r24
                task_state = 0;
    6c80:       10 92 2d 01     sts     0x012D, r1
                shift_pause = 0;
    6c84:       10 92 94 02     sts     0x0294, r1

                zx_clr_kb();
    6c88:       0e 94 e1 33     call    0x67c2  ; 0x67c2 <zx_clr_kb>

                //detect if CTRL-ALT-DEL keys mapped
                if ( ((kbmap[0x14*2] == NO_KEY) && (kbmap[0x14*2+1] == NO_KEY)) ||
    6c8c:       a0 91 bc 0a     lds     r26, 0x0ABC
    6c90:       b0 91 bd 0a     lds     r27, 0x0ABD
    6c94:       98 96           adiw    r26, 0x28       ; 40
    6c96:       8c 91           ld      r24, X
    6c98:       98 97           sbiw    r26, 0x28       ; 40
    6c9a:       8f 37           cpi     r24, 0x7F       ; 127
    6c9c:       29 f4           brne    .+10            ; 0x6ca8 <zx_task+0x36>
    6c9e:       99 96           adiw    r26, 0x29       ; 41
    6ca0:       8c 91           ld      r24, X
    6ca2:       99 97           sbiw    r26, 0x29       ; 41
    6ca4:       8f 37           cpi     r24, 0x7F       ; 127
    6ca6:       a9 f0           breq    .+42            ; 0x6cd2 <zx_task+0x60>
    6ca8:       92 96           adiw    r26, 0x22       ; 34
    6caa:       8c 91           ld      r24, X
    6cac:       92 97           sbiw    r26, 0x22       ; 34
    6cae:       8f 37           cpi     r24, 0x7F       ; 127
    6cb0:       29 f4           brne    .+10            ; 0x6cbc <zx_task+0x4a>
    6cb2:       93 96           adiw    r26, 0x23       ; 35
    6cb4:       8c 91           ld      r24, X
    6cb6:       93 97           sbiw    r26, 0x23       ; 35
    6cb8:       8f 37           cpi     r24, 0x7F       ; 127
    6cba:       59 f0           breq    .+22            ; 0x6cd2 <zx_task+0x60>
    6cbc:       e0 91 be 0a     lds     r30, 0x0ABE
    6cc0:       f0 91 bf 0a     lds     r31, 0x0ABF
    6cc4:       82 a1           ldd     r24, Z+34       ; 0x22
    6cc6:       8f 37           cpi     r24, 0x7F       ; 127
    6cc8:       41 f4           brne    .+16            ; 0x6cda <zx_task+0x68>
    6cca:       93 96           adiw    r26, 0x23       ; 35
    6ccc:       8c 91           ld      r24, X
    6cce:       8f 37           cpi     r24, 0x7F       ; 127
    6cd0:       21 f4           brne    .+8             ; 0x6cda <zx_task+0x68>
                         ((kbmap[0x11*2] == NO_KEY) && (kbmap[0x11*2+1] == NO_KEY)) ||
                         ((kbmap_E0[0x11*2] == NO_KEY) && (kbmap[0x11*2+1] == NO_KEY)) )
                {
                        //not mapped
                        kb_status &= ~KB_CTRL_ALT_DEL_MAPPED_MASK;
    6cd2:       80 91 69 02     lds     r24, 0x0269
    6cd6:       8f 77           andi    r24, 0x7F       ; 127
    6cd8:       03 c0           rjmp    .+6             ; 0x6ce0 <zx_task+0x6e>
                }
                else
                {
                        //mapped
                        kb_status |= KB_CTRL_ALT_DEL_MAPPED_MASK;
    6cda:       80 91 69 02     lds     r24, 0x0269
    6cde:       80 68           ori     r24, 0x80       ; 128
    6ce0:       80 93 69 02     sts     0x0269, r24
    6ce4:       08 95           ret
        // ðàâíî êàê è ìåæäó îòæàòèåì íå-CS|SS êíîïêè è ïîñëåäóþùèì îòæàòèåì CS|SS.

        // ñíà÷àëà äåëàåì òóïî áåç íèêàêèõ ïàóç - ÷òîáû ðàáîòàëî âîîáùå ñ ôèôîé

        {
                if( !task_state )
    6ce6:       e0 91 2d 01     lds     r30, 0x012D
    6cea:       ee 23           and     r30, r30
    6cec:       09 f0           breq    .+2             ; 0x6cf0 <zx_task+0x7e>
    6cee:       78 c0           rjmp    .+240           ; 0x6de0 <zx_task+0x16e>
                {
                        nSPICS_PORT |= (1<<nSPICS);
    6cf0:       c0 9a           sbi     0x18, 0 ; 24
        return( (zx_fifo_in_ptr+1)==zx_fifo_out_ptr );
}

UBYTE zx_fifo_isempty(void)
{
        return (zx_fifo_in_ptr==zx_fifo_out_ptr);
    6cf2:       60 91 92 02     lds     r22, 0x0292
    6cf6:       90 91 2e 01     lds     r25, 0x012E
    6cfa:       40 91 57 01     lds     r20, 0x0157
    6cfe:       20 e0           ldi     r18, 0x00       ; 0
                                        }

                                        // just normal processing out of pause interval
                                        keynum = (code&KEY_MASK)>>3;

                                        keybit = 0x0080 >> (code&7); // KEY_MASK - íàäìíîæåñòâî áèòîâ 7
    6d00:       a0 e8           ldi     r26, 0x80       ; 128
    6d02:       b0 e0           ldi     r27, 0x00       ; 0
                                        else
                                                zx_map[keynum] &= (~keybit);

                                        prev_code = code;
                                        zx_fifo_get();
                                        shift_pause = SHIFT_PAUSE; // init wait timer
    6d04:       78 e0           ldi     r23, 0x08       ; 8
    6d06:       4f c0           rjmp    .+158           ; 0x6da6 <zx_task+0x134>
        return zx_fifo[zx_fifo_out_ptr++]; // get byte permanently
}

UBYTE zx_fifo_copy(void)
{
        return zx_fifo[zx_fifo_out_ptr]; // get byte but leave it in fifo
    6d08:       e4 2f           mov     r30, r20
    6d0a:       f0 e0           ldi     r31, 0x00       ; 0
    6d0c:       e2 5a           subi    r30, 0xA2       ; 162
    6d0e:       fe 4f           sbci    r31, 0xFE       ; 254
    6d10:       50 81           ld      r21, Z

                        while( !zx_fifo_isempty() )
                        {
                                code=zx_fifo_copy(); // don't remove byte from fifo!

                                if( code==CLRKYS )
    6d12:       5a 37           cpi     r21, 0x7A       ; 122
    6d14:       61 f4           brne    .+24            ; 0x6d2e <zx_task+0xbc>
        return (zx_fifo_in_ptr==zx_fifo_out_ptr);
}

UBYTE zx_fifo_get(void)
{
        return zx_fifo[zx_fifo_out_ptr++]; // get byte permanently
    6d16:       4f 5f           subi    r20, 0xFF       ; 255
    6d18:       40 93 57 01     sts     0x0157, r20
                                {
                                        was_data = 1; // we've got something!

                                        zx_fifo_get(); // remove byte from fifo

                                        reset_type = 0;
    6d1c:       10 92 2c 01     sts     0x012C, r1
                                        prev_code  = KEY_V+1;
    6d20:       88 e2           ldi     r24, 0x28       ; 40
    6d22:       80 93 2e 01     sts     0x012E, r24

                                        zx_clr_kb();
    6d26:       0e 94 e1 33     call    0x67c2  ; 0x67c2 <zx_clr_kb>
    6d2a:       21 e0           ldi     r18, 0x01       ; 1
    6d2c:       43 c0           rjmp    .+134           ; 0x6db4 <zx_task+0x142>
//                                              reset_type = 0;
//                                      }
//                              }
                                else /*if( (code&KEY_MASK) < 40 )*/
                                {
                                        if( shift_pause ) // if we inside pause interval and need checking
    6d2e:       80 91 94 02     lds     r24, 0x0294
    6d32:       88 23           and     r24, r24
    6d34:       89 f0           breq    .+34            ; 0x6d58 <zx_task+0xe6>
                                        {
                                                if( (PRESS_MASK&prev_code) && (PRESS_MASK&code) )
    6d36:       97 ff           sbrs    r25, 7
    6d38:       0f c0           rjmp    .+30            ; 0x6d58 <zx_task+0xe6>
    6d3a:       57 ff           sbrs    r21, 7
    6d3c:       0d c0           rjmp    .+26            ; 0x6d58 <zx_task+0xe6>
                                                {
                                                        if( /* prev key was CS|SS down */
    6d3e:       89 2f           mov     r24, r25
    6d40:       87 58           subi    r24, 0x87       ; 135
    6d42:       82 30           cpi     r24, 0x02       ; 2
    6d44:       48 f4           brcc    .+18            ; 0x6d58 <zx_task+0xe6>
    6d46:       85 2f           mov     r24, r21
    6d48:       87 58           subi    r24, 0x87       ; 135
    6d4a:       82 30           cpi     r24, 0x02       ; 2
    6d4c:       28 f0           brcs    .+10            ; 0x6d58 <zx_task+0xe6>
    6d4e:       90 93 2e 01     sts     0x012E, r25
    6d52:       40 93 57 01     sts     0x0157, r20
    6d56:       2e c0           rjmp    .+92            ; 0x6db4 <zx_task+0x142>
                                                                break;
                                                }
                                        }

                                        // just normal processing out of pause interval
                                        keynum = (code&KEY_MASK)>>3;
    6d58:       25 2f           mov     r18, r21
    6d5a:       30 e0           ldi     r19, 0x00       ; 0

                                        keybit = 0x0080 >> (code&7); // KEY_MASK - íàäìíîæåñòâî áèòîâ 7
    6d5c:       c9 01           movw    r24, r18
    6d5e:       87 70           andi    r24, 0x07       ; 7
    6d60:       90 70           andi    r25, 0x00       ; 0
    6d62:       fd 01           movw    r30, r26
    6d64:       02 c0           rjmp    .+4             ; 0x6d6a <zx_task+0xf8>
    6d66:       f5 95           asr     r31
    6d68:       e7 95           ror     r30
    6d6a:       8a 95           dec     r24
    6d6c:       e2 f7           brpl    .-8             ; 0x6d66 <zx_task+0xf4>
    6d6e:       9e 2f           mov     r25, r30
                                                                break;
                                                }
                                        }

                                        // just normal processing out of pause interval
                                        keynum = (code&KEY_MASK)>>3;
    6d70:       2f 77           andi    r18, 0x7F       ; 127
    6d72:       30 70           andi    r19, 0x00       ; 0
    6d74:       e3 e0           ldi     r30, 0x03       ; 3
    6d76:       36 95           lsr     r19
    6d78:       27 95           ror     r18
    6d7a:       ea 95           dec     r30
    6d7c:       e1 f7           brne    .-8             ; 0x6d76 <zx_task+0x104>

                                        keybit = 0x0080 >> (code&7); // KEY_MASK - íàäìíîæåñòâî áèòîâ 7

                                        if( code&PRESS_MASK )
    6d7e:       57 ff           sbrs    r21, 7
    6d80:       06 c0           rjmp    .+12            ; 0x6d8e <zx_task+0x11c>
                                                zx_map[keynum] |=       keybit;
    6d82:       f9 01           movw    r30, r18
    6d84:       e8 5a           subi    r30, 0xA8       ; 168
    6d86:       fe 4f           sbci    r31, 0xFE       ; 254
    6d88:       80 81           ld      r24, Z
    6d8a:       89 2b           or      r24, r25
    6d8c:       06 c0           rjmp    .+12            ; 0x6d9a <zx_task+0x128>
                                        else
                                                zx_map[keynum] &= (~keybit);
    6d8e:       f9 01           movw    r30, r18
    6d90:       e8 5a           subi    r30, 0xA8       ; 168
    6d92:       fe 4f           sbci    r31, 0xFE       ; 254
    6d94:       90 95           com     r25
    6d96:       80 81           ld      r24, Z
    6d98:       89 23           and     r24, r25
    6d9a:       80 83           st      Z, r24

                                        prev_code = code;
                                        zx_fifo_get();
                                        shift_pause = SHIFT_PAUSE; // init wait timer
    6d9c:       70 93 94 02     sts     0x0294, r23
    6da0:       4f 5f           subi    r20, 0xFF       ; 255
    6da2:       21 e0           ldi     r18, 0x01       ; 1
    6da4:       95 2f           mov     r25, r21
                {
                        nSPICS_PORT |= (1<<nSPICS);

                        was_data = 0;

                        while( !zx_fifo_isempty() )
    6da6:       64 17           cp      r22, r20
    6da8:       09 f0           breq    .+2             ; 0x6dac <zx_task+0x13a>
    6daa:       ae cf           rjmp    .-164           ; 0x6d08 <zx_task+0x96>
    6dac:       90 93 2e 01     sts     0x012E, r25
    6db0:       60 93 57 01     sts     0x0157, r22

                                        was_data = 1;
                                }
                        }

                        if ( zx_realkbd[10] )
    6db4:       80 91 68 02     lds     r24, 0x0268
    6db8:       88 23           and     r24, r24
    6dba:       61 f0           breq    .+24            ; 0x6dd4 <zx_task+0x162>
    6dbc:       ee e5           ldi     r30, 0x5E       ; 94
    6dbe:       f2 e0           ldi     r31, 0x02       ; 2
                        {
                                for (UBYTE i=0; i<5; i++)
                                {
                                         UBYTE tmp;
                                         tmp = zx_realkbd[i+5];
    6dc0:       95 81           ldd     r25, Z+5        ; 0x05
                                         was_data |= zx_realkbd[i] ^ tmp;
    6dc2:       80 81           ld      r24, Z
    6dc4:       89 27           eor     r24, r25
    6dc6:       28 2b           or      r18, r24
                                         zx_realkbd[i] = tmp;
    6dc8:       91 93           st      Z+, r25
                                }
                        }

                        if ( zx_realkbd[10] )
                        {
                                for (UBYTE i=0; i<5; i++)
    6dca:       82 e0           ldi     r24, 0x02       ; 2
    6dcc:       e3 36           cpi     r30, 0x63       ; 99
    6dce:       f8 07           cpc     r31, r24
    6dd0:       b9 f7           brne    .-18            ; 0x6dc0 <zx_task+0x14e>
                                         UBYTE tmp;
                                         tmp = zx_realkbd[i+5];
                                         was_data |= zx_realkbd[i] ^ tmp;
                                         zx_realkbd[i] = tmp;
                                }
                                zx_realkbd[10] = 0;
    6dd2:       15 82           std     Z+5, r1 ; 0x05
                        }

                        if( was_data ) // initialize transfer
    6dd4:       22 23           and     r18, r18
    6dd6:       41 f1           breq    .+80            ; 0x6e28 <zx_task+0x1b6>
                        {
                                task_state = 6;
    6dd8:       86 e0           ldi     r24, 0x06       ; 6
    6dda:       80 93 2d 01     sts     0x012D, r24
    6dde:       08 95           ret
                        }
                }
                else // sending bytes one by one in each state
                {
                        task_state--;
    6de0:       e1 50           subi    r30, 0x01       ; 1
    6de2:       e0 93 2d 01     sts     0x012D, r30
//      to_log(log_reset_type);
//#endif
//                              }
//                      }
//                      else
                        if( task_state>0 )// task_state==5..1
    6de6:       ee 23           and     r30, r30
    6de8:       81 f0           breq    .+32            ; 0x6e0a <zx_task+0x198>
                        {
                                UBYTE key_data;
                                key_data = zx_map[task_state-1] | ~zx_realkbd[task_state-1];
    6dea:       f0 e0           ldi     r31, 0x00       ; 0
    6dec:       31 97           sbiw    r30, 0x01       ; 1
                                zx_spi_send(SPI_KBD_DAT, key_data, 0x7F);
    6dee:       df 01           movw    r26, r30
    6df0:       a2 5a           subi    r26, 0xA2       ; 162
    6df2:       bd 4f           sbci    r27, 0xFD       ; 253
    6df4:       6c 91           ld      r22, X
    6df6:       60 95           com     r22
    6df8:       e8 5a           subi    r30, 0xA8       ; 168
    6dfa:       fe 4f           sbci    r31, 0xFE       ; 254
    6dfc:       80 81           ld      r24, Z
    6dfe:       68 2b           or      r22, r24
    6e00:       80 e1           ldi     r24, 0x10       ; 16
    6e02:       4f e7           ldi     r20, 0x7F       ; 127
    6e04:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
    6e08:       08 95           ret
#endif
                        }
                        else // task_state==0
                        {
                                UBYTE status;
                                nSPICS_PORT |= (1<<nSPICS);
    6e0a:       c0 9a           sbi     0x18, 0 ; 24
                                status = spi_send(SPI_KBD_STB);    // strobe input kbd data to the Z80 port engine
    6e0c:       81 e1           ldi     r24, 0x11       ; 17
    6e0e:       0e 94 0a 3c     call    0x7814  ; 0x7814 <spi_send>
    6e12:       28 2f           mov     r18, r24
                                nSPICS_PORT &= ~(1<<nSPICS);
    6e14:       c0 98           cbi     0x18, 0 ; 24
                                nSPICS_PORT |= (1<<nSPICS);
    6e16:       c0 9a           sbi     0x18, 0 ; 24
                                if ( status&0x7F ) zx_wait_task(status);
    6e18:       90 e0           ldi     r25, 0x00       ; 0
    6e1a:       8f 77           andi    r24, 0x7F       ; 127
    6e1c:       90 70           andi    r25, 0x00       ; 0
    6e1e:       89 2b           or      r24, r25
    6e20:       19 f0           breq    .+6             ; 0x6e28 <zx_task+0x1b6>
    6e22:       82 2f           mov     r24, r18
    6e24:       0e 94 d1 35     call    0x6ba2  ; 0x6ba2 <zx_wait_task>
    6e28:       08 95           ret

00006e2a <zx_init>:

UBYTE zx_realkbd[11];

void zx_init(void)
{
        zx_fifo_in_ptr=zx_fifo_out_ptr=0;
    6e2a:       10 92 57 01     sts     0x0157, r1
    6e2e:       10 92 92 02     sts     0x0292, r1

        zx_task(ZX_TASK_INIT);
    6e32:       80 e0           ldi     r24, 0x00       ; 0
    6e34:       0e 94 39 36     call    0x6c72  ; 0x6c72 <zx_task>

        //reset Z80
        zx_spi_send(SPI_RST_REG, 0, 0);
    6e38:       80 e3           ldi     r24, 0x30       ; 48
    6e3a:       60 e0           ldi     r22, 0x00       ; 0
    6e3c:       40 e0           ldi     r20, 0x00       ; 0
    6e3e:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
}
    6e42:       08 95           ret

00006e44 <__vector_10>:
#include "spi.h"
#include "atx.h"
#include "rtc.h"

ISR(TIMER2_OVF_vect)
{
    6e44:       1f 92           push    r1
    6e46:       0f 92           push    r0
    6e48:       0f b6           in      r0, 0x3f        ; 63
    6e4a:       0f 92           push    r0
    6e4c:       11 24           eor     r1, r1
    6e4e:       8f 93           push    r24
    6e50:       9f 93           push    r25
        static BYTE dir=0x01;
        static BYTE ocr=0x00;
        static BYTE scankbd=0;
        static BYTE cskey=0xff;

        counter++; // just fucking shit to fadein-fadeout LED :-)))
    6e52:       80 91 31 01     lds     r24, 0x0131
    6e56:       8f 5f           subi    r24, 0xFF       ; 255
    6e58:       80 93 31 01     sts     0x0131, r24
        if( counter&128 )
    6e5c:       87 ff           sbrs    r24, 7
    6e5e:       1b c0           rjmp    .+54            ; 0x6e96 <__vector_10+0x52>
        {
                counter=0;
    6e60:       10 92 31 01     sts     0x0131, r1

                ocr += dir;
    6e64:       90 91 01 01     lds     r25, 0x0101
    6e68:       80 91 30 01     lds     r24, 0x0130
    6e6c:       89 0f           add     r24, r25
    6e6e:       80 93 30 01     sts     0x0130, r24
                if( (ocr==(-1)) && (dir==(-1)) )
    6e72:       8f 3f           cpi     r24, 0xFF       ; 255
    6e74:       21 f4           brne    .+8             ; 0x6e7e <__vector_10+0x3a>
    6e76:       9f 3f           cpi     r25, 0xFF       ; 255
    6e78:       59 f4           brne    .+22            ; 0x6e90 <__vector_10+0x4c>
                {
                        dir = -dir;
    6e7a:       81 e0           ldi     r24, 0x01       ; 1
    6e7c:       05 c0           rjmp    .+10            ; 0x6e88 <__vector_10+0x44>
                        ocr = 1;
                } else if( (ocr==0) && (dir==1) )
    6e7e:       88 23           and     r24, r24
    6e80:       39 f4           brne    .+14            ; 0x6e90 <__vector_10+0x4c>
    6e82:       91 30           cpi     r25, 0x01       ; 1
    6e84:       29 f4           brne    .+10            ; 0x6e90 <__vector_10+0x4c>
                {
                        dir = -dir;
    6e86:       8f ef           ldi     r24, 0xFF       ; 255
    6e88:       80 93 01 01     sts     0x0101, r24
                        ocr = 0xFF;
    6e8c:       80 93 30 01     sts     0x0130, r24
                }

                OCR2 = ocr;
    6e90:       80 91 30 01     lds     r24, 0x0130
    6e94:       83 bd           out     0x23, r24       ; 35
        }

        // PS/2 keyboard timeout tracking
        if( (ps2keyboard_count<12) && (ps2keyboard_count!=0) )
    6e96:       80 91 9c 0a     lds     r24, 0x0A9C
    6e9a:       8c 30           cpi     r24, 0x0C       ; 12
    6e9c:       d8 f4           brcc    .+54            ; 0x6ed4 <__vector_10+0x90>
    6e9e:       80 91 9c 0a     lds     r24, 0x0A9C
    6ea2:       88 23           and     r24, r24
    6ea4:       b9 f0           breq    .+46            ; 0x6ed4 <__vector_10+0x90>
        {
                if( ( (flags_register&FLAG_PS2KEYBOARD_DIRECTION)!=0 ) && ( ps2keyboard_count==11 ) && ( ps2keyboard_timeout<PS2KEYBOARD_TIMEOUT ) )
    6ea6:       80 91 9b 02     lds     r24, 0x029B
    6eaa:       84 ff           sbrs    r24, 4
    6eac:       0a c0           rjmp    .+20            ; 0x6ec2 <__vector_10+0x7e>
    6eae:       80 91 9c 0a     lds     r24, 0x0A9C
    6eb2:       8b 30           cpi     r24, 0x0B       ; 11
    6eb4:       31 f4           brne    .+12            ; 0x6ec2 <__vector_10+0x7e>
    6eb6:       80 91 a6 0a     lds     r24, 0x0AA6
    6eba:       84 31           cpi     r24, 0x14       ; 20
    6ebc:       10 f4           brcc    .+4             ; 0x6ec2 <__vector_10+0x7e>
                {
                        //release clock after first programmed interrupt
                        PS2KBCLK_PORT |= (1<<PS2KBCLK);  //release ps2keyboard clk pin
    6ebe:       1c 9a           sbi     0x03, 4 ; 3
                        PS2KBCLK_DDR  &= ~(1<<PS2KBCLK);
    6ec0:       14 98           cbi     0x02, 4 ; 2
                }
                if( ps2keyboard_timeout ) ps2keyboard_timeout--;
    6ec2:       80 91 a6 0a     lds     r24, 0x0AA6
    6ec6:       88 23           and     r24, r24
    6ec8:       29 f0           breq    .+10            ; 0x6ed4 <__vector_10+0x90>
    6eca:       80 91 a6 0a     lds     r24, 0x0AA6
    6ece:       81 50           subi    r24, 0x01       ; 1
    6ed0:       80 93 a6 0a     sts     0x0AA6, r24
        }

        // pause for keyboard CS|SS
        if( shift_pause )
    6ed4:       80 91 94 02     lds     r24, 0x0294
    6ed8:       88 23           and     r24, r24
    6eda:       29 f0           breq    .+10            ; 0x6ee6 <__vector_10+0xa2>
                shift_pause--;
    6edc:       80 91 94 02     lds     r24, 0x0294
    6ee0:       81 50           subi    r24, 0x01       ; 1
    6ee2:       80 93 94 02     sts     0x0294, r24

        // PS/2 mouse timeout tracking
        if( (ps2mouse_count<12) && (ps2mouse_count!=0) )
    6ee6:       80 91 a3 0a     lds     r24, 0x0AA3
    6eea:       8c 30           cpi     r24, 0x0C       ; 12
    6eec:       d8 f4           brcc    .+54            ; 0x6f24 <__vector_10+0xe0>
    6eee:       80 91 a3 0a     lds     r24, 0x0AA3
    6ef2:       88 23           and     r24, r24
    6ef4:       b9 f0           breq    .+46            ; 0x6f24 <__vector_10+0xe0>
        {
                if( ( (flags_register&FLAG_PS2MOUSE_DIRECTION)!=0 ) && ( ps2mouse_count==11 ) && ( ps2mouse_timeout<PS2MOUSE_TIMEOUT ) )
    6ef6:       80 91 9b 02     lds     r24, 0x029B
    6efa:       80 ff           sbrs    r24, 0
    6efc:       0a c0           rjmp    .+20            ; 0x6f12 <__vector_10+0xce>
    6efe:       80 91 a3 0a     lds     r24, 0x0AA3
    6f02:       8b 30           cpi     r24, 0x0B       ; 11
    6f04:       31 f4           brne    .+12            ; 0x6f12 <__vector_10+0xce>
    6f06:       80 91 a0 0a     lds     r24, 0x0AA0
    6f0a:       84 31           cpi     r24, 0x14       ; 20
    6f0c:       10 f4           brcc    .+4             ; 0x6f12 <__vector_10+0xce>
                {
                        //release clock after first programmed interrupt
                        PS2MSCLK_PORT |= (1<<PS2MSCLK);  //release ps2mouse clk pin
    6f0e:       1d 9a           sbi     0x03, 5 ; 3
                        PS2MSCLK_DDR  &= ~(1<<PS2MSCLK);
    6f10:       15 98           cbi     0x02, 5 ; 2
                }
                if( ps2mouse_timeout ) ps2mouse_timeout--;
    6f12:       80 91 a0 0a     lds     r24, 0x0AA0
    6f16:       88 23           and     r24, r24
    6f18:       29 f0           breq    .+10            ; 0x6f24 <__vector_10+0xe0>
    6f1a:       80 91 a0 0a     lds     r24, 0x0AA0
    6f1e:       81 50           subi    r24, 0x01       ; 1
    6f20:       80 93 a0 0a     sts     0x0AA0, r24
        }

        //check soft reset and F12 key
        if ( !( SOFTRES_PIN & (1<<SOFTRES)) ||
    6f24:       9f 9b           sbis    0x13, 7 ; 19
    6f26:       04 c0           rjmp    .+8             ; 0x6f30 <__vector_10+0xec>
    6f28:       80 91 69 02     lds     r24, 0x0269
    6f2c:       84 ff           sbrs    r24, 4
    6f2e:       06 c0           rjmp    .+12            ; 0x6f3c <__vector_10+0xf8>
             (kb_status & KB_F12_MASK) )
        {
                //pressed
                atx_counter++;
    6f30:       80 91 ba 0a     lds     r24, 0x0ABA
    6f34:       90 91 bb 0a     lds     r25, 0x0ABB
    6f38:       01 96           adiw    r24, 0x01       ; 1
    6f3a:       06 c0           rjmp    .+12            ; 0x6f48 <__vector_10+0x104>
        }
        else
        {
                //not pressed
                atx_counter >>= 1;
    6f3c:       80 91 ba 0a     lds     r24, 0x0ABA
    6f40:       90 91 bb 0a     lds     r25, 0x0ABB
    6f44:       96 95           lsr     r25
    6f46:       87 95           ror     r24
    6f48:       90 93 bb 0a     sts     0x0ABB, r25
    6f4c:       80 93 ba 0a     sts     0x0ABA, r24
        }

        if ( scankbd==0 )
    6f50:       90 91 2f 01     lds     r25, 0x012F
    6f54:       99 23           and     r25, r25
    6f56:       89 f4           brne    .+34            ; 0x6f7a <__vector_10+0x136>
        {
                UBYTE tmp;
                tmp = PINA;
    6f58:       99 b3           in      r25, 0x19       ; 25
                zx_realkbd[5] = tmp & cskey;
    6f5a:       80 91 00 01     lds     r24, 0x0100
    6f5e:       89 23           and     r24, r25
    6f60:       80 93 63 02     sts     0x0263, r24
                cskey = tmp | 0xfe;
    6f64:       9e 6f           ori     r25, 0xFE       ; 254
    6f66:       90 93 00 01     sts     0x0100, r25
                DDRC  = 0b00010000;
    6f6a:       80 e1           ldi     r24, 0x10       ; 16
    6f6c:       84 bb           out     0x14, r24       ; 20
                PORTC = 0b11001111;
    6f6e:       8f ec           ldi     r24, 0xCF       ; 207
    6f70:       85 bb           out     0x15, r24       ; 21
                zx_realkbd[10] = 4;
    6f72:       84 e0           ldi     r24, 0x04       ; 4
    6f74:       80 93 68 02     sts     0x0268, r24
    6f78:       2a c0           rjmp    .+84            ; 0x6fce <__vector_10+0x18a>
                scankbd=4;
        }
        else if ( scankbd==1 )
    6f7a:       91 30           cpi     r25, 0x01       ; 1
    6f7c:       49 f4           brne    .+18            ; 0x6f90 <__vector_10+0x14c>
        {
                zx_realkbd[6] = PINA;
    6f7e:       89 b3           in      r24, 0x19       ; 25
    6f80:       80 93 64 02     sts     0x0264, r24
                DDRC  = 0b00000001;
    6f84:       94 bb           out     0x14, r25       ; 20
                PORTC = 0b11011110;
    6f86:       8e ed           ldi     r24, 0xDE       ; 222
    6f88:       85 bb           out     0x15, r24       ; 21
                scankbd=0;
    6f8a:       10 92 2f 01     sts     0x012F, r1
    6f8e:       21 c0           rjmp    .+66            ; 0x6fd2 <__vector_10+0x18e>
        }
        else if ( scankbd==2 )
    6f90:       92 30           cpi     r25, 0x02       ; 2
    6f92:       41 f4           brne    .+16            ; 0x6fa4 <__vector_10+0x160>
        {
                zx_realkbd[7] = PINA;
    6f94:       89 b3           in      r24, 0x19       ; 25
    6f96:       80 93 65 02     sts     0x0265, r24
                DDRC  = 0b00000010;
    6f9a:       94 bb           out     0x14, r25       ; 20
                PORTC = 0b11011101;
    6f9c:       8d ed           ldi     r24, 0xDD       ; 221
    6f9e:       85 bb           out     0x15, r24       ; 21
                scankbd=1;
    6fa0:       81 e0           ldi     r24, 0x01       ; 1
    6fa2:       15 c0           rjmp    .+42            ; 0x6fce <__vector_10+0x18a>
        }
        else if ( scankbd==3 )
    6fa4:       93 30           cpi     r25, 0x03       ; 3
    6fa6:       49 f4           brne    .+18            ; 0x6fba <__vector_10+0x176>
        {
                zx_realkbd[8] = PINA;
    6fa8:       89 b3           in      r24, 0x19       ; 25
    6faa:       80 93 66 02     sts     0x0266, r24
                DDRC  = 0b00000100;
    6fae:       84 e0           ldi     r24, 0x04       ; 4
    6fb0:       84 bb           out     0x14, r24       ; 20
                PORTC = 0b11011011;
    6fb2:       8b ed           ldi     r24, 0xDB       ; 219
    6fb4:       85 bb           out     0x15, r24       ; 21
                scankbd=2;
    6fb6:       82 e0           ldi     r24, 0x02       ; 2
    6fb8:       0a c0           rjmp    .+20            ; 0x6fce <__vector_10+0x18a>
        }
        else if ( scankbd==4 )
    6fba:       94 30           cpi     r25, 0x04       ; 4
    6fbc:       51 f4           brne    .+20            ; 0x6fd2 <__vector_10+0x18e>
        {
                zx_realkbd[9] = PINA;
    6fbe:       89 b3           in      r24, 0x19       ; 25
    6fc0:       80 93 67 02     sts     0x0267, r24
                DDRC  = 0b00001000;
    6fc4:       88 e0           ldi     r24, 0x08       ; 8
    6fc6:       84 bb           out     0x14, r24       ; 20
                PORTC = 0b11010111;
    6fc8:       87 ed           ldi     r24, 0xD7       ; 215
    6fca:       85 bb           out     0x15, r24       ; 21
                scankbd=3;
    6fcc:       83 e0           ldi     r24, 0x03       ; 3
    6fce:       80 93 2f 01     sts     0x012F, r24
        }
}
    6fd2:       9f 91           pop     r25
    6fd4:       8f 91           pop     r24
    6fd6:       0f 90           pop     r0
    6fd8:       0f be           out     0x3f, r0        ; 63
    6fda:       0f 90           pop     r0
    6fdc:       1f 90           pop     r1
    6fde:       18 95           reti

00006fe0 <__vector_5>:

// receive/send PS/2 keyboard data
ISR(INT4_vect)
{
    6fe0:       1f 92           push    r1
    6fe2:       0f 92           push    r0
    6fe4:       0f b6           in      r0, 0x3f        ; 63
    6fe6:       0f 92           push    r0
    6fe8:       11 24           eor     r1, r1
    6fea:       8f 93           push    r24
    6fec:       9f 93           push    r25
        if( (flags_register&FLAG_PS2KEYBOARD_DIRECTION) != 0 )
    6fee:       80 91 9b 02     lds     r24, 0x029B
    6ff2:       84 ff           sbrs    r24, 4
    6ff4:       2b c0           rjmp    .+86            ; 0x704c <__vector_5+0x6c>
        {
                //send mode
                if( --ps2keyboard_count )
    6ff6:       80 91 9c 0a     lds     r24, 0x0A9C
    6ffa:       81 50           subi    r24, 0x01       ; 1
    6ffc:       80 93 9c 0a     sts     0x0A9C, r24
    7000:       80 91 9c 0a     lds     r24, 0x0A9C
    7004:       88 23           and     r24, r24
    7006:       f9 f0           breq    .+62            ; 0x7046 <__vector_5+0x66>
                {
                        if ( ps2keyboard_shifter&1 ) PS2KBDAT_PORT |= (1<<PS2KBDAT);
    7008:       80 91 9e 0a     lds     r24, 0x0A9E
    700c:       90 91 9f 0a     lds     r25, 0x0A9F
    7010:       80 ff           sbrs    r24, 0
    7012:       02 c0           rjmp    .+4             ; 0x7018 <__vector_5+0x38>
    7014:       96 9a           sbi     0x12, 6 ; 18
    7016:       01 c0           rjmp    .+2             ; 0x701a <__vector_5+0x3a>
                        else PS2KBDAT_PORT &= ~(1<<PS2KBDAT);
    7018:       96 98           cbi     0x12, 6 ; 18

                        ps2keyboard_shifter >>= 1;
    701a:       80 91 9e 0a     lds     r24, 0x0A9E
    701e:       90 91 9f 0a     lds     r25, 0x0A9F
    7022:       96 95           lsr     r25
    7024:       87 95           ror     r24
    7026:       90 93 9f 0a     sts     0x0A9F, r25
    702a:       80 93 9e 0a     sts     0x0A9E, r24

                        if( ps2keyboard_count == 11 )
    702e:       80 91 9c 0a     lds     r24, 0x0A9C
    7032:       8b 30           cpi     r24, 0x0B       ; 11
    7034:       11 f4           brne    .+4             ; 0x703a <__vector_5+0x5a>
                        {
                                //first interrupt is programmed
                                PS2KBDAT_DDR |= (1<<PS2KBDAT);   //ps2keyboard data pin to output mode
    7036:       8e 9a           sbi     0x11, 6 ; 17
    7038:       2b c0           rjmp    .+86            ; 0x7090 <__vector_5+0xb0>
                                //_delay_us(250);  //hold ps2keyboard clk pin ~250us
                                //PS2KBCLK_PORT |= (1<<PS2KBCLK);  //release ps2keyboard clk pin
                                //PS2KBCLK_DDR  &= ~(1<<PS2KBCLK);
                        }
                        else if( ps2keyboard_count == 1)
    703a:       80 91 9c 0a     lds     r24, 0x0A9C
    703e:       81 30           cpi     r24, 0x01       ; 1
    7040:       39 f5           brne    .+78            ; 0x7090 <__vector_5+0xb0>
                        {
                                PS2KBDAT_DDR &= ~(1<<PS2KBDAT); //ps2keyboard data pin to input mode
    7042:       8e 98           cbi     0x11, 6 ; 17
    7044:       25 c0           rjmp    .+74            ; 0x7090 <__vector_5+0xb0>
                        }
                }
                else
                {
                        //ack received
                        PS2KBCLK_PORT &= ~(1<<PS2KBCLK);
    7046:       1c 98           cbi     0x03, 4 ; 3
                        PS2KBCLK_DDR  |= (1<<PS2KBCLK);
    7048:       14 9a           sbi     0x02, 4 ; 2
    704a:       22 c0           rjmp    .+68            ; 0x7090 <__vector_5+0xb0>
                }
        }
        else
        {
                //receive mode
                ps2keyboard_shifter >>= 1;
    704c:       80 91 9e 0a     lds     r24, 0x0A9E
    7050:       90 91 9f 0a     lds     r25, 0x0A9F
    7054:       96 95           lsr     r25
    7056:       87 95           ror     r24
    7058:       90 93 9f 0a     sts     0x0A9F, r25
    705c:       80 93 9e 0a     sts     0x0A9E, r24
                if( (PS2KBDAT_PIN&(1<<PS2KBDAT)) ) ps2keyboard_shifter |= 0x8000;
    7060:       86 9b           sbis    0x10, 6 ; 16
    7062:       09 c0           rjmp    .+18            ; 0x7076 <__vector_5+0x96>
    7064:       80 91 9e 0a     lds     r24, 0x0A9E
    7068:       90 91 9f 0a     lds     r25, 0x0A9F
    706c:       90 68           ori     r25, 0x80       ; 128
    706e:       90 93 9f 0a     sts     0x0A9F, r25
    7072:       80 93 9e 0a     sts     0x0A9E, r24

                if( (--ps2keyboard_count) == 1 )
    7076:       80 91 9c 0a     lds     r24, 0x0A9C
    707a:       81 50           subi    r24, 0x01       ; 1
    707c:       80 93 9c 0a     sts     0x0A9C, r24
    7080:       80 91 9c 0a     lds     r24, 0x0A9C
    7084:       81 30           cpi     r24, 0x01       ; 1
    7086:       21 f4           brne    .+8             ; 0x7090 <__vector_5+0xb0>
                {
                        PS2KBCLK_PORT &= ~(1<<PS2KBCLK);
    7088:       1c 98           cbi     0x03, 4 ; 3
                        PS2KBCLK_DDR  |= (1<<PS2KBCLK);
    708a:       14 9a           sbi     0x02, 4 ; 2
                        ps2keyboard_count = 0;
    708c:       10 92 9c 0a     sts     0x0A9C, r1
                }
        }

        EIFR = (1<<INTF4);
    7090:       80 e1           ldi     r24, 0x10       ; 16
    7092:       88 bf           out     0x38, r24       ; 56

        //set timeout
        ps2keyboard_timeout = PS2KEYBOARD_TIMEOUT;
    7094:       84 e1           ldi     r24, 0x14       ; 20
    7096:       80 93 a6 0a     sts     0x0AA6, r24
}
    709a:       9f 91           pop     r25
    709c:       8f 91           pop     r24
    709e:       0f 90           pop     r0
    70a0:       0f be           out     0x3f, r0        ; 63
    70a2:       0f 90           pop     r0
    70a4:       1f 90           pop     r1
    70a6:       18 95           reti

000070a8 <__vector_6>:

// receive/send PS/2 mouse data
ISR(INT5_vect)
{
    70a8:       1f 92           push    r1
    70aa:       0f 92           push    r0
    70ac:       0f b6           in      r0, 0x3f        ; 63
    70ae:       0f 92           push    r0
    70b0:       11 24           eor     r1, r1
    70b2:       8f 93           push    r24
    70b4:       9f 93           push    r25
        if( (flags_register&FLAG_PS2MOUSE_DIRECTION) != 0 )
    70b6:       80 91 9b 02     lds     r24, 0x029B
    70ba:       80 ff           sbrs    r24, 0
    70bc:       2b c0           rjmp    .+86            ; 0x7114 <__vector_6+0x6c>
        {
                //send mode
                if( --ps2mouse_count )
    70be:       80 91 a3 0a     lds     r24, 0x0AA3
    70c2:       81 50           subi    r24, 0x01       ; 1
    70c4:       80 93 a3 0a     sts     0x0AA3, r24
    70c8:       80 91 a3 0a     lds     r24, 0x0AA3
    70cc:       88 23           and     r24, r24
    70ce:       f9 f0           breq    .+62            ; 0x710e <__vector_6+0x66>
                {
                        if ( ps2mouse_shifter&1 ) PS2MSDAT_PORT |= (1<<PS2MSDAT);
    70d0:       80 91 a4 0a     lds     r24, 0x0AA4
    70d4:       90 91 a5 0a     lds     r25, 0x0AA5
    70d8:       80 ff           sbrs    r24, 0
    70da:       02 c0           rjmp    .+4             ; 0x70e0 <__vector_6+0x38>
    70dc:       97 9a           sbi     0x12, 7 ; 18
    70de:       01 c0           rjmp    .+2             ; 0x70e2 <__vector_6+0x3a>
                        else PS2MSDAT_PORT &= ~(1<<PS2MSDAT);
    70e0:       97 98           cbi     0x12, 7 ; 18

                        ps2mouse_shifter >>= 1;
    70e2:       80 91 a4 0a     lds     r24, 0x0AA4
    70e6:       90 91 a5 0a     lds     r25, 0x0AA5
    70ea:       96 95           lsr     r25
    70ec:       87 95           ror     r24
    70ee:       90 93 a5 0a     sts     0x0AA5, r25
    70f2:       80 93 a4 0a     sts     0x0AA4, r24

                        if( ps2mouse_count == 11 )
    70f6:       80 91 a3 0a     lds     r24, 0x0AA3
    70fa:       8b 30           cpi     r24, 0x0B       ; 11
    70fc:       11 f4           brne    .+4             ; 0x7102 <__vector_6+0x5a>
                        {
                                //first interrupt is programmed
                                //must hold pin >250us
                                PS2MSDAT_DDR |= (1<<PS2MSDAT);   //ps2mouse data pin to output mode
    70fe:       8f 9a           sbi     0x11, 7 ; 17
    7100:       2b c0           rjmp    .+86            ; 0x7158 <__vector_6+0xb0>
                                //_delay_us(250);  //hold ps2mouse clk pin ~250us
                                //PS2MSCLK_PORT |= (1<<PS2MSCLK);  //release ps2mouse clk pin
                                //PS2MSCLK_DDR  &= ~(1<<PS2MSCLK);
                        }
                        else if( ps2mouse_count == 1)
    7102:       80 91 a3 0a     lds     r24, 0x0AA3
    7106:       81 30           cpi     r24, 0x01       ; 1
    7108:       39 f5           brne    .+78            ; 0x7158 <__vector_6+0xb0>
                        {
                                PS2MSDAT_DDR &= ~(1<<PS2MSDAT); //ps2mouse data pin to input mode
    710a:       8f 98           cbi     0x11, 7 ; 17
    710c:       25 c0           rjmp    .+74            ; 0x7158 <__vector_6+0xb0>
                        }
                }
                else
                {
                        //ack received
                        PS2MSCLK_PORT &= ~(1<<PS2MSCLK);
    710e:       1d 98           cbi     0x03, 5 ; 3
                        PS2MSCLK_DDR  |= (1<<PS2MSCLK);
    7110:       15 9a           sbi     0x02, 5 ; 2
    7112:       22 c0           rjmp    .+68            ; 0x7158 <__vector_6+0xb0>
                }
        }
        else
        {
                //receive mode
                ps2mouse_shifter >>= 1;
    7114:       80 91 a4 0a     lds     r24, 0x0AA4
    7118:       90 91 a5 0a     lds     r25, 0x0AA5
    711c:       96 95           lsr     r25
    711e:       87 95           ror     r24
    7120:       90 93 a5 0a     sts     0x0AA5, r25
    7124:       80 93 a4 0a     sts     0x0AA4, r24
                if( (PS2MSDAT_PIN&(1<<PS2MSDAT)) ) ps2mouse_shifter |= 0x8000;
    7128:       87 9b           sbis    0x10, 7 ; 16
    712a:       09 c0           rjmp    .+18            ; 0x713e <__vector_6+0x96>
    712c:       80 91 a4 0a     lds     r24, 0x0AA4
    7130:       90 91 a5 0a     lds     r25, 0x0AA5
    7134:       90 68           ori     r25, 0x80       ; 128
    7136:       90 93 a5 0a     sts     0x0AA5, r25
    713a:       80 93 a4 0a     sts     0x0AA4, r24

                if( (--ps2mouse_count) == 1 )
    713e:       80 91 a3 0a     lds     r24, 0x0AA3
    7142:       81 50           subi    r24, 0x01       ; 1
    7144:       80 93 a3 0a     sts     0x0AA3, r24
    7148:       80 91 a3 0a     lds     r24, 0x0AA3
    714c:       81 30           cpi     r24, 0x01       ; 1
    714e:       21 f4           brne    .+8             ; 0x7158 <__vector_6+0xb0>
                {
                        PS2MSCLK_PORT &= ~(1<<PS2MSCLK);
    7150:       1d 98           cbi     0x03, 5 ; 3
                        PS2MSCLK_DDR  |= (1<<PS2MSCLK);
    7152:       15 9a           sbi     0x02, 5 ; 2
                        ps2mouse_count = 0;
    7154:       10 92 a3 0a     sts     0x0AA3, r1
                }
        }

        EIFR = (1<<INTF5);
    7158:       80 e2           ldi     r24, 0x20       ; 32
    715a:       88 bf           out     0x38, r24       ; 56

        //set timeout
        ps2mouse_timeout = PS2MOUSE_TIMEOUT;
    715c:       84 e1           ldi     r24, 0x14       ; 20
    715e:       80 93 a0 0a     sts     0x0AA0, r24
}
    7162:       9f 91           pop     r25
    7164:       8f 91           pop     r24
    7166:       0f 90           pop     r0
    7168:       0f be           out     0x3f, r0        ; 63
    716a:       0f 90           pop     r0
    716c:       1f 90           pop     r1
    716e:       18 95           reti

00007170 <__vector_7>:

 // SPI_INT
ISR(INT6_vect)
{
    7170:       1f 92           push    r1
    7172:       0f 92           push    r0
    7174:       0f b6           in      r0, 0x3f        ; 63
    7176:       0f 92           push    r0
    7178:       11 24           eor     r1, r1
    717a:       8f 93           push    r24
        flags_register |= FLAG_SPI_INT;
    717c:       80 91 9b 02     lds     r24, 0x029B
    7180:       88 60           ori     r24, 0x08       ; 8
    7182:       80 93 9b 02     sts     0x029B, r24
        EIFR = (1<<INTF6);
    7186:       80 e4           ldi     r24, 0x40       ; 64
    7188:       88 bf           out     0x38, r24       ; 56
}
    718a:       8f 91           pop     r24
    718c:       0f 90           pop     r0
    718e:       0f be           out     0x3f, r0        ; 63
    7190:       0f 90           pop     r0
    7192:       1f 90           pop     r1
    7194:       18 95           reti

00007196 <__vector_8>:

 // RTC up data
ISR(INT7_vect)
{
    7196:       1f 92           push    r1
    7198:       0f 92           push    r0
    719a:       0f b6           in      r0, 0x3f        ; 63
    719c:       0f 92           push    r0
    719e:       0b b6           in      r0, 0x3b        ; 59
    71a0:       0f 92           push    r0
    71a2:       11 24           eor     r1, r1
    71a4:       2f 93           push    r18
    71a6:       3f 93           push    r19
    71a8:       4f 93           push    r20
    71aa:       5f 93           push    r21
    71ac:       6f 93           push    r22
    71ae:       7f 93           push    r23
    71b0:       8f 93           push    r24
    71b2:       9f 93           push    r25
    71b4:       af 93           push    r26
    71b6:       bf 93           push    r27
    71b8:       ef 93           push    r30
    71ba:       ff 93           push    r31
        gluk_inc();
    71bc:       0e 94 6e 3f     call    0x7edc  ; 0x7edc <gluk_inc>
        EIFR = (1<<INTF7);
    71c0:       80 e8           ldi     r24, 0x80       ; 128
    71c2:       88 bf           out     0x38, r24       ; 56
}
    71c4:       ff 91           pop     r31
    71c6:       ef 91           pop     r30
    71c8:       bf 91           pop     r27
    71ca:       af 91           pop     r26
    71cc:       9f 91           pop     r25
    71ce:       8f 91           pop     r24
    71d0:       7f 91           pop     r23
    71d2:       6f 91           pop     r22
    71d4:       5f 91           pop     r21
    71d6:       4f 91           pop     r20
    71d8:       3f 91           pop     r19
    71da:       2f 91           pop     r18
    71dc:       0f 90           pop     r0
    71de:       0b be           out     0x3b, r0        ; 59
    71e0:       0f 90           pop     r0
    71e2:       0f be           out     0x3f, r0        ; 63
    71e4:       0f 90           pop     r0
    71e6:       1f 90           pop     r1
    71e8:       18 95           reti

000071ea <hardware_init>:

void hardware_init(void)
{
        //Initialized AVR pins

        cli(); // disable interrupts
    71ea:       f8 94           cli

        // configure pins

        PORTG = 0b11111111;
    71ec:       9f ef           ldi     r25, 0xFF       ; 255
    71ee:       90 93 65 00     sts     0x0065, r25
        DDRG  = 0b00000000;
    71f2:       10 92 64 00     sts     0x0064, r1

//      PORTF = 0b11110000; // ATX off (zero output), fpga config/etc inputs
        DDRF  = 0b00001000;
    71f6:       88 e0           ldi     r24, 0x08       ; 8
    71f8:       80 93 61 00     sts     0x0061, r24

        PORTE = 0b11110011;
    71fc:       83 ef           ldi     r24, 0xF3       ; 243
    71fe:       83 b9           out     0x03, r24       ; 3
        DDRE  = 0b00000000; // inputs pulled up, exclude PLL-control pins
    7200:       12 b8           out     0x02, r1        ; 2

        PORTD = 0b11111111;
    7202:       92 bb           out     0x12, r25       ; 18
        DDRD  = 0b00000000; // same
    7204:       11 ba           out     0x11, r1        ; 17

        PORTC = 0b11011111;
    7206:       8f ed           ldi     r24, 0xDF       ; 223
    7208:       85 bb           out     0x15, r24       ; 21
        DDRC  = 0b00000000; // PWRGOOD input, other pulled up
    720a:       14 ba           out     0x14, r1        ; 20

        PORTB = 0b11110001;
    720c:       81 ef           ldi     r24, 0xF1       ; 241
    720e:       88 bb           out     0x18, r24       ; 24
        DDRB  = 0b10000111; // LED off, spi outs inactive
    7210:       87 e8           ldi     r24, 0x87       ; 135
    7212:       87 bb           out     0x17, r24       ; 23

        PORTA = 0b11111111;
    7214:       9b bb           out     0x1b, r25       ; 27
        DDRA  = 0b00000000; // pulled up
    7216:       1a ba           out     0x1a, r1        ; 26

        ACSR = 0x80; // DISABLE analog comparator
    7218:       80 e8           ldi     r24, 0x80       ; 128
    721a:       88 b9           out     0x08, r24       ; 8
}
    721c:       08 95           ret

0000721e <put_buffer>:
// Buffer for depacking FPGA configuration.
// You can USED for other purposed after setup FPGA.
UBYTE dbuf[DBSIZE];

void put_buffer(UWORD size)
{
    721e:       0f 93           push    r16
    7220:       1f 93           push    r17
    7222:       cf 93           push    r28
    7224:       df 93           push    r29
    7226:       ec 01           movw    r28, r24
    7228:       0c e9           ldi     r16, 0x9C       ; 156
    722a:       12 e0           ldi     r17, 0x02       ; 2
        // writes specified length of buffer to the output
        UBYTE * ptr = dbuf;

        do
        {
                spi_send( *(ptr++) );
    722c:       f8 01           movw    r30, r16
    722e:       81 91           ld      r24, Z+
    7230:       8f 01           movw    r16, r30
    7232:       0e 94 0a 3c     call    0x7814  ; 0x7814 <spi_send>

        } while(--size);
    7236:       21 97           sbiw    r28, 0x01       ; 1
    7238:       c9 f7           brne    .-14            ; 0x722c <put_buffer+0xe>
}
    723a:       df 91           pop     r29
    723c:       cf 91           pop     r28
    723e:       1f 91           pop     r17
    7240:       0f 91           pop     r16
    7242:       08 95           ret

00007244 <main>:

        ACSR = 0x80; // DISABLE analog comparator
}

int main()
{
    7244:       cf 92           push    r12
    7246:       df 92           push    r13
    7248:       ef 92           push    r14
    724a:       ff 92           push    r15
    724c:       0f 93           push    r16
    724e:       1f 93           push    r17
    can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
        __asm__ volatile (
    7250:       33 e9           ldi     r19, 0x93       ; 147
    7252:       c3 2e           mov     r12, r19

        //power led OFF
        LED_PORT |= 1<<LED;

        // start timer (led dimming and timeouts for ps/2)
        TCCR2 = 0b01110011; // FOC2=0, {WGM21,WGM20}=01, {COM21,COM20}=11, {CS22,CS21,CS20}=011
    7254:       23 e7           ldi     r18, 0x73       ; 115
    7256:       d2 2e           mov     r13, r18
                            // clk/64 clocking,
                            // 1/512 overflow rate, total 11.059/32768 = 337.5 Hz interrupt rate
        TIFR = (1<<TOV2);
    7258:       00 e4           ldi     r16, 0x40       ; 64
        TIMSK = (1<<TOIE2);


        //init some counters and registers
    ps2keyboard_count = 12;
    725a:       1c e0           ldi     r17, 0x0C       ; 12
        //set external interrupt
        //INT4 - PS2 Keyboard  (falling edge)
        //INT5 - PS2 Mouse     (falling edge)
        //INT6 - SPI  (falling edge)
        //INT7 - RTC  (falling edge)
        EICRB = (1<<ISC41)+(0<<ISC40) + (1<<ISC51)+(0<<ISC50) + (1<<ISC61)+(0<<ISC60) + (1<<ISC71)+(0<<ISC70); // set condition for interrupt
    725c:       9a ea           ldi     r25, 0xAA       ; 170
    725e:       e9 2e           mov     r14, r25
        EIFR = (1<<INTF4)|(1<<INTF5)|(1<<INTF6)|(1<<INTF7); // clear spurious ints there
    7260:       80 ef           ldi     r24, 0xF0       ; 240
    7262:       f8 2e           mov     r15, r24

int main()
{
start:

        hardware_init();
    7264:       0e 94 f5 38     call    0x71ea  ; 0x71ea <hardware_init>

        rs232_init();
    7268:       0e 94 83 3d     call    0x7b06  ; 0x7b06 <rs232_init>
                }
                to_log("\r\n");
        }
#endif

        wait_for_atx_power();
    726c:       0e 94 93 40     call    0x8126  ; 0x8126 <wait_for_atx_power>

        spi_init();
    7270:       0e 94 05 3c     call    0x780a  ; 0x780a <spi_init>

        DDRF |= (1<<nCONFIG); // pull low for a time
    7274:       80 91 61 00     lds     r24, 0x0061
    7278:       81 60           ori     r24, 0x01       ; 1
    727a:       80 93 61 00     sts     0x0061, r24
    727e:       8c 2d           mov     r24, r12
    7280:       8a 95           dec     r24
    7282:       f1 f7           brne    .-4             ; 0x7280 <main+0x3c>
        _delay_us(40);
        DDRF &= ~(1<<nCONFIG);
    7284:       80 91 61 00     lds     r24, 0x0061
    7288:       8e 7f           andi    r24, 0xFE       ; 254
    728a:       80 93 61 00     sts     0x0061, r24
        while( !(PINF & (1<<nSTATUS)) ); // wait ready
    728e:       01 9b           sbis    0x00, 1 ; 0
    7290:       fe cf           rjmp    .-4             ; 0x728e <main+0x4a>

        curFpga = GET_FAR_ADDRESS(fpga); // prepare for data fetching
    7292:       8c ec           ldi     r24, 0xCC       ; 204
    7294:       91 e0           ldi     r25, 0x01       ; 1
    7296:       a0 e0           ldi     r26, 0x00       ; 0
    7298:       bb 27           eor     r27, r27
    729a:       80 93 97 02     sts     0x0297, r24
    729e:       90 93 98 02     sts     0x0298, r25
    72a2:       a0 93 99 02     sts     0x0299, r26
    72a6:       b0 93 9a 02     sts     0x029A, r27
        log_fpga[7] = ((b >> 4) <= 9 )?'0'+(b >> 4):'A'+(b >> 4)-10;
        log_fpga[8] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_fpga);
        }
#endif
        depacker_dirty();
    72aa:       0e 94 c1 3c     call    0x7982  ; 0x7982 <depacker_dirty>
#ifdef LOGENABLE
        to_log("depacker_dirty OK\r\n");
#endif

        //power led OFF
        LED_PORT |= 1<<LED;
    72ae:       c7 9a           sbi     0x18, 7 ; 24

        // start timer (led dimming and timeouts for ps/2)
        TCCR2 = 0b01110011; // FOC2=0, {WGM21,WGM20}=01, {COM21,COM20}=11, {CS22,CS21,CS20}=011
    72b0:       d5 bc           out     0x25, r13       ; 37
                            // clk/64 clocking,
                            // 1/512 overflow rate, total 11.059/32768 = 337.5 Hz interrupt rate
        TIFR = (1<<TOV2);
    72b2:       06 bf           out     0x36, r16       ; 54
        TIMSK = (1<<TOIE2);
    72b4:       07 bf           out     0x37, r16       ; 55


        //init some counters and registers
    ps2keyboard_count = 12;
    72b6:       10 93 9c 0a     sts     0x0A9C, r17
        ps2keyboard_cmd_count = 0;
    72ba:       10 92 a1 0a     sts     0x0AA1, r1
        ps2keyboard_cmd = 0;
    72be:       10 92 a7 0a     sts     0x0AA7, r1
        ps2mouse_count = 12;
    72c2:       10 93 a3 0a     sts     0x0AA3, r17
        ps2mouse_initstep = 0;
    72c6:       10 92 9d 0a     sts     0x0A9D, r1
        ps2mouse_resp_count = 0;
    72ca:       10 92 a2 0a     sts     0x0AA2, r1
        flags_register = 0;
    72ce:       10 92 9b 02     sts     0x029B, r1
        modes_register = 0;
    72d2:       10 92 96 02     sts     0x0296, r1

        //enable mouse
        zx_mouse_reset(1);
    72d6:       81 e0           ldi     r24, 0x01       ; 1
    72d8:       0e 94 b5 34     call    0x696a  ; 0x696a <zx_mouse_reset>
        //set external interrupt
        //INT4 - PS2 Keyboard  (falling edge)
        //INT5 - PS2 Mouse     (falling edge)
        //INT6 - SPI  (falling edge)
        //INT7 - RTC  (falling edge)
        EICRB = (1<<ISC41)+(0<<ISC40) + (1<<ISC51)+(0<<ISC50) + (1<<ISC61)+(0<<ISC60) + (1<<ISC71)+(0<<ISC70); // set condition for interrupt
    72dc:       ea be           out     0x3a, r14       ; 58
        EIFR = (1<<INTF4)|(1<<INTF5)|(1<<INTF6)|(1<<INTF7); // clear spurious ints there
    72de:       f8 be           out     0x38, r15       ; 56
        EIMSK |= (1<<INT4)|(1<<INT5)|(1<<INT6)|(1<<INT7); // enable
    72e0:       89 b7           in      r24, 0x39       ; 57
    72e2:       80 6f           ori     r24, 0xF0       ; 240
    72e4:       89 bf           out     0x39, r24       ; 57

        kbmap_init();
    72e6:       0e 94 5e 41     call    0x82bc  ; 0x82bc <kbmap_init>
        zx_init();
    72ea:       0e 94 15 37     call    0x6e2a  ; 0x6e2a <zx_init>
        rtc_init();
    72ee:       0e 94 75 40     call    0x80ea  ; 0x80ea <rtc_init>

#ifdef LOGENABLE
        to_log("zx_init OK\r\n");
#endif

        sei(); // globally go interrupting
    72f2:       78 94           sei

        //set led on keyboard
        ps2keyboard_send_cmd(PS2KEYBOARD_CMD_SETLED);
    72f4:       8d ee           ldi     r24, 0xED       ; 237
    72f6:       0e 94 fb 39     call    0x73f6  ; 0x73f6 <ps2keyboard_send_cmd>

        //main loop
        do
    {
            tape_task();
    72fa:       0e 94 3a 41     call    0x8274  ; 0x8274 <tape_task>
                ps2mouse_task();
    72fe:       0e 94 2f 3a     call    0x745e  ; 0x745e <ps2mouse_task>
        ps2keyboard_task();
    7302:       0e 94 66 3b     call    0x76cc  ; 0x76cc <ps2keyboard_task>
        zx_task(ZX_TASK_WORK);
    7306:       81 e0           ldi     r24, 0x01       ; 1
    7308:       0e 94 39 36     call    0x6c72  ; 0x6c72 <zx_task>
                zx_mouse_task();
    730c:       0e 94 1d 36     call    0x6c3a  ; 0x6c3a <zx_mouse_task>
                joystick_task();
    7310:       0e 94 fd 40     call    0x81fa  ; 0x81fa <joystick_task>

                //event from SPI
                if ( flags_register&FLAG_SPI_INT )
    7314:       80 91 9b 02     lds     r24, 0x029B
    7318:       83 ff           sbrs    r24, 3
    731a:       07 c0           rjmp    .+14            ; 0x732a <main+0xe6>
                {
                        //get status byte
                        UBYTE status;
                        nSPICS_PORT &= ~(1<<nSPICS);
    731c:       c0 98           cbi     0x18, 0 ; 24
                        nSPICS_PORT |= (1<<nSPICS);
    731e:       c0 9a           sbi     0x18, 0 ; 24
                        status = spi_send(0);
    7320:       80 e0           ldi     r24, 0x00       ; 0
    7322:       0e 94 0a 3c     call    0x7814  ; 0x7814 <spi_send>
                        zx_wait_task( status );
    7326:       0e 94 d1 35     call    0x6ba2  ; 0x6ba2 <zx_wait_task>
                }

                atx_power_task();
    732a:       0e 94 b7 40     call    0x816e  ; 0x816e <atx_power_task>
    }
        while( (flags_register&FLAG_HARD_RESET) == 0 );
    732e:       80 91 9b 02     lds     r24, 0x029B
    7332:       87 ff           sbrs    r24, 7
    7334:       e2 cf           rjmp    .-60            ; 0x72fa <main+0xb6>
    7336:       96 cf           rjmp    .-212           ; 0x7264 <main+0x20>

00007338 <ps2_decode>:

UBYTE ps2_decode(UBYTE count, UWORD shifter)
{
        UBYTE t,byte;

        if( count!=0 ) return 0x00; // have nothing received
    7338:       88 23           and     r24, r24
    733a:       d9 f4           brne    .+54            ; 0x7372 <ps2_decode+0x3a>

        // check packet:
        //shifter.hi - stp.par.7.6.5.4.3.2
        //shifter.lo - 1.0.strt.x.x.x.x.x

        if( !( shifter&0x8000 ) ) return 0x00; // stopbit must be 1
    733c:       77 ff           sbrs    r23, 7
    733e:       19 c0           rjmp    .+50            ; 0x7372 <ps2_decode+0x3a>
        if( shifter&0x0020 ) return 0x00; // startbit must be 0
    7340:       65 fd           sbrc    r22, 5
    7342:       17 c0           rjmp    .+46            ; 0x7372 <ps2_decode+0x3a>


        byte = (UBYTE) ( 0x00FF & (shifter>>6) );
    7344:       cb 01           movw    r24, r22
    7346:       26 e0           ldi     r18, 0x06       ; 6
    7348:       96 95           lsr     r25
    734a:       87 95           ror     r24
    734c:       2a 95           dec     r18
    734e:       e1 f7           brne    .-8             ; 0x7348 <ps2_decode+0x10>
    7350:       28 2f           mov     r18, r24

        t = byte ^ (byte>>4);
    7352:       82 95           swap    r24
    7354:       8f 70           andi    r24, 0x0F       ; 15
    7356:       82 27           eor     r24, r18
        t = t ^ (t>>2);
    7358:       98 2f           mov     r25, r24
    735a:       96 95           lsr     r25
    735c:       96 95           lsr     r25
    735e:       98 27           eor     r25, r24
        t = t ^ (t>>1); // parity
    7360:       87 2f           mov     r24, r23
    7362:       82 95           swap    r24
    7364:       86 95           lsr     r24
    7366:       86 95           lsr     r24
    7368:       83 70           andi    r24, 0x03       ; 3
    736a:       89 27           eor     r24, r25
    736c:       96 95           lsr     r25

        t = t ^ (UBYTE) ( shifter>>14 ); // compare parities

        if( !(t&1) ) return 0x00; // must be different
    736e:       89 27           eor     r24, r25
    7370:       80 ff           sbrs    r24, 0
    7372:       20 e0           ldi     r18, 0x00       ; 0

        return byte;
}
    7374:       82 2f           mov     r24, r18
    7376:       08 95           ret

00007378 <ps2_encode>:

UWORD ps2_encode(UBYTE byte)
{
        UWORD t;
        t = byte ^ (byte>>4);
    7378:       28 2f           mov     r18, r24
    737a:       22 95           swap    r18
    737c:       2f 70           andi    r18, 0x0F       ; 15
    737e:       28 27           eor     r18, r24
    7380:       30 e0           ldi     r19, 0x00       ; 0
        t = t ^ (t>>2);
    7382:       a9 01           movw    r20, r18
    7384:       56 95           lsr     r21
    7386:       47 95           ror     r20
    7388:       56 95           lsr     r21
    738a:       47 95           ror     r20
    738c:       42 27           eor     r20, r18
    738e:       53 27           eor     r21, r19
        t = ~(1 & (t ^ (t>>1))); // parity
    7390:       9a 01           movw    r18, r20
    7392:       36 95           lsr     r19
    7394:       27 95           ror     r18
    7396:       24 27           eor     r18, r20
    7398:       35 27           eor     r19, r21
    739a:       21 70           andi    r18, 0x01       ; 1
    739c:       30 70           andi    r19, 0x00       ; 0

        t = (((t<<8) + byte)<<1) + 0x0400;
    739e:       20 95           com     r18
    73a0:       30 95           com     r19
    73a2:       32 2f           mov     r19, r18
    73a4:       22 27           eor     r18, r18
    73a6:       28 0f           add     r18, r24
    73a8:       31 1d           adc     r19, r1
    73aa:       22 0f           add     r18, r18
    73ac:       33 1f           adc     r19, r19
    73ae:       20 50           subi    r18, 0x00       ; 0
    73b0:       3c 4f           sbci    r19, 0xFC       ; 252

        // prepare to shifter:
        //shifter.hi - x.x.x.x.x.stp.par.7
        //shifter.lo - 6.5.4.3.2.1.0.strt
        return t;
}
    73b2:       c9 01           movw    r24, r18
    73b4:       08 95           ret

000073b6 <ps2keyboard_release_clk>:
volatile UBYTE ps2keyboard_cmd_count;
volatile UBYTE ps2keyboard_cmd;

static void ps2keyboard_release_clk(void)
{
        ps2keyboard_count = 12; //counter reinit
    73b6:       8c e0           ldi     r24, 0x0C       ; 12
    73b8:       80 93 9c 0a     sts     0x0A9C, r24
        if( flags_register & FLAG_PS2KEYBOARD_DIRECTION )
    73bc:       80 91 9b 02     lds     r24, 0x029B
    73c0:       84 ff           sbrs    r24, 4
    73c2:       06 c0           rjmp    .+12            ; 0x73d0 <ps2keyboard_release_clk+0x1a>
        {
                PS2KBDAT_DDR &= ~(1<<PS2KBDAT); //ps2 keyboard data pin to input mode
    73c4:       8e 98           cbi     0x11, 6 ; 17
                flags_register &= ~(FLAG_PS2KEYBOARD_DIRECTION); //set to receive mode
    73c6:       80 91 9b 02     lds     r24, 0x029B
    73ca:       8f 7e           andi    r24, 0xEF       ; 239
    73cc:       80 93 9b 02     sts     0x029B, r24
        }

        //release ps2 receiver (disabled by now)
        EIFR = (1<<INTF4); // clr any spurious int which can happen when we pulldown clock pin
    73d0:       80 e1           ldi     r24, 0x10       ; 16
    73d2:       88 bf           out     0x38, r24       ; 56
        PS2KBCLK_DDR  &= ~(1<<PS2KBCLK); //ps2 keyboard clk pin to input mode
    73d4:       14 98           cbi     0x02, 4 ; 2
        PS2KBCLK_PORT |= (1<<PS2KBCLK);  //release clk pin
    73d6:       1c 9a           sbi     0x03, 4 ; 3
}
    73d8:       08 95           ret

000073da <ps2keyboard_send>:
        log_ps2kb_parse[3] = ((b >> 4) <= 9 )?'0'+(b >> 4):'A'+(b >> 4)-10;
        log_ps2kb_parse[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_ps2kb_parse);
}
#endif
        ps2keyboard_shifter = ps2_encode(data); //prepare data
    73da:       0e 94 bc 39     call    0x7378  ; 0x7378 <ps2_encode>
    73de:       90 93 9f 0a     sts     0x0A9F, r25
    73e2:       80 93 9e 0a     sts     0x0A9E, r24
        flags_register |= FLAG_PS2KEYBOARD_DIRECTION; //set send mode
    73e6:       80 91 9b 02     lds     r24, 0x029B
    73ea:       80 61           ori     r24, 0x10       ; 16
    73ec:       80 93 9b 02     sts     0x029B, r24
        PS2KBCLK_PORT &= ~(1<<PS2KBCLK); //bring ps2 keyboard clk pin -
    73f0:       1c 98           cbi     0x03, 4 ; 3
    PS2KBCLK_DDR  |= (1<<PS2KBCLK);  //generate interruption
    73f2:       14 9a           sbi     0x02, 4 ; 2
}
    73f4:       08 95           ret

000073f6 <ps2keyboard_send_cmd>:

        ps2keyboard_release_clk();
}

void ps2keyboard_send_cmd(UBYTE cmd)
{
    73f6:       98 2f           mov     r25, r24
        if ( ps2keyboard_cmd == 0 )
    73f8:       80 91 a7 0a     lds     r24, 0x0AA7
    73fc:       88 23           and     r24, r24
    73fe:       71 f4           brne    .+28            ; 0x741c <ps2keyboard_send_cmd+0x26>
        {
                ps2keyboard_cmd = cmd;
    7400:       90 93 a7 0a     sts     0x0AA7, r25
                switch ( cmd )
    7404:       9d 3e           cpi     r25, 0xED       ; 237
    7406:       21 f0           breq    .+8             ; 0x7410 <ps2keyboard_send_cmd+0x1a>
    7408:       9f 3f           cpi     r25, 0xFF       ; 255
    740a:       31 f4           brne    .+12            ; 0x7418 <ps2keyboard_send_cmd+0x22>
                {
                case PS2KEYBOARD_CMD_RESET:
                        ps2keyboard_cmd_count = 3;
    740c:       83 e0           ldi     r24, 0x03       ; 3
    740e:       01 c0           rjmp    .+2             ; 0x7412 <ps2keyboard_send_cmd+0x1c>
                        break;
                case PS2KEYBOARD_CMD_SETLED:
                        ps2keyboard_cmd_count = 4;
    7410:       84 e0           ldi     r24, 0x04       ; 4
    7412:       80 93 a1 0a     sts     0x0AA1, r24
    7416:       08 95           ret
                        break;
                default:
                        ps2keyboard_cmd = 0;
    7418:       10 92 a7 0a     sts     0x0AA7, r1
    741c:       08 95           ret

0000741e <ps2mouse_release_clk>:
        "\xF4"      // enable
        ;

static void ps2mouse_release_clk(void)
{
        ps2mouse_count = 12; //counter reinit
    741e:       8c e0           ldi     r24, 0x0C       ; 12
    7420:       80 93 a3 0a     sts     0x0AA3, r24
        if( flags_register & FLAG_PS2MOUSE_DIRECTION )
    7424:       80 91 9b 02     lds     r24, 0x029B
    7428:       80 ff           sbrs    r24, 0
    742a:       06 c0           rjmp    .+12            ; 0x7438 <ps2mouse_release_clk+0x1a>
        {
                PS2MSDAT_DDR &= ~(1<<PS2MSDAT); //ps2 mouse data pin to input mode
    742c:       8f 98           cbi     0x11, 7 ; 17
                flags_register &= ~(FLAG_PS2MOUSE_DIRECTION); //set to receive mode
    742e:       80 91 9b 02     lds     r24, 0x029B
    7432:       8e 7f           andi    r24, 0xFE       ; 254
    7434:       80 93 9b 02     sts     0x029B, r24
        }

        //release ps2 receiver (disabled by now)
        EIFR = (1<<INTF5); // clr any spurious int which can happen when we pulldown clock pin
    7438:       80 e2           ldi     r24, 0x20       ; 32
    743a:       88 bf           out     0x38, r24       ; 56
        PS2MSCLK_DDR  &= ~(1<<PS2MSCLK); //ps2 mouse clk pin to input mode
    743c:       15 98           cbi     0x02, 5 ; 2
        PS2MSCLK_PORT |= (1<<PS2MSCLK);  //release clk pin
    743e:       1d 9a           sbi     0x03, 5 ; 3
}
    7440:       08 95           ret

00007442 <ps2mouse_send>:

void ps2mouse_send(UBYTE data)
{
        ps2mouse_shifter = ps2_encode(data); //prepare data
    7442:       0e 94 bc 39     call    0x7378  ; 0x7378 <ps2_encode>
    7446:       90 93 a5 0a     sts     0x0AA5, r25
    744a:       80 93 a4 0a     sts     0x0AA4, r24
        flags_register |= FLAG_PS2MOUSE_DIRECTION; //set send mode
    744e:       80 91 9b 02     lds     r24, 0x029B
    7452:       81 60           ori     r24, 0x01       ; 1
    7454:       80 93 9b 02     sts     0x029B, r24
        PS2MSCLK_PORT &= ~(1<<PS2MSCLK); //bring ps2 mouse clk pin -
    7458:       1d 98           cbi     0x03, 5 ; 3
    PS2MSCLK_DDR  |= (1<<PS2MSCLK);  //generate interruption
    745a:       15 9a           sbi     0x02, 5 ; 2
}
    745c:       08 95           ret

0000745e <ps2mouse_task>:

void ps2mouse_task(void)
{
    745e:       1f 93           push    r17
        UBYTE b;

        if ( ( ps2mouse_count == 12 ) &&
    7460:       80 91 a3 0a     lds     r24, 0x0AA3
    7464:       8c 30           cpi     r24, 0x0C       ; 12
    7466:       e9 f4           brne    .+58            ; 0x74a2 <ps2mouse_task+0x44>
    7468:       80 91 a2 0a     lds     r24, 0x0AA2
    746c:       88 23           and     r24, r24
    746e:       c9 f4           brne    .+50            ; 0x74a2 <ps2mouse_task+0x44>
    7470:       e0 91 9d 0a     lds     r30, 0x0A9D
    7474:       f0 e0           ldi     r31, 0x00       ; 0
    7476:       ee 5f           subi    r30, 0xFE       ; 254
    7478:       fe 4f           sbci    r31, 0xFE       ; 254
    747a:       80 81           ld      r24, Z
    747c:       88 23           and     r24, r24
    747e:       89 f0           breq    .+34            ; 0x74a2 <ps2mouse_task+0x44>
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
        __asm__ volatile (
    7480:       88 e2           ldi     r24, 0x28       ; 40
    7482:       92 e0           ldi     r25, 0x02       ; 2
    7484:       01 97           sbiw    r24, 0x01       ; 1
    7486:       f1 f7           brne    .-4             ; 0x7484 <ps2mouse_task+0x26>
                //delay need for pause between release and hold clk pin
                _delay_us(200);

                //initialization not complete
                //send next command to mouse
                ps2mouse_send(ps2mouse_init_sequence[ps2mouse_initstep]);
    7488:       e0 91 9d 0a     lds     r30, 0x0A9D
    748c:       f0 e0           ldi     r31, 0x00       ; 0
    748e:       ee 5f           subi    r30, 0xFE       ; 254
    7490:       fe 4f           sbci    r31, 0xFE       ; 254
    7492:       80 81           ld      r24, Z
    7494:       0e 94 21 3a     call    0x7442  ; 0x7442 <ps2mouse_send>
                ps2mouse_resp_count++;
    7498:       80 91 a2 0a     lds     r24, 0x0AA2
    749c:       8f 5f           subi    r24, 0xFF       ; 255
    749e:       80 93 a2 0a     sts     0x0AA2, r24
        }

        if ( ( ps2mouse_count<12 ) &&
    74a2:       80 91 a3 0a     lds     r24, 0x0AA3
    74a6:       8c 30           cpi     r24, 0x0C       ; 12
    74a8:       98 f4           brcc    .+38            ; 0x74d0 <ps2mouse_task+0x72>
    74aa:       80 91 a0 0a     lds     r24, 0x0AA0
    74ae:       88 23           and     r24, r24
    74b0:       79 f4           brne    .+30            ; 0x74d0 <ps2mouse_task+0x72>
                to_log(log_ps2mouse_err);
#endif
                //error due exchange data with PS/2 mouse

                //get direction
                b = flags_register&FLAG_PS2MOUSE_DIRECTION;
    74b2:       10 91 9b 02     lds     r17, 0x029B

                //reset pins and states
                ps2mouse_release_clk();
    74b6:       0e 94 0f 3a     call    0x741e  ; 0x741e <ps2mouse_release_clk>

                //analizing error
                if( b && (ps2mouse_initstep==0) )
    74ba:       10 ff           sbrs    r17, 0
    74bc:       07 c0           rjmp    .+14            ; 0x74cc <ps2mouse_task+0x6e>
    74be:       80 91 9d 0a     lds     r24, 0x0A9D
    74c2:       88 23           and     r24, r24
    74c4:       19 f4           brne    .+6             ; 0x74cc <ps2mouse_task+0x6e>
                {
                        //error due send first init byte - mouse not connected to PS/2

                        //disable mouse
                        zx_mouse_reset(0);
    74c6:       0e 94 b5 34     call    0x696a  ; 0x696a <zx_mouse_reset>
    74ca:       02 c0           rjmp    .+4             ; 0x74d0 <ps2mouse_task+0x72>
                else
                {
                        //error due receive or send non first byte - mouse connected to PS/2

                        //re-init mouse
                        ps2mouse_initstep = 0;
    74cc:       10 92 9d 0a     sts     0x0A9D, r1
                }
        }

        if ( ps2mouse_count!=0 ) return; // not received anything
    74d0:       80 91 a3 0a     lds     r24, 0x0AA3
    74d4:       88 23           and     r24, r24
    74d6:       09 f0           breq    .+2             ; 0x74da <ps2mouse_task+0x7c>
    74d8:       a0 c0           rjmp    .+320           ; 0x761a <ps2mouse_task+0x1bc>

        if ( !(flags_register&FLAG_PS2MOUSE_DIRECTION) )
    74da:       80 91 9b 02     lds     r24, 0x029B
    74de:       80 fd           sbrc    r24, 0
    74e0:       9a c0           rjmp    .+308           ; 0x7616 <ps2mouse_task+0x1b8>
        {
                //receive complete
                b = ps2_decode(ps2mouse_count, ps2mouse_shifter);
    74e2:       80 91 a3 0a     lds     r24, 0x0AA3
    74e6:       60 91 a4 0a     lds     r22, 0x0AA4
    74ea:       70 91 a5 0a     lds     r23, 0x0AA5
    74ee:       0e 94 9c 39     call    0x7338  ; 0x7338 <ps2_decode>
    74f2:       28 2f           mov     r18, r24
        log_ps2mouse_parse[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_ps2mouse_parse);
}
#endif

                switch( ps2mouse_init_sequence[ps2mouse_initstep] )
    74f4:       e0 91 9d 0a     lds     r30, 0x0A9D
    74f8:       f0 e0           ldi     r31, 0x00       ; 0
    74fa:       ee 5f           subi    r30, 0xFE       ; 254
    74fc:       fe 4f           sbci    r31, 0xFE       ; 254
    74fe:       e0 81           ld      r30, Z
    7500:       e2 3f           cpi     r30, 0xF2       ; 242
    7502:       09 f4           brne    .+2             ; 0x7506 <ps2mouse_task+0xa8>
    7504:       5c c0           rjmp    .+184           ; 0x75be <ps2mouse_task+0x160>
    7506:       ef 3f           cpi     r30, 0xFF       ; 255
    7508:       09 f4           brne    .+2             ; 0x750c <ps2mouse_task+0xae>
    750a:       44 c0           rjmp    .+136           ; 0x7594 <ps2mouse_task+0x136>
    750c:       ee 23           and     r30, r30
    750e:       09 f0           breq    .+2             ; 0x7512 <ps2mouse_task+0xb4>
    7510:       75 c0           rjmp    .+234           ; 0x75fc <ps2mouse_task+0x19e>
                {
                        //initialization complete - working mode
                        case 0:
                                //TODO: send to ZX here
                                ps2mouse_resp_count++;
    7512:       80 91 a2 0a     lds     r24, 0x0AA2
    7516:       8f 5f           subi    r24, 0xFF       ; 255
    7518:       80 93 a2 0a     sts     0x0AA2, r24
                                switch( ps2mouse_resp_count )
    751c:       80 91 a2 0a     lds     r24, 0x0AA2
    7520:       82 30           cpi     r24, 0x02       ; 2
    7522:       b1 f0           breq    .+44            ; 0x7550 <ps2mouse_task+0xf2>
    7524:       83 30           cpi     r24, 0x03       ; 3
    7526:       20 f4           brcc    .+8             ; 0x7530 <ps2mouse_task+0xd2>
    7528:       81 30           cpi     r24, 0x01       ; 1
    752a:       09 f0           breq    .+2             ; 0x752e <ps2mouse_task+0xd0>
    752c:       74 c0           rjmp    .+232           ; 0x7616 <ps2mouse_task+0x1b8>
    752e:       06 c0           rjmp    .+12            ; 0x753c <ps2mouse_task+0xde>
    7530:       83 30           cpi     r24, 0x03       ; 3
    7532:       a1 f0           breq    .+40            ; 0x755c <ps2mouse_task+0xfe>
    7534:       84 30           cpi     r24, 0x04       ; 4
    7536:       09 f0           breq    .+2             ; 0x753a <ps2mouse_task+0xdc>
    7538:       6e c0           rjmp    .+220           ; 0x7616 <ps2mouse_task+0x1b8>
    753a:       1f c0           rjmp    .+62            ; 0x757a <ps2mouse_task+0x11c>
                                {
                                case 1:
                                        //byte 1: Y overflow | X overflow | Y sign bit | X sign bit | 1 | Middle Btn | Right Btn | Left Btn
                                        zx_mouse_button = (zx_mouse_button&0xF0) + ((b^0x07)&0x0F);
    753c:       80 91 5d 01     lds     r24, 0x015D
    7540:       97 e0           ldi     r25, 0x07       ; 7
    7542:       29 27           eor     r18, r25
    7544:       2f 70           andi    r18, 0x0F       ; 15
    7546:       80 7f           andi    r24, 0xF0       ; 240
    7548:       82 0f           add     r24, r18
    754a:       80 93 5d 01     sts     0x015D, r24
    754e:       63 c0           rjmp    .+198           ; 0x7616 <ps2mouse_task+0x1b8>
                                        break;
                                case 2:
                                        //byte 2: X movement
                                        zx_mouse_x += b;
    7550:       80 91 95 02     lds     r24, 0x0295
    7554:       82 0f           add     r24, r18
    7556:       80 93 95 02     sts     0x0295, r24
    755a:       5d c0           rjmp    .+186           ; 0x7616 <ps2mouse_task+0x1b8>
                                        break;
                                case 3:
                                        //byte 3: Y movement
                                        zx_mouse_y += b;
    755c:       80 91 93 02     lds     r24, 0x0293
    7560:       82 0f           add     r24, r18
    7562:       80 93 93 02     sts     0x0293, r24
                                        if ( !(flags_register&FLAG_PS2MOUSE_TYPE) )
    7566:       80 91 9b 02     lds     r24, 0x029B
    756a:       81 fd           sbrc    r24, 1
    756c:       54 c0           rjmp    .+168           ; 0x7616 <ps2mouse_task+0x1b8>
                                        {
                                                //classical mouse
                                                ps2mouse_resp_count = 0;
    756e:       10 92 a2 0a     sts     0x0AA2, r1
                                                flags_register |= FLAG_PS2MOUSE_ZX_READY;
    7572:       80 91 9b 02     lds     r24, 0x029B
    7576:       84 60           ori     r24, 0x04       ; 4
    7578:       3e c0           rjmp    .+124           ; 0x75f6 <ps2mouse_task+0x198>
                                        }
                                        break;
                                case 4:
                                        //byte 4: wheel movement
                                        zx_mouse_button += ((b<<4)&0xF0);
    757a:       80 91 5d 01     lds     r24, 0x015D
    757e:       22 95           swap    r18
    7580:       20 7f           andi    r18, 0xF0       ; 240
    7582:       82 0f           add     r24, r18
    7584:       80 93 5d 01     sts     0x015D, r24
                                        flags_register |= FLAG_PS2MOUSE_ZX_READY;
    7588:       80 91 9b 02     lds     r24, 0x029B
    758c:       84 60           ori     r24, 0x04       ; 4
    758e:       80 93 9b 02     sts     0x029B, r24
    7592:       08 c0           rjmp    .+16            ; 0x75a4 <ps2mouse_task+0x146>
                                }
                                break;

                        //reset command
                        case 0xFF:
                                if ( ps2mouse_resp_count==1 )
    7594:       80 91 a2 0a     lds     r24, 0x0AA2
    7598:       81 30           cpi     r24, 0x01       ; 1
    759a:       39 f4           brne    .+14            ; 0x75aa <ps2mouse_task+0x14c>
                                {
                                        //must be acknowledge
                                        if ( b != 0xFA )
    759c:       2a 3f           cpi     r18, 0xFA       ; 250
    759e:       29 f0           breq    .+10            ; 0x75aa <ps2mouse_task+0x14c>
                                        {
                                                //reset initialization
                                                ps2mouse_initstep = 0;
    75a0:       10 92 9d 0a     sts     0x0A9D, r1
                                                ps2mouse_resp_count = 0;
    75a4:       10 92 a2 0a     sts     0x0AA2, r1
    75a8:       36 c0           rjmp    .+108           ; 0x7616 <ps2mouse_task+0x1b8>
                                                break;
                                        }
                                }
                                ps2mouse_resp_count++;
    75aa:       80 91 a2 0a     lds     r24, 0x0AA2
    75ae:       8f 5f           subi    r24, 0xFF       ; 255
    75b0:       80 93 a2 0a     sts     0x0AA2, r24
                                if ( ps2mouse_resp_count >= 4 )
    75b4:       80 91 a2 0a     lds     r24, 0x0AA2
    75b8:       84 30           cpi     r24, 0x04       ; 4
    75ba:       68 f1           brcs    .+90            ; 0x7616 <ps2mouse_task+0x1b8>
    75bc:       25 c0           rjmp    .+74            ; 0x7608 <ps2mouse_task+0x1aa>
                                }
                                break;

                        //get device type
                        case 0xF2:
                                if ( ps2mouse_resp_count==1 )
    75be:       80 91 a2 0a     lds     r24, 0x0AA2
    75c2:       81 30           cpi     r24, 0x01       ; 1
    75c4:       41 f4           brne    .+16            ; 0x75d6 <ps2mouse_task+0x178>
                                {
                                        ps2mouse_resp_count++;
    75c6:       80 91 a2 0a     lds     r24, 0x0AA2
    75ca:       8f 5f           subi    r24, 0xFF       ; 255
    75cc:       80 93 a2 0a     sts     0x0AA2, r24
                                        //must be acknowledge
                                        if ( b != 0xFA )
    75d0:       2a 3f           cpi     r18, 0xFA       ; 250
    75d2:       31 f7           brne    .-52            ; 0x75a0 <ps2mouse_task+0x142>
    75d4:       20 c0           rjmp    .+64            ; 0x7616 <ps2mouse_task+0x1b8>
                                        }
                                        break;
                                }
                                else
                                {
                                        ps2mouse_resp_count = 0;
    75d6:       10 92 a2 0a     sts     0x0AA2, r1
                                        ps2mouse_initstep++;
    75da:       80 91 9d 0a     lds     r24, 0x0A9D
    75de:       8f 5f           subi    r24, 0xFF       ; 255
    75e0:       80 93 9d 0a     sts     0x0A9D, r24

                                        if ( b > 0 )
    75e4:       22 23           and     r18, r18
    75e6:       21 f0           breq    .+8             ; 0x75f0 <ps2mouse_task+0x192>
                                        {
                                                flags_register |= FLAG_PS2MOUSE_TYPE;
    75e8:       80 91 9b 02     lds     r24, 0x029B
    75ec:       82 60           ori     r24, 0x02       ; 2
    75ee:       03 c0           rjmp    .+6             ; 0x75f6 <ps2mouse_task+0x198>
                                        }
                                        else
                                        {
                                                flags_register &= ~(FLAG_PS2MOUSE_TYPE);
    75f0:       80 91 9b 02     lds     r24, 0x029B
    75f4:       8d 7f           andi    r24, 0xFD       ; 253
    75f6:       80 93 9b 02     sts     0x029B, r24
    75fa:       0d c0           rjmp    .+26            ; 0x7616 <ps2mouse_task+0x1b8>
                                }
                                break;

                        //other commands
                        default:
                                if ( ps2mouse_resp_count==1 )
    75fc:       80 91 a2 0a     lds     r24, 0x0AA2
    7600:       81 30           cpi     r24, 0x01       ; 1
    7602:       11 f4           brne    .+4             ; 0x7608 <ps2mouse_task+0x1aa>
                                {
                                        //must be acknowledge
                                        if ( b != 0xFA )
    7604:       2a 3f           cpi     r18, 0xFA       ; 250
    7606:       61 f6           brne    .-104           ; 0x75a0 <ps2mouse_task+0x142>
                                                ps2mouse_initstep = 0;
                                                ps2mouse_resp_count = 0;
                                                break;
                                        }
                                }
                                ps2mouse_resp_count = 0;
    7608:       10 92 a2 0a     sts     0x0AA2, r1
                                ps2mouse_initstep++;
    760c:       80 91 9d 0a     lds     r24, 0x0A9D
    7610:       8f 5f           subi    r24, 0xFF       ; 255
    7612:       80 93 9d 0a     sts     0x0A9D, r24
//              log_ps2mouse_parse[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
//              to_log(log_ps2mouse_parse);
//      }
//#endif

        ps2mouse_release_clk();
    7616:       0e 94 0f 3a     call    0x741e  ; 0x741e <ps2mouse_release_clk>
}
    761a:       1f 91           pop     r17
    761c:       08 95           ret

0000761e <ps2keyboard_parse>:
                }
        }
}

void ps2keyboard_parse(UBYTE recbyte)
{
    761e:       28 2f           mov     r18, r24
        log_ps2keyboard_parse[3] = ((recbyte & 0x0F) <= 9 )?'0'+(recbyte & 0x0F):'A'+(recbyte & 0x0F)-10;
        to_log(log_ps2keyboard_parse);
#endif


        if( skipshit )
    7620:       80 91 32 01     lds     r24, 0x0132
    7624:       88 23           and     r24, r24
    7626:       11 f0           breq    .+4             ; 0x762c <ps2keyboard_parse+0xe>
        {
                skipshit--;
    7628:       81 50           subi    r24, 0x01       ; 1
    762a:       1b c0           rjmp    .+54            ; 0x7662 <ps2keyboard_parse+0x44>
                return;
        }


        if( recbyte==0xFA ) return;
    762c:       2a 3f           cpi     r18, 0xFA       ; 250
    762e:       09 f4           brne    .+2             ; 0x7632 <ps2keyboard_parse+0x14>
    7630:       4c c0           rjmp    .+152           ; 0x76ca <ps2keyboard_parse+0xac>
        if( recbyte==0xFE ) return;
    7632:       2e 3f           cpi     r18, 0xFE       ; 254
    7634:       09 f4           brne    .+2             ; 0x7638 <ps2keyboard_parse+0x1a>
    7636:       49 c0           rjmp    .+146           ; 0x76ca <ps2keyboard_parse+0xac>
        if( recbyte==0xEE ) return;
    7638:       2e 3e           cpi     r18, 0xEE       ; 238
    763a:       09 f4           brne    .+2             ; 0x763e <ps2keyboard_parse+0x20>
    763c:       46 c0           rjmp    .+140           ; 0x76ca <ps2keyboard_parse+0xac>
        if( recbyte==0xAA ) return;
    763e:       2a 3a           cpi     r18, 0xAA       ; 170
    7640:       09 f4           brne    .+2             ; 0x7644 <ps2keyboard_parse+0x26>
    7642:       43 c0           rjmp    .+134           ; 0x76ca <ps2keyboard_parse+0xac>


        if( recbyte==0xE0 )
    7644:       20 3e           cpi     r18, 0xE0       ; 224
    7646:       21 f4           brne    .+8             ; 0x7650 <ps2keyboard_parse+0x32>
        {
                was_E0 = 1;
    7648:       81 e0           ldi     r24, 0x01       ; 1
    764a:       80 93 34 01     sts     0x0134, r24
    764e:       08 95           ret
                return;
        }


        if( recbyte==0xF0 )
    7650:       20 3f           cpi     r18, 0xF0       ; 240
    7652:       21 f4           brne    .+8             ; 0x765c <ps2keyboard_parse+0x3e>
        {
                was_release = 1;
    7654:       81 e0           ldi     r24, 0x01       ; 1
    7656:       80 93 35 01     sts     0x0135, r24
    765a:       08 95           ret
                return;
        }

        if( recbyte==0xE1 ) // pause pressed
    765c:       21 3e           cpi     r18, 0xE1       ; 225
    765e:       21 f4           brne    .+8             ; 0x7668 <ps2keyboard_parse+0x4a>
        {
                skipshit=7;
    7660:       87 e0           ldi     r24, 0x07       ; 7
    7662:       80 93 32 01     sts     0x0132, r24
    7666:       08 95           ret
                return; // skip next 7 bytes
        }


        if( (recbyte==last_scancode) && (was_E0==last_scancode_E0) )
    7668:       80 91 33 01     lds     r24, 0x0133
    766c:       28 17           cp      r18, r24
    766e:       79 f4           brne    .+30            ; 0x768e <ps2keyboard_parse+0x70>
    7670:       90 91 34 01     lds     r25, 0x0134
    7674:       80 91 16 01     lds     r24, 0x0116
    7678:       98 17           cp      r25, r24
    767a:       49 f4           brne    .+18            ; 0x768e <ps2keyboard_parse+0x70>
        {
                if( was_release )
    767c:       80 91 35 01     lds     r24, 0x0135
    7680:       88 23           and     r24, r24
    7682:       19 f1           breq    .+70            ; 0x76ca <ps2keyboard_parse+0xac>
                {
                        last_scancode = 0x00;
    7684:       10 92 33 01     sts     0x0133, r1
                        last_scancode_E0 = 1; // impossible scancode: E0 00
    7688:       81 e0           ldi     r24, 0x01       ; 1
    768a:       80 93 16 01     sts     0x0116, r24
                {
                        return;
                }
        }

        if( !was_release )
    768e:       40 91 35 01     lds     r20, 0x0135
    7692:       44 23           and     r20, r20
    7694:       31 f4           brne    .+12            ; 0x76a2 <ps2keyboard_parse+0x84>
        {
                last_scancode = recbyte;
    7696:       20 93 33 01     sts     0x0133, r18
                last_scancode_E0 = was_E0;
    769a:       80 91 34 01     lds     r24, 0x0134
    769e:       80 93 16 01     sts     0x0116, r24
        }

        if( (recbyte==0x12) && was_E0 ) // skip E0 12
    76a2:       22 31           cpi     r18, 0x12       ; 18
    76a4:       49 f4           brne    .+18            ; 0x76b8 <ps2keyboard_parse+0x9a>
    76a6:       80 91 34 01     lds     r24, 0x0134
    76aa:       88 23           and     r24, r24
    76ac:       29 f0           breq    .+10            ; 0x76b8 <ps2keyboard_parse+0x9a>
        {
                was_E0 = 0;
    76ae:       10 92 34 01     sts     0x0134, r1
                was_release = 0;
    76b2:       10 92 35 01     sts     0x0135, r1
    76b6:       08 95           ret
                return;
        }


        to_zx( recbyte, was_E0, was_release ); // send valid scancode to zx decoding stage
    76b8:       82 2f           mov     r24, r18
    76ba:       60 91 34 01     lds     r22, 0x0134
    76be:       0e 94 06 35     call    0x6a0c  ; 0x6a0c <to_zx>

        was_E0 = 0;
    76c2:       10 92 34 01     sts     0x0134, r1
        was_release = 0;
    76c6:       10 92 35 01     sts     0x0135, r1
    76ca:       08 95           ret

000076cc <ps2keyboard_task>:

void ps2keyboard_task(void)
{
        UBYTE b;

        if ( ( ps2keyboard_count == 12 ) &&
    76cc:       80 91 9c 0a     lds     r24, 0x0A9C
    76d0:       8c 30           cpi     r24, 0x0C       ; 12
    76d2:       89 f5           brne    .+98            ; 0x7736 <ps2keyboard_task+0x6a>
    76d4:       80 91 a7 0a     lds     r24, 0x0AA7
    76d8:       88 23           and     r24, r24
    76da:       69 f1           breq    .+90            ; 0x7736 <ps2keyboard_task+0x6a>
    76dc:       80 91 a1 0a     lds     r24, 0x0AA1
    76e0:       88 23           and     r24, r24
    76e2:       49 f1           breq    .+82            ; 0x7736 <ps2keyboard_task+0x6a>
    76e4:       84 e1           ldi     r24, 0x14       ; 20
    76e6:       91 e0           ldi     r25, 0x01       ; 1
    76e8:       01 97           sbiw    r24, 0x01       ; 1
    76ea:       f1 f7           brne    .-4             ; 0x76e8 <ps2keyboard_task+0x1c>
        {
                //delay need for pause between release and hold clk pin
                _delay_us(100);

                //if need send command on current stage
                if ( ((ps2keyboard_cmd_count == 4)&&(ps2keyboard_cmd == PS2KEYBOARD_CMD_SETLED)) ||
    76ec:       80 91 a1 0a     lds     r24, 0x0AA1
    76f0:       84 30           cpi     r24, 0x04       ; 4
    76f2:       21 f4           brne    .+8             ; 0x76fc <ps2keyboard_task+0x30>
    76f4:       80 91 a7 0a     lds     r24, 0x0AA7
    76f8:       8d 3e           cpi     r24, 0xED       ; 237
    76fa:       41 f0           breq    .+16            ; 0x770c <ps2keyboard_task+0x40>
    76fc:       80 91 a1 0a     lds     r24, 0x0AA1
    7700:       83 30           cpi     r24, 0x03       ; 3
    7702:       39 f4           brne    .+14            ; 0x7712 <ps2keyboard_task+0x46>
    7704:       80 91 a7 0a     lds     r24, 0x0AA7
    7708:       8f 3f           cpi     r24, 0xFF       ; 255
    770a:       19 f4           brne    .+6             ; 0x7712 <ps2keyboard_task+0x46>
                     ((ps2keyboard_cmd_count == 3)&&(ps2keyboard_cmd == PS2KEYBOARD_CMD_RESET)) )
                {
                        ps2keyboard_send(ps2keyboard_cmd);
    770c:       80 91 a7 0a     lds     r24, 0x0AA7
    7710:       0b c0           rjmp    .+22            ; 0x7728 <ps2keyboard_task+0x5c>
                        ps2keyboard_cmd_count--;
                }
                else
                //if need send led data on current stage
                if ( ((ps2keyboard_cmd_count == 2)&&(ps2keyboard_cmd == PS2KEYBOARD_CMD_SETLED)) )
    7712:       80 91 a1 0a     lds     r24, 0x0AA1
    7716:       82 30           cpi     r24, 0x02       ; 2
    7718:       71 f4           brne    .+28            ; 0x7736 <ps2keyboard_task+0x6a>
    771a:       80 91 a7 0a     lds     r24, 0x0AA7
    771e:       8d 3e           cpi     r24, 0xED       ; 237
    7720:       51 f4           brne    .+20            ; 0x7736 <ps2keyboard_task+0x6a>
                {
                        b = PS2KEYBOARD_LED_SCROLLOCK&modes_register;
    7722:       80 91 96 02     lds     r24, 0x0296
                        ps2keyboard_send(b);
    7726:       81 70           andi    r24, 0x01       ; 1
    7728:       0e 94 ed 39     call    0x73da  ; 0x73da <ps2keyboard_send>
                        ps2keyboard_cmd_count--;
    772c:       80 91 a1 0a     lds     r24, 0x0AA1
    7730:       81 50           subi    r24, 0x01       ; 1
    7732:       80 93 a1 0a     sts     0x0AA1, r24
                }
        }

        if ( ( ps2keyboard_count<12 ) &&
    7736:       80 91 9c 0a     lds     r24, 0x0A9C
    773a:       8c 30           cpi     r24, 0x0C       ; 12
    773c:       60 f4           brcc    .+24            ; 0x7756 <ps2keyboard_task+0x8a>
    773e:       80 91 a6 0a     lds     r24, 0x0AA6
    7742:       88 23           and     r24, r24
    7744:       41 f4           brne    .+16            ; 0x7756 <ps2keyboard_task+0x8a>
                 ( ps2keyboard_timeout==0 ) )
        {
                //error due send/receive
                ps2keyboard_release_clk();
    7746:       0e 94 db 39     call    0x73b6  ; 0x73b6 <ps2keyboard_release_clk>
                to_log("KBerr\r\n");
#endif
                //TODO: ÷åòà äåëàòü

                //reset command
                ps2keyboard_cmd_count = 0;
    774a:       10 92 a1 0a     sts     0x0AA1, r1
                ps2keyboard_cmd = 0;
    774e:       10 92 a7 0a     sts     0x0AA7, r1

                //reset buffer
                zx_clr_kb();
    7752:       0e 94 e1 33     call    0x67c2  ; 0x67c2 <zx_clr_kb>
        }

        if ( ps2keyboard_count!=0 ) return; // not received anything
    7756:       80 91 9c 0a     lds     r24, 0x0A9C
    775a:       88 23           and     r24, r24
    775c:       09 f0           breq    .+2             ; 0x7760 <ps2keyboard_task+0x94>
    775e:       54 c0           rjmp    .+168           ; 0x7808 <ps2keyboard_task+0x13c>

        if ( !(flags_register&FLAG_PS2KEYBOARD_DIRECTION) )
    7760:       80 91 9b 02     lds     r24, 0x029B
    7764:       84 fd           sbrc    r24, 4
    7766:       4e c0           rjmp    .+156           ; 0x7804 <ps2keyboard_task+0x138>
        {
                //receive complete
                b = ps2_decode(ps2keyboard_count, ps2keyboard_shifter);
    7768:       80 91 9c 0a     lds     r24, 0x0A9C
    776c:       60 91 9e 0a     lds     r22, 0x0A9E
    7770:       70 91 9f 0a     lds     r23, 0x0A9F
    7774:       0e 94 9c 39     call    0x7338  ; 0x7338 <ps2_decode>
    7778:       98 2f           mov     r25, r24
        log_ps2kb_parse[3] = ((b >> 4) <= 9 )?'0'+(b >> 4):'A'+(b >> 4)-10;
        log_ps2kb_parse[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_ps2kb_parse);
}
#endif
                if ( ps2keyboard_cmd )
    777a:       80 91 a7 0a     lds     r24, 0x0AA7
    777e:       88 23           and     r24, r24
    7780:       e1 f1           breq    .+120           ; 0x77fa <ps2keyboard_task+0x12e>
                {
                        //wait for 0xFA on current stage
                        if ( ((ps2keyboard_cmd == PS2KEYBOARD_CMD_SETLED)&&(ps2keyboard_cmd_count == 3 || ps2keyboard_cmd_count == 1)) ||
    7782:       80 91 a7 0a     lds     r24, 0x0AA7
    7786:       8d 3e           cpi     r24, 0xED       ; 237
    7788:       41 f4           brne    .+16            ; 0x779a <ps2keyboard_task+0xce>
    778a:       80 91 a1 0a     lds     r24, 0x0AA1
    778e:       83 30           cpi     r24, 0x03       ; 3
    7790:       61 f0           breq    .+24            ; 0x77aa <ps2keyboard_task+0xde>
    7792:       80 91 a1 0a     lds     r24, 0x0AA1
    7796:       81 30           cpi     r24, 0x01       ; 1
    7798:       41 f0           breq    .+16            ; 0x77aa <ps2keyboard_task+0xde>
    779a:       80 91 a7 0a     lds     r24, 0x0AA7
    779e:       8f 3f           cpi     r24, 0xFF       ; 255
    77a0:       c1 f4           brne    .+48            ; 0x77d2 <ps2keyboard_task+0x106>
    77a2:       80 91 a1 0a     lds     r24, 0x0AA1
    77a6:       82 30           cpi     r24, 0x02       ; 2
    77a8:       a1 f4           brne    .+40            ; 0x77d2 <ps2keyboard_task+0x106>
                             ((ps2keyboard_cmd == PS2KEYBOARD_CMD_RESET)&&(ps2keyboard_cmd_count == 2)) )
                        {
                                if( b != 0xFA )
    77aa:       9a 3f           cpi     r25, 0xFA       ; 250
    77ac:       41 f0           breq    .+16            ; 0x77be <ps2keyboard_task+0xf2>
                                {
                                        ps2keyboard_cmd_count = 0;
    77ae:       10 92 a1 0a     sts     0x0AA1, r1
                                        //if non FA - may be scan code received
                                        if ( b ) ps2keyboard_parse(b);
    77b2:       99 23           and     r25, r25
    77b4:       49 f0           breq    .+18            ; 0x77c8 <ps2keyboard_task+0xfc>
    77b6:       89 2f           mov     r24, r25
    77b8:       0e 94 0f 3b     call    0x761e  ; 0x761e <ps2keyboard_parse>
    77bc:       05 c0           rjmp    .+10            ; 0x77c8 <ps2keyboard_task+0xfc>
                                }
                                else ps2keyboard_cmd_count--;
    77be:       80 91 a1 0a     lds     r24, 0x0AA1
    77c2:       81 50           subi    r24, 0x01       ; 1
    77c4:       80 93 a1 0a     sts     0x0AA1, r24

                                if ( ps2keyboard_cmd_count == 0 ) ps2keyboard_cmd = 0;
    77c8:       80 91 a1 0a     lds     r24, 0x0AA1
    77cc:       88 23           and     r24, r24
    77ce:       d1 f4           brne    .+52            ; 0x7804 <ps2keyboard_task+0x138>
    77d0:       11 c0           rjmp    .+34            ; 0x77f4 <ps2keyboard_task+0x128>
                        }
                        else
                        //wait for 0xAA on current stage
                        if ( ((ps2keyboard_cmd == PS2KEYBOARD_CMD_RESET)&&(ps2keyboard_cmd_count == 1)) )
    77d2:       80 91 a7 0a     lds     r24, 0x0AA7
    77d6:       8f 3f           cpi     r24, 0xFF       ; 255
    77d8:       a9 f4           brne    .+42            ; 0x7804 <ps2keyboard_task+0x138>
    77da:       80 91 a1 0a     lds     r24, 0x0AA1
    77de:       81 30           cpi     r24, 0x01       ; 1
    77e0:       89 f4           brne    .+34            ; 0x7804 <ps2keyboard_task+0x138>
                        {
                                if ( b != 0xAA )
    77e2:       9a 3a           cpi     r25, 0xAA       ; 170
    77e4:       29 f0           breq    .+10            ; 0x77f0 <ps2keyboard_task+0x124>
                                {
                                        //if non AA - may be scan code received
                                        if ( b ) ps2keyboard_parse(b);
    77e6:       99 23           and     r25, r25
    77e8:       19 f0           breq    .+6             ; 0x77f0 <ps2keyboard_task+0x124>
    77ea:       89 2f           mov     r24, r25
    77ec:       0e 94 0f 3b     call    0x761e  ; 0x761e <ps2keyboard_parse>
                                }
                                ps2keyboard_cmd_count = 0;
    77f0:       10 92 a1 0a     sts     0x0AA1, r1
                                ps2keyboard_cmd = 0;
    77f4:       10 92 a7 0a     sts     0x0AA7, r1
    77f8:       05 c0           rjmp    .+10            ; 0x7804 <ps2keyboard_task+0x138>
                        }
                }
                else
                if ( b ) // there is no zero byte in scancode tables so we can ignore and use it as 'nothing received'
    77fa:       99 23           and     r25, r25
    77fc:       19 f0           breq    .+6             ; 0x7804 <ps2keyboard_task+0x138>
                {
                        ps2keyboard_parse(b);
    77fe:       89 2f           mov     r24, r25
    7800:       0e 94 0f 3b     call    0x761e  ; 0x761e <ps2keyboard_parse>
                }
        }

        ps2keyboard_release_clk();
    7804:       0e 94 db 39     call    0x73b6  ; 0x73b6 <ps2keyboard_release_clk>
    7808:       08 95           ret

0000780a <spi_init>:
#include "pins.h"
#include "mytypes.h"

void spi_init(void)
{
        SPCR = 0b01110000; // prepare SPI
    780a:       80 e7           ldi     r24, 0x70       ; 112
    780c:       8d b9           out     0x0d, r24       ; 13
        SPSR = 0b00000001;
    780e:       81 e0           ldi     r24, 0x01       ; 1
    7810:       8e b9           out     0x0e, r24       ; 14
}
    7812:       08 95           ret

00007814 <spi_send>:

UBYTE spi_send(UBYTE byte)
{
        SPDR = byte;
    7814:       8f b9           out     0x0f, r24       ; 15
        while( !( SPSR&(1<<SPIF) ) );
    7816:       77 9b           sbis    0x0e, 7 ; 14
    7818:       fe cf           rjmp    .-4             ; 0x7816 <spi_send+0x2>
        return SPDR;
    781a:       8f b1           in      r24, 0x0f       ; 15
}
    781c:       08 95           ret

0000781e <get_bits_dirty>:
        }
}


UBYTE get_bits_dirty(UBYTE numbits)
{ // gets bits in a byte-wise style, no checks
    781e:       48 2f           mov     r20, r24
    7820:       90 91 ab 0a     lds     r25, 0x0AAB
    7824:       80 91 aa 0a     lds     r24, 0x0AAA
    7828:       30 e0           ldi     r19, 0x00       ; 0

        bits=0;

        do
        {
                if( !(bitcount--) )
    782a:       28 2f           mov     r18, r24
    782c:       21 50           subi    r18, 0x01       ; 1
    782e:       88 23           and     r24, r24
    7830:       d1 f4           brne    .+52            ; 0x7866 <get_bits_dirty+0x48>
                {
                        bitcount=7;
                        bitstream=NEXT_BYTE;
    7832:       80 91 97 02     lds     r24, 0x0297
    7836:       90 91 98 02     lds     r25, 0x0298
    783a:       a0 91 99 02     lds     r26, 0x0299
    783e:       b0 91 9a 02     lds     r27, 0x029A
    7842:       01 96           adiw    r24, 0x01       ; 1
    7844:       a1 1d           adc     r26, r1
    7846:       b1 1d           adc     r27, r1
    7848:       80 93 97 02     sts     0x0297, r24
    784c:       90 93 98 02     sts     0x0298, r25
    7850:       a0 93 99 02     sts     0x0299, r26
    7854:       b0 93 9a 02     sts     0x029A, r27
    7858:       01 97           sbiw    r24, 0x01       ; 1
    785a:       a1 09           sbc     r26, r1
    785c:       b1 09           sbc     r27, r1
    785e:       ab bf           out     0x3b, r26       ; 59
    7860:       fc 01           movw    r30, r24
    7862:       97 91           elpm    r25, Z+
    7864:       27 e0           ldi     r18, 0x07       ; 7
                }

                bits = (bits<<1)|(bitstream>>7); // all shifts byte-wise
    7866:       89 2f           mov     r24, r25
    7868:       88 1f           adc     r24, r24
    786a:       88 27           eor     r24, r24
    786c:       88 1f           adc     r24, r24
    786e:       33 0f           add     r19, r19
    7870:       38 2b           or      r19, r24
                bitstream<<=1;
    7872:       99 0f           add     r25, r25

        } while (--numbits);
    7874:       41 50           subi    r20, 0x01       ; 1
    7876:       11 f0           breq    .+4             ; 0x787c <get_bits_dirty+0x5e>
    7878:       82 2f           mov     r24, r18
    787a:       d7 cf           rjmp    .-82            ; 0x782a <get_bits_dirty+0xc>
    787c:       90 93 ab 0a     sts     0x0AAB, r25
    7880:       20 93 aa 0a     sts     0x0AAA, r18

        return bits;
}
    7884:       83 2f           mov     r24, r19
    7886:       08 95           ret

00007888 <get_bigdisp_dirty>:
{ // fetches 'big' displacement (-1..-4352)
  // returns negative displacement

        UBYTE bits;

        if( get_bits_dirty(1) )
    7888:       81 e0           ldi     r24, 0x01       ; 1
    788a:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
    788e:       88 23           and     r24, r24
    7890:       41 f1           breq    .+80            ; 0x78e2 <get_bigdisp_dirty+0x5a>
        { // longer displacement
                bits=get_bits_dirty(4);
    7892:       84 e0           ldi     r24, 0x04       ; 4
    7894:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
                return (((0xF0|bits)-1)<<8)|NEXT_BYTE;
    7898:       20 91 97 02     lds     r18, 0x0297
    789c:       30 91 98 02     lds     r19, 0x0298
    78a0:       40 91 99 02     lds     r20, 0x0299
    78a4:       50 91 9a 02     lds     r21, 0x029A
    78a8:       2f 5f           subi    r18, 0xFF       ; 255
    78aa:       3f 4f           sbci    r19, 0xFF       ; 255
    78ac:       4f 4f           sbci    r20, 0xFF       ; 255
    78ae:       5f 4f           sbci    r21, 0xFF       ; 255
    78b0:       20 93 97 02     sts     0x0297, r18
    78b4:       30 93 98 02     sts     0x0298, r19
    78b8:       40 93 99 02     sts     0x0299, r20
    78bc:       50 93 9a 02     sts     0x029A, r21
    78c0:       21 50           subi    r18, 0x01       ; 1
    78c2:       30 40           sbci    r19, 0x00       ; 0
    78c4:       40 40           sbci    r20, 0x00       ; 0
    78c6:       50 40           sbci    r21, 0x00       ; 0
    78c8:       4b bf           out     0x3b, r20       ; 59
    78ca:       f9 01           movw    r30, r18
    78cc:       27 91           elpm    r18, Z+
    78ce:       80 6f           ori     r24, 0xF0       ; 240
    78d0:       90 e0           ldi     r25, 0x00       ; 0
    78d2:       01 97           sbiw    r24, 0x01       ; 1
    78d4:       58 2f           mov     r21, r24
    78d6:       44 27           eor     r20, r20
    78d8:       82 2f           mov     r24, r18
    78da:       90 e0           ldi     r25, 0x00       ; 0
    78dc:       48 2b           or      r20, r24
    78de:       59 2b           or      r21, r25
    78e0:       1c c0           rjmp    .+56            ; 0x791a <get_bigdisp_dirty+0x92>
        }
        else
        { // shorter displacement
                return 0xFF00|NEXT_BYTE;
    78e2:       80 91 97 02     lds     r24, 0x0297
    78e6:       90 91 98 02     lds     r25, 0x0298
    78ea:       a0 91 99 02     lds     r26, 0x0299
    78ee:       b0 91 9a 02     lds     r27, 0x029A
    78f2:       01 96           adiw    r24, 0x01       ; 1
    78f4:       a1 1d           adc     r26, r1
    78f6:       b1 1d           adc     r27, r1
    78f8:       80 93 97 02     sts     0x0297, r24
    78fc:       90 93 98 02     sts     0x0298, r25
    7900:       a0 93 99 02     sts     0x0299, r26
    7904:       b0 93 9a 02     sts     0x029A, r27
    7908:       01 97           sbiw    r24, 0x01       ; 1
    790a:       a1 09           sbc     r26, r1
    790c:       b1 09           sbc     r27, r1
    790e:       ab bf           out     0x3b, r26       ; 59
    7910:       fc 01           movw    r30, r24
    7912:       87 91           elpm    r24, Z+
    7914:       48 2f           mov     r20, r24
    7916:       50 e0           ldi     r21, 0x00       ; 0
    7918:       5f 6f           ori     r21, 0xFF       ; 255
        }
}
    791a:       ca 01           movw    r24, r20
    791c:       08 95           ret

0000791e <put_byte>:



void put_byte(UBYTE byte)
{
        dbuf[dbpos]=byte;
    791e:       20 91 a8 0a     lds     r18, 0x0AA8
    7922:       30 91 a9 0a     lds     r19, 0x0AA9
    7926:       f9 01           movw    r30, r18
    7928:       e4 56           subi    r30, 0x64       ; 100
    792a:       fd 4f           sbci    r31, 0xFD       ; 253
    792c:       80 83           st      Z, r24
        dbpos = DBMASK & (dbpos+1);
    792e:       2f 5f           subi    r18, 0xFF       ; 255
    7930:       3f 4f           sbci    r19, 0xFF       ; 255
    7932:       37 70           andi    r19, 0x07       ; 7
    7934:       30 93 a9 0a     sts     0x0AA9, r19
    7938:       20 93 a8 0a     sts     0x0AA8, r18

        if( !dbpos )
    793c:       23 2b           or      r18, r19
    793e:       21 f4           brne    .+8             ; 0x7948 <put_byte+0x2a>
        {
                put_buffer(DBSIZE);
    7940:       80 e0           ldi     r24, 0x00       ; 0
    7942:       98 e0           ldi     r25, 0x08       ; 8
    7944:       0e 94 0f 39     call    0x721e  ; 0x721e <put_buffer>
    7948:       08 95           ret

0000794a <repeat>:




void repeat(WORD disp,UBYTE len)
{ // repeat len bytes with disp displacement (negative)
    794a:       0f 93           push    r16
    794c:       1f 93           push    r17
    794e:       cf 93           push    r28
    7950:       df 93           push    r29
    7952:       ec 01           movw    r28, r24
    7954:       06 2f           mov     r16, r22
    7956:       10 e0           ldi     r17, 0x00       ; 0
    7958:       0d c0           rjmp    .+26            ; 0x7974 <repeat+0x2a>

        UBYTE i; // since length is no more than 255

        for(i=0;i<len;i++)
        {
                put_byte(dbuf[DBMASK&(dbpos+disp)]);
    795a:       e0 91 a8 0a     lds     r30, 0x0AA8
    795e:       f0 91 a9 0a     lds     r31, 0x0AA9
    7962:       ec 0f           add     r30, r28
    7964:       fd 1f           adc     r31, r29
    7966:       f7 70           andi    r31, 0x07       ; 7
    7968:       e4 56           subi    r30, 0x64       ; 100
    796a:       fd 4f           sbci    r31, 0xFD       ; 253
    796c:       80 81           ld      r24, Z
    796e:       0e 94 8f 3c     call    0x791e  ; 0x791e <put_byte>
{ // repeat len bytes with disp displacement (negative)
  // uses dbpos & dbuf

        UBYTE i; // since length is no more than 255

        for(i=0;i<len;i++)
    7972:       1f 5f           subi    r17, 0xFF       ; 255
    7974:       10 17           cp      r17, r16
    7976:       88 f3           brcs    .-30            ; 0x795a <repeat+0x10>
        {
                put_byte(dbuf[DBMASK&(dbpos+disp)]);
        }
}
    7978:       df 91           pop     r29
    797a:       cf 91           pop     r28
    797c:       1f 91           pop     r17
    797e:       0f 91           pop     r16
    7980:       08 95           ret

00007982 <depacker_dirty>:

UBYTE bitstream;
UBYTE bitcount;

void depacker_dirty(void)
{
    7982:       0f 93           push    r16
    7984:       1f 93           push    r17
    7986:       cf 93           push    r28
    7988:       df 93           push    r29

        UBYTE bits;
        WORD disp;


        dbpos=0;
    798a:       10 92 a9 0a     sts     0x0AA9, r1
    798e:       10 92 a8 0a     sts     0x0AA8, r1

        // get first byte of packed file and write to output
        put_byte(NEXT_BYTE);
    7992:       80 91 97 02     lds     r24, 0x0297
    7996:       90 91 98 02     lds     r25, 0x0298
    799a:       a0 91 99 02     lds     r26, 0x0299
    799e:       b0 91 9a 02     lds     r27, 0x029A
    79a2:       01 96           adiw    r24, 0x01       ; 1
    79a4:       a1 1d           adc     r26, r1
    79a6:       b1 1d           adc     r27, r1
    79a8:       80 93 97 02     sts     0x0297, r24
    79ac:       90 93 98 02     sts     0x0298, r25
    79b0:       a0 93 99 02     sts     0x0299, r26
    79b4:       b0 93 9a 02     sts     0x029A, r27
    79b8:       01 97           sbiw    r24, 0x01       ; 1
    79ba:       a1 09           sbc     r26, r1
    79bc:       b1 09           sbc     r27, r1
    79be:       ab bf           out     0x3b, r26       ; 59
    79c0:       fc 01           movw    r30, r24
    79c2:       87 91           elpm    r24, Z+
    79c4:       0e 94 8f 3c     call    0x791e  ; 0x791e <put_byte>


        // second byte goes to bitstream
        bitstream=NEXT_BYTE;
    79c8:       80 91 97 02     lds     r24, 0x0297
    79cc:       90 91 98 02     lds     r25, 0x0298
    79d0:       a0 91 99 02     lds     r26, 0x0299
    79d4:       b0 91 9a 02     lds     r27, 0x029A
    79d8:       01 96           adiw    r24, 0x01       ; 1
    79da:       a1 1d           adc     r26, r1
    79dc:       b1 1d           adc     r27, r1
    79de:       80 93 97 02     sts     0x0297, r24
    79e2:       90 93 98 02     sts     0x0298, r25
    79e6:       a0 93 99 02     sts     0x0299, r26
    79ea:       b0 93 9a 02     sts     0x029A, r27
    79ee:       01 97           sbiw    r24, 0x01       ; 1
    79f0:       a1 09           sbc     r26, r1
    79f2:       b1 09           sbc     r27, r1
    79f4:       ab bf           out     0x3b, r26       ; 59
    79f6:       fc 01           movw    r30, r24
    79f8:       87 91           elpm    r24, Z+
    79fa:       80 93 ab 0a     sts     0x0AAB, r24
        bitcount=8;
    79fe:       88 e0           ldi     r24, 0x08       ; 8
    7a00:       80 93 aa 0a     sts     0x0AAA, r24
                                if( j<8 ) // check for exit code
                                {
                                        // get length bits itself
                                        bits=get_bits_dirty(j);
                                        disp=get_bigdisp_dirty();
                                        repeat(disp,2+(1<<j)+bits);
    7a04:       c1 e0           ldi     r28, 0x01       ; 1
    7a06:       d0 e0           ldi     r29, 0x00       ; 0
        do
        {
                j=0;

                // get 1st bit - either OUTBYTE or beginning of LZ code
                if( get_bits_dirty(1) )
    7a08:       81 e0           ldi     r24, 0x01       ; 1
    7a0a:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
    7a0e:       88 23           and     r24, r24
    7a10:       e1 f0           breq    .+56            ; 0x7a4a <depacker_dirty+0xc8>
                { // OUTBYTE
                        put_byte(NEXT_BYTE);
    7a12:       80 91 97 02     lds     r24, 0x0297
    7a16:       90 91 98 02     lds     r25, 0x0298
    7a1a:       a0 91 99 02     lds     r26, 0x0299
    7a1e:       b0 91 9a 02     lds     r27, 0x029A
    7a22:       01 96           adiw    r24, 0x01       ; 1
    7a24:       a1 1d           adc     r26, r1
    7a26:       b1 1d           adc     r27, r1
    7a28:       80 93 97 02     sts     0x0297, r24
    7a2c:       90 93 98 02     sts     0x0298, r25
    7a30:       a0 93 99 02     sts     0x0299, r26
    7a34:       b0 93 9a 02     sts     0x029A, r27
    7a38:       01 97           sbiw    r24, 0x01       ; 1
    7a3a:       a1 09           sbc     r26, r1
    7a3c:       b1 09           sbc     r27, r1
    7a3e:       ab bf           out     0x3b, r26       ; 59
    7a40:       fc 01           movw    r30, r24
    7a42:       87 91           elpm    r24, Z+
    7a44:       0e 94 8f 3c     call    0x791e  ; 0x791e <put_byte>
    7a48:       df cf           rjmp    .-66            ; 0x7a08 <depacker_dirty+0x86>
                }
                else
                { // LZ code
                        switch( get_bits_dirty(2) )
    7a4a:       82 e0           ldi     r24, 0x02       ; 2
    7a4c:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
    7a50:       81 30           cpi     r24, 0x01       ; 1
    7a52:       79 f0           breq    .+30            ; 0x7a72 <depacker_dirty+0xf0>
    7a54:       81 30           cpi     r24, 0x01       ; 1
    7a56:       28 f0           brcs    .+10            ; 0x7a62 <depacker_dirty+0xe0>
    7a58:       82 30           cpi     r24, 0x02       ; 2
    7a5a:       41 f1           breq    .+80            ; 0x7aac <depacker_dirty+0x12a>
    7a5c:       83 30           cpi     r24, 0x03       ; 3
    7a5e:       a1 f6           brne    .-88            ; 0x7a08 <depacker_dirty+0x86>
    7a60:       29 c0           rjmp    .+82            ; 0x7ab4 <depacker_dirty+0x132>
                        {
                        case 0: // 000
                                repeat( 0xFFF8|get_bits_dirty(3) ,1);
    7a62:       83 e0           ldi     r24, 0x03       ; 3
    7a64:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
    7a68:       90 e0           ldi     r25, 0x00       ; 0
    7a6a:       88 6f           ori     r24, 0xF8       ; 248
    7a6c:       9f 6f           ori     r25, 0xFF       ; 255
    7a6e:       61 e0           ldi     r22, 0x01       ; 1
    7a70:       38 c0           rjmp    .+112           ; 0x7ae2 <depacker_dirty+0x160>
                                break;
                        case 1: // 001
                                repeat( 0xFF00|NEXT_BYTE ,2);
    7a72:       80 91 97 02     lds     r24, 0x0297
    7a76:       90 91 98 02     lds     r25, 0x0298
    7a7a:       a0 91 99 02     lds     r26, 0x0299
    7a7e:       b0 91 9a 02     lds     r27, 0x029A
    7a82:       01 96           adiw    r24, 0x01       ; 1
    7a84:       a1 1d           adc     r26, r1
    7a86:       b1 1d           adc     r27, r1
    7a88:       80 93 97 02     sts     0x0297, r24
    7a8c:       90 93 98 02     sts     0x0298, r25
    7a90:       a0 93 99 02     sts     0x0299, r26
    7a94:       b0 93 9a 02     sts     0x029A, r27
    7a98:       01 97           sbiw    r24, 0x01       ; 1
    7a9a:       a1 09           sbc     r26, r1
    7a9c:       b1 09           sbc     r27, r1
    7a9e:       ab bf           out     0x3b, r26       ; 59
    7aa0:       fc 01           movw    r30, r24
    7aa2:       87 91           elpm    r24, Z+
    7aa4:       90 e0           ldi     r25, 0x00       ; 0
    7aa6:       9f 6f           ori     r25, 0xFF       ; 255
    7aa8:       62 e0           ldi     r22, 0x02       ; 2
    7aaa:       1b c0           rjmp    .+54            ; 0x7ae2 <depacker_dirty+0x160>
                                break;
                        case 2: // 010
                                repeat(get_bigdisp_dirty(),3);
    7aac:       0e 94 44 3c     call    0x7888  ; 0x7888 <get_bigdisp_dirty>
    7ab0:       63 e0           ldi     r22, 0x03       ; 3
    7ab2:       17 c0           rjmp    .+46            ; 0x7ae2 <depacker_dirty+0x160>
                                break;
    7ab4:       00 e0           ldi     r16, 0x00       ; 0
                        case 3: // 011
                                // extract num of length bits
                                do j++; while( !get_bits_dirty(1) );
    7ab6:       0f 5f           subi    r16, 0xFF       ; 255
    7ab8:       81 e0           ldi     r24, 0x01       ; 1
    7aba:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
    7abe:       88 23           and     r24, r24
    7ac0:       d1 f3           breq    .-12            ; 0x7ab6 <depacker_dirty+0x134>

                                if( j<8 ) // check for exit code
    7ac2:       08 30           cpi     r16, 0x08       ; 8
    7ac4:       a0 f4           brcc    .+40            ; 0x7aee <depacker_dirty+0x16c>
                                {
                                        // get length bits itself
                                        bits=get_bits_dirty(j);
    7ac6:       80 2f           mov     r24, r16
    7ac8:       0e 94 0f 3c     call    0x781e  ; 0x781e <get_bits_dirty>
    7acc:       18 2f           mov     r17, r24
                                        disp=get_bigdisp_dirty();
    7ace:       0e 94 44 3c     call    0x7888  ; 0x7888 <get_bigdisp_dirty>
                                        repeat(disp,2+(1<<j)+bits);
    7ad2:       be 01           movw    r22, r28
    7ad4:       02 c0           rjmp    .+4             ; 0x7ada <depacker_dirty+0x158>
    7ad6:       66 0f           add     r22, r22
    7ad8:       77 1f           adc     r23, r23
    7ada:       0a 95           dec     r16
    7adc:       e2 f7           brpl    .-8             ; 0x7ad6 <depacker_dirty+0x154>
    7ade:       6e 5f           subi    r22, 0xFE       ; 254
    7ae0:       61 0f           add     r22, r17
    7ae2:       0e 94 a5 3c     call    0x794a  ; 0x794a <repeat>
    7ae6:       90 cf           rjmp    .-224           ; 0x7a08 <depacker_dirty+0x86>
        } while( j<8 );


        if( (DBMASK&dbpos) )
        {
                put_buffer(DBMASK&dbpos);
    7ae8:       0e 94 0f 39     call    0x721e  ; 0x721e <put_buffer>
    7aec:       07 c0           rjmp    .+14            ; 0x7afc <depacker_dirty+0x17a>
                }

        } while( j<8 );


        if( (DBMASK&dbpos) )
    7aee:       80 91 a8 0a     lds     r24, 0x0AA8
    7af2:       90 91 a9 0a     lds     r25, 0x0AA9
    7af6:       97 70           andi    r25, 0x07       ; 7
    7af8:       00 97           sbiw    r24, 0x00       ; 0
    7afa:       b1 f7           brne    .-20            ; 0x7ae8 <depacker_dirty+0x166>
        {
                put_buffer(DBMASK&dbpos);
        }

}
    7afc:       df 91           pop     r29
    7afe:       cf 91           pop     r28
    7b00:       1f 91           pop     r17
    7b02:       0f 91           pop     r16
    7b04:       08 95           ret

00007b06 <rs232_init>:
static UBYTE rs232_FO_end;

void rs232_init(void)
{
        // Set baud rate
        UBRR1H = (UBYTE)(UBRR115200>>8);
    7b06:       10 92 98 00     sts     0x0098, r1
        UBRR1L = (UBYTE)UBRR115200;
    7b0a:       85 e0           ldi     r24, 0x05       ; 5
    7b0c:       80 93 99 00     sts     0x0099, r24
        // Clear reg
        UCSR1A = 0;
    7b10:       10 92 9b 00     sts     0x009B, r1
        // Enable receiver and transmitter
        UCSR1B = (1<<RXEN)|(1<<TXEN);
    7b14:       88 e1           ldi     r24, 0x18       ; 24
    7b16:       80 93 9a 00     sts     0x009A, r24
        // Set frame format: 8data, 1stop bit
        UCSR1C = (1<<USBS)|(1<<UCSZ0)|(1<<UCSZ1);
    7b1a:       8e e0           ldi     r24, 0x0E       ; 14
    7b1c:       80 93 9d 00     sts     0x009D, r24
        // Set TXD pin
        //RS232TXD_DDR |= (1<<RS232TXD);

        //Set default values:
        rs232_IER = 0;
    7b20:       10 92 38 01     sts     0x0138, r1
        rs232_FCR = 0;
    7b24:       10 92 3a 01     sts     0x013A, r1
        rs232_IIR = 0x01;
    7b28:       81 e0           ldi     r24, 0x01       ; 1
    7b2a:       80 93 39 01     sts     0x0139, r24
        rs232_LCR = 0;
    7b2e:       10 92 3b 01     sts     0x013B, r1
        rs232_MCR = 0;
    7b32:       10 92 3c 01     sts     0x013C, r1
        rs232_LSR = 0x60;
    7b36:       80 e6           ldi     r24, 0x60       ; 96
    7b38:       80 93 3d 01     sts     0x013D, r24
        rs232_MSR = 0;
    7b3c:       10 92 3e 01     sts     0x013E, r1
        rs232_SCR = 0xFF;
    7b40:       8f ef           ldi     r24, 0xFF       ; 255
    7b42:       80 93 3f 01     sts     0x013F, r24
        rs232_FI_start = rs232_FI_end = 0;
    7b46:       10 92 41 01     sts     0x0141, r1
    7b4a:       10 92 40 01     sts     0x0140, r1
        rs232_FO_start = rs232_FO_end = 0;
    7b4e:       10 92 53 01     sts     0x0153, r1
    7b52:       10 92 52 01     sts     0x0152, r1
}
    7b56:       08 95           ret

00007b58 <rs232_transmit>:

void rs232_transmit( UBYTE data )
{
    7b58:       98 2f           mov     r25, r24
        // Wait for empty transmit buffer
        while ( !( UCSR1A & (1<<UDRE)) );
    7b5a:       80 91 9b 00     lds     r24, 0x009B
    7b5e:       85 ff           sbrs    r24, 5
    7b60:       fc cf           rjmp    .-8             ; 0x7b5a <rs232_transmit+0x2>
        // Put data into buffer, sends the data
        UDR1 = data;
    7b62:       90 93 9c 00     sts     0x009C, r25
}
    7b66:       08 95           ret

00007b68 <rs232_set_baud>:


//after DLL or DLM changing
void rs232_set_baud(void)
{
        if ( rs232_DLM | rs232_DLL )
    7b68:       90 91 37 01     lds     r25, 0x0137
    7b6c:       40 91 36 01     lds     r20, 0x0136
    7b70:       84 2f           mov     r24, r20
    7b72:       89 2b           or      r24, r25
    7b74:       c1 f0           breq    .+48            ; 0x7ba6 <rs232_set_baud+0x3e>
        {
                ULONG i = BAUD115200/ ((((UWORD)rs232_DLM)<<8) + rs232_DLL);
                UWORD rate = ((FOSC/16)/i)-1;
    7b76:       39 2f           mov     r19, r25
    7b78:       20 e0           ldi     r18, 0x00       ; 0
    7b7a:       24 0f           add     r18, r20
    7b7c:       31 1d           adc     r19, r1
    7b7e:       40 e0           ldi     r20, 0x00       ; 0
    7b80:       50 e0           ldi     r21, 0x00       ; 0
    7b82:       60 e0           ldi     r22, 0x00       ; 0
    7b84:       72 ec           ldi     r23, 0xC2       ; 194
    7b86:       81 e0           ldi     r24, 0x01       ; 1
    7b88:       90 e0           ldi     r25, 0x00       ; 0
    7b8a:       0e 94 ca 41     call    0x8394  ; 0x8394 <__divmodsi4>
    7b8e:       60 e0           ldi     r22, 0x00       ; 0
    7b90:       7c e8           ldi     r23, 0x8C       ; 140
    7b92:       8a e0           ldi     r24, 0x0A       ; 10
    7b94:       90 e0           ldi     r25, 0x00       ; 0
    7b96:       0e 94 a8 41     call    0x8350  ; 0x8350 <__udivmodsi4>
    7b9a:       21 50           subi    r18, 0x01       ; 1
    7b9c:       30 40           sbci    r19, 0x00       ; 0
                // Set baud rate
                UBRR1H = (UBYTE)(rate>>8);
    7b9e:       30 93 98 00     sts     0x0098, r19
                UBRR1L = (UBYTE)rate;
    7ba2:       20 93 99 00     sts     0x0099, r18
    7ba6:       08 95           ret

00007ba8 <rs232_zx_write>:
        log_write[4] = ((data >> 4) <= 9 )?'0'+(data >> 4):'A'+((data >> 4)-10);
        log_write[5] = ((data & 0x0F) <= 9 )?'0'+(data & 0x0F):'A'+((data & 0x0F)-10);
        to_log(log_write);
 #endif

        switch( index )
    7ba8:       83 30           cpi     r24, 0x03       ; 3
    7baa:       b9 f1           breq    .+110           ; 0x7c1a <rs232_zx_write+0x72>
    7bac:       84 30           cpi     r24, 0x04       ; 4
    7bae:       28 f4           brcc    .+10            ; 0x7bba <rs232_zx_write+0x12>
    7bb0:       81 30           cpi     r24, 0x01       ; 1
    7bb2:       29 f1           breq    .+74            ; 0x7bfe <rs232_zx_write+0x56>
    7bb4:       82 30           cpi     r24, 0x02       ; 2
    7bb6:       70 f5           brcc    .+92            ; 0x7c14 <rs232_zx_write+0x6c>
    7bb8:       09 c0           rjmp    .+18            ; 0x7bcc <rs232_zx_write+0x24>
    7bba:       85 30           cpi     r24, 0x05       ; 5
    7bbc:       a9 f1           breq    .+106           ; 0x7c28 <rs232_zx_write+0x80>
    7bbe:       85 30           cpi     r24, 0x05       ; 5
    7bc0:       78 f1           brcs    .+94            ; 0x7c20 <rs232_zx_write+0x78>
    7bc2:       86 30           cpi     r24, 0x06       ; 6
    7bc4:       a1 f1           breq    .+104           ; 0x7c2e <rs232_zx_write+0x86>
    7bc6:       87 30           cpi     r24, 0x07       ; 7
    7bc8:       b9 f5           brne    .+110           ; 0x7c38 <rs232_zx_write+0x90>
    7bca:       34 c0           rjmp    .+104           ; 0x7c34 <rs232_zx_write+0x8c>
}

void rs232_transmit( UBYTE data )
{
        // Wait for empty transmit buffer
        while ( !( UCSR1A & (1<<UDRE)) );
    7bcc:       80 91 9b 00     lds     r24, 0x009B
    7bd0:       85 ff           sbrs    r24, 5
    7bd2:       fc cf           rjmp    .-8             ; 0x7bcc <rs232_zx_write+0x24>
        // Put data into buffer, sends the data
        UDR1 = data;
    7bd4:       60 93 9c 00     sts     0x009C, r22

        switch( index )
        {
        case 0:
                rs232_transmit(data);
                if ( rs232_LCR & 0x80 )
    7bd8:       80 91 3b 01     lds     r24, 0x013B
    7bdc:       87 ff           sbrs    r24, 7
    7bde:       03 c0           rjmp    .+6             ; 0x7be6 <rs232_zx_write+0x3e>
                {
                        rs232_DLL = data;
    7be0:       60 93 36 01     sts     0x0136, r22
    7be4:       08 95           ret
                else
                {
                        //place byte to fifo out
                        //if ( rs232_FO_end )
                        {
                                rs232_FO[rs232_FO_end] = data;
    7be6:       80 91 53 01     lds     r24, 0x0153
    7bea:       e8 2f           mov     r30, r24
    7bec:       f0 e0           ldi     r31, 0x00       ; 0
    7bee:       ee 5b           subi    r30, 0xBE       ; 190
    7bf0:       fe 4f           sbci    r31, 0xFE       ; 254
    7bf2:       60 83           st      Z, r22
                                rs232_FO_end = (rs232_FO_end + 1) & 0x0F;
    7bf4:       8f 5f           subi    r24, 0xFF       ; 255
    7bf6:       8f 70           andi    r24, 0x0F       ; 15
    7bf8:       80 93 53 01     sts     0x0153, r24
    7bfc:       08 95           ret
                }
                break;

        case 1:
    
                if ( rs232_LCR & 0x80 )
    7bfe:       80 91 3b 01     lds     r24, 0x013B
    7c02:       87 ff           sbrs    r24, 7
    7c04:       03 c0           rjmp    .+6             ; 0x7c0c <rs232_zx_write+0x64>
                {
                        //write to DLM
                        rs232_DLM = data;
    7c06:       60 93 37 01     sts     0x0137, r22
    7c0a:       08 95           ret
                }
                else
                {
                        //bit 7-4 not used and set to '0'
                        rs232_IER = data & 0x0F;
    7c0c:       6f 70           andi    r22, 0x0F       ; 15
    7c0e:       60 93 38 01     sts     0x0138, r22
    7c12:       08 95           ret
                }
                break;

        case 2:
                rs232_FCR = data;
    7c14:       60 93 3a 01     sts     0x013A, r22
    7c18:       08 95           ret
                break;

        case 3:
                rs232_LCR = data;
    7c1a:       60 93 3b 01     sts     0x013B, r22
    7c1e:       08 95           ret
                break;

        case 4:
                //bit 7-5 not used and set to '0'
                rs232_MCR = data & 0x1F;
    7c20:       6f 71           andi    r22, 0x1F       ; 31
    7c22:       60 93 3c 01     sts     0x013C, r22
    7c26:       08 95           ret
                break;

        case 5:
                rs232_LSR = data;
    7c28:       60 93 3d 01     sts     0x013D, r22
    7c2c:       08 95           ret
                break;

        case 6:
                rs232_MSR = data;
    7c2e:       60 93 3e 01     sts     0x013E, r22
    7c32:       08 95           ret
                break;

        case 7:
                rs232_SCR = data;
    7c34:       60 93 3f 01     sts     0x013F, r22
    7c38:       08 95           ret

00007c3a <rs232_zx_read>:
}

UBYTE rs232_zx_read(UBYTE index)
{
        UBYTE data = 0;
        switch( index )
    7c3a:       83 30           cpi     r24, 0x03       ; 3
    7c3c:       41 f1           breq    .+80            ; 0x7c8e <rs232_zx_read+0x54>
    7c3e:       84 30           cpi     r24, 0x04       ; 4
    7c40:       28 f4           brcc    .+10            ; 0x7c4c <rs232_zx_read+0x12>
    7c42:       81 30           cpi     r24, 0x01       ; 1
    7c44:       f1 f0           breq    .+60            ; 0x7c82 <rs232_zx_read+0x48>
    7c46:       82 30           cpi     r24, 0x02       ; 2
    7c48:       f8 f4           brcc    .+62            ; 0x7c88 <rs232_zx_read+0x4e>
    7c4a:       0a c0           rjmp    .+20            ; 0x7c60 <rs232_zx_read+0x26>
    7c4c:       85 30           cpi     r24, 0x05       ; 5
    7c4e:       29 f1           breq    .+74            ; 0x7c9a <rs232_zx_read+0x60>
    7c50:       85 30           cpi     r24, 0x05       ; 5
    7c52:       00 f1           brcs    .+64            ; 0x7c94 <rs232_zx_read+0x5a>
    7c54:       86 30           cpi     r24, 0x06       ; 6
    7c56:       21 f1           breq    .+72            ; 0x7ca0 <rs232_zx_read+0x66>
    7c58:       87 30           cpi     r24, 0x07       ; 7
    7c5a:       29 f1           breq    .+74            ; 0x7ca6 <rs232_zx_read+0x6c>
    7c5c:       80 e0           ldi     r24, 0x00       ; 0
    7c5e:       08 95           ret
        {
        case 0:
                if ( rs232_LCR & 0x80 )
    7c60:       80 91 3b 01     lds     r24, 0x013B
    7c64:       87 fd           sbrc    r24, 7
    7c66:       0a c0           rjmp    .+20            ; 0x7c7c <rs232_zx_read+0x42>
                        data = rs232_DLL;
                }
                else
                {
                        //get byte from fifo in
                        if ( rs232_FI_start != rs232_FI_end )
    7c68:       90 91 40 01     lds     r25, 0x0140
    7c6c:       80 91 41 01     lds     r24, 0x0141
    7c70:       98 17           cp      r25, r24
    7c72:       21 f0           breq    .+8             ; 0x7c7c <rs232_zx_read+0x42>
                        {
                                data = rs232_FI[rs232_FI_start];
                                rs232_FI_start = ( rs232_FI_start + 1 ) & 0x0F;
    7c74:       9f 5f           subi    r25, 0xFF       ; 255
    7c76:       9f 70           andi    r25, 0x0F       ; 15
    7c78:       90 93 40 01     sts     0x0140, r25
                        }
                }
                data=UDR1;
    7c7c:       80 91 9c 00     lds     r24, 0x009C
    7c80:       08 95           ret
                }
                else
                {
                        data = rs232_IIR;
                }
                data=UCSR1A;
    7c82:       80 91 9b 00     lds     r24, 0x009B
    7c86:       08 95           ret
                break;

        case 2:
                data = rs232_FCR;
    7c88:       80 91 3a 01     lds     r24, 0x013A
    7c8c:       08 95           ret
                break;

        case 3:
                data = rs232_LCR;
    7c8e:       80 91 3b 01     lds     r24, 0x013B
    7c92:       08 95           ret
                break;

        case 4:
                data = rs232_MCR;
    7c94:       80 91 3c 01     lds     r24, 0x013C
    7c98:       08 95           ret
                break;

        case 5:
                data = rs232_LSR;
    7c9a:       80 91 3d 01     lds     r24, 0x013D
    7c9e:       08 95           ret
                break;

        case 6:
                data = rs232_MSR;
    7ca0:       80 91 3e 01     lds     r24, 0x013E
    7ca4:       08 95           ret
                break;

        case 7:
                data = rs232_SCR;
    7ca6:       80 91 3f 01     lds     r24, 0x013F
        }
        last = index;
#endif

        return data;
}
    7caa:       08 95           ret

00007cac <hex_to_bcd>:
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
}

static UBYTE hex_to_bcd(UBYTE data)
{
    7cac:       28 2f           mov     r18, r24
    7cae:       6a e0           ldi     r22, 0x0A       ; 10
    7cb0:       0e 94 9c 41     call    0x8338  ; 0x8338 <__udivmodqi4>
    7cb4:       38 2f           mov     r19, r24
    7cb6:       32 95           swap    r19
    7cb8:       30 7f           andi    r19, 0xF0       ; 240
    7cba:       82 2f           mov     r24, r18
    7cbc:       0e 94 9c 41     call    0x8338  ; 0x8338 <__udivmodqi4>
        //convert HEX to BCD
        return  ((data/10)<<4) + (data%10);
}
    7cc0:       83 2f           mov     r24, r19
    7cc2:       89 0f           add     r24, r25
    7cc4:       08 95           ret

00007cc6 <rtc_write>:
        //set modes on fpga
        zx_spi_send(SPI_CONFIG_REG, modes_register&MODE_VGA, 0);
}

void rtc_write(UBYTE addr, UBYTE data)
{
    7cc6:       98 2f           mov     r25, r24
#define tw_send_stop() {TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);}

static UBYTE tw_send_start(void)
{
        //start transmit
        TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
    7cc8:       84 ea           ldi     r24, 0xA4       ; 164
    7cca:       80 93 74 00     sts     0x0074, r24

        //wait for flag
        while (!(TWCR & (1<<TWINT)));
    7cce:       80 91 74 00     lds     r24, 0x0074
    7cd2:       87 ff           sbrs    r24, 7
    7cd4:       fc cf           rjmp    .-8             ; 0x7cce <rtc_write+0x8>
        log_reset_type[3] = ((b >> 4) <= 9 )?'0'+(b >> 4):'A'+(b >> 4)-10;
        log_reset_type[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_reset_type);
#endif
        //return status
   return TWSR&0xF8;
    7cd6:       80 91 71 00     lds     r24, 0x0071
}

void rtc_write(UBYTE addr, UBYTE data)
{
        //set address
        if ( tw_send_start() & (TW_START|TW_REP_START) )
    7cda:       88 71           andi    r24, 0x18       ; 24
    7cdc:       41 f1           breq    .+80            ; 0x7d2e <rtc_write+0x68>
}

static UBYTE tw_send_addr(UBYTE addr)
{
        //set address
        TWDR = addr;
    7cde:       80 ea           ldi     r24, 0xA0       ; 160
    7ce0:       80 93 73 00     sts     0x0073, r24

        //enable transmit
        TWCR = (1<<TWINT)|(1<<TWEN);
    7ce4:       84 e8           ldi     r24, 0x84       ; 132
    7ce6:       80 93 74 00     sts     0x0074, r24

        //wait for end transmit
        while (!(TWCR & (1<<TWINT)));
    7cea:       80 91 74 00     lds     r24, 0x0074
    7cee:       87 ff           sbrs    r24, 7
    7cf0:       fc cf           rjmp    .-8             ; 0x7cea <rtc_write+0x24>
        log_tw[6] = ((addr >> 4) <= 9 )?'0'+(addr >> 4):'A'+(addr >> 4)-10;
        log_tw[7] = ((addr & 0x0F) <= 9 )?'0'+(addr & 0x0F):'A'+(addr & 0x0F)-10;
        to_log(log_tw);
#endif
        //return status
   return TWSR&0xF8;
    7cf2:       80 91 71 00     lds     r24, 0x0071
void rtc_write(UBYTE addr, UBYTE data)
{
        //set address
        if ( tw_send_start() & (TW_START|TW_REP_START) )
        {
                if ( tw_send_addr(RTC_ADDRESS) == TW_MT_SLA_ACK )
    7cf6:       88 7f           andi    r24, 0xF8       ; 248
    7cf8:       88 31           cpi     r24, 0x18       ; 24
    7cfa:       c9 f4           brne    .+50            ; 0x7d2e <rtc_write+0x68>
}

static UBYTE tw_send_data(UBYTE data)
{
        //set data
        TWDR = data;
    7cfc:       90 93 73 00     sts     0x0073, r25

        //enable transmit
        TWCR = (1<<TWINT)|(1<<TWEN);
    7d00:       84 e8           ldi     r24, 0x84       ; 132
    7d02:       80 93 74 00     sts     0x0074, r24

        //wait for end transmit
        while (!(TWCR & (1<<TWINT)));
    7d06:       80 91 74 00     lds     r24, 0x0074
    7d0a:       87 ff           sbrs    r24, 7
    7d0c:       fc cf           rjmp    .-8             ; 0x7d06 <rtc_write+0x40>
        log_tw[6] = ((data >> 4) <= 9 )?'0'+(data >> 4):'A'+(data >> 4)-10;
        log_tw[7] = ((data & 0x0F) <= 9 )?'0'+(data & 0x0F):'A'+(data & 0x0F)-10;
        to_log(log_tw);
#endif
        //return status
   return TWSR&0xF8;
    7d0e:       80 91 71 00     lds     r24, 0x0071
        //set address
        if ( tw_send_start() & (TW_START|TW_REP_START) )
        {
                if ( tw_send_addr(RTC_ADDRESS) == TW_MT_SLA_ACK )
                {
                        if ( tw_send_data(addr) == TW_MT_DATA_ACK )
    7d12:       88 7f           andi    r24, 0xF8       ; 248
    7d14:       88 32           cpi     r24, 0x28       ; 40
    7d16:       59 f4           brne    .+22            ; 0x7d2e <rtc_write+0x68>
}

static UBYTE tw_send_data(UBYTE data)
{
        //set data
        TWDR = data;
    7d18:       60 93 73 00     sts     0x0073, r22

        //enable transmit
        TWCR = (1<<TWINT)|(1<<TWEN);
    7d1c:       84 e8           ldi     r24, 0x84       ; 132
    7d1e:       80 93 74 00     sts     0x0074, r24

        //wait for end transmit
        while (!(TWCR & (1<<TWINT)));
    7d22:       80 91 74 00     lds     r24, 0x0074
    7d26:       87 ff           sbrs    r24, 7
    7d28:       fc cf           rjmp    .-8             ; 0x7d22 <rtc_write+0x5c>
        log_tw[6] = ((data >> 4) <= 9 )?'0'+(data >> 4):'A'+(data >> 4)-10;
        log_tw[7] = ((data & 0x0F) <= 9 )?'0'+(data & 0x0F):'A'+(data & 0x0F)-10;
        to_log(log_tw);
#endif
        //return status
   return TWSR&0xF8;
    7d2a:       80 91 71 00     lds     r24, 0x0071
                                //write data
                                tw_send_data(data);
                        }
                }
        }
        tw_send_stop();
    7d2e:       84 e9           ldi     r24, 0x94       ; 148
    7d30:       80 93 74 00     sts     0x0074, r24
}
    7d34:       08 95           ret

00007d36 <rtc_read>:

UBYTE rtc_read(UBYTE addr)
{
    7d36:       98 2f           mov     r25, r24
#define tw_send_stop() {TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);}

static UBYTE tw_send_start(void)
{
        //start transmit
        TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
    7d38:       84 ea           ldi     r24, 0xA4       ; 164
    7d3a:       80 93 74 00     sts     0x0074, r24

        //wait for flag
        while (!(TWCR & (1<<TWINT)));
    7d3e:       80 91 74 00     lds     r24, 0x0074
    7d42:       87 ff           sbrs    r24, 7
    7d44:       fc cf           rjmp    .-8             ; 0x7d3e <rtc_read+0x8>
        log_reset_type[3] = ((b >> 4) <= 9 )?'0'+(b >> 4):'A'+(b >> 4)-10;
        log_reset_type[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_reset_type);
#endif
        //return status
   return TWSR&0xF8;
    7d46:       80 91 71 00     lds     r24, 0x0071

UBYTE rtc_read(UBYTE addr)
{
        UBYTE ret = 0;
        //set address
        if ( tw_send_start() & (TW_START|TW_REP_START) )
    7d4a:       88 71           andi    r24, 0x18       ; 24
    7d4c:       09 f4           brne    .+2             ; 0x7d50 <rtc_read+0x1a>
    7d4e:       44 c0           rjmp    .+136           ; 0x7dd8 <rtc_read+0xa2>
}

static UBYTE tw_send_addr(UBYTE addr)
{
        //set address
        TWDR = addr;
    7d50:       80 ea           ldi     r24, 0xA0       ; 160
    7d52:       80 93 73 00     sts     0x0073, r24

        //enable transmit
        TWCR = (1<<TWINT)|(1<<TWEN);
    7d56:       84 e8           ldi     r24, 0x84       ; 132
    7d58:       80 93 74 00     sts     0x0074, r24

        //wait for end transmit
        while (!(TWCR & (1<<TWINT)));
    7d5c:       80 91 74 00     lds     r24, 0x0074
    7d60:       87 ff           sbrs    r24, 7
    7d62:       fc cf           rjmp    .-8             ; 0x7d5c <rtc_read+0x26>
        log_tw[6] = ((addr >> 4) <= 9 )?'0'+(addr >> 4):'A'+(addr >> 4)-10;
        log_tw[7] = ((addr & 0x0F) <= 9 )?'0'+(addr & 0x0F):'A'+(addr & 0x0F)-10;
        to_log(log_tw);
#endif
        //return status
   return TWSR&0xF8;
    7d64:       80 91 71 00     lds     r24, 0x0071
{
        UBYTE ret = 0;
        //set address
        if ( tw_send_start() & (TW_START|TW_REP_START) )
        {
                if ( tw_send_addr(RTC_ADDRESS) == TW_MT_SLA_ACK )
    7d68:       88 7f           andi    r24, 0xF8       ; 248
    7d6a:       88 31           cpi     r24, 0x18       ; 24
    7d6c:       a9 f5           brne    .+106           ; 0x7dd8 <rtc_read+0xa2>
}

static UBYTE tw_send_data(UBYTE data)
{
        //set data
        TWDR = data;
    7d6e:       90 93 73 00     sts     0x0073, r25

        //enable transmit
        TWCR = (1<<TWINT)|(1<<TWEN);
    7d72:       84 e8           ldi     r24, 0x84       ; 132
    7d74:       80 93 74 00     sts     0x0074, r24

        //wait for end transmit
        while (!(TWCR & (1<<TWINT)));
    7d78:       80 91 74 00     lds     r24, 0x0074
    7d7c:       87 ff           sbrs    r24, 7
    7d7e:       fc cf           rjmp    .-8             ; 0x7d78 <rtc_read+0x42>
        log_tw[6] = ((data >> 4) <= 9 )?'0'+(data >> 4):'A'+(data >> 4)-10;
        log_tw[7] = ((data & 0x0F) <= 9 )?'0'+(data & 0x0F):'A'+(data & 0x0F)-10;
        to_log(log_tw);
#endif
        //return status
   return TWSR&0xF8;
    7d80:       80 91 71 00     lds     r24, 0x0071
        //set address
        if ( tw_send_start() & (TW_START|TW_REP_START) )
        {
                if ( tw_send_addr(RTC_ADDRESS) == TW_MT_SLA_ACK )
                {
                        if ( tw_send_data(addr) == TW_MT_DATA_ACK )
    7d84:       88 7f           andi    r24, 0xF8       ; 248
    7d86:       88 32           cpi     r24, 0x28       ; 40
    7d88:       39 f5           brne    .+78            ; 0x7dd8 <rtc_read+0xa2>
#define tw_send_stop() {TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);}

static UBYTE tw_send_start(void)
{
        //start transmit
        TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
    7d8a:       84 ea           ldi     r24, 0xA4       ; 164
    7d8c:       80 93 74 00     sts     0x0074, r24

        //wait for flag
        while (!(TWCR & (1<<TWINT)));
    7d90:       80 91 74 00     lds     r24, 0x0074
    7d94:       87 ff           sbrs    r24, 7
    7d96:       fc cf           rjmp    .-8             ; 0x7d90 <rtc_read+0x5a>
        log_reset_type[3] = ((b >> 4) <= 9 )?'0'+(b >> 4):'A'+(b >> 4)-10;
        log_reset_type[4] = ((b & 0x0F) <= 9 )?'0'+(b & 0x0F):'A'+(b & 0x0F)-10;
        to_log(log_reset_type);
#endif
        //return status
   return TWSR&0xF8;
    7d98:       80 91 71 00     lds     r24, 0x0071
                if ( tw_send_addr(RTC_ADDRESS) == TW_MT_SLA_ACK )
                {
                        if ( tw_send_data(addr) == TW_MT_DATA_ACK )
                        {
                                //read data
                                if ( tw_send_start() == TW_REP_START )
    7d9c:       88 7f           andi    r24, 0xF8       ; 248
    7d9e:       80 31           cpi     r24, 0x10       ; 16
    7da0:       d9 f4           brne    .+54            ; 0x7dd8 <rtc_read+0xa2>
}

static UBYTE tw_send_addr(UBYTE addr)
{
        //set address
        TWDR = addr;
    7da2:       81 ea           ldi     r24, 0xA1       ; 161
    7da4:       80 93 73 00     sts     0x0073, r24

        //enable transmit
        TWCR = (1<<TWINT)|(1<<TWEN);
    7da8:       84 e8           ldi     r24, 0x84       ; 132
    7daa:       80 93 74 00     sts     0x0074, r24

        //wait for end transmit
        while (!(TWCR & (1<<TWINT)));
    7dae:       80 91 74 00     lds     r24, 0x0074
    7db2:       87 ff           sbrs    r24, 7
    7db4:       fc cf           rjmp    .-8             ; 0x7dae <rtc_read+0x78>
        log_tw[6] = ((addr >> 4) <= 9 )?'0'+(addr >> 4):'A'+(addr >> 4)-10;
        log_tw[7] = ((addr & 0x0F) <= 9 )?'0'+(addr & 0x0F):'A'+(addr & 0x0F)-10;
        to_log(log_tw);
#endif
        //return status
   return TWSR&0xF8;
    7db6:       80 91 71 00     lds     r24, 0x0071
                        if ( tw_send_data(addr) == TW_MT_DATA_ACK )
                        {
                                //read data
                                if ( tw_send_start() == TW_REP_START )
                                {
                                        if ( tw_send_addr(RTC_ADDRESS|0x01) == TW_MR_SLA_ACK )
    7dba:       88 7f           andi    r24, 0xF8       ; 248
    7dbc:       80 34           cpi     r24, 0x40       ; 64
    7dbe:       61 f4           brne    .+24            ; 0x7dd8 <rtc_read+0xa2>
}

static UBYTE tw_read_data(UBYTE* data)
{
        //enable
        TWCR = (1<<TWINT)|(1<<TWEN);
    7dc0:       84 e8           ldi     r24, 0x84       ; 132
    7dc2:       80 93 74 00     sts     0x0074, r24

        //wait for flag set
        while (!(TWCR & (1<<TWINT)));
    7dc6:       80 91 74 00     lds     r24, 0x0074
    7dca:       87 ff           sbrs    r24, 7
    7dcc:       fc cf           rjmp    .-8             ; 0x7dc6 <rtc_read+0x90>
        log_tw[6] = ((TWDR >> 4) <= 9 )?'0'+(TWDR >> 4):'A'+(TWDR >> 4)-10;
        log_tw[7] = ((TWDR & 0x0F) <= 9 )?'0'+(TWDR & 0x0F):'A'+(TWDR & 0x0F)-10;
        to_log(log_tw);
#endif
        //get data
        *data = TWDR;
    7dce:       90 91 73 00     lds     r25, 0x0073

        //return status
   return TWSR & 0xF8;
    7dd2:       80 91 71 00     lds     r24, 0x0071
    7dd6:       01 c0           rjmp    .+2             ; 0x7dda <rtc_read+0xa4>
    7dd8:       90 e0           ldi     r25, 0x00       ; 0
                                        }
                                }
                        }
                }
        }
        tw_send_stop();
    7dda:       84 e9           ldi     r24, 0x94       ; 148
    7ddc:       80 93 74 00     sts     0x0074, r24
        return ret;
}
    7de0:       89 2f           mov     r24, r25
    7de2:       08 95           ret

00007de4 <gluk_init>:

void gluk_init(void)
{
    7de4:       1f 93           push    r17
        UBYTE tmp;
        //default values
        gluk_regs[GLUK_REG_A] = 0x00;
    7de6:       10 92 b6 0a     sts     0x0AB6, r1
        gluk_regs[GLUK_REG_B] = 0x02;
    7dea:       82 e0           ldi     r24, 0x02       ; 2
    7dec:       80 93 b7 0a     sts     0x0AB7, r24
        gluk_regs[GLUK_REG_C] = 0x00;
    7df0:       10 92 b8 0a     sts     0x0AB8, r1
        gluk_regs[GLUK_REG_D] = 0x80;
    7df4:       80 e8           ldi     r24, 0x80       ; 128
    7df6:       80 93 b9 0a     sts     0x0AB9, r24

        //setup

        //read month and day of week
        tmp = rtc_read(6);
    7dfa:       86 e0           ldi     r24, 0x06       ; 6
    7dfc:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
        gluk_regs[GLUK_REG_MONTH] = bcd_to_hex(0x1F&tmp);
    7e00:       28 2f           mov     r18, r24
    7e02:       2f 71           andi    r18, 0x1F       ; 31
}

static UBYTE bcd_to_hex(UBYTE data)
{
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
    7e04:       22 95           swap    r18
    7e06:       2f 70           andi    r18, 0x0F       ; 15
    7e08:       1a e0           ldi     r17, 0x0A       ; 10
    7e0a:       21 9f           mul     r18, r17
    7e0c:       90 01           movw    r18, r0
    7e0e:       11 24           eor     r1, r1
    7e10:       98 2f           mov     r25, r24
    7e12:       9f 70           andi    r25, 0x0F       ; 15
    7e14:       92 0f           add     r25, r18

        //setup

        //read month and day of week
        tmp = rtc_read(6);
        gluk_regs[GLUK_REG_MONTH] = bcd_to_hex(0x1F&tmp);
    7e16:       90 93 b4 0a     sts     0x0AB4, r25
        gluk_regs[GLUK_REG_DAY_WEEK] = tmp>>5;
    7e1a:       82 95           swap    r24
    7e1c:       86 95           lsr     r24
    7e1e:       87 70           andi    r24, 0x07       ; 7
    7e20:       80 93 b2 0a     sts     0x0AB2, r24

        //read year and day of month
        tmp = rtc_read(5);
    7e24:       85 e0           ldi     r24, 0x05       ; 5
    7e26:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
        gluk_regs[GLUK_REG_DAY_MONTH] = bcd_to_hex(0x3F&tmp);
    7e2a:       28 2f           mov     r18, r24
    7e2c:       2f 73           andi    r18, 0x3F       ; 63
}

static UBYTE bcd_to_hex(UBYTE data)
{
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
    7e2e:       22 95           swap    r18
    7e30:       2f 70           andi    r18, 0x0F       ; 15
    7e32:       21 9f           mul     r18, r17
    7e34:       90 01           movw    r18, r0
    7e36:       11 24           eor     r1, r1
    7e38:       98 2f           mov     r25, r24
    7e3a:       9f 70           andi    r25, 0x0F       ; 15
    7e3c:       92 0f           add     r25, r18
        gluk_regs[GLUK_REG_MONTH] = bcd_to_hex(0x1F&tmp);
        gluk_regs[GLUK_REG_DAY_WEEK] = tmp>>5;

        //read year and day of month
        tmp = rtc_read(5);
        gluk_regs[GLUK_REG_DAY_MONTH] = bcd_to_hex(0x3F&tmp);
    7e3e:       90 93 b3 0a     sts     0x0AB3, r25
        gluk_regs[GLUK_REG_YEAR] = tmp>>6;
    7e42:       82 95           swap    r24
    7e44:       86 95           lsr     r24
    7e46:       86 95           lsr     r24
    7e48:       83 70           andi    r24, 0x03       ; 3
    7e4a:       80 93 b5 0a     sts     0x0AB5, r24
        tmp = rtc_read(RTC_YEAR_ADD_REG);
    7e4e:       8f ef           ldi     r24, 0xFF       ; 255
    7e50:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
    7e54:       48 2f           mov     r20, r24
        if ( (tmp&0x03) > gluk_regs[GLUK_REG_YEAR] )
    7e56:       20 91 b5 0a     lds     r18, 0x0AB5
    7e5a:       90 e0           ldi     r25, 0x00       ; 0
    7e5c:       83 70           andi    r24, 0x03       ; 3
    7e5e:       90 70           andi    r25, 0x00       ; 0
    7e60:       30 e0           ldi     r19, 0x00       ; 0
    7e62:       28 17           cp      r18, r24
    7e64:       39 07           cpc     r19, r25
    7e66:       24 f4           brge    .+8             ; 0x7e70 <gluk_init+0x8c>
        {
                //count of year over - correct year
                tmp += 4;
    7e68:       4c 5f           subi    r20, 0xFC       ; 252
                if ( tmp >= 100 ) tmp = 0;
    7e6a:       44 36           cpi     r20, 0x64       ; 100
    7e6c:       08 f0           brcs    .+2             ; 0x7e70 <gluk_init+0x8c>
    7e6e:       40 e0           ldi     r20, 0x00       ; 0
        }
        gluk_regs[GLUK_REG_YEAR] += tmp&0xFC;
    7e70:       80 91 b5 0a     lds     r24, 0x0AB5
    7e74:       4c 7f           andi    r20, 0xFC       ; 252
    7e76:       84 0f           add     r24, r20
    7e78:       80 93 b5 0a     sts     0x0AB5, r24
        rtc_write(RTC_YEAR_ADD_REG,gluk_regs[GLUK_REG_YEAR]); //save year
    7e7c:       60 91 b5 0a     lds     r22, 0x0AB5
    7e80:       8f ef           ldi     r24, 0xFF       ; 255
    7e82:       0e 94 63 3e     call    0x7cc6  ; 0x7cc6 <rtc_write>

        //read time
        gluk_regs[GLUK_REG_HOUR] = bcd_to_hex(0x3F&rtc_read(4)); //TODO 12/24 format
    7e86:       84 e0           ldi     r24, 0x04       ; 4
    7e88:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
    7e8c:       28 2f           mov     r18, r24
    7e8e:       2f 73           andi    r18, 0x3F       ; 63
}

static UBYTE bcd_to_hex(UBYTE data)
{
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
    7e90:       22 95           swap    r18
    7e92:       2f 70           andi    r18, 0x0F       ; 15
    7e94:       1a e0           ldi     r17, 0x0A       ; 10
    7e96:       21 9f           mul     r18, r17
    7e98:       90 01           movw    r18, r0
    7e9a:       11 24           eor     r1, r1
    7e9c:       8f 70           andi    r24, 0x0F       ; 15
    7e9e:       82 0f           add     r24, r18
        }
        gluk_regs[GLUK_REG_YEAR] += tmp&0xFC;
        rtc_write(RTC_YEAR_ADD_REG,gluk_regs[GLUK_REG_YEAR]); //save year

        //read time
        gluk_regs[GLUK_REG_HOUR] = bcd_to_hex(0x3F&rtc_read(4)); //TODO 12/24 format
    7ea0:       80 93 b0 0a     sts     0x0AB0, r24
        gluk_regs[GLUK_REG_MIN] = bcd_to_hex(rtc_read(3));
    7ea4:       83 e0           ldi     r24, 0x03       ; 3
    7ea6:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
}

static UBYTE bcd_to_hex(UBYTE data)
{
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
    7eaa:       28 2f           mov     r18, r24
    7eac:       22 95           swap    r18
    7eae:       2f 70           andi    r18, 0x0F       ; 15
    7eb0:       21 9f           mul     r18, r17
    7eb2:       90 01           movw    r18, r0
    7eb4:       11 24           eor     r1, r1
    7eb6:       8f 70           andi    r24, 0x0F       ; 15
    7eb8:       82 0f           add     r24, r18
        gluk_regs[GLUK_REG_YEAR] += tmp&0xFC;
        rtc_write(RTC_YEAR_ADD_REG,gluk_regs[GLUK_REG_YEAR]); //save year

        //read time
        gluk_regs[GLUK_REG_HOUR] = bcd_to_hex(0x3F&rtc_read(4)); //TODO 12/24 format
        gluk_regs[GLUK_REG_MIN] = bcd_to_hex(rtc_read(3));
    7eba:       80 93 ae 0a     sts     0x0AAE, r24
        gluk_regs[GLUK_REG_SEC] = bcd_to_hex(rtc_read(2));
    7ebe:       82 e0           ldi     r24, 0x02       ; 2
    7ec0:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
}

static UBYTE bcd_to_hex(UBYTE data)
{
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
    7ec4:       28 2f           mov     r18, r24
    7ec6:       22 95           swap    r18
    7ec8:       2f 70           andi    r18, 0x0F       ; 15
    7eca:       21 9f           mul     r18, r17
    7ecc:       90 01           movw    r18, r0
    7ece:       11 24           eor     r1, r1
    7ed0:       8f 70           andi    r24, 0x0F       ; 15
    7ed2:       82 0f           add     r24, r18
        rtc_write(RTC_YEAR_ADD_REG,gluk_regs[GLUK_REG_YEAR]); //save year

        //read time
        gluk_regs[GLUK_REG_HOUR] = bcd_to_hex(0x3F&rtc_read(4)); //TODO 12/24 format
        gluk_regs[GLUK_REG_MIN] = bcd_to_hex(rtc_read(3));
        gluk_regs[GLUK_REG_SEC] = bcd_to_hex(rtc_read(2));
    7ed4:       80 93 ac 0a     sts     0x0AAC, r24
}
    7ed8:       1f 91           pop     r17
    7eda:       08 95           ret

00007edc <gluk_inc>:

void gluk_inc(void)
{
        if ( ++gluk_regs[GLUK_REG_SEC] >= 60 )
    7edc:       80 91 ac 0a     lds     r24, 0x0AAC
    7ee0:       8f 5f           subi    r24, 0xFF       ; 255
    7ee2:       80 93 ac 0a     sts     0x0AAC, r24
    7ee6:       80 91 ac 0a     lds     r24, 0x0AAC
    7eea:       8c 33           cpi     r24, 0x3C       ; 60
    7eec:       08 f4           brcc    .+2             ; 0x7ef0 <gluk_inc+0x14>
    7eee:       5c c0           rjmp    .+184           ; 0x7fa8 <gluk_inc+0xcc>
        {
                gluk_regs[GLUK_REG_SEC] = 0;
    7ef0:       10 92 ac 0a     sts     0x0AAC, r1
                if ( ++gluk_regs[GLUK_REG_MIN] >= 60 )
    7ef4:       80 91 ae 0a     lds     r24, 0x0AAE
    7ef8:       8f 5f           subi    r24, 0xFF       ; 255
    7efa:       80 93 ae 0a     sts     0x0AAE, r24
    7efe:       80 91 ae 0a     lds     r24, 0x0AAE
    7f02:       8c 33           cpi     r24, 0x3C       ; 60
    7f04:       08 f4           brcc    .+2             ; 0x7f08 <gluk_inc+0x2c>
    7f06:       50 c0           rjmp    .+160           ; 0x7fa8 <gluk_inc+0xcc>
                {
                        gluk_regs[GLUK_REG_MIN] = 0;
    7f08:       10 92 ae 0a     sts     0x0AAE, r1
                        if ( ++gluk_regs[GLUK_REG_HOUR] >= 24 )
    7f0c:       80 91 b0 0a     lds     r24, 0x0AB0
    7f10:       8f 5f           subi    r24, 0xFF       ; 255
    7f12:       80 93 b0 0a     sts     0x0AB0, r24
    7f16:       80 91 b0 0a     lds     r24, 0x0AB0
    7f1a:       88 31           cpi     r24, 0x18       ; 24
    7f1c:       08 f4           brcc    .+2             ; 0x7f20 <gluk_inc+0x44>
    7f1e:       44 c0           rjmp    .+136           ; 0x7fa8 <gluk_inc+0xcc>
                        {
                                gluk_regs[GLUK_REG_HOUR] = 0;
    7f20:       10 92 b0 0a     sts     0x0AB0, r1
                                if ( ++gluk_regs[GLUK_REG_DAY_WEEK] > 7  )
    7f24:       80 91 b2 0a     lds     r24, 0x0AB2
    7f28:       8f 5f           subi    r24, 0xFF       ; 255
    7f2a:       80 93 b2 0a     sts     0x0AB2, r24
    7f2e:       80 91 b2 0a     lds     r24, 0x0AB2
    7f32:       88 30           cpi     r24, 0x08       ; 8
    7f34:       18 f0           brcs    .+6             ; 0x7f3c <gluk_inc+0x60>
                                {
                                        gluk_regs[GLUK_REG_DAY_WEEK] = 1;
    7f36:       81 e0           ldi     r24, 0x01       ; 1
    7f38:       80 93 b2 0a     sts     0x0AB2, r24
                                }
                                if ( ++gluk_regs[GLUK_REG_DAY_MONTH] > days_of_months() )
    7f3c:       80 91 b3 0a     lds     r24, 0x0AB3
    7f40:       8f 5f           subi    r24, 0xFF       ; 255
    7f42:       80 93 b3 0a     sts     0x0AB3, r24
    7f46:       20 91 b3 0a     lds     r18, 0x0AB3

static UBYTE days_of_months()
{
        //return number of days in month
        static const UBYTE days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
        UBYTE tmp = gluk_regs[GLUK_REG_MONTH]-1;
    7f4a:       e0 91 b4 0a     lds     r30, 0x0AB4
    7f4e:       e1 50           subi    r30, 0x01       ; 1

        if ( tmp > sizeof(days)-1 ) tmp = 0; //check range
    7f50:       ec 30           cpi     r30, 0x0C       ; 12
    7f52:       08 f0           brcs    .+2             ; 0x7f56 <gluk_inc+0x7a>
    7f54:       e0 e0           ldi     r30, 0x00       ; 0

        tmp = days[tmp];
    7f56:       f0 e0           ldi     r31, 0x00       ; 0
    7f58:       e9 5e           subi    r30, 0xE9       ; 233
    7f5a:       fe 4f           sbci    r31, 0xFE       ; 254
    7f5c:       e0 81           ld      r30, Z

        //check leap-year
        if ( (tmp == 28) && ( ( gluk_regs[GLUK_REG_YEAR]&0x03 ) == 0 ) ) tmp++;
    7f5e:       ec 31           cpi     r30, 0x1C       ; 28
    7f60:       41 f4           brne    .+16            ; 0x7f72 <gluk_inc+0x96>
    7f62:       80 91 b5 0a     lds     r24, 0x0AB5
    7f66:       90 e0           ldi     r25, 0x00       ; 0
    7f68:       83 70           andi    r24, 0x03       ; 3
    7f6a:       90 70           andi    r25, 0x00       ; 0
    7f6c:       89 2b           or      r24, r25
    7f6e:       09 f4           brne    .+2             ; 0x7f72 <gluk_inc+0x96>
    7f70:       ed e1           ldi     r30, 0x1D       ; 29
                                gluk_regs[GLUK_REG_HOUR] = 0;
                                if ( ++gluk_regs[GLUK_REG_DAY_WEEK] > 7  )
                                {
                                        gluk_regs[GLUK_REG_DAY_WEEK] = 1;
                                }
                                if ( ++gluk_regs[GLUK_REG_DAY_MONTH] > days_of_months() )
    7f72:       e2 17           cp      r30, r18
    7f74:       c8 f4           brcc    .+50            ; 0x7fa8 <gluk_inc+0xcc>
                                {
                                        gluk_regs[GLUK_REG_DAY_MONTH] = 1;
    7f76:       91 e0           ldi     r25, 0x01       ; 1
    7f78:       90 93 b3 0a     sts     0x0AB3, r25
                                        if ( ++gluk_regs[GLUK_REG_MONTH] > 12 )
    7f7c:       80 91 b4 0a     lds     r24, 0x0AB4
    7f80:       8f 5f           subi    r24, 0xFF       ; 255
    7f82:       80 93 b4 0a     sts     0x0AB4, r24
    7f86:       80 91 b4 0a     lds     r24, 0x0AB4
    7f8a:       8d 30           cpi     r24, 0x0D       ; 13
    7f8c:       68 f0           brcs    .+26            ; 0x7fa8 <gluk_inc+0xcc>
                                        {
                                                gluk_regs[GLUK_REG_MONTH] = 1;
    7f8e:       90 93 b4 0a     sts     0x0AB4, r25
                                                if( ++gluk_regs[GLUK_REG_YEAR] >= 100 )
    7f92:       80 91 b5 0a     lds     r24, 0x0AB5
    7f96:       8f 5f           subi    r24, 0xFF       ; 255
    7f98:       80 93 b5 0a     sts     0x0AB5, r24
    7f9c:       80 91 b5 0a     lds     r24, 0x0AB5
    7fa0:       84 36           cpi     r24, 0x64       ; 100
    7fa2:       10 f0           brcs    .+4             ; 0x7fa8 <gluk_inc+0xcc>
                                                {
                                                        gluk_regs[GLUK_REG_YEAR] = 0;
    7fa4:       10 92 b5 0a     sts     0x0AB5, r1
                        }
                }
        }

        //set update flag
        gluk_regs[GLUK_REG_C] |= GLUK_C_UPDATE_FLAG;
    7fa8:       80 91 b8 0a     lds     r24, 0x0AB8
    7fac:       80 61           ori     r24, 0x10       ; 16
    7fae:       80 93 b8 0a     sts     0x0AB8, r24
//      log_int_rtc[6] = '0' + gluk_regs[GLUK_REG_SEC]/10;
//      log_int_rtc[7] = '0' + gluk_regs[GLUK_REG_SEC]%10;
//      to_log(log_int_rtc);
//}
//#endif
}
    7fb2:       08 95           ret

00007fb4 <gluk_set_reg>:
                return rtc_read( (index&0x3F)+2 );
        }
}

void gluk_set_reg(UBYTE index, UBYTE data)
{
    7fb4:       1f 93           push    r17
    7fb6:       28 2f           mov     r18, r24
        if( index < sizeof(gluk_regs)/sizeof(gluk_regs[0]) )
    7fb8:       8e 30           cpi     r24, 0x0E       ; 14
    7fba:       08 f0           brcs    .+2             ; 0x7fbe <gluk_set_reg+0xa>
    7fbc:       63 c0           rjmp    .+198           ; 0x8084 <gluk_set_reg+0xd0>
        {
                if ( index<10 )
    7fbe:       8a 30           cpi     r24, 0x0A       ; 10
    7fc0:       08 f0           brcs    .+2             ; 0x7fc4 <gluk_set_reg+0x10>
    7fc2:       6b c0           rjmp    .+214           ; 0x809a <gluk_set_reg+0xe6>
                {
                        //write to clock registers
                        if ( (gluk_regs[GLUK_REG_B]&GLUK_B_DATA_MODE) == 0 )
    7fc4:       80 91 b7 0a     lds     r24, 0x0AB7
    7fc8:       82 fd           sbrc    r24, 2
    7fca:       09 c0           rjmp    .+18            ; 0x7fde <gluk_set_reg+0x2a>
}

static UBYTE bcd_to_hex(UBYTE data)
{
        //convert BCD to HEX
        return  (data>>4)*10 + (data&0x0F);
    7fcc:       86 2f           mov     r24, r22
    7fce:       82 95           swap    r24
    7fd0:       8f 70           andi    r24, 0x0F       ; 15
    7fd2:       9a e0           ldi     r25, 0x0A       ; 10
    7fd4:       89 9f           mul     r24, r25
    7fd6:       80 2d           mov     r24, r0
    7fd8:       11 24           eor     r1, r1
    7fda:       6f 70           andi    r22, 0x0F       ; 15
    7fdc:       68 0f           add     r22, r24
                        if ( (gluk_regs[GLUK_REG_B]&GLUK_B_DATA_MODE) == 0 )
                        {
                                //array of registers must be in Hex, but data in BCD if HEX-bit not set in reg B
                                data = bcd_to_hex(data);
                        }
                        gluk_regs[index] = data;
    7fde:       e2 2f           mov     r30, r18
    7fe0:       f0 e0           ldi     r31, 0x00       ; 0
    7fe2:       e4 55           subi    r30, 0x54       ; 84
    7fe4:       f5 4f           sbci    r31, 0xF5       ; 245
    7fe6:       60 83           st      Z, r22

                        //write to nvram if need
                        switch( index )
    7fe8:       26 30           cpi     r18, 0x06       ; 6
    7fea:       39 f1           breq    .+78            ; 0x803a <gluk_set_reg+0x86>
    7fec:       27 30           cpi     r18, 0x07       ; 7
    7fee:       38 f4           brcc    .+14            ; 0x7ffe <gluk_set_reg+0x4a>
    7ff0:       22 30           cpi     r18, 0x02       ; 2
    7ff2:       a1 f0           breq    .+40            ; 0x801c <gluk_set_reg+0x68>
    7ff4:       24 30           cpi     r18, 0x04       ; 4
    7ff6:       c9 f0           breq    .+50            ; 0x802a <gluk_set_reg+0x76>
    7ff8:       22 23           and     r18, r18
    7ffa:       49 f0           breq    .+18            ; 0x800e <gluk_set_reg+0x5a>
    7ffc:       4e c0           rjmp    .+156           ; 0x809a <gluk_set_reg+0xe6>
    7ffe:       28 30           cpi     r18, 0x08       ; 8
    8000:       e1 f0           breq    .+56            ; 0x803a <gluk_set_reg+0x86>
    8002:       28 30           cpi     r18, 0x08       ; 8
    8004:       80 f1           brcs    .+96            ; 0x8066 <gluk_set_reg+0xb2>
    8006:       29 30           cpi     r18, 0x09       ; 9
    8008:       09 f0           breq    .+2             ; 0x800c <gluk_set_reg+0x58>
    800a:       47 c0           rjmp    .+142           ; 0x809a <gluk_set_reg+0xe6>
    800c:       27 c0           rjmp    .+78            ; 0x805c <gluk_set_reg+0xa8>
                        {
                                case GLUK_REG_SEC:
                                        rtc_write(2, hex_to_bcd(gluk_regs[GLUK_REG_SEC]));
    800e:       80 91 ac 0a     lds     r24, 0x0AAC
    8012:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    8016:       68 2f           mov     r22, r24
    8018:       82 e0           ldi     r24, 0x02       ; 2
    801a:       3d c0           rjmp    .+122           ; 0x8096 <gluk_set_reg+0xe2>
                                        break;
                                case GLUK_REG_MIN:
                                        rtc_write(3, hex_to_bcd(gluk_regs[GLUK_REG_MIN]));
    801c:       80 91 ae 0a     lds     r24, 0x0AAE
    8020:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    8024:       68 2f           mov     r22, r24
    8026:       83 e0           ldi     r24, 0x03       ; 3
    8028:       36 c0           rjmp    .+108           ; 0x8096 <gluk_set_reg+0xe2>
                                        break;
                                case GLUK_REG_HOUR:
                                        rtc_write(4, 0x3F&hex_to_bcd(gluk_regs[GLUK_REG_HOUR]));
    802a:       80 91 b0 0a     lds     r24, 0x0AB0
    802e:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    8032:       68 2f           mov     r22, r24
    8034:       6f 73           andi    r22, 0x3F       ; 63
    8036:       84 e0           ldi     r24, 0x04       ; 4
    8038:       2e c0           rjmp    .+92            ; 0x8096 <gluk_set_reg+0xe2>
                                        break;
                                case GLUK_REG_MONTH:
                                case GLUK_REG_DAY_WEEK:
                                        rtc_write(6, (hex_to_bcd(gluk_regs[GLUK_REG_DAY_WEEK])<<5)+(0x1F&hex_to_bcd(gluk_regs[GLUK_REG_MONTH])));
    803a:       80 91 b2 0a     lds     r24, 0x0AB2
    803e:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    8042:       18 2f           mov     r17, r24
    8044:       80 91 b4 0a     lds     r24, 0x0AB4
    8048:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    804c:       68 2f           mov     r22, r24
    804e:       6f 71           andi    r22, 0x1F       ; 31
    8050:       12 95           swap    r17
    8052:       11 0f           add     r17, r17
    8054:       10 7e           andi    r17, 0xE0       ; 224
    8056:       61 0f           add     r22, r17
    8058:       86 e0           ldi     r24, 0x06       ; 6
    805a:       1d c0           rjmp    .+58            ; 0x8096 <gluk_set_reg+0xe2>
                                        break;
                                case GLUK_REG_YEAR:
                                        rtc_write(RTC_YEAR_ADD_REG, gluk_regs[GLUK_REG_YEAR]);
    805c:       60 91 b5 0a     lds     r22, 0x0AB5
    8060:       8f ef           ldi     r24, 0xFF       ; 255
    8062:       0e 94 63 3e     call    0x7cc6  ; 0x7cc6 <rtc_write>
                                case GLUK_REG_DAY_MONTH:
                                        rtc_write(5, (gluk_regs[GLUK_REG_YEAR]<<6)+(0x3F&hex_to_bcd(gluk_regs[GLUK_REG_DAY_MONTH])));
    8066:       10 91 b5 0a     lds     r17, 0x0AB5
    806a:       80 91 b3 0a     lds     r24, 0x0AB3
    806e:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    8072:       68 2f           mov     r22, r24
    8074:       6f 73           andi    r22, 0x3F       ; 63
    8076:       12 95           swap    r17
    8078:       11 0f           add     r17, r17
    807a:       11 0f           add     r17, r17
    807c:       10 7c           andi    r17, 0xC0       ; 192
    807e:       61 0f           add     r22, r17
    8080:       85 e0           ldi     r24, 0x05       ; 5
    8082:       09 c0           rjmp    .+18            ; 0x8096 <gluk_set_reg+0xe2>
                        }
                }
        }
        else
        {
                if ( index >= 0xF0 )
    8084:       80 3f           cpi     r24, 0xF0       ; 240
    8086:       20 f0           brcs    .+8             ; 0x8090 <gluk_set_reg+0xdc>
                {
                        //set version data type
                        SetVersionType( data );
    8088:       86 2f           mov     r24, r22
    808a:       0e 94 29 41     call    0x8252  ; 0x8252 <SetVersionType>
    808e:       05 c0           rjmp    .+10            ; 0x809a <gluk_set_reg+0xe6>
                else
                {
                        //write to nvram
                        //- on PCF8583 nvram started from #10
                        //- on 512vi1[DS12887] nvram started from #0E
                        rtc_write( (index&0x3F)+2, data);
    8090:       2f 73           andi    r18, 0x3F       ; 63
    8092:       82 2f           mov     r24, r18
    8094:       8e 5f           subi    r24, 0xFE       ; 254
    8096:       0e 94 63 3e     call    0x7cc6  ; 0x7cc6 <rtc_write>
                }
        }
}
    809a:       1f 91           pop     r17
    809c:       08 95           ret

0000809e <gluk_get_reg>:
//#endif
}

UBYTE gluk_get_reg(UBYTE index)
{
        if( index < sizeof(gluk_regs)/sizeof(gluk_regs[0]) )
    809e:       8e 30           cpi     r24, 0x0E       ; 14
    80a0:       b8 f4           brcc    .+46            ; 0x80d0 <gluk_get_reg+0x32>
        {
                //clock registers from array
                UBYTE tmp = gluk_regs[index];
    80a2:       e8 2f           mov     r30, r24
    80a4:       f0 e0           ldi     r31, 0x00       ; 0
    80a6:       e4 55           subi    r30, 0x54       ; 84
    80a8:       f5 4f           sbci    r31, 0xF5       ; 245
    80aa:       e0 81           ld      r30, Z
                if ( ( index<10 ) && ( (gluk_regs[GLUK_REG_B]&GLUK_B_DATA_MODE) == 0 ) )
    80ac:       8a 30           cpi     r24, 0x0A       ; 10
    80ae:       40 f4           brcc    .+16            ; 0x80c0 <gluk_get_reg+0x22>
    80b0:       80 91 b7 0a     lds     r24, 0x0AB7
    80b4:       82 fd           sbrc    r24, 2
    80b6:       17 c0           rjmp    .+46            ; 0x80e6 <gluk_get_reg+0x48>
                {
                        //clock registers mast be in BCD if HEX-bit not set in reg B
                        tmp = hex_to_bcd(tmp);
    80b8:       8e 2f           mov     r24, r30
    80ba:       0e 94 56 3e     call    0x7cac  ; 0x7cac <hex_to_bcd>
    80be:       12 c0           rjmp    .+36            ; 0x80e4 <gluk_get_reg+0x46>
                }

                if ( index == GLUK_REG_C )
    80c0:       8c 30           cpi     r24, 0x0C       ; 12
    80c2:       89 f4           brne    .+34            ; 0x80e6 <gluk_get_reg+0x48>
                {
                        //clear update flag
                        gluk_regs[GLUK_REG_C] &= ~GLUK_C_UPDATE_FLAG;
    80c4:       80 91 b8 0a     lds     r24, 0x0AB8
    80c8:       8f 7e           andi    r24, 0xEF       ; 239
    80ca:       80 93 b8 0a     sts     0x0AB8, r24
    80ce:       0b c0           rjmp    .+22            ; 0x80e6 <gluk_get_reg+0x48>

                return tmp;
        }
        else
        {
                if ( index >= 0xF0 )
    80d0:       80 3f           cpi     r24, 0xF0       ; 240
    80d2:       20 f0           brcs    .+8             ; 0x80dc <gluk_get_reg+0x3e>
                {
                        //read version
                        return GetVersionByte( index&0x0F );
    80d4:       8f 70           andi    r24, 0x0F       ; 15
    80d6:       0e 94 0c 41     call    0x8218  ; 0x8218 <GetVersionByte>
    80da:       04 c0           rjmp    .+8             ; 0x80e4 <gluk_get_reg+0x46>
                }

                //other from nvram
                //- on PCF8583 nvram started from #10
                //- on 512vi1[DS12887] nvram started from #0E
                return rtc_read( (index&0x3F)+2 );
    80dc:       8f 73           andi    r24, 0x3F       ; 63
    80de:       8e 5f           subi    r24, 0xFE       ; 254
    80e0:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
    80e4:       e8 2f           mov     r30, r24
        }
}
    80e6:       8e 2f           mov     r24, r30
    80e8:       08 95           ret

000080ea <rtc_init>:

void rtc_init(void)
{
        //SCL frequency = CPU clk/ ( 16 + 2* (TWBR) * 4^(TWPS) )
        // 11052000 / (16 + 2*48 ) = 98678,5Hz (100000Hz recommended for PCF8583)
        TWBR = 48;
    80ea:       80 e3           ldi     r24, 0x30       ; 48
    80ec:       80 93 70 00     sts     0x0070, r24
        TWSR = 0;
    80f0:       10 92 71 00     sts     0x0071, r1

        //reset RTC
        //write 0 to control/status register [0] on PCF8583
        rtc_write(0, 0);
    80f4:       80 e0           ldi     r24, 0x00       ; 0
    80f6:       60 e0           ldi     r22, 0x00       ; 0
    80f8:       0e 94 63 3e     call    0x7cc6  ; 0x7cc6 <rtc_write>

        //set Gluk clock registers
        gluk_init();
    80fc:       0e 94 f2 3e     call    0x7de4  ; 0x7de4 <gluk_init>
        if ( gluk_regs[GLUK_REG_SEC] == 0 ) gluk_init();
    8100:       80 91 ac 0a     lds     r24, 0x0AAC
    8104:       88 23           and     r24, r24
    8106:       11 f4           brne    .+4             ; 0x810c <rtc_init+0x22>
    8108:       0e 94 f2 3e     call    0x7de4  ; 0x7de4 <gluk_init>

        //restore mode register from NVRAM
        modes_register = rtc_read(RTC_COMMON_MODE_REG);
    810c:       8e ef           ldi     r24, 0xFE       ; 254
    810e:       0e 94 9b 3e     call    0x7d36  ; 0x7d36 <rtc_read>
    8112:       80 93 96 02     sts     0x0296, r24
        //set modes on fpga
        zx_spi_send(SPI_CONFIG_REG, modes_register&MODE_VGA, 0);
    8116:       60 91 96 02     lds     r22, 0x0296
    811a:       61 70           andi    r22, 0x01       ; 1
    811c:       80 e8           ldi     r24, 0x80       ; 128
    811e:       40 e0           ldi     r20, 0x00       ; 0
    8120:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
}
    8124:       08 95           ret

00008126 <wait_for_atx_power>:

volatile UWORD atx_counter;

void wait_for_atx_power(void)
{
        UBYTE j = MCUCSR;
    8126:       84 b7           in      r24, 0x34       ; 52

        //clear status register
        MCUCSR = 0;
    8128:       14 be           out     0x34, r1        ; 52
        log_ps2keyboard_parse[3] = ((j & 0x0F) <= 9 )?'0'+(j & 0x0F):'A'+(j & 0x0F)-10;
        to_log(log_ps2keyboard_parse);
#endif

        //check power
        if ( (nCONFIG_PIN & (1<<nCONFIG)) == 0 )
    812a:       00 99           sbic    0x00, 0 ; 0
    812c:       18 c0           rjmp    .+48            ; 0x815e <wait_for_atx_power+0x38>
        {
                //if not external reset
                //then wait for atx power on button (SOFTRESET)
                if ( !(j & ((1<<JTRF)|(1<<WDRF)|(1<<BORF)|(1<<EXTRF))) ||
    812e:       28 2f           mov     r18, r24
    8130:       30 e0           ldi     r19, 0x00       ; 0
    8132:       c9 01           movw    r24, r18
    8134:       8e 71           andi    r24, 0x1E       ; 30
    8136:       90 70           andi    r25, 0x00       ; 0
    8138:       89 2b           or      r24, r25
    813a:       11 f0           breq    .+4             ; 0x8140 <wait_for_atx_power+0x1a>
    813c:       20 ff           sbrs    r18, 0
    813e:       02 c0           rjmp    .+4             ; 0x8144 <wait_for_atx_power+0x1e>
                         (j & (1<<PORF)) )
                while( SOFTRES_PIN&(1<<SOFTRES) );
    8140:       9f 99           sbic    0x13, 7 ; 19
    8142:       fe cf           rjmp    .-4             ; 0x8140 <wait_for_atx_power+0x1a>

                //switch on ATX power
                ATXPWRON_PORT |= (1<<ATXPWRON);
    8144:       80 91 62 00     lds     r24, 0x0062
    8148:       88 60           ori     r24, 0x08       ; 8
    814a:       80 93 62 00     sts     0x0062, r24
    814e:       22 e3           ldi     r18, 0x32       ; 50
    8150:       40 e0           ldi     r20, 0x00       ; 0
    8152:       58 ed           ldi     r21, 0xD8       ; 216
    8154:       ca 01           movw    r24, r20
    8156:       01 97           sbiw    r24, 0x01       ; 1
    8158:       f1 f7           brne    .-4             ; 0x8156 <wait_for_atx_power+0x30>

                //1 sec delay
                j=50;
                do _delay_ms(20); while(--j);
    815a:       21 50           subi    r18, 0x01       ; 1
    815c:       d9 f7           brne    .-10            ; 0x8154 <wait_for_atx_power+0x2e>
        }

        //init port F
        PORTF = 0b11111000;
    815e:       88 ef           ldi     r24, 0xF8       ; 248
    8160:       80 93 62 00     sts     0x0062, r24
        //clear counter
        atx_counter = 0;
    8164:       10 92 bb 0a     sts     0x0ABB, r1
    8168:       10 92 ba 0a     sts     0x0ABA, r1
}
    816c:       08 95           ret

0000816e <atx_power_task>:
void atx_power_task(void)
{
        static UWORD last_count = 0;
        UBYTE j = 50;

        if ( atx_counter > 1700 )
    816e:       80 91 ba 0a     lds     r24, 0x0ABA
    8172:       90 91 bb 0a     lds     r25, 0x0ABB
    8176:       85 5a           subi    r24, 0xA5       ; 165
    8178:       96 40           sbci    r25, 0x06       ; 6
    817a:       68 f0           brcs    .+26            ; 0x8196 <atx_power_task+0x28>
        {


                if ( ( SOFTRES_PIN & (1<<SOFTRES) ) == 0 )
    817c:       9f 99           sbic    0x13, 7 ; 19
    817e:       06 c0           rjmp    .+12            ; 0x818c <atx_power_task+0x1e>
                {
                        //atx power off button pressed (~5 sec)

                        //switch off atx power
                        ATXPWRON_PORT &= ~(1<<ATXPWRON);
    8180:       80 91 62 00     lds     r24, 0x0062
    8184:       87 7f           andi    r24, 0xF7       ; 247
    8186:       80 93 62 00     sts     0x0062, r24
    818a:       05 c0           rjmp    .+10            ; 0x8196 <atx_power_task+0x28>
                }
                else
                {
                        //enable hard reset
                        flags_register |= FLAG_HARD_RESET;
    818c:       80 91 9b 02     lds     r24, 0x029B
    8190:       80 68           ori     r24, 0x80       ; 128
    8192:       80 93 9b 02     sts     0x029B, r24
                }
        }

        if ( ( last_count > 0 ) && ( atx_counter == 0 ) )
    8196:       80 91 54 01     lds     r24, 0x0154
    819a:       90 91 55 01     lds     r25, 0x0155
    819e:       89 2b           or      r24, r25
    81a0:       59 f0           breq    .+22            ; 0x81b8 <atx_power_task+0x4a>
    81a2:       80 91 ba 0a     lds     r24, 0x0ABA
    81a6:       90 91 bb 0a     lds     r25, 0x0ABB
    81aa:       89 2b           or      r24, r25
    81ac:       29 f4           brne    .+10            ; 0x81b8 <atx_power_task+0x4a>
        {
                //soft reset (reset Z80 only)
                zx_spi_send(SPI_RST_REG, 0, 0x7F);
    81ae:       80 e3           ldi     r24, 0x30       ; 48
    81b0:       60 e0           ldi     r22, 0x00       ; 0
    81b2:       4f e7           ldi     r20, 0x7F       ; 127
    81b4:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
        }
        last_count = atx_counter;
    81b8:       80 91 ba 0a     lds     r24, 0x0ABA
    81bc:       90 91 bb 0a     lds     r25, 0x0ABB
    81c0:       90 93 55 01     sts     0x0155, r25
    81c4:       80 93 54 01     sts     0x0154, r24

        if ( ( nCONFIG_PIN & (1<<nCONFIG) ) == 0 )
    81c8:       00 99           sbic    0x00, 0 ; 0
    81ca:       16 c0           rjmp    .+44            ; 0x81f8 <atx_power_task+0x8a>
        {
                //power down

                //power led off (timer output disconnect from led pin)
                TCCR2 &= ~((1<<COM20)|(1<<COM21));
    81cc:       85 b5           in      r24, 0x25       ; 37
    81ce:       8f 7c           andi    r24, 0xCF       ; 207
    81d0:       85 bd           out     0x25, r24       ; 37

                //wait for button released
                while (  ( SOFTRES_PIN & (1<<SOFTRES) ) == 0 );
    81d2:       9f 9b           sbis    0x13, 7 ; 19
    81d4:       fe cf           rjmp    .-4             ; 0x81d2 <atx_power_task+0x64>
    81d6:       22 e3           ldi     r18, 0x32       ; 50
    81d8:       40 e0           ldi     r20, 0x00       ; 0
    81da:       58 ed           ldi     r21, 0xD8       ; 216
    81dc:       ca 01           movw    r24, r20
    81de:       01 97           sbiw    r24, 0x01       ; 1
    81e0:       f1 f7           brne    .-4             ; 0x81de <atx_power_task+0x70>

                //1 sec delay
                do _delay_ms(20); while(--j);
    81e2:       21 50           subi    r18, 0x01       ; 1
    81e4:       d9 f7           brne    .-10            ; 0x81dc <atx_power_task+0x6e>

                last_count = 0;
    81e6:       10 92 55 01     sts     0x0155, r1
    81ea:       10 92 54 01     sts     0x0154, r1

                //enable hard reset
                flags_register |= FLAG_HARD_RESET;
    81ee:       80 91 9b 02     lds     r24, 0x029B
    81f2:       80 68           ori     r24, 0x80       ; 128
    81f4:       80 93 9b 02     sts     0x029B, r24
    81f8:       08 95           ret

000081fa <joystick_task>:
#undef LOGENABLE

void joystick_task(void)
{
        static UBYTE joy_state = 0;
        UBYTE temp = (~JOYSTICK_PIN) & JOYSTICK_MASK;
    81fa:       60 91 63 00     lds     r22, 0x0063
    81fe:       60 95           com     r22
    8200:       6f 71           andi    r22, 0x1F       ; 31

        if ( joy_state ^ temp )
    8202:       80 91 56 01     lds     r24, 0x0156
    8206:       86 17           cp      r24, r22
    8208:       31 f0           breq    .+12            ; 0x8216 <joystick_task+0x1c>
        {
                //change state of joystick pins
                joy_state = temp;
    820a:       60 93 56 01     sts     0x0156, r22

                //send to port
                zx_spi_send(SPI_KEMPSTON_JOYSTICK, joy_state, 0x7F);
    820e:       83 e2           ldi     r24, 0x23       ; 35
    8210:       4f e7           ldi     r20, 0x7F       ; 127
    8212:       0e 94 cb 34     call    0x6996  ; 0x6996 <zx_spi_send>
    8216:       08 95           ret

00008218 <GetVersionByte>:

//bootloader version string pointer [far address of PROGMEM]
const ULONG bootVersionAddr = 0x1FFF0;

UBYTE GetVersionByte(UBYTE index)
{
    8218:       98 2f           mov     r25, r24
        if ( index < 0x10 )
    821a:       80 31           cpi     r24, 0x10       ; 16
    821c:       10 f0           brcs    .+4             ; 0x8222 <GetVersionByte+0xa>
    821e:       8f ef           ldi     r24, 0xFF       ; 255
    8220:       08 95           ret
        {
                if ( flags_register & FLAG_VERSION_TYPE )
    8222:       80 91 9b 02     lds     r24, 0x029B
    8226:       29 2f           mov     r18, r25
    8228:       30 e0           ldi     r19, 0x00       ; 0
    822a:       40 e0           ldi     r20, 0x00       ; 0
    822c:       50 e0           ldi     r21, 0x00       ; 0
    822e:       85 ff           sbrs    r24, 5
    8230:       08 c0           rjmp    .+16            ; 0x8242 <GetVersionByte+0x2a>
                {
                        //bootloader version
                        return (UBYTE)pgm_read_byte_far(bootVersionAddr+(ULONG)index);
    8232:       20 51           subi    r18, 0x10       ; 16
    8234:       30 40           sbci    r19, 0x00       ; 0
    8236:       4e 4f           sbci    r20, 0xFE       ; 254
    8238:       5f 4f           sbci    r21, 0xFF       ; 255
    823a:       4b bf           out     0x3b, r20       ; 59
    823c:       f9 01           movw    r30, r18
    823e:       87 91           elpm    r24, Z+
    8240:       08 95           ret
                }
                else
                {
                        //base configuration version
                        return (UBYTE)pgm_read_byte_far(baseVersionAddr+(ULONG)index);
    8242:       20 51           subi    r18, 0x10       ; 16
    8244:       30 42           sbci    r19, 0x20       ; 32
    8246:       4e 4f           sbci    r20, 0xFE       ; 254
    8248:       5f 4f           sbci    r21, 0xFF       ; 255
    824a:       4b bf           out     0x3b, r20       ; 59
    824c:       f9 01           movw    r30, r18
    824e:       87 91           elpm    r24, Z+
                }
        }
        return (UBYTE)0xFF;
}
    8250:       08 95           ret

00008252 <SetVersionType>:

void SetVersionType(UBYTE type)
{
        switch(type)
    8252:       88 23           and     r24, r24
    8254:       19 f0           breq    .+6             ; 0x825c <SetVersionType+0xa>
    8256:       81 30           cpi     r24, 0x01       ; 1
    8258:       61 f4           brne    .+24            ; 0x8272 <SetVersionType+0x20>
    825a:       06 c0           rjmp    .+12            ; 0x8268 <SetVersionType+0x16>
        {
                case 0:
                        //base configuration
                        flags_register &= ~FLAG_VERSION_TYPE;
    825c:       80 91 9b 02     lds     r24, 0x029B
    8260:       8f 7d           andi    r24, 0xDF       ; 223
    8262:       80 93 9b 02     sts     0x029B, r24
    8266:       08 95           ret
                        break;

                case 1:
                        //bootloader
                        flags_register |= FLAG_VERSION_TYPE;
    8268:       80 91 9b 02     lds     r24, 0x029B
    826c:       80 62           ori     r24, 0x20       ; 32
    826e:       80 93 9b 02     sts     0x029B, r24
    8272:       08 95           ret

00008274 <tape_task>:
#include "main.h"
#include "zx.h"
#include "tape.h"

void tape_task(void)
{
    8274:       1f 93           push    r17
        UBYTE temp = ( TAPEIN_PIN & (1<<TAPEIN) )? FLAG_LAST_TAPE_VALUE:0;
    8276:       84 99           sbic    0x10, 4 ; 16
    8278:       02 c0           rjmp    .+4             ; 0x827e <tape_task+0xa>
    827a:       10 e0           ldi     r17, 0x00       ; 0
    827c:       01 c0           rjmp    .+2             ; 0x8280 <tape_task+0xc>
    827e:       10 e4           ldi     r17, 0x40       ; 64
        if ( (flags_register&FLAG_LAST_TAPE_VALUE)^temp )
    8280:       80 91 9b 02     lds     r24, 0x029B
    8284:       90 e0           ldi     r25, 0x00       ; 0
    8286:       80 74           andi    r24, 0x40       ; 64
    8288:       90 70           andi    r25, 0x00       ; 0
    828a:       21 2f           mov     r18, r17
    828c:       30 e0           ldi     r19, 0x00       ; 0
    828e:       82 17           cp      r24, r18
    8290:       93 07           cpc     r25, r19
    8292:       91 f0           breq    .+36            ; 0x82b8 <tape_task+0x44>
        {
                zx_set_config( (temp)?SPI_TAPE_FLAG:0 );
    8294:       11 23           and     r17, r17
    8296:       11 f4           brne    .+4             ; 0x829c <tape_task+0x28>
    8298:       80 e0           ldi     r24, 0x00       ; 0
    829a:       01 c0           rjmp    .+2             ; 0x829e <tape_task+0x2a>
    829c:       84 e0           ldi     r24, 0x04       ; 4
    829e:       0e 94 e5 34     call    0x69ca  ; 0x69ca <zx_set_config>
                if ( temp )
    82a2:       11 23           and     r17, r17
    82a4:       21 f0           breq    .+8             ; 0x82ae <tape_task+0x3a>
                {
                        flags_register |= FLAG_LAST_TAPE_VALUE;
    82a6:       80 91 9b 02     lds     r24, 0x029B
    82aa:       80 64           ori     r24, 0x40       ; 64
    82ac:       03 c0           rjmp    .+6             ; 0x82b4 <tape_task+0x40>
                }
                else
                {
                        flags_register &= ~FLAG_LAST_TAPE_VALUE;
    82ae:       80 91 9b 02     lds     r24, 0x029B
    82b2:       8f 7b           andi    r24, 0xBF       ; 191
    82b4:       80 93 9b 02     sts     0x029B, r24
                }
        }
}
    82b8:       1f 91           pop     r17
    82ba:       08 95           ret

000082bc <kbmap_init>:
#undef LOGENABLE

void kbmap_init(void)
{
        //set pointers
        kbmap = dbuf;
    82bc:       8c e9           ldi     r24, 0x9C       ; 156
    82be:       92 e0           ldi     r25, 0x02       ; 2
    82c0:       90 93 bd 0a     sts     0x0ABD, r25
    82c4:       80 93 bc 0a     sts     0x0ABC, r24
        kbmap_E0 = dbuf + sizeof(default_kbmap);
    82c8:       8c e9           ldi     r24, 0x9C       ; 156
    82ca:       93 e0           ldi     r25, 0x03       ; 3
    82cc:       90 93 bf 0a     sts     0x0ABF, r25
    82d0:       80 93 be 0a     sts     0x0ABE, r24

#ifdef LOGENABLE
        to_log("kbmap_init start\r\n");
#endif
        //wait for eeprom
        eeprom_busy_wait();
    82d4:       e1 99           sbic    0x1c, 1 ; 28
    82d6:       fe cf           rjmp    .-4             ; 0x82d4 <kbmap_init+0x18>
        to_log(log_kb);
        }
#endif

        //read signature from eeprom
        eeprom_read_block(dbuf, saved_kbmap, 2);
    82d8:       8c e9           ldi     r24, 0x9C       ; 156
    82da:       92 e0           ldi     r25, 0x02       ; 2
    82dc:       60 e0           ldi     r22, 0x00       ; 0
    82de:       70 e0           ldi     r23, 0x00       ; 0
    82e0:       42 e0           ldi     r20, 0x02       ; 2
    82e2:       50 e0           ldi     r21, 0x00       ; 0
    82e4:       0e 94 ee 41     call    0x83dc  ; 0x83dc <__eerd_block_m128>

        //check signature
        if ( (dbuf[0]=='K') && (dbuf[1]=='B') )
    82e8:       80 91 9c 02     lds     r24, 0x029C
    82ec:       8b 34           cpi     r24, 0x4B       ; 75
    82ee:       79 f4           brne    .+30            ; 0x830e <kbmap_init+0x52>
    82f0:       80 91 9d 02     lds     r24, 0x029D
    82f4:       82 34           cpi     r24, 0x42       ; 66
    82f6:       59 f4           brne    .+22            ; 0x830e <kbmap_init+0x52>
        {
                //read from eeprom
                eeprom_read_block(kbmap, saved_kbmap+2, sizeof(saved_kbmap)-2);
    82f8:       80 91 bc 0a     lds     r24, 0x0ABC
    82fc:       90 91 bd 0a     lds     r25, 0x0ABD
    8300:       62 e0           ldi     r22, 0x02       ; 2
    8302:       70 e0           ldi     r23, 0x00       ; 0
    8304:       40 e4           ldi     r20, 0x40       ; 64
    8306:       51 e0           ldi     r21, 0x01       ; 1
    8308:       0e 94 ee 41     call    0x83dc  ; 0x83dc <__eerd_block_m128>
    830c:       08 95           ret
#endif
        }
        else
        {
                //set default
                memcpy_P(kbmap, default_kbmap, sizeof(default_kbmap));
    830e:       80 91 bc 0a     lds     r24, 0x0ABC
    8312:       90 91 bd 0a     lds     r25, 0x0ABD
    8316:       6c e8           ldi     r22, 0x8C       ; 140
    8318:       70 e0           ldi     r23, 0x00       ; 0
    831a:       40 e0           ldi     r20, 0x00       ; 0
    831c:       51 e0           ldi     r21, 0x01       ; 1
    831e:       0e 94 e5 41     call    0x83ca  ; 0x83ca <memcpy_P>
                memcpy_P(kbmap_E0, default_kbmap_E0, sizeof(default_kbmap_E0));
    8322:       80 91 be 0a     lds     r24, 0x0ABE
    8326:       90 91 bf 0a     lds     r25, 0x0ABF
    832a:       6c e8           ldi     r22, 0x8C       ; 140
    832c:       71 e0           ldi     r23, 0x01       ; 1
    832e:       40 e4           ldi     r20, 0x40       ; 64
    8330:       50 e0           ldi     r21, 0x00       ; 0
    8332:       0e 94 e5 41     call    0x83ca  ; 0x83ca <memcpy_P>
    8336:       08 95           ret

00008338 <__udivmodqi4>:
    8338:       99 1b           sub     r25, r25
    833a:       79 e0           ldi     r23, 0x09       ; 9
    833c:       04 c0           rjmp    .+8             ; 0x8346 <__udivmodqi4_ep>

0000833e <__udivmodqi4_loop>:
    833e:       99 1f           adc     r25, r25
    8340:       96 17           cp      r25, r22
    8342:       08 f0           brcs    .+2             ; 0x8346 <__udivmodqi4_ep>
    8344:       96 1b           sub     r25, r22

00008346 <__udivmodqi4_ep>:
    8346:       88 1f           adc     r24, r24
    8348:       7a 95           dec     r23
    834a:       c9 f7           brne    .-14            ; 0x833e <__udivmodqi4_loop>
    834c:       80 95           com     r24
    834e:       08 95           ret

00008350 <__udivmodsi4>:
    8350:       a1 e2           ldi     r26, 0x21       ; 33
    8352:       1a 2e           mov     r1, r26
    8354:       aa 1b           sub     r26, r26
    8356:       bb 1b           sub     r27, r27
    8358:       fd 01           movw    r30, r26
    835a:       0d c0           rjmp    .+26            ; 0x8376 <__udivmodsi4_ep>

0000835c <__udivmodsi4_loop>:
    835c:       aa 1f           adc     r26, r26
    835e:       bb 1f           adc     r27, r27
    8360:       ee 1f           adc     r30, r30
    8362:       ff 1f           adc     r31, r31
    8364:       a2 17           cp      r26, r18
    8366:       b3 07           cpc     r27, r19
    8368:       e4 07           cpc     r30, r20
    836a:       f5 07           cpc     r31, r21
    836c:       20 f0           brcs    .+8             ; 0x8376 <__udivmodsi4_ep>
    836e:       a2 1b           sub     r26, r18
    8370:       b3 0b           sbc     r27, r19
    8372:       e4 0b           sbc     r30, r20
    8374:       f5 0b           sbc     r31, r21

00008376 <__udivmodsi4_ep>:
    8376:       66 1f           adc     r22, r22
    8378:       77 1f           adc     r23, r23
    837a:       88 1f           adc     r24, r24
    837c:       99 1f           adc     r25, r25
    837e:       1a 94           dec     r1
    8380:       69 f7           brne    .-38            ; 0x835c <__udivmodsi4_loop>
    8382:       60 95           com     r22
    8384:       70 95           com     r23
    8386:       80 95           com     r24
    8388:       90 95           com     r25
    838a:       9b 01           movw    r18, r22
    838c:       ac 01           movw    r20, r24
    838e:       bd 01           movw    r22, r26
    8390:       cf 01           movw    r24, r30
    8392:       08 95           ret

00008394 <__divmodsi4>:
    8394:       97 fb           bst     r25, 7
    8396:       09 2e           mov     r0, r25
    8398:       05 26           eor     r0, r21
    839a:       0e d0           rcall   .+28            ; 0x83b8 <__divmodsi4_neg1>
    839c:       57 fd           sbrc    r21, 7
    839e:       04 d0           rcall   .+8             ; 0x83a8 <__divmodsi4_neg2>
    83a0:       d7 df           rcall   .-82            ; 0x8350 <__udivmodsi4>
    83a2:       0a d0           rcall   .+20            ; 0x83b8 <__divmodsi4_neg1>
    83a4:       00 1c           adc     r0, r0
    83a6:       38 f4           brcc    .+14            ; 0x83b6 <__divmodsi4_exit>

000083a8 <__divmodsi4_neg2>:
    83a8:       50 95           com     r21
    83aa:       40 95           com     r20
    83ac:       30 95           com     r19
    83ae:       21 95           neg     r18
    83b0:       3f 4f           sbci    r19, 0xFF       ; 255
    83b2:       4f 4f           sbci    r20, 0xFF       ; 255
    83b4:       5f 4f           sbci    r21, 0xFF       ; 255

000083b6 <__divmodsi4_exit>:
    83b6:       08 95           ret

000083b8 <__divmodsi4_neg1>:
    83b8:       f6 f7           brtc    .-4             ; 0x83b6 <__divmodsi4_exit>
    83ba:       90 95           com     r25
    83bc:       80 95           com     r24
    83be:       70 95           com     r23
    83c0:       61 95           neg     r22
    83c2:       7f 4f           sbci    r23, 0xFF       ; 255
    83c4:       8f 4f           sbci    r24, 0xFF       ; 255
    83c6:       9f 4f           sbci    r25, 0xFF       ; 255
    83c8:       08 95           ret

000083ca <memcpy_P>:
    83ca:       fb 01           movw    r30, r22
    83cc:       dc 01           movw    r26, r24
    83ce:       02 c0           rjmp    .+4             ; 0x83d4 <memcpy_P+0xa>
    83d0:       05 90           lpm     r0, Z+
    83d2:       0d 92           st      X+, r0
    83d4:       41 50           subi    r20, 0x01       ; 1
    83d6:       50 40           sbci    r21, 0x00       ; 0
    83d8:       d8 f7           brcc    .-10            ; 0x83d0 <memcpy_P+0x6>
    83da:       08 95           ret

000083dc <__eerd_block_m128>:
    83dc:       dc 01           movw    r26, r24
    83de:       cb 01           movw    r24, r22

000083e0 <__eerd_blraw_m128>:
    83e0:       fc 01           movw    r30, r24
    83e2:       e1 99           sbic    0x1c, 1 ; 28
    83e4:       fe cf           rjmp    .-4             ; 0x83e2 <__eerd_blraw_m128+0x2>
    83e6:       06 c0           rjmp    .+12            ; 0x83f4 <__eerd_blraw_m128+0x14>
    83e8:       ff bb           out     0x1f, r31       ; 31
    83ea:       ee bb           out     0x1e, r30       ; 30
    83ec:       e0 9a           sbi     0x1c, 0 ; 28
    83ee:       31 96           adiw    r30, 0x01       ; 1
    83f0:       0d b2           in      r0, 0x1d        ; 29
    83f2:       0d 92           st      X+, r0
    83f4:       41 50           subi    r20, 0x01       ; 1
    83f6:       50 40           sbci    r21, 0x00       ; 0
    83f8:       b8 f7           brcc    .-18            ; 0x83e8 <__eerd_blraw_m128+0x8>
    83fa:       08 95           ret

000083fc <_exit>:
    83fc:       f8 94           cli

000083fe <__stop_program>:
    83fe:       ff cf           rjmp    .-2             ; 0x83fe <__stop_program>