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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global STD_strnlen
STD_strnlen:
/* 80300FE4 002FCC44 38 A0 00 00 */ li r5, 0
/* 80300FE8 002FCC48 7C 89 03 A6 */ mtctr r4
/* 80300FEC 002FCC4C 28 04 00 00 */ cmplwi r4, 0
/* 80300FF0 002FCC50 40 81 00 1C */ ble lbl_8030100C
lbl_80300FF4:
/* 80300FF4 002FCC54 88 03 00 00 */ lbz r0, 0(r3)
/* 80300FF8 002FCC58 7C 00 07 75 */ extsb. r0, r0
/* 80300FFC 002FCC5C 41 82 00 10 */ beq lbl_8030100C
/* 80301000 002FCC60 38 A5 00 01 */ addi r5, r5, 1
/* 80301004 002FCC64 38 63 00 01 */ addi r3, r3, 1
/* 80301008 002FCC68 42 00 FF EC */ bdnz lbl_80300FF4
lbl_8030100C:
/* 8030100C 002FCC6C 7C A3 2B 78 */ mr r3, r5
/* 80301010 002FCC70 4E 80 00 20 */ blr
.global Mail_memset
Mail_memset:
/* 80301014 002FCC74 2C 05 00 00 */ cmpwi r5, 0
/* 80301018 002FCC78 39 00 00 00 */ li r8, 0
/* 8030101C 002FCC7C 4D 82 00 20 */ beqlr
/* 80301020 002FCC80 28 05 00 08 */ cmplwi r5, 8
/* 80301024 002FCC84 38 C5 FF F8 */ addi r6, r5, -8
/* 80301028 002FCC88 40 81 00 48 */ ble lbl_80301070
/* 8030102C 002FCC8C 38 06 00 07 */ addi r0, r6, 7
/* 80301030 002FCC90 7C 67 1B 78 */ mr r7, r3
/* 80301034 002FCC94 54 00 E8 FE */ srwi r0, r0, 3
/* 80301038 002FCC98 7C 09 03 A6 */ mtctr r0
/* 8030103C 002FCC9C 28 06 00 00 */ cmplwi r6, 0
/* 80301040 002FCCA0 40 81 00 30 */ ble lbl_80301070
lbl_80301044:
/* 80301044 002FCCA4 98 87 00 00 */ stb r4, 0(r7)
/* 80301048 002FCCA8 39 08 00 08 */ addi r8, r8, 8
/* 8030104C 002FCCAC 98 87 00 01 */ stb r4, 1(r7)
/* 80301050 002FCCB0 98 87 00 02 */ stb r4, 2(r7)
/* 80301054 002FCCB4 98 87 00 03 */ stb r4, 3(r7)
/* 80301058 002FCCB8 98 87 00 04 */ stb r4, 4(r7)
/* 8030105C 002FCCBC 98 87 00 05 */ stb r4, 5(r7)
/* 80301060 002FCCC0 98 87 00 06 */ stb r4, 6(r7)
/* 80301064 002FCCC4 98 87 00 07 */ stb r4, 7(r7)
/* 80301068 002FCCC8 38 E7 00 08 */ addi r7, r7, 8
/* 8030106C 002FCCCC 42 00 FF D8 */ bdnz lbl_80301044
lbl_80301070:
/* 80301070 002FCCD0 7C 08 28 50 */ subf r0, r8, r5
/* 80301074 002FCCD4 7C C3 42 14 */ add r6, r3, r8
/* 80301078 002FCCD8 7C 09 03 A6 */ mtctr r0
/* 8030107C 002FCCDC 7C 08 28 40 */ cmplw r8, r5
/* 80301080 002FCCE0 4C 80 00 20 */ bgelr
lbl_80301084:
/* 80301084 002FCCE4 98 86 00 00 */ stb r4, 0(r6)
/* 80301088 002FCCE8 38 C6 00 01 */ addi r6, r6, 1
/* 8030108C 002FCCEC 42 00 FF F8 */ bdnz lbl_80301084
/* 80301090 002FCCF0 4E 80 00 20 */ blr
.global convNum
convNum:
/* 80301094 002FCCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80301098 002FCCF8 7C 08 02 A6 */ mflr r0
/* 8030109C 002FCCFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 803010A0 002FCD00 39 61 00 20 */ addi r11, r1, 0x20
/* 803010A4 002FCD04 4B EC 60 85 */ bl _savegpr_27
/* 803010A8 002FCD08 2C 07 00 00 */ cmpwi r7, 0
/* 803010AC 002FCD0C 41 82 00 18 */ beq lbl_803010C4
/* 803010B0 002FCD10 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 803010B4 002FCD14 41 82 00 10 */ beq lbl_803010C4
/* 803010B8 002FCD18 7C 84 00 D0 */ neg r4, r4
/* 803010BC 002FCD1C 3B C0 00 01 */ li r30, 1
/* 803010C0 002FCD20 48 00 00 08 */ b lbl_803010C8
lbl_803010C4:
/* 803010C4 002FCD24 3B C0 00 00 */ li r30, 0
lbl_803010C8:
/* 803010C8 002FCD28 3B E0 00 00 */ li r31, 0
/* 803010CC 002FCD2C 39 80 00 00 */ li r12, 0
/* 803010D0 002FCD30 3C E0 80 00 */ lis r7, 0x8000
/* 803010D4 002FCD34 48 00 01 40 */ b lbl_80301214
lbl_803010D8:
/* 803010D8 002FCD38 7C 04 2B 96 */ divwu r0, r4, r5
/* 803010DC 002FCD3C 7C 7B 1B 78 */ mr r27, r3
/* 803010E0 002FCD40 39 60 00 00 */ li r11, 0
/* 803010E4 002FCD44 7C 00 29 D6 */ mullw r0, r0, r5
/* 803010E8 002FCD48 7C 00 20 50 */ subf r0, r0, r4
/* 803010EC 002FCD4C 7C 84 2B 96 */ divwu r4, r4, r5
/* 803010F0 002FCD50 7C 00 07 74 */ extsb r0, r0
/* 803010F4 002FCD54 48 00 00 0C */ b lbl_80301100
lbl_803010F8:
/* 803010F8 002FCD58 3B 7B 00 01 */ addi r27, r27, 1
/* 803010FC 002FCD5C 39 6B 00 01 */ addi r11, r11, 1
lbl_80301100:
/* 80301100 002FCD60 8B BB 00 00 */ lbz r29, 0(r27)
/* 80301104 002FCD64 7F BD 07 75 */ extsb. r29, r29
/* 80301108 002FCD68 40 82 FF F0 */ bne lbl_803010F8
/* 8030110C 002FCD6C 2C 8B 00 00 */ cmpwi cr1, r11, 0
/* 80301110 002FCD70 41 84 00 E4 */ blt cr1, lbl_803011F4
/* 80301114 002FCD74 3B AB 00 01 */ addi r29, r11, 1
/* 80301118 002FCD78 2C 1D 00 08 */ cmpwi r29, 8
/* 8030111C 002FCD7C 40 81 00 B4 */ ble lbl_803011D0
/* 80301120 002FCD80 3B 80 00 00 */ li r28, 0
/* 80301124 002FCD84 3B 60 00 00 */ li r27, 0
/* 80301128 002FCD88 41 84 00 14 */ blt cr1, lbl_8030113C
/* 8030112C 002FCD8C 3B A7 00 01 */ addi r29, r7, 1
/* 80301130 002FCD90 7C 0B E8 00 */ cmpw r11, r29
/* 80301134 002FCD94 41 80 00 08 */ blt lbl_8030113C
/* 80301138 002FCD98 3B 60 00 01 */ li r27, 1
lbl_8030113C:
/* 8030113C 002FCD9C 2C 1B 00 00 */ cmpwi r27, 0
/* 80301140 002FCDA0 41 82 00 2C */ beq lbl_8030116C
/* 80301144 002FCDA4 55 7D 00 01 */ rlwinm. r29, r11, 0, 0, 0
/* 80301148 002FCDA8 3B 60 00 01 */ li r27, 1
/* 8030114C 002FCDAC 40 82 00 14 */ bne lbl_80301160
/* 80301150 002FCDB0 3B AB 00 01 */ addi r29, r11, 1
/* 80301154 002FCDB4 57 BD 00 01 */ rlwinm. r29, r29, 0, 0, 0
/* 80301158 002FCDB8 41 82 00 08 */ beq lbl_80301160
/* 8030115C 002FCDBC 3B 60 00 00 */ li r27, 0
lbl_80301160:
/* 80301160 002FCDC0 2C 1B 00 00 */ cmpwi r27, 0
/* 80301164 002FCDC4 41 82 00 08 */ beq lbl_8030116C
/* 80301168 002FCDC8 3B 80 00 01 */ li r28, 1
lbl_8030116C:
/* 8030116C 002FCDCC 2C 1C 00 00 */ cmpwi r28, 0
/* 80301170 002FCDD0 41 82 00 60 */ beq lbl_803011D0
/* 80301174 002FCDD4 55 7D E8 FE */ srwi r29, r11, 3
/* 80301178 002FCDD8 7F A9 03 A6 */ mtctr r29
/* 8030117C 002FCDDC 2C 0B 00 08 */ cmpwi r11, 8
/* 80301180 002FCDE0 41 80 00 50 */ blt lbl_803011D0
lbl_80301184:
/* 80301184 002FCDE4 7F A3 58 AE */ lbzx r29, r3, r11
/* 80301188 002FCDE8 7F 63 5A 14 */ add r27, r3, r11
/* 8030118C 002FCDEC 9B BB 00 01 */ stb r29, 1(r27)
/* 80301190 002FCDF0 8B BB FF FF */ lbz r29, -1(r27)
/* 80301194 002FCDF4 7F A3 59 AE */ stbx r29, r3, r11
/* 80301198 002FCDF8 39 6B FF F8 */ addi r11, r11, -8
/* 8030119C 002FCDFC 8B BB FF FE */ lbz r29, -2(r27)
/* 803011A0 002FCE00 9B BB FF FF */ stb r29, -1(r27)
/* 803011A4 002FCE04 8B BB FF FD */ lbz r29, -3(r27)
/* 803011A8 002FCE08 9B BB FF FE */ stb r29, -2(r27)
/* 803011AC 002FCE0C 8B BB FF FC */ lbz r29, -4(r27)
/* 803011B0 002FCE10 9B BB FF FD */ stb r29, -3(r27)
/* 803011B4 002FCE14 8B BB FF FB */ lbz r29, -5(r27)
/* 803011B8 002FCE18 9B BB FF FC */ stb r29, -4(r27)
/* 803011BC 002FCE1C 8B BB FF FA */ lbz r29, -6(r27)
/* 803011C0 002FCE20 9B BB FF FB */ stb r29, -5(r27)
/* 803011C4 002FCE24 8B BB FF F9 */ lbz r29, -7(r27)
/* 803011C8 002FCE28 9B BB FF FA */ stb r29, -6(r27)
/* 803011CC 002FCE2C 42 00 FF B8 */ bdnz lbl_80301184
lbl_803011D0:
/* 803011D0 002FCE30 3B AB 00 01 */ addi r29, r11, 1
/* 803011D4 002FCE34 7F A9 03 A6 */ mtctr r29
/* 803011D8 002FCE38 2C 0B 00 00 */ cmpwi r11, 0
/* 803011DC 002FCE3C 41 80 00 18 */ blt lbl_803011F4
lbl_803011E0:
/* 803011E0 002FCE40 7F A3 58 AE */ lbzx r29, r3, r11
/* 803011E4 002FCE44 7F 63 5A 14 */ add r27, r3, r11
/* 803011E8 002FCE48 39 6B FF FF */ addi r11, r11, -1
/* 803011EC 002FCE4C 9B BB 00 01 */ stb r29, 1(r27)
/* 803011F0 002FCE50 42 00 FF F0 */ bdnz lbl_803011E0
lbl_803011F4:
/* 803011F4 002FCE54 2C 00 00 09 */ cmpwi r0, 9
/* 803011F8 002FCE58 39 60 00 30 */ li r11, 0x30
/* 803011FC 002FCE5C 40 81 00 08 */ ble lbl_80301204
/* 80301200 002FCE60 7C CB 07 74 */ extsb r11, r6
lbl_80301204:
/* 80301204 002FCE64 7C 00 5A 14 */ add r0, r0, r11
/* 80301208 002FCE68 39 8C 00 01 */ addi r12, r12, 1
/* 8030120C 002FCE6C 98 03 00 00 */ stb r0, 0(r3)
/* 80301210 002FCE70 3B FF 00 01 */ addi r31, r31, 1
lbl_80301214:
/* 80301214 002FCE74 2C 04 00 00 */ cmpwi r4, 0
/* 80301218 002FCE78 40 82 FE C0 */ bne lbl_803010D8
/* 8030121C 002FCE7C 88 03 00 00 */ lbz r0, 0(r3)
/* 80301220 002FCE80 7C 00 07 75 */ extsb. r0, r0
/* 80301224 002FCE84 40 82 01 20 */ bne lbl_80301344
/* 80301228 002FCE88 7C 64 1B 78 */ mr r4, r3
/* 8030122C 002FCE8C 38 A0 00 00 */ li r5, 0
/* 80301230 002FCE90 48 00 00 0C */ b lbl_8030123C
lbl_80301234:
/* 80301234 002FCE94 38 84 00 01 */ addi r4, r4, 1
/* 80301238 002FCE98 38 A5 00 01 */ addi r5, r5, 1
lbl_8030123C:
/* 8030123C 002FCE9C 88 04 00 00 */ lbz r0, 0(r4)
/* 80301240 002FCEA0 7C 00 07 75 */ extsb. r0, r0
/* 80301244 002FCEA4 40 82 FF F0 */ bne lbl_80301234
/* 80301248 002FCEA8 2C 85 00 00 */ cmpwi cr1, r5, 0
/* 8030124C 002FCEAC 41 84 00 E8 */ blt cr1, lbl_80301334
/* 80301250 002FCEB0 38 05 00 01 */ addi r0, r5, 1
/* 80301254 002FCEB4 2C 00 00 08 */ cmpwi r0, 8
/* 80301258 002FCEB8 40 81 00 B8 */ ble lbl_80301310
/* 8030125C 002FCEBC 38 C0 00 00 */ li r6, 0
/* 80301260 002FCEC0 38 E0 00 00 */ li r7, 0
/* 80301264 002FCEC4 41 84 00 18 */ blt cr1, lbl_8030127C
/* 80301268 002FCEC8 3C 80 80 00 */ lis r4, 0x80000001@ha
/* 8030126C 002FCECC 38 04 00 01 */ addi r0, r4, 0x80000001@l
/* 80301270 002FCED0 7C 05 00 00 */ cmpw r5, r0
/* 80301274 002FCED4 41 80 00 08 */ blt lbl_8030127C
/* 80301278 002FCED8 38 E0 00 01 */ li r7, 1
lbl_8030127C:
/* 8030127C 002FCEDC 2C 07 00 00 */ cmpwi r7, 0
/* 80301280 002FCEE0 41 82 00 2C */ beq lbl_803012AC
/* 80301284 002FCEE4 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 80301288 002FCEE8 38 80 00 01 */ li r4, 1
/* 8030128C 002FCEEC 40 82 00 14 */ bne lbl_803012A0
/* 80301290 002FCEF0 38 05 00 01 */ addi r0, r5, 1
/* 80301294 002FCEF4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 80301298 002FCEF8 41 82 00 08 */ beq lbl_803012A0
/* 8030129C 002FCEFC 38 80 00 00 */ li r4, 0
lbl_803012A0:
/* 803012A0 002FCF00 2C 04 00 00 */ cmpwi r4, 0
/* 803012A4 002FCF04 41 82 00 08 */ beq lbl_803012AC
/* 803012A8 002FCF08 38 C0 00 01 */ li r6, 1
lbl_803012AC:
/* 803012AC 002FCF0C 2C 06 00 00 */ cmpwi r6, 0
/* 803012B0 002FCF10 41 82 00 60 */ beq lbl_80301310
/* 803012B4 002FCF14 54 A0 E8 FE */ srwi r0, r5, 3
/* 803012B8 002FCF18 7C 09 03 A6 */ mtctr r0
/* 803012BC 002FCF1C 2C 05 00 08 */ cmpwi r5, 8
/* 803012C0 002FCF20 41 80 00 50 */ blt lbl_80301310
lbl_803012C4:
/* 803012C4 002FCF24 7C 03 28 AE */ lbzx r0, r3, r5
/* 803012C8 002FCF28 7C 83 2A 14 */ add r4, r3, r5
/* 803012CC 002FCF2C 98 04 00 01 */ stb r0, 1(r4)
/* 803012D0 002FCF30 88 04 FF FF */ lbz r0, -1(r4)
/* 803012D4 002FCF34 7C 03 29 AE */ stbx r0, r3, r5
/* 803012D8 002FCF38 38 A5 FF F8 */ addi r5, r5, -8
/* 803012DC 002FCF3C 88 04 FF FE */ lbz r0, -2(r4)
/* 803012E0 002FCF40 98 04 FF FF */ stb r0, -1(r4)
/* 803012E4 002FCF44 88 04 FF FD */ lbz r0, -3(r4)
/* 803012E8 002FCF48 98 04 FF FE */ stb r0, -2(r4)
/* 803012EC 002FCF4C 88 04 FF FC */ lbz r0, -4(r4)
/* 803012F0 002FCF50 98 04 FF FD */ stb r0, -3(r4)
/* 803012F4 002FCF54 88 04 FF FB */ lbz r0, -5(r4)
/* 803012F8 002FCF58 98 04 FF FC */ stb r0, -4(r4)
/* 803012FC 002FCF5C 88 04 FF FA */ lbz r0, -6(r4)
/* 80301300 002FCF60 98 04 FF FB */ stb r0, -5(r4)
/* 80301304 002FCF64 88 04 FF F9 */ lbz r0, -7(r4)
/* 80301308 002FCF68 98 04 FF FA */ stb r0, -6(r4)
/* 8030130C 002FCF6C 42 00 FF B8 */ bdnz lbl_803012C4
lbl_80301310:
/* 80301310 002FCF70 38 05 00 01 */ addi r0, r5, 1
/* 80301314 002FCF74 7C 09 03 A6 */ mtctr r0
/* 80301318 002FCF78 2C 05 00 00 */ cmpwi r5, 0
/* 8030131C 002FCF7C 41 80 00 18 */ blt lbl_80301334
lbl_80301320:
/* 80301320 002FCF80 7C 03 28 AE */ lbzx r0, r3, r5
/* 80301324 002FCF84 7C 83 2A 14 */ add r4, r3, r5
/* 80301328 002FCF88 38 A5 FF FF */ addi r5, r5, -1
/* 8030132C 002FCF8C 98 04 00 01 */ stb r0, 1(r4)
/* 80301330 002FCF90 42 00 FF F0 */ bdnz lbl_80301320
lbl_80301334:
/* 80301334 002FCF94 38 00 00 30 */ li r0, 0x30
/* 80301338 002FCF98 39 8C 00 01 */ addi r12, r12, 1
/* 8030133C 002FCF9C 98 03 00 00 */ stb r0, 0(r3)
/* 80301340 002FCFA0 3B FF 00 01 */ addi r31, r31, 1
lbl_80301344:
/* 80301344 002FCFA4 7D 20 07 74 */ extsb r0, r9
/* 80301348 002FCFA8 2C 00 00 30 */ cmpwi r0, 0x30
/* 8030134C 002FCFAC 41 82 00 08 */ beq lbl_80301354
/* 80301350 002FCFB0 39 20 00 20 */ li r9, 0x20
lbl_80301354:
/* 80301354 002FCFB4 7D 45 07 74 */ extsb r5, r10
/* 80301358 002FCFB8 7F FF F2 14 */ add r31, r31, r30
/* 8030135C 002FCFBC 3D 40 80 00 */ lis r10, 0x8000
/* 80301360 002FCFC0 38 80 00 20 */ li r4, 0x20
/* 80301364 002FCFC4 38 00 00 00 */ li r0, 0
/* 80301368 002FCFC8 48 00 01 54 */ b lbl_803014BC
lbl_8030136C:
/* 8030136C 002FCFCC 2C 05 00 4C */ cmpwi r5, 0x4c
/* 80301370 002FCFD0 40 82 00 38 */ bne lbl_803013A8
/* 80301374 002FCFD4 7C 6B 1B 78 */ mr r11, r3
/* 80301378 002FCFD8 38 E0 00 00 */ li r7, 0
/* 8030137C 002FCFDC 48 00 00 0C */ b lbl_80301388
lbl_80301380:
/* 80301380 002FCFE0 39 6B 00 01 */ addi r11, r11, 1
/* 80301384 002FCFE4 38 E7 00 01 */ addi r7, r7, 1
lbl_80301388:
/* 80301388 002FCFE8 88 CB 00 00 */ lbz r6, 0(r11)
/* 8030138C 002FCFEC 7C C6 07 75 */ extsb. r6, r6
/* 80301390 002FCFF0 40 82 FF F0 */ bne lbl_80301380
/* 80301394 002FCFF4 7C 83 39 AE */ stbx r4, r3, r7
/* 80301398 002FCFF8 38 C7 00 01 */ addi r6, r7, 1
/* 8030139C 002FCFFC 39 8C 00 01 */ addi r12, r12, 1
/* 803013A0 002FD000 7C 03 31 AE */ stbx r0, r3, r6
/* 803013A4 002FD004 48 00 01 14 */ b lbl_803014B8
lbl_803013A8:
/* 803013A8 002FD008 7C 6B 1B 78 */ mr r11, r3
/* 803013AC 002FD00C 38 C0 00 00 */ li r6, 0
/* 803013B0 002FD010 48 00 00 0C */ b lbl_803013BC
lbl_803013B4:
/* 803013B4 002FD014 39 6B 00 01 */ addi r11, r11, 1
/* 803013B8 002FD018 38 C6 00 01 */ addi r6, r6, 1
lbl_803013BC:
/* 803013BC 002FD01C 88 EB 00 00 */ lbz r7, 0(r11)
/* 803013C0 002FD020 7C E7 07 75 */ extsb. r7, r7
/* 803013C4 002FD024 40 82 FF F0 */ bne lbl_803013B4
/* 803013C8 002FD028 2C 86 00 00 */ cmpwi cr1, r6, 0
/* 803013CC 002FD02C 41 84 00 E4 */ blt cr1, lbl_803014B0
/* 803013D0 002FD030 38 E6 00 01 */ addi r7, r6, 1
/* 803013D4 002FD034 2C 07 00 08 */ cmpwi r7, 8
/* 803013D8 002FD038 40 81 00 B4 */ ble lbl_8030148C
/* 803013DC 002FD03C 39 60 00 00 */ li r11, 0
/* 803013E0 002FD040 3B A0 00 00 */ li r29, 0
/* 803013E4 002FD044 41 84 00 14 */ blt cr1, lbl_803013F8
/* 803013E8 002FD048 38 EA 00 01 */ addi r7, r10, 1
/* 803013EC 002FD04C 7C 06 38 00 */ cmpw r6, r7
/* 803013F0 002FD050 41 80 00 08 */ blt lbl_803013F8
/* 803013F4 002FD054 3B A0 00 01 */ li r29, 1
lbl_803013F8:
/* 803013F8 002FD058 2C 1D 00 00 */ cmpwi r29, 0
/* 803013FC 002FD05C 41 82 00 2C */ beq lbl_80301428
/* 80301400 002FD060 54 C7 00 01 */ rlwinm. r7, r6, 0, 0, 0
/* 80301404 002FD064 3B A0 00 01 */ li r29, 1
/* 80301408 002FD068 40 82 00 14 */ bne lbl_8030141C
/* 8030140C 002FD06C 38 E6 00 01 */ addi r7, r6, 1
/* 80301410 002FD070 54 E7 00 01 */ rlwinm. r7, r7, 0, 0, 0
/* 80301414 002FD074 41 82 00 08 */ beq lbl_8030141C
/* 80301418 002FD078 3B A0 00 00 */ li r29, 0
lbl_8030141C:
/* 8030141C 002FD07C 2C 1D 00 00 */ cmpwi r29, 0
/* 80301420 002FD080 41 82 00 08 */ beq lbl_80301428
/* 80301424 002FD084 39 60 00 01 */ li r11, 1
lbl_80301428:
/* 80301428 002FD088 2C 0B 00 00 */ cmpwi r11, 0
/* 8030142C 002FD08C 41 82 00 60 */ beq lbl_8030148C
/* 80301430 002FD090 54 C7 E8 FE */ srwi r7, r6, 3
/* 80301434 002FD094 7C E9 03 A6 */ mtctr r7
/* 80301438 002FD098 2C 06 00 08 */ cmpwi r6, 8
/* 8030143C 002FD09C 41 80 00 50 */ blt lbl_8030148C
lbl_80301440:
/* 80301440 002FD0A0 7C E3 30 AE */ lbzx r7, r3, r6
/* 80301444 002FD0A4 7D 63 32 14 */ add r11, r3, r6
/* 80301448 002FD0A8 98 EB 00 01 */ stb r7, 1(r11)
/* 8030144C 002FD0AC 88 EB FF FF */ lbz r7, -1(r11)
/* 80301450 002FD0B0 7C E3 31 AE */ stbx r7, r3, r6
/* 80301454 002FD0B4 38 C6 FF F8 */ addi r6, r6, -8
/* 80301458 002FD0B8 88 EB FF FE */ lbz r7, -2(r11)
/* 8030145C 002FD0BC 98 EB FF FF */ stb r7, -1(r11)
/* 80301460 002FD0C0 88 EB FF FD */ lbz r7, -3(r11)
/* 80301464 002FD0C4 98 EB FF FE */ stb r7, -2(r11)
/* 80301468 002FD0C8 88 EB FF FC */ lbz r7, -4(r11)
/* 8030146C 002FD0CC 98 EB FF FD */ stb r7, -3(r11)
/* 80301470 002FD0D0 88 EB FF FB */ lbz r7, -5(r11)
/* 80301474 002FD0D4 98 EB FF FC */ stb r7, -4(r11)
/* 80301478 002FD0D8 88 EB FF FA */ lbz r7, -6(r11)
/* 8030147C 002FD0DC 98 EB FF FB */ stb r7, -5(r11)
/* 80301480 002FD0E0 88 EB FF F9 */ lbz r7, -7(r11)
/* 80301484 002FD0E4 98 EB FF FA */ stb r7, -6(r11)
/* 80301488 002FD0E8 42 00 FF B8 */ bdnz lbl_80301440
lbl_8030148C:
/* 8030148C 002FD0EC 38 E6 00 01 */ addi r7, r6, 1
/* 80301490 002FD0F0 7C E9 03 A6 */ mtctr r7
/* 80301494 002FD0F4 2C 06 00 00 */ cmpwi r6, 0
/* 80301498 002FD0F8 41 80 00 18 */ blt lbl_803014B0
lbl_8030149C:
/* 8030149C 002FD0FC 7C E3 30 AE */ lbzx r7, r3, r6
/* 803014A0 002FD100 7D 63 32 14 */ add r11, r3, r6
/* 803014A4 002FD104 38 C6 FF FF */ addi r6, r6, -1
/* 803014A8 002FD108 98 EB 00 01 */ stb r7, 1(r11)
/* 803014AC 002FD10C 42 00 FF F0 */ bdnz lbl_8030149C
lbl_803014B0:
/* 803014B0 002FD110 99 23 00 00 */ stb r9, 0(r3)
/* 803014B4 002FD114 39 8C 00 01 */ addi r12, r12, 1
lbl_803014B8:
/* 803014B8 002FD118 3B FF 00 01 */ addi r31, r31, 1
lbl_803014BC:
/* 803014BC 002FD11C 7C 1F 40 00 */ cmpw r31, r8
/* 803014C0 002FD120 41 80 FE AC */ blt lbl_8030136C
/* 803014C4 002FD124 2C 1E 00 00 */ cmpwi r30, 0
/* 803014C8 002FD128 41 82 01 18 */ beq lbl_803015E0
/* 803014CC 002FD12C 7C 64 1B 78 */ mr r4, r3
/* 803014D0 002FD130 38 A0 00 00 */ li r5, 0
/* 803014D4 002FD134 48 00 00 0C */ b lbl_803014E0
lbl_803014D8:
/* 803014D8 002FD138 38 84 00 01 */ addi r4, r4, 1
/* 803014DC 002FD13C 38 A5 00 01 */ addi r5, r5, 1
lbl_803014E0:
/* 803014E0 002FD140 88 04 00 00 */ lbz r0, 0(r4)
/* 803014E4 002FD144 7C 00 07 75 */ extsb. r0, r0
/* 803014E8 002FD148 40 82 FF F0 */ bne lbl_803014D8
/* 803014EC 002FD14C 2C 85 00 00 */ cmpwi cr1, r5, 0
/* 803014F0 002FD150 41 84 00 E8 */ blt cr1, lbl_803015D8
/* 803014F4 002FD154 38 05 00 01 */ addi r0, r5, 1
/* 803014F8 002FD158 2C 00 00 08 */ cmpwi r0, 8
/* 803014FC 002FD15C 40 81 00 B8 */ ble lbl_803015B4
/* 80301500 002FD160 38 C0 00 00 */ li r6, 0
/* 80301504 002FD164 38 E0 00 00 */ li r7, 0
/* 80301508 002FD168 41 84 00 18 */ blt cr1, lbl_80301520
/* 8030150C 002FD16C 3C 80 80 00 */ lis r4, 0x80000001@ha
/* 80301510 002FD170 38 04 00 01 */ addi r0, r4, 0x80000001@l
/* 80301514 002FD174 7C 05 00 00 */ cmpw r5, r0
/* 80301518 002FD178 41 80 00 08 */ blt lbl_80301520
/* 8030151C 002FD17C 38 E0 00 01 */ li r7, 1
lbl_80301520:
/* 80301520 002FD180 2C 07 00 00 */ cmpwi r7, 0
/* 80301524 002FD184 41 82 00 2C */ beq lbl_80301550
/* 80301528 002FD188 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 8030152C 002FD18C 38 80 00 01 */ li r4, 1
/* 80301530 002FD190 40 82 00 14 */ bne lbl_80301544
/* 80301534 002FD194 38 05 00 01 */ addi r0, r5, 1
/* 80301538 002FD198 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 8030153C 002FD19C 41 82 00 08 */ beq lbl_80301544
/* 80301540 002FD1A0 38 80 00 00 */ li r4, 0
lbl_80301544:
/* 80301544 002FD1A4 2C 04 00 00 */ cmpwi r4, 0
/* 80301548 002FD1A8 41 82 00 08 */ beq lbl_80301550
/* 8030154C 002FD1AC 38 C0 00 01 */ li r6, 1
lbl_80301550:
/* 80301550 002FD1B0 2C 06 00 00 */ cmpwi r6, 0
/* 80301554 002FD1B4 41 82 00 60 */ beq lbl_803015B4
/* 80301558 002FD1B8 54 A0 E8 FE */ srwi r0, r5, 3
/* 8030155C 002FD1BC 7C 09 03 A6 */ mtctr r0
/* 80301560 002FD1C0 2C 05 00 08 */ cmpwi r5, 8
/* 80301564 002FD1C4 41 80 00 50 */ blt lbl_803015B4
lbl_80301568:
/* 80301568 002FD1C8 7C 03 28 AE */ lbzx r0, r3, r5
/* 8030156C 002FD1CC 7C 83 2A 14 */ add r4, r3, r5
/* 80301570 002FD1D0 98 04 00 01 */ stb r0, 1(r4)
/* 80301574 002FD1D4 88 04 FF FF */ lbz r0, -1(r4)
/* 80301578 002FD1D8 7C 03 29 AE */ stbx r0, r3, r5
/* 8030157C 002FD1DC 38 A5 FF F8 */ addi r5, r5, -8
/* 80301580 002FD1E0 88 04 FF FE */ lbz r0, -2(r4)
/* 80301584 002FD1E4 98 04 FF FF */ stb r0, -1(r4)
/* 80301588 002FD1E8 88 04 FF FD */ lbz r0, -3(r4)
/* 8030158C 002FD1EC 98 04 FF FE */ stb r0, -2(r4)
/* 80301590 002FD1F0 88 04 FF FC */ lbz r0, -4(r4)
/* 80301594 002FD1F4 98 04 FF FD */ stb r0, -3(r4)
/* 80301598 002FD1F8 88 04 FF FB */ lbz r0, -5(r4)
/* 8030159C 002FD1FC 98 04 FF FC */ stb r0, -4(r4)
/* 803015A0 002FD200 88 04 FF FA */ lbz r0, -6(r4)
/* 803015A4 002FD204 98 04 FF FB */ stb r0, -5(r4)
/* 803015A8 002FD208 88 04 FF F9 */ lbz r0, -7(r4)
/* 803015AC 002FD20C 98 04 FF FA */ stb r0, -6(r4)
/* 803015B0 002FD210 42 00 FF B8 */ bdnz lbl_80301568
lbl_803015B4:
/* 803015B4 002FD214 38 05 00 01 */ addi r0, r5, 1
/* 803015B8 002FD218 7C 09 03 A6 */ mtctr r0
/* 803015BC 002FD21C 2C 05 00 00 */ cmpwi r5, 0
/* 803015C0 002FD220 41 80 00 18 */ blt lbl_803015D8
lbl_803015C4:
/* 803015C4 002FD224 7C 03 28 AE */ lbzx r0, r3, r5
/* 803015C8 002FD228 7C 83 2A 14 */ add r4, r3, r5
/* 803015CC 002FD22C 38 A5 FF FF */ addi r5, r5, -1
/* 803015D0 002FD230 98 04 00 01 */ stb r0, 1(r4)
/* 803015D4 002FD234 42 00 FF F0 */ bdnz lbl_803015C4
lbl_803015D8:
/* 803015D8 002FD238 38 00 00 2D */ li r0, 0x2d
/* 803015DC 002FD23C 98 03 00 00 */ stb r0, 0(r3)
lbl_803015E0:
/* 803015E0 002FD240 39 61 00 20 */ addi r11, r1, 0x20
/* 803015E4 002FD244 7D 83 63 78 */ mr r3, r12
/* 803015E8 002FD248 4B EC 5B 8D */ bl _restgpr_27
/* 803015EC 002FD24C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803015F0 002FD250 7C 08 03 A6 */ mtlr r0
/* 803015F4 002FD254 38 21 00 20 */ addi r1, r1, 0x20
/* 803015F8 002FD258 4E 80 00 20 */ blr
.global Mail_sprintf
Mail_sprintf:
/* 803015FC 002FD25C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80301600 002FD260 7C 08 02 A6 */ mflr r0
/* 80301604 002FD264 90 01 00 84 */ stw r0, 0x84(r1)
/* 80301608 002FD268 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8030160C 002FD26C 40 86 00 24 */ bne cr1, lbl_80301630
/* 80301610 002FD270 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 80301614 002FD274 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 80301618 002FD278 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8030161C 002FD27C D8 81 00 40 */ stfd f4, 0x40(r1)
/* 80301620 002FD280 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 80301624 002FD284 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 80301628 002FD288 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8030162C 002FD28C D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_80301630:
/* 80301630 002FD290 39 61 00 88 */ addi r11, r1, 0x88
/* 80301634 002FD294 38 01 00 08 */ addi r0, r1, 8
/* 80301638 002FD298 3D 80 02 00 */ lis r12, 0x200
/* 8030163C 002FD29C 90 61 00 08 */ stw r3, 8(r1)
/* 80301640 002FD2A0 3B E1 00 68 */ addi r31, r1, 0x68
/* 80301644 002FD2A4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80301648 002FD2A8 7F E5 FB 78 */ mr r5, r31
/* 8030164C 002FD2AC 90 81 00 0C */ stw r4, 0xc(r1)
/* 80301650 002FD2B0 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80301654 002FD2B4 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80301658 002FD2B8 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8030165C 002FD2BC 91 21 00 20 */ stw r9, 0x20(r1)
/* 80301660 002FD2C0 91 41 00 24 */ stw r10, 0x24(r1)
/* 80301664 002FD2C4 91 81 00 68 */ stw r12, 0x68(r1)
/* 80301668 002FD2C8 91 61 00 6C */ stw r11, 0x6c(r1)
/* 8030166C 002FD2CC 90 01 00 70 */ stw r0, 0x70(r1)
/* 80301670 002FD2D0 48 00 00 19 */ bl Mail_vsprintf
/* 80301674 002FD2D4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80301678 002FD2D8 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8030167C 002FD2DC 7C 08 03 A6 */ mtlr r0
/* 80301680 002FD2E0 38 21 00 80 */ addi r1, r1, 0x80
/* 80301684 002FD2E4 4E 80 00 20 */ blr
.global Mail_vsprintf
Mail_vsprintf:
/* 80301688 002FD2E8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8030168C 002FD2EC 7C 08 02 A6 */ mflr r0
/* 80301690 002FD2F0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80301694 002FD2F4 39 61 00 50 */ addi r11, r1, 0x50
/* 80301698 002FD2F8 4B EC 5A 65 */ bl _savegpr_16
/* 8030169C 002FD2FC 3A 00 00 00 */ li r16, 0
/* 803016A0 002FD300 7C 74 1B 78 */ mr r20, r3
/* 803016A4 002FD304 9A 03 00 00 */ stb r16, 0(r3)
/* 803016A8 002FD308 7C 95 23 78 */ mr r21, r4
/* 803016AC 002FD30C 7C B6 2B 78 */ mr r22, r5
/* 803016B0 002FD310 3B E0 00 00 */ li r31, 0
/* 803016B4 002FD314 3E 40 80 00 */ lis r18, 0x8000
/* 803016B8 002FD318 3A 60 00 20 */ li r19, 0x20
/* 803016BC 002FD31C 3E 20 80 44 */ lis r17, 0x8044
/* 803016C0 002FD320 48 00 04 5C */ b lbl_80301B1C
/* 803016C4 002FD324 48 00 00 08 */ b lbl_803016CC
lbl_803016C8:
/* 803016C8 002FD328 3A 94 00 01 */ addi r20, r20, 1
lbl_803016CC:
/* 803016CC 002FD32C 88 14 00 00 */ lbz r0, 0(r20)
/* 803016D0 002FD330 7C 00 07 75 */ extsb. r0, r0
/* 803016D4 002FD334 40 82 FF F4 */ bne lbl_803016C8
/* 803016D8 002FD338 7C C0 07 74 */ extsb r0, r6
/* 803016DC 002FD33C 2C 00 00 25 */ cmpwi r0, 0x25
/* 803016E0 002FD340 40 82 04 04 */ bne lbl_80301AE4
/* 803016E4 002FD344 88 15 00 00 */ lbz r0, 0(r21)
/* 803016E8 002FD348 3A B5 00 01 */ addi r21, r21, 1
/* 803016EC 002FD34C 7C 03 07 74 */ extsb r3, r0
/* 803016F0 002FD350 2C 03 00 25 */ cmpwi r3, 0x25
/* 803016F4 002FD354 40 82 00 40 */ bne lbl_80301734
/* 803016F8 002FD358 7E 84 A3 78 */ mr r4, r20
/* 803016FC 002FD35C 7E 86 A3 78 */ mr r6, r20
/* 80301700 002FD360 38 A0 00 00 */ li r5, 0
/* 80301704 002FD364 3A 94 00 01 */ addi r20, r20, 1
/* 80301708 002FD368 48 00 00 0C */ b lbl_80301714
lbl_8030170C:
/* 8030170C 002FD36C 38 C6 00 01 */ addi r6, r6, 1
/* 80301710 002FD370 38 A5 00 01 */ addi r5, r5, 1
lbl_80301714:
/* 80301714 002FD374 88 66 00 00 */ lbz r3, 0(r6)
/* 80301718 002FD378 7C 63 07 75 */ extsb. r3, r3
/* 8030171C 002FD37C 40 82 FF F0 */ bne lbl_8030170C
/* 80301720 002FD380 7C 04 29 AE */ stbx r0, r4, r5
/* 80301724 002FD384 38 05 00 01 */ addi r0, r5, 1
/* 80301728 002FD388 3B FF 00 01 */ addi r31, r31, 1
/* 8030172C 002FD38C 7E 04 01 AE */ stbx r16, r4, r0
/* 80301730 002FD390 48 00 03 EC */ b lbl_80301B1C
lbl_80301734:
/* 80301734 002FD394 2C 03 00 2D */ cmpwi r3, 0x2d
/* 80301738 002FD398 7C 1A 03 78 */ mr r26, r0
/* 8030173C 002FD39C 40 82 00 0C */ bne lbl_80301748
/* 80301740 002FD3A0 88 15 00 00 */ lbz r0, 0(r21)
/* 80301744 002FD3A4 3A B5 00 01 */ addi r21, r21, 1
lbl_80301748:
/* 80301748 002FD3A8 7C 03 07 74 */ extsb r3, r0
/* 8030174C 002FD3AC 7C 19 03 78 */ mr r25, r0
/* 80301750 002FD3B0 2C 03 00 2A */ cmpwi r3, 0x2a
/* 80301754 002FD3B4 3B A0 00 00 */ li r29, 0
/* 80301758 002FD3B8 3B 80 00 0A */ li r28, 0xa
/* 8030175C 002FD3BC 3B 00 00 30 */ li r24, 0x30
/* 80301760 002FD3C0 3B C0 00 00 */ li r30, 0
/* 80301764 002FD3C4 40 82 00 20 */ bne lbl_80301784
/* 80301768 002FD3C8 7E C3 B3 78 */ mr r3, r22
/* 8030176C 002FD3CC 38 80 00 01 */ li r4, 1
/* 80301770 002FD3D0 4B EC 54 11 */ bl __va_arg
/* 80301774 002FD3D4 88 15 00 00 */ lbz r0, 0(r21)
/* 80301778 002FD3D8 3A B5 00 01 */ addi r21, r21, 1
/* 8030177C 002FD3DC 83 63 00 00 */ lwz r27, 0(r3)
/* 80301780 002FD3E0 48 00 00 38 */ b lbl_803017B8
lbl_80301784:
/* 80301784 002FD3E4 3B 60 00 00 */ li r27, 0
/* 80301788 002FD3E8 48 00 00 1C */ b lbl_803017A4
lbl_8030178C:
/* 8030178C 002FD3EC 1C 9B 00 0A */ mulli r4, r27, 0xa
/* 80301790 002FD3F0 7C 03 07 74 */ extsb r3, r0
/* 80301794 002FD3F4 88 15 00 00 */ lbz r0, 0(r21)
/* 80301798 002FD3F8 3A B5 00 01 */ addi r21, r21, 1
/* 8030179C 002FD3FC 7C 63 22 14 */ add r3, r3, r4
/* 803017A0 002FD400 3B 63 FF D0 */ addi r27, r3, -48
lbl_803017A4:
/* 803017A4 002FD404 7C 03 07 74 */ extsb r3, r0
/* 803017A8 002FD408 2C 03 00 30 */ cmpwi r3, 0x30
/* 803017AC 002FD40C 41 80 00 0C */ blt lbl_803017B8
/* 803017B0 002FD410 2C 03 00 39 */ cmpwi r3, 0x39
/* 803017B4 002FD414 40 81 FF D8 */ ble lbl_8030178C
lbl_803017B8:
/* 803017B8 002FD418 70 03 00 DF */ andi. r3, r0, 0xdf
/* 803017BC 002FD41C 7C 77 07 74 */ extsb r23, r3
/* 803017C0 002FD420 2C 17 00 4C */ cmpwi r23, 0x4c
/* 803017C4 002FD424 40 82 00 0C */ bne lbl_803017D0
/* 803017C8 002FD428 88 15 00 00 */ lbz r0, 0(r21)
/* 803017CC 002FD42C 3A B5 00 01 */ addi r21, r21, 1
lbl_803017D0:
/* 803017D0 002FD430 7C 03 07 74 */ extsb r3, r0
/* 803017D4 002FD434 38 03 FF A8 */ addi r0, r3, -88
/* 803017D8 002FD438 28 00 00 20 */ cmplwi r0, 0x20
/* 803017DC 002FD43C 41 81 02 90 */ bgt lbl_80301A6C
/* 803017E0 002FD440 38 71 62 50 */ addi r3, r17, 0x6250
/* 803017E4 002FD444 54 00 10 3A */ slwi r0, r0, 2
/* 803017E8 002FD448 7C 63 00 2E */ lwzx r3, r3, r0
/* 803017EC 002FD44C 7C 69 03 A6 */ mtctr r3
/* 803017F0 002FD450 4E 80 04 20 */ bctr
/* 803017F4 002FD454 3B C0 00 01 */ li r30, 1
/* 803017F8 002FD458 3B A0 00 01 */ li r29, 1
/* 803017FC 002FD45C 48 00 02 70 */ b lbl_80301A6C
/* 80301800 002FD460 3B C0 00 01 */ li r30, 1
/* 80301804 002FD464 3B 80 00 08 */ li r28, 8
/* 80301808 002FD468 48 00 02 64 */ b lbl_80301A6C
/* 8030180C 002FD46C 3B C0 00 01 */ li r30, 1
/* 80301810 002FD470 48 00 02 5C */ b lbl_80301A6C
/* 80301814 002FD474 3B C0 00 01 */ li r30, 1
/* 80301818 002FD478 3B 80 00 10 */ li r28, 0x10
/* 8030181C 002FD47C 3B 00 00 57 */ li r24, 0x57
/* 80301820 002FD480 48 00 02 4C */ b lbl_80301A6C
/* 80301824 002FD484 3B C0 00 01 */ li r30, 1
/* 80301828 002FD488 3B 80 00 10 */ li r28, 0x10
/* 8030182C 002FD48C 3B 00 00 37 */ li r24, 0x37
/* 80301830 002FD490 48 00 02 3C */ b lbl_80301A6C
/* 80301834 002FD494 7E C3 B3 78 */ mr r3, r22
/* 80301838 002FD498 38 80 00 01 */ li r4, 1
/* 8030183C 002FD49C 4B EC 53 45 */ bl __va_arg
/* 80301840 002FD4A0 80 03 00 00 */ lwz r0, 0(r3)
/* 80301844 002FD4A4 7E 83 A3 78 */ mr r3, r20
/* 80301848 002FD4A8 7E 85 A3 78 */ mr r5, r20
/* 8030184C 002FD4AC 38 80 00 00 */ li r4, 0
/* 80301850 002FD4B0 7C 06 07 74 */ extsb r6, r0
/* 80301854 002FD4B4 3A 94 00 01 */ addi r20, r20, 1
/* 80301858 002FD4B8 48 00 00 0C */ b lbl_80301864
lbl_8030185C:
/* 8030185C 002FD4BC 38 A5 00 01 */ addi r5, r5, 1
/* 80301860 002FD4C0 38 84 00 01 */ addi r4, r4, 1
lbl_80301864:
/* 80301864 002FD4C4 88 05 00 00 */ lbz r0, 0(r5)
/* 80301868 002FD4C8 7C 00 07 75 */ extsb. r0, r0
/* 8030186C 002FD4CC 40 82 FF F0 */ bne lbl_8030185C
/* 80301870 002FD4D0 7C C3 21 AE */ stbx r6, r3, r4
/* 80301874 002FD4D4 38 04 00 01 */ addi r0, r4, 1
/* 80301878 002FD4D8 3B FF 00 01 */ addi r31, r31, 1
/* 8030187C 002FD4DC 7E 03 01 AE */ stbx r16, r3, r0
/* 80301880 002FD4E0 48 00 01 EC */ b lbl_80301A6C
/* 80301884 002FD4E4 7E C3 B3 78 */ mr r3, r22
/* 80301888 002FD4E8 38 80 00 01 */ li r4, 1
/* 8030188C 002FD4EC 4B EC 52 F5 */ bl __va_arg
/* 80301890 002FD4F0 80 63 00 00 */ lwz r3, 0(r3)
/* 80301894 002FD4F4 2C 03 00 00 */ cmpwi r3, 0
/* 80301898 002FD4F8 41 82 00 70 */ beq lbl_80301908
/* 8030189C 002FD4FC 7C 64 1B 78 */ mr r4, r3
/* 803018A0 002FD500 38 A0 00 00 */ li r5, 0
/* 803018A4 002FD504 48 00 00 0C */ b lbl_803018B0
lbl_803018A8:
/* 803018A8 002FD508 38 84 00 01 */ addi r4, r4, 1
/* 803018AC 002FD50C 38 A5 00 01 */ addi r5, r5, 1
lbl_803018B0:
/* 803018B0 002FD510 88 04 00 00 */ lbz r0, 0(r4)
/* 803018B4 002FD514 7C 00 07 75 */ extsb. r0, r0
/* 803018B8 002FD518 40 82 FF F0 */ bne lbl_803018A8
/* 803018BC 002FD51C 7E 86 A3 78 */ mr r6, r20
/* 803018C0 002FD520 38 80 00 00 */ li r4, 0
/* 803018C4 002FD524 48 00 00 0C */ b lbl_803018D0
lbl_803018C8:
/* 803018C8 002FD528 38 C6 00 01 */ addi r6, r6, 1
/* 803018CC 002FD52C 38 84 00 01 */ addi r4, r4, 1
lbl_803018D0:
/* 803018D0 002FD530 88 06 00 00 */ lbz r0, 0(r6)
/* 803018D4 002FD534 7C 00 07 75 */ extsb. r0, r0
/* 803018D8 002FD538 40 82 FF F0 */ bne lbl_803018C8
/* 803018DC 002FD53C 7C 94 22 14 */ add r4, r20, r4
/* 803018E0 002FD540 48 00 00 14 */ b lbl_803018F4
lbl_803018E4:
/* 803018E4 002FD544 88 03 00 00 */ lbz r0, 0(r3)
/* 803018E8 002FD548 38 63 00 01 */ addi r3, r3, 1
/* 803018EC 002FD54C 98 04 00 00 */ stb r0, 0(r4)
/* 803018F0 002FD550 38 84 00 01 */ addi r4, r4, 1
lbl_803018F4:
/* 803018F4 002FD554 88 03 00 00 */ lbz r0, 0(r3)
/* 803018F8 002FD558 7C 00 07 75 */ extsb. r0, r0
/* 803018FC 002FD55C 40 82 FF E8 */ bne lbl_803018E4
/* 80301900 002FD560 9A 04 00 00 */ stb r16, 0(r4)
/* 80301904 002FD564 48 00 00 08 */ b lbl_8030190C
lbl_80301908:
/* 80301908 002FD568 38 A0 00 00 */ li r5, 0
lbl_8030190C:
/* 8030190C 002FD56C 7F FF 2A 14 */ add r31, r31, r5
/* 80301910 002FD570 7F 40 07 74 */ extsb r0, r26
/* 80301914 002FD574 48 00 01 50 */ b lbl_80301A64
lbl_80301918:
/* 80301918 002FD578 2C 00 00 2D */ cmpwi r0, 0x2d
/* 8030191C 002FD57C 3B FF 00 01 */ addi r31, r31, 1
/* 80301920 002FD580 40 82 00 34 */ bne lbl_80301954
/* 80301924 002FD584 7E 86 A3 78 */ mr r6, r20
/* 80301928 002FD588 38 80 00 00 */ li r4, 0
/* 8030192C 002FD58C 48 00 00 0C */ b lbl_80301938
lbl_80301930:
/* 80301930 002FD590 38 C6 00 01 */ addi r6, r6, 1
/* 80301934 002FD594 38 84 00 01 */ addi r4, r4, 1
lbl_80301938:
/* 80301938 002FD598 88 66 00 00 */ lbz r3, 0(r6)
/* 8030193C 002FD59C 7C 63 07 75 */ extsb. r3, r3
/* 80301940 002FD5A0 40 82 FF F0 */ bne lbl_80301930
/* 80301944 002FD5A4 7E 74 21 AE */ stbx r19, r20, r4
/* 80301948 002FD5A8 38 64 00 01 */ addi r3, r4, 1
/* 8030194C 002FD5AC 7E 14 19 AE */ stbx r16, r20, r3
/* 80301950 002FD5B0 48 00 01 10 */ b lbl_80301A60
lbl_80301954:
/* 80301954 002FD5B4 7E 86 A3 78 */ mr r6, r20
/* 80301958 002FD5B8 38 60 00 00 */ li r3, 0
/* 8030195C 002FD5BC 48 00 00 0C */ b lbl_80301968
lbl_80301960:
/* 80301960 002FD5C0 38 C6 00 01 */ addi r6, r6, 1
/* 80301964 002FD5C4 38 63 00 01 */ addi r3, r3, 1
lbl_80301968:
/* 80301968 002FD5C8 88 86 00 00 */ lbz r4, 0(r6)
/* 8030196C 002FD5CC 7C 84 07 75 */ extsb. r4, r4
/* 80301970 002FD5D0 40 82 FF F0 */ bne lbl_80301960
/* 80301974 002FD5D4 2C 83 00 00 */ cmpwi cr1, r3, 0
/* 80301978 002FD5D8 41 84 00 E4 */ blt cr1, lbl_80301A5C
/* 8030197C 002FD5DC 38 83 00 01 */ addi r4, r3, 1
/* 80301980 002FD5E0 2C 04 00 08 */ cmpwi r4, 8
/* 80301984 002FD5E4 40 81 00 B4 */ ble lbl_80301A38
/* 80301988 002FD5E8 38 C0 00 00 */ li r6, 0
/* 8030198C 002FD5EC 38 E0 00 00 */ li r7, 0
/* 80301990 002FD5F0 41 84 00 14 */ blt cr1, lbl_803019A4
/* 80301994 002FD5F4 38 92 00 01 */ addi r4, r18, 1
/* 80301998 002FD5F8 7C 03 20 00 */ cmpw r3, r4
/* 8030199C 002FD5FC 41 80 00 08 */ blt lbl_803019A4
/* 803019A0 002FD600 38 E0 00 01 */ li r7, 1
lbl_803019A4:
/* 803019A4 002FD604 2C 07 00 00 */ cmpwi r7, 0
/* 803019A8 002FD608 41 82 00 2C */ beq lbl_803019D4
/* 803019AC 002FD60C 54 64 00 01 */ rlwinm. r4, r3, 0, 0, 0
/* 803019B0 002FD610 38 E0 00 01 */ li r7, 1
/* 803019B4 002FD614 40 82 00 14 */ bne lbl_803019C8
/* 803019B8 002FD618 38 83 00 01 */ addi r4, r3, 1
/* 803019BC 002FD61C 54 84 00 01 */ rlwinm. r4, r4, 0, 0, 0
/* 803019C0 002FD620 41 82 00 08 */ beq lbl_803019C8
/* 803019C4 002FD624 38 E0 00 00 */ li r7, 0
lbl_803019C8:
/* 803019C8 002FD628 2C 07 00 00 */ cmpwi r7, 0
/* 803019CC 002FD62C 41 82 00 08 */ beq lbl_803019D4
/* 803019D0 002FD630 38 C0 00 01 */ li r6, 1
lbl_803019D4:
/* 803019D4 002FD634 2C 06 00 00 */ cmpwi r6, 0
/* 803019D8 002FD638 41 82 00 60 */ beq lbl_80301A38
/* 803019DC 002FD63C 54 64 E8 FE */ srwi r4, r3, 3
/* 803019E0 002FD640 7C 89 03 A6 */ mtctr r4
/* 803019E4 002FD644 2C 03 00 08 */ cmpwi r3, 8
/* 803019E8 002FD648 41 80 00 50 */ blt lbl_80301A38
lbl_803019EC:
/* 803019EC 002FD64C 7C D4 18 AE */ lbzx r6, r20, r3
/* 803019F0 002FD650 7C 94 1A 14 */ add r4, r20, r3
/* 803019F4 002FD654 98 C4 00 01 */ stb r6, 1(r4)
/* 803019F8 002FD658 88 C4 FF FF */ lbz r6, -1(r4)
/* 803019FC 002FD65C 7C D4 19 AE */ stbx r6, r20, r3
/* 80301A00 002FD660 38 63 FF F8 */ addi r3, r3, -8
/* 80301A04 002FD664 88 C4 FF FE */ lbz r6, -2(r4)
/* 80301A08 002FD668 98 C4 FF FF */ stb r6, -1(r4)
/* 80301A0C 002FD66C 88 C4 FF FD */ lbz r6, -3(r4)
/* 80301A10 002FD670 98 C4 FF FE */ stb r6, -2(r4)
/* 80301A14 002FD674 88 C4 FF FC */ lbz r6, -4(r4)
/* 80301A18 002FD678 98 C4 FF FD */ stb r6, -3(r4)
/* 80301A1C 002FD67C 88 C4 FF FB */ lbz r6, -5(r4)
/* 80301A20 002FD680 98 C4 FF FC */ stb r6, -4(r4)
/* 80301A24 002FD684 88 C4 FF FA */ lbz r6, -6(r4)
/* 80301A28 002FD688 98 C4 FF FB */ stb r6, -5(r4)
/* 80301A2C 002FD68C 88 C4 FF F9 */ lbz r6, -7(r4)
/* 80301A30 002FD690 98 C4 FF FA */ stb r6, -6(r4)
/* 80301A34 002FD694 42 00 FF B8 */ bdnz lbl_803019EC
lbl_80301A38:
/* 80301A38 002FD698 38 83 00 01 */ addi r4, r3, 1
/* 80301A3C 002FD69C 7C 89 03 A6 */ mtctr r4
/* 80301A40 002FD6A0 2C 03 00 00 */ cmpwi r3, 0
/* 80301A44 002FD6A4 41 80 00 18 */ blt lbl_80301A5C
lbl_80301A48:
/* 80301A48 002FD6A8 7C 94 18 AE */ lbzx r4, r20, r3
/* 80301A4C 002FD6AC 7C D4 1A 14 */ add r6, r20, r3
/* 80301A50 002FD6B0 38 63 FF FF */ addi r3, r3, -1
/* 80301A54 002FD6B4 98 86 00 01 */ stb r4, 1(r6)
/* 80301A58 002FD6B8 42 00 FF F0 */ bdnz lbl_80301A48
lbl_80301A5C:
/* 80301A5C 002FD6BC 9A 74 00 00 */ stb r19, 0(r20)
lbl_80301A60:
/* 80301A60 002FD6C0 38 A5 00 01 */ addi r5, r5, 1
lbl_80301A64:
/* 80301A64 002FD6C4 7C 05 D8 00 */ cmpw r5, r27
/* 80301A68 002FD6C8 41 80 FE B0 */ blt lbl_80301918
lbl_80301A6C:
/* 80301A6C 002FD6CC 2C 1E 00 00 */ cmpwi r30, 0
/* 80301A70 002FD6D0 41 82 00 AC */ beq lbl_80301B1C
/* 80301A74 002FD6D4 2C 17 00 4C */ cmpwi r23, 0x4c
/* 80301A78 002FD6D8 40 82 00 18 */ bne lbl_80301A90
/* 80301A7C 002FD6DC 7E C3 B3 78 */ mr r3, r22
/* 80301A80 002FD6E0 38 80 00 01 */ li r4, 1
/* 80301A84 002FD6E4 4B EC 50 FD */ bl __va_arg
/* 80301A88 002FD6E8 80 83 00 00 */ lwz r4, 0(r3)
/* 80301A8C 002FD6EC 48 00 00 30 */ b lbl_80301ABC
lbl_80301A90:
/* 80301A90 002FD6F0 2C 1D 00 00 */ cmpwi r29, 0
/* 80301A94 002FD6F4 41 82 00 18 */ beq lbl_80301AAC
/* 80301A98 002FD6F8 7E C3 B3 78 */ mr r3, r22
/* 80301A9C 002FD6FC 38 80 00 01 */ li r4, 1
/* 80301AA0 002FD700 4B EC 50 E1 */ bl __va_arg
/* 80301AA4 002FD704 80 83 00 00 */ lwz r4, 0(r3)
/* 80301AA8 002FD708 48 00 00 14 */ b lbl_80301ABC
lbl_80301AAC:
/* 80301AAC 002FD70C 7E C3 B3 78 */ mr r3, r22
/* 80301AB0 002FD710 38 80 00 01 */ li r4, 1
/* 80301AB4 002FD714 4B EC 50 CD */ bl __va_arg
/* 80301AB8 002FD718 80 83 00 00 */ lwz r4, 0(r3)
lbl_80301ABC:
/* 80301ABC 002FD71C 7E 83 A3 78 */ mr r3, r20
/* 80301AC0 002FD720 7F 85 E3 78 */ mr r5, r28
/* 80301AC4 002FD724 7F 06 C3 78 */ mr r6, r24
/* 80301AC8 002FD728 7F A7 EB 78 */ mr r7, r29
/* 80301ACC 002FD72C 7F 68 DB 78 */ mr r8, r27
/* 80301AD0 002FD730 7F 29 07 74 */ extsb r9, r25
/* 80301AD4 002FD734 7F 4A 07 74 */ extsb r10, r26
/* 80301AD8 002FD738 4B FF F5 BD */ bl convNum
/* 80301ADC 002FD73C 7F FF 1A 14 */ add r31, r31, r3
/* 80301AE0 002FD740 48 00 00 3C */ b lbl_80301B1C
lbl_80301AE4:
/* 80301AE4 002FD744 7E 83 A3 78 */ mr r3, r20
/* 80301AE8 002FD748 7E 85 A3 78 */ mr r5, r20
/* 80301AEC 002FD74C 38 80 00 00 */ li r4, 0
/* 80301AF0 002FD750 3A 94 00 01 */ addi r20, r20, 1
/* 80301AF4 002FD754 48 00 00 0C */ b lbl_80301B00
lbl_80301AF8:
/* 80301AF8 002FD758 38 A5 00 01 */ addi r5, r5, 1
/* 80301AFC 002FD75C 38 84 00 01 */ addi r4, r4, 1
lbl_80301B00:
/* 80301B00 002FD760 88 05 00 00 */ lbz r0, 0(r5)
/* 80301B04 002FD764 7C 00 07 75 */ extsb. r0, r0
/* 80301B08 002FD768 40 82 FF F0 */ bne lbl_80301AF8
/* 80301B0C 002FD76C 7C C3 21 AE */ stbx r6, r3, r4
/* 80301B10 002FD770 38 04 00 01 */ addi r0, r4, 1
/* 80301B14 002FD774 3B FF 00 01 */ addi r31, r31, 1
/* 80301B18 002FD778 7E 03 01 AE */ stbx r16, r3, r0
lbl_80301B1C:
/* 80301B1C 002FD77C 88 D5 00 00 */ lbz r6, 0(r21)
/* 80301B20 002FD780 3A B5 00 01 */ addi r21, r21, 1
/* 80301B24 002FD784 7C C0 07 75 */ extsb. r0, r6
/* 80301B28 002FD788 40 82 FB A4 */ bne lbl_803016CC
/* 80301B2C 002FD78C 39 61 00 50 */ addi r11, r1, 0x50
/* 80301B30 002FD790 7F E3 FB 78 */ mr r3, r31
/* 80301B34 002FD794 4B EC 56 15 */ bl _restgpr_16
/* 80301B38 002FD798 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80301B3C 002FD79C 7C 08 03 A6 */ mtlr r0
/* 80301B40 002FD7A0 38 21 00 50 */ addi r1, r1, 0x50
/* 80301B44 002FD7A4 4E 80 00 20 */ blr
|