summaryrefslogtreecommitdiff
path: root/asm/Dolphin/gx/GXPerf.s
blob: 560ef72fef9c8fca05b2ad00df868adc61714eb0 (plain)
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
.include "macros.inc"

.section .text, "ax"  # 0x80005600 - 0x8036FBA0
.global GXSetGPMetric
GXSetGPMetric:
/* 800ADBF8 000AAB38  80 AD 82 C8 */	lwz r5, gx@sda21(r13)
/* 800ADBFC 000AAB3C  80 05 04 E4 */	lwz r0, 0x4e4(r5)
/* 800ADC00 000AAB40  2C 00 00 22 */	cmpwi r0, 0x22
/* 800ADC04 000AAB44  41 82 00 2C */	beq lbl_800ADC30
/* 800ADC08 000AAB48  40 80 00 74 */	bge lbl_800ADC7C
/* 800ADC0C 000AAB4C  2C 00 00 0B */	cmpwi r0, 0xb
/* 800ADC10 000AAB50  40 80 00 10 */	bge lbl_800ADC20
/* 800ADC14 000AAB54  2C 00 00 00 */	cmpwi r0, 0
/* 800ADC18 000AAB58  40 80 00 18 */	bge lbl_800ADC30
/* 800ADC1C 000AAB5C  48 00 00 60 */	b lbl_800ADC7C
lbl_800ADC20:
/* 800ADC20 000AAB60  2C 00 00 1B */	cmpwi r0, 0x1b
/* 800ADC24 000AAB64  40 80 00 44 */	bge lbl_800ADC68
/* 800ADC28 000AAB68  48 00 00 28 */	b lbl_800ADC50
/* 800ADC2C 000AAB6C  48 00 00 50 */	b lbl_800ADC7C
lbl_800ADC30:
/* 800ADC30 000AAB70  38 00 00 10 */	li r0, 0x10
/* 800ADC34 000AAB74  3C C0 CC 01 */	lis r6, 0xCC008000@ha
/* 800ADC38 000AAB78  98 06 80 00 */	stb r0, 0xCC008000@l(r6)
/* 800ADC3C 000AAB7C  38 A0 10 06 */	li r5, 0x1006
/* 800ADC40 000AAB80  38 00 00 00 */	li r0, 0
/* 800ADC44 000AAB84  90 A6 80 00 */	stw r5, -0x8000(r6)
/* 800ADC48 000AAB88  90 06 80 00 */	stw r0, -0x8000(r6)
/* 800ADC4C 000AAB8C  48 00 00 30 */	b lbl_800ADC7C
lbl_800ADC50:
/* 800ADC50 000AAB90  38 00 00 61 */	li r0, 0x61
/* 800ADC54 000AAB94  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADC58 000AAB98  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADC5C 000AAB9C  3C 00 23 00 */	lis r0, 0x2300
/* 800ADC60 000AABA0  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADC64 000AABA4  48 00 00 18 */	b lbl_800ADC7C
lbl_800ADC68:
/* 800ADC68 000AABA8  38 00 00 61 */	li r0, 0x61
/* 800ADC6C 000AABAC  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADC70 000AABB0  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADC74 000AABB4  3C 00 24 00 */	lis r0, 0x2400
/* 800ADC78 000AABB8  90 05 80 00 */	stw r0, -0x8000(r5)
lbl_800ADC7C:
/* 800ADC7C 000AABBC  80 AD 82 C8 */	lwz r5, gx@sda21(r13)
/* 800ADC80 000AABC0  80 05 04 E8 */	lwz r0, 0x4e8(r5)
/* 800ADC84 000AABC4  2C 00 00 15 */	cmpwi r0, 0x15
/* 800ADC88 000AABC8  41 82 00 2C */	beq lbl_800ADCB4
/* 800ADC8C 000AABCC  40 80 00 80 */	bge lbl_800ADD0C
/* 800ADC90 000AABD0  2C 00 00 09 */	cmpwi r0, 9
/* 800ADC94 000AABD4  40 80 00 10 */	bge lbl_800ADCA4
/* 800ADC98 000AABD8  2C 00 00 00 */	cmpwi r0, 0
/* 800ADC9C 000AABDC  40 80 00 18 */	bge lbl_800ADCB4
/* 800ADCA0 000AABE0  48 00 00 6C */	b lbl_800ADD0C
lbl_800ADCA4:
/* 800ADCA4 000AABE4  2C 00 00 11 */	cmpwi r0, 0x11
/* 800ADCA8 000AABE8  40 80 00 58 */	bge lbl_800ADD00
/* 800ADCAC 000AABEC  48 00 00 20 */	b lbl_800ADCCC
/* 800ADCB0 000AABF0  48 00 00 5C */	b lbl_800ADD0C
lbl_800ADCB4:
/* 800ADCB4 000AABF4  38 00 00 61 */	li r0, 0x61
/* 800ADCB8 000AABF8  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADCBC 000AABFC  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADCC0 000AAC00  3C 00 67 00 */	lis r0, 0x6700
/* 800ADCC4 000AAC04  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADCC8 000AAC08  48 00 00 44 */	b lbl_800ADD0C
lbl_800ADCCC:
/* 800ADCCC 000AAC0C  38 E5 04 EC */	addi r7, r5, 0x4ec
/* 800ADCD0 000AAC10  80 05 04 EC */	lwz r0, 0x4ec(r5)
/* 800ADCD4 000AAC14  38 A0 00 08 */	li r5, 8
/* 800ADCD8 000AAC18  3C C0 CC 01 */	lis r6, 0xCC008000@ha
/* 800ADCDC 000AAC1C  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800ADCE0 000AAC20  90 07 00 00 */	stw r0, 0(r7)
/* 800ADCE4 000AAC24  38 00 00 20 */	li r0, 0x20
/* 800ADCE8 000AAC28  98 A6 80 00 */	stb r5, 0xCC008000@l(r6)
/* 800ADCEC 000AAC2C  80 AD 82 C8 */	lwz r5, gx@sda21(r13)
/* 800ADCF0 000AAC30  98 06 80 00 */	stb r0, -0x8000(r6)
/* 800ADCF4 000AAC34  80 05 04 EC */	lwz r0, 0x4ec(r5)
/* 800ADCF8 000AAC38  90 06 80 00 */	stw r0, -0x8000(r6)
/* 800ADCFC 000AAC3C  48 00 00 10 */	b lbl_800ADD0C
lbl_800ADD00:
/* 800ADD00 000AAC40  80 AD 95 5C */	lwz r5, __cpReg@sda21(r13)
/* 800ADD04 000AAC44  38 00 00 00 */	li r0, 0
/* 800ADD08 000AAC48  B0 05 00 06 */	sth r0, 6(r5)
lbl_800ADD0C:
/* 800ADD0C 000AAC4C  80 AD 82 C8 */	lwz r5, gx@sda21(r13)
/* 800ADD10 000AAC50  90 65 04 E4 */	stw r3, 0x4e4(r5)
/* 800ADD14 000AAC54  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800ADD18 000AAC58  80 03 04 E4 */	lwz r0, 0x4e4(r3)
/* 800ADD1C 000AAC5C  28 00 00 23 */	cmplwi r0, 0x23
/* 800ADD20 000AAC60  41 81 04 1C */	bgt lbl_800AE13C
/* 800ADD24 000AAC64  3C 60 80 3B */	lis r3, "@241"@ha
/* 800ADD28 000AAC68  38 63 1B B4 */	addi r3, r3, "@241"@l
/* 800ADD2C 000AAC6C  54 00 10 3A */	slwi r0, r0, 2
/* 800ADD30 000AAC70  7C 03 00 2E */	lwzx r0, r3, r0
/* 800ADD34 000AAC74  7C 09 03 A6 */	mtctr r0
/* 800ADD38 000AAC78  4E 80 04 20 */	bctr 
lbl_800ADD3C:
/* 800ADD3C 000AAC7C  38 00 00 10 */	li r0, 0x10
/* 800ADD40 000AAC80  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADD44 000AAC84  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADD48 000AAC88  38 60 10 06 */	li r3, 0x1006
/* 800ADD4C 000AAC8C  38 00 02 73 */	li r0, 0x273
/* 800ADD50 000AAC90  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADD54 000AAC94  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADD58 000AAC98  48 00 03 E4 */	b lbl_800AE13C
lbl_800ADD5C:
/* 800ADD5C 000AAC9C  38 00 00 10 */	li r0, 0x10
/* 800ADD60 000AACA0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADD64 000AACA4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADD68 000AACA8  38 60 10 06 */	li r3, 0x1006
/* 800ADD6C 000AACAC  38 00 01 4A */	li r0, 0x14a
/* 800ADD70 000AACB0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADD74 000AACB4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADD78 000AACB8  48 00 03 C4 */	b lbl_800AE13C
lbl_800ADD7C:
/* 800ADD7C 000AACBC  38 00 00 10 */	li r0, 0x10
/* 800ADD80 000AACC0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADD84 000AACC4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADD88 000AACC8  38 60 10 06 */	li r3, 0x1006
/* 800ADD8C 000AACCC  38 00 01 6B */	li r0, 0x16b
/* 800ADD90 000AACD0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADD94 000AACD4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADD98 000AACD8  48 00 03 A4 */	b lbl_800AE13C
lbl_800ADD9C:
/* 800ADD9C 000AACDC  38 00 00 10 */	li r0, 0x10
/* 800ADDA0 000AACE0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADDA4 000AACE4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADDA8 000AACE8  38 60 10 06 */	li r3, 0x1006
/* 800ADDAC 000AACEC  38 00 00 84 */	li r0, 0x84
/* 800ADDB0 000AACF0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADDB4 000AACF4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADDB8 000AACF8  48 00 03 84 */	b lbl_800AE13C
lbl_800ADDBC:
/* 800ADDBC 000AACFC  38 00 00 10 */	li r0, 0x10
/* 800ADDC0 000AAD00  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADDC4 000AAD04  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADDC8 000AAD08  38 60 10 06 */	li r3, 0x1006
/* 800ADDCC 000AAD0C  38 00 00 C6 */	li r0, 0xc6
/* 800ADDD0 000AAD10  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADDD4 000AAD14  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADDD8 000AAD18  48 00 03 64 */	b lbl_800AE13C
lbl_800ADDDC:
/* 800ADDDC 000AAD1C  38 00 00 10 */	li r0, 0x10
/* 800ADDE0 000AAD20  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADDE4 000AAD24  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADDE8 000AAD28  38 60 10 06 */	li r3, 0x1006
/* 800ADDEC 000AAD2C  38 00 02 10 */	li r0, 0x210
/* 800ADDF0 000AAD30  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADDF4 000AAD34  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADDF8 000AAD38  48 00 03 44 */	b lbl_800AE13C
lbl_800ADDFC:
/* 800ADDFC 000AAD3C  38 00 00 10 */	li r0, 0x10
/* 800ADE00 000AAD40  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADE04 000AAD44  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADE08 000AAD48  38 60 10 06 */	li r3, 0x1006
/* 800ADE0C 000AAD4C  38 00 02 52 */	li r0, 0x252
/* 800ADE10 000AAD50  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADE14 000AAD54  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADE18 000AAD58  48 00 03 24 */	b lbl_800AE13C
lbl_800ADE1C:
/* 800ADE1C 000AAD5C  38 00 00 10 */	li r0, 0x10
/* 800ADE20 000AAD60  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADE24 000AAD64  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADE28 000AAD68  38 60 10 06 */	li r3, 0x1006
/* 800ADE2C 000AAD6C  38 00 02 31 */	li r0, 0x231
/* 800ADE30 000AAD70  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADE34 000AAD74  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADE38 000AAD78  48 00 03 04 */	b lbl_800AE13C
lbl_800ADE3C:
/* 800ADE3C 000AAD7C  38 00 00 10 */	li r0, 0x10
/* 800ADE40 000AAD80  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADE44 000AAD84  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADE48 000AAD88  38 60 10 06 */	li r3, 0x1006
/* 800ADE4C 000AAD8C  38 00 01 AD */	li r0, 0x1ad
/* 800ADE50 000AAD90  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADE54 000AAD94  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADE58 000AAD98  48 00 02 E4 */	b lbl_800AE13C
lbl_800ADE5C:
/* 800ADE5C 000AAD9C  38 00 00 10 */	li r0, 0x10
/* 800ADE60 000AADA0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADE64 000AADA4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADE68 000AADA8  38 60 10 06 */	li r3, 0x1006
/* 800ADE6C 000AADAC  38 00 01 CE */	li r0, 0x1ce
/* 800ADE70 000AADB0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADE74 000AADB4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADE78 000AADB8  48 00 02 C4 */	b lbl_800AE13C
lbl_800ADE7C:
/* 800ADE7C 000AADBC  38 00 00 10 */	li r0, 0x10
/* 800ADE80 000AADC0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADE84 000AADC4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADE88 000AADC8  38 60 10 06 */	li r3, 0x1006
/* 800ADE8C 000AADCC  38 00 00 21 */	li r0, 0x21
/* 800ADE90 000AADD0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADE94 000AADD4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADE98 000AADD8  48 00 02 A4 */	b lbl_800AE13C
lbl_800ADE9C:
/* 800ADE9C 000AADDC  38 00 00 10 */	li r0, 0x10
/* 800ADEA0 000AADE0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADEA4 000AADE4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADEA8 000AADE8  38 60 10 06 */	li r3, 0x1006
/* 800ADEAC 000AADEC  38 00 01 53 */	li r0, 0x153
/* 800ADEB0 000AADF0  90 65 80 00 */	stw r3, -0x8000(r5)
/* 800ADEB4 000AADF4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADEB8 000AADF8  48 00 02 84 */	b lbl_800AE13C
lbl_800ADEBC:
/* 800ADEBC 000AADFC  38 00 00 61 */	li r0, 0x61
/* 800ADEC0 000AAE00  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADEC4 000AAE04  3C 60 23 01 */	lis r3, 0x2300AE7F@ha
/* 800ADEC8 000AAE08  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADECC 000AAE0C  38 03 AE 7F */	addi r0, r3, 0x2300AE7F@l
/* 800ADED0 000AAE10  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADED4 000AAE14  48 00 02 68 */	b lbl_800AE13C
lbl_800ADED8:
/* 800ADED8 000AAE18  38 00 00 61 */	li r0, 0x61
/* 800ADEDC 000AAE1C  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADEE0 000AAE20  3C 60 23 01 */	lis r3, 0x23008E7F@ha
/* 800ADEE4 000AAE24  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADEE8 000AAE28  38 03 8E 7F */	addi r0, r3, 0x23008E7F@l
/* 800ADEEC 000AAE2C  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADEF0 000AAE30  48 00 02 4C */	b lbl_800AE13C
lbl_800ADEF4:
/* 800ADEF4 000AAE34  38 00 00 61 */	li r0, 0x61
/* 800ADEF8 000AAE38  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADEFC 000AAE3C  3C 60 23 01 */	lis r3, 0x23009E7F@ha
/* 800ADF00 000AAE40  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADF04 000AAE44  38 03 9E 7F */	addi r0, r3, 0x23009E7F@l
/* 800ADF08 000AAE48  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADF0C 000AAE4C  48 00 02 30 */	b lbl_800AE13C
lbl_800ADF10:
/* 800ADF10 000AAE50  38 00 00 61 */	li r0, 0x61
/* 800ADF14 000AAE54  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADF18 000AAE58  3C 60 23 00 */	lis r3, 0x23001E7F@ha
/* 800ADF1C 000AAE5C  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADF20 000AAE60  38 03 1E 7F */	addi r0, r3, 0x23001E7F@l
/* 800ADF24 000AAE64  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADF28 000AAE68  48 00 02 14 */	b lbl_800AE13C
lbl_800ADF2C:
/* 800ADF2C 000AAE6C  38 00 00 61 */	li r0, 0x61
/* 800ADF30 000AAE70  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADF34 000AAE74  3C 60 23 01 */	lis r3, 0x2300AC3F@ha
/* 800ADF38 000AAE78  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADF3C 000AAE7C  38 03 AC 3F */	addi r0, r3, 0x2300AC3F@l
/* 800ADF40 000AAE80  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADF44 000AAE84  48 00 01 F8 */	b lbl_800AE13C
lbl_800ADF48:
/* 800ADF48 000AAE88  38 00 00 61 */	li r0, 0x61
/* 800ADF4C 000AAE8C  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADF50 000AAE90  3C 60 23 01 */	lis r3, 0x2300AC7F@ha
/* 800ADF54 000AAE94  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADF58 000AAE98  38 03 AC 7F */	addi r0, r3, 0x2300AC7F@l
/* 800ADF5C 000AAE9C  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADF60 000AAEA0  48 00 01 DC */	b lbl_800AE13C
lbl_800ADF64:
/* 800ADF64 000AAEA4  38 00 00 61 */	li r0, 0x61
/* 800ADF68 000AAEA8  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADF6C 000AAEAC  3C 60 23 01 */	lis r3, 0x2300ACBF@ha
/* 800ADF70 000AAEB0  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADF74 000AAEB4  38 03 AC BF */	addi r0, r3, 0x2300ACBF@l
/* 800ADF78 000AAEB8  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADF7C 000AAEBC  48 00 01 C0 */	b lbl_800AE13C
lbl_800ADF80:
/* 800ADF80 000AAEC0  38 00 00 61 */	li r0, 0x61
/* 800ADF84 000AAEC4  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADF88 000AAEC8  3C 60 23 01 */	lis r3, 0x2300ACFF@ha
/* 800ADF8C 000AAECC  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADF90 000AAED0  38 03 AC FF */	addi r0, r3, 0x2300ACFF@l
/* 800ADF94 000AAED4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADF98 000AAED8  48 00 01 A4 */	b lbl_800AE13C
lbl_800ADF9C:
/* 800ADF9C 000AAEDC  38 00 00 61 */	li r0, 0x61
/* 800ADFA0 000AAEE0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADFA4 000AAEE4  3C 60 23 01 */	lis r3, 0x2300AD3F@ha
/* 800ADFA8 000AAEE8  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADFAC 000AAEEC  38 03 AD 3F */	addi r0, r3, 0x2300AD3F@l
/* 800ADFB0 000AAEF0  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADFB4 000AAEF4  48 00 01 88 */	b lbl_800AE13C
lbl_800ADFB8:
/* 800ADFB8 000AAEF8  38 00 00 61 */	li r0, 0x61
/* 800ADFBC 000AAEFC  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADFC0 000AAF00  3C 60 23 01 */	lis r3, 0x2300AD7F@ha
/* 800ADFC4 000AAF04  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADFC8 000AAF08  38 03 AD 7F */	addi r0, r3, 0x2300AD7F@l
/* 800ADFCC 000AAF0C  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADFD0 000AAF10  48 00 01 6C */	b lbl_800AE13C
lbl_800ADFD4:
/* 800ADFD4 000AAF14  38 00 00 61 */	li r0, 0x61
/* 800ADFD8 000AAF18  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADFDC 000AAF1C  3C 60 23 01 */	lis r3, 0x2300ADBF@ha
/* 800ADFE0 000AAF20  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800ADFE4 000AAF24  38 03 AD BF */	addi r0, r3, 0x2300ADBF@l
/* 800ADFE8 000AAF28  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800ADFEC 000AAF2C  48 00 01 50 */	b lbl_800AE13C
lbl_800ADFF0:
/* 800ADFF0 000AAF30  38 00 00 61 */	li r0, 0x61
/* 800ADFF4 000AAF34  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800ADFF8 000AAF38  3C 60 23 01 */	lis r3, 0x2300ADFF@ha
/* 800ADFFC 000AAF3C  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE000 000AAF40  38 03 AD FF */	addi r0, r3, 0x2300ADFF@l
/* 800AE004 000AAF44  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE008 000AAF48  48 00 01 34 */	b lbl_800AE13C
lbl_800AE00C:
/* 800AE00C 000AAF4C  38 00 00 61 */	li r0, 0x61
/* 800AE010 000AAF50  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE014 000AAF54  3C 60 23 01 */	lis r3, 0x2300AE3F@ha
/* 800AE018 000AAF58  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE01C 000AAF5C  38 03 AE 3F */	addi r0, r3, 0x2300AE3F@l
/* 800AE020 000AAF60  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE024 000AAF64  48 00 01 18 */	b lbl_800AE13C
lbl_800AE028:
/* 800AE028 000AAF68  38 00 00 61 */	li r0, 0x61
/* 800AE02C 000AAF6C  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE030 000AAF70  3C 60 23 01 */	lis r3, 0x2300A27F@ha
/* 800AE034 000AAF74  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE038 000AAF78  38 03 A2 7F */	addi r0, r3, 0x2300A27F@l
/* 800AE03C 000AAF7C  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE040 000AAF80  48 00 00 FC */	b lbl_800AE13C
lbl_800AE044:
/* 800AE044 000AAF84  38 00 00 61 */	li r0, 0x61
/* 800AE048 000AAF88  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE04C 000AAF8C  3C 60 23 01 */	lis r3, 0x2300A67F@ha
/* 800AE050 000AAF90  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE054 000AAF94  38 03 A6 7F */	addi r0, r3, 0x2300A67F@l
/* 800AE058 000AAF98  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE05C 000AAF9C  48 00 00 E0 */	b lbl_800AE13C
lbl_800AE060:
/* 800AE060 000AAFA0  38 00 00 61 */	li r0, 0x61
/* 800AE064 000AAFA4  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE068 000AAFA8  3C 60 23 01 */	lis r3, 0x2300AA7F@ha
/* 800AE06C 000AAFAC  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE070 000AAFB0  38 03 AA 7F */	addi r0, r3, 0x2300AA7F@l
/* 800AE074 000AAFB4  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE078 000AAFB8  48 00 00 C4 */	b lbl_800AE13C
lbl_800AE07C:
/* 800AE07C 000AAFBC  38 00 00 61 */	li r0, 0x61
/* 800AE080 000AAFC0  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE084 000AAFC4  3C 60 24 03 */	lis r3, 0x2402C0C6@ha
/* 800AE088 000AAFC8  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE08C 000AAFCC  38 03 C0 C6 */	addi r0, r3, 0x2402C0C6@l
/* 800AE090 000AAFD0  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE094 000AAFD4  48 00 00 A8 */	b lbl_800AE13C
lbl_800AE098:
/* 800AE098 000AAFD8  38 00 00 61 */	li r0, 0x61
/* 800AE09C 000AAFDC  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE0A0 000AAFE0  3C 60 24 03 */	lis r3, 0x2402C16B@ha
/* 800AE0A4 000AAFE4  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE0A8 000AAFE8  38 03 C1 6B */	addi r0, r3, 0x2402C16B@l
/* 800AE0AC 000AAFEC  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE0B0 000AAFF0  48 00 00 8C */	b lbl_800AE13C
lbl_800AE0B4:
/* 800AE0B4 000AAFF4  38 00 00 61 */	li r0, 0x61
/* 800AE0B8 000AAFF8  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE0BC 000AAFFC  3C 60 24 03 */	lis r3, 0x2402C0E7@ha
/* 800AE0C0 000AB000  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE0C4 000AB004  38 03 C0 E7 */	addi r0, r3, 0x2402C0E7@l
/* 800AE0C8 000AB008  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE0CC 000AB00C  48 00 00 70 */	b lbl_800AE13C
lbl_800AE0D0:
/* 800AE0D0 000AB010  38 00 00 61 */	li r0, 0x61
/* 800AE0D4 000AB014  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE0D8 000AB018  3C 60 24 03 */	lis r3, 0x2402C108@ha
/* 800AE0DC 000AB01C  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE0E0 000AB020  38 03 C1 08 */	addi r0, r3, 0x2402C108@l
/* 800AE0E4 000AB024  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE0E8 000AB028  48 00 00 54 */	b lbl_800AE13C
lbl_800AE0EC:
/* 800AE0EC 000AB02C  38 00 00 61 */	li r0, 0x61
/* 800AE0F0 000AB030  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE0F4 000AB034  3C 60 24 03 */	lis r3, 0x2402C129@ha
/* 800AE0F8 000AB038  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE0FC 000AB03C  38 03 C1 29 */	addi r0, r3, 0x2402C129@l
/* 800AE100 000AB040  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE104 000AB044  48 00 00 38 */	b lbl_800AE13C
lbl_800AE108:
/* 800AE108 000AB048  38 00 00 61 */	li r0, 0x61
/* 800AE10C 000AB04C  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE110 000AB050  3C 60 24 03 */	lis r3, 0x2402C14A@ha
/* 800AE114 000AB054  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE118 000AB058  38 03 C1 4A */	addi r0, r3, 0x2402C14A@l
/* 800AE11C 000AB05C  90 05 80 00 */	stw r0, -0x8000(r5)
/* 800AE120 000AB060  48 00 00 1C */	b lbl_800AE13C
lbl_800AE124:
/* 800AE124 000AB064  38 00 00 61 */	li r0, 0x61
/* 800AE128 000AB068  3C A0 CC 01 */	lis r5, 0xCC008000@ha
/* 800AE12C 000AB06C  3C 60 24 03 */	lis r3, 0x2402C1AD@ha
/* 800AE130 000AB070  98 05 80 00 */	stb r0, 0xCC008000@l(r5)
/* 800AE134 000AB074  38 03 C1 AD */	addi r0, r3, 0x2402C1AD@l
/* 800AE138 000AB078  90 05 80 00 */	stw r0, -0x8000(r5)
lbl_800AE13C:
/* 800AE13C 000AB07C  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE140 000AB080  90 83 04 E8 */	stw r4, 0x4e8(r3)
/* 800AE144 000AB084  80 8D 82 C8 */	lwz r4, gx@sda21(r13)
/* 800AE148 000AB088  80 04 04 E8 */	lwz r0, 0x4e8(r4)
/* 800AE14C 000AB08C  28 00 00 16 */	cmplwi r0, 0x16
/* 800AE150 000AB090  41 81 03 30 */	bgt lbl_800AE480
/* 800AE154 000AB094  3C 60 80 3B */	lis r3, "@242"@ha
/* 800AE158 000AB098  38 63 1B 58 */	addi r3, r3, "@242"@l
/* 800AE15C 000AB09C  54 00 10 3A */	slwi r0, r0, 2
/* 800AE160 000AB0A0  7C 03 00 2E */	lwzx r0, r3, r0
/* 800AE164 000AB0A4  7C 09 03 A6 */	mtctr r0
/* 800AE168 000AB0A8  4E 80 04 20 */	bctr 
lbl_800AE16C:
/* 800AE16C 000AB0AC  38 00 00 61 */	li r0, 0x61
/* 800AE170 000AB0B0  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE174 000AB0B4  3C 60 67 00 */	lis r3, 0x67000042@ha
/* 800AE178 000AB0B8  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE17C 000AB0BC  38 03 00 42 */	addi r0, r3, 0x67000042@l
/* 800AE180 000AB0C0  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE184 000AB0C4  48 00 02 FC */	b lbl_800AE480
lbl_800AE188:
/* 800AE188 000AB0C8  38 00 00 61 */	li r0, 0x61
/* 800AE18C 000AB0CC  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE190 000AB0D0  3C 60 67 00 */	lis r3, 0x67000084@ha
/* 800AE194 000AB0D4  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE198 000AB0D8  38 03 00 84 */	addi r0, r3, 0x67000084@l
/* 800AE19C 000AB0DC  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE1A0 000AB0E0  48 00 02 E0 */	b lbl_800AE480
lbl_800AE1A4:
/* 800AE1A4 000AB0E4  38 00 00 61 */	li r0, 0x61
/* 800AE1A8 000AB0E8  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE1AC 000AB0EC  3C 60 67 00 */	lis r3, 0x67000063@ha
/* 800AE1B0 000AB0F0  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE1B4 000AB0F4  38 03 00 63 */	addi r0, r3, 0x67000063@l
/* 800AE1B8 000AB0F8  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE1BC 000AB0FC  48 00 02 C4 */	b lbl_800AE480
lbl_800AE1C0:
/* 800AE1C0 000AB100  38 00 00 61 */	li r0, 0x61
/* 800AE1C4 000AB104  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE1C8 000AB108  3C 60 67 00 */	lis r3, 0x67000129@ha
/* 800AE1CC 000AB10C  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE1D0 000AB110  38 03 01 29 */	addi r0, r3, 0x67000129@l
/* 800AE1D4 000AB114  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE1D8 000AB118  48 00 02 A8 */	b lbl_800AE480
lbl_800AE1DC:
/* 800AE1DC 000AB11C  38 00 00 61 */	li r0, 0x61
/* 800AE1E0 000AB120  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE1E4 000AB124  3C 60 67 00 */	lis r3, 0x67000252@ha
/* 800AE1E8 000AB128  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE1EC 000AB12C  38 03 02 52 */	addi r0, r3, 0x67000252@l
/* 800AE1F0 000AB130  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE1F4 000AB134  48 00 02 8C */	b lbl_800AE480
lbl_800AE1F8:
/* 800AE1F8 000AB138  38 00 00 61 */	li r0, 0x61
/* 800AE1FC 000AB13C  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE200 000AB140  3C 60 67 00 */	lis r3, 0x67000021@ha
/* 800AE204 000AB144  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE208 000AB148  38 03 00 21 */	addi r0, r3, 0x67000021@l
/* 800AE20C 000AB14C  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE210 000AB150  48 00 02 70 */	b lbl_800AE480
lbl_800AE214:
/* 800AE214 000AB154  38 00 00 61 */	li r0, 0x61
/* 800AE218 000AB158  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE21C 000AB15C  3C 60 67 00 */	lis r3, 0x6700014B@ha
/* 800AE220 000AB160  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE224 000AB164  38 03 01 4B */	addi r0, r3, 0x6700014B@l
/* 800AE228 000AB168  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE22C 000AB16C  48 00 02 54 */	b lbl_800AE480
lbl_800AE230:
/* 800AE230 000AB170  38 00 00 61 */	li r0, 0x61
/* 800AE234 000AB174  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE238 000AB178  3C 60 67 00 */	lis r3, 0x6700018D@ha
/* 800AE23C 000AB17C  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE240 000AB180  38 03 01 8D */	addi r0, r3, 0x6700018D@l
/* 800AE244 000AB184  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE248 000AB188  48 00 02 38 */	b lbl_800AE480
lbl_800AE24C:
/* 800AE24C 000AB18C  38 00 00 61 */	li r0, 0x61
/* 800AE250 000AB190  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE254 000AB194  3C 60 67 00 */	lis r3, 0x670001CF@ha
/* 800AE258 000AB198  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE25C 000AB19C  38 03 01 CF */	addi r0, r3, 0x670001CF@l
/* 800AE260 000AB1A0  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE264 000AB1A4  48 00 02 1C */	b lbl_800AE480
lbl_800AE268:
/* 800AE268 000AB1A8  38 00 00 61 */	li r0, 0x61
/* 800AE26C 000AB1AC  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE270 000AB1B0  3C 60 67 00 */	lis r3, 0x67000211@ha
/* 800AE274 000AB1B4  98 04 80 00 */	stb r0, 0xCC008000@l(r4)
/* 800AE278 000AB1B8  38 03 02 11 */	addi r0, r3, 0x67000211@l
/* 800AE27C 000AB1BC  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE280 000AB1C0  48 00 02 00 */	b lbl_800AE480
lbl_800AE284:
/* 800AE284 000AB1C4  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE288 000AB1C8  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE28C 000AB1CC  38 60 00 08 */	li r3, 8
/* 800AE290 000AB1D0  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE294 000AB1D4  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE298 000AB1D8  60 00 00 20 */	ori r0, r0, 0x20
/* 800AE29C 000AB1DC  90 05 00 00 */	stw r0, 0(r5)
/* 800AE2A0 000AB1E0  38 00 00 20 */	li r0, 0x20
/* 800AE2A4 000AB1E4  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE2A8 000AB1E8  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE2AC 000AB1EC  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE2B0 000AB1F0  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE2B4 000AB1F4  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE2B8 000AB1F8  48 00 01 C8 */	b lbl_800AE480
lbl_800AE2BC:
/* 800AE2BC 000AB1FC  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE2C0 000AB200  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE2C4 000AB204  38 60 00 08 */	li r3, 8
/* 800AE2C8 000AB208  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE2CC 000AB20C  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE2D0 000AB210  60 00 00 30 */	ori r0, r0, 0x30
/* 800AE2D4 000AB214  90 05 00 00 */	stw r0, 0(r5)
/* 800AE2D8 000AB218  38 00 00 20 */	li r0, 0x20
/* 800AE2DC 000AB21C  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE2E0 000AB220  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE2E4 000AB224  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE2E8 000AB228  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE2EC 000AB22C  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE2F0 000AB230  48 00 01 90 */	b lbl_800AE480
lbl_800AE2F4:
/* 800AE2F4 000AB234  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE2F8 000AB238  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE2FC 000AB23C  38 60 00 08 */	li r3, 8
/* 800AE300 000AB240  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE304 000AB244  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE308 000AB248  60 00 00 40 */	ori r0, r0, 0x40
/* 800AE30C 000AB24C  90 05 00 00 */	stw r0, 0(r5)
/* 800AE310 000AB250  38 00 00 20 */	li r0, 0x20
/* 800AE314 000AB254  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE318 000AB258  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE31C 000AB25C  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE320 000AB260  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE324 000AB264  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE328 000AB268  48 00 01 58 */	b lbl_800AE480
lbl_800AE32C:
/* 800AE32C 000AB26C  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE330 000AB270  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE334 000AB274  38 60 00 08 */	li r3, 8
/* 800AE338 000AB278  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE33C 000AB27C  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE340 000AB280  60 00 00 50 */	ori r0, r0, 0x50
/* 800AE344 000AB284  90 05 00 00 */	stw r0, 0(r5)
/* 800AE348 000AB288  38 00 00 20 */	li r0, 0x20
/* 800AE34C 000AB28C  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE350 000AB290  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE354 000AB294  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE358 000AB298  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE35C 000AB29C  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE360 000AB2A0  48 00 01 20 */	b lbl_800AE480
lbl_800AE364:
/* 800AE364 000AB2A4  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE368 000AB2A8  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE36C 000AB2AC  38 60 00 08 */	li r3, 8
/* 800AE370 000AB2B0  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE374 000AB2B4  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE378 000AB2B8  60 00 00 60 */	ori r0, r0, 0x60
/* 800AE37C 000AB2BC  90 05 00 00 */	stw r0, 0(r5)
/* 800AE380 000AB2C0  38 00 00 20 */	li r0, 0x20
/* 800AE384 000AB2C4  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE388 000AB2C8  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE38C 000AB2CC  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE390 000AB2D0  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE394 000AB2D4  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE398 000AB2D8  48 00 00 E8 */	b lbl_800AE480
lbl_800AE39C:
/* 800AE39C 000AB2DC  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE3A0 000AB2E0  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE3A4 000AB2E4  38 60 00 08 */	li r3, 8
/* 800AE3A8 000AB2E8  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE3AC 000AB2EC  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE3B0 000AB2F0  60 00 00 70 */	ori r0, r0, 0x70
/* 800AE3B4 000AB2F4  90 05 00 00 */	stw r0, 0(r5)
/* 800AE3B8 000AB2F8  38 00 00 20 */	li r0, 0x20
/* 800AE3BC 000AB2FC  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE3C0 000AB300  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE3C4 000AB304  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE3C8 000AB308  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE3CC 000AB30C  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE3D0 000AB310  48 00 00 B0 */	b lbl_800AE480
lbl_800AE3D4:
/* 800AE3D4 000AB314  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE3D8 000AB318  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE3DC 000AB31C  38 60 00 08 */	li r3, 8
/* 800AE3E0 000AB320  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE3E4 000AB324  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE3E8 000AB328  60 00 00 90 */	ori r0, r0, 0x90
/* 800AE3EC 000AB32C  90 05 00 00 */	stw r0, 0(r5)
/* 800AE3F0 000AB330  38 00 00 20 */	li r0, 0x20
/* 800AE3F4 000AB334  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE3F8 000AB338  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE3FC 000AB33C  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE400 000AB340  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE404 000AB344  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE408 000AB348  48 00 00 78 */	b lbl_800AE480
lbl_800AE40C:
/* 800AE40C 000AB34C  38 A4 04 EC */	addi r5, r4, 0x4ec
/* 800AE410 000AB350  80 04 04 EC */	lwz r0, 0x4ec(r4)
/* 800AE414 000AB354  38 60 00 08 */	li r3, 8
/* 800AE418 000AB358  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 800AE41C 000AB35C  54 00 07 2E */	rlwinm r0, r0, 0, 0x1c, 0x17
/* 800AE420 000AB360  60 00 00 80 */	ori r0, r0, 0x80
/* 800AE424 000AB364  90 05 00 00 */	stw r0, 0(r5)
/* 800AE428 000AB368  38 00 00 20 */	li r0, 0x20
/* 800AE42C 000AB36C  98 64 80 00 */	stb r3, 0xCC008000@l(r4)
/* 800AE430 000AB370  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE434 000AB374  98 04 80 00 */	stb r0, -0x8000(r4)
/* 800AE438 000AB378  80 03 04 EC */	lwz r0, 0x4ec(r3)
/* 800AE43C 000AB37C  90 04 80 00 */	stw r0, -0x8000(r4)
/* 800AE440 000AB380  48 00 00 40 */	b lbl_800AE480
lbl_800AE444:
/* 800AE444 000AB384  80 6D 95 5C */	lwz r3, __cpReg@sda21(r13)
/* 800AE448 000AB388  38 00 00 02 */	li r0, 2
/* 800AE44C 000AB38C  B0 03 00 06 */	sth r0, 6(r3)
/* 800AE450 000AB390  48 00 00 30 */	b lbl_800AE480
lbl_800AE454:
/* 800AE454 000AB394  80 6D 95 5C */	lwz r3, __cpReg@sda21(r13)
/* 800AE458 000AB398  38 00 00 03 */	li r0, 3
/* 800AE45C 000AB39C  B0 03 00 06 */	sth r0, 6(r3)
/* 800AE460 000AB3A0  48 00 00 20 */	b lbl_800AE480
lbl_800AE464:
/* 800AE464 000AB3A4  80 6D 95 5C */	lwz r3, __cpReg@sda21(r13)
/* 800AE468 000AB3A8  38 00 00 04 */	li r0, 4
/* 800AE46C 000AB3AC  B0 03 00 06 */	sth r0, 6(r3)
/* 800AE470 000AB3B0  48 00 00 10 */	b lbl_800AE480
lbl_800AE474:
/* 800AE474 000AB3B4  80 6D 95 5C */	lwz r3, __cpReg@sda21(r13)
/* 800AE478 000AB3B8  38 00 00 05 */	li r0, 5
/* 800AE47C 000AB3BC  B0 03 00 06 */	sth r0, 6(r3)
lbl_800AE480:
/* 800AE480 000AB3C0  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE484 000AB3C4  38 00 00 00 */	li r0, 0
/* 800AE488 000AB3C8  B0 03 00 02 */	sth r0, 2(r3)
/* 800AE48C 000AB3CC  4E 80 00 20 */	blr 

