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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global GetFontCode
GetFontCode:
/* 8026DA94 002696F4 28 03 00 01 */ cmplwi r3, 1
/* 8026DA98 002696F8 40 82 01 10 */ bne lbl_8026DBA8
/* 8026DA9C 002696FC 28 04 00 20 */ cmplwi r4, 0x20
/* 8026DAA0 00269700 41 80 00 24 */ blt lbl_8026DAC4
/* 8026DAA4 00269704 28 04 00 DF */ cmplwi r4, 0xdf
/* 8026DAA8 00269708 41 81 00 1C */ bgt lbl_8026DAC4
/* 8026DAAC 0026970C 38 04 FF E0 */ addi r0, r4, -32
/* 8026DAB0 00269710 3C 60 80 42 */ lis r3, lbl_804271C8@ha
/* 8026DAB4 00269714 54 00 08 3C */ slwi r0, r0, 1
/* 8026DAB8 00269718 38 63 71 C8 */ addi r3, r3, lbl_804271C8@l
/* 8026DABC 0026971C 7C 63 02 2E */ lhzx r3, r3, r0
/* 8026DAC0 00269720 4E 80 00 20 */ blr
lbl_8026DAC4:
/* 8026DAC4 00269724 28 04 88 9E */ cmplwi r4, 0x889e
/* 8026DAC8 00269728 40 81 00 68 */ ble lbl_8026DB30
/* 8026DACC 0026972C 28 04 98 72 */ cmplwi r4, 0x9872
/* 8026DAD0 00269730 41 81 00 60 */ bgt lbl_8026DB30
/* 8026DAD4 00269734 54 83 C6 3E */ rlwinm r3, r4, 0x18, 0x18, 0x1f
/* 8026DAD8 00269738 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8026DADC 0026973C 38 63 FF 78 */ addi r3, r3, -136
/* 8026DAE0 00269740 38 00 00 00 */ li r0, 0
/* 8026DAE4 00269744 28 04 00 40 */ cmplwi r4, 0x40
/* 8026DAE8 00269748 1C 63 00 BC */ mulli r3, r3, 0xbc
/* 8026DAEC 0026974C 41 80 00 18 */ blt lbl_8026DB04
/* 8026DAF0 00269750 28 04 00 FC */ cmplwi r4, 0xfc
/* 8026DAF4 00269754 41 81 00 10 */ bgt lbl_8026DB04
/* 8026DAF8 00269758 28 04 00 7F */ cmplwi r4, 0x7f
/* 8026DAFC 0026975C 41 82 00 08 */ beq lbl_8026DB04
/* 8026DB00 00269760 38 00 00 01 */ li r0, 1
lbl_8026DB04:
/* 8026DB04 00269764 2C 00 00 00 */ cmpwi r0, 0
/* 8026DB08 00269768 40 82 00 0C */ bne lbl_8026DB14
/* 8026DB0C 0026976C 38 60 00 00 */ li r3, 0
/* 8026DB10 00269770 4E 80 00 20 */ blr
lbl_8026DB14:
/* 8026DB14 00269774 38 84 FF C0 */ addi r4, r4, -64
/* 8026DB18 00269778 2C 04 00 40 */ cmpwi r4, 0x40
/* 8026DB1C 0026977C 41 80 00 08 */ blt lbl_8026DB24
/* 8026DB20 00269780 38 84 FF FF */ addi r4, r4, -1
lbl_8026DB24:
/* 8026DB24 00269784 7C 63 22 14 */ add r3, r3, r4
/* 8026DB28 00269788 38 63 02 BE */ addi r3, r3, 0x2be
/* 8026DB2C 0026978C 4E 80 00 20 */ blr
lbl_8026DB30:
/* 8026DB30 00269790 28 04 81 40 */ cmplwi r4, 0x8140
/* 8026DB34 00269794 41 80 00 8C */ blt lbl_8026DBC0
/* 8026DB38 00269798 28 04 87 9E */ cmplwi r4, 0x879e
/* 8026DB3C 0026979C 40 80 00 84 */ bge lbl_8026DBC0
/* 8026DB40 002697A0 54 83 C6 3E */ rlwinm r3, r4, 0x18, 0x18, 0x1f
/* 8026DB44 002697A4 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8026DB48 002697A8 38 63 FF 7F */ addi r3, r3, -129
/* 8026DB4C 002697AC 38 00 00 00 */ li r0, 0
/* 8026DB50 002697B0 28 04 00 40 */ cmplwi r4, 0x40
/* 8026DB54 002697B4 1C 63 00 BC */ mulli r3, r3, 0xbc
/* 8026DB58 002697B8 41 80 00 18 */ blt lbl_8026DB70
/* 8026DB5C 002697BC 28 04 00 FC */ cmplwi r4, 0xfc
/* 8026DB60 002697C0 41 81 00 10 */ bgt lbl_8026DB70
/* 8026DB64 002697C4 28 04 00 7F */ cmplwi r4, 0x7f
/* 8026DB68 002697C8 41 82 00 08 */ beq lbl_8026DB70
/* 8026DB6C 002697CC 38 00 00 01 */ li r0, 1
lbl_8026DB70:
/* 8026DB70 002697D0 2C 00 00 00 */ cmpwi r0, 0
/* 8026DB74 002697D4 40 82 00 0C */ bne lbl_8026DB80
/* 8026DB78 002697D8 38 60 00 00 */ li r3, 0
/* 8026DB7C 002697DC 4E 80 00 20 */ blr
lbl_8026DB80:
/* 8026DB80 002697E0 38 84 FF C0 */ addi r4, r4, -64
/* 8026DB84 002697E4 2C 04 00 40 */ cmpwi r4, 0x40
/* 8026DB88 002697E8 41 80 00 08 */ blt lbl_8026DB90
/* 8026DB8C 002697EC 38 84 FF FF */ addi r4, r4, -1
lbl_8026DB90:
/* 8026DB90 002697F0 7C 03 22 14 */ add r0, r3, r4
/* 8026DB94 002697F4 3C 60 80 42 */ lis r3, lbl_80427348@ha
/* 8026DB98 002697F8 54 00 08 3C */ slwi r0, r0, 1
/* 8026DB9C 002697FC 38 63 73 48 */ addi r3, r3, lbl_80427348@l
/* 8026DBA0 00269800 7C 63 02 2E */ lhzx r3, r3, r0
/* 8026DBA4 00269804 4E 80 00 20 */ blr
lbl_8026DBA8:
/* 8026DBA8 00269808 28 04 00 20 */ cmplwi r4, 0x20
/* 8026DBAC 0026980C 40 81 00 14 */ ble lbl_8026DBC0
/* 8026DBB0 00269810 28 04 00 FF */ cmplwi r4, 0xff
/* 8026DBB4 00269814 41 81 00 0C */ bgt lbl_8026DBC0
/* 8026DBB8 00269818 38 64 FF E0 */ addi r3, r4, -32
/* 8026DBBC 0026981C 4E 80 00 20 */ blr
lbl_8026DBC0:
/* 8026DBC0 00269820 38 60 00 00 */ li r3, 0
/* 8026DBC4 00269824 4E 80 00 20 */ blr
.global Decode
Decode:
/* 8026DBC8 00269828 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8026DBCC 0026982C 7C 08 02 A6 */ mflr r0
/* 8026DBD0 00269830 90 01 00 24 */ stw r0, 0x24(r1)
/* 8026DBD4 00269834 39 61 00 20 */ addi r11, r1, 0x20
/* 8026DBD8 00269838 4B F5 95 4D */ bl _savegpr_26
/* 8026DBDC 0026983C 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 8026DBE0 00269840 3B C3 00 10 */ addi r30, r3, 0x10
/* 8026DBE4 00269844 80 03 00 04 */ lwz r0, 4(r3)
/* 8026DBE8 00269848 39 00 00 00 */ li r8, 0
/* 8026DBEC 0026984C 7F A3 2A 14 */ add r29, r3, r5
/* 8026DBF0 00269850 81 23 00 08 */ lwz r9, 8(r3)
/* 8026DBF4 00269854 39 60 00 00 */ li r11, 0
/* 8026DBF8 00269858 3C A0 80 00 */ lis r5, 0x8000
lbl_8026DBFC:
/* 8026DBFC 0026985C 2C 0B 00 00 */ cmpwi r11, 0
/* 8026DC00 00269860 40 82 00 10 */ bne lbl_8026DC10
/* 8026DC04 00269864 81 9E 00 00 */ lwz r12, 0(r30)
/* 8026DC08 00269868 39 60 00 20 */ li r11, 0x20
/* 8026DC0C 0026986C 3B DE 00 04 */ addi r30, r30, 4
lbl_8026DC10:
/* 8026DC10 00269870 55 86 00 01 */ rlwinm. r6, r12, 0, 0, 0
/* 8026DC14 00269874 41 82 00 18 */ beq lbl_8026DC2C
/* 8026DC18 00269878 88 DD 00 00 */ lbz r6, 0(r29)
/* 8026DC1C 0026987C 3B BD 00 01 */ addi r29, r29, 1
/* 8026DC20 00269880 7C C4 41 AE */ stbx r6, r4, r8
/* 8026DC24 00269884 39 08 00 01 */ addi r8, r8, 1
/* 8026DC28 00269888 48 00 01 1C */ b lbl_8026DD44
lbl_8026DC2C:
/* 8026DC2C 0026988C 7C E3 4A 14 */ add r7, r3, r9
/* 8026DC30 00269890 7C C3 48 AE */ lbzx r6, r3, r9
/* 8026DC34 00269894 88 E7 00 01 */ lbz r7, 1(r7)
/* 8026DC38 00269898 39 29 00 02 */ addi r9, r9, 2
/* 8026DC3C 0026989C 50 C7 44 2E */ rlwimi r7, r6, 8, 0x10, 0x17
/* 8026DC40 002698A0 7C EA 66 71 */ srawi. r10, r7, 0xc
/* 8026DC44 002698A4 54 E6 05 3E */ clrlwi r6, r7, 0x14
/* 8026DC48 002698A8 7C E6 40 50 */ subf r7, r6, r8
/* 8026DC4C 002698AC 40 82 00 14 */ bne lbl_8026DC60
/* 8026DC50 002698B0 88 DD 00 00 */ lbz r6, 0(r29)
/* 8026DC54 002698B4 3B BD 00 01 */ addi r29, r29, 1
/* 8026DC58 002698B8 39 46 00 12 */ addi r10, r6, 0x12
/* 8026DC5C 002698BC 48 00 00 08 */ b lbl_8026DC64
lbl_8026DC60:
/* 8026DC60 002698C0 39 4A 00 02 */ addi r10, r10, 2
lbl_8026DC64:
/* 8026DC64 002698C4 2C 8A 00 00 */ cmpwi cr1, r10, 0
/* 8026DC68 002698C8 38 C0 00 00 */ li r6, 0
/* 8026DC6C 002698CC 40 85 00 D8 */ ble cr1, lbl_8026DD44
/* 8026DC70 002698D0 2C 0A 00 08 */ cmpwi r10, 8
/* 8026DC74 002698D4 3B 6A FF F8 */ addi r27, r10, -8
/* 8026DC78 002698D8 40 81 00 98 */ ble lbl_8026DD10
/* 8026DC7C 002698DC 3B 80 00 00 */ li r28, 0
/* 8026DC80 002698E0 41 84 00 14 */ blt cr1, lbl_8026DC94
/* 8026DC84 002698E4 3B 45 FF FE */ addi r26, r5, -2
/* 8026DC88 002698E8 7C 0A D0 00 */ cmpw r10, r26
/* 8026DC8C 002698EC 41 81 00 08 */ bgt lbl_8026DC94
/* 8026DC90 002698F0 3B 80 00 01 */ li r28, 1
lbl_8026DC94:
/* 8026DC94 002698F4 2C 1C 00 00 */ cmpwi r28, 0
/* 8026DC98 002698F8 41 82 00 78 */ beq lbl_8026DD10
/* 8026DC9C 002698FC 3B FB 00 07 */ addi r31, r27, 7
/* 8026DCA0 00269900 7F 84 42 14 */ add r28, r4, r8
/* 8026DCA4 00269904 57 FF E8 FE */ srwi r31, r31, 3
/* 8026DCA8 00269908 7F E9 03 A6 */ mtctr r31
/* 8026DCAC 0026990C 2C 1B 00 00 */ cmpwi r27, 0
/* 8026DCB0 00269910 40 81 00 60 */ ble lbl_8026DD10
lbl_8026DCB4:
/* 8026DCB4 00269914 7F 44 3A 14 */ add r26, r4, r7
/* 8026DCB8 00269918 7F 68 22 14 */ add r27, r8, r4
/* 8026DCBC 0026991C 8B FA FF FF */ lbz r31, -1(r26)
/* 8026DCC0 00269920 39 08 00 08 */ addi r8, r8, 8
/* 8026DCC4 00269924 38 C6 00 08 */ addi r6, r6, 8
/* 8026DCC8 00269928 9B FC 00 00 */ stb r31, 0(r28)
/* 8026DCCC 0026992C 3B 9C 00 08 */ addi r28, r28, 8
/* 8026DCD0 00269930 7F E4 38 AE */ lbzx r31, r4, r7
/* 8026DCD4 00269934 38 E7 00 08 */ addi r7, r7, 8
/* 8026DCD8 00269938 9B FB 00 01 */ stb r31, 1(r27)
/* 8026DCDC 0026993C 8B FA 00 01 */ lbz r31, 1(r26)
/* 8026DCE0 00269940 9B FB 00 02 */ stb r31, 2(r27)
/* 8026DCE4 00269944 8B FA 00 02 */ lbz r31, 2(r26)
/* 8026DCE8 00269948 9B FB 00 03 */ stb r31, 3(r27)
/* 8026DCEC 0026994C 8B FA 00 03 */ lbz r31, 3(r26)
/* 8026DCF0 00269950 9B FB 00 04 */ stb r31, 4(r27)
/* 8026DCF4 00269954 8B FA 00 04 */ lbz r31, 4(r26)
/* 8026DCF8 00269958 9B FB 00 05 */ stb r31, 5(r27)
/* 8026DCFC 0026995C 8B FA 00 05 */ lbz r31, 5(r26)
/* 8026DD00 00269960 9B FB 00 06 */ stb r31, 6(r27)
/* 8026DD04 00269964 8B FA 00 06 */ lbz r31, 6(r26)
/* 8026DD08 00269968 9B FB 00 07 */ stb r31, 7(r27)
/* 8026DD0C 0026996C 42 00 FF A8 */ bdnz lbl_8026DCB4
lbl_8026DD10:
/* 8026DD10 00269970 7F E6 50 50 */ subf r31, r6, r10
/* 8026DD14 00269974 7F 84 42 14 */ add r28, r4, r8
/* 8026DD18 00269978 7F E9 03 A6 */ mtctr r31
/* 8026DD1C 0026997C 7C 06 50 00 */ cmpw r6, r10
/* 8026DD20 00269980 40 80 00 24 */ bge lbl_8026DD44
lbl_8026DD24:
/* 8026DD24 00269984 7D 44 3A 14 */ add r10, r4, r7
/* 8026DD28 00269988 38 C6 00 01 */ addi r6, r6, 1
/* 8026DD2C 0026998C 89 4A FF FF */ lbz r10, -1(r10)
/* 8026DD30 00269990 39 08 00 01 */ addi r8, r8, 1
/* 8026DD34 00269994 38 E7 00 01 */ addi r7, r7, 1
/* 8026DD38 00269998 99 5C 00 00 */ stb r10, 0(r28)
/* 8026DD3C 0026999C 3B 9C 00 01 */ addi r28, r28, 1
/* 8026DD40 002699A0 42 00 FF E4 */ bdnz lbl_8026DD24
lbl_8026DD44:
/* 8026DD44 002699A4 7C 08 00 00 */ cmpw r8, r0
/* 8026DD48 002699A8 55 8C 08 3C */ slwi r12, r12, 1
/* 8026DD4C 002699AC 39 6B FF FF */ addi r11, r11, -1
/* 8026DD50 002699B0 41 80 FE AC */ blt lbl_8026DBFC
/* 8026DD54 002699B4 39 61 00 20 */ addi r11, r1, 0x20
/* 8026DD58 002699B8 4B F5 94 19 */ bl _restgpr_26
/* 8026DD5C 002699BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8026DD60 002699C0 7C 08 03 A6 */ mtlr r0
/* 8026DD64 002699C4 38 21 00 20 */ addi r1, r1, 0x20
/* 8026DD68 002699C8 4E 80 00 20 */ blr
.global OSSetFontEncode
OSSetFontEncode:
/* 8026DD6C 002699CC A0 0D 87 D8 */ lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026DD70 002699D0 28 00 FF FF */ cmplwi r0, 0xffff
/* 8026DD74 002699D4 41 82 00 08 */ beq lbl_8026DD7C
/* 8026DD78 002699D8 48 00 00 48 */ b lbl_8026DDC0
lbl_8026DD7C:
/* 8026DD7C 002699DC 3C 80 80 00 */ lis r4, 0x800000CC@ha
/* 8026DD80 002699E0 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
/* 8026DD84 002699E4 2C 00 00 00 */ cmpwi r0, 0
/* 8026DD88 002699E8 41 82 00 0C */ beq lbl_8026DD94
/* 8026DD8C 002699EC 41 80 00 1C */ blt lbl_8026DDA8
/* 8026DD90 002699F0 48 00 00 18 */ b lbl_8026DDA8
lbl_8026DD94:
/* 8026DD94 002699F4 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 8026DD98 002699F8 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 8026DD9C 002699FC 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 8026DDA0 00269A00 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026DDA4 00269A04 48 00 00 0C */ b lbl_8026DDB0
lbl_8026DDA8:
/* 8026DDA8 00269A08 38 00 00 00 */ li r0, 0
/* 8026DDAC 00269A0C B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
lbl_8026DDB0:
/* 8026DDB0 00269A10 3C 80 80 27 */ lis r4, ParseStringS@ha
/* 8026DDB4 00269A14 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8026DDB8 00269A18 38 84 E2 14 */ addi r4, r4, ParseStringS@l
/* 8026DDBC 00269A1C 90 8D A7 E8 */ stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
lbl_8026DDC0:
/* 8026DDC0 00269A20 28 83 00 05 */ cmplwi cr1, r3, 5
/* 8026DDC4 00269A24 41 85 00 20 */ bgt cr1, lbl_8026DDE4
/* 8026DDC8 00269A28 28 03 00 03 */ cmplwi r3, 3
/* 8026DDCC 00269A2C B0 6D 87 D8 */ sth r3, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026DDD0 00269A30 41 80 00 14 */ blt lbl_8026DDE4
/* 8026DDD4 00269A34 41 85 00 10 */ bgt cr1, lbl_8026DDE4
/* 8026DDD8 00269A38 3C 60 80 27 */ lis r3, ParseStringW@ha
/* 8026DDDC 00269A3C 38 63 E3 10 */ addi r3, r3, ParseStringW@l
/* 8026DDE0 00269A40 90 6D A7 E8 */ stw r3, lbl_8063FAA8-_SDA_BASE_(r13)
lbl_8026DDE4:
/* 8026DDE4 00269A44 7C 03 03 78 */ mr r3, r0
/* 8026DDE8 00269A48 4E 80 00 20 */ blr
.global ReadFont
ReadFont:
/* 8026DDEC 00269A4C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8026DDF0 00269A50 7C 08 02 A6 */ mflr r0
/* 8026DDF4 00269A54 90 01 00 34 */ stw r0, 0x34(r1)
/* 8026DDF8 00269A58 39 61 00 30 */ addi r11, r1, 0x30
/* 8026DDFC 00269A5C 4B F5 93 25 */ bl _savegpr_25
/* 8026DE00 00269A60 28 04 00 01 */ cmplwi r4, 1
/* 8026DE04 00269A64 7C 7C 1B 78 */ mr r28, r3
/* 8026DE08 00269A68 7C 9D 23 78 */ mr r29, r4
/* 8026DE0C 00269A6C 7C BA 2B 78 */ mr r26, r5
/* 8026DE10 00269A70 40 82 00 5C */ bne lbl_8026DE6C
/* 8026DE14 00269A74 3C 80 00 1B */ lis r4, 0x001AFF00@ha
/* 8026DE18 00269A78 3C 60 00 05 */ lis r3, 0x0004D000@ha
/* 8026DE1C 00269A7C 7F 9B E3 78 */ mr r27, r28
/* 8026DE20 00269A80 3B E4 FF 00 */ addi r31, r4, 0x001AFF00@l
/* 8026DE24 00269A84 3B C3 D0 00 */ addi r30, r3, 0x0004D000@l
/* 8026DE28 00269A88 48 00 00 38 */ b lbl_8026DE60
lbl_8026DE2C:
/* 8026DE2C 00269A8C 2C 1E 01 00 */ cmpwi r30, 0x100
/* 8026DE30 00269A90 3B 20 01 00 */ li r25, 0x100
/* 8026DE34 00269A94 41 81 00 08 */ bgt lbl_8026DE3C
/* 8026DE38 00269A98 7F D9 F3 78 */ mr r25, r30
lbl_8026DE3C:
/* 8026DE3C 00269A9C 7F D9 F0 50 */ subf r30, r25, r30
lbl_8026DE40:
/* 8026DE40 00269AA0 7F 63 DB 78 */ mr r3, r27
/* 8026DE44 00269AA4 7F 24 CB 78 */ mr r4, r25
/* 8026DE48 00269AA8 7F E5 FB 78 */ mr r5, r31
/* 8026DE4C 00269AAC 48 00 2B B9 */ bl __OSReadROM
/* 8026DE50 00269AB0 2C 03 00 00 */ cmpwi r3, 0
/* 8026DE54 00269AB4 41 82 FF EC */ beq lbl_8026DE40
/* 8026DE58 00269AB8 7F FF CA 14 */ add r31, r31, r25
/* 8026DE5C 00269ABC 7F 7B CA 14 */ add r27, r27, r25
lbl_8026DE60:
/* 8026DE60 00269AC0 2C 1E 00 00 */ cmpwi r30, 0
/* 8026DE64 00269AC4 41 81 FF C8 */ bgt lbl_8026DE2C
/* 8026DE68 00269AC8 48 00 00 54 */ b lbl_8026DEBC
lbl_8026DE6C:
/* 8026DE6C 00269ACC 3C 60 00 20 */ lis r3, 0x001FCF00@ha
/* 8026DE70 00269AD0 7F 9B E3 78 */ mr r27, r28
/* 8026DE74 00269AD4 3B E3 CF 00 */ addi r31, r3, 0x001FCF00@l
/* 8026DE78 00269AD8 3B C0 30 00 */ li r30, 0x3000
/* 8026DE7C 00269ADC 48 00 00 38 */ b lbl_8026DEB4
lbl_8026DE80:
/* 8026DE80 00269AE0 2C 1E 01 00 */ cmpwi r30, 0x100
/* 8026DE84 00269AE4 3B 20 01 00 */ li r25, 0x100
/* 8026DE88 00269AE8 41 81 00 08 */ bgt lbl_8026DE90
/* 8026DE8C 00269AEC 7F D9 F3 78 */ mr r25, r30
lbl_8026DE90:
/* 8026DE90 00269AF0 7F D9 F0 50 */ subf r30, r25, r30
lbl_8026DE94:
/* 8026DE94 00269AF4 7F 63 DB 78 */ mr r3, r27
/* 8026DE98 00269AF8 7F 24 CB 78 */ mr r4, r25
/* 8026DE9C 00269AFC 7F E5 FB 78 */ mr r5, r31
/* 8026DEA0 00269B00 48 00 2B 65 */ bl __OSReadROM
/* 8026DEA4 00269B04 2C 03 00 00 */ cmpwi r3, 0
/* 8026DEA8 00269B08 41 82 FF EC */ beq lbl_8026DE94
/* 8026DEAC 00269B0C 7F FF CA 14 */ add r31, r31, r25
/* 8026DEB0 00269B10 7F 7B CA 14 */ add r27, r27, r25
lbl_8026DEB4:
/* 8026DEB4 00269B14 2C 1E 00 00 */ cmpwi r30, 0
/* 8026DEB8 00269B18 41 81 FF C8 */ bgt lbl_8026DE80
lbl_8026DEBC:
/* 8026DEBC 00269B1C 88 1C 00 00 */ lbz r0, 0(r28)
/* 8026DEC0 00269B20 28 00 00 59 */ cmplwi r0, 0x59
/* 8026DEC4 00269B24 40 82 00 24 */ bne lbl_8026DEE8
/* 8026DEC8 00269B28 88 1C 00 01 */ lbz r0, 1(r28)
/* 8026DECC 00269B2C 28 00 00 61 */ cmplwi r0, 0x61
/* 8026DED0 00269B30 40 82 00 18 */ bne lbl_8026DEE8
/* 8026DED4 00269B34 88 1C 00 02 */ lbz r0, 2(r28)
/* 8026DED8 00269B38 28 00 00 79 */ cmplwi r0, 0x79
/* 8026DEDC 00269B3C 40 82 00 0C */ bne lbl_8026DEE8
/* 8026DEE0 00269B40 83 7C 00 04 */ lwz r27, 4(r28)
/* 8026DEE4 00269B44 48 00 00 08 */ b lbl_8026DEEC
lbl_8026DEE8:
/* 8026DEE8 00269B48 3B 60 00 00 */ li r27, 0
lbl_8026DEEC:
/* 8026DEEC 00269B4C 2C 1B 00 00 */ cmpwi r27, 0
/* 8026DEF0 00269B50 40 82 00 0C */ bne lbl_8026DEFC
/* 8026DEF4 00269B54 38 60 00 00 */ li r3, 0
/* 8026DEF8 00269B58 48 00 01 DC */ b lbl_8026E0D4
lbl_8026DEFC:
/* 8026DEFC 00269B5C 7F 83 E3 78 */ mr r3, r28
/* 8026DF00 00269B60 7F 44 D3 78 */ mr r4, r26
/* 8026DF04 00269B64 4B FF FC C5 */ bl Decode
/* 8026DF08 00269B68 28 1D 00 01 */ cmplwi r29, 1
/* 8026DF0C 00269B6C 40 82 01 C4 */ bne lbl_8026E0D0
/* 8026DF10 00269B70 7F A3 EB 78 */ mr r3, r29
/* 8026DF14 00269B74 A3 82 A0 60 */ lhz r28, lbl_80642660-_SDA2_BASE_(r2)
/* 8026DF18 00269B78 A3 A2 A0 62 */ lhz r29, lbl_80642662-_SDA2_BASE_(r2)
/* 8026DF1C 00269B7C 38 80 00 54 */ li r4, 0x54
/* 8026DF20 00269B80 A3 C2 A0 64 */ lhz r30, lbl_80642664-_SDA2_BASE_(r2)
/* 8026DF24 00269B84 A3 E2 A0 66 */ lhz r31, lbl_80642666-_SDA2_BASE_(r2)
/* 8026DF28 00269B88 4B FF FB 6D */ bl GetFontCode
/* 8026DF2C 00269B8C A1 3A 00 1A */ lhz r9, 0x1a(r26)
/* 8026DF30 00269B90 A0 9A 00 1C */ lhz r4, 0x1c(r26)
/* 8026DF34 00269B94 A0 1A 00 1E */ lhz r0, 0x1e(r26)
/* 8026DF38 00269B98 7D 49 21 D6 */ mullw r10, r9, r4
/* 8026DF3C 00269B9C 80 BA 00 24 */ lwz r5, 0x24(r26)
/* 8026DF40 00269BA0 54 04 10 34 */ rlwinm r4, r0, 2, 0, 0x1a
/* 8026DF44 00269BA4 A0 DA 00 12 */ lhz r6, 0x12(r26)
/* 8026DF48 00269BA8 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
/* 8026DF4C 00269BAC A0 FA 00 10 */ lhz r7, 0x10(r26)
/* 8026DF50 00269BB0 7D 83 53 D6 */ divw r12, r3, r10
/* 8026DF54 00269BB4 7C 00 22 14 */ add r0, r0, r4
/* 8026DF58 00269BB8 7C 9A 2A 14 */ add r4, r26, r5
/* 8026DF5C 00269BBC 81 1A 00 14 */ lwz r8, 0x14(r26)
/* 8026DF60 00269BC0 7C 0B 0E 70 */ srawi r11, r0, 1
/* 8026DF64 00269BC4 7C 0C 51 D6 */ mullw r0, r12, r10
/* 8026DF68 00269BC8 7C 60 18 50 */ subf r3, r0, r3
/* 8026DF6C 00269BCC 7C A3 4B D6 */ divw r5, r3, r9
/* 8026DF70 00269BD0 7C 05 49 D6 */ mullw r0, r5, r9
/* 8026DF74 00269BD4 7C A5 31 D6 */ mullw r5, r5, r6
/* 8026DF78 00269BD8 7F 20 18 50 */ subf r25, r0, r3
/* 8026DF7C 00269BDC 38 C5 00 04 */ addi r6, r5, 4
/* 8026DF80 00269BE0 7F 39 39 D6 */ mullw r25, r25, r7
/* 8026DF84 00269BE4 39 45 00 05 */ addi r10, r5, 5
/* 8026DF88 00269BE8 7C C3 1E 70 */ srawi r3, r6, 3
/* 8026DF8C 00269BEC 54 C0 E8 04 */ slwi r0, r6, 0x1d
/* 8026DF90 00269BF0 7D 23 01 94 */ addze r9, r3
/* 8026DF94 00269BF4 54 C7 0F FE */ srwi r7, r6, 0x1f
/* 8026DF98 00269BF8 7D 8C 41 D6 */ mullw r12, r12, r8
/* 8026DF9C 00269BFC 7F 23 1E 70 */ srawi r3, r25, 3
/* 8026DFA0 00269C00 7C 07 00 50 */ subf r0, r7, r0
/* 8026DFA4 00269C04 7D 03 01 94 */ addze r8, r3
/* 8026DFA8 00269C08 54 03 18 3E */ rotlwi r3, r0, 3
/* 8026DFAC 00269C0C 57 20 E8 04 */ slwi r0, r25, 0x1d
/* 8026DFB0 00269C10 57 26 0F FE */ srwi r6, r25, 0x1f
/* 8026DFB4 00269C14 55 8C F8 7E */ srwi r12, r12, 1
/* 8026DFB8 00269C18 7D 2B 49 D6 */ mullw r9, r11, r9
/* 8026DFBC 00269C1C 7C E3 3A 14 */ add r7, r3, r7
/* 8026DFC0 00269C20 7C 06 00 50 */ subf r0, r6, r0
/* 8026DFC4 00269C24 7C 84 62 14 */ add r4, r4, r12
/* 8026DFC8 00269C28 54 03 18 3E */ rotlwi r3, r0, 3
/* 8026DFCC 00269C2C 55 00 20 36 */ slwi r0, r8, 4
/* 8026DFD0 00269C30 7C 63 32 14 */ add r3, r3, r6
/* 8026DFD4 00269C34 7D 24 4A 14 */ add r9, r4, r9
/* 8026DFD8 00269C38 54 E8 08 3C */ slwi r8, r7, 1
/* 8026DFDC 00269C3C 55 46 E8 04 */ slwi r6, r10, 0x1d
/* 8026DFE0 00269C40 7C 63 16 70 */ srawi r3, r3, 2
/* 8026DFE4 00269C44 7D 29 02 14 */ add r9, r9, r0
/* 8026DFE8 00269C48 7D 29 42 14 */ add r9, r9, r8
/* 8026DFEC 00269C4C 55 47 0F FE */ srwi r7, r10, 0x1f
/* 8026DFF0 00269C50 7C 63 01 94 */ addze r3, r3
/* 8026DFF4 00269C54 39 05 00 06 */ addi r8, r5, 6
/* 8026DFF8 00269C58 7F 89 1B 2E */ sthx r28, r9, r3
/* 8026DFFC 00269C5C 7C C7 30 50 */ subf r6, r7, r6
/* 8026E000 00269C60 54 C6 18 3E */ rotlwi r6, r6, 3
/* 8026E004 00269C64 7C C6 3A 14 */ add r6, r6, r7
/* 8026E008 00269C68 A1 7A 00 1E */ lhz r11, 0x1e(r26)
/* 8026E00C 00269C6C 54 C9 08 3C */ slwi r9, r6, 1
/* 8026E010 00269C70 55 07 0F FE */ srwi r7, r8, 0x1f
/* 8026E014 00269C74 55 6C 10 34 */ rlwinm r12, r11, 2, 0, 0x1a
/* 8026E018 00269C78 55 6B 1F FE */ rlwinm r11, r11, 3, 0x1f, 0x1f
/* 8026E01C 00269C7C 7D 6B 62 14 */ add r11, r11, r12
/* 8026E020 00269C80 55 06 E8 04 */ slwi r6, r8, 0x1d
/* 8026E024 00269C84 7D 6B 0E 70 */ srawi r11, r11, 1
/* 8026E028 00269C88 7D 4A 1E 70 */ srawi r10, r10, 3
/* 8026E02C 00269C8C 7C C7 30 50 */ subf r6, r7, r6
/* 8026E030 00269C90 7D 4A 01 94 */ addze r10, r10
/* 8026E034 00269C94 54 C6 18 3E */ rotlwi r6, r6, 3
/* 8026E038 00269C98 7C C6 3A 14 */ add r6, r6, r7
/* 8026E03C 00269C9C 7D 4B 51 D6 */ mullw r10, r11, r10
/* 8026E040 00269CA0 54 C6 08 3C */ slwi r6, r6, 1
/* 8026E044 00269CA4 7C E4 52 14 */ add r7, r4, r10
/* 8026E048 00269CA8 7C E7 02 14 */ add r7, r7, r0
/* 8026E04C 00269CAC 7C E7 4A 14 */ add r7, r7, r9
/* 8026E050 00269CB0 7F A7 1B 2E */ sthx r29, r7, r3
/* 8026E054 00269CB4 A0 FA 00 1E */ lhz r7, 0x1e(r26)
/* 8026E058 00269CB8 54 E9 10 34 */ rlwinm r9, r7, 2, 0, 0x1a
/* 8026E05C 00269CBC 54 E7 1F FE */ rlwinm r7, r7, 3, 0x1f, 0x1f
/* 8026E060 00269CC0 7C E7 4A 14 */ add r7, r7, r9
/* 8026E064 00269CC4 7C E9 0E 70 */ srawi r9, r7, 1
/* 8026E068 00269CC8 7D 07 1E 70 */ srawi r7, r8, 3
/* 8026E06C 00269CCC 7C E7 01 94 */ addze r7, r7
/* 8026E070 00269CD0 7C E9 39 D6 */ mullw r7, r9, r7
/* 8026E074 00269CD4 7C E4 3A 14 */ add r7, r4, r7
/* 8026E078 00269CD8 7C E7 02 14 */ add r7, r7, r0
/* 8026E07C 00269CDC 7C E7 32 14 */ add r7, r7, r6
/* 8026E080 00269CE0 7F C7 1B 2E */ sthx r30, r7, r3
/* 8026E084 00269CE4 38 E5 00 07 */ addi r7, r5, 7
/* 8026E088 00269CE8 54 E5 E8 04 */ slwi r5, r7, 0x1d
/* 8026E08C 00269CEC A1 1A 00 1E */ lhz r8, 0x1e(r26)
/* 8026E090 00269CF0 54 E6 0F FE */ srwi r6, r7, 0x1f
/* 8026E094 00269CF4 7C A6 28 50 */ subf r5, r6, r5
/* 8026E098 00269CF8 55 09 10 34 */ rlwinm r9, r8, 2, 0, 0x1a
/* 8026E09C 00269CFC 55 08 1F FE */ rlwinm r8, r8, 3, 0x1f, 0x1f
/* 8026E0A0 00269D00 7D 08 4A 14 */ add r8, r8, r9
/* 8026E0A4 00269D04 54 A5 18 3E */ rotlwi r5, r5, 3
/* 8026E0A8 00269D08 7D 08 0E 70 */ srawi r8, r8, 1
/* 8026E0AC 00269D0C 7C E7 1E 70 */ srawi r7, r7, 3
/* 8026E0B0 00269D10 7C A5 32 14 */ add r5, r5, r6
/* 8026E0B4 00269D14 7C C7 01 94 */ addze r6, r7
/* 8026E0B8 00269D18 7C C8 31 D6 */ mullw r6, r8, r6
/* 8026E0BC 00269D1C 54 A5 08 3C */ slwi r5, r5, 1
/* 8026E0C0 00269D20 7C 84 32 14 */ add r4, r4, r6
/* 8026E0C4 00269D24 7C 84 02 14 */ add r4, r4, r0
/* 8026E0C8 00269D28 7C 84 2A 14 */ add r4, r4, r5
/* 8026E0CC 00269D2C 7F E4 1B 2E */ sthx r31, r4, r3
lbl_8026E0D0:
/* 8026E0D0 00269D30 7F 63 DB 78 */ mr r3, r27
lbl_8026E0D4:
/* 8026E0D4 00269D34 39 61 00 30 */ addi r11, r1, 0x30
/* 8026E0D8 00269D38 4B F5 90 95 */ bl _restgpr_25
/* 8026E0DC 00269D3C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8026E0E0 00269D40 7C 08 03 A6 */ mtlr r0
/* 8026E0E4 00269D44 38 21 00 30 */ addi r1, r1, 0x30
/* 8026E0E8 00269D48 4E 80 00 20 */ blr
.global OSLoadFont
OSLoadFont:
/* 8026E0EC 00269D4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026E0F0 00269D50 7C 08 02 A6 */ mflr r0
/* 8026E0F4 00269D54 7C 65 1B 78 */ mr r5, r3
/* 8026E0F8 00269D58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026E0FC 00269D5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8026E100 00269D60 93 C1 00 08 */ stw r30, 8(r1)
/* 8026E104 00269D64 7C 9E 23 78 */ mr r30, r4
/* 8026E108 00269D68 A0 0D 87 D8 */ lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026E10C 00269D6C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8026E110 00269D70 41 82 00 08 */ beq lbl_8026E118
/* 8026E114 00269D74 48 00 00 48 */ b lbl_8026E15C
lbl_8026E118:
/* 8026E118 00269D78 3C 80 80 00 */ lis r4, 0x800000CC@ha
/* 8026E11C 00269D7C 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
/* 8026E120 00269D80 2C 00 00 00 */ cmpwi r0, 0
/* 8026E124 00269D84 41 82 00 0C */ beq lbl_8026E130
/* 8026E128 00269D88 41 80 00 1C */ blt lbl_8026E144
/* 8026E12C 00269D8C 48 00 00 18 */ b lbl_8026E144
lbl_8026E130:
/* 8026E130 00269D90 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 8026E134 00269D94 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 8026E138 00269D98 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 8026E13C 00269D9C B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026E140 00269DA0 48 00 00 0C */ b lbl_8026E14C
lbl_8026E144:
/* 8026E144 00269DA4 38 00 00 00 */ li r0, 0
/* 8026E148 00269DA8 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
lbl_8026E14C:
/* 8026E14C 00269DAC 3C 80 80 27 */ lis r4, ParseStringS@ha
/* 8026E150 00269DB0 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8026E154 00269DB4 38 84 E2 14 */ addi r4, r4, ParseStringS@l
/* 8026E158 00269DB8 90 8D A7 E8 */ stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
lbl_8026E15C:
/* 8026E15C 00269DBC 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8026E160 00269DC0 2C 00 00 02 */ cmpwi r0, 2
/* 8026E164 00269DC4 41 82 00 90 */ beq lbl_8026E1F4
/* 8026E168 00269DC8 40 80 00 14 */ bge lbl_8026E17C
/* 8026E16C 00269DCC 2C 00 00 00 */ cmpwi r0, 0
/* 8026E170 00269DD0 41 82 00 18 */ beq lbl_8026E188
/* 8026E174 00269DD4 40 80 00 2C */ bge lbl_8026E1A0
/* 8026E178 00269DD8 48 00 00 7C */ b lbl_8026E1F4
lbl_8026E17C:
/* 8026E17C 00269DDC 2C 00 00 06 */ cmpwi r0, 6
/* 8026E180 00269DE0 40 80 00 74 */ bge lbl_8026E1F4
/* 8026E184 00269DE4 48 00 00 34 */ b lbl_8026E1B8
lbl_8026E188:
/* 8026E188 00269DE8 90 6D A7 F4 */ stw r3, lbl_8063FAB4-_SDA_BASE_(r13)
/* 8026E18C 00269DEC 7F C3 F3 78 */ mr r3, r30
/* 8026E190 00269DF0 38 80 00 00 */ li r4, 0
/* 8026E194 00269DF4 4B FF FC 59 */ bl ReadFont
/* 8026E198 00269DF8 7C 7F 1B 78 */ mr r31, r3
/* 8026E19C 00269DFC 48 00 00 5C */ b lbl_8026E1F8
lbl_8026E1A0:
/* 8026E1A0 00269E00 90 6D A7 F0 */ stw r3, lbl_8063FAB0-_SDA_BASE_(r13)
/* 8026E1A4 00269E04 7F C3 F3 78 */ mr r3, r30
/* 8026E1A8 00269E08 38 80 00 01 */ li r4, 1
/* 8026E1AC 00269E0C 4B FF FC 41 */ bl ReadFont
/* 8026E1B0 00269E10 7C 7F 1B 78 */ mr r31, r3
/* 8026E1B4 00269E14 48 00 00 44 */ b lbl_8026E1F8
lbl_8026E1B8:
/* 8026E1B8 00269E18 90 6D A7 F4 */ stw r3, lbl_8063FAB4-_SDA_BASE_(r13)
/* 8026E1BC 00269E1C 7F C3 F3 78 */ mr r3, r30
/* 8026E1C0 00269E20 38 80 00 00 */ li r4, 0
/* 8026E1C4 00269E24 4B FF FC 29 */ bl ReadFont
/* 8026E1C8 00269E28 2C 03 00 00 */ cmpwi r3, 0
/* 8026E1CC 00269E2C 7C 7F 1B 78 */ mr r31, r3
/* 8026E1D0 00269E30 41 82 00 28 */ beq lbl_8026E1F8
/* 8026E1D4 00269E34 80 0D A7 F4 */ lwz r0, lbl_8063FAB4-_SDA_BASE_(r13)
/* 8026E1D8 00269E38 38 80 00 01 */ li r4, 1
/* 8026E1DC 00269E3C 7C A0 1A 14 */ add r5, r0, r3
/* 8026E1E0 00269E40 7F C3 F3 78 */ mr r3, r30
/* 8026E1E4 00269E44 90 AD A7 F0 */ stw r5, lbl_8063FAB0-_SDA_BASE_(r13)
/* 8026E1E8 00269E48 4B FF FC 05 */ bl ReadFont
/* 8026E1EC 00269E4C 7F FF 1A 14 */ add r31, r31, r3
/* 8026E1F0 00269E50 48 00 00 08 */ b lbl_8026E1F8
lbl_8026E1F4:
/* 8026E1F4 00269E54 3B E0 00 00 */ li r31, 0
lbl_8026E1F8:
/* 8026E1F8 00269E58 7F E3 FB 78 */ mr r3, r31
/* 8026E1FC 00269E5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026E200 00269E60 83 C1 00 08 */ lwz r30, 8(r1)
/* 8026E204 00269E64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026E208 00269E68 7C 08 03 A6 */ mtlr r0
/* 8026E20C 00269E6C 38 21 00 10 */ addi r1, r1, 0x10
/* 8026E210 00269E70 4E 80 00 20 */ blr
.global ParseStringS
ParseStringS:
/* 8026E214 00269E74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026E218 00269E78 7C 08 02 A6 */ mflr r0
/* 8026E21C 00269E7C 2C 03 00 01 */ cmpwi r3, 1
/* 8026E220 00269E80 38 E0 00 00 */ li r7, 0
/* 8026E224 00269E84 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026E228 00269E88 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8026E22C 00269E8C 7C DF 33 78 */ mr r31, r6
/* 8026E230 00269E90 93 C1 00 08 */ stw r30, 8(r1)
/* 8026E234 00269E94 7C 9E 23 78 */ mr r30, r4
/* 8026E238 00269E98 41 82 00 2C */ beq lbl_8026E264
/* 8026E23C 00269E9C 40 80 00 A8 */ bge lbl_8026E2E4
/* 8026E240 00269EA0 2C 03 00 00 */ cmpwi r3, 0
/* 8026E244 00269EA4 40 80 00 08 */ bge lbl_8026E24C
/* 8026E248 00269EA8 48 00 00 9C */ b lbl_8026E2E4
lbl_8026E24C:
/* 8026E24C 00269EAC 88 E4 00 00 */ lbz r7, 0(r4)
/* 8026E250 00269EB0 80 CD A7 F4 */ lwz r6, lbl_8063FAB4-_SDA_BASE_(r13)
/* 8026E254 00269EB4 2C 07 00 00 */ cmpwi r7, 0
/* 8026E258 00269EB8 41 82 00 8C */ beq lbl_8026E2E4
/* 8026E25C 00269EBC 3B C4 00 01 */ addi r30, r4, 1
/* 8026E260 00269EC0 48 00 00 84 */ b lbl_8026E2E4
lbl_8026E264:
/* 8026E264 00269EC4 88 E4 00 00 */ lbz r7, 0(r4)
/* 8026E268 00269EC8 80 CD A7 F0 */ lwz r6, lbl_8063FAB0-_SDA_BASE_(r13)
/* 8026E26C 00269ECC 2C 07 00 00 */ cmpwi r7, 0
/* 8026E270 00269ED0 41 82 00 74 */ beq lbl_8026E2E4
/* 8026E274 00269ED4 28 07 00 81 */ cmplwi r7, 0x81
/* 8026E278 00269ED8 3B C4 00 01 */ addi r30, r4, 1
/* 8026E27C 00269EDC 38 00 00 00 */ li r0, 0
/* 8026E280 00269EE0 41 80 00 0C */ blt lbl_8026E28C
/* 8026E284 00269EE4 28 07 00 9F */ cmplwi r7, 0x9f
/* 8026E288 00269EE8 40 81 00 14 */ ble lbl_8026E29C
lbl_8026E28C:
/* 8026E28C 00269EEC 28 07 00 E0 */ cmplwi r7, 0xe0
/* 8026E290 00269EF0 41 80 00 10 */ blt lbl_8026E2A0
/* 8026E294 00269EF4 28 07 00 FC */ cmplwi r7, 0xfc
/* 8026E298 00269EF8 41 81 00 08 */ bgt lbl_8026E2A0
lbl_8026E29C:
/* 8026E29C 00269EFC 38 00 00 01 */ li r0, 1
lbl_8026E2A0:
/* 8026E2A0 00269F00 2C 00 00 00 */ cmpwi r0, 0
/* 8026E2A4 00269F04 41 82 00 40 */ beq lbl_8026E2E4
/* 8026E2A8 00269F08 88 9E 00 00 */ lbz r4, 0(r30)
/* 8026E2AC 00269F0C 38 00 00 00 */ li r0, 0
/* 8026E2B0 00269F10 28 04 00 40 */ cmplwi r4, 0x40
/* 8026E2B4 00269F14 41 80 00 18 */ blt lbl_8026E2CC
/* 8026E2B8 00269F18 28 04 00 FC */ cmplwi r4, 0xfc
/* 8026E2BC 00269F1C 41 81 00 10 */ bgt lbl_8026E2CC
/* 8026E2C0 00269F20 28 04 00 7F */ cmplwi r4, 0x7f
/* 8026E2C4 00269F24 41 82 00 08 */ beq lbl_8026E2CC
/* 8026E2C8 00269F28 38 00 00 01 */ li r0, 1
lbl_8026E2CC:
/* 8026E2CC 00269F2C 2C 00 00 00 */ cmpwi r0, 0
/* 8026E2D0 00269F30 41 82 00 14 */ beq lbl_8026E2E4
/* 8026E2D4 00269F34 88 1E 00 00 */ lbz r0, 0(r30)
/* 8026E2D8 00269F38 50 E0 42 2E */ rlwimi r0, r7, 8, 8, 0x17
/* 8026E2DC 00269F3C 3B DE 00 01 */ addi r30, r30, 1
/* 8026E2E0 00269F40 54 07 04 3E */ clrlwi r7, r0, 0x10
lbl_8026E2E4:
/* 8026E2E4 00269F44 90 C5 00 00 */ stw r6, 0(r5)
/* 8026E2E8 00269F48 7C E4 3B 78 */ mr r4, r7
/* 8026E2EC 00269F4C 4B FF F7 A9 */ bl GetFontCode
/* 8026E2F0 00269F50 90 7F 00 00 */ stw r3, 0(r31)
/* 8026E2F4 00269F54 7F C3 F3 78 */ mr r3, r30
/* 8026E2F8 00269F58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026E2FC 00269F5C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8026E300 00269F60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026E304 00269F64 7C 08 03 A6 */ mtlr r0
/* 8026E308 00269F68 38 21 00 10 */ addi r1, r1, 0x10
/* 8026E30C 00269F6C 4E 80 00 20 */ blr
.global ParseStringW
ParseStringW:
/* 8026E310 00269F70 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8026E314 00269F74 7C 08 02 A6 */ mflr r0
/* 8026E318 00269F78 90 01 00 34 */ stw r0, 0x34(r1)
/* 8026E31C 00269F7C 39 61 00 30 */ addi r11, r1, 0x30
/* 8026E320 00269F80 4B F5 8E 05 */ bl _savegpr_26
/* 8026E324 00269F84 3B C0 00 00 */ li r30, 0
/* 8026E328 00269F88 2C 03 00 03 */ cmpwi r3, 3
/* 8026E32C 00269F8C 93 C1 00 08 */ stw r30, 8(r1)
/* 8026E330 00269F90 7C 7A 1B 78 */ mr r26, r3
/* 8026E334 00269F94 7C 9B 23 78 */ mr r27, r4
/* 8026E338 00269F98 7C BC 2B 78 */ mr r28, r5
/* 8026E33C 00269F9C 7C DD 33 78 */ mr r29, r6
/* 8026E340 00269FA0 41 82 00 CC */ beq lbl_8026E40C
/* 8026E344 00269FA4 40 80 00 1C */ bge lbl_8026E360
/* 8026E348 00269FA8 2C 03 00 01 */ cmpwi r3, 1
/* 8026E34C 00269FAC 41 82 00 3C */ beq lbl_8026E388
/* 8026E350 00269FB0 40 80 00 F8 */ bge lbl_8026E448
/* 8026E354 00269FB4 2C 03 00 00 */ cmpwi r3, 0
/* 8026E358 00269FB8 40 80 00 18 */ bge lbl_8026E370
/* 8026E35C 00269FBC 48 00 00 EC */ b lbl_8026E448
lbl_8026E360:
/* 8026E360 00269FC0 2C 03 00 05 */ cmpwi r3, 5
/* 8026E364 00269FC4 41 82 00 D0 */ beq lbl_8026E434
/* 8026E368 00269FC8 40 80 00 E0 */ bge lbl_8026E448
/* 8026E36C 00269FCC 48 00 00 B4 */ b lbl_8026E420
lbl_8026E370:
/* 8026E370 00269FD0 8B C4 00 00 */ lbz r30, 0(r4)
/* 8026E374 00269FD4 83 ED A7 F4 */ lwz r31, lbl_8063FAB4-_SDA_BASE_(r13)
/* 8026E378 00269FD8 2C 1E 00 00 */ cmpwi r30, 0
/* 8026E37C 00269FDC 41 82 00 CC */ beq lbl_8026E448
/* 8026E380 00269FE0 3B 64 00 01 */ addi r27, r4, 1
/* 8026E384 00269FE4 48 00 00 C4 */ b lbl_8026E448
lbl_8026E388:
/* 8026E388 00269FE8 8B C4 00 00 */ lbz r30, 0(r4)
/* 8026E38C 00269FEC 83 ED A7 F0 */ lwz r31, lbl_8063FAB0-_SDA_BASE_(r13)
/* 8026E390 00269FF0 2C 1E 00 00 */ cmpwi r30, 0
/* 8026E394 00269FF4 41 82 00 B4 */ beq lbl_8026E448
/* 8026E398 00269FF8 28 1E 00 81 */ cmplwi r30, 0x81
/* 8026E39C 00269FFC 3B 64 00 01 */ addi r27, r4, 1
/* 8026E3A0 0026A000 38 00 00 00 */ li r0, 0
/* 8026E3A4 0026A004 41 80 00 0C */ blt lbl_8026E3B0
/* 8026E3A8 0026A008 28 1E 00 9F */ cmplwi r30, 0x9f
/* 8026E3AC 0026A00C 40 81 00 14 */ ble lbl_8026E3C0
lbl_8026E3B0:
/* 8026E3B0 0026A010 28 1E 00 E0 */ cmplwi r30, 0xe0
/* 8026E3B4 0026A014 41 80 00 10 */ blt lbl_8026E3C4
/* 8026E3B8 0026A018 28 1E 00 FC */ cmplwi r30, 0xfc
/* 8026E3BC 0026A01C 41 81 00 08 */ bgt lbl_8026E3C4
lbl_8026E3C0:
/* 8026E3C0 0026A020 38 00 00 01 */ li r0, 1
lbl_8026E3C4:
/* 8026E3C4 0026A024 2C 00 00 00 */ cmpwi r0, 0
/* 8026E3C8 0026A028 41 82 00 80 */ beq lbl_8026E448
/* 8026E3CC 0026A02C 88 7B 00 00 */ lbz r3, 0(r27)
/* 8026E3D0 0026A030 38 00 00 00 */ li r0, 0
/* 8026E3D4 0026A034 28 03 00 40 */ cmplwi r3, 0x40
/* 8026E3D8 0026A038 41 80 00 18 */ blt lbl_8026E3F0
/* 8026E3DC 0026A03C 28 03 00 FC */ cmplwi r3, 0xfc
/* 8026E3E0 0026A040 41 81 00 10 */ bgt lbl_8026E3F0
/* 8026E3E4 0026A044 28 03 00 7F */ cmplwi r3, 0x7f
/* 8026E3E8 0026A048 41 82 00 08 */ beq lbl_8026E3F0
/* 8026E3EC 0026A04C 38 00 00 01 */ li r0, 1
lbl_8026E3F0:
/* 8026E3F0 0026A050 2C 00 00 00 */ cmpwi r0, 0
/* 8026E3F4 0026A054 41 82 00 54 */ beq lbl_8026E448
/* 8026E3F8 0026A058 88 1B 00 00 */ lbz r0, 0(r27)
/* 8026E3FC 0026A05C 53 C0 42 2E */ rlwimi r0, r30, 8, 8, 0x17
/* 8026E400 0026A060 3B 7B 00 01 */ addi r27, r27, 1
/* 8026E404 0026A064 54 1E 04 3E */ clrlwi r30, r0, 0x10
/* 8026E408 0026A068 48 00 00 40 */ b lbl_8026E448
lbl_8026E40C:
/* 8026E40C 0026A06C 7F 63 DB 78 */ mr r3, r27
/* 8026E410 0026A070 38 81 00 08 */ addi r4, r1, 8
/* 8026E414 0026A074 48 00 4A 59 */ bl OSUTF8to32
/* 8026E418 0026A078 7C 7B 1B 78 */ mr r27, r3
/* 8026E41C 0026A07C 48 00 00 2C */ b lbl_8026E448
lbl_8026E420:
/* 8026E420 0026A080 7F 63 DB 78 */ mr r3, r27
/* 8026E424 0026A084 38 81 00 08 */ addi r4, r1, 8
/* 8026E428 0026A088 48 00 4B 55 */ bl OSUTF16to32
/* 8026E42C 0026A08C 7C 7B 1B 78 */ mr r27, r3
/* 8026E430 0026A090 48 00 00 18 */ b lbl_8026E448
lbl_8026E434:
/* 8026E434 0026A094 80 04 00 00 */ lwz r0, 0(r4)
/* 8026E438 0026A098 2C 00 00 00 */ cmpwi r0, 0
/* 8026E43C 0026A09C 90 01 00 08 */ stw r0, 8(r1)
/* 8026E440 0026A0A0 41 82 00 08 */ beq lbl_8026E448
/* 8026E444 0026A0A4 3B 64 00 04 */ addi r27, r4, 4
lbl_8026E448:
/* 8026E448 0026A0A8 80 61 00 08 */ lwz r3, 8(r1)
/* 8026E44C 0026A0AC 2C 03 00 00 */ cmpwi r3, 0
/* 8026E450 0026A0B0 41 82 00 4C */ beq lbl_8026E49C
/* 8026E454 0026A0B4 83 ED A7 F4 */ lwz r31, lbl_8063FAB4-_SDA_BASE_(r13)
/* 8026E458 0026A0B8 3B 40 00 00 */ li r26, 0
/* 8026E45C 0026A0BC 48 00 4B 91 */ bl OSUTF32toANSI
/* 8026E460 0026A0C0 54 7E 06 3F */ clrlwi. r30, r3, 0x18
/* 8026E464 0026A0C4 41 82 00 1C */ beq lbl_8026E480
/* 8026E468 0026A0C8 80 0D A7 EC */ lwz r0, lbl_8063FAAC-_SDA_BASE_(r13)
/* 8026E46C 0026A0CC 2C 00 00 00 */ cmpwi r0, 0
/* 8026E470 0026A0D0 41 82 00 2C */ beq lbl_8026E49C
/* 8026E474 0026A0D4 80 01 00 08 */ lwz r0, 8(r1)
/* 8026E478 0026A0D8 28 00 00 7F */ cmplwi r0, 0x7f
/* 8026E47C 0026A0DC 41 81 00 20 */ bgt lbl_8026E49C
lbl_8026E480:
/* 8026E480 0026A0E0 80 61 00 08 */ lwz r3, 8(r1)
/* 8026E484 0026A0E4 48 00 4B E1 */ bl OSUTF32toSJIS
/* 8026E488 0026A0E8 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 8026E48C 0026A0EC 7C 7E 1B 78 */ mr r30, r3
/* 8026E490 0026A0F0 41 82 00 0C */ beq lbl_8026E49C
/* 8026E494 0026A0F4 3B 40 00 01 */ li r26, 1
/* 8026E498 0026A0F8 83 ED A7 F0 */ lwz r31, lbl_8063FAB0-_SDA_BASE_(r13)
lbl_8026E49C:
/* 8026E49C 0026A0FC 93 FC 00 00 */ stw r31, 0(r28)
/* 8026E4A0 0026A100 7F 43 D3 78 */ mr r3, r26
/* 8026E4A4 0026A104 57 C4 04 3E */ clrlwi r4, r30, 0x10
/* 8026E4A8 0026A108 4B FF F5 ED */ bl GetFontCode
/* 8026E4AC 0026A10C 90 7D 00 00 */ stw r3, 0(r29)
/* 8026E4B0 0026A110 39 61 00 30 */ addi r11, r1, 0x30
/* 8026E4B4 0026A114 7F 63 DB 78 */ mr r3, r27
/* 8026E4B8 0026A118 4B F5 8C B9 */ bl _restgpr_26
/* 8026E4BC 0026A11C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8026E4C0 0026A120 7C 08 03 A6 */ mtlr r0
/* 8026E4C4 0026A124 38 21 00 30 */ addi r1, r1, 0x30
/* 8026E4C8 0026A128 4E 80 00 20 */ blr
.global OSGetFontTexel
OSGetFontTexel:
/* 8026E4CC 0026A12C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8026E4D0 0026A130 7C 08 02 A6 */ mflr r0
/* 8026E4D4 0026A134 90 01 00 54 */ stw r0, 0x54(r1)
/* 8026E4D8 0026A138 39 61 00 50 */ addi r11, r1, 0x50
/* 8026E4DC 0026A13C 4B F5 8C 25 */ bl _savegpr_17
/* 8026E4E0 0026A140 A0 0D 87 D8 */ lhz r0, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026E4E4 0026A144 7C 9D 23 78 */ mr r29, r4
/* 8026E4E8 0026A148 7C BE 2B 78 */ mr r30, r5
/* 8026E4EC 0026A14C 7C D1 33 78 */ mr r17, r6
/* 8026E4F0 0026A150 28 00 FF FF */ cmplwi r0, 0xffff
/* 8026E4F4 0026A154 7C FF 3B 78 */ mr r31, r7
/* 8026E4F8 0026A158 41 82 00 08 */ beq lbl_8026E500
/* 8026E4FC 0026A15C 48 00 00 48 */ b lbl_8026E544
lbl_8026E500:
/* 8026E500 0026A160 3C 80 80 00 */ lis r4, 0x800000CC@ha
/* 8026E504 0026A164 80 04 00 CC */ lwz r0, 0x800000CC@l(r4)
/* 8026E508 0026A168 2C 00 00 00 */ cmpwi r0, 0
/* 8026E50C 0026A16C 41 82 00 0C */ beq lbl_8026E518
/* 8026E510 0026A170 41 80 00 1C */ blt lbl_8026E52C
/* 8026E514 0026A174 48 00 00 18 */ b lbl_8026E52C
lbl_8026E518:
/* 8026E518 0026A178 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 8026E51C 0026A17C A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 8026E520 0026A180 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 8026E524 0026A184 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
/* 8026E528 0026A188 48 00 00 0C */ b lbl_8026E534
lbl_8026E52C:
/* 8026E52C 0026A18C 38 00 00 00 */ li r0, 0
/* 8026E530 0026A190 B0 0D 87 D8 */ sth r0, lbl_8063DA98-_SDA_BASE_(r13)
lbl_8026E534:
/* 8026E534 0026A194 3C 80 80 27 */ lis r4, ParseStringS@ha
/* 8026E538 0026A198 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8026E53C 0026A19C 38 84 E2 14 */ addi r4, r4, ParseStringS@l
/* 8026E540 0026A1A0 90 8D A7 E8 */ stw r4, lbl_8063FAA8-_SDA_BASE_(r13)
lbl_8026E544:
/* 8026E544 0026A1A4 81 8D A7 E8 */ lwz r12, lbl_8063FAA8-_SDA_BASE_(r13)
/* 8026E548 0026A1A8 7C 64 1B 78 */ mr r4, r3
/* 8026E54C 0026A1AC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8026E550 0026A1B0 38 A1 00 0C */ addi r5, r1, 0xc
/* 8026E554 0026A1B4 38 C1 00 08 */ addi r6, r1, 8
/* 8026E558 0026A1B8 7D 89 03 A6 */ mtctr r12
/* 8026E55C 0026A1BC 4E 80 04 21 */ bctrl
/* 8026E560 0026A1C0 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8026E564 0026A1C4 56 20 10 3A */ slwi r0, r17, 2
/* 8026E568 0026A1C8 7C 00 1E 70 */ srawi r0, r0, 3
/* 8026E56C 0026A1CC 81 61 00 08 */ lwz r11, 8(r1)
/* 8026E570 0026A1D0 A1 24 00 1A */ lhz r9, 0x1a(r4)
/* 8026E574 0026A1D4 7C 00 01 94 */ addze r0, r0
/* 8026E578 0026A1D8 A0 A4 00 1C */ lhz r5, 0x1c(r4)
/* 8026E57C 0026A1DC 54 08 28 34 */ slwi r8, r0, 5
/* 8026E580 0026A1E0 80 C4 00 24 */ lwz r6, 0x24(r4)
/* 8026E584 0026A1E4 3A E4 00 2C */ addi r23, r4, 0x2c
/* 8026E588 0026A1E8 7D 49 29 D6 */ mullw r10, r9, r5
/* 8026E58C 0026A1EC 80 A4 00 14 */ lwz r5, 0x14(r4)
/* 8026E590 0026A1F0 7E C4 32 14 */ add r22, r4, r6
/* 8026E594 0026A1F4 A0 E4 00 12 */ lhz r7, 0x12(r4)
/* 8026E598 0026A1F8 A0 C4 00 10 */ lhz r6, 0x10(r4)
/* 8026E59C 0026A1FC 3B 00 00 00 */ li r24, 0
/* 8026E5A0 0026A200 7D 8B 53 D6 */ divw r12, r11, r10
/* 8026E5A4 0026A204 7C 0C 51 D6 */ mullw r0, r12, r10
/* 8026E5A8 0026A208 7D 60 58 50 */ subf r11, r0, r11
/* 8026E5AC 0026A20C 7D 4B 4B D6 */ divw r10, r11, r9
/* 8026E5B0 0026A210 7D 2A 49 D6 */ mullw r9, r10, r9
/* 8026E5B4 0026A214 7C 0C 29 D6 */ mullw r0, r12, r5
/* 8026E5B8 0026A218 7F 49 58 50 */ subf r26, r9, r11
/* 8026E5BC 0026A21C 54 00 F8 7E */ srwi r0, r0, 1
/* 8026E5C0 0026A220 7F 6A 39 D6 */ mullw r27, r10, r7
/* 8026E5C4 0026A224 7E D6 02 14 */ add r22, r22, r0
/* 8026E5C8 0026A228 7F 5A 31 D6 */ mullw r26, r26, r6
/* 8026E5CC 0026A22C 48 00 01 4C */ b lbl_8026E718
lbl_8026E5D0:
/* 8026E5D0 0026A230 7C FB C2 14 */ add r7, r27, r24
/* 8026E5D4 0026A234 57 00 E8 04 */ slwi r0, r24, 0x1d
/* 8026E5D8 0026A238 7C E5 1E 70 */ srawi r5, r7, 3
/* 8026E5DC 0026A23C 57 04 0F FE */ srwi r4, r24, 0x1f
/* 8026E5E0 0026A240 7D 25 01 94 */ addze r9, r5
/* 8026E5E4 0026A244 54 E6 E8 04 */ slwi r6, r7, 0x1d
/* 8026E5E8 0026A248 7F 05 1E 70 */ srawi r5, r24, 3
/* 8026E5EC 0026A24C 54 E7 0F FE */ srwi r7, r7, 0x1f
/* 8026E5F0 0026A250 7C A5 01 94 */ addze r5, r5
/* 8026E5F4 0026A254 7C 04 00 50 */ subf r0, r4, r0
/* 8026E5F8 0026A258 7C A5 41 D6 */ mullw r5, r5, r8
/* 8026E5FC 0026A25C 7C C7 30 50 */ subf r6, r7, r6
/* 8026E600 0026A260 54 00 18 3E */ rotlwi r0, r0, 3
/* 8026E604 0026A264 54 C6 18 3E */ rotlwi r6, r6, 3
/* 8026E608 0026A268 7C 00 22 14 */ add r0, r0, r4
/* 8026E60C 0026A26C 7C 86 3A 14 */ add r4, r6, r7
/* 8026E610 0026A270 54 8A 08 3C */ slwi r10, r4, 1
/* 8026E614 0026A274 7D 7D 2A 14 */ add r11, r29, r5
/* 8026E618 0026A278 54 0C 10 3A */ slwi r12, r0, 2
/* 8026E61C 0026A27C 3B 20 00 00 */ li r25, 0
/* 8026E620 0026A280 48 00 00 E4 */ b lbl_8026E704
lbl_8026E624:
/* 8026E624 0026A284 A0 84 00 1E */ lhz r4, 0x1e(r4)
/* 8026E628 0026A288 7F 9E CA 14 */ add r28, r30, r25
/* 8026E62C 0026A28C 7C BA CA 14 */ add r5, r26, r25
/* 8026E630 0026A290 38 00 00 F0 */ li r0, 0xf0
/* 8026E634 0026A294 54 86 10 34 */ rlwinm r6, r4, 2, 0, 0x1a
/* 8026E638 0026A298 54 84 1F FE */ rlwinm r4, r4, 3, 0x1f, 0x1f
/* 8026E63C 0026A29C 7C 84 32 14 */ add r4, r4, r6
/* 8026E640 0026A2A0 57 94 E8 04 */ slwi r20, r28, 0x1d
/* 8026E644 0026A2A4 7C 87 0E 70 */ srawi r7, r4, 1
/* 8026E648 0026A2A8 57 93 0F FE */ srwi r19, r28, 0x1f
/* 8026E64C 0026A2AC 7C E7 49 D6 */ mullw r7, r7, r9
/* 8026E650 0026A2B0 54 A6 E8 04 */ slwi r6, r5, 0x1d
/* 8026E654 0026A2B4 54 A4 0F FE */ srwi r4, r5, 0x1f
/* 8026E658 0026A2B8 7C B2 1E 70 */ srawi r18, r5, 3
/* 8026E65C 0026A2BC 7C C4 30 50 */ subf r6, r4, r6
/* 8026E660 0026A2C0 57 95 07 FE */ clrlwi r21, r28, 0x1f
/* 8026E664 0026A2C4 54 D1 18 3E */ rotlwi r17, r6, 3
/* 8026E668 0026A2C8 7C D2 01 94 */ addze r6, r18
/* 8026E66C 0026A2CC 7E 31 22 14 */ add r17, r17, r4
/* 8026E670 0026A2D0 7E 93 A0 50 */ subf r20, r19, r20
/* 8026E674 0026A2D4 7E B5 9A 78 */ xor r21, r21, r19
/* 8026E678 0026A2D8 54 A5 F0 02 */ slwi r5, r5, 0x1e
/* 8026E67C 0026A2DC 7E 32 16 70 */ srawi r18, r17, 2
/* 8026E680 0026A2E0 56 94 18 3E */ rotlwi r20, r20, 3
/* 8026E684 0026A2E4 7E 24 28 50 */ subf r17, r4, r5
/* 8026E688 0026A2E8 7E B3 A8 51 */ subf. r21, r19, r21
/* 8026E68C 0026A2EC 7C B2 01 94 */ addze r5, r18
/* 8026E690 0026A2F0 7E 94 9A 14 */ add r20, r20, r19
/* 8026E694 0026A2F4 7F 92 1E 70 */ srawi r18, r28, 3
/* 8026E698 0026A2F8 56 31 10 3E */ rotlwi r17, r17, 2
/* 8026E69C 0026A2FC 7C F6 3A 14 */ add r7, r22, r7
/* 8026E6A0 0026A300 54 C6 20 36 */ slwi r6, r6, 4
/* 8026E6A4 0026A304 7C E7 32 14 */ add r7, r7, r6
/* 8026E6A8 0026A308 7E 72 01 94 */ addze r19, r18
/* 8026E6AC 0026A30C 7C E7 52 14 */ add r7, r7, r10
/* 8026E6B0 0026A310 56 95 0F FE */ srwi r21, r20, 0x1f
/* 8026E6B4 0026A314 7F 91 22 14 */ add r28, r17, r4
/* 8026E6B8 0026A318 56 66 28 34 */ slwi r6, r19, 5
/* 8026E6BC 0026A31C 7C 95 A2 14 */ add r4, r21, r20
/* 8026E6C0 0026A320 7C E7 28 AE */ lbzx r7, r7, r5
/* 8026E6C4 0026A324 7C CB 32 14 */ add r6, r11, r6
/* 8026E6C8 0026A328 57 95 08 3C */ slwi r21, r28, 1
/* 8026E6CC 0026A32C 7C 84 0E 70 */ srawi r4, r4, 1
/* 8026E6D0 0026A330 20 B5 00 06 */ subfic r5, r21, 6
/* 8026E6D4 0026A334 7C C6 62 14 */ add r6, r6, r12
/* 8026E6D8 0026A338 7C E5 2E 30 */ sraw r5, r7, r5
/* 8026E6DC 0026A33C 7C E6 20 AE */ lbzx r7, r6, r4
/* 8026E6E0 0026A340 54 A5 07 BE */ clrlwi r5, r5, 0x1e
/* 8026E6E4 0026A344 7C B7 28 AE */ lbzx r5, r23, r5
/* 8026E6E8 0026A348 41 82 00 08 */ beq lbl_8026E6F0
/* 8026E6EC 0026A34C 38 00 00 0F */ li r0, 0xf
lbl_8026E6F0:
/* 8026E6F0 0026A350 7C A0 00 38 */ and r0, r5, r0
/* 8026E6F4 0026A354 3B 39 00 01 */ addi r25, r25, 1
/* 8026E6F8 0026A358 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8026E6FC 0026A35C 7C E0 03 78 */ or r0, r7, r0
/* 8026E700 0026A360 7C 06 21 AE */ stbx r0, r6, r4
lbl_8026E704:
/* 8026E704 0026A364 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8026E708 0026A368 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 8026E70C 0026A36C 7C 19 00 00 */ cmpw r25, r0
/* 8026E710 0026A370 41 80 FF 14 */ blt lbl_8026E624
/* 8026E714 0026A374 3B 18 00 01 */ addi r24, r24, 1
lbl_8026E718:
/* 8026E718 0026A378 A0 04 00 12 */ lhz r0, 0x12(r4)
/* 8026E71C 0026A37C 7C 18 00 00 */ cmpw r24, r0
/* 8026E720 0026A380 41 80 FE B0 */ blt lbl_8026E5D0
/* 8026E724 0026A384 2C 1F 00 00 */ cmpwi r31, 0
/* 8026E728 0026A388 41 82 00 1C */ beq lbl_8026E744
/* 8026E72C 0026A38C 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 8026E730 0026A390 80 81 00 08 */ lwz r4, 8(r1)
/* 8026E734 0026A394 A0 05 00 22 */ lhz r0, 0x22(r5)
/* 8026E738 0026A398 7C 05 02 14 */ add r0, r5, r0
/* 8026E73C 0026A39C 7C 04 00 AE */ lbzx r0, r4, r0
/* 8026E740 0026A3A0 90 1F 00 00 */ stw r0, 0(r31)
lbl_8026E744:
/* 8026E744 0026A3A4 39 61 00 50 */ addi r11, r1, 0x50
/* 8026E748 0026A3A8 4B F5 8A 05 */ bl _restgpr_17
/* 8026E74C 0026A3AC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8026E750 0026A3B0 7C 08 03 A6 */ mtlr r0
/* 8026E754 0026A3B4 38 21 00 50 */ addi r1, r1, 0x50
/* 8026E758 0026A3B8 4E 80 00 20 */ blr
|