radareorg / radare2

UNIX-like reverse engineering framework and command-line toolset
https://www.radare.org/
GNU Lesser General Public License v3.0
20.29k stars 2.97k forks source link

Broken ARCompact (r2 -b 15 -a arc) disassembly #156

Closed XVilka closed 11 years ago

XVilka commented 11 years ago

Feel free to test output on this file: http://xvilka.me/Oneplusone.bin

It is compiled for ARCompact from

$ cat oneplusone.c int main() { int i; i = 1 + 1; } $ arc-elf32-gcc oneplusone.c -o oneplusone $ arc-elf32-strip oneplusone $ file oneplusone oneplusone: ELF 32-bit LSB executable, ARC Cores Tangent-A5, version 1 (SYSV), statically linked, stripped $ arc-elf32-objdump -d oneplusone

oneplusone.bin: file format elf32-littlearc

Disassembly of section .init:

00000100 <.init>: 100: 00 00 00 00
104: f1 c0 push_s blink 106: f2 08 00 00 bl 0x1f4

10a: 92 0f 40 00 bl 0x1098

10e: d1 c0 pop_s blink 110: e0 7e j_s [blink]

Disassembly of section .text:

00000114 <.text>: 114: 0a 22 80 3f 00 00 28 39 mov gp,0x3928 11c: cf 72 00 00 34 39 mov_s r2,0x3934 122: 02 26 83 70 00 00 74 39 sub r3,0x3974,r2 12a: 42 2b bc 80 asr.f lp_count,r3,2 12e: 0a 24 80 3f 01 00 78 89 mov sp,0x00018978 136: 00 db mov_s r3,0 138: e8 20 a2 01 lpnz 0x144

 13c:   04 1a d0 00                 st.ab      r3,[r2,4]
 140:   4a 26 00 70                 nop        
 144:   08 75                       mov_s      r13,r0
 146:   28 76                       mov_s      r14,r1
 148:   00 12 01 36                 ld.as      r1,[gp,0]
 14c:   cf 70 00 00 d0 10           mov_s      r0,0x10d0
 152:   80 21 05 03                 add        r1,r1,0x14c
 156:   fc 19 40 80                 st         r1,[r1,-4]
 15a:   02 a1                       st_s       r0,[r1,8]
 15c:   01 d8                       mov_s      r0,1
 15e:   01 a1                       st_s       r0,[r1,4]
 160:   a6 0f cf ff                 bl         0x104

 164:   a9 70                       mov_s      r0,r13
 166:   c9 71                       mov_s      r1,r14
 168:   b2 08 20 00                 bl.d       0x218

 16c:   4a 23 00 30                 mov        fp,0
 170:   20 20 80 0f 00 00 34 02     j          0x234

 178:   69 20 40 00                 flag       1
 17c:   4a 26 00 70                 nop        
 180:   4a 26 00 70                 nop        
 184:   4a 26 00 70                 nop        
 188:   f1 07 cf ff                 b          0x178

 18c:   4a 26 00 70                 nop        
 190:   f1 c0                       push_s     blink
 192:   00 16 82 70 00 00 40 39     ldb        r2,[0x3940]
 19a:   f8 1c 48 b3                 st.a       r13,[sp,-8]
 19e:   4d 0a 31 00                 brne.d     r2,0,0x1e8

 1a2:   41 c6                       st_s       r14,[sp,4]
 1a4:   cf 76 00 00 20 39           mov_s      r14,0x3920
 1aa:   02 26 8e 1f 00 00 1c 39     sub        r14,r14,0x391c
 1b2:   da 6e                       asr_s      r14,r14,2
 1b4:   00 16 02 70 00 00 44 39     ld         r2,[0x3944]
 1bc:   c9 6e                       sub_s      r14,r14,1
 1be:   cf 75 00 00 44 39           mov_s      r13,0x3944
 1c4:   1b 0a a5 03                 brhs.d     r2,r14,0x1de

 1c8:   41 6a                       add_s      r2,r2,1
 1ca:   f0 26 83 70 00 00 1c 39     ld.as      r3,[0x391c,r2]
 1d2:   60 7b                       jl_s.d     [r3]
 1d4:   40 a5                       st_s       r2,[r13,0]
 1d6:   40 85                       ld_s       r2,[r13,0]
 1d8:   f3 0a a4 83                 brlo.d     r2,r14,0x1ca

 1dc:   41 6a                       add_s      r2,r2,1
 1de:   01 da                       mov_s      r2,1
 1e0:   00 1e 82 70 00 00 40 39     stb        r2,[0x3940]
 1e8:   08 14 1f 30                 ld         blink,[sp,8]
 1ec:   00 c5                       ld_s       r13,[sp,0]
 1ee:   01 c6                       ld_s       r14,[sp,4]
 1f0:   e0 7f                       j_s.d      [blink]
 1f2:   a3 c0                       add_s      sp,sp,12
 1f4:   00 16 02 70 00 00 24 39     ld         r2,[0x3924]
 1fc:   0c ea                       breq_s     r2,0,0x214

 1fe:   0a 22 80 0f 00 00 00 00     mov        r2,0
 206:   11 0a 10 00                 breq       r2,0,0x214

 20a:   cf 70 00 00 24 39           mov_s      r0,0x3924
 210:   00 7a                       j_s        [r2]
 212:   e0 78                       nop_s      
 214:   e0 7e                       j_s        [blink]
 216:   e0 78                       nop_s      
 218:   fc 1c c8 b6                 st.a       fp,[sp,-4]
 21c:   0a 23 00 37                 mov        fp,sp
 220:   a1 c1                       sub_s      sp,sp,4
 222:   02 da                       mov_s      r2,2
 224:   fc 1b 80 b0                 st         r2,[fp,-4]
 228:   0a 24 c0 36                 mov        sp,fp
 22c:   04 14 1b 34                 ld.ab      fp,[sp,4]
 230:   e0 7e                       j_s        [blink]
 232:   e0 78                       nop_s      
 234:   f1 c0                       push_s     blink
 236:   f8 1c 48 b3                 st.a       r13,[sp,-8]
 23a:   00 d9                       mov_s      r1,0
 23c:   41 c6                       st_s       r14,[sp,4]
 23e:   56 0a 20 00                 bl.d       0x490

 242:   08 75                       mov_s      r13,r0
 244:   00 16 0e 70 00 00 dc 10     ld         r14,[0x10dc]
 24c:   4f 86                       ld_s       r2,[r14,60]
 24e:   13 0a 30 00                 breq.d     r2,0,0x25e

 252:   08 14 1f 30                 ld         blink,[sp,8]
 256:   60 7a                       jl_s.d     [r2]
 258:   c9 70                       mov_s      r0,r14
 25a:   08 14 1f 30                 ld         blink,[sp,8]
 25e:   c9 70                       mov_s      r0,r14
 260:   a9 71                       mov_s      r1,r13
 262:   01 c6                       ld_s       r14,[sp,4]
 264:   00 c5                       ld_s       r13,[sp,0]
 266:   91 01 20 00                 b.d        0x3f4

 26a:   a3 c0                       add_s      sp,sp,12
 26c:   d8 70                       mov_s      r6,r0
 26e:   98 71                       mov_s      r4,r1
 270:   b8 72                       mov_s      r5,r2
 272:   0a 22 c0 00                 mov        r2,r3
 276:   0a 21 40 01                 mov        r1,r5
 27a:   0a 20 00 01                 mov        r0,r4
 27e:   4a 20 c0 10                 mov        r8,3
 282:   6f 22 3f 00                 swi        
 286:   0a 24 00 00                 mov        r4,r0
 28a:   8c 24 be 80                 cmp        r4,-126
 28e:   10 00 2d 00                 bhi.d      0x29c

 292:   ce 24 2d 00                 rsub.hi    r4,r4,0
 296:   e0 7f                       j_s.d      [blink]
 298:   88 70                       mov_s      r0,r4
 29a:   e0 78                       nop_s      
 29c:   00 1e 00 01                 st         r4,[r6]
 2a0:   f7 07 ef ff                 b.d        0x296

 2a4:   8a 24 ff 0f                 mov        r4,-1
 2a8:   d8 70                       mov_s      r6,r0
 2aa:   98 71                       mov_s      r4,r1
 2ac:   b8 72                       mov_s      r5,r2
 2ae:   0a 22 c0 00                 mov        r2,r3
 2b2:   0a 21 40 01                 mov        r1,r5
 2b6:   0a 20 00 01                 mov        r0,r4
 2ba:   4a 20 00 11                 mov        r8,4
 2be:   6f 22 3f 00                 swi        
 2c2:   0a 24 00 00                 mov        r4,r0
 2c6:   8c 24 be 80                 cmp        r4,-126
 2ca:   10 00 2d 00                 bhi.d      0x2d8

 2ce:   ce 24 2d 00                 rsub.hi    r4,r4,0
 2d2:   e0 7f                       j_s.d      [blink]
 2d4:   88 70                       mov_s      r0,r4
 2d6:   e0 78                       nop_s      
 2d8:   00 1e 00 01                 st         r4,[r6]
 2dc:   f7 07 ef ff                 b.d        0x2d2

 2e0:   8a 24 ff 0f                 mov        r4,-1
 2e4:   d8 70                       mov_s      r6,r0
 2e6:   98 71                       mov_s      r4,r1
 2e8:   b8 72                       mov_s      r5,r2
 2ea:   0a 22 c0 00                 mov        r2,r3
 2ee:   0a 21 40 01                 mov        r1,r5
 2f2:   0a 20 00 01                 mov        r0,r4
 2f6:   4a 20 40 11                 mov        r8,5
 2fa:   6f 22 3f 00                 swi        
 2fe:   0a 24 00 00                 mov        r4,r0
 302:   8c 24 be 80                 cmp        r4,-126
 306:   10 00 2d 00                 bhi.d      0x314

 30a:   ce 24 2d 00                 rsub.hi    r4,r4,0
 30e:   e0 7f                       j_s.d      [blink]
 310:   88 70                       mov_s      r0,r4
 312:   e0 78                       nop_s      
 314:   00 1e 00 01                 st         r4,[r6]
 318:   f7 07 ef ff                 b.d        0x30e

 31c:   8a 24 ff 0f                 mov        r4,-1
 320:   08 72                       mov_s      r2,r0
 322:   0a 20 40 00                 mov        r0,r1
 326:   4a 20 80 11                 mov        r8,6
 32a:   6f 22 3f 00                 swi        
 32e:   0a 21 00 00                 mov        r1,r0
 332:   8c 21 be 80                 cmp        r1,-126
 336:   10 00 2d 00                 bhi.d      0x344

 33a:   ce 21 2d 00                 rsub.hi    r1,r1,0
 33e:   e0 7f                       j_s.d      [blink]
 340:   28 70                       mov_s      r0,r1
 342:   e0 78                       nop_s      
 344:   20 a2                       st_s       r1,[r2,0]
 346:   fb 07 ef ff                 b.d        0x33e

 34a:   8a 21 ff 0f                 mov        r1,-1
 34e:   e0 78                       nop_s      
 350:   d8 70                       mov_s      r6,r0
 352:   98 71                       mov_s      r4,r1
 354:   b8 72                       mov_s      r5,r2
 356:   0a 22 c0 00                 mov        r2,r3
 35a:   0a 21 40 01                 mov        r1,r5
 35e:   0a 20 00 01                 mov        r0,r4
 362:   4a 20 c0 14                 mov        r8,19
 366:   6f 22 3f 00                 swi        
 36a:   0a 24 00 00                 mov        r4,r0
 36e:   8c 24 be 80                 cmp        r4,-126
 372:   10 00 2d 00                 bhi.d      0x380

 376:   ce 24 2d 00                 rsub.hi    r4,r4,0
 37a:   e0 7f                       j_s.d      [blink]
 37c:   88 70                       mov_s      r0,r4
 37e:   e0 78                       nop_s      
 380:   00 1e 00 01                 st         r4,[r6]
 384:   f7 07 ef ff                 b.d        0x37a

 388:   8a 24 ff 0f                 mov        r4,-1
 38c:   98 70                       mov_s      r4,r0
 38e:   28 73                       mov_s      r3,r1
 390:   0a 21 80 00                 mov        r1,r2
 394:   0a 20 c0 00                 mov        r0,r3
 398:   8a 20 01 1b                 mov        r8,108
 39c:   6f 22 3f 00                 swi        
 3a0:   0a 22 00 00                 mov        r2,r0
 3a4:   8c 22 be 80                 cmp        r2,-126
 3a8:   0c 00 2d 00                 bhi.d      0x3b4

 3ac:   ce 22 2d 00                 rsub.hi    r2,r2,0
 3b0:   e0 7f                       j_s.d      [blink]
 3b2:   48 70                       mov_s      r0,r2
 3b4:   00 1c 80 00                 st         r2,[r4]
 3b8:   f9 07 ef ff                 b.d        0x3b0

 3bc:   8a 22 ff 0f                 mov        r2,-1
 3c0:   98 70                       mov_s      r4,r0
 3c2:   28 73                       mov_s      r3,r1
 3c4:   0a 21 80 00                 mov        r1,r2
 3c8:   0a 20 c0 00                 mov        r0,r3
 3cc:   8a 20 81 13                 mov        r8,78
 3d0:   6f 22 3f 00                 swi        
 3d4:   0a 22 00 00                 mov        r2,r0
 3d8:   8c 22 be 80                 cmp        r2,-126
 3dc:   0c 00 2d 00                 bhi.d      0x3e8

 3e0:   ce 22 2d 00                 rsub.hi    r2,r2,0
 3e4:   e0 7f                       j_s.d      [blink]
 3e6:   48 70                       mov_s      r0,r2
 3e8:   00 1c 80 00                 st         r2,[r4]
 3ec:   f9 07 ef ff                 b.d        0x3e4

 3f0:   8a 22 ff 0f                 mov        r2,-1
 3f4:   08 72                       mov_s      r2,r0
 3f6:   0a 20 40 00                 mov        r0,r1
 3fa:   4a 20 40 10                 mov        r8,1
 3fe:   6f 22 3f 00                 swi        
 402:   0a 21 00 00                 mov        r1,r0
 406:   8c 21 be 80                 cmp        r1,-126
 40a:   0a 00 2e 00                 bls.d      0x412

 40e:   33 79                       neg_s      r1,r1
 410:   20 a2                       st_s       r1,[r2,0]
 412:   e0 7e                       j_s        [blink]
 414:   00 d8                       mov_s      r0,0
 416:   4a 21 00 00                 mov        r1,0
 41a:   e0 7e                       j_s        [blink]
 41c:   d8 70                       mov_s      r6,r0
 41e:   98 71                       mov_s      r4,r1
 420:   b8 72                       mov_s      r5,r2
 422:   8a 23 09 00                 mov        r3,0x240
 426:   0a 22 40 01                 mov        r2,r5
 42a:   0a 21 c0 00                 mov        r1,r3
 42e:   0a 20 00 01                 mov        r0,r4
 432:   4a 20 40 11                 mov        r8,5
 436:   6f 22 3f 00                 swi        
 43a:   0a 23 00 00                 mov        r3,r0
 43e:   8c 23 be 80                 cmp        r3,-126
 442:   10 00 2d 00                 bhi.d      0x450

 446:   ce 23 2d 00                 rsub.hi    r3,r3,0
 44a:   e0 7f                       j_s.d      [blink]
 44c:   68 70                       mov_s      r0,r3
 44e:   e0 78                       nop_s      
 450:   00 1e c0 00                 st         r3,[r6]
 454:   f7 07 ef ff                 b.d        0x44a

 458:   8a 23 ff 0f                 mov        r3,-1
 45c:   e0 78                       nop_s      
 45e:   4a 20 80 0a                 mov        r0,42
 462:   e0 7e                       j_s        [blink]
 464:   4f 7a                       extb_s     r2,r2
 466:   08 73                       mov_s      r3,r0
 468:   05 22 82 0f de 00 00 ad     or         r2,r2,0x00dead00
 470:   0a 20 80 00                 mov        r0,r2
 474:   4a 20 40 10                 mov        r8,1
 478:   6f 22 3f 00                 swi        
 47c:   0a 22 00 00                 mov        r2,r0
 480:   8c 22 be 80                 cmp        r2,-126
 484:   08 00 2e 00                 bls.d      0x48c

 488:   53 7a                       neg_s      r2,r2
 48a:   40 a3                       st_s       r2,[r3,0]
 48c:   e0 7e                       j_s        [blink]
 48e:   e0 78                       nop_s      
 490:   f1 c0                       push_s     blink
 492:   d8 1c 48 b3                 st.a       r13,[sp,-40]
 496:   18 1c c0 34                 st         r19,[sp,24]
 49a:   00 16 13 70 00 00 dc 10     ld         r19,[0x10dc]
 4a2:   1c 1c 00 35                 st         r20,[sp,28]
 4a6:   56 23 54 2a                 add3       r20,r19,41
 4aa:   42 c7                       st_s       r15,[sp,8]
 4ac:   20 1c 40 35                 st         r21,[sp,32]
 4b0:   24 1c 80 35                 st         r22,[sp,36]
 4b4:   41 c6                       st_s       r14,[sp,4]
 4b6:   0c 1c 00 34                 st         r16,[sp,12]
 4ba:   10 1c 40 34                 st         r17,[sp,16]
 4be:   14 1c 80 34                 st         r18,[sp,20]
 4c2:   da 70                       mov_s      r22,r0
 4c4:   0a 27 40 10                 mov        r15,r1
 4c8:   4a 25 00 20                 mov        r21,0
 4cc:   52 13 10 26                 ld.as      r16,[r19,82]
 4d0:   bb 08 30 20                 breq.d     r16,0,0x58a

 4d4:   28 14 1f 30                 ld         blink,[sp,40]
 4d8:   0a 22 00 25                 mov        r18,r20
 4dc:   04 10 03 20                 ld         r3,[r16,4]
 4e0:   a9 6b                       sub_s      r13,r3,1
 4e2:   2b 0d 12 10                 brlt       r13,0,0x50a

 4e6:   15 26 ce 70 00 00 04 01     add2       r14,0x104,r3
 4ee:   00 26 0e 14                 add        r14,r14,r16
 4f2:   45 0f 10 10                 breq       r15,0,0x534

 4f6:   40 86                       ld_s       r2,[r14,0]
 4f8:   41 0a e0 03                 breq.d     r2,r15,0x538

 4fc:   42 23 51 00                 sub        r17,r3,1
 500:   a9 6d                       sub_s      r13,r13,1
 502:   f3 0d 33 90                 brge.d     r13,0,0x4f2

 506:   42 26 0e 11                 sub        r14,r14,4
 50a:   d5 0b 31 00                 brne.d     r3,0,0x5dc

 50e:   00 10 02 20                 ld         r2,[r16,0]
 512:   cd 0a 10 00                 breq       r2,0,0x5dc

 516:   00 1a 80 20                 st         r2,[r18]
 51a:   ce 08 20 00                 bl.d       0x5e4

 51e:   0a 20 00 04                 mov        r0,r16
 522:   00 12 02 20                 ld         r2,[r18,0]
 526:   63 0a 10 00                 breq       r2,0,0x586

 52a:   1a 72                       mov_s      r16,r2
 52c:   b5 07 ef ff                 b.d        0x4e0

 530:   04 10 03 20                 ld         r3,[r16,4]
 534:   42 23 51 00                 sub        r17,r3,1
 538:   85 09 60 23                 breq.d     r17,r13,0x5bc

 53c:   00 16 02 90                 ld         r2,[r14,-256]
 540:   00 1e 40 95                 st         r21,[r14,-256]
 544:   81 0a 30 00                 breq.d     r2,0,0x5c4

 548:   3a 73                       mov_s      r17,r3
 54a:   62 10 03 26                 ld.as      r3,[r16,98]
 54e:   00 2e 44 73 00 00 01 00     asl        r4,1,r13
 556:   5d 0b 4e 03                 bbit0      r3,r13,0x5b0

 55a:   63 10 03 26                 ld.as      r3,[r16,99]
 55e:   0b 24 c0 80                 tst        r4,r3
 562:   6c 00 02 00                 bnz        0x5cc

 566:   80 16 01 90                 ld         r1,[r14,-128]
 56a:   60 7a                       jl_s.d     [r2]
 56c:   ca 70                       mov_s      r0,r22
 56e:   04 10 03 20                 ld         r3,[r16,4]
 572:   5d 0b 41 84                 brne       r3,r17,0x4cc

 576:   00 12 02 20                 ld         r2,[r18,0]
 57a:   89 0a 00 84                 breq       r2,r16,0x500

 57e:   52 13 10 26                 ld.as      r16,[r19,82]
 582:   59 08 11 a0                 brne       r16,0,0x4d8

 586:   28 14 1f 30                 ld         blink,[sp,40]
 58a:   00 c5                       ld_s       r13,[sp,0]
 58c:   01 c6                       ld_s       r14,[sp,4]
 58e:   02 c7                       ld_s       r15,[sp,8]
 590:   0c 14 10 30                 ld         r16,[sp,12]
 594:   10 14 11 30                 ld         r17,[sp,16]
 598:   14 14 12 30                 ld         r18,[sp,20]
 59c:   18 14 13 30                 ld         r19,[sp,24]
 5a0:   1c 14 14 30                 ld         r20,[sp,28]
 5a4:   20 14 15 30                 ld         r21,[sp,32]
 5a8:   24 14 16 30                 ld         r22,[sp,36]
 5ac:   e0 7f                       j_s.d      [blink]
 5ae:   ab c0                       add_s      sp,sp,44
 5b0:   40 7a                       jl_s       [r2]
 5b2:   c3 07 ef ff                 b.d        0x572

 5b6:   04 10 03 20                 ld         r3,[r16,4]
 5ba:   e0 78                       nop_s      
 5bc:   8f 0a 31 80                 brne.d     r2,0,0x54a

 5c0:   04 18 40 23                 st         r13,[r16,4]
 5c4:   3d 07 ef ff                 b.d        0x500

 5c8:   04 10 03 20                 ld         r3,[r16,4]
 5cc:   60 7a                       jl_s.d     [r2]
 5ce:   80 16 00 90                 ld         r0,[r14,-128]
 5d2:   a3 07 ef ff                 b.d        0x572

 5d6:   04 10 03 20                 ld         r3,[r16,4]
 5da:   e0 78                       nop_s      
 5dc:   4b 07 ef ff                 b.d        0x526

 5e0:   0a 22 00 24                 mov        r18,r16
 5e4:   08 71                       mov_s      r1,r0
 5e6:   55 00 60 00                 b.d        0xe38

 5ea:   00 c8                       ld_s       r0,[gp,0]
 5ec:   08 71                       mov_s      r1,r0
 5ee:   09 00 20 00                 b.d        0x5f4

 5f2:   00 c8                       ld_s       r0,[gp,0]
 5f4:   f1 c0                       push_s     blink
 5f6:   e0 1c 48 b3                 st.a       r13,[sp,-32]
 5fa:   41 c6                       st_s       r14,[sp,4]
 5fc:   40 21 cd 02                 add        r13,r1,11
 600:   42 c7                       st_s       r15,[sp,8]
 602:   0c 1c 00 34                 st         r16,[sp,12]
 606:   10 1c 40 34                 st         r17,[sp,16]
 60a:   14 1c 80 34                 st         r18,[sp,20]
 60e:   18 1c c0 34                 st         r19,[sp,24]
 612:   1c 1c 00 35                 st         r20,[sp,28]
 616:   95 0d f5 15                 brhs.d     r13,23,0x6a8

 61a:   08 76                       mov_s      r14,r0
 61c:   10 dd                       mov_s      r13,16
 61e:   99 0d 64 10                 brlo.d     r13,r1,0x6b4

 622:   00 da                       mov_s      r2,0
 624:   93 0a 31 00                 brne.d     r2,0,0x6b6

 628:   0c da                       mov_s      r2,12
 62a:   de 0e 20 00                 bl.d       0xd04

 62e:   0a 20 80 03                 mov        r0,r14
 632:   8c 25 c7 9d                 cmp        r13,0x1f7
 636:   8c 00 2d 00                 bhi.d      0x6c0

 63a:   41 2d 49 92                 lsr.f      r9,r13,9
 63e:   41 2d c9 10                 lsr        r9,r13,3
 642:   16 26 42 72 00 00 0c 35     add3       r2,0x350c,r9
 64a:   0c 12 10 00                 ld         r16,[r2,12]
 64e:   0c 20 80 a0                 cmp        r16,r2
 652:   c4 04 01 00                 bz         0xb14

 656:   04 10 04 20                 ld         r4,[r16,4]
 65a:   0c 10 03 20                 ld         r3,[r16,12]
 65e:   08 10 02 20                 ld         r2,[r16,8]
 662:   46 24 c4 00                 bic        r4,r4,3
 666:   00 24 04 04                 add        r4,r4,r16
 66a:   04 14 05 00                 ld         r5,[r4,4]
 66e:   42 a3                       st_s       r2,[r3,8]
 670:   c9 70                       mov_s      r0,r14
 672:   45 25 45 00                 or         r5,r5,1
 676:   04 1c 40 01                 st         r5,[r4,4]
 67a:   63 a2                       st_s       r3,[r2,12]
 67c:   92 0e 20 00                 bl.d       0xd0c

 680:   40 20 10 22                 add        r16,r16,8
 684:   0a 70                       mov_s      r0,r16
 686:   20 14 1f 30                 ld         blink,[sp,32]
 68a:   00 c5                       ld_s       r13,[sp,0]
 68c:   01 c6                       ld_s       r14,[sp,4]
 68e:   02 c7                       ld_s       r15,[sp,8]
 690:   0c 14 10 30                 ld         r16,[sp,12]
 694:   10 14 11 30                 ld         r17,[sp,16]
 698:   14 14 12 30                 ld         r18,[sp,20]
 69c:   18 14 13 30                 ld         r19,[sp,24]
 6a0:   1c 14 14 30                 ld         r20,[sp,28]
 6a4:   e0 7f                       j_s.d      [blink]
 6a6:   a9 c0                       add_s      sp,sp,36
 6a8:   46 25 cd 11                 bic        r13,r13,7
 6ac:   79 0d 65 90                 brhs.d     r13,r1,0x624

 6b0:   41 2d c2 17                 lsr        r2,r13,31
 6b4:   0c da                       mov_s      r2,12
 6b6:   40 a6                       st_s       r2,[r14,0]
 6b8:   cd 07 ef ff                 b.d        0x684

 6bc:   4a 20 00 20                 mov        r16,0
 6c0:   8c 01 21 00                 bz.d       0x84c

 6c4:   4c 21 00 91                 cmp        r9,4
 6c8:   60 03 2d 00                 bhi.d      0xa28

 6cc:   4c 21 00 95                 cmp        r9,20
 6d0:   41 2d 89 11                 lsr        r9,r13,6
 6d4:   40 21 09 1e                 add        r9,r9,56
 6d8:   40 29 c3 10                 asl        r3,r9,3
 6dc:   c7 73 00 00 0c 35           add_s      r3,r3,0x350c
 6e2:   0c 13 0f 00                 ld         r15,[r3,12]
 6e6:   1b 0b c1 03                 brne       r3,r15,0x6fe

 6ea:   40 21 49 10                 add        r9,r9,1
 6ee:   2f 00 00 00                 b          0x71a

 6f2:   e0 78                       nop_s      
 6f4:   64 01 0a 00                 bge        0x858

 6f8:   e3 87                       ld_s       r15,[r15,12]
 6fa:   1f 0b c0 03                 breq       r3,r15,0x716

 6fe:   04 17 04 10                 ld         r4,[r15,4]
 702:   46 24 c4 00                 bic        r4,r4,3
 706:   02 24 42 03                 sub        r2,r4,r13
 70a:   ed 0a 32 84                 brlt.d     r2,16,0x6f4

 70e:   4c 22 00 80                 cmp        r2,0
 712:   42 21 49 10                 sub        r9,r9,1
 716:   40 21 49 10                 add        r9,r9,1
 71a:   0a 25 80 0f 00 00 14 35     mov        r5,0x3514
 722:   08 15 10 00                 ld         r16,[r5,8]
 726:   0c 25 00 84                 cmp        r5,r16
 72a:   c4 03 01 00                 bz         0xaec

 72e:   04 10 02 20                 ld         r2,[r16,4]
 732:   46 22 c2 00                 bic        r2,r2,3
 736:   02 22 43 03                 sub        r3,r2,r13
 73a:   4c 23 c0 83                 cmp        r3,15
 73e:   78 03 09 00                 bgt        0xab4

 742:   0c 1d 40 01                 st         r5,[r5,12]
 746:   80 e3                       cmp_s      r3,0
 748:   38 01 2a 00                 bge.d      0x880

 74c:   08 1d 40 01                 st         r5,[r5,8]
 750:   8c 22 c7 8f                 cmp        r2,0x1ff
 754:   f4 02 2d 00                 bhi.d      0xa48

 758:   41 2a 43 02                 lsr        r3,r2,9
 75c:   23 ba                       lsr_s      r2,r2,3
 75e:   cf 77 00 00 0c 35           mov_s      r15,0x350c
 764:   16 27 83 10                 add3       r3,r15,r2
 768:   04 17 0a 10                 ld         r10,[r15,4]
 76c:   08 13 04 00                 ld         r4,[r3,8]
 770:   5a 6a                       asr_s      r2,r2,2
 772:   0c 18 c0 20                 st         r3,[r16,12]
 776:   0f 22 82 10                 bset       r2,r10,r2
 77a:   08 18 00 21                 st         r4,[r16,8]
 77e:   0c 1c 00 04                 st         r16,[r4,12]
 782:   08 1b 00 04                 st         r16,[r3,8]
 786:   41 a7                       st_s       r2,[r15,4]
 788:   0a 22 80 10                 mov        r10,r2
 78c:   42 29 86 10                 asr        r6,r9,2
 790:   00 2e 86 71 00 00 01 00     asl        r6,1,r6
 798:   0c 26 80 80                 cmp        r6,r2
 79c:   fc 00 2d 00                 bhi.d      0x898

 7a0:   0b 22 80 81                 tst        r2,r6
 7a4:   30 00 22 00                 bnz.d      0x7d4

 7a8:   16 27 4c 12                 add3       r12,r15,r9
 7ac:   40 2e 46 00                 asl        r6,r6,1
 7b0:   46 21 c9 10                 bic        r9,r9,3
 7b4:   0b 22 80 81                 tst        r2,r6
 7b8:   18 00 22 00                 bnz.d      0x7d0

 7bc:   40 21 09 11                 add        r9,r9,4
 7c0:   40 2e 46 00                 asl        r6,r6,1
 7c4:   0b 26 80 80                 tst        r6,r2
 7c8:   f8 07 e1 ff                 bz.d       0x7c0

 7cc:   40 21 09 11                 add        r9,r9,4
 7d0:   16 27 4c 12                 add3       r12,r15,r9
 7d4:   0a 23 40 12                 mov        r11,r9
 7d8:   19 74                       mov_s      r8,r12
 7da:   0c 10 02 10                 ld         r2,[r8,12]
 7de:   0c 20 80 90                 cmp        r8,r2
 7e2:   1c 03 01 00                 bz         0xafc

 7e6:   04 12 04 00                 ld         r4,[r2,4]
 7ea:   46 24 c4 00                 bic        r4,r4,3
 7ee:   02 24 47 03                 sub        r7,r4,r13
 7f2:   2f 0f 32 04                 brlt.d     r7,16,0x81e

 7f6:   e8 73                       mov_s      r3,r7
 7f8:   3b 03 20 00                 b.d        0xb32

 7fc:   1a 72                       mov_s      r16,r2
 7fe:   e0 78                       nop_s      
 800:   43 82                       ld_s       r2,[r2,12]
 802:   0c 20 80 90                 cmp        r8,r2
 806:   f8 02 01 00                 bz         0xafc

 80a:   04 12 04 00                 ld         r4,[r2,4]
 80e:   46 24 c4 00                 bic        r4,r4,3
 812:   02 24 43 03                 sub        r3,r4,r13
 816:   8f e3                       cmp_s      r3,15
 818:   18 03 29 00                 bgt.d      0xb30

 81c:   f8 73                       mov_s      r7,r3
 81e:   e5 0b 32 80                 brlt.d     r3,0,0x800

 822:   00 24 84 00                 add        r4,r4,r2
 826:   04 14 05 00                 ld         r5,[r4,4]
 82a:   1a 72                       mov_s      r16,r2
 82c:   63 82                       ld_s       r3,[r2,12]
 82e:   08 10 02 22                 ld.a       r2,[r16,8]
 832:   45 25 45 00                 or         r5,r5,1
 836:   c9 70                       mov_s      r0,r14
 838:   04 1c 40 01                 st         r5,[r4,4]
 83c:   42 a3                       st_s       r2,[r3,8]
 83e:   d2 0c 20 00                 bl.d       0xd0c

 842:   63 a2                       st_s       r3,[r2,12]
 844:   43 06 ef ff                 b.d        0x686

 848:   0a 70                       mov_s      r0,r16
 84a:   e0 78                       nop_s      
 84c:   41 2d c9 10                 lsr        r9,r13,3
 850:   8d 06 ef ff                 b.d        0x6dc

 854:   40 29 c3 10                 asl        r3,r9,3
 858:   00 24 c4 03                 add        r4,r4,r15
 85c:   04 14 05 00                 ld         r5,[r4,4]
 860:   63 87                       ld_s       r3,[r15,12]
 862:   42 87                       ld_s       r2,[r15,8]
 864:   45 25 45 00                 or         r5,r5,1
 868:   c9 70                       mov_s      r0,r14
 86a:   42 a3                       st_s       r2,[r3,8]
 86c:   04 1c 40 01                 st         r5,[r4,4]
 870:   9e 0c 20 00                 bl.d       0xd0c

 874:   63 a2                       st_s       r3,[r2,12]
 876:   11 06 ef ff                 b.d        0x684

 87a:   40 27 10 12                 add        r16,r15,8
 87e:   e0 78                       nop_s      
 880:   02 72                       add_s      r2,r2,r16
 882:   61 82                       ld_s       r3,[r2,4]
 884:   c9 70                       mov_s      r0,r14
 886:   40 20 10 22                 add        r16,r16,8
 88a:   80 bb                       bset_s     r3,r3,0
 88c:   82 0c 20 00                 bl.d       0xd0c

 890:   61 a2                       st_s       r3,[r2,4]
 892:   f7 05 ef ff                 b.d        0x686

 896:   0a 70                       mov_s      r0,r16
 898:   08 17 10 10                 ld         r16,[r15,8]
 89c:   04 10 11 20                 ld         r17,[r16,4]
 8a0:   46 21 d1 20                 bic        r17,r17,3
 8a4:   02 21 43 23                 sub        r3,r17,r13
 8a8:   17 0b 32 04                 brlt.d     r3,16,0x8be

 8ac:   03 12 12 36                 ld.as      r18,[gp,3]
 8b0:   32 75                       cmp_s      r13,r17
 8b2:   58 01 2e 00                 bls.d      0xa08

 8b6:   ca 22 0e 04                 mov.ls     r2,r16
 8ba:   03 12 12 36                 ld.as      r18,[gp,3]
 8be:   02 12 02 36                 ld.as      r2,[gp,2]
 8c2:   c9 70                       mov_s      r0,r14
 8c4:   40 22 12 24                 add        r18,r18,16
 8c8:   8c 22 ff 8f                 cmp        r2,-1
 8cc:   00 22 52 23                 add        r18,r18,r13
 8d0:   c0 22 82 2f 00 00 ff 0f     add.nz     r18,r18,0xfff
 8d8:   c4 22 82 2f ff ff 00 f0     and.nz     r18,r18,0xfffff000
 8e0:   36 0c 20 00                 bl.d       0xd14

 8e4:   4a 71                       mov_s      r1,r18
 8e6:   8c 20 ff 8f                 cmp        r0,-1
 8ea:   ec 02 21 00                 bz.d       0xbd4

 8ee:   9a 70                       mov_s      r20,r0
 8f0:   00 20 42 24                 add        r2,r16,r17
 8f4:   10 72                       cmp_s      r2,r0
 8f6:   dc 02 2d 00                 bhi.d      0xbd0

 8fa:   0c 20 c0 a3                 cmp        r16,r15
 8fe:   0a 23 80 2f 00 00 48 39     mov        r19,0x3948
 906:   00 13 03 20                 ld         r3,[r19,0]
 90a:   10 72                       cmp_s      r2,r0
 90c:   42 73                       add_s      r3,r3,r18
 90e:   70 03 21 00                 bz.d       0xc7c

 912:   00 1b c0 20                 st         r3,[r19]
 916:   02 12 04 36                 ld.as      r4,[gp,2]
 91a:   8c 24 ff 8f                 cmp        r4,-1
 91e:   90 03 21 00                 bz.d       0xcac

 922:   7b 60                       add_s      r3,r0,r3
 924:   0e 22 c2 00                 rsub       r2,r2,r3
 928:   00 1b 80 20                 st         r2,[r19]
 92c:   44 20 c3 81                 and.f      r3,r0,7
 930:   ca 23 81 0f 00 00 00 10     mov.z      r3,0x1000
 938:   18 00 21 00                 bz.d       0x950

 93c:   00 24 82 24                 add        r2,r20,r18
 940:   4e 23 03 02                 rsub       r3,r3,8
 944:   00 20 d4 00                 add        r20,r0,r3
 948:   96 23 08 00                 add3       r3,r3,0x200
 94c:   00 24 82 24                 add        r2,r20,r18
 950:   cb ba                       bmsk_s     r2,r2,11
 952:   02 23 92 00                 sub        r18,r3,r2
 956:   c9 70                       mov_s      r0,r14
 958:   be 0b 20 00                 bl.d       0xd14

 95c:   4a 71                       mov_s      r1,r18
 95e:   8c 20 ff 8f                 cmp        r0,-1
 962:   40 03 01 00                 bz         0xca0

 966:   02 20 04 05                 sub        r4,r0,r20
 96a:   00 24 84 04                 add        r4,r4,r18
 96e:   45 24 44 00                 or         r4,r4,1
 972:   00 13 03 20                 ld         r3,[r19,0]
 976:   04 1c 00 21                 st         r4,[r20,4]
 97a:   8a 72                       mov_s      r2,r20
 97c:   42 73                       add_s      r3,r3,r18
 97e:   00 1b c0 20                 st         r3,[r19]
 982:   47 08 e0 23                 breq.d     r16,r15,0x9c6

 986:   08 1f 00 15                 st         r20,[r15,8]
 98a:   4c 21 c0 a3                 cmp        r17,15
 98e:   b0 02 0e 00                 bls        0xc3c

 992:   42 21 02 23                 sub        r2,r17,12
 996:   46 22 c2 01                 bic        r2,r2,7
 99a:   00 20 84 20                 add        r4,r16,r2
 99e:   4a 25 40 01                 mov        r5,5
 9a2:   04 1c 48 01                 st.a       r5,[r4,4]
 9a6:   04 1c 40 01                 st         r5,[r4,4]
 9aa:   04 10 04 20                 ld         r4,[r16,4]
 9ae:   4c 22 c0 83                 cmp        r2,15
 9b2:   44 24 44 00                 and        r4,r4,1
 9b6:   05 22 02 01                 or         r2,r2,r4
 9ba:   04 18 80 20                 st         r2,[r16,4]
 9be:   f8 02 2d 00                 bhi.d      0xcb4

 9c2:   ca 22 0e 05                 mov.ls     r2,r20
 9c6:   04 12 04 36                 ld.as      r4,[gp,4]
 9ca:   0b 0c c5 00                 brhs       r4,r3,0x9d2

 9ce:   04 1a d8 30                 st.as      r3,[gp,4]
 9d2:   05 12 04 36                 ld.as      r4,[gp,5]
 9d6:   0c 23 00 81                 cmp        r3,r4
 9da:   74 02 2e 00                 bls.d      0xc4c

 9de:   04 12 04 00                 ld         r4,[r2,4]
 9e2:   05 1a d8 30                 st.as      r3,[gp,5]
 9e6:   46 24 c4 00                 bic        r4,r4,3
 9ea:   02 24 43 03                 sub        r3,r4,r13
 9ee:   0f 0b 12 04                 brlt       r3,16,0x9fa

 9f2:   1d 0c 65 03                 brhs.d     r4,r13,0xa0c

 9f6:   45 25 44 10                 or         r4,r13,1
 9fa:   16 0b 20 00                 bl.d       0xd0c

 9fe:   c9 70                       mov_s      r0,r14
 a00:   85 04 ef ff                 b.d        0x684

 a04:   4a 20 00 20                 mov        r16,0
 a08:   45 25 44 10                 or         r4,r13,1
 a0c:   04 1a 00 01                 st         r4,[r2,4]
 a10:   bd 62                       add_s      r13,r2,r13
 a12:   80 bb                       bset_s     r3,r3,0
 a14:   61 a5                       st_s       r3,[r13,4]
 a16:   c9 70                       mov_s      r0,r14
 a18:   a2 a7                       st_s       r13,[r15,8]
 a1a:   f6 0a 20 00                 bl.d       0xd0c

 a1e:   40 22 10 02                 add        r16,r2,8
 a22:   67 04 ef ff                 b.d        0x686

 a26:   0a 70                       mov_s      r0,r16
 a28:   4c 01 2e 00                 bls.d      0xb74

 a2c:   8c 21 01 95                 cmp        r9,84
 a30:   b4 01 2d 00                 bhi.d      0xbe4

 a34:   8c 21 05 95                 cmp        r9,0x154
 a38:   41 2d 09 13                 lsr        r9,r13,12
 a3c:   80 21 81 1b                 add        r9,r9,110
 a40:   9d 04 ef ff                 b.d        0x6dc

 a44:   40 29 c3 10                 asl        r3,r9,3
 a48:   84 e3                       cmp_s      r3,4
 a4a:   38 01 2e 00                 bls.d      0xb80

 a4e:   41 2a 84 01                 lsr        r4,r2,6
 a52:   94 e3                       cmp_s      r3,20
 a54:   d0 01 2d 00                 bhi.d      0xc24

 a58:   d4 e3                       cmp_s      r3,84
 a5a:   98 73                       mov_s      r4,r3
 a5c:   80 24 c1 06                 add        r4,r4,91
 a60:   40 2c c6 00                 asl        r6,r4,3
 a64:   cf 77 00 00 0c 35           mov_s      r15,0x350c
 a6a:   00 26 c6 03                 add        r6,r6,r15
 a6e:   08 16 03 00                 ld         r3,[r6,8]
 a72:   1b 0b a1 01                 brne.d     r3,r6,0xa8a

 a76:   42 2c 84 00                 asr        r4,r4,2
 a7a:   85 01 20 00                 b.d        0xbfc

 a7e:   04 17 0a 10                 ld         r10,[r15,4]
 a82:   e0 78                       nop_s      
 a84:   62 83                       ld_s       r3,[r3,8]
 a86:   13 0e c0 00                 breq       r6,r3,0xa96

 a8a:   04 13 04 00                 ld         r4,[r3,4]
 a8e:   46 24 c4 00                 bic        r4,r4,3
 a92:   f5 0a 04 81                 brlo       r2,r4,0xa84

 a96:   43 83                       ld_s       r2,[r3,12]
 a98:   04 17 0a 10                 ld         r10,[r15,4]
 a9c:   0c 18 80 20                 st         r2,[r16,12]
 aa0:   08 18 c0 20                 st         r3,[r16,8]
 aa4:   08 1a 00 04                 st         r16,[r2,8]
 aa8:   0c 1b 00 04                 st         r16,[r3,12]
 aac:   e1 04 ef ff                 b.d        0x78c

 ab0:   49 72                       mov_s      r2,r10
 ab2:   e0 78                       nop_s      
 ab4:   45 25 42 10                 or         r2,r13,1
 ab8:   02 75                       add_s      r13,r13,r16
 aba:   04 18 80 20                 st         r2,[r16,4]
 abe:   0c 1d 40 03                 st         r13,[r5,12]
 ac2:   08 1d 40 03                 st         r13,[r5,8]
 ac6:   00 25 c4 10                 add        r4,r13,r3
 aca:   45 23 42 00                 or         r2,r3,1
 ace:   00 1c c0 00                 st         r3,[r4]
 ad2:   08 1d 40 11                 st         r5,[r13,8]
 ad6:   41 a5                       st_s       r2,[r13,4]
 ad8:   0c 1d 40 11                 st         r5,[r13,12]
 adc:   32 0a 20 00                 bl.d       0xd0c

 ae0:   c9 70                       mov_s      r0,r14
 ae2:   a5 03 ef ff                 b.d        0x684

 ae6:   40 20 10 22                 add        r16,r16,8
 aea:   e0 78                       nop_s      
 aec:   cf 77 00 00 0c 35           mov_s      r15,0x350c
 af2:   04 17 0a 10                 ld         r10,[r15,4]
 af6:   99 04 ef ff                 b.d        0x78c

 afa:   49 72                       mov_s      r2,r10
 afc:   40 23 4b 10                 add        r11,r11,1
 b00:   44 23 c3 10                 and        r3,r11,3
 b04:   89 0b 30 00                 breq.d     r3,0,0xb8c

 b08:   40 22 08 02                 add        r8,r2,8
 b0c:   d3 04 ef ff                 b.d        0x7de

 b10:   0c 10 02 10                 ld         r2,[r8,12]
 b14:   40 20 02 22                 add        r2,r16,8
 b18:   0c 12 10 00                 ld         r16,[r2,12]
 b1c:   12 72                       cmp_s      r2,r16
 b1e:   fe 03 e1 ff                 bz.d       0x71a

 b22:   c0 21 a1 10                 add.z      r9,r9,2
 b26:   37 03 ef ff                 b.d        0x65a

 b2a:   04 10 04 20                 ld         r4,[r16,4]
 b2e:   e0 78                       nop_s      
 b30:   1a 72                       mov_s      r16,r2
 b32:   0c 12 06 00                 ld         r6,[r2,12]
 b36:   08 10 04 22                 ld.a       r4,[r16,8]
 b3a:   45 25 48 10                 or         r8,r13,1
 b3e:   bd 62                       add_s      r13,r2,r13
 b40:   08 1e 00 01                 st         r4,[r6,8]
 b44:   0c 1c 80 01                 st         r6,[r4,12]
 b48:   04 1a 00 02                 st         r8,[r2,4]
 b4c:   0c 1d 40 03                 st         r13,[r5,12]
 b50:   08 1d 40 03                 st         r13,[r5,8]
 b54:   80 bb                       bset_s     r3,r3,0
 b56:   00 25 c2 11                 add        r2,r13,r7
 b5a:   00 1a c0 01                 st         r7,[r2]
 b5e:   08 1d 40 11                 st         r5,[r13,8]
 b62:   61 a5                       st_s       r3,[r13,4]
 b64:   0c 1d 40 11                 st         r5,[r13,12]
 b68:   a6 09 20 00                 bl.d       0xd0c

 b6c:   c9 70                       mov_s      r0,r14
 b6e:   1b 03 ef ff                 b.d        0x686

 b72:   0a 70                       mov_s      r0,r16
 b74:   80 21 c1 16                 add        r9,r9,91
 b78:   65 03 ef ff                 b.d        0x6dc

 b7c:   40 29 c3 10                 asl        r3,r9,3
 b80:   40 24 04 0e                 add        r4,r4,56
 b84:   e1 06 ef ff                 b.d        0xa64

 b88:   40 2c c6 00                 asl        r6,r4,3
 b8c:   44 21 c3 10                 and        r3,r9,3
 b90:   6b 7b                       tst_s      r3,r3
 b92:   4c 01 21 00                 bz.d       0xcdc

 b96:   0a 22 00 03                 mov        r2,r12
 b9a:   f8 12 0c 84                 ld.ab      r12,[r2,-8]
 b9e:   f1 0c a0 90                 breq.d     r12,r2,0xb8c

 ba2:   42 21 49 10                 sub        r9,r9,1
 ba6:   40 2e 46 00                 asl        r6,r6,1
 baa:   0c 26 80 82                 cmp        r6,r10
 bae:   ec 04 ed ff                 bhi.d      0x898

 bb2:   0b 26 80 81                 tst        r6,r6
 bb6:   e4 04 c1 ff                 bz         0x898

 bba:   0b 26 80 82                 tst        r6,r10
 bbe:   2c 01 01 00                 bz         0xce8

 bc2:   0a 21 c0 12                 mov        r9,r11
 bc6:   11 04 ef ff                 b.d        0x7d4

 bca:   16 27 4c 12                 add3       r12,r15,r9
 bce:   e0 78                       nop_s      
 bd0:   2e 05 c1 ff                 bz         0x8fe

 bd4:   42 87                       ld_s       r2,[r15,8]
 bd6:   04 12 04 00                 ld         r4,[r2,4]
 bda:   13 06 ef ff                 b.d        0x9ea

 bde:   46 24 c4 00                 bic        r4,r4,3
 be2:   e0 78                       nop_s      
 be4:   30 00 2d 00                 bhi.d      0xc14

 be8:   8c 21 15 95                 cmp        r9,0x554
 bec:   41 2d c9 13                 lsr        r9,r13,15
 bf0:   80 21 c1 1d                 add        r9,r9,119
 bf4:   e9 02 ef ff                 b.d        0x6dc

 bf8:   40 29 c3 10                 asl        r3,r9,3
 bfc:   00 2e 04 71 00 00 01 00     asl        r4,1,r4
 c04:   68 72                       mov_s      r2,r3
 c06:   05 22 0a 11                 or         r10,r10,r4
 c0a:   95 06 ef ff                 b.d        0xa9c

 c0e:   04 1f 80 12                 st         r10,[r15,4]
 c12:   e0 78                       nop_s      
 c14:   40 00 0e 00                 bls        0xc54

 c18:   8a 23 0f 0c                 mov        r3,0x3f0
 c1c:   c1 02 ef ff                 b.d        0x6dc

 c20:   8a 21 81 1f                 mov        r9,126
 c24:   40 00 2d 00                 bhi.d      0xc64

 c28:   8c 23 05 85                 cmp        r3,0x154
 c2c:   41 2a 04 03                 lsr        r4,r2,12
 c30:   80 24 81 0b                 add        r4,r4,110
 c34:   31 06 ef ff                 b.d        0xa64

 c38:   40 2c c6 00                 asl        r6,r4,3
 c3c:   01 db                       mov_s      r3,1
 c3e:   04 1c c0 20                 st         r3,[r20,4]
 c42:   ab 05 ef ff                 b.d        0x9ea

 c46:   4a 24 00 00                 mov        r4,0
 c4a:   e0 78                       nop_s      
 c4c:   9f 05 ef ff                 b.d        0x9ea

 c50:   46 24 c4 00                 bic        r4,r4,3
 c54:   41 2d 89 14                 lsr        r9,r13,18
 c58:   80 21 01 1f                 add        r9,r9,124
 c5c:   81 02 ef ff                 b.d        0x6dc

 c60:   40 29 c3 10                 asl        r3,r9,3
 c64:   68 00 2d 00                 bhi.d      0xccc

 c68:   8c 23 15 85                 cmp        r3,0x554
 c6c:   41 2a c4 03                 lsr        r4,r2,15
 c70:   80 24 c1 0d                 add        r4,r4,119
 c74:   f1 05 ef ff                 b.d        0xa64

 c78:   40 2c c6 00                 asl        r6,r4,3
 c7c:   53 22 c4 02                 bmsk       r4,r2,11
 c80:   0b 24 00 81                 tst        r4,r4
 c84:   96 04 e2 ff                 bnz.d      0x91a

 c88:   02 12 04 36                 ld.as      r4,[gp,2]
 c8c:   42 87                       ld_s       r2,[r15,8]
 c8e:   00 22 44 24                 add        r4,r18,r17
 c92:   45 24 44 00                 or         r4,r4,1
 c96:   33 05 ef ff                 b.d        0x9c6

 c9a:   04 1a 00 01                 st         r4,[r2,4]
 c9e:   e0 78                       nop_s      
 ca0:   4a 24 40 00                 mov        r4,1
 ca4:   cf 04 ef ff                 b.d        0x972

 ca8:   4a 22 00 20                 mov        r18,0
 cac:   81 04 ef ff                 b.d        0x92c

 cb0:   02 1a 18 30                 st.as      r0,[gp,2]
 cb4:   40 20 01 22                 add        r1,r16,8
 cb8:   82 09 20 00                 bl.d       0xe38

 cbc:   c9 70                       mov_s      r0,r14
 cbe:   00 16 03 70 00 00 48 39     ld         r3,[0x3948]
 cc6:   03 05 ef ff                 b.d        0x9c6

 cca:   42 87                       ld_s       r2,[r15,8]
 ccc:   d4 f7                       bls_s      0xcf4

 cce:   8a 26 0f 0c                 mov        r6,0x3f0
 cd2:   95 05 ef ff                 b.d        0xa64

 cd6:   8a 24 81 0f                 mov        r4,126
 cda:   e0 78                       nop_s      
 cdc:   06 22 8a 11                 bic        r10,r10,r6
 ce0:   c7 06 ef ff                 b.d        0xba6

 ce4:   04 1f 80 12                 st         r10,[r15,4]
 ce8:   40 2e 46 00                 asl        r6,r6,1
 cec:   cf 06 ef ff                 b.d        0xbba

 cf0:   40 23 0b 11                 add        r11,r11,4
 cf4:   41 2a 84 04                 lsr        r4,r2,18
 cf8:   80 24 01 0f                 add        r4,r4,124
 cfc:   69 05 ef ff                 b.d        0xa64

 d00:   40 2c c6 00                 asl        r6,r4,3
 d04:   e0 78                       nop_s      
 d06:   4a 26 00 70                 nop        
 d0a:   e0 7e                       j_s        [blink]
 d0c:   e0 78                       nop_s      
 d0e:   4a 26 00 70                 nop        
 d12:   e0 7e                       j_s        [blink]
 d14:   cf 73 00 00 70 39           mov_s      r3,0x3970
 d1a:   00 13 02 00                 ld         r2,[r3,0]
 d1e:   35 0a 10 00                 breq       r2,0,0xd50

 d22:   47 6a                       add_s      r2,r2,7
 d24:   46 22 c2 01                 bic        r2,r2,7
 d28:   39 62                       add_s      r1,r2,r1
 d2a:   00 1b 80 00                 st         r2,[r3]
 d2e:   19 09 84 0f 00 00 74 89     brlo       r1,0x8974,0xd44

 d36:   0c da                       mov_s      r2,12
 d38:   40 a0                       st_s       r2,[r0,0]
 d3a:   8a 22 ff 0f                 mov        r2,-1
 d3e:   e0 7f                       j_s.d      [blink]
 d40:   48 70                       mov_s      r0,r2
 d42:   e0 78                       nop_s      
 d44:   00 1e 40 70 00 00 70 39     st         r1,[0x3970]
 d4c:   e0 7f                       j_s.d      [blink]
 d4e:   48 70                       mov_s      r0,r2
 d50:   00 22 82 3f 00 00 4c 00     add        r2,gp,76
 d58:   cd 07 ef ff                 b.d        0xd24

 d5c:   47 6a                       add_s      r2,r2,7
 d5e:   e0 78                       nop_s      
 d60:   f1 c0                       push_s     blink
 d62:   f0 1c 48 b3                 st.a       r13,[sp,-16]
 d66:   41 c6                       st_s       r14,[sp,4]
 d68:   42 c7                       st_s       r15,[sp,8]
 d6a:   0c 1c 00 34                 st         r16,[sp,12]
 d6e:   cf 76 00 00 0c 35           mov_s      r14,0x350c
 d74:   1a 71                       mov_s      r16,r1
 d76:   92 0f ef ff                 bl.d       0xd04

 d7a:   08 75                       mov_s      r13,r0
 d7c:   42 86                       ld_s       r2,[r14,8]
 d7e:   04 12 0f 00                 ld         r15,[r2,4]
 d82:   46 27 cf 10                 bic        r15,r15,3
 d86:   00 27 82 1f 00 00 ef 0f     add        r2,r15,0xfef
 d8e:   0e 20 90 20                 rsub       r16,r16,r2
 d92:   41 28 10 23                 lsr        r16,r16,12
 d96:   42 20 50 20                 sub        r16,r16,1
 d9a:   40 28 10 23                 asl        r16,r16,12
 d9e:   1b 0e 03 74 00 00 ff 0f     brge       0xfff,r16,0xdb6

 da6:   a9 70                       mov_s      r0,r13
 da8:   6e 0f ef ff                 bl.d       0xd14

 dac:   00 d9                       mov_s      r1,0
 dae:   42 86                       ld_s       r2,[r14,8]
 db0:   fa 62                       add_s      r2,r2,r15
 db2:   21 08 80 00                 breq       r0,r2,0xdd0

 db6:   5a 0f ef ff                 bl.d       0xd0c

 dba:   a9 70                       mov_s      r0,r13
 dbc:   00 d8                       mov_s      r0,0
 dbe:   10 14 1f 30                 ld         blink,[sp,16]
 dc2:   00 c5                       ld_s       r13,[sp,0]
 dc4:   01 c6                       ld_s       r14,[sp,4]
 dc6:   02 c7                       ld_s       r15,[sp,8]
 dc8:   0c 14 10 30                 ld         r16,[sp,12]
 dcc:   e0 7f                       j_s.d      [blink]
 dce:   a5 c0                       add_s      sp,sp,20
 dd0:   a9 70                       mov_s      r0,r13
 dd2:   46 0f ef ff                 bl.d       0xd14

 dd6:   4e 20 01 20                 rsub       r1,r16,0
 dda:   8c 20 ff 8f                 cmp        r0,-1
 dde:   30 00 01 00                 bz         0xe0c

 de2:   08 16 04 10                 ld         r4,[r14,8]
 de6:   cf 72 00 00 48 39           mov_s      r2,0x3948
 dec:   60 82                       ld_s       r3,[r2,0]
 dee:   02 27 0f 14                 sub        r15,r15,r16
 df2:   80 bf                       bset_s     r15,r15,0
 df4:   0e 20 d0 20                 rsub       r16,r16,r3
 df8:   a9 70                       mov_s      r0,r13
 dfa:   04 1c c0 03                 st         r15,[r4,4]
 dfe:   12 0f ef ff                 bl.d       0xd0c

 e02:   00 1a 00 04                 st         r16,[r2]
 e06:   bb 07 ef ff                 b.d        0xdbe

 e0a:   01 d8                       mov_s      r0,1
 e0c:   a9 70                       mov_s      r0,r13
 e0e:   0a 0f ef ff                 bl.d       0xd14

 e12:   00 d9                       mov_s      r1,0
 e14:   42 86                       ld_s       r2,[r14,8]
 e16:   02 20 83 00                 sub        r3,r0,r2
 e1a:   9f 0b 32 84                 brlt.d     r3,16,0xdb6

 e1e:   02 12 04 36                 ld.as      r4,[gp,2]
 e22:   80 bb                       bset_s     r3,r3,0
 e24:   02 20 00 01                 sub        r0,r0,r4
 e28:   61 a2                       st_s       r3,[r2,4]
 e2a:   00 1e 00 70 00 00 48 39     st         r0,[0x3948]
 e32:   87 07 cf ff                 b          0xdb6

 e36:   e0 78                       nop_s      
 e38:   f1 c0                       push_s     blink
 e3a:   f8 1c 48 b3                 st.a       r13,[sp,-8]
 e3e:   41 c6                       st_s       r14,[sp,4]
 e40:   0a 26 40 90                 mov.f      r14,r1
 e44:   24 01 21 00                 bz.d       0xf68

 e48:   08 75                       mov_s      r13,r0
 e4a:   be 0e cf ff                 bl         0xd04

 e4e:   42 26 03 12                 sub        r3,r14,8
 e52:   04 13 07 00                 ld         r7,[r3,4]
 e56:   0a 26 80 0f 00 00 0c 35     mov        r6,0x350c
 e5e:   08 16 08 00                 ld         r8,[r6,8]
 e62:   50 27 02 00                 bclr       r2,r7,0
 e66:   00 23 84 00                 add        r4,r3,r2
 e6a:   04 14 05 00                 ld         r5,[r4,4]
 e6e:   0c 20 00 91                 cmp        r8,r4
 e72:   64 01 21 00                 bz.d       0xfd4

 e76:   46 25 c5 00                 bic        r5,r5,3
 e7a:   bd 0f 3e 00                 bbit0.d    r7,0,0xf34

 e7e:   04 1c 40 01                 st         r5,[r4,4]
 e82:   4a 27 00 00                 mov        r7,0
 e86:   00 24 48 01                 add        r8,r4,r5
 e8a:   04 10 08 10                 ld         r8,[r8,4]
 e8e:   23 08 3f 10                 bbit1.d    r8,0,0xeae

 e92:   0b 27 c0 81                 tst        r7,r7
 e96:   0c 01 21 00                 bz.d       0xfa0

 e9a:   00 22 42 01                 add        r2,r2,r5
 e9e:   08 14 05 00                 ld         r5,[r4,8]
 ea2:   0c 14 04 00                 ld         r4,[r4,12]
 ea6:   08 1c 40 01                 st         r5,[r4,8]
 eaa:   0c 1d 00 01                 st         r4,[r5,12]
 eae:   45 22 45 00                 or         r5,r2,1
 eb2:   00 23 84 00                 add        r4,r3,r2
 eb6:   04 1b 40 01                 st         r5,[r3,4]
 eba:   6d 0f 31 00                 brne.d     r7,0,0xf24

 ebe:   00 1c 80 00                 st         r2,[r4]
 ec2:   8c 22 c7 8f                 cmp        r2,0x1ff
 ec6:   b0 00 2e 00                 bls.d      0xf74

 eca:   c1 2a ee 00                 lsr.ls     r2,r2,3
 ece:   41 2a 44 02                 lsr        r4,r2,9
 ed2:   4c 24 00 81                 cmp        r4,4
 ed6:   4c 01 2d 00                 bhi.d      0x1020

 eda:   41 2a 85 01                 lsr        r5,r2,6
 ede:   40 25 05 0e                 add        r5,r5,56
 ee2:   40 2d c7 00                 asl        r7,r5,3
 ee6:   00 27 87 01                 add        r7,r7,r6
 eea:   08 17 04 00                 ld         r4,[r7,8]
 eee:   1d 0c c1 01                 brne       r4,r7,0xf08

 ef2:   04 16 07 00                 ld         r7,[r6,4]
 ef6:   45 01 20 00                 b.d        0x1038

 efa:   42 2d 85 00                 asr        r5,r5,2
 efe:   e0 78                       nop_s      
 f00:   08 14 04 00                 ld         r4,[r4,8]
 f04:   11 0f 00 01                 breq       r7,r4,0xf14

 f08:   04 14 05 00                 ld         r5,[r4,4]
 f0c:   46 25 c5 00                 bic        r5,r5,3
 f10:   f1 0a 44 81                 brlo       r2,r5,0xf00

 f14:   0c 14 02 00                 ld         r2,[r4,12]
 f18:   43 a3                       st_s       r2,[r3,12]
 f1a:   08 1b 00 01                 st         r4,[r3,8]
 f1e:   0c 1c c0 00                 st         r3,[r4,12]
 f22:   62 a2                       st_s       r3,[r2,8]
 f24:   08 14 1f 30                 ld         blink,[sp,8]
 f28:   a9 70                       mov_s      r0,r13
 f2a:   01 c6                       ld_s       r14,[sp,4]
 f2c:   00 c5                       ld_s       r13,[sp,0]
 f2e:   e1 05 ef ff                 b.d        0xd0c

 f32:   a3 c0                       add_s      sp,sp,12
 f34:   f8 16 07 90                 ld         r7,[r14,-8]
 f38:   02 23 c3 01                 sub        r3,r3,r7
 f3c:   08 13 08 00                 ld         r8,[r3,8]
 f40:   e0 72                       add_s      r2,r2,r7
 f42:   0c 20 80 9f 00 00 14 35     cmp        r8,0x3514
 f4a:   3e 07 e1 ff                 bz.d       0xe86

 f4e:   ca 27 61 00                 mov.z      r7,1
 f52:   0c 13 09 00                 ld         r9,[r3,12]
 f56:   4a 27 00 00                 mov        r7,0
 f5a:   08 19 00 12                 st         r8,[r9,8]
 f5e:   2b 07 ef ff                 b.d        0xe86

 f62:   0c 18 40 12                 st         r9,[r8,12]
 f66:   e0 78                       nop_s      
 f68:   08 14 1f 30                 ld         blink,[sp,8]
 f6c:   00 c5                       ld_s       r13,[sp,0]
 f6e:   01 c6                       ld_s       r14,[sp,4]
 f70:   e0 7f                       j_s.d      [blink]
 f72:   a3 c0                       add_s      sp,sp,12
 f74:   04 16 07 00                 ld         r7,[r6,4]
 f78:   16 26 84 00                 add3       r4,r6,r2
 f7c:   5a 6a                       asr_s      r2,r2,2
 f7e:   08 14 05 00                 ld         r5,[r4,8]
 f82:   0f 27 82 00                 bset       r2,r7,r2
 f86:   0c 1b 00 01                 st         r4,[r3,12]
 f8a:   08 1b 40 01                 st         r5,[r3,8]
 f8e:   0c 1d c0 00                 st         r3,[r5,12]
 f92:   04 1e 80 00                 st         r2,[r6,4]
 f96:   91 07 ef ff                 b.d        0xf24

 f9a:   08 1c c0 00                 st         r3,[r4,8]
 f9e:   e0 78                       nop_s      
 fa0:   08 14 05 00                 ld         r5,[r4,8]
 fa4:   0c 25 80 8f 00 00 14 35     cmp        r5,0x3514
 fac:   7b f5                       bne_s      0xea2

 fae:   0c 1d c0 00                 st         r3,[r5,12]
 fb2:   08 1d c0 00                 st         r3,[r5,8]
 fb6:   00 23 86 00                 add        r6,r3,r2
 fba:   45 22 44 00                 or         r4,r2,1
 fbe:   00 1e 80 00                 st         r2,[r6]
 fc2:   08 1b 40 01                 st         r5,[r3,8]
 fc6:   04 1b 00 01                 st         r4,[r3,4]
 fca:   5d 07 ef ff                 b.d        0xf24

 fce:   0c 1b 40 01                 st         r5,[r3,12]
 fd2:   e0 78                       nop_s      
 fd4:   21 0f 3f 00                 bbit1.d    r7,0,0xff4

 fd8:   a0 72                       add_s      r2,r2,r5
 fda:   f8 16 07 90                 ld         r7,[r14,-8]
 fde:   02 23 c3 01                 sub        r3,r3,r7
 fe2:   0c 13 05 00                 ld         r5,[r3,12]
 fe6:   08 13 04 00                 ld         r4,[r3,8]
 fea:   e0 72                       add_s      r2,r2,r7
 fec:   08 1d 00 01                 st         r4,[r5,8]
 ff0:   0c 1c 40 01                 st         r5,[r4,12]
 ff4:   45 22 44 00                 or         r4,r2,1
 ff8:   08 1e c0 00                 st         r3,[r6,8]
 ffc:   04 1b 00 01                 st         r4,[r3,4]