.global GXClearGPMetric
GXClearGPMetric:
/* 800AE490 000AB3D0  80 6D 95 5C */	lwz r3, __cpReg@sda21(r13)
/* 800AE494 000AB3D4  38 00 00 04 */	li r0, 4
/* 800AE498 000AB3D8  B0 03 00 04 */	sth r0, 4(r3)
/* 800AE49C 000AB3DC  4E 80 00 20 */	blr 

.global GXReadPixMetric
GXReadPixMetric:
/* 800AE4A0 000AB3E0  81 2D 95 60 */	lwz r9, __peReg@sda21(r13)
/* 800AE4A4 000AB3E4  A1 49 00 1A */	lhz r10, 0x1a(r9)
/* 800AE4A8 000AB3E8  A0 09 00 18 */	lhz r0, 0x18(r9)
/* 800AE4AC 000AB3EC  51 40 80 1E */	rlwimi r0, r10, 0x10, 0, 0xf
/* 800AE4B0 000AB3F0  54 00 10 3A */	slwi r0, r0, 2
/* 800AE4B4 000AB3F4  90 03 00 00 */	stw r0, 0(r3)
/* 800AE4B8 000AB3F8  80 6D 95 60 */	lwz r3, __peReg@sda21(r13)
/* 800AE4BC 000AB3FC  A1 23 00 1E */	lhz r9, 0x1e(r3)
/* 800AE4C0 000AB400  A0 03 00 1C */	lhz r0, 0x1c(r3)
/* 800AE4C4 000AB404  51 20 80 1E */	rlwimi r0, r9, 0x10, 0, 0xf
/* 800AE4C8 000AB408  54 00 10 3A */	slwi r0, r0, 2
/* 800AE4CC 000AB40C  90 04 00 00 */	stw r0, 0(r4)
/* 800AE4D0 000AB410  80 6D 95 60 */	lwz r3, __peReg@sda21(r13)
/* 800AE4D4 000AB414  A0 83 00 22 */	lhz r4, 0x22(r3)
/* 800AE4D8 000AB418  A0 03 00 20 */	lhz r0, 0x20(r3)
/* 800AE4DC 000AB41C  50 80 80 1E */	rlwimi r0, r4, 0x10, 0, 0xf
/* 800AE4E0 000AB420  54 00 10 3A */	slwi r0, r0, 2
/* 800AE4E4 000AB424  90 05 00 00 */	stw r0, 0(r5)
/* 800AE4E8 000AB428  80 6D 95 60 */	lwz r3, __peReg@sda21(r13)
/* 800AE4EC 000AB42C  A0 83 00 26 */	lhz r4, 0x26(r3)
/* 800AE4F0 000AB430  A0 03 00 24 */	lhz r0, 0x24(r3)
/* 800AE4F4 000AB434  50 80 80 1E */	rlwimi r0, r4, 0x10, 0, 0xf
/* 800AE4F8 000AB438  54 00 10 3A */	slwi r0, r0, 2
/* 800AE4FC 000AB43C  90 06 00 00 */	stw r0, 0(r6)
/* 800AE500 000AB440  80 6D 95 60 */	lwz r3, __peReg@sda21(r13)
/* 800AE504 000AB444  A0 03 00 2A */	lhz r0, 0x2a(r3)
/* 800AE508 000AB448  A0 63 00 28 */	lhz r3, 0x28(r3)
/* 800AE50C 000AB44C  50 03 80 1E */	rlwimi r3, r0, 0x10, 0, 0xf
/* 800AE510 000AB450  54 60 10 3A */	slwi r0, r3, 2
/* 800AE514 000AB454  90 07 00 00 */	stw r0, 0(r7)
/* 800AE518 000AB458  80 8D 95 60 */	lwz r4, __peReg@sda21(r13)
/* 800AE51C 000AB45C  A0 64 00 2E */	lhz r3, 0x2e(r4)
/* 800AE520 000AB460  A0 04 00 2C */	lhz r0, 0x2c(r4)
/* 800AE524 000AB464  50 60 80 1E */	rlwimi r0, r3, 0x10, 0, 0xf
/* 800AE528 000AB468  90 08 00 00 */	stw r0, 0(r8)
/* 800AE52C 000AB46C  4E 80 00 20 */	blr 

