1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
apps/plugins/cube.rock:     file format elf32-littlearm


Disassembly of section .text:

00000000 <__header>:
   0:  4b 63 6f 52 3e 00 dc 00 00 00 00 00 00 00 00 00     KcoR>...........
  ...
      10: R_ARM_ABS32  plugin__start
      14: R_ARM_ABS32  rb

00000018 <cleanup>:
  18:  4770        bx  lr
  1a:  46c0        nop      ; (mov r8, r8)

0000001c <plugin_start>:
  1c:  b5f0        push  {r4, r5, r6, r7, lr}
  1e:  465f        mov  r7, fp
  20:  4656        mov  r6, sl
  22:  464d        mov  r5, r9
  24:  4644        mov  r4, r8
  26:  b4f0        push  {r4, r5, r6, r7}
  28:  b099        sub  sp, #100  ; 0x64
  2a:  4bdc        ldr  r3, [pc, #880]  ; (39c <plugin_start+0x380>)
  2c:  681b        ldr  r3, [r3, #0]
  2e:  2001        movs  r0, #1
  30:  4240        negs  r0, r0
  32:  6b5b        ldr  r3, [r3, #52]  ; 0x34
  34:  f000 fb3c   bl  6b0 <plugin_start+0x694>
  38:  48d9        ldr  r0, [pc, #868]  ; (a20 <xlcd_filltriangle_screen+0xec>)
  3a:  f7ff fffe   bl  6b8 <rb_atexit>
      3a: R_ARM_THM_CALL  rb_atexit
  3e:  2501        movs  r5, #1
  40:  2000        movs  r0, #0
  42:  900c        str  r0, [sp, #48]  ; 0x30
  44:  900d        str  r0, [sp, #52]  ; 0x34
  46:  900b        str  r0, [sp, #44]  ; 0x2c
  48:  900e        str  r0, [sp, #56]  ; 0x38
  4a:  9009        str  r0, [sp, #36]  ; 0x24
  4c:  4ed5        ldr  r6, [pc, #852]  ; (3a4 <plugin_start+0x388>)
  4e:  4bd6        ldr  r3, [pc, #856]  ; (3a8 <plugin_start+0x38c>)
  50:  3324        adds  r3, #36  ; 0x24
  52:  9307        str  r3, [sp, #28]
  54:  1c33        adds  r3, r6, #0
  56:  3360        adds  r3, #96  ; 0x60
  58:  930f        str  r3, [sp, #60]  ; 0x3c
  5a:  e307        b.n  66c <plugin_start+0x650>
  5c:  4bcf        ldr  r3, [pc, #828]  ; (39c <plugin_start+0x380>)
  5e:  681b        ldr  r3, [r3, #0]
  60:  685b        ldr  r3, [r3, #4]
  62:  f000 fb25   bl  6b0 <plugin_start+0x694>
  66:  4bd1        ldr  r3, [pc, #836]  ; (3ac <plugin_start+0x390>)
  68:  2106        movs  r1, #6
  6a:  5e5d        ldrsh  r5, [r3, r1]
  6c:  220e        movs  r2, #14
  6e:  5e9f        ldrsh  r7, [r3, r2]
  70:  2116        movs  r1, #22
  72:  5e58        ldrsh  r0, [r3, r1]
  74:  4680        mov  r8, r0
  76:  1c28        adds  r0, r5, #0
  78:  f7ff fffe   bl  7f0 <fp14_sin>
      78: R_ARM_THM_CALL  fp14_sin
  7c:  1c04        adds  r4, r0, #0
  7e:  1c28        adds  r0, r5, #0
  80:  f7ff fffe   bl  844 <fp14_cos>
      80: R_ARM_THM_CALL  fp14_cos
  84:  1c05        adds  r5, r0, #0
  86:  1c38        adds  r0, r7, #0
  88:  f7ff fffe   bl  7f0 <fp14_sin>
      88: R_ARM_THM_CALL  fp14_sin
  8c:  9006        str  r0, [sp, #24]
  8e:  1c38        adds  r0, r7, #0
  90:  f7ff fffe   bl  844 <fp14_cos>
      90: R_ARM_THM_CALL  fp14_cos
  94:  9008        str  r0, [sp, #32]
  96:  4640        mov  r0, r8
  98:  f7ff fffe   bl  7f0 <fp14_sin>
      98: R_ARM_THM_CALL  fp14_sin
  9c:  1c07        adds  r7, r0, #0
  9e:  4640        mov  r0, r8
  a0:  f7ff fffe   bl  844 <fp14_cos>
      a0: R_ARM_THM_CALL  fp14_cos
  a4:  9a08        ldr  r2, [sp, #32]
  a6:  1c13        adds  r3, r2, #0
  a8:  4343        muls  r3, r0
  aa:  139b        asrs  r3, r3, #14
  ac:  469b        mov  fp, r3
  ae:  4bbe        ldr  r3, [pc, #760]  ; (3a8 <plugin_start+0x38c>)
  b0:  4659        mov  r1, fp
  b2:  6019        str  r1, [r3, #0]
  b4:  1c11        adds  r1, r2, #0
  b6:  1c0a        adds  r2, r1, #0
  b8:  437a        muls  r2, r7
  ba:  1392        asrs  r2, r2, #14
  bc:  4691        mov  r9, r2
  be:  60da        str  r2, [r3, #12]
  c0:  9a06        ldr  r2, [sp, #24]
  c2:  4252        negs  r2, r2
  c4:  4692        mov  sl, r2
  c6:  619a        str  r2, [r3, #24]
  c8:  9906        ldr  r1, [sp, #24]
  ca:  1c0a        adds  r2, r1, #0
  cc:  4342        muls  r2, r0
  ce:  1392        asrs  r2, r2, #14
  d0:  4690        mov  r8, r2
  d2:  4641        mov  r1, r8
  d4:  4361        muls  r1, r4
  d6:  1c2a        adds  r2, r5, #0
  d8:  437a        muls  r2, r7
  da:  1a8a        subs  r2, r1, r2
  dc:  1392        asrs  r2, r2, #14
  de:  9205        str  r2, [sp, #20]
  e0:  605a        str  r2, [r3, #4]
  e2:  9a06        ldr  r2, [sp, #24]
  e4:  1c11        adds  r1, r2, #0
  e6:  4379        muls  r1, r7
  e8:  1389        asrs  r1, r1, #14
  ea:  9103        str  r1, [sp, #12]
  ec:  1c22        adds  r2, r4, #0
  ee:  434a        muls  r2, r1
  f0:  4694        mov  ip, r2
  f2:  1c2a        adds  r2, r5, #0
  f4:  4342        muls  r2, r0
  f6:  4462        add  r2, ip
  f8:  1392        asrs  r2, r2, #14
  fa:  9206        str  r2, [sp, #24]
  fc:  611a        str  r2, [r3, #16]
  fe:  9a08        ldr  r2, [sp, #32]
 100:  1c21        adds  r1, r4, #0
 102:  4351        muls  r1, r2
 104:  1389        asrs  r1, r1, #14
 106:  910a        str  r1, [sp, #40]  ; 0x28
 108:  61d9        str  r1, [r3, #28]
 10a:  4641        mov  r1, r8
 10c:  4369        muls  r1, r5
 10e:  468c        mov  ip, r1
 110:  1c22        adds  r2, r4, #0
 112:  437a        muls  r2, r7
 114:  4462        add  r2, ip
 116:  1392        asrs  r2, r2, #14
 118:  4690        mov  r8, r2
 11a:  609a        str  r2, [r3, #8]
 11c:  9a03        ldr  r2, [sp, #12]
 11e:  1c2f        adds  r7, r5, #0
 120:  4357        muls  r7, r2
 122:  1c22        adds  r2, r4, #0
 124:  4342        muls  r2, r0
 126:  1aba        subs  r2, r7, r2
 128:  1392        asrs  r2, r2, #14
 12a:  4694        mov  ip, r2
 12c:  615a        str  r2, [r3, #20]
 12e:  9f08        ldr  r7, [sp, #32]
 130:  1c2a        adds  r2, r5, #0
 132:  437a        muls  r2, r7
 134:  1392        asrs  r2, r2, #14
 136:  9208        str  r2, [sp, #32]
 138:  621a        str  r2, [r3, #32]
 13a:  2300        movs  r3, #0
 13c:  18f2        adds  r2, r6, r3
 13e:  6851        ldr  r1, [r2, #4]
 140:  6892        ldr  r2, [r2, #8]
 142:  58f0        ldr  r0, [r6, r3]
 144:  465d        mov  r5, fp
 146:  4345        muls  r5, r0
 148:  464c        mov  r4, r9
 14a:  434c        muls  r4, r1
 14c:  192d        adds  r5, r5, r4
 14e:  4654        mov  r4, sl
 150:  4354        muls  r4, r2
 152:  192c        adds  r4, r5, r4
 154:  9d07        ldr  r5, [sp, #28]
 156:  50ec        str  r4, [r5, r3]
 158:  18ec        adds  r4, r5, r3
 15a:  9d05        ldr  r5, [sp, #20]
 15c:  1c07        adds  r7, r0, #0
 15e:  436f        muls  r7, r5
 160:  9806        ldr  r0, [sp, #24]
 162:  1c0d        adds  r5, r1, #0
 164:  4345        muls  r5, r0
 166:  197f        adds  r7, r7, r5
 168:  980a        ldr  r0, [sp, #40]  ; 0x28
 16a:  1c15        adds  r5, r2, #0
 16c:  4345        muls  r5, r0
 16e:  197d        adds  r5, r7, r5
 170:  6065        str  r5, [r4, #4]
 172:  58f7        ldr  r7, [r6, r3]
 174:  4645        mov  r5, r8
 176:  437d        muls  r5, r7
 178:  4660        mov  r0, ip
 17a:  4348        muls  r0, r1
 17c:  182d        adds  r5, r5, r0
 17e:  9808        ldr  r0, [sp, #32]
 180:  1c11        adds  r1, r2, #0
 182:  4341        muls  r1, r0
 184:  186d        adds  r5, r5, r1
 186:  60a5        str  r5, [r4, #8]
 188:  330c        adds  r3, #12
 18a:  2b60        cmp  r3, #96  ; 0x60
 18c:  d1d6        bne.n  13c <plugin_start+0x120>
 18e:  4b86        ldr  r3, [pc, #536]  ; (3a8 <plugin_start+0x38c>)
 190:  1c1c        adds  r4, r3, #0
 192:  3424        adds  r4, #36  ; 0x24
 194:  4d86        ldr  r5, [pc, #536]  ; (3b0 <plugin_start+0x394>)
 196:  3504        adds  r5, #4
 198:  3384        adds  r3, #132  ; 0x84
 19a:  4698        mov  r8, r3
 19c:  2796        movs  r7, #150  ; 0x96
 19e:  043f        lsls  r7, r7, #16
 1a0:  6820        ldr  r0, [r4, #0]
 1a2:  0200        lsls  r0, r0, #8
 1a4:  68a1        ldr  r1, [r4, #8]
 1a6:  1879        adds  r1, r7, r1
 1a8:  f7ff fffe   bl  b28 <__aeabi_idiv>
      1a8: R_ARM_THM_CALL  __aeabi_idiv
 1ac:  3058        adds  r0, #88  ; 0x58
 1ae:  6028        str  r0, [r5, #0]
 1b0:  6860        ldr  r0, [r4, #4]
 1b2:  0200        lsls  r0, r0, #8
 1b4:  68a1        ldr  r1, [r4, #8]
 1b6:  1879        adds  r1, r7, r1
 1b8:  f7ff fffe   bl  b28 <__aeabi_idiv>
      1b8: R_ARM_THM_CALL  __aeabi_idiv
 1bc:  3042        adds  r0, #66  ; 0x42
 1be:  6068        str  r0, [r5, #4]
 1c0:  340c        adds  r4, #12
 1c2:  3508        adds  r5, #8
 1c4:  4544        cmp  r4, r8
 1c6:  d1eb        bne.n  1a0 <plugin_start+0x184>
 1c8:  4b79        ldr  r3, [pc, #484]  ; (3b0 <plugin_start+0x394>)
 1ca:  6c5b        ldr  r3, [r3, #68]  ; 0x44
 1cc:  2b01        cmp  r3, #1
 1ce:  d100        bne.n  1d2 <plugin_start+0x1b6>
 1d0:  e083        b.n  2da <plugin_start+0x2be>
 1d2:  2b02        cmp  r3, #2
 1d4:  d100        bne.n  1d8 <plugin_start+0x1bc>
 1d6:  e0ef        b.n  3b8 <plugin_start+0x39c>
 1d8:  2b00        cmp  r3, #0
 1da:  d000        beq.n  1de <plugin_start+0x1c2>
 1dc:  e105        b.n  3ea <plugin_start+0x3ce>
 1de:  4b6f        ldr  r3, [pc, #444]  ; (39c <plugin_start+0x380>)
 1e0:  681b        ldr  r3, [r3, #0]
 1e2:  6ddb        ldr  r3, [r3, #92]  ; 0x5c
 1e4:  f000 fa64   bl  6b0 <plugin_start+0x694>
 1e8:  9008        str  r0, [sp, #32]
 1ea:  4b6e        ldr  r3, [pc, #440]  ; (3a4 <plugin_start+0x388>)
 1ec:  1c1c        adds  r4, r3, #0
 1ee:  3460        adds  r4, #96  ; 0x60
 1f0:  4d70        ldr  r5, [pc, #448]  ; (3b4 <plugin_start+0x398>)
 1f2:  3520        adds  r5, #32
 1f4:  2190        movs  r1, #144  ; 0x90
 1f6:  0049        lsls  r1, r1, #1
 1f8:  1859        adds  r1, r3, r1
 1fa:  910a        str  r1, [sp, #40]  ; 0x28
 1fc:  4a6c        ldr  r2, [pc, #432]  ; (3b0 <plugin_start+0x394>)
 1fe:  4692        mov  sl, r2
 200:  6863        ldr  r3, [r4, #4]
 202:  4698        mov  r8, r3
 204:  00da        lsls  r2, r3, #3
 206:  4452        add  r2, sl
 208:  6857        ldr  r7, [r2, #4]
 20a:  9706        str  r7, [sp, #24]
 20c:  6820        ldr  r0, [r4, #0]
 20e:  9003        str  r0, [sp, #12]
 210:  68a1        ldr  r1, [r4, #8]
 212:  9105        str  r1, [sp, #20]
 214:  6891        ldr  r1, [r2, #8]
 216:  9a05        ldr  r2, [sp, #20]
 218:  00d0        lsls  r0, r2, #3
 21a:  4450        add  r0, sl
 21c:  6842        ldr  r2, [r0, #4]
 21e:  1abf        subs  r7, r7, r2
 220:  9b03        ldr  r3, [sp, #12]
 222:  00da        lsls  r2, r3, #3
 224:  4452        add  r2, sl
 226:  6893        ldr  r3, [r2, #8]
 228:  1acb        subs  r3, r1, r3
 22a:  469b        mov  fp, r3
 22c:  465b        mov  r3, fp
 22e:  437b        muls  r3, r7
 230:  469c        mov  ip, r3
 232:  6880        ldr  r0, [r0, #8]
 234:  1a41        subs  r1, r0, r1
 236:  6852        ldr  r2, [r2, #4]
 238:  9f06        ldr  r7, [sp, #24]
 23a:  1abb        subs  r3, r7, r2
 23c:  1c1a        adds  r2, r3, #0
 23e:  434a        muls  r2, r1
 240:  4462        add  r2, ip
 242:  2a00        cmp  r2, #0
 244:  dd3c        ble.n  2c0 <plugin_start+0x2a4>
 246:  4855        ldr  r0, [pc, #340]  ; (39c <plugin_start+0x380>)
 248:  6803        ldr  r3, [r0, #0]
 24a:  6828        ldr  r0, [r5, #0]
 24c:  6d9b        ldr  r3, [r3, #88]  ; 0x58
 24e:  f000 fa2f   bl  6b0 <plugin_start+0x694>
 252:  9903        ldr  r1, [sp, #12]
 254:  00cf        lsls  r7, r1, #3
 256:  4a56        ldr  r2, [pc, #344]  ; (3b0 <plugin_start+0x394>)
 258:  19d7        adds  r7, r2, r7
 25a:  1d3b        adds  r3, r7, #4
 25c:  4699        mov  r9, r3
 25e:  6818        ldr  r0, [r3, #0]
 260:  4684        mov  ip, r0
 262:  3708        adds  r7, #8
 264:  46bb        mov  fp, r7
 266:  6839        ldr  r1, [r7, #0]
 268:  9106        str  r1, [sp, #24]
 26a:  4642        mov  r2, r8
 26c:  00d3        lsls  r3, r2, #3
 26e:  4f50        ldr  r7, [pc, #320]  ; (3b0 <plugin_start+0x394>)
 270:  18fb        adds  r3, r7, r3
 272:  685a        ldr  r2, [r3, #4]
 274:  689b        ldr  r3, [r3, #8]
 276:  9805        ldr  r0, [sp, #20]
 278:  00c1        lsls  r1, r0, #3
 27a:  187f        adds  r7, r7, r1
 27c:  46b8        mov  r8, r7
 27e:  3704        adds  r7, #4
 280:  6839        ldr  r1, [r7, #0]
 282:  9100        str  r1, [sp, #0]
 284:  2108        movs  r1, #8
 286:  4488        add  r8, r1
 288:  4640        mov  r0, r8
 28a:  6800        ldr  r0, [r0, #0]
 28c:  9001        str  r0, [sp, #4]
 28e:  4660        mov  r0, ip
 290:  9906        ldr  r1, [sp, #24]
 292:  f7ff fffe   bl  af4 <xlcd_filltriangle>
      292: R_ARM_THM_CALL  xlcd_filltriangle
 296:  4649        mov  r1, r9
 298:  6808        ldr  r0, [r1, #0]
 29a:  465a        mov  r2, fp
 29c:  6811        ldr  r1, [r2, #0]
 29e:  683a        ldr  r2, [r7, #0]
 2a0:  4643        mov  r3, r8
 2a2:  681b        ldr  r3, [r3, #0]
 2a4:  469c        mov  ip, r3
 2a6:  68e7        ldr  r7, [r4, #12]
 2a8:  00ff        lsls  r7, r7, #3
 2aa:  46b8        mov  r8, r7
 2ac:  4b40        ldr  r3, [pc, #256]  ; (3b0 <plugin_start+0x394>)
 2ae:  1c1f        adds  r7, r3, #0
 2b0:  4447        add  r7, r8
 2b2:  687b        ldr  r3, [r7, #4]
 2b4:  9300        str  r3, [sp, #0]
 2b6:  68bf        ldr  r7, [r7, #8]
 2b8:  9701        str  r7, [sp, #4]
 2ba:  4663        mov  r3, ip
 2bc:  f7ff fffe   bl  af4 <xlcd_filltriangle>
      2bc: R_ARM_THM_CALL  xlcd_filltriangle
 2c0:  3420        adds  r4, #32
 2c2:  3504        adds  r5, #4
 2c4:  9f0a        ldr  r7, [sp, #40]  ; 0x28
 2c6:  42bc        cmp  r4, r7
 2c8:  d19a        bne.n  200 <plugin_start+0x1e4>
 2ca:  4b34        ldr  r3, [pc, #208]  ; (39c <plugin_start+0x380>)
 2cc:  681b        ldr  r3, [r3, #0]
 2ce:  6d9b        ldr  r3, [r3, #88]  ; 0x58
 2d0:  9808        ldr  r0, [sp, #32]
 2d2:  f000 f9ed   bl  6b0 <plugin_start+0x694>
 2d6:  2500        movs  r5, #0
 2d8:  e088        b.n  3ec <plugin_start+0x3d0>
 2da:  4b30        ldr  r3, [pc, #192]  ; (39c <plugin_start+0x380>)
 2dc:  681a        ldr  r2, [r3, #0]
 2de:  23a8        movs  r3, #168  ; 0xa8
 2e0:  009b        lsls  r3, r3, #2
 2e2:  58d3        ldr  r3, [r2, r3]
 2e4:  4832        ldr  r0, [pc, #200]  ; (3b0 <plugin_start+0x394>)
 2e6:  3048        adds  r0, #72  ; 0x48
 2e8:  2100        movs  r1, #0
 2ea:  220c        movs  r2, #12
 2ec:  f000 f9e0   bl  6b0 <plugin_start+0x694>
 2f0:  4d2c        ldr  r5, [pc, #176]  ; (3a4 <plugin_start+0x388>)
 2f2:  3560        adds  r5, #96  ; 0x60
 2f4:  2000        movs  r0, #0
 2f6:  492e        ldr  r1, [pc, #184]  ; (3b0 <plugin_start+0x394>)
 2f8:  468a        mov  sl, r1
 2fa:  468b        mov  fp, r1
 2fc:  4681        mov  r9, r0
 2fe:  6869        ldr  r1, [r5, #4]
 300:  4c2b        ldr  r4, [pc, #172]  ; (3b0 <plugin_start+0x394>)
 302:  00c9        lsls  r1, r1, #3
 304:  1861        adds  r1, r4, r1
 306:  684b        ldr  r3, [r1, #4]
 308:  682a        ldr  r2, [r5, #0]
 30a:  68a8        ldr  r0, [r5, #8]
 30c:  6889        ldr  r1, [r1, #8]
 30e:  00c0        lsls  r0, r0, #3
 310:  1820        adds  r0, r4, r0
 312:  6847        ldr  r7, [r0, #4]
 314:  1bdf        subs  r7, r3, r7
 316:  00d2        lsls  r2, r2, #3
 318:  18a2        adds  r2, r4, r2
 31a:  6894        ldr  r4, [r2, #8]
 31c:  1b0c        subs  r4, r1, r4
 31e:  46a4        mov  ip, r4
 320:  4664        mov  r4, ip
 322:  437c        muls  r4, r7
 324:  6880        ldr  r0, [r0, #8]
 326:  1a41        subs  r1, r0, r1
 328:  6852        ldr  r2, [r2, #4]
 32a:  1a9b        subs  r3, r3, r2
 32c:  1c1a        adds  r2, r3, #0
 32e:  434a        muls  r2, r1
 330:  18a4        adds  r4, r4, r2
 332:  2c00        cmp  r4, #0
 334:  dd2a        ble.n  38c <plugin_start+0x370>
 336:  464a        mov  r2, r9
 338:  0157        lsls  r7, r2, #5
 33a:  3710        adds  r7, #16
 33c:  9b0f        ldr  r3, [sp, #60]  ; 0x3c
 33e:  19df        adds  r7, r3, r7
 340:  2000        movs  r0, #0
 342:  46a8        mov  r8, r5
 344:  1c05        adds  r5, r0, #0
 346:  683b        ldr  r3, [r7, #0]
 348:  4651        mov  r1, sl
 34a:  18ca        adds  r2, r1, r3
 34c:  3248        adds  r2, #72  ; 0x48
 34e:  7812        ldrb  r2, [r2, #0]
 350:  2a00        cmp  r2, #0
 352:  d116        bne.n  382 <plugin_start+0x366>
 354:  4658        mov  r0, fp
 356:  18c2        adds  r2, r0, r3
 358:  3248        adds  r2, #72  ; 0x48
 35a:  2101        movs  r1, #1
 35c:  7011        strb  r1, [r2, #0]
 35e:  00db        lsls  r3, r3, #3
 360:  4a14        ldr  r2, [pc, #80]  ; (3b4 <plugin_start+0x398>)
 362:  18d3        adds  r3, r2, r3
 364:  6b9a        ldr  r2, [r3, #56]  ; 0x38
 366:  6bdb        ldr  r3, [r3, #60]  ; 0x3c
 368:  480c        ldr  r0, [pc, #48]  ; (39c <plugin_start+0x380>)
 36a:  6804        ldr  r4, [r0, #0]
 36c:  00d2        lsls  r2, r2, #3
 36e:  445a        add  r2, fp
 370:  6850        ldr  r0, [r2, #4]
 372:  6891        ldr  r1, [r2, #8]
 374:  00db        lsls  r3, r3, #3
 376:  445b        add  r3, fp
 378:  685a        ldr  r2, [r3, #4]
 37a:  689b        ldr  r3, [r3, #8]
 37c:  6be4        ldr  r4, [r4, #60]  ; 0x3c
 37e:  f000 f998   bl  6b2 <plugin_start+0x696>
 382:  3501        adds  r5, #1
 384:  3704        adds  r7, #4
 386:  2d04        cmp  r5, #4
 388:  d1dd        bne.n  346 <plugin_start+0x32a>
 38a:  4645        mov  r5, r8
 38c:  2101        movs  r1, #1
 38e:  4489        add  r9, r1
 390:  3520        adds  r5, #32
 392:  464a        mov  r2, r9
 394:  2a06        cmp  r2, #6
 396:  d1b2        bne.n  2fe <plugin_start+0x2e2>
 398:  e027        b.n  3ea <plugin_start+0x3ce>
 39a:  46c0        nop      ; (mov r8, r8)
  ...
      39c: R_ARM_ABS32  rb
      3a0: R_ARM_ABS32  cleanup
 3a4:  00000c70   .word  0x00000c70
      3a4: R_ARM_ABS32  .text
  ...
      3a8: R_ARM_ABS32  .bss
      3ac: R_ARM_ABS32  .data
 3b0:  00000080   .word  0x00000080
      3b0: R_ARM_ABS32  .bss
 3b4:  00000d70   .word  0x00000d70
      3b4: R_ARM_ABS32  .text
 3b8:  4bb2        ldr  r3, [pc, #712]  ; (684 <plugin_start+0x668>)
 3ba:  1c1c        adds  r4, r3, #0
 3bc:  3438        adds  r4, #56  ; 0x38
 3be:  3398        adds  r3, #152  ; 0x98
 3c0:  4698        mov  r8, r3
 3c2:  4db1        ldr  r5, [pc, #708]  ; (688 <plugin_start+0x66c>)
 3c4:  4bb1        ldr  r3, [pc, #708]  ; (68c <plugin_start+0x670>)
 3c6:  469a        mov  sl, r3
 3c8:  6822        ldr  r2, [r4, #0]
 3ca:  6863        ldr  r3, [r4, #4]
 3cc:  682f        ldr  r7, [r5, #0]
 3ce:  00d2        lsls  r2, r2, #3
 3d0:  4452        add  r2, sl
 3d2:  6850        ldr  r0, [r2, #4]
 3d4:  6891        ldr  r1, [r2, #8]
 3d6:  00db        lsls  r3, r3, #3
 3d8:  4453        add  r3, sl
 3da:  685a        ldr  r2, [r3, #4]
 3dc:  689b        ldr  r3, [r3, #8]
 3de:  6bff        ldr  r7, [r7, #60]  ; 0x3c
 3e0:  f000 f968   bl  6b4 <plugin_start+0x698>
 3e4:  3408        adds  r4, #8
 3e6:  4544        cmp  r4, r8
 3e8:  d1ee        bne.n  3c8 <plugin_start+0x3ac>
 3ea:  2500        movs  r5, #0
 3ec:  9809        ldr  r0, [sp, #36]  ; 0x24
 3ee:  2800        cmp  r0, #0
 3f0:  dd33        ble.n  45a <plugin_start+0x43e>
 3f2:  3801        subs  r0, #1
 3f4:  9009        str  r0, [sp, #36]  ; 0x24
 3f6:  4ba4        ldr  r3, [pc, #656]  ; (688 <plugin_start+0x66c>)
 3f8:  681a        ldr  r2, [r3, #0]
 3fa:  239e        movs  r3, #158  ; 0x9e
 3fc:  009b        lsls  r3, r3, #2
 3fe:  58d7        ldr  r7, [r2, r3]
 400:  990b        ldr  r1, [sp, #44]  ; 0x2c
 402:  00ca        lsls  r2, r1, #3
 404:  4ba2        ldr  r3, [pc, #648]  ; (690 <plugin_start+0x674>)
 406:  58d3        ldr  r3, [r2, r3]
 408:  9a0c        ldr  r2, [sp, #48]  ; 0x30
 40a:  2a00        cmp  r2, #0
 40c:  d005        beq.n  41a <plugin_start+0x3fe>
 40e:  00ca        lsls  r2, r1, #3
 410:  499f        ldr  r1, [pc, #636]  ; (690 <plugin_start+0x674>)
 412:  188a        adds  r2, r1, r2
 414:  2006        movs  r0, #6
 416:  5e11        ldrsh  r1, [r2, r0]
 418:  e005        b.n  426 <plugin_start+0x40a>
 41a:  990b        ldr  r1, [sp, #44]  ; 0x2c
 41c:  00ca        lsls  r2, r1, #3
 41e:  499c        ldr  r1, [pc, #624]  ; (690 <plugin_start+0x674>)
 420:  188a        adds  r2, r1, r2
 422:  2004        movs  r0, #4
 424:  5e11        ldrsh  r1, [r2, r0]
 426:  9a0d        ldr  r2, [sp, #52]  ; 0x34
 428:  2a00        cmp  r2, #0
 42a:  d101        bne.n  430 <plugin_start+0x414>
 42c:  4a99        ldr  r2, [pc, #612]  ; (694 <plugin_start+0x678>)
 42e:  e000        b.n  432 <plugin_start+0x416>
 430:  4a99        ldr  r2, [pc, #612]  ; (698 <plugin_start+0x67c>)
 432:  ac10        add  r4, sp, #64  ; 0x40
 434:  9100        str  r1, [sp, #0]
 436:  9201        str  r2, [sp, #4]
 438:  1c20        adds  r0, r4, #0
 43a:  211e        movs  r1, #30
 43c:  4a97        ldr  r2, [pc, #604]  ; (69c <plugin_start+0x680>)
 43e:  f000 f939   bl  6b4 <plugin_start+0x698>
 442:  4b91        ldr  r3, [pc, #580]  ; (688 <plugin_start+0x66c>)
 444:  681b        ldr  r3, [r3, #0]
 446:  68db        ldr  r3, [r3, #12]
 448:  2000        movs  r0, #0
 44a:  217c        movs  r1, #124  ; 0x7c
 44c:  1c22        adds  r2, r4, #0
 44e:  f000 f92f   bl  6b0 <plugin_start+0x694>
 452:  9b09        ldr  r3, [sp, #36]  ; 0x24
 454:  2b00        cmp  r3, #0
 456:  d100        bne.n  45a <plugin_start+0x43e>
 458:  2501        movs  r5, #1
 45a:  4b8b        ldr  r3, [pc, #556]  ; (688 <plugin_start+0x66c>)
 45c:  681b        ldr  r3, [r3, #0]
 45e:  681b        ldr  r3, [r3, #0]
 460:  f000 f926   bl  6b0 <plugin_start+0x694>
 464:  9f0c        ldr  r7, [sp, #48]  ; 0x30
 466:  2f00        cmp  r7, #0
 468:  d13b        bne.n  4e2 <plugin_start+0x4c6>
 46a:  4d89        ldr  r5, [pc, #548]  ; (690 <plugin_start+0x674>)
 46c:  1dab        adds  r3, r5, #6
 46e:  351e        adds  r5, #30
 470:  4c8b        ldr  r4, [pc, #556]  ; (6a0 <plugin_start+0x684>)
 472:  20b4        movs  r0, #180  ; 0xb4
 474:  0040        lsls  r0, r0, #1
 476:  4684        mov  ip, r0
 478:  4f8a        ldr  r7, [pc, #552]  ; (6a4 <plugin_start+0x688>)
 47a:  1e9a        subs  r2, r3, #2
 47c:  8811        ldrh  r1, [r2, #0]
 47e:  881a        ldrh  r2, [r3, #0]
 480:  188a        adds  r2, r1, r2
 482:  0412        lsls  r2, r2, #16
 484:  0c12        lsrs  r2, r2, #16
 486:  801a        strh  r2, [r3, #0]
 488:  0411        lsls  r1, r2, #16
 48a:  1409        asrs  r1, r1, #16
 48c:  42a1        cmp  r1, r4
 48e:  dd02        ble.n  496 <plugin_start+0x47a>
 490:  19d2        adds  r2, r2, r7
 492:  801a        strh  r2, [r3, #0]
 494:  e004        b.n  4a0 <plugin_start+0x484>
 496:  0410        lsls  r0, r2, #16
 498:  2800        cmp  r0, #0
 49a:  da01        bge.n  4a0 <plugin_start+0x484>
 49c:  4462        add  r2, ip
 49e:  801a        strh  r2, [r3, #0]
 4a0:  3308        adds  r3, #8
 4a2:  42ab        cmp  r3, r5
 4a4:  d1e9        bne.n  47a <plugin_start+0x45e>
 4a6:  9a0d        ldr  r2, [sp, #52]  ; 0x34
 4a8:  2a00        cmp  r2, #0
 4aa:  d007        beq.n  4bc <plugin_start+0x4a0>
 4ac:  4b76        ldr  r3, [pc, #472]  ; (688 <plugin_start+0x66c>)
 4ae:  681a        ldr  r2, [r3, #0]
 4b0:  23e8        movs  r3, #232  ; 0xe8
 4b2:  005b        lsls  r3, r3, #1
 4b4:  58d3        ldr  r3, [r2, r3]
 4b6:  f000 f8fb   bl  6b0 <plugin_start+0x694>
 4ba:  e007        b.n  4cc <plugin_start+0x4b0>
 4bc:  4b72        ldr  r3, [pc, #456]  ; (688 <plugin_start+0x66c>)
 4be:  681a        ldr  r2, [r3, #0]
 4c0:  23e6        movs  r3, #230  ; 0xe6
 4c2:  005b        lsls  r3, r3, #1
 4c4:  58d3        ldr  r3, [r2, r3]
 4c6:  2004        movs  r0, #4
 4c8:  f000 f8f2   bl  6b0 <plugin_start+0x694>
 4cc:  4b6e        ldr  r3, [pc, #440]  ; (688 <plugin_start+0x66c>)
 4ce:  681a        ldr  r2, [r3, #0]
 4d0:  2394        movs  r3, #148  ; 0x94
 4d2:  005b        lsls  r3, r3, #1
 4d4:  58d3        ldr  r3, [r2, r3]
 4d6:  2000        movs  r0, #0
 4d8:  f000 f8ea   bl  6b0 <plugin_start+0x694>
 4dc:  1c04        adds  r4, r0, #0
 4de:  2501        movs  r5, #1
 4e0:  e008        b.n  4f4 <plugin_start+0x4d8>
 4e2:  4b69        ldr  r3, [pc, #420]  ; (688 <plugin_start+0x66c>)
 4e4:  681a        ldr  r2, [r3, #0]
 4e6:  2396        movs  r3, #150  ; 0x96
 4e8:  005b        lsls  r3, r3, #1
 4ea:  58d3        ldr  r3, [r2, r3]
 4ec:  2004        movs  r0, #4
 4ee:  f000 f8df   bl  6b0 <plugin_start+0x694>
 4f2:  1c04        adds  r4, r0, #0
 4f4:  2c10        cmp  r4, #16
 4f6:  d024        beq.n  542 <plugin_start+0x526>
 4f8:  2c10        cmp  r4, #16
 4fa:  dc0e        bgt.n  51a <plugin_start+0x4fe>
 4fc:  2c03        cmp  r4, #3
 4fe:  d100        bne.n  502 <plugin_start+0x4e6>
 500:  e0a7        b.n  652 <plugin_start+0x636>
 502:  2c03        cmp  r4, #3
 504:  dc03        bgt.n  50e <plugin_start+0x4f2>
 506:  2c02        cmp  r4, #2
 508:  d000        beq.n  50c <plugin_start+0x4f0>
 50a:  e0a5        b.n  658 <plugin_start+0x63c>
 50c:  e082        b.n  614 <plugin_start+0x5f8>
 50e:  2c04        cmp  r4, #4
 510:  d07b        beq.n  60a <plugin_start+0x5ee>
 512:  2c08        cmp  r4, #8
 514:  d000        beq.n  518 <plugin_start+0x4fc>
 516:  e09f        b.n  658 <plugin_start+0x63c>
 518:  e06d        b.n  5f6 <plugin_start+0x5da>
 51a:  4b63        ldr  r3, [pc, #396]  ; (6a8 <plugin_start+0x68c>)
 51c:  429c        cmp  r4, r3
 51e:  d100        bne.n  522 <plugin_start+0x506>
 520:  e08c        b.n  63c <plugin_start+0x620>
 522:  429c        cmp  r4, r3
 524:  dc05        bgt.n  532 <plugin_start+0x516>
 526:  2c20        cmp  r4, #32
 528:  d039        beq.n  59e <plugin_start+0x582>
 52a:  2c40        cmp  r4, #64  ; 0x40
 52c:  d000        beq.n  530 <plugin_start+0x514>
 52e:  e093        b.n  658 <plugin_start+0x63c>
 530:  e07d        b.n  62e <plugin_start+0x612>
 532:  4b5e        ldr  r3, [pc, #376]  ; (6ac <plugin_start+0x690>)
 534:  429c        cmp  r4, r3
 536:  d004        beq.n  542 <plugin_start+0x526>
 538:  3310        adds  r3, #16
 53a:  429c        cmp  r4, r3
 53c:  d000        beq.n  540 <plugin_start+0x524>
 53e:  e08b        b.n  658 <plugin_start+0x63c>
 540:  e02d        b.n  59e <plugin_start+0x582>
 542:  9b0c        ldr  r3, [sp, #48]  ; 0x30
 544:  2b00        cmp  r3, #0
 546:  d112        bne.n  56e <plugin_start+0x552>
 548:  9d0b        ldr  r5, [sp, #44]  ; 0x2c
 54a:  00eb        lsls  r3, r5, #3
 54c:  4a50        ldr  r2, [pc, #320]  ; (690 <plugin_start+0x674>)
 54e:  18d3        adds  r3, r2, r3
 550:  889b        ldrh  r3, [r3, #4]
 552:  041a        lsls  r2, r3, #16
 554:  1412        asrs  r2, r2, #16
 556:  2a09        cmp  r2, #9
 558:  dd00        ble.n  55c <plugin_start+0x540>
 55a:  e081        b.n  660 <plugin_start+0x644>
 55c:  00ea        lsls  r2, r5, #3
 55e:  3301        adds  r3, #1
 560:  494b        ldr  r1, [pc, #300]  ; (690 <plugin_start+0x674>)
 562:  188a        adds  r2, r1, r2
 564:  8093        strh  r3, [r2, #4]
 566:  2501        movs  r5, #1
 568:  271e        movs  r7, #30
 56a:  9709        str  r7, [sp, #36]  ; 0x24
 56c:  e07b        b.n  666 <plugin_start+0x64a>
 56e:  980b        ldr  r0, [sp, #44]  ; 0x2c
 570:  00c3        lsls  r3, r0, #3
 572:  4a47        ldr  r2, [pc, #284]  ; (690 <plugin_start+0x674>)
 574:  18d2        adds  r2, r2, r3
 576:  88d3        ldrh  r3, [r2, #6]
 578:  3301        adds  r3, #1
 57a:  041b        lsls  r3, r3, #16
 57c:  0c1b        lsrs  r3, r3, #16
 57e:  80d3        strh  r3, [r2, #6]
 580:  0419        lsls  r1, r3, #16
 582:  1409        asrs  r1, r1, #16
 584:  4a46        ldr  r2, [pc, #280]  ; (6a0 <plugin_start+0x684>)
 586:  4291        cmp  r1, r2
 588:  dd6a        ble.n  660 <plugin_start+0x644>
 58a:  00c2        lsls  r2, r0, #3
 58c:  4945        ldr  r1, [pc, #276]  ; (6a4 <plugin_start+0x688>)
 58e:  185b        adds  r3, r3, r1
 590:  493f        ldr  r1, [pc, #252]  ; (690 <plugin_start+0x674>)
 592:  188a        adds  r2, r1, r2
 594:  80d3        strh  r3, [r2, #6]
 596:  2501        movs  r5, #1
 598:  221e        movs  r2, #30
 59a:  9209        str  r2, [sp, #36]  ; 0x24
 59c:  e063        b.n  666 <plugin_start+0x64a>
 59e:  9b0c        ldr  r3, [sp, #48]  ; 0x30
 5a0:  2b00        cmp  r3, #0
 5a2:  d111        bne.n  5c8 <plugin_start+0x5ac>
 5a4:  9d0b        ldr  r5, [sp, #44]  ; 0x2c
 5a6:  00eb        lsls  r3, r5, #3
 5a8:  4a39        ldr  r2, [pc, #228]  ; (690 <plugin_start+0x674>)
 5aa:  18d3        adds  r3, r2, r3
 5ac:  889b        ldrh  r3, [r3, #4]
 5ae:  041a        lsls  r2, r3, #16
 5b0:  1412        asrs  r2, r2, #16
 5b2:  3209        adds  r2, #9
 5b4:  db54        blt.n  660 <plugin_start+0x644>
 5b6:  00ea        lsls  r2, r5, #3
 5b8:  3b01        subs  r3, #1
 5ba:  4935        ldr  r1, [pc, #212]  ; (690 <plugin_start+0x674>)
 5bc:  188a        adds  r2, r1, r2
 5be:  8093        strh  r3, [r2, #4]
 5c0:  2501        movs  r5, #1
 5c2:  271e        movs  r7, #30
 5c4:  9709        str  r7, [sp, #36]  ; 0x24
 5c6:  e04e        b.n  666 <plugin_start+0x64a>
 5c8:  980b        ldr  r0, [sp, #44]  ; 0x2c
 5ca:  00c3        lsls  r3, r0, #3
 5cc:  4a30        ldr  r2, [pc, #192]  ; (690 <plugin_start+0x674>)
 5ce:  18d2        adds  r2, r2, r3
 5d0:  88d3        ldrh  r3, [r2, #6]
 5d2:  3b01        subs  r3, #1
 5d4:  041b        lsls  r3, r3, #16
 5d6:  0c1b        lsrs  r3, r3, #16
 5d8:  80d3        strh  r3, [r2, #6]
 5da:  041a        lsls  r2, r3, #16
 5dc:  2a00        cmp  r2, #0
 5de:  da3f        bge.n  660 <plugin_start+0x644>
 5e0:  00c2        lsls  r2, r0, #3
 5e2:  21b4        movs  r1, #180  ; 0xb4
 5e4:  0049        lsls  r1, r1, #1
 5e6:  185b        adds  r3, r3, r1
 5e8:  4929        ldr  r1, [pc, #164]  ; (690 <plugin_start+0x674>)
 5ea:  188a        adds  r2, r1, r2
 5ec:  80d3        strh  r3, [r2, #6]
 5ee:  2501        movs  r5, #1
 5f0:  221e        movs  r2, #30
 5f2:  9209        str  r2, [sp, #36]  ; 0x24
 5f4:  e037        b.n  666 <plugin_start+0x64a>
 5f6:  9b0b        ldr  r3, [sp, #44]  ; 0x2c
 5f8:  3301        adds  r3, #1
 5fa:  930b        str  r3, [sp, #44]  ; 0x2c
 5fc:  2b02        cmp  r3, #2
 5fe:  dd3e        ble.n  67e <plugin_start+0x662>
 600:  2700        movs  r7, #0
 602:  970b        str  r7, [sp, #44]  ; 0x2c
 604:  201e        movs  r0, #30
 606:  9009        str  r0, [sp, #36]  ; 0x24
 608:  e02f        b.n  66a <plugin_start+0x64e>
 60a:  990b        ldr  r1, [sp, #44]  ; 0x2c
 60c:  3901        subs  r1, #1
 60e:  910b        str  r1, [sp, #44]  ; 0x2c
 610:  d535        bpl.n  67e <plugin_start+0x662>
 612:  e02f        b.n  674 <plugin_start+0x658>
 614:  4a1d        ldr  r2, [pc, #116]  ; (68c <plugin_start+0x670>)
 616:  6c53        ldr  r3, [r2, #68]  ; 0x44
 618:  3301        adds  r3, #1
 61a:  6453        str  r3, [r2, #68]  ; 0x44
 61c:  2b02        cmp  r3, #2
 61e:  dc01        bgt.n  624 <plugin_start+0x608>
 620:  2501        movs  r5, #1
 622:  e022        b.n  66a <plugin_start+0x64e>
 624:  2200        movs  r2, #0
 626:  4b19        ldr  r3, [pc, #100]  ; (68c <plugin_start+0x670>)
 628:  645a        str  r2, [r3, #68]  ; 0x44
 62a:  2501        movs  r5, #1
 62c:  e01d        b.n  66a <plugin_start+0x64e>
 62e:  2301        movs  r3, #1
 630:  9a0c        ldr  r2, [sp, #48]  ; 0x30
 632:  4053        eors  r3, r2
 634:  061b        lsls  r3, r3, #24
 636:  0e1b        lsrs  r3, r3, #24
 638:  930c        str  r3, [sp, #48]  ; 0x30
 63a:  e016        b.n  66a <plugin_start+0x64e>
 63c:  9b0e        ldr  r3, [sp, #56]  ; 0x38
 63e:  2b01        cmp  r3, #1
 640:  d113        bne.n  66a <plugin_start+0x64e>
 642:  9f0d        ldr  r7, [sp, #52]  ; 0x34
 644:  407b        eors  r3, r7
 646:  061b        lsls  r3, r3, #24
 648:  0e1b        lsrs  r3, r3, #24
 64a:  930d        str  r3, [sp, #52]  ; 0x34
 64c:  201e        movs  r0, #30
 64e:  9009        str  r0, [sp, #36]  ; 0x24
 650:  e00b        b.n  66a <plugin_start+0x64e>
 652:  2000        movs  r0, #0
 654:  f7ff fffe   bl  748 <exit>
      654: R_ARM_THM_CALL  exit
 658:  1c20        adds  r0, r4, #0
 65a:  f7ff fffe   bl  77c <exit_on_usb>
      65a: R_ARM_THM_CALL  exit_on_usb
 65e:  e002        b.n  666 <plugin_start+0x64a>
 660:  2501        movs  r5, #1
 662:  211e        movs  r1, #30
 664:  9109        str  r1, [sp, #36]  ; 0x24
 666:  2c00        cmp  r4, #0
 668:  d000        beq.n  66c <plugin_start+0x650>
 66a:  940e        str  r4, [sp, #56]  ; 0x38
 66c:  2d00        cmp  r5, #0
 66e:  d100        bne.n  672 <plugin_start+0x656>
 670:  e6bc        b.n  3ec <plugin_start+0x3d0>
 672:  e4f3        b.n  5c <plugin_start+0x40>
 674:  2202        movs  r2, #2
 676:  920b        str  r2, [sp, #44]  ; 0x2c
 678:  231e        movs  r3, #30
 67a:  9309        str  r3, [sp, #36]  ; 0x24
 67c:  e7f5        b.n  66a <plugin_start+0x64e>
 67e:  271e        movs  r7, #30
 680:  9709        str  r7, [sp, #36]  ; 0x24
 682:  e7f2        b.n  66a <plugin_start+0x64e>
 684:  00000d70   .word  0x00000d70
      684: R_ARM_ABS32  .text
 688:  00000000   .word  0x00000000
      688: R_ARM_ABS32  rb
 68c:  00000080   .word  0x00000080
      68c: R_ARM_ABS32  .bss
 690:  00000000   .word  0x00000000
      690: R_ARM_ABS32  .data
 694:  00000e08   .word  0x00000e08
      694: R_ARM_ABS32  .text
 698:  00000e0c   .word  0x00000e0c
      698: R_ARM_ABS32  .text
 69c:  00000e14   .word  0x00000e14
      69c: R_ARM_ABS32  .text
 6a0:  00000167   .word  0x00000167
 6a4:  fffffe98   .word  0xfffffe98
 6a8:  02000001   .word  0x02000001
 6ac:  04000010   .word  0x04000010
 6b0:  4718        bx  r3
 6b2:  4720        bx  r4
 6b4:  4738        bx  r7
 6b6:  46c0        nop      ; (mov r8, r8)

000006b8 <rb_atexit>:
 6b8:  b500        push  {lr}
 6ba:  4b06        ldr  r3, [pc, #24]  ; (6d4 <rb_atexit+0x1c>)
 6bc:  681b        ldr  r3, [r3, #0]
 6be:  2b00        cmp  r3, #0
 6c0:  d002        beq.n  6c8 <rb_atexit+0x10>
 6c2:  2001        movs  r0, #1
 6c4:  4240        negs  r0, r0
 6c6:  e002        b.n  6ce <rb_atexit+0x16>
 6c8:  4b02        ldr  r3, [pc, #8]  ; (6d4 <rb_atexit+0x1c>)
 6ca:  6018        str  r0, [r3, #0]
 6cc:  2000        movs  r0, #0
 6ce:  bc02        pop  {r1}
 6d0:  4708        bx  r1
 6d2:  46c0        nop      ; (mov r8, r8)
 6d4:  000000d4   .word  0x000000d4
      6d4: R_ARM_ABS32  .bss

000006d8 <cleanup_wrapper>:
 6d8:  b510        push  {r4, lr}
 6da:  4b04        ldr  r3, [pc, #16]  ; (6ec <cleanup_wrapper+0x14>)
 6dc:  681b        ldr  r3, [r3, #0]
 6de:  2b00        cmp  r3, #0
 6e0:  d001        beq.n  6e6 <cleanup_wrapper+0xe>
 6e2:  f000 f871   bl  7c8 <exit_on_usb+0x4c>
 6e6:  bc10        pop  {r4}
 6e8:  bc01        pop  {r0}
 6ea:  4700        bx  r0
 6ec:  000000d4   .word  0x000000d4
      6ec: R_ARM_ABS32  .bss

000006f0 <plugin__start>:
 6f0:  b510        push  {r4, lr}
 6f2:  b082        sub  sp, #8
 6f4:  9001        str  r0, [sp, #4]
 6f6:  4811        ldr  r0, [pc, #68]  ; (73c <plugin__start+0x4c>)
 6f8:  3004        adds  r0, #4
 6fa:  f7ff fffe   bl  7cc <setjmp>
      6fa: R_ARM_THM_CALL  setjmp
 6fe:  2800        cmp  r0, #0
 700:  d105        bne.n  70e <plugin__start+0x1e>
 702:  9801        ldr  r0, [sp, #4]
 704:  f7ff fffe   bl  1c <plugin_start>
      704: R_ARM_THM_CALL  plugin_start
 708:  0404        lsls  r4, r0, #16
 70a:  0c24        lsrs  r4, r4, #16
 70c:  e00a        b.n  724 <plugin__start+0x34>
 70e:  4b0c        ldr  r3, [pc, #48]  ; (740 <plugin__start+0x50>)
 710:  4298        cmp  r0, r3
 712:  d101        bne.n  718 <plugin__start+0x28>
 714:  2400        movs  r4, #0
 716:  e005        b.n  724 <plugin__start+0x34>
 718:  28ff        cmp  r0, #255  ; 0xff
 71a:  dc01        bgt.n  720 <plugin__start+0x30>
 71c:  4c09        ldr  r4, [pc, #36]  ; (744 <plugin__start+0x54>)
 71e:  e001        b.n  724 <plugin__start+0x34>
 720:  0404        lsls  r4, r0, #16
 722:  0c24        lsrs  r4, r4, #16
 724:  4b05        ldr  r3, [pc, #20]  ; (73c <plugin__start+0x4c>)
 726:  681b        ldr  r3, [r3, #0]
 728:  2b00        cmp  r3, #0
 72a:  d001        beq.n  730 <plugin__start+0x40>
 72c:  f000 f84c   bl  7c8 <exit_on_usb+0x4c>
 730:  0424        lsls  r4, r4, #16
 732:  1420        asrs  r0, r4, #16
 734:  b002        add  sp, #8
 736:  bc10        pop  {r4}
 738:  bc02        pop  {r1}
 73a:  4708        bx  r1
 73c:  000000d4   .word  0x000000d4
      73c: R_ARM_ABS32  .bss
 740:  0cdebabe   .word  0x0cdebabe
 744:  0000ffff   .word  0x0000ffff

00000748 <exit>:
 748:  b510        push  {r4, lr}
 74a:  1c01        adds  r1, r0, #0
 74c:  2800        cmp  r0, #0
 74e:  d100        bne.n  752 <exit+0xa>
 750:  4902        ldr  r1, [pc, #8]  ; (75c <exit+0x14>)
 752:  4803        ldr  r0, [pc, #12]  ; (760 <exit+0x18>)
 754:  3004        adds  r0, #4
 756:  f7ff fffe   bl  7dc <longjmp>
      756: R_ARM_THM_CALL  longjmp
 75a:  46c0        nop      ; (mov r8, r8)
 75c:  0cdebabe   .word  0x0cdebabe
 760:  000000d4   .word  0x000000d4
      760: R_ARM_ABS32  .bss

00000764 <_exit>:
 764:  b510        push  {r4, lr}
 766:  2200        movs  r2, #0
 768:  4b03        ldr  r3, [pc, #12]  ; (778 <_exit+0x14>)
 76a:  601a        str  r2, [r3, #0]
 76c:  f7ff fffe   bl  748 <exit>
      76c: R_ARM_THM_CALL  exit
 770:  bc10        pop  {r4}
 772:  bc01        pop  {r0}
 774:  4700        bx  r0
 776:  46c0        nop      ; (mov r8, r8)
 778:  000000d4   .word  0x000000d4
      778: R_ARM_ABS32  .bss

0000077c <exit_on_usb>:
 77c:  b510        push  {r4, lr}
 77e:  4b0d        ldr  r3, [pc, #52]  ; (7b4 <exit_on_usb+0x38>)
 780:  681a        ldr  r2, [r3, #0]
 782:  23ee        movs  r3, #238  ; 0xee
 784:  005b        lsls  r3, r3, #1
 786:  58d3        ldr  r3, [r2, r3]
 788:  490b        ldr  r1, [pc, #44]  ; (7b8 <exit_on_usb+0x3c>)
 78a:  2200        movs  r2, #0
 78c:  f000 f81c   bl  7c8 <exit_on_usb+0x4c>
 790:  4b0a        ldr  r3, [pc, #40]  ; (7bc <exit_on_usb+0x40>)
 792:  4298        cmp  r0, r3
 794:  d104        bne.n  7a0 <exit_on_usb+0x24>
 796:  2080        movs  r0, #128  ; 0x80
 798:  0040        lsls  r0, r0, #1
 79a:  f7ff fffe   bl  764 <_exit>
      79a: R_ARM_THM_CALL  _exit
 79e:  e005        b.n  7ac <exit_on_usb+0x30>
 7a0:  4b07        ldr  r3, [pc, #28]  ; (7c0 <exit_on_usb+0x44>)
 7a2:  4298        cmp  r0, r3
 7a4:  d102        bne.n  7ac <exit_on_usb+0x30>
 7a6:  4807        ldr  r0, [pc, #28]  ; (7c4 <exit_on_usb+0x48>)
 7a8:  f7ff fffe   bl  764 <_exit>
      7a8: R_ARM_THM_CALL  _exit
 7ac:  bc10        pop  {r4}
 7ae:  bc01        pop  {r0}
 7b0:  4700        bx  r0
 7b2:  46c0        nop      ; (mov r8, r8)
 7b4:  00000018   .word  0x00000018
      7b4: R_ARM_ABS32  .data
 7b8:  00000000   .word  0x00000000
      7b8: R_ARM_ABS32  cleanup_wrapper
 7bc:  90000000   .word  0x90000000
 7c0:  a0000000   .word  0xa0000000
 7c4:  00000101   .word  0x00000101
 7c8:  4718        bx  r3
 7ca:  46c0        nop      ; (mov r8, r8)

000007cc <setjmp>:
 7cc:  4778        bx  pc
 7ce:  46c0        nop      ; (mov r8, r8)

000007d0 <.arm_start_of.setjmp>:
 7d0:  e8a07ff0   stmia  r0!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}
 7d4:  e3a00000   mov  r0, #0
 7d8:  e12fff1e   bx  lr
      7d8: R_ARM_V4BX  *ABS*

000007dc <longjmp>:
 7dc:  4778        bx  pc
 7de:  46c0        nop      ; (mov r8, r8)

000007e0 <.arm_start_of.longjmp>:
 7e0:  e8b07ff0   ldm  r0!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}
 7e4:  e1b00001   movs  r0, r1
 7e8:  03a00001   moveq  r0, #1
 7ec:  e12fff1e   bx  lr
      7ec: R_ARM_V4BX  *ABS*

000007f0 <fp14_sin>:
 7f0:  b510        push  {r4, lr}
 7f2:  21b4        movs  r1, #180  ; 0xb4
 7f4:  0049        lsls  r1, r1, #1
 7f6:  1840        adds  r0, r0, r1
 7f8:  f7ff fffe   bl  c54 <__aeabi_idivmod>
      7f8: R_ARM_THM_CALL  __aeabi_idivmod
 7fc:  29b4        cmp  r1, #180  ; 0xb4
 7fe:  dc0b        bgt.n  818 <fp14_sin+0x28>
 800:  295a        cmp  r1, #90  ; 0x5a
 802:  dc03        bgt.n  80c <fp14_sin+0x1c>
 804:  0049        lsls  r1, r1, #1
 806:  4b0e        ldr  r3, [pc, #56]  ; (840 <fp14_sin+0x50>)
 808:  5ec8        ldrsh  r0, [r1, r3]
 80a:  e016        b.n  83a <fp14_sin+0x4a>
 80c:  23b4        movs  r3, #180  ; 0xb4
 80e:  1a59        subs  r1, r3, r1
 810:  0049        lsls  r1, r1, #1
 812:  4b0b        ldr  r3, [pc, #44]  ; (840 <fp14_sin+0x50>)
 814:  5ec8        ldrsh  r0, [r1, r3]
 816:  e010        b.n  83a <fp14_sin+0x4a>
 818:  2387        movs  r3, #135  ; 0x87
 81a:  005b        lsls  r3, r3, #1
 81c:  4299        cmp  r1, r3
 81e:  dc05        bgt.n  82c <fp14_sin+0x3c>
 820:  39b4        subs  r1, #180  ; 0xb4
 822:  0049        lsls  r1, r1, #1
 824:  4b06        ldr  r3, [pc, #24]  ; (840 <fp14_sin+0x50>)
 826:  5ec8        ldrsh  r0, [r1, r3]
 828:  4240        negs  r0, r0
 82a:  e006        b.n  83a <fp14_sin+0x4a>
 82c:  23b4        movs  r3, #180  ; 0xb4
 82e:  005b        lsls  r3, r3, #1
 830:  1a5b        subs  r3, r3, r1
 832:  005b        lsls  r3, r3, #1
 834:  4a02        ldr  r2, [pc, #8]  ; (840 <fp14_sin+0x50>)
 836:  5e98        ldrsh  r0, [r3, r2]
 838:  4240        negs  r0, r0
 83a:  bc10        pop  {r4}
 83c:  bc02        pop  {r1}
 83e:  4708        bx  r1
 840:  00000e38   .word  0x00000e38
      840: R_ARM_ABS32  .text

00000844 <fp14_cos>:
 844:  b510        push  {r4, lr}
 846:  21b4        movs  r1, #180  ; 0xb4
 848:  0049        lsls  r1, r1, #1
 84a:  1840        adds  r0, r0, r1
 84c:  f7ff fffe   bl  c54 <__aeabi_idivmod>
      84c: R_ARM_THM_CALL  __aeabi_idivmod
 850:  29b4        cmp  r1, #180  ; 0xb4
 852:  dc0d        bgt.n  870 <fp14_cos+0x2c>
 854:  295a        cmp  r1, #90  ; 0x5a
 856:  dc05        bgt.n  864 <fp14_cos+0x20>
 858:  235a        movs  r3, #90  ; 0x5a
 85a:  1a59        subs  r1, r3, r1
 85c:  0049        lsls  r1, r1, #1
 85e:  4b0e        ldr  r3, [pc, #56]  ; (898 <fp14_cos+0x54>)
 860:  5ec8        ldrsh  r0, [r1, r3]
 862:  e016        b.n  892 <fp14_cos+0x4e>
 864:  395a        subs  r1, #90  ; 0x5a
 866:  0049        lsls  r1, r1, #1
 868:  4b0b        ldr  r3, [pc, #44]  ; (898 <fp14_cos+0x54>)
 86a:  5ec8        ldrsh  r0, [r1, r3]
 86c:  4240        negs  r0, r0
 86e:  e010        b.n  892 <fp14_cos+0x4e>
 870:  2387        movs  r3, #135  ; 0x87
 872:  005b        lsls  r3, r3, #1
 874:  4299        cmp  r1, r3
 876:  dc07        bgt.n  888 <fp14_cos+0x44>
 878:  2387        movs  r3, #135  ; 0x87
 87a:  005b        lsls  r3, r3, #1
 87c:  1a5b        subs  r3, r3, r1
 87e:  005b        lsls  r3, r3, #1
 880:  4a05        ldr  r2, [pc, #20]  ; (898 <fp14_cos+0x54>)
 882:  5e98        ldrsh  r0, [r3, r2]
 884:  4240        negs  r0, r0
 886:  e004        b.n  892 <fp14_cos+0x4e>
 888:  4a04        ldr  r2, [pc, #16]  ; (89c <fp14_cos+0x58>)
 88a:  1889        adds  r1, r1, r2
 88c:  0049        lsls  r1, r1, #1
 88e:  4b02        ldr  r3, [pc, #8]  ; (898 <fp14_cos+0x54>)
 890:  5ec8        ldrsh  r0, [r1, r3]
 892:  bc10        pop  {r4}
 894:  bc02        pop  {r1}
 896:  4708        bx  r1
 898:  00000e38   .word  0x00000e38
      898: R_ARM_ABS32  .text
 89c:  fffffef2   .word  0xfffffef2

000008a0 <sort_points_by_increasing_x>:
 8a0:  b5f0        push  {r4, r5, r6, r7, lr}
 8a2:  4647        mov  r7, r8
 8a4:  b480        push  {r7}
 8a6:  9e06        ldr  r6, [sp, #24]
 8a8:  9c07        ldr  r4, [sp, #28]
 8aa:  46a0        mov  r8, r4
 8ac:  6804        ldr  r4, [r0, #0]
 8ae:  6835        ldr  r5, [r6, #0]
 8b0:  42ac        cmp  r4, r5
 8b2:  dd25        ble.n  900 <sort_points_by_increasing_x+0x60>
 8b4:  6817        ldr  r7, [r2, #0]
 8b6:  46bc        mov  ip, r7
 8b8:  4565        cmp  r5, ip
 8ba:  dd0b        ble.n  8d4 <sort_points_by_increasing_x+0x34>
 8bc:  6007        str  r7, [r0, #0]
 8be:  6830        ldr  r0, [r6, #0]
 8c0:  6010        str  r0, [r2, #0]
 8c2:  6034        str  r4, [r6, #0]
 8c4:  680a        ldr  r2, [r1, #0]
 8c6:  6818        ldr  r0, [r3, #0]
 8c8:  6008        str  r0, [r1, #0]
 8ca:  4640        mov  r0, r8
 8cc:  6801        ldr  r1, [r0, #0]
 8ce:  6019        str  r1, [r3, #0]
 8d0:  6002        str  r2, [r0, #0]
 8d2:  e029        b.n  928 <sort_points_by_increasing_x+0x88>
 8d4:  4564        cmp  r4, ip
 8d6:  da0b        bge.n  8f0 <sort_points_by_increasing_x+0x50>
 8d8:  6005        str  r5, [r0, #0]
 8da:  6810        ldr  r0, [r2, #0]
 8dc:  6030        str  r0, [r6, #0]
 8de:  6014        str  r4, [r2, #0]
 8e0:  680a        ldr  r2, [r1, #0]
 8e2:  4644        mov  r4, r8
 8e4:  6820        ldr  r0, [r4, #0]
 8e6:  6008        str  r0, [r1, #0]
 8e8:  6819        ldr  r1, [r3, #0]
 8ea:  6021        str  r1, [r4, #0]
 8ec:  601a        str  r2, [r3, #0]
 8ee:  e01b        b.n  928 <sort_points_by_increasing_x+0x88>
 8f0:  6005        str  r5, [r0, #0]
 8f2:  6034        str  r4, [r6, #0]
 8f4:  680b        ldr  r3, [r1, #0]
 8f6:  4645        mov  r5, r8
 8f8:  682a        ldr  r2, [r5, #0]
 8fa:  600a        str  r2, [r1, #0]
 8fc:  602b        str  r3, [r5, #0]
 8fe:  e013        b.n  928 <sort_points_by_increasing_x+0x88>
 900:  6817        ldr  r7, [r2, #0]
 902:  46bc        mov  ip, r7
 904:  4564        cmp  r4, ip
 906:  dd06        ble.n  916 <sort_points_by_increasing_x+0x76>
 908:  6007        str  r7, [r0, #0]
 90a:  6014        str  r4, [r2, #0]
 90c:  680a        ldr  r2, [r1, #0]
 90e:  6818        ldr  r0, [r3, #0]
 910:  6008        str  r0, [r1, #0]
 912:  601a        str  r2, [r3, #0]
 914:  e008        b.n  928 <sort_points_by_increasing_x+0x88>
 916:  4565        cmp  r5, ip
 918:  da06        bge.n  928 <sort_points_by_increasing_x+0x88>
 91a:  6015        str  r5, [r2, #0]
 91c:  6037        str  r7, [r6, #0]
 91e:  681a        ldr  r2, [r3, #0]
 920:  4644        mov  r4, r8
 922:  6821        ldr  r1, [r4, #0]
 924:  6019        str  r1, [r3, #0]
 926:  6022        str  r2, [r4, #0]
 928:  bc04        pop  {r2}
 92a:  4690        mov  r8, r2
 92c:  bcf0        pop  {r4, r5, r6, r7}
 92e:  bc01        pop  {r0}
 930:  4700        bx  r0
 932:  46c0        nop      ; (mov r8, r8)

00000934 <xlcd_filltriangle_screen>:
 934:  b5f0        push  {r4, r5, r6, r7, lr}
 936:  4657        mov  r7, sl
 938:  464e        mov  r6, r9
 93a:  4645        mov  r5, r8
 93c:  b4e0        push  {r5, r6, r7}
 93e:  b088        sub  sp, #32
 940:  1c06        adds  r6, r0, #0
 942:  6940        ldr  r0, [r0, #20]
 944:  2801        cmp  r0, #1
 946:  d002        beq.n  94e <xlcd_filltriangle_screen+0x1a>
 948:  68f0        ldr  r0, [r6, #12]
 94a:  2807        cmp  r0, #7
 94c:  dd65        ble.n  a1a <xlcd_filltriangle_screen+0xe6>
 94e:  9102        str  r1, [sp, #8]
 950:  9203        str  r2, [sp, #12]
 952:  9304        str  r3, [sp, #16]
 954:  9810        ldr  r0, [sp, #64]  ; 0x40
 956:  9005        str  r0, [sp, #20]
 958:  9a11        ldr  r2, [sp, #68]  ; 0x44
 95a:  9206        str  r2, [sp, #24]
 95c:  9b12        ldr  r3, [sp, #72]  ; 0x48
 95e:  9307        str  r3, [sp, #28]
 960:  ab07        add  r3, sp, #28
 962:  9300        str  r3, [sp, #0]
 964:  ab06        add  r3, sp, #24
 966:  9301        str  r3, [sp, #4]
 968:  a803        add  r0, sp, #12
 96a:  a902        add  r1, sp, #8
 96c:  aa05        add  r2, sp, #20
 96e:  ab04        add  r3, sp, #16
 970:  f7ff fffe   bl  8a0 <sort_points_by_increasing_x>
      970: R_ARM_THM_CALL  sort_points_by_increasing_x
 974:  9d03        ldr  r5, [sp, #12]
 976:  9907        ldr  r1, [sp, #28]
 978:  428d        cmp  r5, r1
 97a:  db00        blt.n  97e <xlcd_filltriangle_screen+0x4a>
 97c:  e0b0        b.n  ae0 <xlcd_filltriangle_screen+0x1ac>
 97e:  9f02        ldr  r7, [sp, #8]
 980:  9806        ldr  r0, [sp, #24]
 982:  1bc0        subs  r0, r0, r7
 984:  0400        lsls  r0, r0, #16
 986:  1b49        subs  r1, r1, r5
 988:  f7ff fffe   bl  b28 <__aeabi_idiv>
      988: R_ARM_THM_CALL  __aeabi_idiv
 98c:  4682        mov  sl, r0
 98e:  043b        lsls  r3, r7, #16
 990:  2080        movs  r0, #128  ; 0x80
 992:  0200        lsls  r0, r0, #8
 994:  18c0        adds  r0, r0, r3
 996:  4680        mov  r8, r0
 998:  4652        mov  r2, sl
 99a:  1054        asrs  r4, r2, #1
 99c:  4444        add  r4, r8
 99e:  9905        ldr  r1, [sp, #20]
 9a0:  428d        cmp  r5, r1
 9a2:  da17        bge.n  9d4 <xlcd_filltriangle_screen+0xa0>
 9a4:  9804        ldr  r0, [sp, #16]
 9a6:  1bc7        subs  r7, r0, r7
 9a8:  0438        lsls  r0, r7, #16
 9aa:  1b49        subs  r1, r1, r5
 9ac:  f7ff fffe   bl  b28 <__aeabi_idiv>
      9ac: R_ARM_THM_CALL  __aeabi_idiv
 9b0:  4681        mov  r9, r0
 9b2:  1047        asrs  r7, r0, #1
 9b4:  4447        add  r7, r8
 9b6:  23bc        movs  r3, #188  ; 0xbc
 9b8:  4698        mov  r8, r3
 9ba:  1420        asrs  r0, r4, #16
 9bc:  1439        asrs  r1, r7, #16
 9be:  4642        mov  r2, r8
 9c0:  58b3        ldr  r3, [r6, r2]
 9c2:  1c2a        adds  r2, r5, #0
 9c4:  f000 f894   bl  af0 <xlcd_filltriangle_screen+0x1bc>
 9c8:  4454        add  r4, sl
 9ca:  444f        add  r7, r9
 9cc:  3501        adds  r5, #1
 9ce:  9b05        ldr  r3, [sp, #20]
 9d0:  429d        cmp  r5, r3
 9d2:  dbf2        blt.n  9ba <xlcd_filltriangle_screen+0x86>
 9d4:  9d05        ldr  r5, [sp, #20]
 9d6:  9907        ldr  r1, [sp, #28]
 9d8:  428d        cmp  r5, r1
 9da:  db00        blt.n  9de <xlcd_filltriangle_screen+0xaa>
 9dc:  e080        b.n  ae0 <xlcd_filltriangle_screen+0x1ac>
 9de:  9f04        ldr  r7, [sp, #16]
 9e0:  9806        ldr  r0, [sp, #24]
 9e2:  1bc0        subs  r0, r0, r7
 9e4:  0400        lsls  r0, r0, #16
 9e6:  1b49        subs  r1, r1, r5
 9e8:  f7ff fffe   bl  b28 <__aeabi_idiv>
      9e8: R_ARM_THM_CALL  __aeabi_idiv
 9ec:  4681        mov  r9, r0
 9ee:  043f        lsls  r7, r7, #16
 9f0:  2380        movs  r3, #128  ; 0x80
 9f2:  021b        lsls  r3, r3, #8
 9f4:  18ff        adds  r7, r7, r3
 9f6:  1043        asrs  r3, r0, #1
 9f8:  18ff        adds  r7, r7, r3
 9fa:  20bc        movs  r0, #188  ; 0xbc
 9fc:  4680        mov  r8, r0
 9fe:  1420        asrs  r0, r4, #16
 a00:  1439        asrs  r1, r7, #16
 a02:  4642        mov  r2, r8
 a04:  58b3        ldr  r3, [r6, r2]
 a06:  1c2a        adds  r2, r5, #0
 a08:  f000 f872   bl  af0 <xlcd_filltriangle_screen+0x1bc>
 a0c:  4454        add  r4, sl
 a0e:  444f        add  r7, r9
 a10:  3501        adds  r5, #1
 a12:  9b07        ldr  r3, [sp, #28]
 a14:  429d        cmp  r5, r3
 a16:  dbf2        blt.n  9fe <xlcd_filltriangle_screen+0xca>
 a18:  e062        b.n  ae0 <xlcd_filltriangle_screen+0x1ac>
 a1a:  9107        str  r1, [sp, #28]
 a1c:  9206        str  r2, [sp, #24]
 a1e:  9305        str  r3, [sp, #20]
 a20:  9b10        ldr  r3, [sp, #64]  ; 0x40
 a22:  9304        str  r3, [sp, #16]
 a24:  9811        ldr  r0, [sp, #68]  ; 0x44
 a26:  9003        str  r0, [sp, #12]
 a28:  9a12        ldr  r2, [sp, #72]  ; 0x48
 a2a:  9202        str  r2, [sp, #8]
 a2c:  ab03        add  r3, sp, #12
 a2e:  9300        str  r3, [sp, #0]
 a30:  ab02        add  r3, sp, #8
 a32:  9301        str  r3, [sp, #4]
 a34:  a807        add  r0, sp, #28
 a36:  a906        add  r1, sp, #24
 a38:  aa05        add  r2, sp, #20
 a3a:  ab04        add  r3, sp, #16
 a3c:  f7ff fffe   bl  8a0 <sort_points_by_increasing_x>
      a3c: R_ARM_THM_CALL  sort_points_by_increasing_x
 a40:  9d07        ldr  r5, [sp, #28]
 a42:  9903        ldr  r1, [sp, #12]
 a44:  428d        cmp  r5, r1
 a46:  da4b        bge.n  ae0 <xlcd_filltriangle_screen+0x1ac>
 a48:  9f06        ldr  r7, [sp, #24]
 a4a:  9802        ldr  r0, [sp, #8]
 a4c:  1bc0        subs  r0, r0, r7
 a4e:  0400        lsls  r0, r0, #16
 a50:  1b49        subs  r1, r1, r5
 a52:  f7ff fffe   bl  b28 <__aeabi_idiv>
      a52: R_ARM_THM_CALL  __aeabi_idiv
 a56:  4682        mov  sl, r0
 a58:  043b        lsls  r3, r7, #16
 a5a:  2080        movs  r0, #128  ; 0x80
 a5c:  0200        lsls  r0, r0, #8
 a5e:  18c0        adds  r0, r0, r3
 a60:  4680        mov  r8, r0
 a62:  4652        mov  r2, sl
 a64:  1054        asrs  r4, r2, #1
 a66:  4444        add  r4, r8
 a68:  9905        ldr  r1, [sp, #20]
 a6a:  428d        cmp  r5, r1
 a6c:  da17        bge.n  a9e <xlcd_filltriangle_screen+0x16a>
 a6e:  9804        ldr  r0, [sp, #16]
 a70:  1bc7        subs  r7, r0, r7
 a72:  0438        lsls  r0, r7, #16
 a74:  1b49        subs  r1, r1, r5
 a76:  f7ff fffe   bl  b28 <__aeabi_idiv>
      a76: R_ARM_THM_CALL  __aeabi_idiv
 a7a:  4681        mov  r9, r0
 a7c:  1047        asrs  r7, r0, #1
 a7e:  4447        add  r7, r8
 a80:  23b8        movs  r3, #184  ; 0xb8
 a82:  4698        mov  r8, r3
 a84:  1421        asrs  r1, r4, #16
 a86:  143a        asrs  r2, r7, #16
 a88:  4640        mov  r0, r8
 a8a:  5833        ldr  r3, [r6, r0]
 a8c:  1c28        adds  r0, r5, #0
 a8e:  f000 f82f   bl  af0 <xlcd_filltriangle_screen+0x1bc>
 a92:  4454        add  r4, sl
 a94:  444f        add  r7, r9
 a96:  3501        adds  r5, #1
 a98:  9b05        ldr  r3, [sp, #20]
 a9a:  429d        cmp  r5, r3
 a9c:  dbf2        blt.n  a84 <xlcd_filltriangle_screen+0x150>
 a9e:  9d05        ldr  r5, [sp, #20]
 aa0:  9903        ldr  r1, [sp, #12]
 aa2:  428d        cmp  r5, r1
 aa4:  da1c        bge.n  ae0 <xlcd_filltriangle_screen+0x1ac>
 aa6:  9f04        ldr  r7, [sp, #16]
 aa8:  9802        ldr  r0, [sp, #8]
 aaa:  1bc0        subs  r0, r0, r7
 aac:  0400        lsls  r0, r0, #16
 aae:  1b49        subs  r1, r1, r5
 ab0:  f7ff fffe   bl  b28 <__aeabi_idiv>
      ab0: R_ARM_THM_CALL  __aeabi_idiv
 ab4:  4681        mov  r9, r0
 ab6:  043f        lsls  r7, r7, #16
 ab8:  2280        movs  r2, #128  ; 0x80
 aba:  0212        lsls  r2, r2, #8
 abc:  18bf        adds  r7, r7, r2
 abe:  1043        asrs  r3, r0, #1
 ac0:  18ff        adds  r7, r7, r3
 ac2:  23b8        movs  r3, #184  ; 0xb8
 ac4:  4698        mov  r8, r3
 ac6:  1421        asrs  r1, r4, #16
 ac8:  143a        asrs  r2, r7, #16
 aca:  4640        mov  r0, r8
 acc:  5833        ldr  r3, [r6, r0]
 ace:  1c28        adds  r0, r5, #0
 ad0:  f000 f80e   bl  af0 <xlcd_filltriangle_screen+0x1bc>
 ad4:  4454        add  r4, sl
 ad6:  444f        add  r7, r9
 ad8:  3501        adds  r5, #1
 ada:  9b03        ldr  r3, [sp, #12]
 adc:  429d        cmp  r5, r3
 ade:  dbf2        blt.n  ac6 <xlcd_filltriangle_screen+0x192>
 ae0:  b008        add  sp, #32
 ae2:  bc1c        pop  {r2, r3, r4}
 ae4:  4690        mov  r8, r2
 ae6:  4699        mov  r9, r3
 ae8:  46a2        mov  sl, r4
 aea:  bcf0        pop  {r4, r5, r6, r7}
 aec:  bc01        pop  {r0}
 aee:  4700        bx  r0
 af0:  4718        bx  r3
 af2:  46c0        nop      ; (mov r8, r8)

00000af4 <xlcd_filltriangle>:
 af4:  b570        push  {r4, r5, r6, lr}
 af6:  b084        sub  sp, #16
 af8:  1c06        adds  r6, r0, #0
 afa:  1c0d        adds  r5, r1, #0
 afc:  1c14        adds  r4, r2, #0
 afe:  4a09        ldr  r2, [pc, #36]  ; (b24 <xlcd_filltriangle+0x30>)
 b00:  6811        ldr  r1, [r2, #0]
 b02:  22dc        movs  r2, #220  ; 0xdc
 b04:  5888        ldr  r0, [r1, r2]
 b06:  9300        str  r3, [sp, #0]
 b08:  9b08        ldr  r3, [sp, #32]
 b0a:  9301        str  r3, [sp, #4]
 b0c:  9b09        ldr  r3, [sp, #36]  ; 0x24
 b0e:  9302        str  r3, [sp, #8]
 b10:  1c31        adds  r1, r6, #0
 b12:  1c2a        adds  r2, r5, #0
 b14:  1c23        adds  r3, r4, #0
 b16:  f7ff fffe   bl  934 <xlcd_filltriangle_screen>
      b16: R_ARM_THM_CALL  xlcd_filltriangle_screen
 b1a:  b004        add  sp, #16
 b1c:  bc70        pop  {r4, r5, r6}
 b1e:  bc01        pop  {r0}
 b20:  4700        bx  r0
 b22:  46c0        nop      ; (mov r8, r8)
 b24:  00000000   .word  0x00000000
      b24: R_ARM_ABS32  rb

00000b28 <__aeabi_idiv>:
 b28:  e3510000   cmp  r1, #0
 b2c:  e020c001   eor  ip, r0, r1
 b30:  0a000042   beq  c40 <__aeabi_idiv+0x118>
 b34:  42611000   rsbmi  r1, r1, #0
 b38:  e2512001   subs  r2, r1, #1
 b3c:  0a000027   beq  be0 <__aeabi_idiv+0xb8>
 b40:  e1b03000   movs  r3, r0
 b44:  42603000   rsbmi  r3, r0, #0
 b48:  e1530001   cmp  r3, r1
 b4c:  9a000026   bls  bec <__aeabi_idiv+0xc4>
 b50:  e1110002   tst  r1, r2
 b54:  0a000028   beq  bfc <__aeabi_idiv+0xd4>
 b58:  e311020e   tst  r1, #-536870912  ; 0xe0000000
 b5c:  01a01181   lsleq  r1, r1, #3
 b60:  03a02008   moveq  r2, #8
 b64:  13a02001   movne  r2, #1
 b68:  e3510201   cmp  r1, #268435456  ; 0x10000000
 b6c:  31510003   cmpcc  r1, r3
 b70:  31a01201   lslcc  r1, r1, #4
 b74:  31a02202   lslcc  r2, r2, #4
 b78:  3afffffa   bcc  b68 <__aeabi_idiv+0x40>
 b7c:  e3510102   cmp  r1, #-2147483648  ; 0x80000000
 b80:  31510003   cmpcc  r1, r3
 b84:  31a01081   lslcc  r1, r1, #1
 b88:  31a02082   lslcc  r2, r2, #1
 b8c:  3afffffa   bcc  b7c <__aeabi_idiv+0x54>
 b90:  e3a00000   mov  r0, #0
 b94:  e1530001   cmp  r3, r1
 b98:  20433001   subcs  r3, r3, r1
 b9c:  21800002   orrcs  r0, r0, r2
 ba0:  e15300a1   cmp  r3, r1, lsr #1
 ba4:  204330a1   subcs  r3, r3, r1, lsr #1
 ba8:  218000a2   orrcs  r0, r0, r2, lsr #1
 bac:  e1530121   cmp  r3, r1, lsr #2
 bb0:  20433121   subcs  r3, r3, r1, lsr #2
 bb4:  21800122   orrcs  r0, r0, r2, lsr #2
 bb8:  e15301a1   cmp  r3, r1, lsr #3
 bbc:  204331a1   subcs  r3, r3, r1, lsr #3
 bc0:  218001a2   orrcs  r0, r0, r2, lsr #3
 bc4:  e3530000   cmp  r3, #0
 bc8:  11b02222   lsrsne  r2, r2, #4
 bcc:  11a01221   lsrne  r1, r1, #4
 bd0:  1affffef   bne  b94 <__aeabi_idiv+0x6c>
 bd4:  e35c0000   cmp  ip, #0
 bd8:  42600000   rsbmi  r0, r0, #0
 bdc:  e12fff1e   bx  lr
      bdc: R_ARM_V4BX  *ABS*
 be0:  e13c0000   teq  ip, r0
 be4:  42600000   rsbmi  r0, r0, #0
 be8:  e12fff1e   bx  lr
      be8: R_ARM_V4BX  *ABS*
 bec:  33a00000   movcc  r0, #0
 bf0:  01a00fcc   asreq  r0, ip, #31
 bf4:  03800001   orreq  r0, r0, #1
 bf8:  e12fff1e   bx  lr
      bf8: R_ARM_V4BX  *ABS*
 bfc:  e3510801   cmp  r1, #65536  ; 0x10000
 c00:  21a01821   lsrcs  r1, r1, #16
 c04:  23a02010   movcs  r2, #16
 c08:  33a02000   movcc  r2, #0
 c0c:  e3510c01   cmp  r1, #256  ; 0x100
 c10:  21a01421   lsrcs  r1, r1, #8
 c14:  22822008   addcs  r2, r2, #8
 c18:  e3510010   cmp  r1, #16
 c1c:  21a01221   lsrcs  r1, r1, #4
 c20:  22822004   addcs  r2, r2, #4
 c24:  e3510004   cmp  r1, #4
 c28:  82822003   addhi  r2, r2, #3
 c2c:  908220a1   addls  r2, r2, r1, lsr #1
 c30:  e35c0000   cmp  ip, #0
 c34:  e1a00233   lsr  r0, r3, r2
 c38:  42600000   rsbmi  r0, r0, #0
 c3c:  e12fff1e   bx  lr
      c3c: R_ARM_V4BX  *ABS*
 c40:  e52de008   str  lr, [sp, #-8]!
 c44:  ebfffffe   bl  c6c <__aeabi_idiv0>
      c44: R_ARM_PLT32  __div0
 c48:  e3a00000   mov  r0, #0
 c4c:  e49de008   ldr  lr, [sp], #8
 c50:  e12fff1e   bx  lr
      c50: R_ARM_V4BX  *ABS*

00000c54 <__aeabi_idivmod>:
 c54:  e92d4003   push  {r0, r1, lr}
 c58:  ebfffffe   bl  b28 <__aeabi_idiv>
      c58: R_ARM_CALL  __divsi3
 c5c:  e8bd4006   pop  {r1, r2, lr}
 c60:  e0030092   mul  r3, r2, r0
 c64:  e0411003   sub  r1, r1, r3
 c68:  e12fff1e   bx  lr
      c68: R_ARM_V4BX  *ABS*

00000c6c <__aeabi_idiv0>:
 c6c:  e12fff1e   bx  lr
      c6c: R_ARM_V4BX  *ABS*

00000c70 <sommet>:
 c70:  ffffffae ffffffae ffffffae 00000052     ............R...
 c80:  ffffffae ffffffae 00000052 00000052     ........R...R...
 c90:  ffffffae ffffffae 00000052 ffffffae     ........R.......
 ca0:  ffffffae ffffffae 00000052 00000052     ........R...R...
 cb0:  ffffffae 00000052 00000052 00000052     ....R...R...R...
 cc0:  00000052 ffffffae 00000052 00000052     R.......R...R...

00000cd0 <faces>:
 cd0:  00000000 00000001 00000002 00000003     ................
 ce0:  00000000 00000001 00000002 00000003     ................
 cf0:  00000004 00000007 00000006 00000005     ................
 d00:  00000004 00000005 00000006 00000007     ................
 d10:  00000000 00000004 00000005 00000001     ................
 d20:  00000008 00000007 00000009 00000000     ................
 d30:  00000002 00000006 00000007 00000003     ................
 d40:  0000000a 00000005 0000000b 00000002     ................
 d50:  00000000 00000003 00000007 00000004     ................
 d60:  00000003 0000000b 00000004 00000008     ................
 d70:  00000001 00000005 00000006 00000002     ................
 d80:  00000009 00000006 0000000a 00000001     ................

00000d90 <face_colors>:
 d90:  0000f800 0000f800 000007e0 000007e0     ................
 da0:  0000001f 0000001f                       ........

00000da8 <lines>:
 da8:  00000000 00000001 00000001 00000002     ................
 db8:  00000002 00000003 00000003 00000000     ................
 dc8:  00000004 00000007 00000007 00000006     ................
 dd8:  00000006 00000005 00000005 00000004     ................
 de8:  00000000 00000004 00000001 00000005     ................
 df8:  00000002 00000006 00000003 00000007     ................
 e08:  00000000 29736828 00000000 203a7325     ....(hs)....%s: 
 e18:  25206425 00000073 78612d78 00007369     %d %s...x-axis..
 e28:  78612d79 00007369 78612d7a 00007369     y-axis..z-axis..

00000e38 <sin_table>:
 e38:  011d0000 0359023b 05930476 07cc06b0     ....;.Y.v.......
 e48:  0a0308e8 0c360b1d 0e650d4e 10900f7b     ......6.N.e.{...
 e58:  12b611a4 14d613c6 16ef15e3 190117f9     ................
 e68:  1b0c1a07 1d0e1c0e 1f071e0b 20f61fff     ............... 
 e78:  22db21ea 24b523c9 2684259e 28462766     .!.".#.$.%.&f'F(
 e88:  29fc2923 2ba52ad3 2d412c75 2ece2e09     #).).*.+u,A-....
 e98:  304d2f8f 31bc3106 331c326e 346c33c6     ./M0.1.1n2.3.3l4
 ea8:  35ac350e 36db3646 37f9376c 39063882     .5.5F6.6l7.7.8.9
 eb8:  3a003985 3ae93a77 3bbf3b56 3c833c23     .9.:w:.:V;.;#<.<
 ec8:  3d343cde 3dd13d85 3e5c3e19 3ed23e99     .<4=.=.=.>\>.>.>
 ed8:  3f363f07 3f853f60 3fc13fa6 3fe93fd8     .?6?`?.?.?.?.?.?
 ee8:  3ffd3ff6 00004000                       .?.?.@..