-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcos.S
More file actions
1150 lines (1150 loc) · 23.9 KB
/
cos.S
File metadata and controls
1150 lines (1150 loc) · 23.9 KB
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
.section .rodata, "a", "progbits"
.align 4
.section .text, "ax", "progbits"
.align 4
.section .rodata
.align 4
$cosdata:
.dword 0x3fe45f306dc9c883
.dword 0x42c8000000000000
.dword 0x3ff921fb54400000
.dword 0x3dd0b4611a626331
.dword 0x3dd0b4611a800000
.dword 0xbbdd9cceba3f91f2
.dword 0xc028000296da263e
.dword 0xc033fffea64e84c2
.dword 0xbfa555530821c360
.dword 0xbf811112380f37fb
.dword 0x40a0020000000000
.dword 0x40a0000000000000
.dword 0x3ff0000000000000
.dword 0x3ff0000000000000
.dword 0xbff0000000000000
.dword 0xbff0000000000000
.dword 0x3ff0000000000000
.dword 0x3ff0000000000000
.dword 0x0000000000000000
.dword 0x0000000000000000
.dword 0x3f8921d1fcdec784
.dword 0x3c29878ebe836d9d
.dword 0x3f992155f7a3667e
.dword 0xbbfb1d63091a0130
.dword 0x3fa2d865759455cd
.dword 0x3c2686f65ba93ac0
.dword 0x3fa91f65f10dd814
.dword 0xbc2912bd0d569a90
.dword 0x3faf656e79f820e0
.dword 0xbc22e1ebe392bffe
.dword 0x3fb2d52092ce19f6
.dword 0xbc49a088a8bf6b2c
.dword 0x3fb5f6d00a9aa419
.dword 0xbc4f4022d03f6c9a
.dword 0x3fb917a6bc29b42c
.dword 0xbc3e2718d26ed688
.dword 0x3fbc3785c79ec2d5
.dword 0xbc24f39df133fb21
.dword 0x3fbf564e56a9730e
.dword 0x3c4a2704729ae56d
.dword 0x3fc139f0cedaf577
.dword 0xbc6523434d1b3cfa
.dword 0x3fc2c8106e8e613a
.dword 0x3c513000a89a11e0
.dword 0x3fc45576b1293e5a
.dword 0xbc5285a24119f7b1
.dword 0x3fc5e214448b3fc6
.dword 0x3c6531ff779ddac6
.dword 0x3fc76dd9de50bf31
.dword 0x3c61d5eeec501b2f
.dword 0x3fc8f8b83c69a60b
.dword 0xbc626d19b9ff8d82
.dword 0x3fca82a025b00451
.dword 0xbc687905ffd084ad
.dword 0x3fcc0b826a7e4f63
.dword 0xbc1af1439e521935
.dword 0x3fcd934fe5454311
.dword 0x3c675b92277107ad
.dword 0x3fcf19f97b215f1b
.dword 0xbc642deef11da2c4
.dword 0x3fd04fb80e37fdae
.dword 0xbc0412cdb72583cc
.dword 0x3fd111d262b1f677
.dword 0x3c7824c20ab7aa9a
.dword 0x3fd1d3443f4cdb3e
.dword 0xbc6720d41c13519e
.dword 0x3fd294062ed59f06
.dword 0xbc75d28da2c4612d
.dword 0x3fd35410c2e18152
.dword 0xbc73cb002f96e062
.dword 0x3fd4135c94176601
.dword 0x3c70c97c4afa2518
.dword 0x3fd4d1e24278e76a
.dword 0x3c62417218792858
.dword 0x3fd58f9a75ab1fdd
.dword 0xbc1efdc0d58cf620
.dword 0x3fd64c7ddd3f27c6
.dword 0x3c510d2b4a664121
.dword 0x3fd7088530fa459f
.dword 0xbc744b19e0864c5d
.dword 0x3fd7c3a9311dcce7
.dword 0x3c19a3f21ef3e8d9
.dword 0x3fd87de2a6aea963
.dword 0xbc672cedd3d5a610
.dword 0x3fd9372a63bc93d7
.dword 0x3c6684319e5ad5b1
.dword 0x3fd9ef7943a8ed8a
.dword 0x3c66da81290bdbab
.dword 0x3fdaa6c82b6d3fca
.dword 0xbc7d5f106ee5ccf7
.dword 0x3fdb5d1009e15cc0
.dword 0x3c65b362cb974183
.dword 0x3fdc1249d8011ee7
.dword 0xbc7813aabb515206
.dword 0x3fdcc66e9931c45e
.dword 0x3c56850e59c37f8f
.dword 0x3fdd79775b86e389
.dword 0x3c7550ec87bc0575
.dword 0x3fde2b5d3806f63b
.dword 0x3c5e0d891d3c6841
.dword 0x3fdedc1952ef78d6
.dword 0xbc7dd0f7c33edee6
.dword 0x3fdf8ba4dbf89aba
.dword 0xbc32ec1fc1b776b8
.dword 0x3fe01cfc874c3eb7
.dword 0xbc734a35e7c2368c
.dword 0x3fe073879922ffee
.dword 0xbc8a5a014347406c
.dword 0x3fe0c9704d5d898f
.dword 0xbc88d3d7de6ee9b2
.dword 0x3fe11eb3541b4b23
.dword 0xbc8ef23b69abe4f1
.dword 0x3fe1734d63dedb49
.dword 0xbc87eef2ccc50575
.dword 0x3fe1c73b39ae68c8
.dword 0x3c8b25dd267f6600
.dword 0x3fe21a799933eb59
.dword 0xbc83a7b177c68fb2
.dword 0x3fe26d054cdd12df
.dword 0xbc85da743ef3770c
.dword 0x3fe2bedb25faf3ea
.dword 0xbc514981c796ee46
.dword 0x3fe30ff7fce17035
.dword 0xbc6efcc626f74a6f
.dword 0x3fe36058b10659f3
.dword 0xbc81fcb3a35857e7
.dword 0x3fe3affa292050b9
.dword 0x3c7e3e25e3954964
.dword 0x3fe3fed9534556d4
.dword 0x3c836916608c5061
.dword 0x3fe44cf325091dd6
.dword 0x3c68076a2cfdc6b3
.dword 0x3fe49a449b9b0939
.dword 0xbc827ee16d719b94
.dword 0x3fe4e6cabbe3e5e9
.dword 0x3c63c293edceb327
.dword 0x3fe5328292a35596
.dword 0xbc7a12eb89da0257
.dword 0x3fe57d69348ceca0
.dword 0xbc875720992bfbb2
.dword 0x3fe5c77bbe65018c
.dword 0x3c8069ea9c0bc32a
.dword 0x3fe610b7551d2cdf
.dword 0xbc7251b352ff2a37
.dword 0x3fe6591925f0783d
.dword 0x3c8c3d64fbf5de23
.dword 0x3fe6a09e667f3bcd
.dword 0xbc8bdd3413b26456
.dword 0x3fe6e74454eaa8af
.dword 0xbc8dbc03c84e226e
.dword 0x3fe72d0837efff96
.dword 0x3c80d4ef0f1d915c
.dword 0x3fe771e75f037261
.dword 0x3c75cfce8d84068f
.dword 0x3fe7b5df226aafaf
.dword 0xbc70f537acdf0ad7
.dword 0x3fe7f8ece3571771
.dword 0xbc89c8d8ce93c917
.dword 0x3fe83b0e0bff976e
.dword 0xbc76f420f8ea3475
.dword 0x3fe87c400fba2ebf
.dword 0xbc82dabc0c3f64cd
.dword 0x3fe8bc806b151741
.dword 0xbc82c5e12ed1336d
.dword 0x3fe8fbcca3ef940d
.dword 0xbc66dfa99c86f2f1
.dword 0x3fe93a22499263fb
.dword 0x3c83d419a920df0b
.dword 0x3fe9777ef4c7d742
.dword 0xbc815479a240665e
.dword 0x3fe9b3e047f38741
.dword 0xbc830ee286712474
.dword 0x3fe9ef43ef29af94
.dword 0x3c7b1dfcb60445c2
.dword 0x3fea29a7a0462782
.dword 0xbc7128bb015df175
.dword 0x3fea63091b02fae2
.dword 0xbc7e911152248d10
.dword 0x3fea9b66290ea1a3
.dword 0x3c39f630e8b6dac8
.dword 0x3fead2bc9e21d511
.dword 0xbc847fbe07bea548
.dword 0x3feb090a58150200
.dword 0xbc8926da300ffcce
.dword 0x3feb3e4d3ef55712
.dword 0xbc8eb6b8bf11a493
.dword 0x3feb728345196e3e
.dword 0xbc8bc69f324e6d61
.dword 0x3feba5aa673590d2
.dword 0x3c87ea4e370753b6
.dword 0x3febd7c0ac6f952a
.dword 0xbc8825a732ac700a
.dword 0x3fec08c426725549
.dword 0x3c5b157fd80e2946
.dword 0x3fec38b2f180bdb1
.dword 0xbc76e0b1757c8d07
.dword 0x3fec678b3488739b
.dword 0x3c6d86cac7c5ff5b
.dword 0x3fec954b213411f5
.dword 0xbc52fb761e946603
.dword 0x3fecc1f0f3fcfc5c
.dword 0x3c7e57613b68f6ab
.dword 0x3feced7af43cc773
.dword 0xbc5e7b6bb5ab58ae
.dword 0x3fed17e7743e35dc
.dword 0xbc5101da3540130a
.dword 0x3fed4134d14dc93a
.dword 0xbc84ef5295d25af2
.dword 0x3fed696173c9e68b
.dword 0xbc7e8c61c6393d55
.dword 0x3fed906bcf328d46
.dword 0x3c7457e610231ac2
.dword 0x3fedb6526238a09b
.dword 0xbc7adee7eae69460
.dword 0x3feddb13b6ccc23c
.dword 0x3c883c37c6107db3
.dword 0x3fedfeae622dbe2b
.dword 0xbc8514ea88425567
.dword 0x3fee212104f686e5
.dword 0xbc8014c76c126527
.dword 0x3fee426a4b2bc17e
.dword 0x3c8a873889744882
.dword 0x3fee6288ec48e112
.dword 0xbc616b56f2847754
.dword 0x3fee817bab4cd10d
.dword 0xbc7d0afe686b5e0a
.dword 0x3fee9f4156c62dda
.dword 0x3c8760b1e2e3f81e
.dword 0x3feebbd8c8df0b74
.dword 0x3c7c6c8c615e7277
.dword 0x3feed740e7684963
.dword 0x3c7e82c791f59cc2
.dword 0x3feef178a3e473c2
.dword 0x3c86310a67fe774f
.dword 0x3fef0a7efb9230d7
.dword 0x3c752c7adc6b4989
.dword 0x3fef2252f7763ada
.dword 0xbc820cb81c8d94ab
.dword 0x3fef38f3ac64e589
.dword 0xbc7d7bafb51f72e6
.dword 0x3fef4e603b0b2f2d
.dword 0xbc78ee01e695ac05
.dword 0x3fef6297cff75cb0
.dword 0x3c7562172a361fd3
.dword 0x3fef7599a3a12077
.dword 0x3c884f31d743195c
.dword 0x3fef8764fa714ba9
.dword 0x3c7ab256778ffcb6
.dword 0x3fef97f924c9099b
.dword 0xbc8e2ae0eea5963b
.dword 0x3fefa7557f08a517
.dword 0xbc87a0a8ca13571f
.dword 0x3fefb5797195d741
.dword 0x3c71bfac7397cc08
.dword 0x3fefc26470e19fd3
.dword 0x3c81ec8668ecacee
.dword 0x3fefce15fd6da67b
.dword 0xbc75dd6f830d4c09
.dword 0x3fefd88da3d12526
.dword 0xbc887df6378811c7
.dword 0x3fefe1cafcbd5b09
.dword 0x3c6a23e3202a884e
.dword 0x3fefe9cdad01883a
.dword 0x3c6521ecd0c67e35
.dword 0x3feff095658e71ad
.dword 0x3c801a8ce18a4b9e
.dword 0x3feff621e3796d7e
.dword 0xbc6c57bc2e24aa15
.dword 0x3feffa72effef75d
.dword 0xbc88b4cdcdb25956
.dword 0x3feffd886084cd0d
.dword 0xbc81354d4556e4cb
.dword 0x3fefff62169b92db
.dword 0x3c85dda3c81fbd0d
.dword 0x3ff0000000000000
.dword 0x0000000000000000
.dword 0x0000000000000000
.dword 0xbf90000000000000
.dword 0x3f90000000000000
.dword 0xbf8f8fb56a46c019
.dword 0x3f98000000000000
.dword 0xbf8f1f6f28cf5c51
.dword 0x3fa0000000000000
.dword 0xbf8eaf318fb0f6d8
.dword 0x3fa8000000000000
.dword 0xbf8e3f00f2ad3faf
.dword 0x3fb0000000000000
.dword 0xbf8dcee1a505bfa4
.dword 0x3fb2000000000000
.dword 0xbf8d5ed7f951284f
.dword 0x3fb6000000000000
.dword 0xbf8ceee84150aa99
.dword 0x3fba000000000000
.dword 0xbf8c7f16cdc55584
.dword 0x3fbc000000000000
.dword 0xbf8c0f67ee457ed2
.dword 0x3fc0000000000000
.dword 0xbf8b9fdff112372f
.dword 0x3fc1000000000000
.dword 0xbf8b308322eccb84
.dword 0x3fc3000000000000
.dword 0xbf8ac155ceec5516
.dword 0x3fc4000000000000
.dword 0xbf8a525c3e535a11
.dword 0x3fc6000000000000
.dword 0xbf89e39ab865802b
.dword 0x3fc7000000000000
.dword 0xbf897515823d52ec
.dword 0x3fc9000000000000
.dword 0xbf8906d0dea21f56
.dword 0x3fcb000000000000
.dword 0xbf8898d10ddde676
.dword 0x3fcc000000000000
.dword 0xbf882b1a4d936891
.dword 0x3fce000000000000
.dword 0xbf87bdb0d8944a73
.dword 0x3fcf000000000000
.dword 0xbf875098e6b7569a
.dword 0x3fd0800000000000
.dword 0xbf86e3d6acaedbbd
.dword 0x3fd1000000000000
.dword 0xbf86776e5bdf2a61
.dword 0x3fd2000000000000
.dword 0xbf860b6422353304
.dword 0x3fd2800000000000
.dword 0xbf859fbc29fd4681
.dword 0x3fd3800000000000
.dword 0xbf85347a99b9fa46
.dword 0x3fd4000000000000
.dword 0xbf84c9a393fb31e0
.dword 0x3fd5000000000000
.dword 0xbf845f3b37354f8b
.dword 0x3fd5800000000000
.dword 0xbf83f5459d988d48
.dword 0x3fd6800000000000
.dword 0xbf838bc6dce88006
.dword 0x3fd7000000000000
.dword 0xbf8322c30653c683
.dword 0x3fd8000000000000
.dword 0xbf82ba3e264be55c
.dword 0x3fd8800000000000
.dword 0xbf82523c445d51e3
.dword 0x3fd9000000000000
.dword 0xbf81eac16307ad4a
.dword 0x3fda000000000000
.dword 0xbf8183d17f96319b
.dword 0x3fda800000000000
.dword 0xbf811d7091f8521b
.dword 0x3fdb800000000000
.dword 0xbf80b7a28c9a9082
.dword 0x3fdc000000000000
.dword 0xbf80526b5c3f88a5
.dword 0x3fdd000000000000
.dword 0xbf7fdb9dcfb267fa
.dword 0x3fdd800000000000
.dword 0xbf7f13a220c4cd29
.dword 0x3fde000000000000
.dword 0xbf7e4ceb61710db1
.dword 0x3fdf000000000000
.dword 0xbf7d87813aeb037a
.dword 0x3fdf800000000000
.dword 0xbf7cc36b4993f973
.dword 0x3fe0000000000000
.dword 0xbf7c00b11caf8e10
.dword 0x3fe0800000000000
.dword 0xbf7b3f5a3619173b
.dword 0x3fe0c00000000000
.dword 0xbf7a7f6e09f98a9d
.dword 0x3fe1000000000000
.dword 0xbf79c0f3fe7ded10
.dword 0x3fe1800000000000
.dword 0xbf7903f36b8e4c14
.dword 0x3fe1c00000000000
.dword 0xbf7848739a854423
.dword 0x3fe2000000000000
.dword 0xbf778e7bc5e81697
.dword 0x3fe2800000000000
.dword 0xbf76d613191f5201
.dword 0x3fe2c00000000000
.dword 0xbf761f40b0300f9d
.dword 0x3fe3000000000000
.dword 0xbf756a0b9775c8b3
.dword 0x3fe3800000000000
.dword 0xbf74b67acb5cc67e
.dword 0x3fe3c00000000000
.dword 0xbf740495381d2f62
.dword 0x3fe4000000000000
.dword 0xbf735461b976b408
.dword 0x3fe4400000000000
.dword 0xbf72a5e71a6cdf08
.dword 0x3fe4800000000000
.dword 0xbf71f92c150409c5
.dword 0x3fe5000000000000
.dword 0xbf714e3751fef8fd
.dword 0x3fe5400000000000
.dword 0xbf70a50f689d23b1
.dword 0x3fe5800000000000
.dword 0xbf6ffb75bcb34dc6
.dword 0x3fe5c00000000000
.dword 0xbf6eb0804d55d15a
.dword 0x3fe6000000000000
.dword 0xbf6d694b4585da58
.dword 0x3fe6400000000000
.dword 0xbf6c25e342a0bf6f
.dword 0x3fe6c00000000000
.dword 0xbf6ae654bc80a599
.dword 0x3fe7000000000000
.dword 0xbf69aaac05017230
.dword 0x3fe7400000000000
.dword 0xbf6872f5478733fc
.dword 0x3fe7800000000000
.dword 0xbf673f3c888607ea
.dword 0x3fe7c00000000000
.dword 0xbf660f8da50b7e06
.dword 0x3fe8000000000000
.dword 0xbf64e3f452498363
.dword 0x3fe8400000000000
.dword 0xbf63bc7c1d22d54d
.dword 0x3fe8800000000000
.dword 0xbf62993069b90265
.dword 0x3fe8c00000000000
.dword 0xbf617a1c72fbfdea
.dword 0x3fe9000000000000
.dword 0xbf605f4b4a3b4998
.dword 0x3fe9400000000000
.dword 0xbf5e918fad7174b0
.dword 0x3fe9800000000000
.dword 0xbf5c6d39aa79b7fa
.dword 0x3fe9c00000000000
.dword 0xbf5a51a9af59f070
.dword 0x3fea000000000000
.dword 0xbf583ef489458998
.dword 0x3fea400000000000
.dword 0xbf56352eae0b7a24
.dword 0x3fea800000000000
.dword 0xbf54346c3b4c5583
.dword 0x3fea800000000000
.dword 0xbf523cc0f5b3c3b7
.dword 0x3feac00000000000
.dword 0xbf504e404835672b
.dword 0x3feb000000000000
.dword 0xbf4cd1fa869a6fea
.dword 0x3feb400000000000
.dword 0xbf491a153886b80a
.dword 0x3feb800000000000
.dword 0xbf4574f558e706ce
.dword 0x3febc00000000000
.dword 0xbf41e2bee12f9f92
.dword 0x3febc00000000000
.dword 0xbf3cc72a205d38dc
.dword 0x3fec000000000000
.dword 0xbf35ef34d160279e
.dword 0x3fec000000000000
.dword 0xbf2e7bc2c0a5f66e
.dword 0x3fec800000000000
.dword 0xbf2166e3b5b19411
.dword 0x3fec800000000000
.dword 0xbf02813676073d80
.dword 0x3fed000000000000
.dword 0x3f0f5e05c3b1c100
.dword 0x3fed000000000000
.dword 0x3f24000e681a7418
.dword 0x3fed000000000000
.dword 0x3f2fd8e148c62d84
.dword 0x3fed800000000000
.dword 0x3f35b0c293454289
.dword 0x3fed800000000000
.dword 0x3f3b4cc41630a9d7
.dword 0x3fed800000000000
.dword 0x3f40601ee841b65c
.dword 0x3fed800000000000
.dword 0x3f43057cfacfa1a6
.dword 0x3fee000000000000
.dword 0x3f459662257e3b34
.dword 0x3fee000000000000
.dword 0x3f4812b51516abdc
.dword 0x3fee000000000000
.dword 0x3f4a7a5d416912dc
.dword 0x3fee800000000000
.dword 0x3f4ccd42ee3ea401
.dword 0x3fee800000000000
.dword 0x3f4f0b4f2c43e8c3
.dword 0x3fee800000000000
.dword 0x3f509a35ecf58d97
.dword 0x3fee800000000000
.dword 0x3f51a441d22348fc
.dword 0x3fee800000000000
.dword 0x3f52a3c103ed9aa6
.dword 0x3fef000000000000
.dword 0x3f5398a9a8b57a13
.dword 0x3fef000000000000
.dword 0x3f5482f24f5b9947
.dword 0x3fef000000000000
.dword 0x3f556291ef9d9485
.dword 0x3fef000000000000
.dword 0x3f56377fea6f171c
.dword 0x3fef000000000000
.dword 0x3f5701b40a4ef1d3
.dword 0x3fef000000000000
.dword 0x3f57c12683981fae
.dword 0x3fef000000000000
.dword 0x3f5875cff4ceb5e3
.dword 0x3fef000000000000
.dword 0x3f591fa966e8bc15
.dword 0x3ff0000000000000
.dword 0x3f59beac4d92ea02
.dword 0x3ff0000000000000
.dword 0x3f5a52d2877147f7
.dword 0x3ff0000000000000
.dword 0x3f5adc165e5baf91
.dword 0x3ff0000000000000
.dword 0x3f5b5a7287962a79
.dword 0x3ff0000000000000
.dword 0x3f5bcde224052ced
.dword 0x3ff0000000000000
.dword 0x3f5c3660c05daa07
.dword 0x3ff0000000000000
.dword 0x3f5c93ea5550ffff
.dword 0x3ff0000000000000
.dword 0x3f5ce67b47b4ba9c
.dword 0x3ff0000000000000
.dword 0x3f5d2e1068a62a67
.dword 0x3ff0000000000000
.dword 0x3f5d6aa6f5a9cf22
.dword 0x3ff0000000000000
.dword 0x3f5d9c3c98c69469
.dword 0x3ff0000000000000
.dword 0x3f5dc2cf689cdf61
.dword 0x3ff0000000000000
.dword 0x3f5dde5de8796c94
.dword 0x3ff0000000000000
.dword 0x3f5deee70863fd42
.dword 0x3ff0000000000000
.dword 0x3f5df46a2529d391
.dword 0x43f0000000000000
.dword 0x3bf0000000000000
.dword 0x3fe921fb58000000
.dword 0xbe3dde973dcb3b3a
.dword 0x0000000000000000
.dword 0x0000000000000000
.dword 0x0028be60db939105
.dword 0x4a7f09d5f47d4d37
.dword 0x7036d8a5664f10e4
.dword 0x107f9458eaf7aef1
.dword 0x586dc91b8e909374
.dword 0xb801924bba827464
.dword 0x873f877ac72c4a69
.dword 0xcfba208d7d4baed1
.dword 0x213a671c09ad17df
.dword 0x904e64758e60d4ce
.dword 0x7d272117e2ef7e4a
.dword 0x0ec7fe25fff78166
.dword 0x03fbcbc462d6829b
.dword 0x47db4d9fb3c9f2c2
.dword 0x6dd3d18fd9a797fa
.dword 0x8b5d49eeb1faf97c
.dword 0x5ecf41ce7de294a4
.dword 0xba9afed7ec47e357
.dword 0x421580cc11bf1eda
.dword 0xeafc33ef0826bd0d
.dword 0x876a78e45857b986
.dword 0xc219666157c5281a
.dword 0x10237ff620135cc9
.dword 0xcc41818555b29cea
.dword 0x3258389ef0231ad1
.dword 0xf10670d9f3773a02
.dword 0x4aa0d6711da2e587
.dword 0x29b76bd13455c641
.dword 0x4fa97fc1c14fdf8c
.dword 0xfa0cb0b793e60c9f
.section .text
.align 4
.globl _rv_cos
_rv_cos:
fmv.x.d a0,fa0
li t0,-1
li t1,7971
lui a1,%hi($cosdata)
addi a1,a1,%lo($cosdata)
srli t0,t0,0x1
slli t1,t1,0x31
li t3,341
slli t3,t3,0x31
addi sp,sp,-208
sd s7,128(sp)
sd s8,136(sp)
sd s9,144(sp)
sd s10,152(sp)
sd s11,160(sp)
fsd fs7,168(sp)
fsd fs8,176(sp)
fsd fs9,184(sp)
fsd fs10,192(sp)
fsd fs11,200(sp)
li a7,2048
and a0,a0,t0
sd ra,0(sp)
fld fa7,0(a1)
sub t2,a0,t1
fld fs1,8(a1)
addi a3,a1,144
sltu t2,t2,t3
fld fs2,32(a1)
fld fs4,16(a1)
addi a6,a1,152
beqz t2,TZ1
fld fa2,24(a1)
fld ft8,72(a1)
fld fs7,40(a1)
fld fs8,64(a1)
fmadd.d ft0,fa0,fa7,fs1
fld fa7,56(a1)
fmv.x.d t4,ft0
fsub.d ft0,ft0,fs1
fld fs1,48(a1)
andi t5,t4,0x7f
andi t6,t4,0x80
srai t4,t4,0x4
fmul.d fs2,fs2,ft0
slli t5,t5,0x4
andi t4,t4,0x18
sub a7,a7,t5
mv a2,t5
fneg.d fs4,fs4
fmadd.d fa1,fs4,ft0,fa0
fneg.d fs4,fs4
add a5,a1,t4
add t4,a1,t4
beqz t6,TYPH_1
mv a2,a7
j TYPH_2
TYPH_1: mv a2,a2
TYPH_2: nop
fld fs5,96(a5)
beqz t6,TYPH_3
mv a7,t5
j TYPH_4
TYPH_3: mv a7,a7
TYPH_4: nop
fld fa5,104(t4)
fneg.d fa2,fa2
fmadd.d fs4,fa2,ft0,fa1
fneg.d fa2,fa2
fmul.d ft0,fs7,ft0
fsub.d fs6,fa0,fs2
add a4,a3,a2
add a3,a3,a7
add s7,a6,a2
add a2,a1,a2
fld fs3,0(a4)
fld ft9,0(a3)
add a7,a6,a7
fld fa3,0(s7)
sd s8,80(sp)
li s8,2208
add s8,a2,s8
fld ft11,0(s8)
ld s8,80(sp)
fld fs9,0(a7)
fsub.d fs6,fa0,fs6
fmul.d fs3,fs3,fs5
fmul.d ft9,ft9,fa5
fmul.d fa3,fa3,fs5
fsub.d fa4,fa1,fs6
fmul.d fa1,ft11,fs5
fmul.d ft8,ft8,fs3
fsub.d fs2,fs2,fs6
fmul.d fs8,fs8,ft9
fmul.d fs10,fa1,fa4
fsub.d fa1,fs3,fa1
fmul.d ft10,fs9,fa5
fmul.d ft8,ft8,fs4
fadd.d ft0,ft0,fs2
fneg.d fs3,fs3
fmadd.d fa6,fs3,fa4,ft9
fneg.d fs3,fs3
fneg.d fa3,fa3
fmadd.d fa3,fa3,fs4,ft10
fmul.d fs4,fs4,fs4
fmul.d fa1,fa1,fa4
fsub.d ft9,ft9,fa6
fmadd.d ft0,fs3,ft0,fa3
fadd.d fa7,fa7,fs4
fmul.d ft8,ft8,fs4
fsub.d ft9,ft9,fs10
fmul.d fs8,fs8,fs4
fadd.d fs1,fs1,fs4
fmul.d fa7,ft8,fa7
fsub.d fa1,ft9,fa1
fmsub.d fa7,fs8,fs1,fa7
fadd.d ft0,fa1,ft0
fsub.d fa7,ft0,fa7
fadd.d fa7,fa6,fa7
fmv.d fa0,fa7
addi sp,sp,208
ld s7,-80(sp)
ld s8,-72(sp)
ld s9,-64(sp)
ld s10,-56(sp)
ld s11,-48(sp)
fld fs7,-40(sp)
fld fs8,-32(sp)
fld fs9,-24(sp)
fld fs10,-16(sp)
fld fs11,-8(sp)
ret
.align 4
TZ1:
sub t1,a0,t1
sltz t1,t1
ld ra,0(sp)
fld fa7,96(a1)
beqz t1,TZ2
fmv.d fa0,fa7
addi sp,sp,208
ld s7,-80(sp)
ld s8,-72(sp)
ld s9,-64(sp)
ld s10,-56(sp)
ld s11,-48(sp)
fld fs7,-40(sp)
fld fs8,-32(sp)
fld fs9,-24(sp)
fld fs10,-16(sp)
fld fs11,-8(sp)
ret
.align 4
TZ2:
fmv.x.d s9,fa0
li s8,2047
sd s11,80(sp)
li s11,-1
fmv.d fa7,fa0
slli s8,s8,0x34
srli s11,s11,0xc
and a0,a0,s8
and s10,s9,s8
and s9,s9,ra
ld s11,80(sp)
xor a0,a0,s8
ld ra,0(sp)
sub s8,s10,s8
seqz s8,s8
sub s9,s9,zero
seqz s9,s9
bnez a0,TZ3
and s8,s8,s9
not s8,s8
.align 4
andi s8,s8,0x1
beqz s8,TZ4
.align 4
fmv.d fa0,fa7
addi sp,sp,208
ld s7,-80(sp)
ld s8,-72(sp)
ld s9,-64(sp)
ld s10,-56(sp)
ld s11,-48(sp)
fld fs7,-40(sp)
fld fs8,-32(sp)
fld fs9,-24(sp)
fld fs10,-16(sp)
fld fs11,-8(sp)
ret
.align 4
TZ4:
li s11,1
addi a1,sp,24
sll s11,s11,63
sd s8,80(sp)
li s8,17666
add s11,s11,s8
ld s8,80(sp)
sd s11,24(sp)
nop
ld ra,0(sp)
fld fa7,56(sp)
fmv.d fa0,fa7
addi sp,sp,208
ld s7,-80(sp)
ld s8,-72(sp)
ld s9,-64(sp)
ld s10,-56(sp)
ld s11,-48(sp)
fld fs7,-40(sp)
fld fs8,-32(sp)
fld fs9,-24(sp)
fld fs10,-16(sp)
fld fs11,-8(sp)
ret
.align 4
TZ3:
li a0,0x7
fmv.d fa7,fa0
li a6,2048
fmv.x.d t2,fa7
li t3,4095
li t5,2047
slli t3,t3,0x34
li t4,0x1
addi sp,sp,-48
slli t4,t4,0x34
sd s1,8(sp)
and t3,t2,t3
sd s2,16(sp)
sd s3,24(sp)
xor t2,t2,t3
srli t3,t3,0x34
sd s4,32(sp)
and t3,t3,t5
or t2,t2,t4
add t3,a0,t3
addi t3,t3,-946
addi sp,sp,48
sd s8,80(sp)
li s8,4304
add a7,a1,s8
ld s8,80(sp)
srai t6,t3,0x6
andi t3,t3,0x3f
sltu t5,zero,t3
slli t6,t6,0x3
add s9,t6,a7
ld t4,16(s9)
ld a7,0(s9)
addi s11,s9,24
ld s7,8(s9)
mv s9,t4
li t4,0x40
beqz t3,TRIG_RDX_TZ3
sll a7,a7,t3
sub t6,t4,t3
srl s8,s7,t6
sll s7,s7,t3
srl s10,s9,t6
or a7,a7,s8
or s7,s7,s10
TRIG_RDX_TZ3:
mul a7,t2,a7
li s1,0x1
xor t5,t5,0x1
mulhu s8,t2,s7
slli s1,s1,0x2f
mul s7,t2,s7
add a7,a7,s8
li s8,0x0
slli s10,a7,0x9
srai s10,s10,0x9
.align 4
TRIG_RDX_TZ6:
add s3,s10,s1
sll s4,s9,t3
sd s8,80(sp)
li s8,0xFFFF000000000000
and s3,s3,s8
ld s8,80(sp)
bnez s3,TRIG_RDX_TZ4
ld s3,0(s11)
mv s2,s9
addi s11,s11,8
mv s9,s3
srl s3,s3,t6
or s3,s4,s3
beqz t5,TYPH_5
mv s2,s2
j TYPH_6
TYPH_5: mv s2,s3
TYPH_6: nop
sltu s3,s7,0
mulhu s4,s2,t2
mul t2,s2,s2
add s7,s7,s4
sltu s4,s7,s4
add s3,s3,s4
add s10,s10,s3
TRIG_RDX_TZ4:
srai s4,s7,0x3f
xor s4,s10,s4
bnez s4,TRIG_RDX_TZ5
mv s10,s7
mv s7,s2
addi s8,s8,-64
j TRIG_RDX_TZ6
.align 4
TRIG_RDX_TZ5:
srai t3,s10,0x3f
sub s3,zero,s8
li t5,-1
li t6,0x1
xor t3,s10,t3
sd s8,80(sp)
li s8,0x3f
sub t2,s3,s8
sltz t2,t2
ld s8,80(sp)
srli t5,t5,0xa
li s9,2047
fmv.d.x ft0,t3
beqz t2,TYPH_7
mv s3,s3
j TYPH_8
TYPH_7: li s3,0x3f
TYPH_8: nop
sra s3,s10,s3
sub s3,s3,a7
sd s8,80(sp)
fmv.x.d s8,ft0
fcvt.d.l ft0,s8
ld s8,80(sp)
and t5,s3,t5
add t5,a7,t5
srai t5,t5,0x2f
beqz t3,TRIG_RDX_TZ7
fmv.x.d s1,ft0
srai s1,s1,0x34
and s1,s1,s9
addi t6,s1,-1021
TRIG_RDX_TZ7:
sub t4,t4,t6
srl s11,s7,t6
srl t6,s2,t6
beqz t4,TRIG_RDX_TZ8
sll s7,s7,t4
sub s8,s8,t4
sll s10,s10,t4
or s7,s7,t6
or s10,s10,s11
TRIG_RDX_TZ8:
fmv.d.x fs2,s7
sub a0,s8,a0
addi a0,a0,969
blt s7,zero,TRIG_RDX_TZ9
sd s8,80(sp)
fmv.x.d s8,fs2
fcvt.d.l fs1,s8
ld s8,80(sp)
j TRIG_RDX_TZ11
.align 4
TRIG_RDX_TZ9:
sd s8,80(sp)
sd s9,88(sp)
sd s10,96(sp)
fmv.x.d s8,fs2
li s9,0xFFF0000000000000
and s8,s8,s9
li s10,0x000FFFFFFFFFFFFF
and s9,s9,s10
and s8,s8,s9
fmv.d.x fs3,s8
ld s8,80(sp)
ld s9,88(sp)
ld s10,96(sp)
sd s8,80(sp)
sd s9,88(sp)
sd s10,96(sp)
fmv.x.d s8,fs11
li s9,0xFFF0000000000000
and s8,s8,s9
li s10,0x000FFFFFFFFFFFFF
and s9,s9,s10
and s8,s8,s9
fmv.d.x fs2,s8
ld s8,80(sp)
ld s9,88(sp)
ld s10,96(sp)
sd s8,80(sp)
li s8,4272
add s8,a1,s8
fld fs1,0(s8)
ld s8,80(sp)
sd s8,80(sp)
fmv.x.d s8,fs3
fcvt.d.l fs3,s8
ld s8,80(sp)
sd s8,80(sp)
fmv.x.d s8,fs2
fcvt.d.l fs2,s8
ld s8,80(sp)
fadd.d fs3,fs1,fs3
fadd.d fs1,fs2,fs3
TRIG_RDX_TZ11:
slli a0,a0,0x34
sd s8,80(sp)
li s8,131072
sext.w s3,s8
ld s8,80(sp)
fmv.d.x fs6,a0
li a0,-1
sd s8,80(sp)
li s8,4288
add s8,a1,s8
fld ft0,0(s8)