.global GXClearPixMetric
GXClearPixMetric:
/* 800AE530 000AB470  38 E0 00 61 */	li r7, 0x61
/* 800AE534 000AB474  80 6D 82 C8 */	lwz r3, gx@sda21(r13)
/* 800AE538 000AB478  3C C0 CC 01 */	lis r6, 0xCC008000@ha
/* 800AE53C 000AB47C  3C A0 57 00 */	lis r5, 0x57000AAA@ha
/* 800AE540 000AB480  98 E6 80 00 */	stb r7, 0xCC008000@l(r6)
/* 800AE544 000AB484  38 85 0A AA */	addi r4, r5, 0x57000AAA@l
/* 800AE548 000AB488  90 A6 80 00 */	stw r5, -0x8000(r6)
/* 800AE54C 000AB48C  38 00 00 00 */	li r0, 0
/* 800AE550 000AB490  98 E6 80 00 */	stb r7, -0x8000(r6)
/* 800AE554 000AB494  90 86 80 00 */	stw r4, -0x8000(r6)
/* 800AE558 000AB498  B0 03 00 02 */	sth r0, 2(r3)
/* 800AE55C 000AB49C  4E 80 00 20 */	blr 

.section .data, "wa"  # 0x803A8380 - 0x803E6000
"@242":
    .4byte lbl_800AE16C
    .4byte lbl_800AE188
    .4byte lbl_800AE1A4
    .4byte lbl_800AE1C0
    .4byte lbl_800AE214
    .4byte lbl_800AE230
    .4byte lbl_800AE24C
    .4byte lbl_800AE268
    .4byte lbl_800AE1DC
    .4byte lbl_800AE284
    .4byte lbl_800AE2BC
    .4byte lbl_800AE2F4
    .4byte lbl_800AE32C
    .4byte lbl_800AE364
    .4byte lbl_800AE39C
    .4byte lbl_800AE3D4
    .4byte lbl_800AE40C
    .4byte lbl_800AE444
    .4byte lbl_800AE454
    .4byte lbl_800AE464
    .4byte lbl_800AE474
    .4byte lbl_800AE1F8
    .4byte lbl_800AE480
