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

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

.global lbl_80030320
lbl_80030320:
/* 80030320 0002BF80  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 80030324 0002BF84  7C 08 02 A6 */	mflr r0
/* 80030328 0002BF88  90 01 00 74 */	stw r0, 0x74(r1)
/* 8003032C 0002BF8C  DB E1 00 60 */	stfd f31, 0x60(r1)
/* 80030330 0002BF90  F3 E1 00 68 */	psq_st f31, 104(r1), 0, qr0
/* 80030334 0002BF94  DB C1 00 50 */	stfd f30, 0x50(r1)
/* 80030338 0002BF98  F3 C1 00 58 */	psq_st f30, 88(r1), 0, qr0
/* 8003033C 0002BF9C  DB A1 00 40 */	stfd f29, 0x40(r1)
/* 80030340 0002BFA0  F3 A1 00 48 */	psq_st f29, 72(r1), 0, qr0
/* 80030344 0002BFA4  39 61 00 40 */	addi r11, r1, 0x40
/* 80030348 0002BFA8  48 19 6D E1 */	bl _savegpr_27
/* 8003034C 0002BFAC  3C 00 43 30 */	lis r0, 0x4330
/* 80030350 0002BFB0  7C 9C 23 78 */	mr r28, r4
/* 80030354 0002BFB4  90 01 00 08 */	stw r0, 8(r1)
/* 80030358 0002BFB8  7C BE 2B 78 */	mr r30, r5
/* 8003035C 0002BFBC  7C DB 33 78 */	mr r27, r6
/* 80030360 0002BFC0  90 01 00 10 */	stw r0, 0x10(r1)
/* 80030364 0002BFC4  48 01 44 E5 */	bl func_80044848
/* 80030368 0002BFC8  2C 1C 00 01 */	cmpwi r28, 1
/* 8003036C 0002BFCC  41 82 00 4C */	beq lbl_800303B8
/* 80030370 0002BFD0  A8 1E 00 00 */	lha r0, 0(r30)
/* 80030374 0002BFD4  2C 00 00 2A */	cmpwi r0, 0x2a
/* 80030378 0002BFD8  41 82 00 0C */	beq lbl_80030384
/* 8003037C 0002BFDC  38 60 00 01 */	li r3, 1
/* 80030380 0002BFE0  48 00 07 D0 */	b lbl_80030B50
lbl_80030384:
/* 80030384 0002BFE4  80 1E 00 04 */	lwz r0, 4(r30)
/* 80030388 0002BFE8  2C 00 00 00 */	cmpwi r0, 0
/* 8003038C 0002BFEC  41 80 00 0C */	blt lbl_80030398
/* 80030390 0002BFF0  2C 00 00 08 */	cmpwi r0, 8
/* 80030394 0002BFF4  41 80 00 0C */	blt lbl_800303A0
lbl_80030398:
/* 80030398 0002BFF8  3B E0 00 00 */	li r31, 0
/* 8003039C 0002BFFC  48 00 00 0C */	b lbl_800303A8
lbl_800303A0:
/* 800303A0 0002C000  1C 00 00 F0 */	mulli r0, r0, 0xf0
/* 800303A4 0002C004  7F E3 02 14 */	add r31, r3, r0
lbl_800303A8:
/* 800303A8 0002C008  2C 1F 00 00 */	cmpwi r31, 0
/* 800303AC 0002C00C  40 82 00 14 */	bne lbl_800303C0
/* 800303B0 0002C010  38 60 00 01 */	li r3, 1
/* 800303B4 0002C014  48 00 07 9C */	b lbl_80030B50
lbl_800303B8:
/* 800303B8 0002C018  38 60 00 01 */	li r3, 1
/* 800303BC 0002C01C  48 00 07 94 */	b lbl_80030B50
lbl_800303C0:
/* 800303C0 0002C020  38 1C FF EF */	addi r0, r28, -17
/* 800303C4 0002C024  28 00 00 0E */	cmplwi r0, 0xe
/* 800303C8 0002C028  41 81 07 84 */	bgt lbl_80030B4C
/* 800303CC 0002C02C  3C 60 80 41 */	lis r3, lbl_80409FC8@ha
/* 800303D0 0002C030  54 00 10 3A */	slwi r0, r0, 2
/* 800303D4 0002C034  38 63 9F C8 */	addi r3, r3, lbl_80409FC8@l
/* 800303D8 0002C038  7C 63 00 2E */	lwzx r3, r3, r0
/* 800303DC 0002C03C  7C 69 03 A6 */	mtctr r3
/* 800303E0 0002C040  4E 80 04 20 */	bctr
/* 800303E4 0002C044  A8 1E 00 08 */	lha r0, 8(r30)
/* 800303E8 0002C048  2C 00 00 01 */	cmpwi r0, 1
/* 800303EC 0002C04C  40 82 00 0C */	bne lbl_800303F8
/* 800303F0 0002C050  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 800303F4 0002C054  48 00 00 2C */	b lbl_80030420
lbl_800303F8:
/* 800303F8 0002C058  2C 00 00 02 */	cmpwi r0, 2
/* 800303FC 0002C05C  40 82 00 18 */	bne lbl_80030414
/* 80030400 0002C060  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030404 0002C064  FC 00 00 1E */	fctiwz f0, f0
/* 80030408 0002C068  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 8003040C 0002C06C  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030410 0002C070  48 00 00 0C */	b lbl_8003041C
lbl_80030414:
/* 80030414 0002C074  38 7E 00 08 */	addi r3, r30, 8
/* 80030418 0002C078  48 1F D9 1D */	bl func_8022DD34
lbl_8003041C:
/* 8003041C 0002C07C  7C 64 1B 78 */	mr r4, r3
lbl_80030420:
/* 80030420 0002C080  7F E3 FB 78 */	mr r3, r31
/* 80030424 0002C084  48 01 47 FD */	bl func_80044C20
/* 80030428 0002C088  48 00 07 24 */	b lbl_80030B4C
/* 8003042C 0002C08C  A8 1E 00 08 */	lha r0, 8(r30)
/* 80030430 0002C090  2C 00 00 01 */	cmpwi r0, 1
/* 80030434 0002C094  40 82 00 0C */	bne lbl_80030440
/* 80030438 0002C098  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 8003043C 0002C09C  48 00 00 28 */	b lbl_80030464
lbl_80030440:
/* 80030440 0002C0A0  2C 00 00 02 */	cmpwi r0, 2
/* 80030444 0002C0A4  40 82 00 18 */	bne lbl_8003045C
/* 80030448 0002C0A8  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 8003044C 0002C0AC  FC 00 00 1E */	fctiwz f0, f0
/* 80030450 0002C0B0  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030454 0002C0B4  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030458 0002C0B8  48 00 00 0C */	b lbl_80030464
lbl_8003045C:
/* 8003045C 0002C0BC  38 7E 00 08 */	addi r3, r30, 8
/* 80030460 0002C0C0  48 1F D8 D5 */	bl func_8022DD34
lbl_80030464:
/* 80030464 0002C0C4  7C 03 00 D0 */	neg r0, r3
/* 80030468 0002C0C8  7C 00 1B 78 */	or r0, r0, r3
/* 8003046C 0002C0CC  54 00 0F FE */	srwi r0, r0, 0x1f
/* 80030470 0002C0D0  98 1F 00 00 */	stb r0, 0(r31)
/* 80030474 0002C0D4  48 00 06 D8 */	b lbl_80030B4C
/* 80030478 0002C0D8  A8 1E 00 08 */	lha r0, 8(r30)
/* 8003047C 0002C0DC  2C 00 00 01 */	cmpwi r0, 1
/* 80030480 0002C0E0  40 82 00 20 */	bne lbl_800304A0
/* 80030484 0002C0E4  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80030488 0002C0E8  C8 22 81 70 */	lfd f1, lbl_80640770-_SDA2_BASE_(r2)
/* 8003048C 0002C0EC  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80030490 0002C0F0  90 01 00 0C */	stw r0, 0xc(r1)
/* 80030494 0002C0F4  C8 01 00 08 */	lfd f0, 8(r1)
/* 80030498 0002C0F8  EF E0 08 28 */	fsubs f31, f0, f1
/* 8003049C 0002C0FC  48 00 00 20 */	b lbl_800304BC
lbl_800304A0:
/* 800304A0 0002C100  2C 00 00 02 */	cmpwi r0, 2
/* 800304A4 0002C104  40 82 00 0C */	bne lbl_800304B0
/* 800304A8 0002C108  C0 3E 00 0C */	lfs f1, 0xc(r30)
/* 800304AC 0002C10C  48 00 00 0C */	b lbl_800304B8
lbl_800304B0:
/* 800304B0 0002C110  38 7E 00 08 */	addi r3, r30, 8
/* 800304B4 0002C114  48 1F D8 C5 */	bl func_8022DD78
lbl_800304B8:
/* 800304B8 0002C118  FF E0 08 90 */	fmr f31, f1
lbl_800304BC:
/* 800304BC 0002C11C  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 800304C0 0002C120  2C 00 00 01 */	cmpwi r0, 1
/* 800304C4 0002C124  40 82 00 20 */	bne lbl_800304E4
/* 800304C8 0002C128  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 800304CC 0002C12C  C8 22 81 70 */	lfd f1, lbl_80640770-_SDA2_BASE_(r2)
/* 800304D0 0002C130  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 800304D4 0002C134  90 01 00 14 */	stw r0, 0x14(r1)
/* 800304D8 0002C138  C8 01 00 10 */	lfd f0, 0x10(r1)
/* 800304DC 0002C13C  EC 20 08 28 */	fsubs f1, f0, f1
/* 800304E0 0002C140  48 00 00 1C */	b lbl_800304FC
lbl_800304E4:
/* 800304E4 0002C144  2C 00 00 02 */	cmpwi r0, 2
/* 800304E8 0002C148  40 82 00 0C */	bne lbl_800304F4
/* 800304EC 0002C14C  C0 3E 00 14 */	lfs f1, 0x14(r30)
/* 800304F0 0002C150  48 00 00 0C */	b lbl_800304FC
lbl_800304F4:
/* 800304F4 0002C154  38 7E 00 10 */	addi r3, r30, 0x10
/* 800304F8 0002C158  48 1F D8 81 */	bl func_8022DD78
lbl_800304FC:
/* 800304FC 0002C15C  D3 FF 00 08 */	stfs f31, 8(r31)
/* 80030500 0002C160  D0 3F 00 0C */	stfs f1, 0xc(r31)
/* 80030504 0002C164  48 00 06 48 */	b lbl_80030B4C
/* 80030508 0002C168  A8 1E 00 08 */	lha r0, 8(r30)
/* 8003050C 0002C16C  2C 00 00 01 */	cmpwi r0, 1
/* 80030510 0002C170  40 82 00 20 */	bne lbl_80030530
/* 80030514 0002C174  80 1E 00 0C */	lwz r0, 0xc(r30)
/* 80030518 0002C178  C8 22 81 70 */	lfd f1, lbl_80640770-_SDA2_BASE_(r2)
/* 8003051C 0002C17C  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80030520 0002C180  90 01 00 0C */	stw r0, 0xc(r1)
/* 80030524 0002C184  C8 01 00 08 */	lfd f0, 8(r1)
/* 80030528 0002C188  EF E0 08 28 */	fsubs f31, f0, f1
/* 8003052C 0002C18C  48 00 00 20 */	b lbl_8003054C
lbl_80030530:
/* 80030530 0002C190  2C 00 00 02 */	cmpwi r0, 2
/* 80030534 0002C194  40 82 00 0C */	bne lbl_80030540
/* 80030538 0002C198  C0 3E 00 0C */	lfs f1, 0xc(r30)
/* 8003053C 0002C19C  48 00 00 0C */	b lbl_80030548
lbl_80030540:
/* 80030540 0002C1A0  38 7E 00 08 */	addi r3, r30, 8
/* 80030544 0002C1A4  48 1F D8 35 */	bl func_8022DD78
lbl_80030548:
/* 80030548 0002C1A8  FF E0 08 90 */	fmr f31, f1
lbl_8003054C:
/* 8003054C 0002C1AC  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 80030550 0002C1B0  2C 00 00 01 */	cmpwi r0, 1
/* 80030554 0002C1B4  40 82 00 20 */	bne lbl_80030574
/* 80030558 0002C1B8  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 8003055C 0002C1BC  C8 22 81 70 */	lfd f1, lbl_80640770-_SDA2_BASE_(r2)
/* 80030560 0002C1C0  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80030564 0002C1C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80030568 0002C1C8  C8 01 00 10 */	lfd f0, 0x10(r1)
/* 8003056C 0002C1CC  EF C0 08 28 */	fsubs f30, f0, f1
/* 80030570 0002C1D0  48 00 00 20 */	b lbl_80030590
lbl_80030574:
/* 80030574 0002C1D4  2C 00 00 02 */	cmpwi r0, 2
/* 80030578 0002C1D8  40 82 00 0C */	bne lbl_80030584
/* 8003057C 0002C1DC  C0 3E 00 14 */	lfs f1, 0x14(r30)
/* 80030580 0002C1E0  48 00 00 0C */	b lbl_8003058C
lbl_80030584:
/* 80030584 0002C1E4  38 7E 00 10 */	addi r3, r30, 0x10
/* 80030588 0002C1E8  48 1F D7 F1 */	bl func_8022DD78
lbl_8003058C:
/* 8003058C 0002C1EC  FF C0 08 90 */	fmr f30, f1
lbl_80030590:
/* 80030590 0002C1F0  A8 1E 00 18 */	lha r0, 0x18(r30)
/* 80030594 0002C1F4  2C 00 00 01 */	cmpwi r0, 1
/* 80030598 0002C1F8  40 82 00 20 */	bne lbl_800305B8
/* 8003059C 0002C1FC  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 800305A0 0002C200  C8 22 81 70 */	lfd f1, lbl_80640770-_SDA2_BASE_(r2)
/* 800305A4 0002C204  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 800305A8 0002C208  90 01 00 0C */	stw r0, 0xc(r1)
/* 800305AC 0002C20C  C8 01 00 08 */	lfd f0, 8(r1)
/* 800305B0 0002C210  EF A0 08 28 */	fsubs f29, f0, f1
/* 800305B4 0002C214  48 00 00 20 */	b lbl_800305D4
lbl_800305B8:
/* 800305B8 0002C218  2C 00 00 02 */	cmpwi r0, 2
/* 800305BC 0002C21C  40 82 00 0C */	bne lbl_800305C8
/* 800305C0 0002C220  C0 3E 00 1C */	lfs f1, 0x1c(r30)
/* 800305C4 0002C224  48 00 00 0C */	b lbl_800305D0
lbl_800305C8:
/* 800305C8 0002C228  38 7E 00 18 */	addi r3, r30, 0x18
/* 800305CC 0002C22C  48 1F D7 AD */	bl func_8022DD78
lbl_800305D0:
/* 800305D0 0002C230  FF A0 08 90 */	fmr f29, f1
lbl_800305D4:
/* 800305D4 0002C234  A8 1E 00 20 */	lha r0, 0x20(r30)
/* 800305D8 0002C238  2C 00 00 01 */	cmpwi r0, 1
/* 800305DC 0002C23C  40 82 00 0C */	bne lbl_800305E8
/* 800305E0 0002C240  80 9E 00 24 */	lwz r4, 0x24(r30)
/* 800305E4 0002C244  48 00 00 2C */	b lbl_80030610
lbl_800305E8:
/* 800305E8 0002C248  2C 00 00 02 */	cmpwi r0, 2
/* 800305EC 0002C24C  40 82 00 18 */	bne lbl_80030604
/* 800305F0 0002C250  C0 1E 00 24 */	lfs f0, 0x24(r30)
/* 800305F4 0002C254  FC 00 00 1E */	fctiwz f0, f0
/* 800305F8 0002C258  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 800305FC 0002C25C  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030600 0002C260  48 00 00 0C */	b lbl_8003060C
lbl_80030604:
/* 80030604 0002C264  38 7E 00 20 */	addi r3, r30, 0x20
/* 80030608 0002C268  48 1F D7 2D */	bl func_8022DD34
lbl_8003060C:
/* 8003060C 0002C26C  7C 64 1B 78 */	mr r4, r3
lbl_80030610:
/* 80030610 0002C270  FC 20 F8 90 */	fmr f1, f31
/* 80030614 0002C274  7F E3 FB 78 */	mr r3, r31
/* 80030618 0002C278  FC 40 F0 90 */	fmr f2, f30
/* 8003061C 0002C27C  FC 60 E8 90 */	fmr f3, f29
/* 80030620 0002C280  48 01 46 F5 */	bl func_80044D14
/* 80030624 0002C284  48 00 05 28 */	b lbl_80030B4C
/* 80030628 0002C288  A8 1E 00 08 */	lha r0, 8(r30)
/* 8003062C 0002C28C  2C 00 00 01 */	cmpwi r0, 1
/* 80030630 0002C290  40 82 00 0C */	bne lbl_8003063C
/* 80030634 0002C294  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80030638 0002C298  48 00 00 28 */	b lbl_80030660
lbl_8003063C:
/* 8003063C 0002C29C  2C 00 00 02 */	cmpwi r0, 2
/* 80030640 0002C2A0  40 82 00 18 */	bne lbl_80030658
/* 80030644 0002C2A4  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030648 0002C2A8  FC 00 00 1E */	fctiwz f0, f0
/* 8003064C 0002C2AC  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030650 0002C2B0  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030654 0002C2B4  48 00 00 0C */	b lbl_80030660
lbl_80030658:
/* 80030658 0002C2B8  38 7E 00 08 */	addi r3, r30, 8
/* 8003065C 0002C2BC  48 1F D6 D9 */	bl func_8022DD34
lbl_80030660:
/* 80030660 0002C2C0  90 7F 00 1C */	stw r3, 0x1c(r31)
/* 80030664 0002C2C4  48 00 04 E8 */	b lbl_80030B4C
/* 80030668 0002C2C8  A8 1E 00 08 */	lha r0, 8(r30)
/* 8003066C 0002C2CC  2C 00 00 01 */	cmpwi r0, 1
/* 80030670 0002C2D0  40 82 00 0C */	bne lbl_8003067C
/* 80030674 0002C2D4  83 BE 00 0C */	lwz r29, 0xc(r30)
/* 80030678 0002C2D8  48 00 00 2C */	b lbl_800306A4
lbl_8003067C:
/* 8003067C 0002C2DC  2C 00 00 02 */	cmpwi r0, 2
/* 80030680 0002C2E0  40 82 00 18 */	bne lbl_80030698
/* 80030684 0002C2E4  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030688 0002C2E8  FC 00 00 1E */	fctiwz f0, f0
/* 8003068C 0002C2EC  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030690 0002C2F0  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030694 0002C2F4  48 00 00 0C */	b lbl_800306A0
lbl_80030698:
/* 80030698 0002C2F8  38 7E 00 08 */	addi r3, r30, 8
/* 8003069C 0002C2FC  48 1F D6 99 */	bl func_8022DD34
lbl_800306A0:
/* 800306A0 0002C300  7C 7D 1B 78 */	mr r29, r3
lbl_800306A4:
/* 800306A4 0002C304  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 800306A8 0002C308  2C 00 00 01 */	cmpwi r0, 1
/* 800306AC 0002C30C  40 82 00 0C */	bne lbl_800306B8
/* 800306B0 0002C310  83 9E 00 14 */	lwz r28, 0x14(r30)
/* 800306B4 0002C314  48 00 00 2C */	b lbl_800306E0
lbl_800306B8:
/* 800306B8 0002C318  2C 00 00 02 */	cmpwi r0, 2
/* 800306BC 0002C31C  40 82 00 18 */	bne lbl_800306D4
/* 800306C0 0002C320  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 800306C4 0002C324  FC 00 00 1E */	fctiwz f0, f0
/* 800306C8 0002C328  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 800306CC 0002C32C  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 800306D0 0002C330  48 00 00 0C */	b lbl_800306DC
lbl_800306D4:
/* 800306D4 0002C334  38 7E 00 10 */	addi r3, r30, 0x10
/* 800306D8 0002C338  48 1F D6 5D */	bl func_8022DD34
lbl_800306DC:
/* 800306DC 0002C33C  7C 7C 1B 78 */	mr r28, r3
lbl_800306E0:
/* 800306E0 0002C340  A8 1E 00 18 */	lha r0, 0x18(r30)
/* 800306E4 0002C344  2C 00 00 01 */	cmpwi r0, 1
/* 800306E8 0002C348  40 82 00 0C */	bne lbl_800306F4
/* 800306EC 0002C34C  83 7E 00 1C */	lwz r27, 0x1c(r30)
/* 800306F0 0002C350  48 00 00 2C */	b lbl_8003071C
lbl_800306F4:
/* 800306F4 0002C354  2C 00 00 02 */	cmpwi r0, 2
/* 800306F8 0002C358  40 82 00 18 */	bne lbl_80030710
/* 800306FC 0002C35C  C0 1E 00 1C */	lfs f0, 0x1c(r30)
/* 80030700 0002C360  FC 00 00 1E */	fctiwz f0, f0
/* 80030704 0002C364  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030708 0002C368  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 8003070C 0002C36C  48 00 00 0C */	b lbl_80030718
lbl_80030710:
/* 80030710 0002C370  38 7E 00 18 */	addi r3, r30, 0x18
/* 80030714 0002C374  48 1F D6 21 */	bl func_8022DD34
lbl_80030718:
/* 80030718 0002C378  7C 7B 1B 78 */	mr r27, r3
lbl_8003071C:
/* 8003071C 0002C37C  A8 1E 00 20 */	lha r0, 0x20(r30)
/* 80030720 0002C380  2C 00 00 01 */	cmpwi r0, 1
/* 80030724 0002C384  40 82 00 0C */	bne lbl_80030730
/* 80030728 0002C388  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 8003072C 0002C38C  48 00 00 28 */	b lbl_80030754
lbl_80030730:
/* 80030730 0002C390  2C 00 00 02 */	cmpwi r0, 2
/* 80030734 0002C394  40 82 00 18 */	bne lbl_8003074C
/* 80030738 0002C398  C0 1E 00 24 */	lfs f0, 0x24(r30)
/* 8003073C 0002C39C  FC 00 00 1E */	fctiwz f0, f0
/* 80030740 0002C3A0  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030744 0002C3A4  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030748 0002C3A8  48 00 00 0C */	b lbl_80030754
lbl_8003074C:
/* 8003074C 0002C3AC  38 7E 00 20 */	addi r3, r30, 0x20
/* 80030750 0002C3B0  48 1F D5 E5 */	bl func_8022DD34
lbl_80030754:
/* 80030754 0002C3B4  9B BF 00 10 */	stb r29, 0x10(r31)
/* 80030758 0002C3B8  9B 9F 00 11 */	stb r28, 0x11(r31)
/* 8003075C 0002C3BC  9B 7F 00 12 */	stb r27, 0x12(r31)
/* 80030760 0002C3C0  98 7F 00 13 */	stb r3, 0x13(r31)
/* 80030764 0002C3C4  48 00 03 E8 */	b lbl_80030B4C
/* 80030768 0002C3C8  A8 1E 00 08 */	lha r0, 8(r30)
/* 8003076C 0002C3CC  2C 00 00 01 */	cmpwi r0, 1
/* 80030770 0002C3D0  40 82 00 0C */	bne lbl_8003077C
/* 80030774 0002C3D4  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80030778 0002C3D8  48 00 00 28 */	b lbl_800307A0
lbl_8003077C:
/* 8003077C 0002C3DC  2C 00 00 02 */	cmpwi r0, 2
/* 80030780 0002C3E0  40 82 00 18 */	bne lbl_80030798
/* 80030784 0002C3E4  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030788 0002C3E8  FC 00 00 1E */	fctiwz f0, f0
/* 8003078C 0002C3EC  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030790 0002C3F0  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030794 0002C3F4  48 00 00 0C */	b lbl_800307A0
lbl_80030798:
/* 80030798 0002C3F8  38 7E 00 08 */	addi r3, r30, 8
/* 8003079C 0002C3FC  48 1F D5 99 */	bl func_8022DD34
lbl_800307A0:
/* 800307A0 0002C400  98 7F 00 01 */	stb r3, 1(r31)
/* 800307A4 0002C404  48 00 03 A8 */	b lbl_80030B4C
/* 800307A8 0002C408  A8 1E 00 08 */	lha r0, 8(r30)
/* 800307AC 0002C40C  2C 00 00 01 */	cmpwi r0, 1
/* 800307B0 0002C410  40 82 00 0C */	bne lbl_800307BC
/* 800307B4 0002C414  83 7E 00 0C */	lwz r27, 0xc(r30)
/* 800307B8 0002C418  48 00 00 2C */	b lbl_800307E4
lbl_800307BC:
/* 800307BC 0002C41C  2C 00 00 02 */	cmpwi r0, 2
/* 800307C0 0002C420  40 82 00 18 */	bne lbl_800307D8
/* 800307C4 0002C424  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 800307C8 0002C428  FC 00 00 1E */	fctiwz f0, f0
/* 800307CC 0002C42C  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 800307D0 0002C430  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 800307D4 0002C434  48 00 00 0C */	b lbl_800307E0
lbl_800307D8:
/* 800307D8 0002C438  38 7E 00 08 */	addi r3, r30, 8
/* 800307DC 0002C43C  48 1F D5 59 */	bl func_8022DD34
lbl_800307E0:
/* 800307E0 0002C440  7C 7B 1B 78 */	mr r27, r3
lbl_800307E4:
/* 800307E4 0002C444  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 800307E8 0002C448  2C 00 00 01 */	cmpwi r0, 1
/* 800307EC 0002C44C  40 82 00 0C */	bne lbl_800307F8
/* 800307F0 0002C450  83 9E 00 14 */	lwz r28, 0x14(r30)
/* 800307F4 0002C454  48 00 00 2C */	b lbl_80030820
lbl_800307F8:
/* 800307F8 0002C458  2C 00 00 02 */	cmpwi r0, 2
/* 800307FC 0002C45C  40 82 00 18 */	bne lbl_80030814
/* 80030800 0002C460  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80030804 0002C464  FC 00 00 1E */	fctiwz f0, f0
/* 80030808 0002C468  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 8003080C 0002C46C  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030810 0002C470  48 00 00 0C */	b lbl_8003081C
lbl_80030814:
/* 80030814 0002C474  38 7E 00 10 */	addi r3, r30, 0x10
/* 80030818 0002C478  48 1F D5 1D */	bl func_8022DD34
lbl_8003081C:
/* 8003081C 0002C47C  7C 7C 1B 78 */	mr r28, r3
lbl_80030820:
/* 80030820 0002C480  A8 1E 00 18 */	lha r0, 0x18(r30)
/* 80030824 0002C484  2C 00 00 01 */	cmpwi r0, 1
/* 80030828 0002C488  40 82 00 0C */	bne lbl_80030834
/* 8003082C 0002C48C  83 BE 00 1C */	lwz r29, 0x1c(r30)
/* 80030830 0002C490  48 00 00 2C */	b lbl_8003085C
lbl_80030834:
/* 80030834 0002C494  2C 00 00 02 */	cmpwi r0, 2
/* 80030838 0002C498  40 82 00 18 */	bne lbl_80030850
/* 8003083C 0002C49C  C0 1E 00 1C */	lfs f0, 0x1c(r30)
/* 80030840 0002C4A0  FC 00 00 1E */	fctiwz f0, f0
/* 80030844 0002C4A4  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030848 0002C4A8  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 8003084C 0002C4AC  48 00 00 0C */	b lbl_80030858
lbl_80030850:
/* 80030850 0002C4B0  38 7E 00 18 */	addi r3, r30, 0x18
/* 80030854 0002C4B4  48 1F D4 E1 */	bl func_8022DD34
lbl_80030858:
/* 80030858 0002C4B8  7C 7D 1B 78 */	mr r29, r3
lbl_8003085C:
/* 8003085C 0002C4BC  A8 1E 00 20 */	lha r0, 0x20(r30)
/* 80030860 0002C4C0  2C 00 00 01 */	cmpwi r0, 1
/* 80030864 0002C4C4  40 82 00 0C */	bne lbl_80030870
/* 80030868 0002C4C8  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 8003086C 0002C4CC  48 00 00 28 */	b lbl_80030894
lbl_80030870:
/* 80030870 0002C4D0  2C 00 00 02 */	cmpwi r0, 2
/* 80030874 0002C4D4  40 82 00 18 */	bne lbl_8003088C
/* 80030878 0002C4D8  C0 1E 00 24 */	lfs f0, 0x24(r30)
/* 8003087C 0002C4DC  FC 00 00 1E */	fctiwz f0, f0
/* 80030880 0002C4E0  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030884 0002C4E4  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030888 0002C4E8  48 00 00 0C */	b lbl_80030894
lbl_8003088C:
/* 8003088C 0002C4EC  38 7E 00 20 */	addi r3, r30, 0x20
/* 80030890 0002C4F0  48 1F D4 A5 */	bl func_8022DD34
lbl_80030894:
/* 80030894 0002C4F4  9B 7F 00 14 */	stb r27, 0x14(r31)
/* 80030898 0002C4F8  9B 9F 00 15 */	stb r28, 0x15(r31)
/* 8003089C 0002C4FC  9B BF 00 16 */	stb r29, 0x16(r31)
/* 800308A0 0002C500  98 7F 00 17 */	stb r3, 0x17(r31)
/* 800308A4 0002C504  48 00 02 A8 */	b lbl_80030B4C
/* 800308A8 0002C508  A8 1E 00 08 */	lha r0, 8(r30)
/* 800308AC 0002C50C  2C 00 00 01 */	cmpwi r0, 1
/* 800308B0 0002C510  40 82 00 0C */	bne lbl_800308BC
/* 800308B4 0002C514  83 7E 00 0C */	lwz r27, 0xc(r30)
/* 800308B8 0002C518  48 00 00 2C */	b lbl_800308E4
lbl_800308BC:
/* 800308BC 0002C51C  2C 00 00 02 */	cmpwi r0, 2
/* 800308C0 0002C520  40 82 00 18 */	bne lbl_800308D8
/* 800308C4 0002C524  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 800308C8 0002C528  FC 00 00 1E */	fctiwz f0, f0
/* 800308CC 0002C52C  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 800308D0 0002C530  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 800308D4 0002C534  48 00 00 0C */	b lbl_800308E0
lbl_800308D8:
/* 800308D8 0002C538  38 7E 00 08 */	addi r3, r30, 8
/* 800308DC 0002C53C  48 1F D4 59 */	bl func_8022DD34
lbl_800308E0:
/* 800308E0 0002C540  7C 7B 1B 78 */	mr r27, r3
lbl_800308E4:
/* 800308E4 0002C544  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 800308E8 0002C548  2C 00 00 01 */	cmpwi r0, 1
/* 800308EC 0002C54C  40 82 00 0C */	bne lbl_800308F8
/* 800308F0 0002C550  83 9E 00 14 */	lwz r28, 0x14(r30)
/* 800308F4 0002C554  48 00 00 2C */	b lbl_80030920
lbl_800308F8:
/* 800308F8 0002C558  2C 00 00 02 */	cmpwi r0, 2
/* 800308FC 0002C55C  40 82 00 18 */	bne lbl_80030914
/* 80030900 0002C560  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80030904 0002C564  FC 00 00 1E */	fctiwz f0, f0
/* 80030908 0002C568  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 8003090C 0002C56C  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030910 0002C570  48 00 00 0C */	b lbl_8003091C
lbl_80030914:
/* 80030914 0002C574  38 7E 00 10 */	addi r3, r30, 0x10
/* 80030918 0002C578  48 1F D4 1D */	bl func_8022DD34
lbl_8003091C:
/* 8003091C 0002C57C  7C 7C 1B 78 */	mr r28, r3
lbl_80030920:
/* 80030920 0002C580  A8 1E 00 18 */	lha r0, 0x18(r30)
/* 80030924 0002C584  2C 00 00 01 */	cmpwi r0, 1
/* 80030928 0002C588  40 82 00 0C */	bne lbl_80030934
/* 8003092C 0002C58C  83 BE 00 1C */	lwz r29, 0x1c(r30)
/* 80030930 0002C590  48 00 00 2C */	b lbl_8003095C
lbl_80030934:
/* 80030934 0002C594  2C 00 00 02 */	cmpwi r0, 2
/* 80030938 0002C598  40 82 00 18 */	bne lbl_80030950
/* 8003093C 0002C59C  C0 1E 00 1C */	lfs f0, 0x1c(r30)
/* 80030940 0002C5A0  FC 00 00 1E */	fctiwz f0, f0
/* 80030944 0002C5A4  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030948 0002C5A8  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 8003094C 0002C5AC  48 00 00 0C */	b lbl_80030958
lbl_80030950:
/* 80030950 0002C5B0  38 7E 00 18 */	addi r3, r30, 0x18
/* 80030954 0002C5B4  48 1F D3 E1 */	bl func_8022DD34
lbl_80030958:
/* 80030958 0002C5B8  7C 7D 1B 78 */	mr r29, r3
lbl_8003095C:
/* 8003095C 0002C5BC  A8 1E 00 20 */	lha r0, 0x20(r30)
/* 80030960 0002C5C0  2C 00 00 01 */	cmpwi r0, 1
/* 80030964 0002C5C4  40 82 00 0C */	bne lbl_80030970
/* 80030968 0002C5C8  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 8003096C 0002C5CC  48 00 00 28 */	b lbl_80030994
lbl_80030970:
/* 80030970 0002C5D0  2C 00 00 02 */	cmpwi r0, 2
/* 80030974 0002C5D4  40 82 00 18 */	bne lbl_8003098C
/* 80030978 0002C5D8  C0 1E 00 24 */	lfs f0, 0x24(r30)
/* 8003097C 0002C5DC  FC 00 00 1E */	fctiwz f0, f0
/* 80030980 0002C5E0  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030984 0002C5E4  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030988 0002C5E8  48 00 00 0C */	b lbl_80030994
lbl_8003098C:
/* 8003098C 0002C5EC  38 7E 00 20 */	addi r3, r30, 0x20
/* 80030990 0002C5F0  48 1F D3 A5 */	bl func_8022DD34
lbl_80030994:
/* 80030994 0002C5F4  9B 7F 00 18 */	stb r27, 0x18(r31)
/* 80030998 0002C5F8  9B 9F 00 19 */	stb r28, 0x19(r31)
/* 8003099C 0002C5FC  9B BF 00 1A */	stb r29, 0x1a(r31)
/* 800309A0 0002C600  98 7F 00 1B */	stb r3, 0x1b(r31)
/* 800309A4 0002C604  48 00 01 A8 */	b lbl_80030B4C
/* 800309A8 0002C608  A8 1E 00 08 */	lha r0, 8(r30)
/* 800309AC 0002C60C  2C 00 00 01 */	cmpwi r0, 1
/* 800309B0 0002C610  40 82 00 0C */	bne lbl_800309BC
/* 800309B4 0002C614  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 800309B8 0002C618  48 00 00 2C */	b lbl_800309E4
lbl_800309BC:
/* 800309BC 0002C61C  2C 00 00 02 */	cmpwi r0, 2
/* 800309C0 0002C620  40 82 00 18 */	bne lbl_800309D8
/* 800309C4 0002C624  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 800309C8 0002C628  FC 00 00 1E */	fctiwz f0, f0
/* 800309CC 0002C62C  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 800309D0 0002C630  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 800309D4 0002C634  48 00 00 0C */	b lbl_800309E0
lbl_800309D8:
/* 800309D8 0002C638  38 7E 00 08 */	addi r3, r30, 8
/* 800309DC 0002C63C  48 1F D3 59 */	bl func_8022DD34
lbl_800309E0:
/* 800309E0 0002C640  7C 64 1B 78 */	mr r4, r3
lbl_800309E4:
/* 800309E4 0002C644  7F E3 FB 78 */	mr r3, r31
/* 800309E8 0002C648  48 01 42 B1 */	bl func_80044C98
/* 800309EC 0002C64C  48 00 01 60 */	b lbl_80030B4C
/* 800309F0 0002C650  A8 1E 00 08 */	lha r0, 8(r30)
/* 800309F4 0002C654  2C 00 00 01 */	cmpwi r0, 1
/* 800309F8 0002C658  40 82 00 0C */	bne lbl_80030A04
/* 800309FC 0002C65C  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80030A00 0002C660  48 00 00 28 */	b lbl_80030A28
lbl_80030A04:
/* 80030A04 0002C664  2C 00 00 02 */	cmpwi r0, 2
/* 80030A08 0002C668  40 82 00 18 */	bne lbl_80030A20
/* 80030A0C 0002C66C  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030A10 0002C670  FC 00 00 1E */	fctiwz f0, f0
/* 80030A14 0002C674  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030A18 0002C678  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030A1C 0002C67C  48 00 00 0C */	b lbl_80030A28
lbl_80030A20:
/* 80030A20 0002C680  38 7E 00 08 */	addi r3, r30, 8
/* 80030A24 0002C684  48 1F D3 11 */	bl func_8022DD34
lbl_80030A28:
/* 80030A28 0002C688  2C 03 00 00 */	cmpwi r3, 0
/* 80030A2C 0002C68C  41 82 00 14 */	beq lbl_80030A40
/* 80030A30 0002C690  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 80030A34 0002C694  60 00 00 01 */	ori r0, r0, 1
/* 80030A38 0002C698  90 1F 00 20 */	stw r0, 0x20(r31)
/* 80030A3C 0002C69C  48 00 01 10 */	b lbl_80030B4C
lbl_80030A40:
/* 80030A40 0002C6A0  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 80030A44 0002C6A4  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80030A48 0002C6A8  90 1F 00 20 */	stw r0, 0x20(r31)
/* 80030A4C 0002C6AC  48 00 01 00 */	b lbl_80030B4C
/* 80030A50 0002C6B0  A8 1E 00 08 */	lha r0, 8(r30)
/* 80030A54 0002C6B4  2C 00 00 01 */	cmpwi r0, 1
/* 80030A58 0002C6B8  40 82 00 0C */	bne lbl_80030A64
/* 80030A5C 0002C6BC  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80030A60 0002C6C0  48 00 00 28 */	b lbl_80030A88
lbl_80030A64:
/* 80030A64 0002C6C4  2C 00 00 02 */	cmpwi r0, 2
/* 80030A68 0002C6C8  40 82 00 18 */	bne lbl_80030A80
/* 80030A6C 0002C6CC  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030A70 0002C6D0  FC 00 00 1E */	fctiwz f0, f0
/* 80030A74 0002C6D4  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030A78 0002C6D8  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030A7C 0002C6DC  48 00 00 0C */	b lbl_80030A88
lbl_80030A80:
/* 80030A80 0002C6E0  38 7E 00 08 */	addi r3, r30, 8
/* 80030A84 0002C6E4  48 1F D2 B1 */	bl func_8022DD34
lbl_80030A88:
/* 80030A88 0002C6E8  2C 03 00 00 */	cmpwi r3, 0
/* 80030A8C 0002C6EC  40 82 00 14 */	bne lbl_80030AA0
/* 80030A90 0002C6F0  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 80030A94 0002C6F4  54 00 06 6E */	rlwinm r0, r0, 0, 0x19, 0x17
/* 80030A98 0002C6F8  90 1F 00 20 */	stw r0, 0x20(r31)
/* 80030A9C 0002C6FC  48 00 00 B0 */	b lbl_80030B4C
lbl_80030AA0:
/* 80030AA0 0002C700  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 80030AA4 0002C704  60 00 00 80 */	ori r0, r0, 0x80
/* 80030AA8 0002C708  90 1F 00 20 */	stw r0, 0x20(r31)
/* 80030AAC 0002C70C  48 00 00 A0 */	b lbl_80030B4C
/* 80030AB0 0002C710  7F E3 FB 78 */	mr r3, r31
/* 80030AB4 0002C714  48 01 42 1D */	bl func_80044CD0
/* 80030AB8 0002C718  38 00 00 01 */	li r0, 1
/* 80030ABC 0002C71C  90 7B 00 04 */	stw r3, 4(r27)
/* 80030AC0 0002C720  B0 1B 00 00 */	sth r0, 0(r27)
/* 80030AC4 0002C724  48 00 00 88 */	b lbl_80030B4C
/* 80030AC8 0002C728  A8 1E 00 08 */	lha r0, 8(r30)
/* 80030ACC 0002C72C  2C 00 00 01 */	cmpwi r0, 1
/* 80030AD0 0002C730  40 82 00 0C */	bne lbl_80030ADC
/* 80030AD4 0002C734  83 7E 00 0C */	lwz r27, 0xc(r30)
/* 80030AD8 0002C738  48 00 00 2C */	b lbl_80030B04
lbl_80030ADC:
/* 80030ADC 0002C73C  2C 00 00 02 */	cmpwi r0, 2
/* 80030AE0 0002C740  40 82 00 18 */	bne lbl_80030AF8
/* 80030AE4 0002C744  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80030AE8 0002C748  FC 00 00 1E */	fctiwz f0, f0
/* 80030AEC 0002C74C  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030AF0 0002C750  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030AF4 0002C754  48 00 00 0C */	b lbl_80030B00
lbl_80030AF8:
/* 80030AF8 0002C758  38 7E 00 08 */	addi r3, r30, 8
/* 80030AFC 0002C75C  48 1F D2 39 */	bl func_8022DD34
lbl_80030B00:
/* 80030B00 0002C760  7C 7B 1B 78 */	mr r27, r3
lbl_80030B04:
/* 80030B04 0002C764  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 80030B08 0002C768  2C 00 00 01 */	cmpwi r0, 1
/* 80030B0C 0002C76C  40 82 00 0C */	bne lbl_80030B18
/* 80030B10 0002C770  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 80030B14 0002C774  48 00 00 2C */	b lbl_80030B40
lbl_80030B18:
/* 80030B18 0002C778  2C 00 00 02 */	cmpwi r0, 2
/* 80030B1C 0002C77C  40 82 00 18 */	bne lbl_80030B34
/* 80030B20 0002C780  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80030B24 0002C784  FC 00 00 1E */	fctiwz f0, f0
/* 80030B28 0002C788  D8 01 00 18 */	stfd f0, 0x18(r1)
/* 80030B2C 0002C78C  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 80030B30 0002C790  48 00 00 0C */	b lbl_80030B3C
lbl_80030B34:
/* 80030B34 0002C794  38 7E 00 10 */	addi r3, r30, 0x10
/* 80030B38 0002C798  48 1F D1 FD */	bl func_8022DD34
lbl_80030B3C:
/* 80030B3C 0002C79C  7C 65 1B 78 */	mr r5, r3
lbl_80030B40:
/* 80030B40 0002C7A0  7F E3 FB 78 */	mr r3, r31
/* 80030B44 0002C7A4  7F 64 DB 78 */	mr r4, r27
/* 80030B48 0002C7A8  48 01 41 45 */	bl func_80044C8C
lbl_80030B4C:
/* 80030B4C 0002C7AC  38 60 00 01 */	li r3, 1
lbl_80030B50:
/* 80030B50 0002C7B0  E3 E1 00 68 */	psq_l f31, 104(r1), 0, qr0
/* 80030B54 0002C7B4  CB E1 00 60 */	lfd f31, 0x60(r1)
/* 80030B58 0002C7B8  E3 C1 00 58 */	psq_l f30, 88(r1), 0, qr0
/* 80030B5C 0002C7BC  CB C1 00 50 */	lfd f30, 0x50(r1)
/* 80030B60 0002C7C0  E3 A1 00 48 */	psq_l f29, 72(r1), 0, qr0
/* 80030B64 0002C7C4  39 61 00 40 */	addi r11, r1, 0x40
/* 80030B68 0002C7C8  CB A1 00 40 */	lfd f29, 0x40(r1)
/* 80030B6C 0002C7CC  48 19 66 09 */	bl _restgpr_27
/* 80030B70 0002C7D0  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80030B74 0002C7D4  7C 08 03 A6 */	mtlr r0
/* 80030B78 0002C7D8  38 21 00 70 */	addi r1, r1, 0x70
/* 80030B7C 0002C7DC  4E 80 00 20 */	blr

.global func_80030B80
func_80030B80:
/* 80030B80 0002C7E0  38 A0 00 01 */	li r5, 1
/* 80030B84 0002C7E4  38 6D 97 50 */	addi r3, r13, lbl_8063EA10-_SDA_BASE_
/* 80030B88 0002C7E8  38 80 00 04 */	li r4, 4
/* 80030B8C 0002C7EC  38 00 00 00 */	li r0, 0
/* 80030B90 0002C7F0  98 AD 97 50 */	stb r5, lbl_8063EA10-_SDA_BASE_(r13)
/* 80030B94 0002C7F4  B0 83 00 02 */	sth r4, 2(r3)
/* 80030B98 0002C7F8  98 03 00 04 */	stb r0, 4(r3)
/* 80030B9C 0002C7FC  4E 80 00 20 */	blr