1000:   01 12 03 36                 ld.as      r3,[gp,1]
1004:   25 0a e4 80                 brlo.d     r2,r3,0xf28

1008:   08 14 1f 30                 ld         blink,[sp,8]
100c:   03 12 01 36                 ld.as      r1,[gp,3]
1010:   52 0d ef ff                 bl.d       0xd60

1014:   a9 70                       mov_s      r0,r13
1016:   15 07 ef ff                 b.d        0xf28

101a:   08 14 1f 30                 ld         blink,[sp,8]
101e:   e0 78                       nop_s      
1020:   29 0c 75 05                 brhs.d     r4,21,0x1048

1024:   8c 24 01 85                 cmp        r4,84
1028:   0a 25 00 01                 mov        r5,r4
102c:   80 25 c1 06                 add        r5,r5,91
1030:   b7 06 ef ff                 b.d        0xee6

1034:   40 2d c7 00                 asl        r7,r5,3
1038:   88 72                       mov_s      r2,r4
103a:   0f 27 45 01                 bset       r5,r7,r5
103e:   dd 06 ef ff                 b.d        0xf18

1042:   04 1e 40 01                 st         r5,[r6,4]
1046:   e0 78                       nop_s      
1048:   18 00 2d 00                 bhi.d      0x1060

104c:   8c 24 05 85                 cmp        r4,0x154
1050:   41 2a 05 03                 lsr        r5,r2,12
1054:   80 25 81 0b                 add        r5,r5,110
1058:   8f 06 ef ff                 b.d        0xee6