"@241":
    .4byte lbl_800ADD3C
    .4byte lbl_800ADD5C
    .4byte lbl_800ADD7C
    .4byte lbl_800ADD9C
    .4byte lbl_800ADDBC
    .4byte lbl_800ADDDC
    .4byte lbl_800ADDFC
    .4byte lbl_800ADE1C
    .4byte lbl_800ADE3C
    .4byte lbl_800ADE5C
    .4byte lbl_800ADE9C
    .4byte lbl_800ADEBC
    .4byte lbl_800ADED8
    .4byte lbl_800ADEF4
    .4byte lbl_800ADF10
    .4byte lbl_800ADF2C
    .4byte lbl_800ADF48
    .4byte lbl_800ADF64
    .4byte lbl_800ADF80
    .4byte lbl_800ADF9C
    .4byte lbl_800ADFB8
    .4byte lbl_800ADFD4
    .4byte lbl_800ADFF0
    .4byte lbl_800AE00C
    .4byte lbl_800AE028
    .4byte lbl_800AE044
    .4byte lbl_800AE060
    .4byte lbl_800AE07C
    .4byte lbl_800AE098
    .4byte lbl_800AE0B4
    .4byte lbl_800AE0D0
    .4byte lbl_800AE0EC
    .4byte lbl_800AE108
    .4byte lbl_800AE124
    .4byte lbl_800ADE7C
    .4byte lbl_800AE13C