summaryrefslogtreecommitdiff
path: root/asm/code_8017B4B8.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_8017B4B8.s')
-rw-r--r--asm/code_8017B4B8.s1209
1 files changed, 1209 insertions, 0 deletions
diff --git a/asm/code_8017B4B8.s b/asm/code_8017B4B8.s
new file mode 100644
index 0000000..b496403
--- /dev/null
+++ b/asm/code_8017B4B8.s
@@ -0,0 +1,1209 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_8017B4B8
+func_8017B4B8:
+/* 8017B4B8 00177118 3C 60 80 49 */ lis r3, lbl_8048DF68@ha
+/* 8017B4BC 0017711C 38 80 00 00 */ li r4, 0
+/* 8017B4C0 00177120 38 63 DF 68 */ addi r3, r3, lbl_8048DF68@l
+/* 8017B4C4 00177124 38 A0 00 20 */ li r5, 0x20
+/* 8017B4C8 00177128 4B E8 8C 3C */ b memset
+
+.global func_8017B4CC
+func_8017B4CC:
+/* 8017B4CC 0017712C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8017B4D0 00177130 7C 08 02 A6 */ mflr r0
+/* 8017B4D4 00177134 38 80 00 A0 */ li r4, 0xa0
+/* 8017B4D8 00177138 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8017B4DC 0017713C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017B4E0 00177140 48 05 F7 B5 */ bl func_801DAC94
+/* 8017B4E4 00177144 90 6D 9F 68 */ stw r3, lbl_8063F228-_SDA_BASE_(r13)
+/* 8017B4E8 00177148 4B FF FF D1 */ bl func_8017B4B8
+/* 8017B4EC 0017714C 3C 80 80 49 */ lis r4, lbl_8048DF88@ha
+/* 8017B4F0 00177150 38 00 00 00 */ li r0, 0
+/* 8017B4F4 00177154 38 64 DF 88 */ addi r3, r4, lbl_8048DF88@l
+/* 8017B4F8 00177158 90 04 DF 88 */ stw r0, -0x2078(r4)
+/* 8017B4FC 0017715C 90 03 00 04 */ stw r0, 4(r3)
+/* 8017B500 00177160 90 03 00 08 */ stw r0, 8(r3)
+/* 8017B504 00177164 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8017B508 00177168 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8017B50C 0017716C 7C 08 03 A6 */ mtlr r0
+/* 8017B510 00177170 38 21 00 10 */ addi r1, r1, 0x10
+/* 8017B514 00177174 4E 80 00 20 */ blr
+
+.global func_8017B518
+func_8017B518:
+/* 8017B518 00177178 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017B51C 0017717C 80 8D 9F 68 */ lwz r4, lbl_8063F228-_SDA_BASE_(r13)
+/* 8017B520 00177180 48 05 F8 28 */ b func_801DAD48
+
+.global func_8017B524
+func_8017B524:
+/* 8017B524 00177184 3C 80 80 49 */ lis r4, lbl_8048DF88@ha
+/* 8017B528 00177188 54 60 10 3A */ slwi r0, r3, 2
+/* 8017B52C 0017718C 38 84 DF 88 */ addi r4, r4, lbl_8048DF88@l
+/* 8017B530 00177190 7C 64 00 2E */ lwzx r3, r4, r0
+/* 8017B534 00177194 4E 80 00 20 */ blr
+
+.global func_8017B538
+func_8017B538:
+/* 8017B538 00177198 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8017B53C 0017719C 7C 08 02 A6 */ mflr r0
+/* 8017B540 001771A0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8017B544 001771A4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8017B548 001771A8 7C 7F 1B 78 */ mr r31, r3
+/* 8017B54C 001771AC 38 63 00 08 */ addi r3, r3, 8
+/* 8017B550 001771B0 4B FF 3E AD */ bl func_8016F3FC
+/* 8017B554 001771B4 90 7F 00 0C */ stw r3, 0xc(r31)
+/* 8017B558 001771B8 38 7F 00 10 */ addi r3, r31, 0x10
+/* 8017B55C 001771BC 4B FF 3E B1 */ bl func_8016F40C
+/* 8017B560 001771C0 90 7F 00 14 */ stw r3, 0x14(r31)
+/* 8017B564 001771C4 38 7F 00 18 */ addi r3, r31, 0x18
+/* 8017B568 001771C8 4B FF 41 D5 */ bl func_8016F73C
+/* 8017B56C 001771CC 90 7F 00 1C */ stw r3, 0x1c(r31)
+/* 8017B570 001771D0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8017B574 001771D4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8017B578 001771D8 7C 08 03 A6 */ mtlr r0
+/* 8017B57C 001771DC 38 21 00 10 */ addi r1, r1, 0x10
+/* 8017B580 001771E0 4E 80 00 20 */ blr
+
+.global func_8017B584
+func_8017B584:
+/* 8017B584 001771E4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8017B588 001771E8 7C 08 02 A6 */ mflr r0
+/* 8017B58C 001771EC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8017B590 001771F0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8017B594 001771F4 3B E0 00 00 */ li r31, 0
+/* 8017B598 001771F8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8017B59C 001771FC 7C 9E 23 78 */ mr r30, r4
+/* 8017B5A0 00177200 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8017B5A4 00177204 7C 7D 1B 78 */ mr r29, r3
+/* 8017B5A8 00177208 80 A3 00 08 */ lwz r5, 8(r3)
+/* 8017B5AC 0017720C 2C 05 00 00 */ cmpwi r5, 0
+/* 8017B5B0 00177210 41 82 00 58 */ beq lbl_8017B608
+/* 8017B5B4 00177214 80 03 00 00 */ lwz r0, 0(r3)
+/* 8017B5B8 00177218 7C 00 28 40 */ cmplw r0, r5
+/* 8017B5BC 0017721C 40 80 00 4C */ bge lbl_8017B608
+/* 8017B5C0 00177220 38 00 00 02 */ li r0, 2
+/* 8017B5C4 00177224 98 04 00 05 */ stb r0, 5(r4)
+/* 8017B5C8 00177228 80 A3 00 00 */ lwz r5, 0(r3)
+/* 8017B5CC 0017722C 80 03 00 08 */ lwz r0, 8(r3)
+/* 8017B5D0 00177230 7C 05 00 50 */ subf r0, r5, r0
+/* 8017B5D4 00177234 90 04 00 14 */ stw r0, 0x14(r4)
+/* 8017B5D8 00177238 7C 04 03 78 */ mr r4, r0
+/* 8017B5DC 0017723C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017B5E0 00177240 48 05 F6 B5 */ bl func_801DAC94
+/* 8017B5E4 00177244 7C 7F 1B 78 */ mr r31, r3
+/* 8017B5E8 00177248 80 7D 00 00 */ lwz r3, 0(r29)
+/* 8017B5EC 0017724C 7F E4 FB 78 */ mr r4, r31
+/* 8017B5F0 00177250 4B FF 4A ED */ bl func_801700DC
+/* 8017B5F4 00177254 93 FE 00 10 */ stw r31, 0x10(r30)
+/* 8017B5F8 00177258 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 8017B5FC 0017725C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 8017B600 00177260 7C 03 02 14 */ add r0, r3, r0
+/* 8017B604 00177264 90 1D 00 00 */ stw r0, 0(r29)
+lbl_8017B608:
+/* 8017B608 00177268 80 1D 00 10 */ lwz r0, 0x10(r29)
+/* 8017B60C 0017726C 2C 00 00 00 */ cmpwi r0, 0
+/* 8017B610 00177270 41 82 00 48 */ beq lbl_8017B658
+/* 8017B614 00177274 80 7D 00 04 */ lwz r3, 4(r29)
+/* 8017B618 00177278 7C 03 00 40 */ cmplw r3, r0
+/* 8017B61C 0017727C 40 80 00 3C */ bge lbl_8017B658
+/* 8017B620 00177280 1C 03 00 24 */ mulli r0, r3, 0x24
+/* 8017B624 00177284 80 7D 00 14 */ lwz r3, 0x14(r29)
+/* 8017B628 00177288 7C 03 02 14 */ add r0, r3, r0
+/* 8017B62C 0017728C 90 1E 00 18 */ stw r0, 0x18(r30)
+/* 8017B630 00177290 80 7D 00 04 */ lwz r3, 4(r29)
+/* 8017B634 00177294 80 1D 00 10 */ lwz r0, 0x10(r29)
+/* 8017B638 00177298 7C 63 00 50 */ subf r3, r3, r0
+/* 8017B63C 0017729C 90 7E 00 1C */ stw r3, 0x1c(r30)
+/* 8017B640 001772A0 80 1D 00 04 */ lwz r0, 4(r29)
+/* 8017B644 001772A4 7C 00 1A 14 */ add r0, r0, r3
+/* 8017B648 001772A8 90 1D 00 04 */ stw r0, 4(r29)
+/* 8017B64C 001772AC 80 1E 00 1C */ lwz r0, 0x1c(r30)
+/* 8017B650 001772B0 1C 00 00 24 */ mulli r0, r0, 0x24
+/* 8017B654 001772B4 90 1E 00 1C */ stw r0, 0x1c(r30)
+lbl_8017B658:
+/* 8017B658 001772B8 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 8017B65C 001772BC 2C 00 00 00 */ cmpwi r0, 0
+/* 8017B660 001772C0 41 82 00 14 */ beq lbl_8017B674
+/* 8017B664 001772C4 80 1D 00 1C */ lwz r0, 0x1c(r29)
+/* 8017B668 001772C8 90 1E 00 20 */ stw r0, 0x20(r30)
+/* 8017B66C 001772CC 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 8017B670 001772D0 90 1E 00 24 */ stw r0, 0x24(r30)
+lbl_8017B674:
+/* 8017B674 001772D4 88 1E 00 06 */ lbz r0, 6(r30)
+/* 8017B678 001772D8 7F E3 FB 78 */ mr r3, r31
+/* 8017B67C 001772DC 60 00 00 01 */ ori r0, r0, 1
+/* 8017B680 001772E0 98 1E 00 06 */ stb r0, 6(r30)
+/* 8017B684 001772E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8017B688 001772E8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8017B68C 001772EC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8017B690 001772F0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8017B694 001772F4 7C 08 03 A6 */ mtlr r0
+/* 8017B698 001772F8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8017B69C 001772FC 4E 80 00 20 */ blr
+
+.global func_8017B6A0
+func_8017B6A0:
+/* 8017B6A0 00177300 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8017B6A4 00177304 7C 08 02 A6 */ mflr r0
+/* 8017B6A8 00177308 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8017B6AC 0017730C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8017B6B0 00177310 7C 7F 1B 78 */ mr r31, r3
+/* 8017B6B4 00177314 80 A3 00 1C */ lwz r5, 0x1c(r3)
+/* 8017B6B8 00177318 2C 05 00 00 */ cmpwi r5, 0
+/* 8017B6BC 0017731C 41 82 00 1C */ beq lbl_8017B6D8
+/* 8017B6C0 00177320 3C 80 38 E4 */ lis r4, 0x38E38E39@ha
+/* 8017B6C4 00177324 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 8017B6C8 00177328 38 04 8E 39 */ addi r0, r4, 0x38E38E39@l
+/* 8017B6CC 0017732C 7C 00 28 16 */ mulhwu r0, r0, r5
+/* 8017B6D0 00177330 54 04 E8 FE */ srwi r4, r0, 3
+/* 8017B6D4 00177334 4B FF 3D 49 */ bl func_8016F41C
+lbl_8017B6D8:
+/* 8017B6D8 00177338 80 9F 00 14 */ lwz r4, 0x14(r31)
+/* 8017B6DC 0017733C 2C 04 00 00 */ cmpwi r4, 0
+/* 8017B6E0 00177340 41 82 00 0C */ beq lbl_8017B6EC
+/* 8017B6E4 00177344 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 8017B6E8 00177348 4B FF 4D B5 */ bl func_8017049C
+lbl_8017B6EC:
+/* 8017B6EC 0017734C 80 9F 00 24 */ lwz r4, 0x24(r31)
+/* 8017B6F0 00177350 2C 04 00 00 */ cmpwi r4, 0
+/* 8017B6F4 00177354 41 82 00 0C */ beq lbl_8017B700
+/* 8017B6F8 00177358 80 7F 00 20 */ lwz r3, 0x20(r31)
+/* 8017B6FC 0017735C 4B FF 41 75 */ bl func_8016F870
+lbl_8017B700:
+/* 8017B700 00177360 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8017B704 00177364 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8017B708 00177368 7C 08 03 A6 */ mtlr r0
+/* 8017B70C 0017736C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8017B710 00177370 4E 80 00 20 */ blr
+
+.global func_8017B714
+func_8017B714:
+/* 8017B714 00177374 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8017B718 00177378 7C 08 02 A6 */ mflr r0
+/* 8017B71C 0017737C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8017B720 00177380 39 61 00 20 */ addi r11, r1, 0x20
+/* 8017B724 00177384 48 04 BA 01 */ bl _savegpr_26
+/* 8017B728 00177388 7C 9B 23 78 */ mr r27, r4
+/* 8017B72C 0017738C 7C 7A 1B 78 */ mr r26, r3
+/* 8017B730 00177390 7C BC 2B 78 */ mr r28, r5
+/* 8017B734 00177394 38 80 00 00 */ li r4, 0
+/* 8017B738 00177398 7F 63 DB 78 */ mr r3, r27
+/* 8017B73C 0017739C 38 A0 00 E8 */ li r5, 0xe8
+/* 8017B740 001773A0 4B E8 89 C5 */ bl memset
+/* 8017B744 001773A4 7F 7F DB 78 */ mr r31, r27
+/* 8017B748 001773A8 3B DB 00 48 */ addi r30, r27, 0x48
+/* 8017B74C 001773AC 3B A0 00 00 */ li r29, 0
+lbl_8017B750:
+/* 8017B750 001773B0 2C 1C 00 00 */ cmpwi r28, 0
+/* 8017B754 001773B4 40 82 00 0C */ bne lbl_8017B760
+/* 8017B758 001773B8 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
+/* 8017B75C 001773BC 41 82 00 14 */ beq lbl_8017B770
+lbl_8017B760:
+/* 8017B760 001773C0 2C 1C 00 00 */ cmpwi r28, 0
+/* 8017B764 001773C4 41 82 00 88 */ beq lbl_8017B7EC
+/* 8017B768 001773C8 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
+/* 8017B76C 001773CC 41 82 00 80 */ beq lbl_8017B7EC
+lbl_8017B770:
+/* 8017B770 001773D0 6B A5 00 01 */ xori r5, r29, 1
+/* 8017B774 001773D4 80 8D 9F 08 */ lwz r4, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B778 001773D8 54 A6 10 3A */ slwi r6, r5, 2
+/* 8017B77C 001773DC 7C 7B EA 14 */ add r3, r27, r29
+/* 8017B780 001773E0 7C 04 30 2E */ lwzx r0, r4, r6
+/* 8017B784 001773E4 90 1F 00 00 */ stw r0, 0(r31)
+/* 8017B788 001773E8 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B78C 001773EC 7C 80 32 14 */ add r4, r0, r6
+/* 8017B790 001773F0 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 8017B794 001773F4 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 8017B798 001773F8 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B79C 001773FC 7C 80 32 14 */ add r4, r0, r6
+/* 8017B7A0 00177400 80 04 00 20 */ lwz r0, 0x20(r4)
+/* 8017B7A4 00177404 90 1F 00 20 */ stw r0, 0x20(r31)
+/* 8017B7A8 00177408 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B7AC 0017740C 7C 80 32 14 */ add r4, r0, r6
+/* 8017B7B0 00177410 80 04 00 40 */ lwz r0, 0x40(r4)
+/* 8017B7B4 00177414 68 00 00 01 */ xori r0, r0, 1
+/* 8017B7B8 00177418 90 1F 00 30 */ stw r0, 0x30(r31)
+/* 8017B7BC 0017741C 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B7C0 00177420 7C 80 2A 14 */ add r4, r0, r5
+/* 8017B7C4 00177424 88 04 00 78 */ lbz r0, 0x78(r4)
+/* 8017B7C8 00177428 98 03 00 40 */ stb r0, 0x40(r3)
+/* 8017B7CC 0017742C 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B7D0 00177430 7C 60 32 14 */ add r3, r0, r6
+/* 8017B7D4 00177434 80 83 00 30 */ lwz r4, 0x30(r3)
+/* 8017B7D8 00177438 2C 04 00 00 */ cmpwi r4, 0
+/* 8017B7DC 0017743C 41 82 00 10 */ beq lbl_8017B7EC
+/* 8017B7E0 00177440 7F C3 F3 78 */ mr r3, r30
+/* 8017B7E4 00177444 38 A0 00 28 */ li r5, 0x28
+/* 8017B7E8 00177448 4B E8 88 19 */ bl memcpy
+lbl_8017B7EC:
+/* 8017B7EC 0017744C 80 8D 9F 08 */ lwz r4, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B7F0 00177450 6B A0 00 01 */ xori r0, r29, 1
+/* 8017B7F4 00177454 7C 7B EA 14 */ add r3, r27, r29
+/* 8017B7F8 00177458 3B BD 00 01 */ addi r29, r29, 1
+/* 8017B7FC 0017745C 7C 84 02 14 */ add r4, r4, r0
+/* 8017B800 00177460 3B FF 00 04 */ addi r31, r31, 4
+/* 8017B804 00177464 88 04 00 7C */ lbz r0, 0x7c(r4)
+/* 8017B808 00177468 2C 1D 00 04 */ cmpwi r29, 4
+/* 8017B80C 0017746C 3B DE 00 28 */ addi r30, r30, 0x28
+/* 8017B810 00177470 98 03 00 44 */ stb r0, 0x44(r3)
+/* 8017B814 00177474 41 80 FF 3C */ blt lbl_8017B750
+/* 8017B818 00177478 88 1A 00 06 */ lbz r0, 6(r26)
+/* 8017B81C 0017747C 38 60 00 E8 */ li r3, 0xe8
+/* 8017B820 00177480 93 7A 00 08 */ stw r27, 8(r26)
+/* 8017B824 00177484 39 61 00 20 */ addi r11, r1, 0x20
+/* 8017B828 00177488 60 00 00 02 */ ori r0, r0, 2
+/* 8017B82C 0017748C 90 7A 00 0C */ stw r3, 0xc(r26)
+/* 8017B830 00177490 98 1A 00 06 */ stb r0, 6(r26)
+/* 8017B834 00177494 48 04 B9 3D */ bl _restgpr_26
+/* 8017B838 00177498 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8017B83C 0017749C 7C 08 03 A6 */ mtlr r0
+/* 8017B840 001774A0 38 21 00 20 */ addi r1, r1, 0x20
+/* 8017B844 001774A4 4E 80 00 20 */ blr
+
+.global func_8017B848
+func_8017B848:
+/* 8017B848 001774A8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8017B84C 001774AC 7C 08 02 A6 */ mflr r0
+/* 8017B850 001774B0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8017B854 001774B4 39 61 00 30 */ addi r11, r1, 0x30
+/* 8017B858 001774B8 48 04 B8 C9 */ bl _savegpr_25
+/* 8017B85C 001774BC 83 63 00 08 */ lwz r27, 8(r3)
+/* 8017B860 001774C0 7C 9A 23 78 */ mr r26, r4
+/* 8017B864 001774C4 3B 80 00 00 */ li r28, 0
+/* 8017B868 001774C8 3B 20 00 00 */ li r25, 0
+/* 8017B86C 001774CC 7F 7F DB 78 */ mr r31, r27
+/* 8017B870 001774D0 3B BB 00 48 */ addi r29, r27, 0x48
+/* 8017B874 001774D4 3B C0 00 00 */ li r30, 0
+lbl_8017B878:
+/* 8017B878 001774D8 2C 1A 00 00 */ cmpwi r26, 0
+/* 8017B87C 001774DC 40 82 00 0C */ bne lbl_8017B888
+/* 8017B880 001774E0 57 80 07 FF */ clrlwi. r0, r28, 0x1f
+/* 8017B884 001774E4 41 82 00 14 */ beq lbl_8017B898
+lbl_8017B888:
+/* 8017B888 001774E8 2C 1A 00 00 */ cmpwi r26, 0
+/* 8017B88C 001774EC 41 82 00 88 */ beq lbl_8017B914
+/* 8017B890 001774F0 57 80 07 FF */ clrlwi. r0, r28, 0x1f
+/* 8017B894 001774F4 41 82 00 80 */ beq lbl_8017B914
+lbl_8017B898:
+/* 8017B898 001774F8 80 1F 00 00 */ lwz r0, 0(r31)
+/* 8017B89C 001774FC 7C 7B E2 14 */ add r3, r27, r28
+/* 8017B8A0 00177500 80 CD 9F 08 */ lwz r6, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B8A4 00177504 7F A4 EB 78 */ mr r4, r29
+/* 8017B8A8 00177508 38 A0 00 28 */ li r5, 0x28
+/* 8017B8AC 0017750C 7C 06 F1 2E */ stwx r0, r6, r30
+/* 8017B8B0 00177510 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B8B4 00177514 80 FF 00 10 */ lwz r7, 0x10(r31)
+/* 8017B8B8 00177518 7C C0 F2 14 */ add r6, r0, r30
+/* 8017B8BC 0017751C 90 E6 00 10 */ stw r7, 0x10(r6)
+/* 8017B8C0 00177520 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B8C4 00177524 80 FF 00 20 */ lwz r7, 0x20(r31)
+/* 8017B8C8 00177528 7C C0 F2 14 */ add r6, r0, r30
+/* 8017B8CC 0017752C 90 E6 00 20 */ stw r7, 0x20(r6)
+/* 8017B8D0 00177530 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B8D4 00177534 80 FF 00 30 */ lwz r7, 0x30(r31)
+/* 8017B8D8 00177538 7C C0 F2 14 */ add r6, r0, r30
+/* 8017B8DC 0017753C 90 E6 00 40 */ stw r7, 0x40(r6)
+/* 8017B8E0 00177540 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B8E4 00177544 88 C3 00 40 */ lbz r6, 0x40(r3)
+/* 8017B8E8 00177548 7C 60 E2 14 */ add r3, r0, r28
+/* 8017B8EC 0017754C 98 C3 00 78 */ stb r6, 0x78(r3)
+/* 8017B8F0 00177550 80 6D 9F 68 */ lwz r3, lbl_8063F228-_SDA_BASE_(r13)
+/* 8017B8F4 00177554 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B8F8 00177558 7C C3 CA 14 */ add r6, r3, r25
+/* 8017B8FC 0017755C 7C 60 F2 14 */ add r3, r0, r30
+/* 8017B900 00177560 90 C3 00 30 */ stw r6, 0x30(r3)
+/* 8017B904 00177564 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B908 00177568 7C 60 F2 14 */ add r3, r0, r30
+/* 8017B90C 0017756C 80 63 00 30 */ lwz r3, 0x30(r3)
+/* 8017B910 00177570 4B E8 86 F1 */ bl memcpy
+lbl_8017B914:
+/* 8017B914 00177574 3B 9C 00 01 */ addi r28, r28, 1
+/* 8017B918 00177578 3B DE 00 04 */ addi r30, r30, 4
+/* 8017B91C 0017757C 2C 1C 00 04 */ cmpwi r28, 4
+/* 8017B920 00177580 3B BD 00 28 */ addi r29, r29, 0x28
+/* 8017B924 00177584 3B 39 00 28 */ addi r25, r25, 0x28
+/* 8017B928 00177588 3B FF 00 04 */ addi r31, r31, 4
+/* 8017B92C 0017758C 41 80 FF 4C */ blt lbl_8017B878
+/* 8017B930 00177590 2C 1A 00 00 */ cmpwi r26, 0
+/* 8017B934 00177594 40 82 00 34 */ bne lbl_8017B968
+/* 8017B938 00177598 88 1B 00 44 */ lbz r0, 0x44(r27)
+/* 8017B93C 0017759C 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B940 001775A0 98 03 00 7C */ stb r0, 0x7c(r3)
+/* 8017B944 001775A4 88 1B 00 45 */ lbz r0, 0x45(r27)
+/* 8017B948 001775A8 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B94C 001775AC 98 03 00 7D */ stb r0, 0x7d(r3)
+/* 8017B950 001775B0 88 1B 00 46 */ lbz r0, 0x46(r27)
+/* 8017B954 001775B4 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B958 001775B8 98 03 00 7E */ stb r0, 0x7e(r3)
+/* 8017B95C 001775BC 88 1B 00 47 */ lbz r0, 0x47(r27)
+/* 8017B960 001775C0 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017B964 001775C4 98 03 00 7F */ stb r0, 0x7f(r3)
+lbl_8017B968:
+/* 8017B968 001775C8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8017B96C 001775CC 48 04 B8 01 */ bl _restgpr_25
+/* 8017B970 001775D0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8017B974 001775D4 7C 08 03 A6 */ mtlr r0
+/* 8017B978 001775D8 38 21 00 30 */ addi r1, r1, 0x30
+/* 8017B97C 001775DC 4E 80 00 20 */ blr
+
+.global func_8017B980
+func_8017B980:
+/* 8017B980 001775E0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8017B984 001775E4 7C 08 02 A6 */ mflr r0
+/* 8017B988 001775E8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8017B98C 001775EC 39 61 00 40 */ addi r11, r1, 0x40
+/* 8017B990 001775F0 48 04 B7 85 */ bl _savegpr_22
+/* 8017B994 001775F4 7C 7F 1B 78 */ mr r31, r3
+/* 8017B998 001775F8 48 23 0E 91 */ bl func_803AC828
+/* 8017B99C 001775FC 7C 79 1B 78 */ mr r25, r3
+/* 8017B9A0 00177600 48 23 0E A9 */ bl func_803AC848
+/* 8017B9A4 00177604 7C 78 1B 78 */ mr r24, r3
+/* 8017B9A8 00177608 48 24 D7 39 */ bl func_803C90E0
+/* 8017B9AC 0017760C 7C 77 1B 78 */ mr r23, r3
+/* 8017B9B0 00177610 48 26 2E 29 */ bl func_803DE7D8
+/* 8017B9B4 00177614 56 FD 10 3A */ slwi r29, r23, 2
+/* 8017B9B8 00177618 54 7E 08 3C */ slwi r30, r3, 1
+/* 8017B9BC 0017761C 7C 9E EA 14 */ add r4, r30, r29
+/* 8017B9C0 00177620 7C 7A 1B 78 */ mr r26, r3
+/* 8017B9C4 00177624 38 84 00 20 */ addi r4, r4, 0x20
+/* 8017B9C8 00177628 90 9F 00 2C */ stw r4, 0x2c(r31)
+/* 8017B9CC 0017762C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017B9D0 00177630 48 05 F2 C5 */ bl func_801DAC94
+/* 8017B9D4 00177634 90 7F 00 28 */ stw r3, 0x28(r31)
+/* 8017B9D8 00177638 38 80 00 0C */ li r4, 0xc
+/* 8017B9DC 0017763C 38 00 00 00 */ li r0, 0
+/* 8017B9E0 00177640 3B 63 00 08 */ addi r27, r3, 8
+/* 8017B9E4 00177644 B3 C3 00 00 */ sth r30, 0(r3)
+/* 8017B9E8 00177648 B3 A3 00 02 */ sth r29, 2(r3)
+/* 8017B9EC 0017764C B0 83 00 04 */ sth r4, 4(r3)
+/* 8017B9F0 00177650 B0 03 00 06 */ sth r0, 6(r3)
+/* 8017B9F4 00177654 48 00 0B 95 */ bl func_8017C588
+/* 8017B9F8 00177658 7C 76 1B 78 */ mr r22, r3
+/* 8017B9FC 0017765C 7F 23 CB 78 */ mr r3, r25
+/* 8017BA00 00177660 38 80 00 01 */ li r4, 1
+/* 8017BA04 00177664 48 23 0E 65 */ bl func_803AC868
+/* 8017BA08 00177668 7C 64 1B 78 */ mr r4, r3
+/* 8017BA0C 0017766C 7F 63 DB 78 */ mr r3, r27
+/* 8017BA10 00177670 7F 45 D3 78 */ mr r5, r26
+/* 8017BA14 00177674 4B E8 85 ED */ bl memcpy
+/* 8017BA18 00177678 2C 16 00 00 */ cmpwi r22, 0
+/* 8017BA1C 0017767C 41 82 00 14 */ beq lbl_8017BA30
+/* 8017BA20 00177680 7E C3 B3 78 */ mr r3, r22
+/* 8017BA24 00177684 7F 65 DB 78 */ mr r5, r27
+/* 8017BA28 00177688 38 80 00 01 */ li r4, 1
+/* 8017BA2C 0017768C 48 00 0D C5 */ bl func_8017C7F0
+lbl_8017BA30:
+/* 8017BA30 00177690 7F 23 CB 78 */ mr r3, r25
+/* 8017BA34 00177694 7F 7B D2 14 */ add r27, r27, r26
+/* 8017BA38 00177698 38 80 00 00 */ li r4, 0
+/* 8017BA3C 0017769C 48 23 0E 2D */ bl func_803AC868
+/* 8017BA40 001776A0 7C 64 1B 78 */ mr r4, r3
+/* 8017BA44 001776A4 7F 63 DB 78 */ mr r3, r27
+/* 8017BA48 001776A8 7F 45 D3 78 */ mr r5, r26
+/* 8017BA4C 001776AC 4B E8 85 B5 */ bl memcpy
+/* 8017BA50 001776B0 2C 16 00 00 */ cmpwi r22, 0
+/* 8017BA54 001776B4 41 82 00 14 */ beq lbl_8017BA68
+/* 8017BA58 001776B8 7E C3 B3 78 */ mr r3, r22
+/* 8017BA5C 001776BC 7F 65 DB 78 */ mr r5, r27
+/* 8017BA60 001776C0 38 80 00 00 */ li r4, 0
+/* 8017BA64 001776C4 48 00 0D 8D */ bl func_8017C7F0
+lbl_8017BA68:
+/* 8017BA68 001776C8 7F 7B D2 14 */ add r27, r27, r26
+/* 8017BA6C 001776CC 3B C1 00 08 */ addi r30, r1, 8
+/* 8017BA70 001776D0 3B 40 00 00 */ li r26, 0
+lbl_8017BA74:
+/* 8017BA74 001776D4 6B 5D 00 01 */ xori r29, r26, 1
+/* 8017BA78 001776D8 7F 03 C3 78 */ mr r3, r24
+/* 8017BA7C 001776DC 7F A4 EB 78 */ mr r4, r29
+/* 8017BA80 001776E0 48 24 D6 51 */ bl func_803C90D0
+/* 8017BA84 001776E4 7C 7C 1B 78 */ mr r28, r3
+/* 8017BA88 001776E8 7F 63 DB 78 */ mr r3, r27
+/* 8017BA8C 001776EC 7F 84 E3 78 */ mr r4, r28
+/* 8017BA90 001776F0 7E E5 BB 78 */ mr r5, r23
+/* 8017BA94 001776F4 4B E8 85 6D */ bl memcpy
+/* 8017BA98 001776F8 3B 5A 00 01 */ addi r26, r26, 1
+/* 8017BA9C 001776FC 57 A0 10 3A */ slwi r0, r29, 2
+/* 8017BAA0 00177700 2C 1A 00 04 */ cmpwi r26, 4
+/* 8017BAA4 00177704 7F 9E 01 2E */ stwx r28, r30, r0
+/* 8017BAA8 00177708 7F 7B BA 14 */ add r27, r27, r23
+/* 8017BAAC 0017770C 41 80 FF C8 */ blt lbl_8017BA74
+/* 8017BAB0 00177710 7F 23 CB 78 */ mr r3, r25
+/* 8017BAB4 00177714 38 80 00 01 */ li r4, 1
+/* 8017BAB8 00177718 48 24 D9 A1 */ bl func_803C9458
+/* 8017BABC 0017771C 7C 64 1B 78 */ mr r4, r3
+/* 8017BAC0 00177720 7F 63 DB 78 */ mr r3, r27
+/* 8017BAC4 00177724 38 A0 00 06 */ li r5, 6
+/* 8017BAC8 00177728 4B E8 85 39 */ bl memcpy
+/* 8017BACC 0017772C 2C 16 00 00 */ cmpwi r22, 0
+/* 8017BAD0 00177730 41 82 00 2C */ beq lbl_8017BAFC
+/* 8017BAD4 00177734 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 8017BAD8 00177738 7E C3 B3 78 */ mr r3, r22
+/* 8017BADC 0017773C 88 DB 00 00 */ lbz r6, 0(r27)
+/* 8017BAE0 00177740 38 80 00 01 */ li r4, 1
+/* 8017BAE4 00177744 48 00 0D B9 */ bl func_8017C89C
+/* 8017BAE8 00177748 80 A1 00 14 */ lwz r5, 0x14(r1)
+/* 8017BAEC 0017774C 7E C3 B3 78 */ mr r3, r22
+/* 8017BAF0 00177750 88 DB 00 01 */ lbz r6, 1(r27)
+/* 8017BAF4 00177754 38 80 00 01 */ li r4, 1
+/* 8017BAF8 00177758 48 00 0D A5 */ bl func_8017C89C
+lbl_8017BAFC:
+/* 8017BAFC 0017775C 7F 23 CB 78 */ mr r3, r25
+/* 8017BB00 00177760 38 80 00 00 */ li r4, 0
+/* 8017BB04 00177764 48 24 D9 55 */ bl func_803C9458
+/* 8017BB08 00177768 7C 64 1B 78 */ mr r4, r3
+/* 8017BB0C 0017776C 38 7B 00 06 */ addi r3, r27, 6
+/* 8017BB10 00177770 38 A0 00 06 */ li r5, 6
+/* 8017BB14 00177774 4B E8 84 ED */ bl memcpy
+/* 8017BB18 00177778 2C 16 00 00 */ cmpwi r22, 0
+/* 8017BB1C 0017777C 41 82 00 2C */ beq lbl_8017BB48
+/* 8017BB20 00177780 80 A1 00 08 */ lwz r5, 8(r1)
+/* 8017BB24 00177784 7E C3 B3 78 */ mr r3, r22
+/* 8017BB28 00177788 88 DB 00 06 */ lbz r6, 6(r27)
+/* 8017BB2C 0017778C 38 80 00 00 */ li r4, 0
+/* 8017BB30 00177790 48 00 0D 6D */ bl func_8017C89C
+/* 8017BB34 00177794 80 A1 00 10 */ lwz r5, 0x10(r1)
+/* 8017BB38 00177798 7E C3 B3 78 */ mr r3, r22
+/* 8017BB3C 0017779C 88 DB 00 07 */ lbz r6, 7(r27)
+/* 8017BB40 001777A0 38 80 00 00 */ li r4, 0
+/* 8017BB44 001777A4 48 00 0D 59 */ bl func_8017C89C
+lbl_8017BB48:
+/* 8017BB48 001777A8 3A DB 00 0C */ addi r22, r27, 0xc
+/* 8017BB4C 001777AC 3B 80 00 00 */ li r28, 0
+/* 8017BB50 001777B0 7E DE B3 78 */ mr r30, r22
+lbl_8017BB54:
+/* 8017BB54 001777B4 7F 23 CB 78 */ mr r3, r25
+/* 8017BB58 001777B8 7F 04 C3 78 */ mr r4, r24
+/* 8017BB5C 001777BC 6B 86 00 01 */ xori r6, r28, 1
+/* 8017BB60 001777C0 38 A0 00 02 */ li r5, 2
+/* 8017BB64 001777C4 48 24 D0 E5 */ bl func_803C8C48
+/* 8017BB68 001777C8 3B 9C 00 01 */ addi r28, r28, 1
+/* 8017BB6C 001777CC 98 7E 00 00 */ stb r3, 0(r30)
+/* 8017BB70 001777D0 2C 1C 00 04 */ cmpwi r28, 4
+/* 8017BB74 001777D4 3B DE 00 01 */ addi r30, r30, 1
+/* 8017BB78 001777D8 41 80 FF DC */ blt lbl_8017BB54
+/* 8017BB7C 001777DC 3B 80 00 00 */ li r28, 0
+lbl_8017BB80:
+/* 8017BB80 001777E0 7F 23 CB 78 */ mr r3, r25
+/* 8017BB84 001777E4 7F 04 C3 78 */ mr r4, r24
+/* 8017BB88 001777E8 6B 86 00 01 */ xori r6, r28, 1
+/* 8017BB8C 001777EC 38 A0 00 00 */ li r5, 0
+/* 8017BB90 001777F0 48 24 D0 B9 */ bl func_803C8C48
+/* 8017BB94 001777F4 3B 9C 00 01 */ addi r28, r28, 1
+/* 8017BB98 001777F8 94 76 00 04 */ stwu r3, 4(r22)
+/* 8017BB9C 001777FC 2C 1C 00 02 */ cmpwi r28, 2
+/* 8017BBA0 00177800 41 80 FF E0 */ blt lbl_8017BB80
+/* 8017BBA4 00177804 88 1F 00 06 */ lbz r0, 6(r31)
+/* 8017BBA8 00177808 39 61 00 40 */ addi r11, r1, 0x40
+/* 8017BBAC 0017780C 80 7F 00 28 */ lwz r3, 0x28(r31)
+/* 8017BBB0 00177810 60 00 00 04 */ ori r0, r0, 4
+/* 8017BBB4 00177814 98 1F 00 06 */ stb r0, 6(r31)
+/* 8017BBB8 00177818 48 04 B5 A9 */ bl _restgpr_22
+/* 8017BBBC 0017781C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8017BBC0 00177820 7C 08 03 A6 */ mtlr r0
+/* 8017BBC4 00177824 38 21 00 40 */ addi r1, r1, 0x40
+/* 8017BBC8 00177828 4E 80 00 20 */ blr
+
+.global func_8017BBCC
+func_8017BBCC:
+/* 8017BBCC 0017782C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8017BBD0 00177830 7C 08 02 A6 */ mflr r0
+/* 8017BBD4 00177834 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8017BBD8 00177838 39 61 00 30 */ addi r11, r1, 0x30
+/* 8017BBDC 0017783C 48 04 B5 45 */ bl _savegpr_25
+/* 8017BBE0 00177840 80 A3 00 28 */ lwz r5, 0x28(r3)
+/* 8017BBE4 00177844 3C 00 80 00 */ lis r0, 0x8000
+/* 8017BBE8 00177848 7C 79 1B 78 */ mr r25, r3
+/* 8017BBEC 0017784C 38 C0 00 00 */ li r6, 0
+/* 8017BBF0 00177850 7C 05 00 40 */ cmplw r5, r0
+/* 8017BBF4 00177854 41 80 00 18 */ blt lbl_8017BC0C
+/* 8017BBF8 00177858 3C 80 81 7F */ lis r4, 0x817F3960@ha
+/* 8017BBFC 0017785C 38 04 39 60 */ addi r0, r4, 0x817F3960@l
+/* 8017BC00 00177860 7C 05 00 40 */ cmplw r5, r0
+/* 8017BC04 00177864 40 80 00 08 */ bge lbl_8017BC0C
+/* 8017BC08 00177868 38 C0 00 01 */ li r6, 1
+lbl_8017BC0C:
+/* 8017BC0C 0017786C 3C 80 90 00 */ lis r4, 0x90000800@ha
+/* 8017BC10 00177870 38 04 08 00 */ addi r0, r4, 0x90000800@l
+/* 8017BC14 00177874 7C 05 00 40 */ cmplw r5, r0
+/* 8017BC18 00177878 41 80 00 14 */ blt lbl_8017BC2C
+/* 8017BC1C 0017787C 3C 00 93 3E */ lis r0, 0x933e
+/* 8017BC20 00177880 7C 05 00 40 */ cmplw r5, r0
+/* 8017BC24 00177884 40 80 00 08 */ bge lbl_8017BC2C
+/* 8017BC28 00177888 38 C0 00 01 */ li r6, 1
+lbl_8017BC2C:
+/* 8017BC2C 0017788C 80 03 00 2C */ lwz r0, 0x2c(r3)
+/* 8017BC30 00177890 28 00 07 D0 */ cmplwi r0, 0x7d0
+/* 8017BC34 00177894 41 80 00 10 */ blt lbl_8017BC44
+/* 8017BC38 00177898 28 00 0D AC */ cmplwi r0, 0xdac
+/* 8017BC3C 0017789C 40 80 00 08 */ bge lbl_8017BC44
+/* 8017BC40 001778A0 60 C6 00 02 */ ori r6, r6, 2
+lbl_8017BC44:
+/* 8017BC44 001778A4 2C 06 00 03 */ cmpwi r6, 3
+/* 8017BC48 001778A8 41 82 00 10 */ beq lbl_8017BC58
+/* 8017BC4C 001778AC 4B FE 96 E1 */ bl func_8016532C
+/* 8017BC50 001778B0 38 60 00 01 */ li r3, 1
+/* 8017BC54 001778B4 48 00 01 44 */ b lbl_8017BD98
+lbl_8017BC58:
+/* 8017BC58 001778B8 48 23 0B D1 */ bl func_803AC828
+/* 8017BC5C 001778BC 7C 7A 1B 78 */ mr r26, r3
+/* 8017BC60 001778C0 48 23 0B E9 */ bl func_803AC848
+/* 8017BC64 001778C4 83 79 00 28 */ lwz r27, 0x28(r25)
+/* 8017BC68 001778C8 7C 79 1B 78 */ mr r25, r3
+/* 8017BC6C 001778CC 7F 43 D3 78 */ mr r3, r26
+/* 8017BC70 001778D0 38 80 00 00 */ li r4, 0
+/* 8017BC74 001778D4 A0 1B 00 00 */ lhz r0, 0(r27)
+/* 8017BC78 001778D8 A0 BB 00 02 */ lhz r5, 2(r27)
+/* 8017BC7C 001778DC 7C 1F 0E 70 */ srawi r31, r0, 1
+/* 8017BC80 001778E0 A0 1B 00 04 */ lhz r0, 4(r27)
+/* 8017BC84 001778E4 7C BD 16 70 */ srawi r29, r5, 2
+/* 8017BC88 001778E8 3B 7B 00 08 */ addi r27, r27, 8
+/* 8017BC8C 001778EC 7C 1E 0E 70 */ srawi r30, r0, 1
+/* 8017BC90 001778F0 48 23 0B D9 */ bl func_803AC868
+/* 8017BC94 001778F4 7F 64 DB 78 */ mr r4, r27
+/* 8017BC98 001778F8 57 E5 04 3E */ clrlwi r5, r31, 0x10
+/* 8017BC9C 001778FC 4B E8 83 65 */ bl memcpy
+/* 8017BCA0 00177900 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 8017BCA4 00177904 7F 43 D3 78 */ mr r3, r26
+/* 8017BCA8 00177908 7F 7B 02 14 */ add r27, r27, r0
+/* 8017BCAC 0017790C 38 80 00 01 */ li r4, 1
+/* 8017BCB0 00177910 48 23 0B B9 */ bl func_803AC868
+/* 8017BCB4 00177914 7F 64 DB 78 */ mr r4, r27
+/* 8017BCB8 00177918 57 E5 04 3E */ clrlwi r5, r31, 0x10
+/* 8017BCBC 0017791C 4B E8 83 45 */ bl memcpy
+/* 8017BCC0 00177920 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 8017BCC4 00177924 57 BF 04 3E */ clrlwi r31, r29, 0x10
+/* 8017BCC8 00177928 7F 7B 02 14 */ add r27, r27, r0
+/* 8017BCCC 0017792C 3B 80 00 00 */ li r28, 0
+lbl_8017BCD0:
+/* 8017BCD0 00177930 7F 23 CB 78 */ mr r3, r25
+/* 8017BCD4 00177934 7F 84 E3 78 */ mr r4, r28
+/* 8017BCD8 00177938 48 24 D3 F9 */ bl func_803C90D0
+/* 8017BCDC 0017793C 7F 64 DB 78 */ mr r4, r27
+/* 8017BCE0 00177940 57 A5 04 3E */ clrlwi r5, r29, 0x10
+/* 8017BCE4 00177944 4B E8 83 1D */ bl memcpy
+/* 8017BCE8 00177948 3B 9C 00 01 */ addi r28, r28, 1
+/* 8017BCEC 0017794C 7F 7B FA 14 */ add r27, r27, r31
+/* 8017BCF0 00177950 2C 1C 00 04 */ cmpwi r28, 4
+/* 8017BCF4 00177954 41 80 FF DC */ blt lbl_8017BCD0
+/* 8017BCF8 00177958 7F 43 D3 78 */ mr r3, r26
+/* 8017BCFC 0017795C 38 80 00 00 */ li r4, 0
+/* 8017BD00 00177960 48 24 D7 59 */ bl func_803C9458
+/* 8017BD04 00177964 7F 64 DB 78 */ mr r4, r27
+/* 8017BD08 00177968 57 C5 04 3E */ clrlwi r5, r30, 0x10
+/* 8017BD0C 0017796C 4B E8 82 F5 */ bl memcpy
+/* 8017BD10 00177970 57 C0 04 3E */ clrlwi r0, r30, 0x10
+/* 8017BD14 00177974 7F 43 D3 78 */ mr r3, r26
+/* 8017BD18 00177978 7F 7B 02 14 */ add r27, r27, r0
+/* 8017BD1C 0017797C 38 80 00 01 */ li r4, 1
+/* 8017BD20 00177980 48 24 D7 39 */ bl func_803C9458
+/* 8017BD24 00177984 7F 64 DB 78 */ mr r4, r27
+/* 8017BD28 00177988 57 C5 04 3E */ clrlwi r5, r30, 0x10
+/* 8017BD2C 0017798C 4B E8 82 D5 */ bl memcpy
+/* 8017BD30 00177990 57 C0 04 3E */ clrlwi r0, r30, 0x10
+/* 8017BD34 00177994 3B A0 00 00 */ li r29, 0
+/* 8017BD38 00177998 7F 7B 02 14 */ add r27, r27, r0
+/* 8017BD3C 0017799C 7F 7F DB 78 */ mr r31, r27
+lbl_8017BD40:
+/* 8017BD40 001779A0 88 FF 00 00 */ lbz r7, 0(r31)
+/* 8017BD44 001779A4 7F 43 D3 78 */ mr r3, r26
+/* 8017BD48 001779A8 7F 24 CB 78 */ mr r4, r25
+/* 8017BD4C 001779AC 7F A6 EB 78 */ mr r6, r29
+/* 8017BD50 001779B0 38 A0 00 02 */ li r5, 2
+/* 8017BD54 001779B4 48 24 D0 59 */ bl func_803C8DAC
+/* 8017BD58 001779B8 3B BD 00 01 */ addi r29, r29, 1
+/* 8017BD5C 001779BC 3B FF 00 01 */ addi r31, r31, 1
+/* 8017BD60 001779C0 2C 1D 00 04 */ cmpwi r29, 4
+/* 8017BD64 001779C4 41 80 FF DC */ blt lbl_8017BD40
+/* 8017BD68 001779C8 3B A0 00 00 */ li r29, 0
+lbl_8017BD6C:
+/* 8017BD6C 001779CC 80 FB 00 04 */ lwz r7, 4(r27)
+/* 8017BD70 001779D0 7F 43 D3 78 */ mr r3, r26
+/* 8017BD74 001779D4 7F 24 CB 78 */ mr r4, r25
+/* 8017BD78 001779D8 7F A6 EB 78 */ mr r6, r29
+/* 8017BD7C 001779DC 38 A0 00 00 */ li r5, 0
+/* 8017BD80 001779E0 48 24 D0 2D */ bl func_803C8DAC
+/* 8017BD84 001779E4 3B BD 00 01 */ addi r29, r29, 1
+/* 8017BD88 001779E8 3B 7B 00 04 */ addi r27, r27, 4
+/* 8017BD8C 001779EC 2C 1D 00 02 */ cmpwi r29, 2
+/* 8017BD90 001779F0 41 80 FF DC */ blt lbl_8017BD6C
+/* 8017BD94 001779F4 38 60 00 00 */ li r3, 0
+lbl_8017BD98:
+/* 8017BD98 001779F8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8017BD9C 001779FC 48 04 B3 D1 */ bl _restgpr_25
+/* 8017BDA0 00177A00 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8017BDA4 00177A04 7C 08 03 A6 */ mtlr r0
+/* 8017BDA8 00177A08 38 21 00 30 */ addi r1, r1, 0x30
+/* 8017BDAC 00177A0C 4E 80 00 20 */ blr
+
+.global func_8017BDB0
+func_8017BDB0:
+/* 8017BDB0 00177A10 38 A0 00 28 */ li r5, 0x28
+/* 8017BDB4 00177A14 88 03 00 06 */ lbz r0, 6(r3)
+/* 8017BDB8 00177A18 90 A3 00 2C */ stw r5, 0x2c(r3)
+/* 8017BDBC 00177A1C 54 85 10 3A */ slwi r5, r4, 2
+/* 8017BDC0 00177A20 68 84 00 01 */ xori r4, r4, 1
+/* 8017BDC4 00177A24 60 00 00 08 */ ori r0, r0, 8
+/* 8017BDC8 00177A28 80 CD 9F 08 */ lwz r6, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017BDCC 00177A2C 7C A6 2A 14 */ add r5, r6, r5
+/* 8017BDD0 00177A30 80 A5 00 60 */ lwz r5, 0x60(r5)
+/* 8017BDD4 00177A34 90 A3 00 28 */ stw r5, 0x28(r3)
+/* 8017BDD8 00177A38 98 83 00 07 */ stb r4, 7(r3)
+/* 8017BDDC 00177A3C 98 03 00 06 */ stb r0, 6(r3)
+/* 8017BDE0 00177A40 4E 80 00 20 */ blr
+
+.global func_8017BDE4
+func_8017BDE4:
+/* 8017BDE4 00177A44 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8017BDE8 00177A48 7C 08 02 A6 */ mflr r0
+/* 8017BDEC 00177A4C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8017BDF0 00177A50 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8017BDF4 00177A54 7C 7F 1B 78 */ mr r31, r3
+/* 8017BDF8 00177A58 88 03 00 07 */ lbz r0, 7(r3)
+/* 8017BDFC 00177A5C 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017BE00 00177A60 54 00 10 3A */ slwi r0, r0, 2
+/* 8017BE04 00177A64 80 9F 00 28 */ lwz r4, 0x28(r31)
+/* 8017BE08 00177A68 7C 63 02 14 */ add r3, r3, r0
+/* 8017BE0C 00177A6C 80 BF 00 2C */ lwz r5, 0x2c(r31)
+/* 8017BE10 00177A70 80 63 00 60 */ lwz r3, 0x60(r3)
+/* 8017BE14 00177A74 4B E8 81 ED */ bl memcpy
+/* 8017BE18 00177A78 88 1F 00 07 */ lbz r0, 7(r31)
+/* 8017BE1C 00177A7C 38 81 00 08 */ addi r4, r1, 8
+/* 8017BE20 00177A80 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
+/* 8017BE24 00177A84 54 00 10 3A */ slwi r0, r0, 2
+/* 8017BE28 00177A88 7C 63 02 14 */ add r3, r3, r0
+/* 8017BE2C 00177A8C 83 E3 00 60 */ lwz r31, 0x60(r3)
+/* 8017BE30 00177A90 38 7F 00 04 */ addi r3, r31, 4
+/* 8017BE34 00177A94 48 25 DC B9 */ bl func_803D9AEC
+/* 8017BE38 00177A98 80 A1 00 08 */ lwz r5, 8(r1)
+/* 8017BE3C 00177A9C 7C 64 1B 78 */ mr r4, r3
+/* 8017BE40 00177AA0 38 7F 00 28 */ addi r3, r31, 0x28
+/* 8017BE44 00177AA4 4B E8 81 BD */ bl memcpy
+/* 8017BE48 00177AA8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8017BE4C 00177AAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8017BE50 00177AB0 7C 08 03 A6 */ mtlr r0
+/* 8017BE54 00177AB4 38 21 00 20 */ addi r1, r1, 0x20
+/* 8017BE58 00177AB8 4E 80 00 20 */ blr
+
+.global func_8017BE5C
+func_8017BE5C:
+/* 8017BE5C 00177ABC 88 03 00 06 */ lbz r0, 6(r3)
+/* 8017BE60 00177AC0 3C A0 80 49 */ lis r5, lbl_8048DF98@ha
+/* 8017BE64 00177AC4 54 84 10 3A */ slwi r4, r4, 2
+/* 8017BE68 00177AC8 38 A5 DF 98 */ addi r5, r5, lbl_8048DF98@l
+/* 8017BE6C 00177ACC 60 00 00 20 */ ori r0, r0, 0x20
+/* 8017BE70 00177AD0 90 83 00 2C */ stw r4, 0x2c(r3)
+/* 8017BE74 00177AD4 90 A3 00 28 */ stw r5, 0x28(r3)
+/* 8017BE78 00177AD8 98 03 00 06 */ stb r0, 6(r3)
+/* 8017BE7C 00177ADC 4E 80 00 20 */ blr
+
+.global func_8017BE80
+func_8017BE80:
+/* 8017BE80 00177AE0 80 03 00 2C */ lwz r0, 0x2c(r3)
+/* 8017BE84 00177AE4 39 00 00 00 */ li r8, 0
+/* 8017BE88 00177AE8 80 E3 00 28 */ lwz r7, 0x28(r3)
+/* 8017BE8C 00177AEC 7C 00 16 70 */ srawi r0, r0, 2
+/* 8017BE90 00177AF0 7C C0 01 94 */ addze r6, r0
+/* 8017BE94 00177AF4 2C 86 00 00 */ cmpwi cr1, r6, 0
+/* 8017BE98 00177AF8 4C 85 00 20 */ blelr cr1
+/* 8017BE9C 00177AFC 2C 06 00 08 */ cmpwi r6, 8
+/* 8017BEA0 00177B00 38 86 FF F8 */ addi r4, r6, -8
+/* 8017BEA4 00177B04 40 81 00 94 */ ble lbl_8017BF38
+/* 8017BEA8 00177B08 38 A0 00 00 */ li r5, 0
+/* 8017BEAC 00177B0C 41 84 00 18 */ blt cr1, lbl_8017BEC4
+/* 8017BEB0 00177B10 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
+/* 8017BEB4 00177B14 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
+/* 8017BEB8 00177B18 7C 06 00 00 */ cmpw r6, r0
+/* 8017BEBC 00177B1C 41 81 00 08 */ bgt lbl_8017BEC4
+/* 8017BEC0 00177B20 38 A0 00 01 */ li r5, 1
+lbl_8017BEC4:
+/* 8017BEC4 00177B24 2C 05 00 00 */ cmpwi r5, 0
+/* 8017BEC8 00177B28 41 82 00 70 */ beq lbl_8017BF38
+/* 8017BECC 00177B2C 38 04 00 07 */ addi r0, r4, 7
+/* 8017BED0 00177B30 3C 60 80 49 */ lis r3, lbl_8048DF88@ha
+/* 8017BED4 00177B34 54 00 E8 FE */ srwi r0, r0, 3
+/* 8017BED8 00177B38 38 63 DF 88 */ addi r3, r3, lbl_8048DF88@l
+/* 8017BEDC 00177B3C 7C 09 03 A6 */ mtctr r0
+/* 8017BEE0 00177B40 2C 04 00 00 */ cmpwi r4, 0
+/* 8017BEE4 00177B44 40 81 00 54 */ ble lbl_8017BF38
+lbl_8017BEE8:
+/* 8017BEE8 00177B48 80 07 00 00 */ lwz r0, 0(r7)
+/* 8017BEEC 00177B4C 39 08 00 08 */ addi r8, r8, 8
+/* 8017BEF0 00177B50 90 03 00 00 */ stw r0, 0(r3)
+/* 8017BEF4 00177B54 80 07 00 04 */ lwz r0, 4(r7)
+/* 8017BEF8 00177B58 90 03 00 04 */ stw r0, 4(r3)
+/* 8017BEFC 00177B5C 80 07 00 08 */ lwz r0, 8(r7)
+/* 8017BF00 00177B60 90 03 00 08 */ stw r0, 8(r3)
+/* 8017BF04 00177B64 80 07 00 0C */ lwz r0, 0xc(r7)
+/* 8017BF08 00177B68 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8017BF0C 00177B6C 80 07 00 10 */ lwz r0, 0x10(r7)
+/* 8017BF10 00177B70 90 03 00 10 */ stw r0, 0x10(r3)
+/* 8017BF14 00177B74 80 07 00 14 */ lwz r0, 0x14(r7)
+/* 8017BF18 00177B78 90 03 00 14 */ stw r0, 0x14(r3)
+/* 8017BF1C 00177B7C 80 07 00 18 */ lwz r0, 0x18(r7)
+/* 8017BF20 00177B80 90 03 00 18 */ stw r0, 0x18(r3)
+/* 8017BF24 00177B84 80 07 00 1C */ lwz r0, 0x1c(r7)
+/* 8017BF28 00177B88 38 E7 00 20 */ addi r7, r7, 0x20
+/* 8017BF2C 00177B8C 90 03 00 1C */ stw r0, 0x1c(r3)
+/* 8017BF30 00177B90 38 63 00 20 */ addi r3, r3, 0x20
+/* 8017BF34 00177B94 42 00 FF B4 */ bdnz lbl_8017BEE8
+lbl_8017BF38:
+/* 8017BF38 00177B98 3C 60 80 49 */ lis r3, lbl_8048DF88@ha
+/* 8017BF3C 00177B9C 55 04 10 3A */ slwi r4, r8, 2
+/* 8017BF40 00177BA0 38 63 DF 88 */ addi r3, r3, lbl_8048DF88@l
+/* 8017BF44 00177BA4 7C 08 30 50 */ subf r0, r8, r6
+/* 8017BF48 00177BA8 7C 63 22 14 */ add r3, r3, r4
+/* 8017BF4C 00177BAC 7C 09 03 A6 */ mtctr r0
+/* 8017BF50 00177BB0 7C 08 30 00 */ cmpw r8, r6
+/* 8017BF54 00177BB4 4C 80 00 20 */ bgelr
+lbl_8017BF58:
+/* 8017BF58 00177BB8 80 07 00 00 */ lwz r0, 0(r7)
+/* 8017BF5C 00177BBC 38 E7 00 04 */ addi r7, r7, 4
+/* 8017BF60 00177BC0 90 03 00 00 */ stw r0, 0(r3)
+/* 8017BF64 00177BC4 38 63 00 04 */ addi r3, r3, 4
+/* 8017BF68 00177BC8 42 00 FF F0 */ bdnz lbl_8017BF58
+/* 8017BF6C 00177BCC 4E 80 00 20 */ blr
+
+.global func_8017BF70
+func_8017BF70:
+/* 8017BF70 00177BD0 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 8017BF74 00177BD4 7C 08 02 A6 */ mflr r0
+/* 8017BF78 00177BD8 90 01 00 64 */ stw r0, 0x64(r1)
+/* 8017BF7C 00177BDC 39 61 00 60 */ addi r11, r1, 0x60
+/* 8017BF80 00177BE0 48 04 B1 A1 */ bl _savegpr_25
+/* 8017BF84 00177BE4 7C 79 1B 78 */ mr r25, r3
+/* 8017BF88 00177BE8 7C 9F 23 78 */ mr r31, r4
+/* 8017BF8C 00177BEC 7C BA 2B 78 */ mr r26, r5
+/* 8017BF90 00177BF0 38 61 00 08 */ addi r3, r1, 8
+/* 8017BF94 00177BF4 3B A0 00 00 */ li r29, 0
+/* 8017BF98 00177BF8 38 80 00 00 */ li r4, 0
+/* 8017BF9C 00177BFC 38 A0 00 30 */ li r5, 0x30
+/* 8017BFA0 00177C00 4B E8 81 65 */ bl memset
+/* 8017BFA4 00177C04 2C 19 00 0D */ cmpwi r25, 0xd
+/* 8017BFA8 00177C08 41 82 01 84 */ beq lbl_8017C12C
+/* 8017BFAC 00177C0C 40 80 00 58 */ bge lbl_8017C004
+/* 8017BFB0 00177C10 2C 19 00 07 */ cmpwi r25, 7
+/* 8017BFB4 00177C14 41 82 02 98 */ beq lbl_8017C24C
+/* 8017BFB8 00177C18 40 80 00 28 */ bge lbl_8017BFE0
+/* 8017BFBC 00177C1C 2C 19 00 04 */ cmpwi r25, 4
+/* 8017BFC0 00177C20 41 82 03 A0 */ beq lbl_8017C360
+/* 8017BFC4 00177C24 40 80 00 10 */ bge lbl_8017BFD4
+/* 8017BFC8 00177C28 2C 19 00 03 */ cmpwi r25, 3
+/* 8017BFCC 00177C2C 40 80 01 60 */ bge lbl_8017C12C
+/* 8017BFD0 00177C30 48 00 03 90 */ b lbl_8017C360
+lbl_8017BFD4:
+/* 8017BFD4 00177C34 2C 19 00 06 */ cmpwi r25, 6
+/* 8017BFD8 00177C38 40 80 00 80 */ bge lbl_8017C058
+/* 8017BFDC 00177C3C 48 00 00 D8 */ b lbl_8017C0B4
+lbl_8017BFE0:
+/* 8017BFE0 00177C40 2C 19 00 0A */ cmpwi r25, 0xa
+/* 8017BFE4 00177C44 41 82 00 D0 */ beq lbl_8017C0B4
+/* 8017BFE8 00177C48 40 80 00 10 */ bge lbl_8017BFF8
+/* 8017BFEC 00177C4C 2C 19 00 09 */ cmpwi r25, 9
+/* 8017BFF0 00177C50 40 80 03 70 */ bge lbl_8017C360
+/* 8017BFF4 00177C54 48 00 00 C0 */ b lbl_8017C0B4
+lbl_8017BFF8:
+/* 8017BFF8 00177C58 2C 19 00 0C */ cmpwi r25, 0xc
+/* 8017BFFC 00177C5C 40 80 03 64 */ bge lbl_8017C360
+/* 8017C000 00177C60 48 00 02 24 */ b lbl_8017C224
+lbl_8017C004:
+/* 8017C004 00177C64 2C 19 00 83 */ cmpwi r25, 0x83
+/* 8017C008 00177C68 41 82 03 44 */ beq lbl_8017C34C
+/* 8017C00C 00177C6C 40 80 00 28 */ bge lbl_8017C034
+/* 8017C010 00177C70 2C 19 00 80 */ cmpwi r25, 0x80
+/* 8017C014 00177C74 41 82 02 68 */ beq lbl_8017C27C
+/* 8017C018 00177C78 40 80 00 10 */ bge lbl_8017C028
+/* 8017C01C 00177C7C 2C 19 00 0F */ cmpwi r25, 0xf
+/* 8017C020 00177C80 41 82 01 C4 */ beq lbl_8017C1E4
+/* 8017C024 00177C84 48 00 03 3C */ b lbl_8017C360
+lbl_8017C028:
+/* 8017C028 00177C88 2C 19 00 82 */ cmpwi r25, 0x82
+/* 8017C02C 00177C8C 40 80 02 EC */ bge lbl_8017C318
+/* 8017C030 00177C90 48 00 02 94 */ b lbl_8017C2C4
+lbl_8017C034:
+/* 8017C034 00177C94 2C 19 00 86 */ cmpwi r25, 0x86
+/* 8017C038 00177C98 41 82 03 28 */ beq lbl_8017C360
+/* 8017C03C 00177C9C 40 80 00 10 */ bge lbl_8017C04C
+/* 8017C040 00177CA0 2C 19 00 85 */ cmpwi r25, 0x85
+/* 8017C044 00177CA4 40 80 03 08 */ bge lbl_8017C34C
+/* 8017C048 00177CA8 48 00 03 18 */ b lbl_8017C360
+lbl_8017C04C:
+/* 8017C04C 00177CAC 2C 19 00 88 */ cmpwi r25, 0x88
+/* 8017C050 00177CB0 40 80 03 10 */ bge lbl_8017C360
+/* 8017C054 00177CB4 48 00 02 F8 */ b lbl_8017C34C
+lbl_8017C058:
+/* 8017C058 00177CB8 3F C0 80 49 */ lis r30, lbl_8048DF68@ha
+/* 8017C05C 00177CBC 38 7E DF 68 */ addi r3, r30, lbl_8048DF68@l
+/* 8017C060 00177CC0 4B FF F4 D9 */ bl func_8017B538
+/* 8017C064 00177CC4 9B 21 00 0C */ stb r25, 0xc(r1)
+/* 8017C068 00177CC8 38 7E DF 68 */ addi r3, r30, -8344
+/* 8017C06C 00177CCC 38 81 00 08 */ addi r4, r1, 8
+/* 8017C070 00177CD0 4B FF F5 15 */ bl func_8017B584
+/* 8017C074 00177CD4 3C 80 80 49 */ lis r4, lbl_8048DF98@ha
+/* 8017C078 00177CD8 7C 7E 1B 78 */ mr r30, r3
+/* 8017C07C 00177CDC 93 E4 DF 98 */ stw r31, lbl_8048DF98@l(r4)
+/* 8017C080 00177CE0 38 61 00 08 */ addi r3, r1, 8
+/* 8017C084 00177CE4 38 80 00 01 */ li r4, 1
+/* 8017C088 00177CE8 4B FF FD D5 */ bl func_8017BE5C
+/* 8017C08C 00177CEC 38 61 00 08 */ addi r3, r1, 8
+/* 8017C090 00177CF0 38 80 01 2C */ li r4, 0x12c
+/* 8017C094 00177CF4 4B FE CA C9 */ bl func_80168B5C
+/* 8017C098 00177CF8 2C 1E 00 00 */ cmpwi r30, 0
+/* 8017C09C 00177CFC 7C 7D 1B 78 */ mr r29, r3
+/* 8017C0A0 00177D00 41 82 02 C0 */ beq lbl_8017C360
+/* 8017C0A4 00177D04 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C0A8 00177D08 7F C4 F3 78 */ mr r4, r30
+/* 8017C0AC 00177D0C 48 05 EC 9D */ bl func_801DAD48
+/* 8017C0B0 00177D10 48 00 02 B0 */ b lbl_8017C360
+lbl_8017C0B4:
+/* 8017C0B4 00177D14 3F C0 80 49 */ lis r30, lbl_8048DF68@ha
+/* 8017C0B8 00177D18 3B 80 00 00 */ li r28, 0
+/* 8017C0BC 00177D1C 38 7E DF 68 */ addi r3, r30, lbl_8048DF68@l
+/* 8017C0C0 00177D20 4B FF F4 79 */ bl func_8017B538
+/* 8017C0C4 00177D24 9B 21 00 0C */ stb r25, 0xc(r1)
+/* 8017C0C8 00177D28 38 7E DF 68 */ addi r3, r30, -8344
+/* 8017C0CC 00177D2C 38 81 00 08 */ addi r4, r1, 8
+/* 8017C0D0 00177D30 4B FF F4 B5 */ bl func_8017B584
+/* 8017C0D4 00177D34 2C 19 00 05 */ cmpwi r25, 5
+/* 8017C0D8 00177D38 7C 7E 1B 78 */ mr r30, r3
+/* 8017C0DC 00177D3C 40 82 00 14 */ bne lbl_8017C0F0
+/* 8017C0E0 00177D40 7F E4 FB 78 */ mr r4, r31
+/* 8017C0E4 00177D44 38 61 00 08 */ addi r3, r1, 8
+/* 8017C0E8 00177D48 4B FF F8 99 */ bl func_8017B980
+/* 8017C0EC 00177D4C 7C 7C 1B 78 */ mr r28, r3
+lbl_8017C0F0:
+/* 8017C0F0 00177D50 38 61 00 08 */ addi r3, r1, 8
+/* 8017C0F4 00177D54 38 80 01 2C */ li r4, 0x12c
+/* 8017C0F8 00177D58 4B FE CA 65 */ bl func_80168B5C
+/* 8017C0FC 00177D5C 2C 1C 00 00 */ cmpwi r28, 0
+/* 8017C100 00177D60 7C 7D 1B 78 */ mr r29, r3
+/* 8017C104 00177D64 41 82 00 10 */ beq lbl_8017C114
+/* 8017C108 00177D68 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C10C 00177D6C 7F 84 E3 78 */ mr r4, r28
+/* 8017C110 00177D70 48 05 EC 39 */ bl func_801DAD48
+lbl_8017C114:
+/* 8017C114 00177D74 2C 1E 00 00 */ cmpwi r30, 0
+/* 8017C118 00177D78 41 82 02 48 */ beq lbl_8017C360
+/* 8017C11C 00177D7C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C120 00177D80 7F C4 F3 78 */ mr r4, r30
+/* 8017C124 00177D84 48 05 EC 25 */ bl func_801DAD48
+/* 8017C128 00177D88 48 00 02 38 */ b lbl_8017C360
+lbl_8017C12C:
+/* 8017C12C 00177D8C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C130 00177D90 3B 80 00 00 */ li r28, 0
+/* 8017C134 00177D94 38 80 00 E8 */ li r4, 0xe8
+/* 8017C138 00177D98 48 05 EB 5D */ bl func_801DAC94
+/* 8017C13C 00177D9C 7C 7B 1B 78 */ mr r27, r3
+/* 8017C140 00177DA0 38 80 00 00 */ li r4, 0
+/* 8017C144 00177DA4 38 A0 00 E8 */ li r5, 0xe8
+/* 8017C148 00177DA8 4B E8 7F BD */ bl memset
+/* 8017C14C 00177DAC 3F C0 80 49 */ lis r30, lbl_8048DF68@ha
+/* 8017C150 00177DB0 38 7E DF 68 */ addi r3, r30, lbl_8048DF68@l
+/* 8017C154 00177DB4 4B FF F3 E5 */ bl func_8017B538
+/* 8017C158 00177DB8 9B 21 00 0C */ stb r25, 0xc(r1)
+/* 8017C15C 00177DBC 38 7E DF 68 */ addi r3, r30, -8344
+/* 8017C160 00177DC0 38 81 00 08 */ addi r4, r1, 8
+/* 8017C164 00177DC4 4B FF F4 21 */ bl func_8017B584
+/* 8017C168 00177DC8 7C 7E 1B 78 */ mr r30, r3
+/* 8017C16C 00177DCC 7F 64 DB 78 */ mr r4, r27
+/* 8017C170 00177DD0 38 61 00 08 */ addi r3, r1, 8
+/* 8017C174 00177DD4 38 A0 00 00 */ li r5, 0
+/* 8017C178 00177DD8 4B FF F5 9D */ bl func_8017B714
+/* 8017C17C 00177DDC 2C 19 00 03 */ cmpwi r25, 3
+/* 8017C180 00177DE0 40 82 00 1C */ bne lbl_8017C19C
+/* 8017C184 00177DE4 2C 1A 00 00 */ cmpwi r26, 0
+/* 8017C188 00177DE8 41 82 00 14 */ beq lbl_8017C19C
+/* 8017C18C 00177DEC 7F E4 FB 78 */ mr r4, r31
+/* 8017C190 00177DF0 38 61 00 08 */ addi r3, r1, 8
+/* 8017C194 00177DF4 4B FF F7 ED */ bl func_8017B980
+/* 8017C198 00177DF8 7C 7C 1B 78 */ mr r28, r3
+lbl_8017C19C:
+/* 8017C19C 00177DFC 38 61 00 08 */ addi r3, r1, 8
+/* 8017C1A0 00177E00 38 80 01 2C */ li r4, 0x12c
+/* 8017C1A4 00177E04 4B FE C9 B9 */ bl func_80168B5C
+/* 8017C1A8 00177E08 2C 1C 00 00 */ cmpwi r28, 0
+/* 8017C1AC 00177E0C 7C 7D 1B 78 */ mr r29, r3
+/* 8017C1B0 00177E10 41 82 00 10 */ beq lbl_8017C1C0
+/* 8017C1B4 00177E14 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C1B8 00177E18 7F 84 E3 78 */ mr r4, r28
+/* 8017C1BC 00177E1C 48 05 EB 8D */ bl func_801DAD48
+lbl_8017C1C0:
+/* 8017C1C0 00177E20 2C 1E 00 00 */ cmpwi r30, 0
+/* 8017C1C4 00177E24 41 82 00 10 */ beq lbl_8017C1D4
+/* 8017C1C8 00177E28 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C1CC 00177E2C 7F C4 F3 78 */ mr r4, r30
+/* 8017C1D0 00177E30 48 05 EB 79 */ bl func_801DAD48
+lbl_8017C1D4:
+/* 8017C1D4 00177E34 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C1D8 00177E38 7F 64 DB 78 */ mr r4, r27
+/* 8017C1DC 00177E3C 48 05 EB 6D */ bl func_801DAD48
+/* 8017C1E0 00177E40 48 00 01 80 */ b lbl_8017C360
+lbl_8017C1E4:
+/* 8017C1E4 00177E44 7F E4 FB 78 */ mr r4, r31
+/* 8017C1E8 00177E48 38 61 00 08 */ addi r3, r1, 8
+/* 8017C1EC 00177E4C 4B FF F7 95 */ bl func_8017B980
+/* 8017C1F0 00177E50 38 00 00 0F */ li r0, 0xf
+/* 8017C1F4 00177E54 7C 7E 1B 78 */ mr r30, r3
+/* 8017C1F8 00177E58 98 01 00 0C */ stb r0, 0xc(r1)
+/* 8017C1FC 00177E5C 38 61 00 08 */ addi r3, r1, 8
+/* 8017C200 00177E60 38 80 01 2C */ li r4, 0x12c
+/* 8017C204 00177E64 4B FE C9 59 */ bl func_80168B5C
+/* 8017C208 00177E68 2C 1E 00 00 */ cmpwi r30, 0
+/* 8017C20C 00177E6C 7C 7D 1B 78 */ mr r29, r3
+/* 8017C210 00177E70 41 82 01 50 */ beq lbl_8017C360
+/* 8017C214 00177E74 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C218 00177E78 7F C4 F3 78 */ mr r4, r30
+/* 8017C21C 00177E7C 48 05 EB 2D */ bl func_801DAD48
+/* 8017C220 00177E80 48 00 01 40 */ b lbl_8017C360
+lbl_8017C224:
+/* 8017C224 00177E84 7F E4 FB 78 */ mr r4, r31
+/* 8017C228 00177E88 38 61 00 08 */ addi r3, r1, 8
+/* 8017C22C 00177E8C 4B FF FB 85 */ bl func_8017BDB0
+/* 8017C230 00177E90 38 00 00 0B */ li r0, 0xb
+/* 8017C234 00177E94 38 61 00 08 */ addi r3, r1, 8
+/* 8017C238 00177E98 98 01 00 0C */ stb r0, 0xc(r1)
+/* 8017C23C 00177E9C 38 80 01 2C */ li r4, 0x12c
+/* 8017C240 00177EA0 4B FE C9 1D */ bl func_80168B5C
+/* 8017C244 00177EA4 7C 7D 1B 78 */ mr r29, r3
+/* 8017C248 00177EA8 48 00 01 18 */ b lbl_8017C360
+lbl_8017C24C:
+/* 8017C24C 00177EAC 38 00 00 07 */ li r0, 7
+/* 8017C250 00177EB0 3C A0 80 49 */ lis r5, lbl_8048DF98@ha
+/* 8017C254 00177EB4 98 01 00 0C */ stb r0, 0xc(r1)
+/* 8017C258 00177EB8 38 61 00 08 */ addi r3, r1, 8
+/* 8017C25C 00177EBC 38 80 00 01 */ li r4, 1
+/* 8017C260 00177EC0 93 E5 DF 98 */ stw r31, lbl_8048DF98@l(r5)
+/* 8017C264 00177EC4 4B FF FB F9 */ bl func_8017BE5C
+/* 8017C268 00177EC8 38 61 00 08 */ addi r3, r1, 8
+/* 8017C26C 00177ECC 38 80 01 2C */ li r4, 0x12c
+/* 8017C270 00177ED0 4B FE C8 ED */ bl func_80168B5C
+/* 8017C274 00177ED4 7C 7D 1B 78 */ mr r29, r3
+/* 8017C278 00177ED8 48 00 00 E8 */ b lbl_8017C360
+lbl_8017C27C:
+/* 8017C27C 00177EDC 38 00 00 80 */ li r0, 0x80
+/* 8017C280 00177EE0 7F E4 FB 78 */ mr r4, r31
+/* 8017C284 00177EE4 98 01 00 0C */ stb r0, 0xc(r1)
+/* 8017C288 00177EE8 38 61 00 08 */ addi r3, r1, 8
+/* 8017C28C 00177EEC 4B FF F6 F5 */ bl func_8017B980
+/* 8017C290 00177EF0 6B E0 00 01 */ xori r0, r31, 1
+/* 8017C294 00177EF4 7C 7B 1B 78 */ mr r27, r3
+/* 8017C298 00177EF8 98 01 00 0F */ stb r0, 0xf(r1)
+/* 8017C29C 00177EFC 38 61 00 08 */ addi r3, r1, 8
+/* 8017C2A0 00177F00 38 80 01 2C */ li r4, 0x12c
+/* 8017C2A4 00177F04 4B FE C8 B9 */ bl func_80168B5C
+/* 8017C2A8 00177F08 2C 1B 00 00 */ cmpwi r27, 0
+/* 8017C2AC 00177F0C 7C 7D 1B 78 */ mr r29, r3
+/* 8017C2B0 00177F10 41 82 00 B0 */ beq lbl_8017C360
+/* 8017C2B4 00177F14 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C2B8 00177F18 7F 64 DB 78 */ mr r4, r27
+/* 8017C2BC 00177F1C 48 05 EA 8D */ bl func_801DAD48
+/* 8017C2C0 00177F20 48 00 00 A0 */ b lbl_8017C360
+lbl_8017C2C4:
+/* 8017C2C4 00177F24 3F E0 80 49 */ lis r31, lbl_8048DF68@ha
+/* 8017C2C8 00177F28 38 7F DF 68 */ addi r3, r31, lbl_8048DF68@l
+/* 8017C2CC 00177F2C 4B FF F2 6D */ bl func_8017B538
+/* 8017C2D0 00177F30 38 7F DF 68 */ addi r3, r31, -8344
+/* 8017C2D4 00177F34 80 03 00 08 */ lwz r0, 8(r3)
+/* 8017C2D8 00177F38 2C 00 00 00 */ cmpwi r0, 0
+/* 8017C2DC 00177F3C 41 82 00 84 */ beq lbl_8017C360
+/* 8017C2E0 00177F40 38 81 00 08 */ addi r4, r1, 8
+/* 8017C2E4 00177F44 4B FF F2 A1 */ bl func_8017B584
+/* 8017C2E8 00177F48 2C 03 00 00 */ cmpwi r3, 0
+/* 8017C2EC 00177F4C 7C 7E 1B 78 */ mr r30, r3
+/* 8017C2F0 00177F50 41 82 00 70 */ beq lbl_8017C360
+/* 8017C2F4 00177F54 9B 21 00 0C */ stb r25, 0xc(r1)
+/* 8017C2F8 00177F58 38 61 00 08 */ addi r3, r1, 8
+/* 8017C2FC 00177F5C 38 80 01 2C */ li r4, 0x12c
+/* 8017C300 00177F60 4B FE C8 5D */ bl func_80168B5C
+/* 8017C304 00177F64 7C 7D 1B 78 */ mr r29, r3
+/* 8017C308 00177F68 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C30C 00177F6C 7F C4 F3 78 */ mr r4, r30
+/* 8017C310 00177F70 48 05 EA 39 */ bl func_801DAD48
+/* 8017C314 00177F74 48 00 00 4C */ b lbl_8017C360
+lbl_8017C318:
+/* 8017C318 00177F78 3C 80 80 49 */ lis r4, lbl_8048DF98@ha
+/* 8017C31C 00177F7C 38 61 00 08 */ addi r3, r1, 8
+/* 8017C320 00177F80 38 A4 DF 98 */ addi r5, r4, lbl_8048DF98@l
+/* 8017C324 00177F84 93 E4 DF 98 */ stw r31, -0x2068(r4)
+/* 8017C328 00177F88 38 80 00 02 */ li r4, 2
+/* 8017C32C 00177F8C 93 45 00 04 */ stw r26, 4(r5)
+/* 8017C330 00177F90 4B FF FB 2D */ bl func_8017BE5C
+/* 8017C334 00177F94 9B 21 00 0C */ stb r25, 0xc(r1)
+/* 8017C338 00177F98 38 61 00 08 */ addi r3, r1, 8
+/* 8017C33C 00177F9C 38 80 01 2C */ li r4, 0x12c
+/* 8017C340 00177FA0 4B FE C8 1D */ bl func_80168B5C
+/* 8017C344 00177FA4 7C 7D 1B 78 */ mr r29, r3
+/* 8017C348 00177FA8 48 00 00 18 */ b lbl_8017C360
+lbl_8017C34C:
+/* 8017C34C 00177FAC 9B 21 00 0C */ stb r25, 0xc(r1)
+/* 8017C350 00177FB0 38 61 00 08 */ addi r3, r1, 8
+/* 8017C354 00177FB4 38 80 01 2C */ li r4, 0x12c
+/* 8017C358 00177FB8 4B FE C8 05 */ bl func_80168B5C
+/* 8017C35C 00177FBC 7C 7D 1B 78 */ mr r29, r3
+lbl_8017C360:
+/* 8017C360 00177FC0 39 61 00 60 */ addi r11, r1, 0x60
+/* 8017C364 00177FC4 7F A3 EB 78 */ mr r3, r29
+/* 8017C368 00177FC8 48 04 AE 05 */ bl _restgpr_25
+/* 8017C36C 00177FCC 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 8017C370 00177FD0 7C 08 03 A6 */ mtlr r0
+/* 8017C374 00177FD4 38 21 00 60 */ addi r1, r1, 0x60
+/* 8017C378 00177FD8 4E 80 00 20 */ blr
+
+.global func_8017C37C
+func_8017C37C:
+/* 8017C37C 00177FDC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8017C380 00177FE0 7C 08 02 A6 */ mflr r0
+/* 8017C384 00177FE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8017C388 00177FE8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8017C38C 00177FEC 93 C1 00 08 */ stw r30, 8(r1)
+/* 8017C390 00177FF0 4B FE C7 D5 */ bl func_80168B64
+/* 8017C394 00177FF4 2C 03 00 00 */ cmpwi r3, 0
+/* 8017C398 00177FF8 7C 7F 1B 78 */ mr r31, r3
+/* 8017C39C 00177FFC 40 82 00 0C */ bne lbl_8017C3A8
+/* 8017C3A0 00178000 38 60 00 00 */ li r3, 0
+/* 8017C3A4 00178004 48 00 00 C0 */ b lbl_8017C464
+lbl_8017C3A8:
+/* 8017C3A8 00178008 88 03 00 06 */ lbz r0, 6(r3)
+/* 8017C3AC 0017800C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8017C3B0 00178010 41 82 00 08 */ beq lbl_8017C3B8
+/* 8017C3B4 00178014 4B FF F2 ED */ bl func_8017B6A0
+lbl_8017C3B8:
+/* 8017C3B8 00178018 88 1F 00 06 */ lbz r0, 6(r31)
+/* 8017C3BC 0017801C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8017C3C0 00178020 41 82 00 10 */ beq lbl_8017C3D0
+/* 8017C3C4 00178024 7F E3 FB 78 */ mr r3, r31
+/* 8017C3C8 00178028 38 80 00 00 */ li r4, 0
+/* 8017C3CC 0017802C 4B FF F4 7D */ bl func_8017B848
+lbl_8017C3D0:
+/* 8017C3D0 00178030 88 1F 00 06 */ lbz r0, 6(r31)
+/* 8017C3D4 00178034 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 8017C3D8 00178038 41 82 00 60 */ beq lbl_8017C438
+/* 8017C3DC 0017803C 7F E3 FB 78 */ mr r3, r31
+/* 8017C3E0 00178040 4B FF F7 ED */ bl func_8017BBCC
+/* 8017C3E4 00178044 2C 03 00 00 */ cmpwi r3, 0
+/* 8017C3E8 00178048 41 82 00 0C */ beq lbl_8017C3F4
+/* 8017C3EC 0017804C 38 60 00 00 */ li r3, 0
+/* 8017C3F0 00178050 48 00 00 74 */ b lbl_8017C464
+lbl_8017C3F4:
+/* 8017C3F4 00178054 88 1F 00 04 */ lbz r0, 4(r31)
+/* 8017C3F8 00178058 28 00 00 80 */ cmplwi r0, 0x80
+/* 8017C3FC 0017805C 40 82 00 3C */ bne lbl_8017C438
+/* 8017C400 00178060 48 23 04 29 */ bl func_803AC828
+/* 8017C404 00178064 7C 7E 1B 78 */ mr r30, r3
+/* 8017C408 00178068 48 23 04 41 */ bl func_803AC848
+/* 8017C40C 0017806C 88 DF 00 07 */ lbz r6, 7(r31)
+/* 8017C410 00178070 7C 64 1B 78 */ mr r4, r3
+/* 8017C414 00178074 7F C3 F3 78 */ mr r3, r30
+/* 8017C418 00178078 38 A0 00 02 */ li r5, 2
+/* 8017C41C 0017807C 48 24 C8 2D */ bl func_803C8C48
+/* 8017C420 00178080 88 9F 00 07 */ lbz r4, 7(r31)
+/* 8017C424 00178084 7C 65 1B 78 */ mr r5, r3
+/* 8017C428 00178088 7F C3 F3 78 */ mr r3, r30
+/* 8017C42C 0017808C 48 23 05 79 */ bl func_803AC9A4
+/* 8017C430 00178090 88 9F 00 07 */ lbz r4, 7(r31)
+/* 8017C434 00178094 4B FF 0B 7D */ bl func_8016CFB0
+lbl_8017C438:
+/* 8017C438 00178098 88 1F 00 06 */ lbz r0, 6(r31)
+/* 8017C43C 0017809C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 8017C440 001780A0 41 82 00 0C */ beq lbl_8017C44C
+/* 8017C444 001780A4 7F E3 FB 78 */ mr r3, r31
+/* 8017C448 001780A8 4B FF F9 9D */ bl func_8017BDE4
+lbl_8017C44C:
+/* 8017C44C 001780AC 88 1F 00 06 */ lbz r0, 6(r31)
+/* 8017C450 001780B0 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 8017C454 001780B4 41 82 00 0C */ beq lbl_8017C460
+/* 8017C458 001780B8 7F E3 FB 78 */ mr r3, r31
+/* 8017C45C 001780BC 4B FF FA 25 */ bl func_8017BE80
+lbl_8017C460:
+/* 8017C460 001780C0 88 7F 00 04 */ lbz r3, 4(r31)
+lbl_8017C464:
+/* 8017C464 001780C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8017C468 001780C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8017C46C 001780CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8017C470 001780D0 7C 08 03 A6 */ mtlr r0
+/* 8017C474 001780D4 38 21 00 10 */ addi r1, r1, 0x10
+/* 8017C478 001780D8 4E 80 00 20 */ blr
+
+.global func_8017C47C
+func_8017C47C:
+/* 8017C47C 001780DC 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8017C480 001780E0 7C 08 02 A6 */ mflr r0
+/* 8017C484 001780E4 38 80 00 00 */ li r4, 0
+/* 8017C488 001780E8 38 A0 00 30 */ li r5, 0x30
+/* 8017C48C 001780EC 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8017C490 001780F0 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 8017C494 001780F4 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 8017C498 001780F8 7C 7E 1B 78 */ mr r30, r3
+/* 8017C49C 001780FC 38 61 00 08 */ addi r3, r1, 8
+/* 8017C4A0 00178100 4B E8 7C 65 */ bl memset
+/* 8017C4A4 00178104 2C 1E 00 09 */ cmpwi r30, 9
+/* 8017C4A8 00178108 9B C1 00 0C */ stb r30, 0xc(r1)
+/* 8017C4AC 0017810C 3B C0 00 00 */ li r30, 0
+/* 8017C4B0 00178110 40 82 00 24 */ bne lbl_8017C4D4
+/* 8017C4B4 00178114 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C4B8 00178118 38 80 00 E8 */ li r4, 0xe8
+/* 8017C4BC 0017811C 48 05 E7 D9 */ bl func_801DAC94
+/* 8017C4C0 00178120 7C 7E 1B 78 */ mr r30, r3
+/* 8017C4C4 00178124 38 61 00 08 */ addi r3, r1, 8
+/* 8017C4C8 00178128 7F C4 F3 78 */ mr r4, r30
+/* 8017C4CC 0017812C 38 A0 00 01 */ li r5, 1
+/* 8017C4D0 00178130 4B FF F2 45 */ bl func_8017B714
+lbl_8017C4D4:
+/* 8017C4D4 00178134 38 61 00 08 */ addi r3, r1, 8
+/* 8017C4D8 00178138 38 80 01 2C */ li r4, 0x12c
+/* 8017C4DC 0017813C 4B FE C6 7D */ bl func_80168B58
+/* 8017C4E0 00178140 2C 1E 00 00 */ cmpwi r30, 0
+/* 8017C4E4 00178144 7C 7F 1B 78 */ mr r31, r3
+/* 8017C4E8 00178148 41 82 00 10 */ beq lbl_8017C4F8
+/* 8017C4EC 0017814C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
+/* 8017C4F0 00178150 7F C4 F3 78 */ mr r4, r30
+/* 8017C4F4 00178154 48 05 E8 55 */ bl func_801DAD48
+lbl_8017C4F8:
+/* 8017C4F8 00178158 7F E3 FB 78 */ mr r3, r31
+/* 8017C4FC 0017815C 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 8017C500 00178160 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 8017C504 00178164 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8017C508 00178168 7C 08 03 A6 */ mtlr r0
+/* 8017C50C 0017816C 38 21 00 40 */ addi r1, r1, 0x40
+/* 8017C510 00178170 4E 80 00 20 */ blr
+
+.global func_8017C514
+func_8017C514:
+/* 8017C514 00178174 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8017C518 00178178 7C 08 02 A6 */ mflr r0
+/* 8017C51C 0017817C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8017C520 00178180 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8017C524 00178184 4B FE C6 45 */ bl func_80168B68
+/* 8017C528 00178188 2C 03 00 00 */ cmpwi r3, 0
+/* 8017C52C 0017818C 7C 7F 1B 78 */ mr r31, r3
+/* 8017C530 00178190 40 82 00 0C */ bne lbl_8017C53C
+/* 8017C534 00178194 38 60 00 00 */ li r3, 0
+/* 8017C538 00178198 48 00 00 1C */ b lbl_8017C554
+lbl_8017C53C:
+/* 8017C53C 0017819C 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 8017C540 001781A0 2C 00 00 00 */ cmpwi r0, 0
+/* 8017C544 001781A4 41 82 00 0C */ beq lbl_8017C550
+/* 8017C548 001781A8 38 80 00 01 */ li r4, 1
+/* 8017C54C 001781AC 4B FF F2 FD */ bl func_8017B848
+lbl_8017C550:
+/* 8017C550 001781B0 88 7F 00 04 */ lbz r3, 4(r31)
+lbl_8017C554:
+/* 8017C554 001781B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8017C558 001781B8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8017C55C 001781BC 7C 08 03 A6 */ mtlr r0
+/* 8017C560 001781C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8017C564 001781C4 4E 80 00 20 */ blr
+
+.global func_8017C568
+func_8017C568:
+/* 8017C568 001781C8 38 A0 00 01 */ li r5, 1
+/* 8017C56C 001781CC 38 6D 9F 60 */ addi r3, r13, lbl_8063F220-_SDA_BASE_
+/* 8017C570 001781D0 38 80 00 04 */ li r4, 4
+/* 8017C574 001781D4 38 00 00 00 */ li r0, 0
+/* 8017C578 001781D8 98 AD 9F 60 */ stb r5, lbl_8063F220-_SDA_BASE_(r13)
+/* 8017C57C 001781DC B0 83 00 02 */ sth r4, 2(r3)
+/* 8017C580 001781E0 98 03 00 04 */ stb r0, 4(r3)
+/* 8017C584 001781E4 4E 80 00 20 */ blr