summaryrefslogtreecommitdiff
path: root/asm/code_800310D8.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_800310D8.s')
-rw-r--r--asm/code_800310D8.s323
1 files changed, 323 insertions, 0 deletions
diff --git a/asm/code_800310D8.s b/asm/code_800310D8.s
new file mode 100644
index 0000000..cc93939
--- /dev/null
+++ b/asm/code_800310D8.s
@@ -0,0 +1,323 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global lbl_800310D8
+lbl_800310D8:
+/* 800310D8 0002CD38 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 800310DC 0002CD3C 7C 08 02 A6 */ mflr r0
+/* 800310E0 0002CD40 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 800310E4 0002CD44 39 61 00 B0 */ addi r11, r1, 0xb0
+/* 800310E8 0002CD48 48 19 60 41 */ bl _savegpr_27
+/* 800310EC 0002CD4C 7C 7B 1B 78 */ mr r27, r3
+/* 800310F0 0002CD50 7C 9C 23 78 */ mr r28, r4
+/* 800310F4 0002CD54 7C BD 2B 78 */ mr r29, r5
+/* 800310F8 0002CD58 7C DE 33 78 */ mr r30, r6
+/* 800310FC 0002CD5C 3B E0 00 00 */ li r31, 0
+/* 80031100 0002CD60 48 01 C7 0D */ bl func_8004D80C
+/* 80031104 0002CD64 2C 03 00 00 */ cmpwi r3, 0
+/* 80031108 0002CD68 40 82 00 0C */ bne lbl_80031114
+/* 8003110C 0002CD6C 38 60 00 01 */ li r3, 1
+/* 80031110 0002CD70 48 00 03 FC */ b lbl_8003150C
+lbl_80031114:
+/* 80031114 0002CD74 2C 1C 00 01 */ cmpwi r28, 1
+/* 80031118 0002CD78 41 82 00 24 */ beq lbl_8003113C
+/* 8003111C 0002CD7C A8 1D 00 00 */ lha r0, 0(r29)
+/* 80031120 0002CD80 2C 00 00 2C */ cmpwi r0, 0x2c
+/* 80031124 0002CD84 40 82 00 18 */ bne lbl_8003113C
+/* 80031128 0002CD88 83 FD 00 04 */ lwz r31, 4(r29)
+/* 8003112C 0002CD8C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80031130 0002CD90 40 82 00 0C */ bne lbl_8003113C
+/* 80031134 0002CD94 38 60 00 01 */ li r3, 1
+/* 80031138 0002CD98 48 00 03 D4 */ b lbl_8003150C
+lbl_8003113C:
+/* 8003113C 0002CD9C 28 1C 00 25 */ cmplwi r28, 0x25
+/* 80031140 0002CDA0 41 81 03 C8 */ bgt lbl_80031508
+/* 80031144 0002CDA4 3C 80 80 41 */ lis r4, lbl_8040A058@ha
+/* 80031148 0002CDA8 57 80 10 3A */ slwi r0, r28, 2
+/* 8003114C 0002CDAC 38 84 A0 58 */ addi r4, r4, lbl_8040A058@l
+/* 80031150 0002CDB0 7C 84 00 2E */ lwzx r4, r4, r0
+/* 80031154 0002CDB4 7C 89 03 A6 */ mtctr r4
+/* 80031158 0002CDB8 4E 80 04 20 */ bctr
+/* 8003115C 0002CDBC 48 01 CC 3D */ bl func_8004DD98
+/* 80031160 0002CDC0 2C 03 00 00 */ cmpwi r3, 0
+/* 80031164 0002CDC4 41 82 03 A4 */ beq lbl_80031508
+/* 80031168 0002CDC8 38 80 00 2C */ li r4, 0x2c
+/* 8003116C 0002CDCC 38 00 00 01 */ li r0, 1
+/* 80031170 0002CDD0 B0 9E 00 00 */ sth r4, 0(r30)
+/* 80031174 0002CDD4 B0 1E 00 02 */ sth r0, 2(r30)
+/* 80031178 0002CDD8 90 7E 00 04 */ stw r3, 4(r30)
+/* 8003117C 0002CDDC 48 00 03 8C */ b lbl_80031508
+/* 80031180 0002CDE0 2C 1F 00 00 */ cmpwi r31, 0
+/* 80031184 0002CDE4 41 82 03 84 */ beq lbl_80031508
+/* 80031188 0002CDE8 7F E4 FB 78 */ mr r4, r31
+/* 8003118C 0002CDEC 48 01 CC 41 */ bl func_8004DDCC
+/* 80031190 0002CDF0 38 00 00 00 */ li r0, 0
+/* 80031194 0002CDF4 38 60 00 01 */ li r3, 1
+/* 80031198 0002CDF8 B0 7D 00 00 */ sth r3, 0(r29)
+/* 8003119C 0002CDFC B0 1D 00 02 */ sth r0, 2(r29)
+/* 800311A0 0002CE00 90 1D 00 04 */ stw r0, 4(r29)
+/* 800311A4 0002CE04 48 00 03 64 */ b lbl_80031508
+/* 800311A8 0002CE08 A8 1D 00 08 */ lha r0, 8(r29)
+/* 800311AC 0002CE0C 2C 00 00 03 */ cmpwi r0, 3
+/* 800311B0 0002CE10 40 82 00 0C */ bne lbl_800311BC
+/* 800311B4 0002CE14 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 800311B8 0002CE18 48 00 00 10 */ b lbl_800311C8
+lbl_800311BC:
+/* 800311BC 0002CE1C 38 7D 00 08 */ addi r3, r29, 8
+/* 800311C0 0002CE20 38 9B 09 A0 */ addi r4, r27, 0x9a0
+/* 800311C4 0002CE24 4B FF 71 ED */ bl func_800283B0
+lbl_800311C8:
+/* 800311C8 0002CE28 3C 80 80 41 */ lis r4, lbl_8040A048@ha
+/* 800311CC 0002CE2C 7C 65 1B 78 */ mr r5, r3
+/* 800311D0 0002CE30 38 61 00 08 */ addi r3, r1, 8
+/* 800311D4 0002CE34 38 84 A0 48 */ addi r4, r4, lbl_8040A048@l
+/* 800311D8 0002CE38 4C C6 31 82 */ crclr 6
+/* 800311DC 0002CE3C 48 19 B9 21 */ bl sprintf
+/* 800311E0 0002CE40 7F E3 FB 78 */ mr r3, r31
+/* 800311E4 0002CE44 38 81 00 08 */ addi r4, r1, 8
+/* 800311E8 0002CE48 48 01 69 95 */ bl func_80047B7C
+/* 800311EC 0002CE4C 2C 03 00 00 */ cmpwi r3, 0
+/* 800311F0 0002CE50 41 82 00 14 */ beq lbl_80031204
+/* 800311F4 0002CE54 38 00 00 01 */ li r0, 1
+/* 800311F8 0002CE58 B0 1E 00 00 */ sth r0, 0(r30)
+/* 800311FC 0002CE5C 90 1E 00 04 */ stw r0, 4(r30)
+/* 80031200 0002CE60 48 00 03 08 */ b lbl_80031508
+lbl_80031204:
+/* 80031204 0002CE64 38 60 00 01 */ li r3, 1
+/* 80031208 0002CE68 38 00 00 00 */ li r0, 0
+/* 8003120C 0002CE6C B0 7E 00 00 */ sth r3, 0(r30)
+/* 80031210 0002CE70 90 1E 00 04 */ stw r0, 4(r30)
+/* 80031214 0002CE74 48 00 02 F4 */ b lbl_80031508
+/* 80031218 0002CE78 A8 1D 00 08 */ lha r0, 8(r29)
+/* 8003121C 0002CE7C 2C 00 00 21 */ cmpwi r0, 0x21
+/* 80031220 0002CE80 40 82 00 1C */ bne lbl_8003123C
+/* 80031224 0002CE84 80 9D 00 0C */ lwz r4, 0xc(r29)
+/* 80031228 0002CE88 2C 04 00 00 */ cmpwi r4, 0
+/* 8003122C 0002CE8C 41 82 00 10 */ beq lbl_8003123C
+/* 80031230 0002CE90 7F E3 FB 78 */ mr r3, r31
+/* 80031234 0002CE94 48 01 6C B1 */ bl func_80047EE4
+/* 80031238 0002CE98 48 00 02 D0 */ b lbl_80031508
+lbl_8003123C:
+/* 8003123C 0002CE9C 7F E3 FB 78 */ mr r3, r31
+/* 80031240 0002CEA0 38 80 00 00 */ li r4, 0
+/* 80031244 0002CEA4 48 01 6C A1 */ bl func_80047EE4
+/* 80031248 0002CEA8 48 00 02 C0 */ b lbl_80031508
+/* 8003124C 0002CEAC A8 1D 00 08 */ lha r0, 8(r29)
+/* 80031250 0002CEB0 2C 00 00 01 */ cmpwi r0, 1
+/* 80031254 0002CEB4 40 82 00 28 */ bne lbl_8003127C
+/* 80031258 0002CEB8 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 8003125C 0002CEBC 3C 00 43 30 */ lis r0, 0x4330
+/* 80031260 0002CEC0 90 01 00 88 */ stw r0, 0x88(r1)
+/* 80031264 0002CEC4 6C 60 80 00 */ xoris r0, r3, 0x8000
+/* 80031268 0002CEC8 C8 22 81 80 */ lfd f1, lbl_80640780-_SDA2_BASE_(r2)
+/* 8003126C 0002CECC 90 01 00 8C */ stw r0, 0x8c(r1)
+/* 80031270 0002CED0 C8 01 00 88 */ lfd f0, 0x88(r1)
+/* 80031274 0002CED4 EC 20 08 28 */ fsubs f1, f0, f1
+/* 80031278 0002CED8 48 00 00 1C */ b lbl_80031294
+lbl_8003127C:
+/* 8003127C 0002CEDC 2C 00 00 02 */ cmpwi r0, 2
+/* 80031280 0002CEE0 40 82 00 0C */ bne lbl_8003128C
+/* 80031284 0002CEE4 C0 3D 00 0C */ lfs f1, 0xc(r29)
+/* 80031288 0002CEE8 48 00 00 0C */ b lbl_80031294
+lbl_8003128C:
+/* 8003128C 0002CEEC 38 7D 00 08 */ addi r3, r29, 8
+/* 80031290 0002CEF0 48 1F CA E9 */ bl func_8022DD78
+lbl_80031294:
+/* 80031294 0002CEF4 7F E3 FB 78 */ mr r3, r31
+/* 80031298 0002CEF8 48 01 6F 71 */ bl func_80048208
+/* 8003129C 0002CEFC 48 00 02 6C */ b lbl_80031508
+/* 800312A0 0002CF00 7F E3 FB 78 */ mr r3, r31
+/* 800312A4 0002CF04 48 01 6F 49 */ bl func_800481EC
+/* 800312A8 0002CF08 48 00 02 60 */ b lbl_80031508
+/* 800312AC 0002CF0C 7F E3 FB 78 */ mr r3, r31
+/* 800312B0 0002CF10 48 01 6F FD */ bl func_800482AC
+/* 800312B4 0002CF14 48 00 02 54 */ b lbl_80031508
+/* 800312B8 0002CF18 A8 1D 00 08 */ lha r0, 8(r29)
+/* 800312BC 0002CF1C 2C 00 00 01 */ cmpwi r0, 1
+/* 800312C0 0002CF20 40 82 00 0C */ bne lbl_800312CC
+/* 800312C4 0002CF24 80 9D 00 0C */ lwz r4, 0xc(r29)
+/* 800312C8 0002CF28 48 00 00 2C */ b lbl_800312F4
+lbl_800312CC:
+/* 800312CC 0002CF2C 2C 00 00 02 */ cmpwi r0, 2
+/* 800312D0 0002CF30 40 82 00 18 */ bne lbl_800312E8
+/* 800312D4 0002CF34 C0 1D 00 0C */ lfs f0, 0xc(r29)
+/* 800312D8 0002CF38 FC 00 00 1E */ fctiwz f0, f0
+/* 800312DC 0002CF3C D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 800312E0 0002CF40 80 61 00 8C */ lwz r3, 0x8c(r1)
+/* 800312E4 0002CF44 48 00 00 0C */ b lbl_800312F0
+lbl_800312E8:
+/* 800312E8 0002CF48 38 7D 00 08 */ addi r3, r29, 8
+/* 800312EC 0002CF4C 48 1F CA 49 */ bl func_8022DD34
+lbl_800312F0:
+/* 800312F0 0002CF50 7C 64 1B 78 */ mr r4, r3
+lbl_800312F4:
+/* 800312F4 0002CF54 7F E3 FB 78 */ mr r3, r31
+/* 800312F8 0002CF58 48 01 6F 95 */ bl func_8004828C
+/* 800312FC 0002CF5C 38 00 00 01 */ li r0, 1
+/* 80031300 0002CF60 90 7E 00 04 */ stw r3, 4(r30)
+/* 80031304 0002CF64 B0 1E 00 00 */ sth r0, 0(r30)
+/* 80031308 0002CF68 48 00 02 00 */ b lbl_80031508
+/* 8003130C 0002CF6C 7F E3 FB 78 */ mr r3, r31
+/* 80031310 0002CF70 38 80 00 00 */ li r4, 0
+/* 80031314 0002CF74 48 01 6F 79 */ bl func_8004828C
+/* 80031318 0002CF78 38 00 00 01 */ li r0, 1
+/* 8003131C 0002CF7C 90 7E 00 04 */ stw r3, 4(r30)
+/* 80031320 0002CF80 B0 1E 00 00 */ sth r0, 0(r30)
+/* 80031324 0002CF84 48 00 01 E4 */ b lbl_80031508
+/* 80031328 0002CF88 C0 1F 00 10 */ lfs f0, 0x10(r31)
+/* 8003132C 0002CF8C 38 00 00 02 */ li r0, 2
+/* 80031330 0002CF90 B0 1E 00 00 */ sth r0, 0(r30)
+/* 80031334 0002CF94 D0 1E 00 04 */ stfs f0, 4(r30)
+/* 80031338 0002CF98 48 00 01 D0 */ b lbl_80031508
+/* 8003133C 0002CF9C C0 1F 00 0C */ lfs f0, 0xc(r31)
+/* 80031340 0002CFA0 38 00 00 02 */ li r0, 2
+/* 80031344 0002CFA4 B0 1E 00 00 */ sth r0, 0(r30)
+/* 80031348 0002CFA8 D0 1E 00 04 */ stfs f0, 4(r30)
+/* 8003134C 0002CFAC 48 00 01 BC */ b lbl_80031508
+/* 80031350 0002CFB0 38 60 00 01 */ li r3, 1
+/* 80031354 0002CFB4 38 00 00 00 */ li r0, 0
+/* 80031358 0002CFB8 B0 7E 00 00 */ sth r3, 0(r30)
+/* 8003135C 0002CFBC 90 1E 00 04 */ stw r0, 4(r30)
+/* 80031360 0002CFC0 A8 1D 00 08 */ lha r0, 8(r29)
+/* 80031364 0002CFC4 2C 80 00 01 */ cmpwi cr1, r0, 1
+/* 80031368 0002CFC8 40 86 01 A0 */ bne cr1, lbl_80031508
+/* 8003136C 0002CFCC 83 8D 96 F0 */ lwz r28, lbl_8063E9B0-_SDA_BASE_(r13)
+/* 80031370 0002CFD0 2C 1C 00 00 */ cmpwi r28, 0
+/* 80031374 0002CFD4 41 82 01 94 */ beq lbl_80031508
+/* 80031378 0002CFD8 40 86 00 0C */ bne cr1, lbl_80031384
+/* 8003137C 0002CFDC 83 BD 00 0C */ lwz r29, 0xc(r29)
+/* 80031380 0002CFE0 48 00 00 2C */ b lbl_800313AC
+lbl_80031384:
+/* 80031384 0002CFE4 2C 00 00 02 */ cmpwi r0, 2
+/* 80031388 0002CFE8 40 82 00 18 */ bne lbl_800313A0
+/* 8003138C 0002CFEC C0 1D 00 0C */ lfs f0, 0xc(r29)
+/* 80031390 0002CFF0 FC 00 00 1E */ fctiwz f0, f0
+/* 80031394 0002CFF4 D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 80031398 0002CFF8 80 61 00 8C */ lwz r3, 0x8c(r1)
+/* 8003139C 0002CFFC 48 00 00 0C */ b lbl_800313A8
+lbl_800313A0:
+/* 800313A0 0002D000 38 7D 00 08 */ addi r3, r29, 8
+/* 800313A4 0002D004 48 1F C9 91 */ bl func_8022DD34
+lbl_800313A8:
+/* 800313A8 0002D008 7C 7D 1B 78 */ mr r29, r3
+lbl_800313AC:
+/* 800313AC 0002D00C 7F 83 E3 78 */ mr r3, r28
+/* 800313B0 0002D010 4B FF 3F B9 */ bl func_80025368
+/* 800313B4 0002D014 7C 64 1B 78 */ mr r4, r3
+/* 800313B8 0002D018 7F E3 FB 78 */ mr r3, r31
+/* 800313BC 0002D01C 7F A5 EB 78 */ mr r5, r29
+/* 800313C0 0002D020 48 01 68 1D */ bl func_80047BDC
+/* 800313C4 0002D024 2C 03 00 00 */ cmpwi r3, 0
+/* 800313C8 0002D028 41 82 01 40 */ beq lbl_80031508
+/* 800313CC 0002D02C 38 00 00 01 */ li r0, 1
+/* 800313D0 0002D030 B0 1E 00 00 */ sth r0, 0(r30)
+/* 800313D4 0002D034 90 1E 00 04 */ stw r0, 4(r30)
+/* 800313D8 0002D038 48 00 01 30 */ b lbl_80031508
+/* 800313DC 0002D03C 38 60 00 01 */ li r3, 1
+/* 800313E0 0002D040 38 00 00 00 */ li r0, 0
+/* 800313E4 0002D044 B0 7E 00 00 */ sth r3, 0(r30)
+/* 800313E8 0002D048 90 1E 00 04 */ stw r0, 4(r30)
+/* 800313EC 0002D04C A8 1D 00 08 */ lha r0, 8(r29)
+/* 800313F0 0002D050 2C 00 00 01 */ cmpwi r0, 1
+/* 800313F4 0002D054 40 82 01 14 */ bne lbl_80031508
+/* 800313F8 0002D058 40 82 00 0C */ bne lbl_80031404
+/* 800313FC 0002D05C 83 9D 00 0C */ lwz r28, 0xc(r29)
+/* 80031400 0002D060 48 00 00 2C */ b lbl_8003142C
+lbl_80031404:
+/* 80031404 0002D064 2C 00 00 02 */ cmpwi r0, 2
+/* 80031408 0002D068 40 82 00 18 */ bne lbl_80031420
+/* 8003140C 0002D06C C0 1D 00 0C */ lfs f0, 0xc(r29)
+/* 80031410 0002D070 FC 00 00 1E */ fctiwz f0, f0
+/* 80031414 0002D074 D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 80031418 0002D078 80 61 00 8C */ lwz r3, 0x8c(r1)
+/* 8003141C 0002D07C 48 00 00 0C */ b lbl_80031428
+lbl_80031420:
+/* 80031420 0002D080 38 7D 00 08 */ addi r3, r29, 8
+/* 80031424 0002D084 48 1F C9 11 */ bl func_8022DD34
+lbl_80031428:
+/* 80031428 0002D088 7C 7C 1B 78 */ mr r28, r3
+lbl_8003142C:
+/* 8003142C 0002D08C A8 1D 00 10 */ lha r0, 0x10(r29)
+/* 80031430 0002D090 2C 00 00 01 */ cmpwi r0, 1
+/* 80031434 0002D094 40 82 00 0C */ bne lbl_80031440
+/* 80031438 0002D098 80 BD 00 14 */ lwz r5, 0x14(r29)
+/* 8003143C 0002D09C 48 00 00 2C */ b lbl_80031468
+lbl_80031440:
+/* 80031440 0002D0A0 2C 00 00 02 */ cmpwi r0, 2
+/* 80031444 0002D0A4 40 82 00 18 */ bne lbl_8003145C
+/* 80031448 0002D0A8 C0 1D 00 14 */ lfs f0, 0x14(r29)
+/* 8003144C 0002D0AC FC 00 00 1E */ fctiwz f0, f0
+/* 80031450 0002D0B0 D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 80031454 0002D0B4 80 61 00 8C */ lwz r3, 0x8c(r1)
+/* 80031458 0002D0B8 48 00 00 0C */ b lbl_80031464
+lbl_8003145C:
+/* 8003145C 0002D0BC 38 7D 00 10 */ addi r3, r29, 0x10
+/* 80031460 0002D0C0 48 1F C8 D5 */ bl func_8022DD34
+lbl_80031464:
+/* 80031464 0002D0C4 7C 65 1B 78 */ mr r5, r3
+lbl_80031468:
+/* 80031468 0002D0C8 7F E3 FB 78 */ mr r3, r31
+/* 8003146C 0002D0CC 7F 84 E3 78 */ mr r4, r28
+/* 80031470 0002D0D0 48 01 67 6D */ bl func_80047BDC
+/* 80031474 0002D0D4 2C 03 00 00 */ cmpwi r3, 0
+/* 80031478 0002D0D8 41 82 00 90 */ beq lbl_80031508
+/* 8003147C 0002D0DC 38 00 00 01 */ li r0, 1
+/* 80031480 0002D0E0 B0 1E 00 00 */ sth r0, 0(r30)
+/* 80031484 0002D0E4 90 1E 00 04 */ stw r0, 4(r30)
+/* 80031488 0002D0E8 48 00 00 80 */ b lbl_80031508
+/* 8003148C 0002D0EC A8 1D 00 08 */ lha r0, 8(r29)
+/* 80031490 0002D0F0 2C 00 00 01 */ cmpwi r0, 1
+/* 80031494 0002D0F4 40 82 00 0C */ bne lbl_800314A0
+/* 80031498 0002D0F8 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 8003149C 0002D0FC 48 00 00 28 */ b lbl_800314C4
+lbl_800314A0:
+/* 800314A0 0002D100 2C 00 00 02 */ cmpwi r0, 2
+/* 800314A4 0002D104 40 82 00 18 */ bne lbl_800314BC
+/* 800314A8 0002D108 C0 1D 00 0C */ lfs f0, 0xc(r29)
+/* 800314AC 0002D10C FC 00 00 1E */ fctiwz f0, f0
+/* 800314B0 0002D110 D8 01 00 88 */ stfd f0, 0x88(r1)
+/* 800314B4 0002D114 80 61 00 8C */ lwz r3, 0x8c(r1)
+/* 800314B8 0002D118 48 00 00 0C */ b lbl_800314C4
+lbl_800314BC:
+/* 800314BC 0002D11C 38 7D 00 08 */ addi r3, r29, 8
+/* 800314C0 0002D120 48 1F C8 75 */ bl func_8022DD34
+lbl_800314C4:
+/* 800314C4 0002D124 90 7F 00 20 */ stw r3, 0x20(r31)
+/* 800314C8 0002D128 48 00 00 40 */ b lbl_80031508
+/* 800314CC 0002D12C 38 00 00 00 */ li r0, 0
+/* 800314D0 0002D130 B0 1E 00 02 */ sth r0, 2(r30)
+/* 800314D4 0002D134 80 1F 00 34 */ lwz r0, 0x34(r31)
+/* 800314D8 0002D138 2C 00 00 00 */ cmpwi r0, 0
+/* 800314DC 0002D13C 90 1E 00 04 */ stw r0, 4(r30)
+/* 800314E0 0002D140 41 82 00 10 */ beq lbl_800314F0
+/* 800314E4 0002D144 38 00 00 21 */ li r0, 0x21
+/* 800314E8 0002D148 B0 1E 00 00 */ sth r0, 0(r30)
+/* 800314EC 0002D14C 48 00 00 1C */ b lbl_80031508
+lbl_800314F0:
+/* 800314F0 0002D150 38 00 00 01 */ li r0, 1
+/* 800314F4 0002D154 B0 1E 00 00 */ sth r0, 0(r30)
+/* 800314F8 0002D158 48 00 00 10 */ b lbl_80031508
+/* 800314FC 0002D15C 80 1F 00 00 */ lwz r0, 0(r31)
+/* 80031500 0002D160 60 00 00 20 */ ori r0, r0, 0x20
+/* 80031504 0002D164 90 1F 00 00 */ stw r0, 0(r31)
+lbl_80031508:
+/* 80031508 0002D168 38 60 00 01 */ li r3, 1
+lbl_8003150C:
+/* 8003150C 0002D16C 39 61 00 B0 */ addi r11, r1, 0xb0
+/* 80031510 0002D170 48 19 5C 65 */ bl _restgpr_27
+/* 80031514 0002D174 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 80031518 0002D178 7C 08 03 A6 */ mtlr r0
+/* 8003151C 0002D17C 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 80031520 0002D180 4E 80 00 20 */ blr
+
+.global func_80031524
+func_80031524:
+/* 80031524 0002D184 38 A0 00 01 */ li r5, 1
+/* 80031528 0002D188 38 6D 97 60 */ addi r3, r13, lbl_8063EA20-_SDA_BASE_
+/* 8003152C 0002D18C 38 80 00 04 */ li r4, 4
+/* 80031530 0002D190 38 00 00 00 */ li r0, 0
+/* 80031534 0002D194 98 AD 97 60 */ stb r5, lbl_8063EA20-_SDA_BASE_(r13)
+/* 80031538 0002D198 B0 83 00 02 */ sth r4, 2(r3)
+/* 8003153C 0002D19C 98 03 00 04 */ stb r0, 4(r3)
+/* 80031540 0002D1A0 4E 80 00 20 */ blr