105c:   40 2d c7 00                 asl        r7,r5,3
1060:   18 00 2d 00                 bhi.d      0x1078

1064:   8c 24 15 85                 cmp        r4,0x554
1068:   41 2a c5 03                 lsr        r5,r2,15
106c:   80 25 c1 0d                 add        r5,r5,119
1070:   77 06 ef ff                 b.d        0xee6

1074:   40 2d c7 00                 asl        r7,r5,3
1078:   c8 f7                       bls_s      0x1088

107a:   8a 27 0f 0c                 mov        r7,0x3f0
107e:   6b 06 ef ff                 b.d        0xee6

1082:   8a 25 81 0f                 mov        r5,126
1086:   e0 78                       nop_s      
1088:   41 2a 85 04                 lsr        r5,r2,18
108c:   80 25 01 0f                 add        r5,r5,124
1090:   57 06 ef ff                 b.d        0xee6

1094:   40 2d c7 00                 asl        r7,r5,3
1098:   00 16 02 70 00 00 14 39     ld         r2,[0x3914]
10a0:   f1 c0                       push_s     blink
10a2:   8c 22 ff 8f                 cmp        r2,-1
10a6:   1e 00 21 00                 bz.d       0x10c2

10aa:   fc 1c 48 b3                 st.a       r13,[sp,-4]
10ae:   cf 75 00 00 14 39           mov_s      r13,0x3914
10b4:   40 7a                       jl_s       [r2]
10b6:   fc 15 02 92                 ld.a       r2,[r13,-4]
10ba:   8c 22 ff 8f                 cmp        r2,-1
10be:   f8 07 c2 ff                 bnz        0x10b4

10c2:   04 14 1f 30                 ld         blink,[sp,4]
10c6:   00 c5                       ld_s       r13,[sp,0]
10c8:   e0 7f                       j_s.d      [blink]
10ca:   a2 c0                       add_s      sp,sp,8

Disassembly of section .fini:

000010cc <.fini>: 10cc: 00 00 00 00
10d0: f1 c0 push_s blink 10d2: c2 08 8f ff bl 0x190

10d6:   d1 c0                       pop_s      blink
10d8:   e0 7e                       j_s        [blink]

$

XVilka commented 11 years ago

Confirm.