summaryrefslogtreecommitdiff
path: root/asm/code_80157854.s
blob: c47aa16fb8a86140223280c37a555aad8f1a96b8 (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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_80157854
func_80157854:
/* 80157854 001534B4  4E 80 00 20 */	blr

.global func_80157858
func_80157858:
/* 80157858 001534B8  3C 80 80 42 */	lis r4, lbl_8041E8E4@ha
/* 8015785C 001534BC  38 00 00 00 */	li r0, 0
/* 80157860 001534C0  38 84 E8 E4 */	addi r4, r4, lbl_8041E8E4@l
/* 80157864 001534C4  90 03 00 04 */	stw r0, 4(r3)
/* 80157868 001534C8  90 83 00 00 */	stw r4, 0(r3)
/* 8015786C 001534CC  90 03 00 08 */	stw r0, 8(r3)
/* 80157870 001534D0  90 03 00 0C */	stw r0, 0xc(r3)
/* 80157874 001534D4  90 03 00 10 */	stw r0, 0x10(r3)
/* 80157878 001534D8  90 03 00 14 */	stw r0, 0x14(r3)
/* 8015787C 001534DC  90 03 00 18 */	stw r0, 0x18(r3)
/* 80157880 001534E0  98 03 00 1C */	stb r0, 0x1c(r3)
/* 80157884 001534E4  98 03 00 1D */	stb r0, 0x1d(r3)
/* 80157888 001534E8  4E 80 00 20 */	blr
lbl_8015788C:
/* 8015788C 001534EC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80157890 001534F0  7C 08 02 A6 */	mflr r0
/* 80157894 001534F4  2C 03 00 00 */	cmpwi r3, 0
/* 80157898 001534F8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8015789C 001534FC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801578A0 00153500  7C 7F 1B 78 */	mr r31, r3
/* 801578A4 00153504  41 82 00 10 */	beq lbl_801578B4
/* 801578A8 00153508  2C 04 00 00 */	cmpwi r4, 0
/* 801578AC 0015350C  40 81 00 08 */	ble lbl_801578B4
/* 801578B0 00153510  48 08 32 09 */	bl __dl__FPv
lbl_801578B4:
/* 801578B4 00153514  7F E3 FB 78 */	mr r3, r31
/* 801578B8 00153518  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801578BC 0015351C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801578C0 00153520  7C 08 03 A6 */	mtlr r0
/* 801578C4 00153524  38 21 00 10 */	addi r1, r1, 0x10
/* 801578C8 00153528  4E 80 00 20 */	blr
/* 801578CC 0015352C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801578D0 00153530  7C 08 02 A6 */	mflr r0
/* 801578D4 00153534  90 01 00 14 */	stw r0, 0x14(r1)
/* 801578D8 00153538  38 00 00 00 */	li r0, 0
/* 801578DC 0015353C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801578E0 00153540  7C 7F 1B 78 */	mr r31, r3
/* 801578E4 00153544  90 03 00 04 */	stw r0, 4(r3)
/* 801578E8 00153548  4B EB 1F 09 */	bl func_800097F0
/* 801578EC 0015354C  38 00 00 01 */	li r0, 1
/* 801578F0 00153550  98 1F 00 1D */	stb r0, 0x1d(r31)
/* 801578F4 00153554  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801578F8 00153558  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801578FC 0015355C  7C 08 03 A6 */	mtlr r0
/* 80157900 00153560  38 21 00 10 */	addi r1, r1, 0x10
/* 80157904 00153564  4E 80 00 20 */	blr

.global func_80157908
func_80157908:
/* 80157908 00153568  80 A3 00 08 */	lwz r5, 8(r3)
/* 8015790C 0015356C  39 00 00 00 */	li r8, 0
/* 80157910 00153570  80 A5 00 00 */	lwz r5, 0(r5)
/* 80157914 00153574  A1 25 00 18 */	lhz r9, 0x18(r5)
/* 80157918 00153578  48 00 00 70 */	b lbl_80157988
lbl_8015791C:
/* 8015791C 0015357C  80 A3 00 08 */	lwz r5, 8(r3)
/* 80157920 00153580  80 E5 00 04 */	lwz r7, 4(r5)
/* 80157924 00153584  2C 07 00 00 */	cmpwi r7, 0
/* 80157928 00153588  40 82 00 0C */	bne lbl_80157934
/* 8015792C 0015358C  38 A0 00 00 */	li r5, 0
/* 80157930 00153590  48 00 00 28 */	b lbl_80157958
lbl_80157934:
/* 80157934 00153594  80 A5 00 00 */	lwz r5, 0(r5)
/* 80157938 00153598  55 06 04 3E */	clrlwi r6, r8, 0x10
/* 8015793C 0015359C  A0 05 00 18 */	lhz r0, 0x18(r5)
/* 80157940 001535A0  7C 06 00 40 */	cmplw r6, r0
/* 80157944 001535A4  41 80 00 0C */	blt lbl_80157950
/* 80157948 001535A8  38 A0 00 00 */	li r5, 0
/* 8015794C 001535AC  48 00 00 0C */	b lbl_80157958
lbl_80157950:
/* 80157950 001535B0  55 00 13 BA */	rlwinm r0, r8, 2, 0xe, 0x1d
/* 80157954 001535B4  7C A7 00 2E */	lwzx r5, r7, r0
lbl_80157958:
/* 80157958 001535B8  2C 05 00 00 */	cmpwi r5, 0
/* 8015795C 001535BC  41 82 00 28 */	beq lbl_80157984
/* 80157960 001535C0  2C 04 00 00 */	cmpwi r4, 0
/* 80157964 001535C4  41 82 00 14 */	beq lbl_80157978
/* 80157968 001535C8  A0 05 00 DC */	lhz r0, 0xdc(r5)
/* 8015796C 001535CC  60 00 00 01 */	ori r0, r0, 1
/* 80157970 001535D0  B0 05 00 DC */	sth r0, 0xdc(r5)
/* 80157974 001535D4  48 00 00 10 */	b lbl_80157984
lbl_80157978:
/* 80157978 001535D8  A0 05 00 DC */	lhz r0, 0xdc(r5)
/* 8015797C 001535DC  54 00 04 3C */	rlwinm r0, r0, 0, 0x10, 0x1e
/* 80157980 001535E0  B0 05 00 DC */	sth r0, 0xdc(r5)
lbl_80157984:
/* 80157984 001535E4  39 08 00 01 */	addi r8, r8, 1
lbl_80157988:
/* 80157988 001535E8  55 00 04 3E */	clrlwi r0, r8, 0x10
/* 8015798C 001535EC  7C 00 48 40 */	cmplw r0, r9
/* 80157990 001535F0  41 80 FF 8C */	blt lbl_8015791C
/* 80157994 001535F4  4E 80 00 20 */	blr
/* 80157998 001535F8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8015799C 001535FC  7C 08 02 A6 */	mflr r0
/* 801579A0 00153600  90 01 00 24 */	stw r0, 0x24(r1)
/* 801579A4 00153604  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801579A8 00153608  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801579AC 0015360C  7C 7E 1B 78 */	mr r30, r3
/* 801579B0 00153610  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801579B4 00153614  3B A0 00 00 */	li r29, 0
/* 801579B8 00153618  93 81 00 10 */	stw r28, 0x10(r1)
/* 801579BC 0015361C  93 A3 00 04 */	stw r29, 4(r3)
/* 801579C0 00153620  38 60 00 02 */	li r3, 2
/* 801579C4 00153624  48 0E 36 95 */	bl func_8023B058
/* 801579C8 00153628  2C 03 00 00 */	cmpwi r3, 0
/* 801579CC 0015362C  7C 7F 1B 78 */	mr r31, r3
/* 801579D0 00153630  41 82 02 50 */	beq lbl_80157C20
/* 801579D4 00153634  38 60 04 07 */	li r3, 0x407
/* 801579D8 00153638  48 0F 1C 05 */	bl func_802495DC
/* 801579DC 0015363C  2C 03 00 00 */	cmpwi r3, 0
/* 801579E0 00153640  41 82 02 40 */	beq lbl_80157C20
/* 801579E4 00153644  3C 80 0B 51 */	lis r4, 0x0B510400@ha
/* 801579E8 00153648  38 60 04 07 */	li r3, 0x407
/* 801579EC 0015364C  38 84 04 00 */	addi r4, r4, 0x0B510400@l
/* 801579F0 00153650  48 08 3A CD */	bl func_801DB4BC
/* 801579F4 00153654  2C 03 00 00 */	cmpwi r3, 0
/* 801579F8 00153658  7C 7C 1B 78 */	mr r28, r3
/* 801579FC 0015365C  41 82 02 24 */	beq lbl_80157C20
/* 80157A00 00153660  48 08 31 29 */	bl func_801DAB28
/* 80157A04 00153664  2C 03 00 00 */	cmpwi r3, 0
/* 80157A08 00153668  41 82 00 14 */	beq lbl_80157A1C
/* 80157A0C 0015366C  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80157A10 00153670  38 80 00 14 */	li r4, 0x14
/* 80157A14 00153674  48 08 32 81 */	bl func_801DAC94
/* 80157A18 00153678  48 00 00 08 */	b lbl_80157A20
lbl_80157A1C:
/* 80157A1C 0015367C  7F A3 EB 78 */	mr r3, r29
lbl_80157A20:
/* 80157A20 00153680  2C 03 00 00 */	cmpwi r3, 0
/* 80157A24 00153684  41 82 00 0C */	beq lbl_80157A30
/* 80157A28 00153688  7F 84 E3 78 */	mr r4, r28
/* 80157A2C 0015368C  48 0A 26 69 */	bl func_801FA094
lbl_80157A30:
/* 80157A30 00153690  2C 03 00 00 */	cmpwi r3, 0
/* 80157A34 00153694  90 7E 00 08 */	stw r3, 8(r30)
/* 80157A38 00153698  41 82 01 E8 */	beq lbl_80157C20
/* 80157A3C 0015369C  7F C3 F3 78 */	mr r3, r30
/* 80157A40 001536A0  38 80 00 00 */	li r4, 0
/* 80157A44 001536A4  4B FF FE C5 */	bl func_80157908
/* 80157A48 001536A8  80 7E 00 08 */	lwz r3, 8(r30)
/* 80157A4C 001536AC  48 0A AF 85 */	bl func_802029D0
/* 80157A50 001536B0  3C 80 27 31 */	lis r4, 0x27310400@ha
/* 80157A54 001536B4  38 60 04 07 */	li r3, 0x407
/* 80157A58 001536B8  38 84 04 00 */	addi r4, r4, 0x27310400@l
/* 80157A5C 001536BC  48 08 3A 61 */	bl func_801DB4BC
/* 80157A60 001536C0  2C 03 00 00 */	cmpwi r3, 0
/* 80157A64 001536C4  7C 7D 1B 78 */	mr r29, r3
/* 80157A68 001536C8  41 82 01 B8 */	beq lbl_80157C20
/* 80157A6C 001536CC  48 08 30 BD */	bl func_801DAB28
/* 80157A70 001536D0  2C 03 00 00 */	cmpwi r3, 0
/* 80157A74 001536D4  41 82 00 14 */	beq lbl_80157A88
/* 80157A78 001536D8  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80157A7C 001536DC  38 80 00 14 */	li r4, 0x14
/* 80157A80 001536E0  48 08 32 15 */	bl func_801DAC94
/* 80157A84 001536E4  48 00 00 08 */	b lbl_80157A8C
lbl_80157A88:
/* 80157A88 001536E8  38 60 00 00 */	li r3, 0
lbl_80157A8C:
/* 80157A8C 001536EC  2C 03 00 00 */	cmpwi r3, 0
/* 80157A90 001536F0  41 82 00 0C */	beq lbl_80157A9C
/* 80157A94 001536F4  7F A4 EB 78 */	mr r4, r29
/* 80157A98 001536F8  48 0A 25 FD */	bl func_801FA094
lbl_80157A9C:
/* 80157A9C 001536FC  2C 03 00 00 */	cmpwi r3, 0
/* 80157AA0 00153700  90 7E 00 0C */	stw r3, 0xc(r30)
/* 80157AA4 00153704  41 82 01 7C */	beq lbl_80157C20
/* 80157AA8 00153708  80 83 00 00 */	lwz r4, 0(r3)
/* 80157AAC 0015370C  A0 04 00 18 */	lhz r0, 0x18(r4)
/* 80157AB0 00153710  2C 80 00 00 */	cmpwi cr1, r0, 0
/* 80157AB4 00153714  41 86 01 6C */	beq cr1, lbl_80157C20
/* 80157AB8 00153718  80 63 00 04 */	lwz r3, 4(r3)
/* 80157ABC 0015371C  2C 03 00 00 */	cmpwi r3, 0
/* 80157AC0 00153720  40 82 00 0C */	bne lbl_80157ACC
/* 80157AC4 00153724  38 60 00 00 */	li r3, 0
/* 80157AC8 00153728  48 00 00 14 */	b lbl_80157ADC
lbl_80157ACC:
/* 80157ACC 0015372C  40 86 00 0C */	bne cr1, lbl_80157AD8
/* 80157AD0 00153730  38 60 00 00 */	li r3, 0
/* 80157AD4 00153734  48 00 00 08 */	b lbl_80157ADC
lbl_80157AD8:
/* 80157AD8 00153738  80 63 00 00 */	lwz r3, 0(r3)
lbl_80157ADC:
/* 80157ADC 0015373C  2C 03 00 00 */	cmpwi r3, 0
/* 80157AE0 00153740  90 7E 00 10 */	stw r3, 0x10(r30)
/* 80157AE4 00153744  41 82 01 3C */	beq lbl_80157C20
/* 80157AE8 00153748  A0 03 00 DC */	lhz r0, 0xdc(r3)
/* 80157AEC 0015374C  54 00 04 3C */	rlwinm r0, r0, 0, 0x10, 0x1e
/* 80157AF0 00153750  B0 03 00 DC */	sth r0, 0xdc(r3)
/* 80157AF4 00153754  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 80157AF8 00153758  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80157AFC 0015375C  2C 04 00 00 */	cmpwi r4, 0
/* 80157B00 00153760  40 82 00 0C */	bne lbl_80157B0C
/* 80157B04 00153764  38 00 00 00 */	li r0, 0
/* 80157B08 00153768  48 00 00 4C */	b lbl_80157B54
lbl_80157B0C:
/* 80157B0C 0015376C  A0 03 00 E0 */	lhz r0, 0xe0(r3)
/* 80157B10 00153770  2C 00 00 00 */	cmpwi r0, 0
/* 80157B14 00153774  40 82 00 0C */	bne lbl_80157B20
/* 80157B18 00153778  38 00 00 00 */	li r0, 0
/* 80157B1C 0015377C  48 00 00 38 */	b lbl_80157B54
lbl_80157B20:
/* 80157B20 00153780  80 A3 00 08 */	lwz r5, 8(r3)
/* 80157B24 00153784  A0 84 00 00 */	lhz r4, 0(r4)
/* 80157B28 00153788  2C 05 00 00 */	cmpwi r5, 0
/* 80157B2C 0015378C  40 82 00 0C */	bne lbl_80157B38
/* 80157B30 00153790  38 00 00 00 */	li r0, 0
/* 80157B34 00153794  48 00 00 20 */	b lbl_80157B54
lbl_80157B38:
/* 80157B38 00153798  A0 03 00 DE */	lhz r0, 0xde(r3)
/* 80157B3C 0015379C  7C 04 00 40 */	cmplw r4, r0
/* 80157B40 001537A0  41 80 00 0C */	blt lbl_80157B4C
/* 80157B44 001537A4  38 00 00 00 */	li r0, 0
/* 80157B48 001537A8  48 00 00 0C */	b lbl_80157B54
lbl_80157B4C:
/* 80157B4C 001537AC  54 80 13 BA */	rlwinm r0, r4, 2, 0xe, 0x1d
/* 80157B50 001537B0  7C 05 00 2E */	lwzx r0, r5, r0
lbl_80157B54:
/* 80157B54 001537B4  2C 00 00 00 */	cmpwi r0, 0
/* 80157B58 001537B8  90 1E 00 14 */	stw r0, 0x14(r30)
/* 80157B5C 001537BC  41 82 00 C4 */	beq lbl_80157C20
/* 80157B60 001537C0  3B A0 00 00 */	li r29, 0
/* 80157B64 001537C4  3C 60 27 32 */	lis r3, 0x27320A00@ha
/* 80157B68 001537C8  93 BF 00 20 */	stw r29, 0x20(r31)
/* 80157B6C 001537CC  38 83 0A 00 */	addi r4, r3, 0x27320A00@l
/* 80157B70 001537D0  38 60 04 07 */	li r3, 0x407
/* 80157B74 001537D4  90 1F 00 0C */	stw r0, 0xc(r31)
/* 80157B78 001537D8  48 08 39 45 */	bl func_801DB4BC
/* 80157B7C 001537DC  2C 03 00 00 */	cmpwi r3, 0
/* 80157B80 001537E0  7C 7C 1B 78 */	mr r28, r3
/* 80157B84 001537E4  41 82 00 9C */	beq lbl_80157C20
/* 80157B88 001537E8  48 08 2F A1 */	bl func_801DAB28
/* 80157B8C 001537EC  2C 03 00 00 */	cmpwi r3, 0
/* 80157B90 001537F0  41 82 00 14 */	beq lbl_80157BA4
/* 80157B94 001537F4  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80157B98 001537F8  38 80 01 40 */	li r4, 0x140
/* 80157B9C 001537FC  48 08 30 F9 */	bl func_801DAC94
/* 80157BA0 00153800  48 00 00 08 */	b lbl_80157BA8
lbl_80157BA4:
/* 80157BA4 00153804  7F A3 EB 78 */	mr r3, r29
lbl_80157BA8:
/* 80157BA8 00153808  2C 03 00 00 */	cmpwi r3, 0
/* 80157BAC 0015380C  7C 64 1B 78 */	mr r4, r3
/* 80157BB0 00153810  41 82 00 10 */	beq lbl_80157BC0
/* 80157BB4 00153814  7F 84 E3 78 */	mr r4, r28
/* 80157BB8 00153818  48 0A 1D 35 */	bl func_801F98EC
/* 80157BBC 0015381C  7C 64 1B 78 */	mr r4, r3
lbl_80157BC0:
/* 80157BC0 00153820  2C 04 00 00 */	cmpwi r4, 0
/* 80157BC4 00153824  90 9E 00 18 */	stw r4, 0x18(r30)
/* 80157BC8 00153828  41 82 00 58 */	beq lbl_80157C20
/* 80157BCC 0015382C  A0 04 00 10 */	lhz r0, 0x10(r4)
/* 80157BD0 00153830  38 60 00 0D */	li r3, 0xd
/* 80157BD4 00153834  C0 02 8F 40 */	lfs f0, lbl_80641540-_SDA2_BASE_(r2)
/* 80157BD8 00153838  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80157BDC 0015383C  B0 04 00 10 */	sth r0, 0x10(r4)
/* 80157BE0 00153840  80 9E 00 18 */	lwz r4, 0x18(r30)
/* 80157BE4 00153844  80 04 01 04 */	lwz r0, 0x104(r4)
/* 80157BE8 00153848  60 00 00 04 */	ori r0, r0, 4
/* 80157BEC 0015384C  90 04 01 04 */	stw r0, 0x104(r4)
/* 80157BF0 00153850  D0 04 01 10 */	stfs f0, 0x110(r4)
/* 80157BF4 00153854  4B EB 36 DD */	bl func_8000B2D0
/* 80157BF8 00153858  38 00 00 01 */	li r0, 1
/* 80157BFC 0015385C  38 60 02 7C */	li r3, 0x27c
/* 80157C00 00153860  90 1E 00 04 */	stw r0, 4(r30)
/* 80157C04 00153864  48 00 AE 8D */	bl func_80162A90
/* 80157C08 00153868  28 03 00 03 */	cmplwi r3, 3
/* 80157C0C 0015386C  40 82 00 1C */	bne lbl_80157C28
/* 80157C10 00153870  4B EB 1B C9 */	bl func_800097D8
/* 80157C14 00153874  38 00 00 00 */	li r0, 0
/* 80157C18 00153878  98 1E 00 1D */	stb r0, 0x1d(r30)
/* 80157C1C 0015387C  48 00 00 0C */	b lbl_80157C28
lbl_80157C20:
/* 80157C20 00153880  38 00 00 07 */	li r0, 7
/* 80157C24 00153884  90 1E 00 04 */	stw r0, 4(r30)
lbl_80157C28:
/* 80157C28 00153888  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80157C2C 0015388C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80157C30 00153890  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80157C34 00153894  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80157C38 00153898  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80157C3C 0015389C  7C 08 03 A6 */	mtlr r0
/* 80157C40 001538A0  38 21 00 20 */	addi r1, r1, 0x20
/* 80157C44 001538A4  4E 80 00 20 */	blr
/* 80157C48 001538A8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80157C4C 001538AC  7C 08 02 A6 */	mflr r0
/* 80157C50 001538B0  38 80 00 00 */	li r4, 0
/* 80157C54 001538B4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80157C58 001538B8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80157C5C 001538BC  7C 7F 1B 78 */	mr r31, r3
/* 80157C60 001538C0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80157C64 001538C4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80157C68 001538C8  93 81 00 10 */	stw r28, 0x10(r1)
/* 80157C6C 001538CC  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 80157C70 001538D0  88 05 00 82 */	lbz r0, 0x82(r5)
/* 80157C74 001538D4  2C 00 00 00 */	cmpwi r0, 0
/* 80157C78 001538D8  40 82 00 10 */	bne lbl_80157C88
/* 80157C7C 001538DC  88 05 00 83 */	lbz r0, 0x83(r5)
/* 80157C80 001538E0  2C 00 00 00 */	cmpwi r0, 0
/* 80157C84 001538E4  41 82 00 08 */	beq lbl_80157C8C
lbl_80157C88:
/* 80157C88 001538E8  38 80 00 01 */	li r4, 1
lbl_80157C8C:
/* 80157C8C 001538EC  2C 04 00 00 */	cmpwi r4, 0
/* 80157C90 001538F0  40 82 03 58 */	bne lbl_80157FE8
/* 80157C94 001538F4  83 A3 00 04 */	lwz r29, 4(r3)
/* 80157C98 001538F8  38 60 02 7C */	li r3, 0x27c
/* 80157C9C 001538FC  48 00 AD F5 */	bl func_80162A90
/* 80157CA0 00153900  28 03 00 03 */	cmplwi r3, 3
/* 80157CA4 00153904  40 82 00 98 */	bne lbl_80157D3C
/* 80157CA8 00153908  80 1F 00 04 */	lwz r0, 4(r31)
/* 80157CAC 0015390C  2C 00 00 08 */	cmpwi r0, 8
/* 80157CB0 00153910  41 82 00 8C */	beq lbl_80157D3C
/* 80157CB4 00153914  2C 00 00 00 */	cmpwi r0, 0
/* 80157CB8 00153918  41 82 00 84 */	beq lbl_80157D3C
/* 80157CBC 0015391C  48 0E CB 11 */	bl func_802447CC
/* 80157CC0 00153920  7C 7E 1B 78 */	mr r30, r3
/* 80157CC4 00153924  3B 80 00 00 */	li r28, 0
/* 80157CC8 00153928  48 00 00 68 */	b lbl_80157D30
lbl_80157CCC:
/* 80157CCC 0015392C  57 84 06 3E */	clrlwi r4, r28, 0x18
/* 80157CD0 00153930  3C 60 04 00 */	lis r3, 0x400
/* 80157CD4 00153934  7C 85 23 78 */	mr r5, r4
/* 80157CD8 00153938  38 C0 00 01 */	li r6, 1
/* 80157CDC 0015393C  4B F0 1D 91 */	bl func_80059A6C
/* 80157CE0 00153940  2C 03 00 00 */	cmpwi r3, 0
/* 80157CE4 00153944  41 82 00 48 */	beq lbl_80157D2C
/* 80157CE8 00153948  38 00 00 07 */	li r0, 7
/* 80157CEC 0015394C  38 60 00 0D */	li r3, 0xd
/* 80157CF0 00153950  90 1F 00 04 */	stw r0, 4(r31)
/* 80157CF4 00153954  4B EB 37 CD */	bl func_8000B4C0
/* 80157CF8 00153958  2C 03 00 00 */	cmpwi r3, 0
/* 80157CFC 0015395C  41 82 00 40 */	beq lbl_80157D3C
/* 80157D00 00153960  C0 42 8F 48 */	lfs f2, lbl_80641548-_SDA2_BASE_(r2)
/* 80157D04 00153964  38 60 00 0D */	li r3, 0xd
/* 80157D08 00153968  C0 2D 86 C8 */	lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80157D0C 0015396C  C0 02 8F 44 */	lfs f0, lbl_80641544-_SDA2_BASE_(r2)
/* 80157D10 00153970  EC 22 00 72 */	fmuls f1, f2, f1
/* 80157D14 00153974  EC 00 08 2A */	fadds f0, f0, f1
/* 80157D18 00153978  FC 00 00 1E */	fctiwz f0, f0
/* 80157D1C 0015397C  D8 01 00 08 */	stfd f0, 8(r1)
/* 80157D20 00153980  80 81 00 0C */	lwz r4, 0xc(r1)
/* 80157D24 00153984  4B EB 37 49 */	bl func_8000B46C
/* 80157D28 00153988  48 00 00 14 */	b lbl_80157D3C
lbl_80157D2C:
/* 80157D2C 0015398C  3B 9C 00 01 */	addi r28, r28, 1
lbl_80157D30:
/* 80157D30 00153990  57 80 06 3E */	clrlwi r0, r28, 0x18
/* 80157D34 00153994  7C 00 F0 00 */	cmpw r0, r30
/* 80157D38 00153998  41 80 FF 94 */	blt lbl_80157CCC
lbl_80157D3C:
/* 80157D3C 0015399C  80 1F 00 04 */	lwz r0, 4(r31)
/* 80157D40 001539A0  28 00 00 08 */	cmplwi r0, 8
/* 80157D44 001539A4  41 81 02 A4 */	bgt lbl_80157FE8
/* 80157D48 001539A8  3C 60 80 42 */	lis r3, lbl_8041E8C0@ha
/* 80157D4C 001539AC  54 00 10 3A */	slwi r0, r0, 2
/* 80157D50 001539B0  38 63 E8 C0 */	addi r3, r3, lbl_8041E8C0@l
/* 80157D54 001539B4  7C 63 00 2E */	lwzx r3, r3, r0
/* 80157D58 001539B8  7C 69 03 A6 */	mtctr r3
/* 80157D5C 001539BC  4E 80 04 20 */	bctr
/* 80157D60 001539C0  7F E3 FB 78 */	mr r3, r31
/* 80157D64 001539C4  38 80 00 01 */	li r4, 1
/* 80157D68 001539C8  4B FF FB A1 */	bl func_80157908
/* 80157D6C 001539CC  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80157D70 001539D0  38 80 00 00 */	li r4, 0
/* 80157D74 001539D4  C0 22 8F 40 */	lfs f1, lbl_80641540-_SDA2_BASE_(r2)
/* 80157D78 001539D8  38 A0 00 00 */	li r5, 0
/* 80157D7C 001539DC  A0 03 00 DC */	lhz r0, 0xdc(r3)
/* 80157D80 001539E0  38 C0 00 00 */	li r6, 0
/* 80157D84 001539E4  C0 42 8F 4C */	lfs f2, lbl_8064154C-_SDA2_BASE_(r2)
/* 80157D88 001539E8  38 E0 00 00 */	li r7, 0
/* 80157D8C 001539EC  60 00 00 01 */	ori r0, r0, 1
/* 80157D90 001539F0  39 00 00 00 */	li r8, 0
/* 80157D94 001539F4  B0 03 00 DC */	sth r0, 0xdc(r3)
/* 80157D98 001539F8  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80157D9C 001539FC  48 09 D0 59 */	bl func_801F4DF4
/* 80157DA0 00153A00  C0 22 8F 50 */	lfs f1, lbl_80641550-_SDA2_BASE_(r2)
/* 80157DA4 00153A04  38 60 00 01 */	li r3, 1
/* 80157DA8 00153A08  4B EF 83 E5 */	bl func_8005018C
/* 80157DAC 00153A0C  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 80157DB0 00153A10  2C 03 00 00 */	cmpwi r3, 0
/* 80157DB4 00153A14  41 82 00 2C */	beq lbl_80157DE0
/* 80157DB8 00153A18  A0 03 00 10 */	lhz r0, 0x10(r3)
/* 80157DBC 00153A1C  C0 02 8F 40 */	lfs f0, lbl_80641540-_SDA2_BASE_(r2)
/* 80157DC0 00153A20  60 00 00 02 */	ori r0, r0, 2
/* 80157DC4 00153A24  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80157DC8 00153A28  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 80157DCC 00153A2C  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80157DD0 00153A30  60 00 00 01 */	ori r0, r0, 1
/* 80157DD4 00153A34  54 00 07 F8 */	rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80157DD8 00153A38  90 03 01 04 */	stw r0, 0x104(r3)
/* 80157DDC 00153A3C  D0 03 01 08 */	stfs f0, 0x108(r3)
lbl_80157DE0:
/* 80157DE0 00153A40  C0 22 8F 4C */	lfs f1, lbl_8064154C-_SDA2_BASE_(r2)
/* 80157DE4 00153A44  38 60 00 0D */	li r3, 0xd
/* 80157DE8 00153A48  38 80 00 00 */	li r4, 0
/* 80157DEC 00153A4C  4B EB 33 85 */	bl func_8000B170
/* 80157DF0 00153A50  38 00 00 02 */	li r0, 2
/* 80157DF4 00153A54  90 1F 00 04 */	stw r0, 4(r31)
/* 80157DF8 00153A58  48 00 01 F0 */	b lbl_80157FE8
/* 80157DFC 00153A5C  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 80157E00 00153A60  3B 80 00 00 */	li r28, 0
/* 80157E04 00153A64  2C 03 00 00 */	cmpwi r3, 0
/* 80157E08 00153A68  41 82 00 48 */	beq lbl_80157E50
/* 80157E0C 00153A6C  80 03 01 04 */	lwz r0, 0x104(r3)
/* 80157E10 00153A70  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80157E14 00153A74  41 82 00 0C */	beq lbl_80157E20
/* 80157E18 00153A78  38 00 00 01 */	li r0, 1
/* 80157E1C 00153A7C  48 00 00 28 */	b lbl_80157E44
lbl_80157E20:
/* 80157E20 00153A80  80 63 01 38 */	lwz r3, 0x138(r3)
/* 80157E24 00153A84  2C 03 00 00 */	cmpwi r3, 0
/* 80157E28 00153A88  41 82 00 18 */	beq lbl_80157E40
/* 80157E2C 00153A8C  A0 03 01 48 */	lhz r0, 0x148(r3)
/* 80157E30 00153A90  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80157E34 00153A94  41 82 00 0C */	beq lbl_80157E40
/* 80157E38 00153A98  38 00 00 01 */	li r0, 1
/* 80157E3C 00153A9C  48 00 00 08 */	b lbl_80157E44
lbl_80157E40:
/* 80157E40 00153AA0  38 00 00 00 */	li r0, 0
lbl_80157E44:
/* 80157E44 00153AA4  2C 00 00 00 */	cmpwi r0, 0
/* 80157E48 00153AA8  41 82 00 08 */	beq lbl_80157E50
/* 80157E4C 00153AAC  3B 80 00 01 */	li r28, 1
lbl_80157E50:
/* 80157E50 00153AB0  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80157E54 00153AB4  48 09 DF 61 */	bl func_801F5DB4
/* 80157E58 00153AB8  2C 03 00 00 */	cmpwi r3, 0
/* 80157E5C 00153ABC  41 82 00 18 */	beq lbl_80157E74
/* 80157E60 00153AC0  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 80157E64 00153AC4  48 09 E0 E9 */	bl func_801F5F4C
/* 80157E68 00153AC8  2C 03 00 00 */	cmpwi r3, 0
/* 80157E6C 00153ACC  40 82 00 08 */	bne lbl_80157E74
/* 80157E70 00153AD0  3B 80 00 01 */	li r28, 1
lbl_80157E74:
/* 80157E74 00153AD4  2C 1C 00 00 */	cmpwi r28, 0
/* 80157E78 00153AD8  40 82 01 70 */	bne lbl_80157FE8
/* 80157E7C 00153ADC  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 80157E80 00153AE0  2C 03 00 00 */	cmpwi r3, 0
/* 80157E84 00153AE4  41 82 00 18 */	beq lbl_80157E9C
/* 80157E88 00153AE8  81 83 01 00 */	lwz r12, 0x100(r3)
/* 80157E8C 00153AEC  38 80 00 01 */	li r4, 1
/* 80157E90 00153AF0  81 8C 00 08 */	lwz r12, 8(r12)
/* 80157E94 00153AF4  7D 89 03 A6 */	mtctr r12
/* 80157E98 00153AF8  4E 80 04 21 */	bctrl
lbl_80157E9C:
/* 80157E9C 00153AFC  38 60 00 00 */	li r3, 0
/* 80157EA0 00153B00  38 00 00 03 */	li r0, 3
/* 80157EA4 00153B04  90 7F 00 18 */	stw r3, 0x18(r31)
/* 80157EA8 00153B08  90 1F 00 04 */	stw r0, 4(r31)
/* 80157EAC 00153B0C  48 00 01 3C */	b lbl_80157FE8
/* 80157EB0 00153B10  C0 22 8F 50 */	lfs f1, lbl_80641550-_SDA2_BASE_(r2)
/* 80157EB4 00153B14  38 60 00 02 */	li r3, 2
/* 80157EB8 00153B18  4B EF 82 D5 */	bl func_8005018C
/* 80157EBC 00153B1C  38 00 00 04 */	li r0, 4
/* 80157EC0 00153B20  90 1F 00 04 */	stw r0, 4(r31)
/* 80157EC4 00153B24  48 00 01 24 */	b lbl_80157FE8
/* 80157EC8 00153B28  4B EF 83 F5 */	bl func_800502BC
/* 80157ECC 00153B2C  2C 03 00 00 */	cmpwi r3, 0
/* 80157ED0 00153B30  41 82 01 18 */	beq lbl_80157FE8
/* 80157ED4 00153B34  C0 22 8F 50 */	lfs f1, lbl_80641550-_SDA2_BASE_(r2)
/* 80157ED8 00153B38  38 60 00 01 */	li r3, 1
/* 80157EDC 00153B3C  4B EF 82 B1 */	bl func_8005018C
/* 80157EE0 00153B40  7F E3 FB 78 */	mr r3, r31
/* 80157EE4 00153B44  38 80 00 00 */	li r4, 0
/* 80157EE8 00153B48  4B FF FA 21 */	bl func_80157908
/* 80157EEC 00153B4C  38 00 00 05 */	li r0, 5
/* 80157EF0 00153B50  90 1F 00 04 */	stw r0, 4(r31)
/* 80157EF4 00153B54  48 00 00 F4 */	b lbl_80157FE8
/* 80157EF8 00153B58  38 60 00 0D */	li r3, 0xd
/* 80157EFC 00153B5C  38 80 00 00 */	li r4, 0
/* 80157F00 00153B60  4B EB 35 6D */	bl func_8000B46C
/* 80157F04 00153B64  38 60 01 F5 */	li r3, 0x1f5
/* 80157F08 00153B68  38 80 00 01 */	li r4, 1
/* 80157F0C 00153B6C  38 A0 00 00 */	li r5, 0
/* 80157F10 00153B70  38 C0 00 00 */	li r6, 0
/* 80157F14 00153B74  38 E0 00 00 */	li r7, 0
/* 80157F18 00153B78  48 10 18 81 */	bl func_80259798
/* 80157F1C 00153B7C  38 60 01 F5 */	li r3, 0x1f5
/* 80157F20 00153B80  48 10 19 81 */	bl func_802598A0
/* 80157F24 00153B84  4B EA F5 DD */	bl func_80007500
/* 80157F28 00153B88  38 60 00 01 */	li r3, 1
/* 80157F2C 00153B8C  38 00 00 06 */	li r0, 6
/* 80157F30 00153B90  98 7F 00 1C */	stb r3, 0x1c(r31)
/* 80157F34 00153B94  90 1F 00 04 */	stw r0, 4(r31)
/* 80157F38 00153B98  48 00 00 B0 */	b lbl_80157FE8
/* 80157F3C 00153B9C  38 60 01 F5 */	li r3, 0x1f5
/* 80157F40 00153BA0  48 10 19 99 */	bl func_802598D8
/* 80157F44 00153BA4  2C 03 00 00 */	cmpwi r3, 0
/* 80157F48 00153BA8  40 82 00 A0 */	bne lbl_80157FE8
/* 80157F4C 00153BAC  38 60 01 F5 */	li r3, 0x1f5
/* 80157F50 00153BB0  48 10 18 F5 */	bl func_80259844
/* 80157F54 00153BB4  38 60 00 00 */	li r3, 0
/* 80157F58 00153BB8  38 00 00 07 */	li r0, 7
/* 80157F5C 00153BBC  98 7F 00 1C */	stb r3, 0x1c(r31)
/* 80157F60 00153BC0  90 1F 00 04 */	stw r0, 4(r31)
/* 80157F64 00153BC4  48 00 00 84 */	b lbl_80157FE8
/* 80157F68 00153BC8  2C 1D 00 03 */	cmpwi r29, 3
/* 80157F6C 00153BCC  41 82 00 18 */	beq lbl_80157F84
/* 80157F70 00153BD0  2C 1D 00 04 */	cmpwi r29, 4
/* 80157F74 00153BD4  41 82 00 10 */	beq lbl_80157F84
/* 80157F78 00153BD8  C0 22 8F 50 */	lfs f1, lbl_80641550-_SDA2_BASE_(r2)
/* 80157F7C 00153BDC  38 60 00 02 */	li r3, 2
/* 80157F80 00153BE0  4B EF 82 0D */	bl func_8005018C
lbl_80157F84:
/* 80157F84 00153BE4  38 00 00 08 */	li r0, 8
/* 80157F88 00153BE8  90 1F 00 04 */	stw r0, 4(r31)
/* 80157F8C 00153BEC  48 00 00 5C */	b lbl_80157FE8
/* 80157F90 00153BF0  4B EF 83 2D */	bl func_800502BC
/* 80157F94 00153BF4  2C 03 00 00 */	cmpwi r3, 0
/* 80157F98 00153BF8  41 82 00 50 */	beq lbl_80157FE8
/* 80157F9C 00153BFC  4B EA F5 4D */	bl func_800074E8
/* 80157FA0 00153C00  38 60 02 7C */	li r3, 0x27c
/* 80157FA4 00153C04  48 00 AA ED */	bl func_80162A90
/* 80157FA8 00153C08  28 03 00 03 */	cmplwi r3, 3
/* 80157FAC 00153C0C  40 82 00 28 */	bne lbl_80157FD4
/* 80157FB0 00153C10  38 60 01 99 */	li r3, 0x199
/* 80157FB4 00153C14  38 80 00 01 */	li r4, 1
/* 80157FB8 00153C18  38 A0 00 01 */	li r5, 1
/* 80157FBC 00153C1C  48 00 A9 85 */	bl func_80162940
/* 80157FC0 00153C20  4B EF E2 B5 */	bl func_80056274
/* 80157FC4 00153C24  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80157FC8 00153C28  38 80 08 34 */	li r4, 0x834
/* 80157FCC 00153C2C  48 0C E7 DD */	bl func_802267A8
/* 80157FD0 00153C30  48 00 00 10 */	b lbl_80157FE0
lbl_80157FD4:
/* 80157FD4 00153C34  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80157FD8 00153C38  38 80 07 D0 */	li r4, 0x7d0
/* 80157FDC 00153C3C  48 0C E7 CD */	bl func_802267A8
lbl_80157FE0:
/* 80157FE0 00153C40  38 00 00 00 */	li r0, 0
/* 80157FE4 00153C44  90 1F 00 04 */	stw r0, 4(r31)
lbl_80157FE8:
/* 80157FE8 00153C48  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80157FEC 00153C4C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80157FF0 00153C50  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80157FF4 00153C54  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80157FF8 00153C58  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80157FFC 00153C5C  7C 08 03 A6 */	mtlr r0
/* 80158000 00153C60  38 21 00 20 */	addi r1, r1, 0x20
/* 80158004 00153C64  4E 80 00 20 */	blr
/* 80158008 00153C68  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8015800C 00153C6C  7C 08 02 A6 */	mflr r0
/* 80158010 00153C70  90 01 00 14 */	stw r0, 0x14(r1)
/* 80158014 00153C74  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80158018 00153C78  7C 7F 1B 78 */	mr r31, r3
/* 8015801C 00153C7C  88 03 00 1D */	lbz r0, 0x1d(r3)
/* 80158020 00153C80  2C 00 00 00 */	cmpwi r0, 0
/* 80158024 00153C84  41 82 00 10 */	beq lbl_80158034
/* 80158028 00153C88  4B EB 17 B1 */	bl func_800097D8
/* 8015802C 00153C8C  38 00 00 00 */	li r0, 0
/* 80158030 00153C90  98 1F 00 1D */	stb r0, 0x1d(r31)
lbl_80158034:
/* 80158034 00153C94  38 60 00 02 */	li r3, 2
/* 80158038 00153C98  48 0E 30 21 */	bl func_8023B058
/* 8015803C 00153C9C  2C 03 00 00 */	cmpwi r3, 0
/* 80158040 00153CA0  41 82 00 1C */	beq lbl_8015805C
/* 80158044 00153CA4  3C 80 80 49 */	lis r4, lbl_80496754@ha
/* 80158048 00153CA8  38 00 00 00 */	li r0, 0
/* 8015804C 00153CAC  38 84 67 54 */	addi r4, r4, lbl_80496754@l
/* 80158050 00153CB0  80 84 00 04 */	lwz r4, 4(r4)
/* 80158054 00153CB4  90 03 00 20 */	stw r0, 0x20(r3)
/* 80158058 00153CB8  90 83 00 0C */	stw r4, 0xc(r3)
lbl_8015805C:
/* 8015805C 00153CBC  80 6D A1 50 */	lwz r3, lbl_8063F410-_SDA_BASE_(r13)
/* 80158060 00153CC0  88 03 04 68 */	lbz r0, 0x468(r3)
/* 80158064 00153CC4  2C 00 00 00 */	cmpwi r0, 0
/* 80158068 00153CC8  41 82 00 08 */	beq lbl_80158070
/* 8015806C 00153CCC  48 0A 6E FD */	bl func_801FEF68
lbl_80158070:
/* 80158070 00153CD0  88 1F 00 1C */	lbz r0, 0x1c(r31)
/* 80158074 00153CD4  2C 00 00 00 */	cmpwi r0, 0
/* 80158078 00153CD8  41 82 00 14 */	beq lbl_8015808C
/* 8015807C 00153CDC  38 60 01 F5 */	li r3, 0x1f5
/* 80158080 00153CE0  48 10 17 C5 */	bl func_80259844
/* 80158084 00153CE4  38 00 00 00 */	li r0, 0
/* 80158088 00153CE8  98 1F 00 1C */	stb r0, 0x1c(r31)
lbl_8015808C:
/* 8015808C 00153CEC  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 80158090 00153CF0  2C 03 00 00 */	cmpwi r3, 0
/* 80158094 00153CF4  41 82 00 24 */	beq lbl_801580B8
/* 80158098 00153CF8  41 82 00 18 */	beq lbl_801580B0
/* 8015809C 00153CFC  81 83 01 00 */	lwz r12, 0x100(r3)
/* 801580A0 00153D00  38 80 00 01 */	li r4, 1
/* 801580A4 00153D04  81 8C 00 08 */	lwz r12, 8(r12)
/* 801580A8 00153D08  7D 89 03 A6 */	mtctr r12
/* 801580AC 00153D0C  4E 80 04 21 */	bctrl
lbl_801580B0:
/* 801580B0 00153D10  38 00 00 00 */	li r0, 0
/* 801580B4 00153D14  90 1F 00 18 */	stw r0, 0x18(r31)
lbl_801580B8:
/* 801580B8 00153D18  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 801580BC 00153D1C  2C 03 00 00 */	cmpwi r3, 0
/* 801580C0 00153D20  41 82 00 1C */	beq lbl_801580DC
/* 801580C4 00153D24  38 80 00 01 */	li r4, 1
/* 801580C8 00153D28  48 0A 21 CD */	bl func_801FA294
/* 801580CC 00153D2C  38 00 00 00 */	li r0, 0
/* 801580D0 00153D30  90 1F 00 0C */	stw r0, 0xc(r31)
/* 801580D4 00153D34  90 1F 00 10 */	stw r0, 0x10(r31)
/* 801580D8 00153D38  90 1F 00 14 */	stw r0, 0x14(r31)
lbl_801580DC:
/* 801580DC 00153D3C  80 7F 00 08 */	lwz r3, 8(r31)
/* 801580E0 00153D40  2C 03 00 00 */	cmpwi r3, 0
/* 801580E4 00153D44  41 82 00 14 */	beq lbl_801580F8
/* 801580E8 00153D48  38 80 00 01 */	li r4, 1
/* 801580EC 00153D4C  48 0A 21 A9 */	bl func_801FA294
/* 801580F0 00153D50  38 00 00 00 */	li r0, 0
/* 801580F4 00153D54  90 1F 00 08 */	stw r0, 8(r31)
lbl_801580F8:
/* 801580F8 00153D58  38 60 04 07 */	li r3, 0x407
/* 801580FC 00153D5C  48 0F 17 95 */	bl func_80249890
/* 80158100 00153D60  38 60 04 07 */	li r3, 0x407
/* 80158104 00153D64  48 08 35 71 */	bl func_801DB674
/* 80158108 00153D68  38 00 00 00 */	li r0, 0
/* 8015810C 00153D6C  90 1F 00 04 */	stw r0, 4(r31)
/* 80158110 00153D70  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80158114 00153D74  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80158118 00153D78  7C 08 03 A6 */	mtlr r0
/* 8015811C 00153D7C  38 21 00 10 */	addi r1, r1, 0x10
/* 80158120 00153D80  4E 80 00 20 */	blr
/* 80158124 00153D84  38 00 00 00 */	li r0, 0
/* 80158128 00153D88  90 03 00 04 */	stw r0, 4(r3)
/* 8015812C 00153D8C  4E 80 00 20 */	blr

.global func_80158130
func_80158130:
/* 80158130 00153D90  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80158134 00153D94  7C 08 02 A6 */	mflr r0
/* 80158138 00153D98  38 60 00 01 */	li r3, 1
/* 8015813C 00153D9C  38 8D 9D 18 */	addi r4, r13, lbl_8063EFD8-_SDA_BASE_
/* 80158140 00153DA0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80158144 00153DA4  38 A0 00 04 */	li r5, 4
/* 80158148 00153DA8  38 00 00 00 */	li r0, 0
/* 8015814C 00153DAC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80158150 00153DB0  3F E0 80 48 */	lis r31, lbl_80487558@ha
/* 80158154 00153DB4  3B FF 75 58 */	addi r31, r31, lbl_80487558@l
/* 80158158 00153DB8  98 6D 9D 18 */	stb r3, lbl_8063EFD8-_SDA_BASE_(r13)
/* 8015815C 00153DBC  38 7F 00 10 */	addi r3, r31, 0x10
/* 80158160 00153DC0  B0 A4 00 02 */	sth r5, 2(r4)
/* 80158164 00153DC4  98 04 00 04 */	stb r0, 4(r4)
/* 80158168 00153DC8  4B FF F6 F1 */	bl func_80157858
/* 8015816C 00153DCC  3C 80 80 15 */	lis r4, lbl_8015788C@ha
/* 80158170 00153DD0  38 7F 00 10 */	addi r3, r31, 0x10
/* 80158174 00153DD4  38 84 78 8C */	addi r4, r4, lbl_8015788C@l
/* 80158178 00153DD8  38 BF 00 00 */	addi r5, r31, 0
/* 8015817C 00153DDC  48 06 EA CD */	bl __register_global_object_tmp
/* 80158180 00153DE0  38 7F 00 3C */	addi r3, r31, 0x3c
/* 80158184 00153DE4  38 BF 00 10 */	addi r5, r31, 0x10
/* 80158188 00153DE8  38 80 0C 1C */	li r4, 0xc1c
/* 8015818C 00153DEC  48 0C DC B9 */	bl func_80225E44
/* 80158190 00153DF0  3C 80 80 22 */	lis r4, func_80225EE0@ha
/* 80158194 00153DF4  38 7F 00 3C */	addi r3, r31, 0x3c
/* 80158198 00153DF8  38 84 5E E0 */	addi r4, r4, func_80225EE0@l
/* 8015819C 00153DFC  38 BF 00 30 */	addi r5, r31, 0x30
/* 801581A0 00153E00  48 06 EA A9 */	bl __register_global_object_tmp
/* 801581A4 00153E04  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801581A8 00153E08  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801581AC 00153E0C  7C 08 03 A6 */	mtlr r0
/* 801581B0 00153E10  38 21 00 10 */	addi r1, r1, 0x10
/* 801581B4 00153E14  4E 80 00 20 */	blr