diff options
Diffstat (limited to 'asm/code_80185AE0.s')
-rw-r--r-- | asm/code_80185AE0.s | 2100 |
1 files changed, 2100 insertions, 0 deletions
diff --git a/asm/code_80185AE0.s b/asm/code_80185AE0.s new file mode 100644 index 0000000..ccdcc8d --- /dev/null +++ b/asm/code_80185AE0.s @@ -0,0 +1,2100 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+lbl_80185AE0:
+/* 80185AE0 00181740 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80185AE4 00181744 7C 08 02 A6 */ mflr r0
+/* 80185AE8 00181748 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80185AEC 0018174C 39 61 00 20 */ addi r11, r1, 0x20
+/* 80185AF0 00181750 48 04 16 41 */ bl _savegpr_29
+/* 80185AF4 00181754 83 E5 00 00 */ lwz r31, 0(r5)
+/* 80185AF8 00181758 7C 7D 1B 78 */ mr r29, r3
+/* 80185AFC 0018175C 83 C5 00 04 */ lwz r30, 4(r5)
+/* 80185B00 00181760 48 03 DD C1 */ bl func_801C38C0
+/* 80185B04 00181764 2C 03 00 00 */ cmpwi r3, 0
+/* 80185B08 00181768 40 82 00 0C */ bne lbl_80185B14
+/* 80185B0C 0018176C 38 60 00 01 */ li r3, 1
+/* 80185B10 00181770 48 00 00 44 */ b lbl_80185B54
+lbl_80185B14:
+/* 80185B14 00181774 2C 1D 00 00 */ cmpwi r29, 0
+/* 80185B18 00181778 40 82 00 0C */ bne lbl_80185B24
+/* 80185B1C 0018177C 38 00 00 00 */ li r0, 0
+/* 80185B20 00181780 48 00 00 08 */ b lbl_80185B28
+lbl_80185B24:
+/* 80185B24 00181784 80 1D 07 90 */ lwz r0, 0x790(r29)
+lbl_80185B28:
+/* 80185B28 00181788 54 00 06 77 */ rlwinm. r0, r0, 0, 0x19, 0x1b
+/* 80185B2C 0018178C 41 82 00 24 */ beq lbl_80185B50
+/* 80185B30 00181790 7F E3 FB 78 */ mr r3, r31
+/* 80185B34 00181794 7F C4 F3 78 */ mr r4, r30
+/* 80185B38 00181798 38 A0 00 2B */ li r5, 0x2b
+/* 80185B3C 0018179C 4B FF AA DD */ bl func_80180618
+/* 80185B40 001817A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80185B44 001817A4 40 82 00 0C */ bne lbl_80185B50
+/* 80185B48 001817A8 38 60 00 00 */ li r3, 0
+/* 80185B4C 001817AC 48 00 00 08 */ b lbl_80185B54
+lbl_80185B50:
+/* 80185B50 001817B0 38 60 00 01 */ li r3, 1
+lbl_80185B54:
+/* 80185B54 001817B4 39 61 00 20 */ addi r11, r1, 0x20
+/* 80185B58 001817B8 48 04 16 25 */ bl _restgpr_29
+/* 80185B5C 001817BC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80185B60 001817C0 7C 08 03 A6 */ mtlr r0
+/* 80185B64 001817C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80185B68 001817C8 4E 80 00 20 */ blr
+
+.global func_80185B6C
+func_80185B6C:
+/* 80185B6C 001817CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80185B70 001817D0 7C 08 02 A6 */ mflr r0
+/* 80185B74 001817D4 3C C0 80 18 */ lis r6, lbl_80185AE0@ha
+/* 80185B78 001817D8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80185B7C 001817DC 38 A1 00 08 */ addi r5, r1, 8
+/* 80185B80 001817E0 90 61 00 08 */ stw r3, 8(r1)
+/* 80185B84 001817E4 38 60 00 00 */ li r3, 0
+/* 80185B88 001817E8 90 81 00 0C */ stw r4, 0xc(r1)
+/* 80185B8C 001817EC 38 86 5A E0 */ addi r4, r6, lbl_80185AE0@l
+/* 80185B90 001817F0 38 C0 00 00 */ li r6, 0
+/* 80185B94 001817F4 48 03 9F 4D */ bl func_801BFAE0
+/* 80185B98 001817F8 38 63 FF FF */ addi r3, r3, -1
+/* 80185B9C 001817FC 30 03 FF FF */ addic r0, r3, -1
+/* 80185BA0 00181800 7C 60 19 10 */ subfe r3, r0, r3
+/* 80185BA4 00181804 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80185BA8 00181808 7C 08 03 A6 */ mtlr r0
+/* 80185BAC 0018180C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80185BB0 00181810 4E 80 00 20 */ blr
+lbl_80185BB4:
+/* 80185BB4 00181814 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80185BB8 00181818 7C 08 02 A6 */ mflr r0
+/* 80185BBC 0018181C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80185BC0 00181820 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80185BC4 00181824 93 C1 00 08 */ stw r30, 8(r1)
+/* 80185BC8 00181828 7C 7E 1B 78 */ mr r30, r3
+/* 80185BCC 0018182C 83 E5 00 00 */ lwz r31, 0(r5)
+/* 80185BD0 00181830 48 03 DC F1 */ bl func_801C38C0
+/* 80185BD4 00181834 2C 03 00 00 */ cmpwi r3, 0
+/* 80185BD8 00181838 40 82 00 0C */ bne lbl_80185BE4
+/* 80185BDC 0018183C 38 60 00 01 */ li r3, 1
+/* 80185BE0 00181840 48 00 00 20 */ b lbl_80185C00
+lbl_80185BE4:
+/* 80185BE4 00181844 7F E3 FB 78 */ mr r3, r31
+/* 80185BE8 00181848 7F C4 F3 78 */ mr r4, r30
+/* 80185BEC 0018184C 38 A0 00 06 */ li r5, 6
+/* 80185BF0 00181850 4B FF AA 29 */ bl func_80180618
+/* 80185BF4 00181854 38 63 FF FF */ addi r3, r3, -1
+/* 80185BF8 00181858 30 03 FF FF */ addic r0, r3, -1
+/* 80185BFC 0018185C 7C 60 19 10 */ subfe r3, r0, r3
+lbl_80185C00:
+/* 80185C00 00181860 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80185C04 00181864 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80185C08 00181868 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80185C0C 0018186C 7C 08 03 A6 */ mtlr r0
+/* 80185C10 00181870 38 21 00 10 */ addi r1, r1, 0x10
+/* 80185C14 00181874 4E 80 00 20 */ blr
+
+.global func_80185C18
+func_80185C18:
+/* 80185C18 00181878 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80185C1C 0018187C 7C 08 02 A6 */ mflr r0
+/* 80185C20 00181880 3C 80 80 18 */ lis r4, lbl_80185BB4@ha
+/* 80185C24 00181884 38 C0 00 00 */ li r6, 0
+/* 80185C28 00181888 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80185C2C 0018188C 38 84 5B B4 */ addi r4, r4, lbl_80185BB4@l
+/* 80185C30 00181890 38 A1 00 08 */ addi r5, r1, 8
+/* 80185C34 00181894 90 61 00 08 */ stw r3, 8(r1)
+/* 80185C38 00181898 38 60 00 00 */ li r3, 0
+/* 80185C3C 0018189C 48 03 9E A5 */ bl func_801BFAE0
+/* 80185C40 001818A0 38 63 FF FF */ addi r3, r3, -1
+/* 80185C44 001818A4 30 03 FF FF */ addic r0, r3, -1
+/* 80185C48 001818A8 7C 60 19 10 */ subfe r3, r0, r3
+/* 80185C4C 001818AC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80185C50 001818B0 7C 08 03 A6 */ mtlr r0
+/* 80185C54 001818B4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80185C58 001818B8 4E 80 00 20 */ blr
+
+.global func_80185C5C
+func_80185C5C:
+/* 80185C5C 001818BC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80185C60 001818C0 7C 08 02 A6 */ mflr r0
+/* 80185C64 001818C4 2C 04 00 00 */ cmpwi r4, 0
+/* 80185C68 001818C8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80185C6C 001818CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80185C70 001818D0 40 82 00 0C */ bne lbl_80185C7C
+/* 80185C74 001818D4 38 60 00 00 */ li r3, 0
+/* 80185C78 001818D8 48 00 00 08 */ b lbl_80185C80
+lbl_80185C7C:
+/* 80185C7C 001818DC A0 64 08 60 */ lhz r3, 0x860(r4)
+lbl_80185C80:
+/* 80185C80 001818E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80185C84 001818E4 41 82 00 18 */ beq lbl_80185C9C
+/* 80185C88 001818E8 28 03 01 D4 */ cmplwi r3, 0x1d4
+/* 80185C8C 001818EC 41 82 00 10 */ beq lbl_80185C9C
+/* 80185C90 001818F0 28 03 FF FF */ cmplwi r3, 0xffff
+/* 80185C94 001818F4 41 82 00 08 */ beq lbl_80185C9C
+/* 80185C98 001818F8 48 00 00 74 */ b lbl_80185D0C
+lbl_80185C9C:
+/* 80185C9C 001818FC 7C 83 23 78 */ mr r3, r4
+/* 80185CA0 00181900 38 81 00 08 */ addi r4, r1, 8
+/* 80185CA4 00181904 48 03 EA 1D */ bl func_801C46C0
+/* 80185CA8 00181908 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 80185CAC 0018190C 7C 7F 1B 78 */ mr r31, r3
+/* 80185CB0 00181910 41 82 00 58 */ beq lbl_80185D08
+/* 80185CB4 00181914 48 09 DB 7D */ bl func_80223830
+/* 80185CB8 00181918 3C 80 00 03 */ lis r4, 0x000343FD@ha
+/* 80185CBC 0018191C 80 C3 00 00 */ lwz r6, 0(r3)
+/* 80185CC0 00181920 38 04 43 FD */ addi r0, r4, 0x000343FD@l
+/* 80185CC4 00181924 57 E5 06 3E */ clrlwi r5, r31, 0x18
+/* 80185CC8 00181928 7C C6 01 D6 */ mullw r6, r6, r0
+/* 80185CCC 0018192C 38 81 00 08 */ addi r4, r1, 8
+/* 80185CD0 00181930 3C C6 00 27 */ addis r6, r6, 0x27
+/* 80185CD4 00181934 38 06 9E C3 */ addi r0, r6, -24893
+/* 80185CD8 00181938 54 06 84 3E */ srwi r6, r0, 0x10
+/* 80185CDC 0018193C 90 03 00 00 */ stw r0, 0(r3)
+/* 80185CE0 00181940 7C 06 2B D6 */ divw r0, r6, r5
+/* 80185CE4 00181944 7C 00 29 D6 */ mullw r0, r0, r5
+/* 80185CE8 00181948 7C 00 30 50 */ subf r0, r0, r6
+/* 80185CEC 0018194C 54 00 0D FC */ rlwinm r0, r0, 1, 0x17, 0x1e
+/* 80185CF0 00181950 7C 64 02 2E */ lhzx r3, r4, r0
+/* 80185CF4 00181954 2C 03 00 00 */ cmpwi r3, 0
+/* 80185CF8 00181958 41 82 00 10 */ beq lbl_80185D08
+/* 80185CFC 0018195C 28 03 01 D4 */ cmplwi r3, 0x1d4
+/* 80185D00 00181960 41 82 00 08 */ beq lbl_80185D08
+/* 80185D04 00181964 48 00 00 08 */ b lbl_80185D0C
+lbl_80185D08:
+/* 80185D08 00181968 38 60 00 00 */ li r3, 0
+lbl_80185D0C:
+/* 80185D0C 0018196C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80185D10 00181970 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80185D14 00181974 7C 08 03 A6 */ mtlr r0
+/* 80185D18 00181978 38 21 00 20 */ addi r1, r1, 0x20
+/* 80185D1C 0018197C 4E 80 00 20 */ blr
+
+.global func_80185D20
+func_80185D20:
+/* 80185D20 00181980 38 60 00 00 */ li r3, 0
+/* 80185D24 00181984 4E 80 00 20 */ blr
+
+.global func_80185D28
+func_80185D28:
+/* 80185D28 00181988 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80185D2C 0018198C 7C 08 02 A6 */ mflr r0
+/* 80185D30 00181990 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80185D34 00181994 39 61 00 30 */ addi r11, r1, 0x30
+/* 80185D38 00181998 48 04 13 E1 */ bl _savegpr_23
+/* 80185D3C 0018199C 55 20 06 73 */ rlwinm. r0, r9, 0, 0x19, 0x19
+/* 80185D40 001819A0 7C 77 1B 78 */ mr r23, r3
+/* 80185D44 001819A4 7C D8 33 78 */ mr r24, r6
+/* 80185D48 001819A8 7C F9 3B 78 */ mr r25, r7
+/* 80185D4C 001819AC 7D 1C 43 78 */ mr r28, r8
+/* 80185D50 001819B0 7D 3A 4B 78 */ mr r26, r9
+/* 80185D54 001819B4 3B 60 00 00 */ li r27, 0
+/* 80185D58 001819B8 41 82 00 0C */ beq lbl_80185D64
+/* 80185D5C 001819BC 7C 9E 23 78 */ mr r30, r4
+/* 80185D60 001819C0 48 00 00 08 */ b lbl_80185D68
+lbl_80185D64:
+/* 80185D64 001819C4 7C BE 2B 78 */ mr r30, r5
+lbl_80185D68:
+/* 80185D68 001819C8 7F C4 F3 78 */ mr r4, r30
+/* 80185D6C 001819CC 38 60 00 02 */ li r3, 2
+/* 80185D70 001819D0 48 03 AD 3D */ bl func_801C0AAC
+/* 80185D74 001819D4 73 5F 00 BF */ andi. r31, r26, 0xbf
+/* 80185D78 001819D8 7C 7D 1B 78 */ mr r29, r3
+/* 80185D7C 001819DC 57 E0 06 31 */ rlwinm. r0, r31, 0, 0x18, 0x18
+/* 80185D80 001819E0 41 82 00 08 */ beq lbl_80185D88
+/* 80185D84 001819E4 3B 60 00 01 */ li r27, 1
+lbl_80185D88:
+/* 80185D88 001819E8 28 1C 00 07 */ cmplwi r28, 7
+/* 80185D8C 001819EC 41 81 00 DC */ bgt lbl_80185E68
+/* 80185D90 001819F0 3C 60 80 42 */ lis r3, lbl_804211C0@ha
+/* 80185D94 001819F4 57 80 10 3A */ slwi r0, r28, 2
+/* 80185D98 001819F8 38 63 11 C0 */ addi r3, r3, lbl_804211C0@l
+/* 80185D9C 001819FC 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80185DA0 00181A00 7C 69 03 A6 */ mtctr r3
+/* 80185DA4 00181A04 4E 80 04 20 */ bctr
+/* 80185DA8 00181A08 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185DAC 00181A0C 40 82 00 0C */ bne lbl_80185DB8
+/* 80185DB0 00181A10 3B 40 00 00 */ li r26, 0
+/* 80185DB4 00181A14 48 00 00 08 */ b lbl_80185DBC
+lbl_80185DB8:
+/* 80185DB8 00181A18 8B 5E 07 EC */ lbz r26, 0x7ec(r30)
+lbl_80185DBC:
+/* 80185DBC 00181A1C 3B 80 00 E6 */ li r28, 0xe6
+/* 80185DC0 00181A20 48 00 00 A8 */ b lbl_80185E68
+/* 80185DC4 00181A24 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185DC8 00181A28 40 82 00 0C */ bne lbl_80185DD4
+/* 80185DCC 00181A2C 3B 40 00 00 */ li r26, 0
+/* 80185DD0 00181A30 48 00 00 08 */ b lbl_80185DD8
+lbl_80185DD4:
+/* 80185DD4 00181A34 8B 5E 07 ED */ lbz r26, 0x7ed(r30)
+lbl_80185DD8:
+/* 80185DD8 00181A38 3B 80 00 E7 */ li r28, 0xe7
+/* 80185DDC 00181A3C 48 00 00 8C */ b lbl_80185E68
+/* 80185DE0 00181A40 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185DE4 00181A44 40 82 00 0C */ bne lbl_80185DF0
+/* 80185DE8 00181A48 3B 40 00 00 */ li r26, 0
+/* 80185DEC 00181A4C 48 00 00 08 */ b lbl_80185DF4
+lbl_80185DF0:
+/* 80185DF0 00181A50 8B 5E 07 F0 */ lbz r26, 0x7f0(r30)
+lbl_80185DF4:
+/* 80185DF4 00181A54 3B 80 00 EA */ li r28, 0xea
+/* 80185DF8 00181A58 48 00 00 70 */ b lbl_80185E68
+/* 80185DFC 00181A5C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185E00 00181A60 40 82 00 0C */ bne lbl_80185E0C
+/* 80185E04 00181A64 3B 40 00 00 */ li r26, 0
+/* 80185E08 00181A68 48 00 00 08 */ b lbl_80185E10
+lbl_80185E0C:
+/* 80185E0C 00181A6C 8B 5E 07 EE */ lbz r26, 0x7ee(r30)
+lbl_80185E10:
+/* 80185E10 00181A70 3B 80 00 E8 */ li r28, 0xe8
+/* 80185E14 00181A74 48 00 00 54 */ b lbl_80185E68
+/* 80185E18 00181A78 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185E1C 00181A7C 40 82 00 0C */ bne lbl_80185E28
+/* 80185E20 00181A80 3B 40 00 00 */ li r26, 0
+/* 80185E24 00181A84 48 00 00 08 */ b lbl_80185E2C
+lbl_80185E28:
+/* 80185E28 00181A88 8B 5E 07 EF */ lbz r26, 0x7ef(r30)
+lbl_80185E2C:
+/* 80185E2C 00181A8C 3B 80 00 E9 */ li r28, 0xe9
+/* 80185E30 00181A90 48 00 00 38 */ b lbl_80185E68
+/* 80185E34 00181A94 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185E38 00181A98 40 82 00 0C */ bne lbl_80185E44
+/* 80185E3C 00181A9C 3B 40 00 00 */ li r26, 0
+/* 80185E40 00181AA0 48 00 00 08 */ b lbl_80185E48
+lbl_80185E44:
+/* 80185E44 00181AA4 8B 5E 07 F1 */ lbz r26, 0x7f1(r30)
+lbl_80185E48:
+/* 80185E48 00181AA8 3B 80 00 EB */ li r28, 0xeb
+/* 80185E4C 00181AAC 48 00 00 1C */ b lbl_80185E68
+/* 80185E50 00181AB0 2C 1E 00 00 */ cmpwi r30, 0
+/* 80185E54 00181AB4 40 82 00 0C */ bne lbl_80185E60
+/* 80185E58 00181AB8 3B 40 00 00 */ li r26, 0
+/* 80185E5C 00181ABC 48 00 00 08 */ b lbl_80185E64
+lbl_80185E60:
+/* 80185E60 00181AC0 8B 5E 07 F2 */ lbz r26, 0x7f2(r30)
+lbl_80185E64:
+/* 80185E64 00181AC4 3B 80 00 EC */ li r28, 0xec
+lbl_80185E68:
+/* 80185E68 00181AC8 7F 23 CB 78 */ mr r3, r25
+/* 80185E6C 00181ACC 48 03 CB 29 */ bl func_801C2994
+/* 80185E70 00181AD0 7C 60 07 75 */ extsb. r0, r3
+/* 80185E74 00181AD4 40 80 01 14 */ bge lbl_80185F88
+/* 80185E78 00181AD8 7F A3 EB 78 */ mr r3, r29
+/* 80185E7C 00181ADC 38 80 00 40 */ li r4, 0x40
+/* 80185E80 00181AE0 48 03 AB CD */ bl func_801C0A4C
+/* 80185E84 00181AE4 28 03 00 01 */ cmplwi r3, 1
+/* 80185E88 00181AE8 40 82 00 1C */ bne lbl_80185EA4
+/* 80185E8C 00181AEC 2C 1B 00 00 */ cmpwi r27, 0
+/* 80185E90 00181AF0 40 82 00 14 */ bne lbl_80185EA4
+/* 80185E94 00181AF4 28 18 00 AE */ cmplwi r24, 0xae
+/* 80185E98 00181AF8 41 82 00 0C */ beq lbl_80185EA4
+/* 80185E9C 00181AFC 38 60 00 00 */ li r3, 0
+/* 80185EA0 00181B00 48 00 00 FC */ b lbl_80185F9C
+lbl_80185EA4:
+/* 80185EA4 00181B04 7E E3 BB 78 */ mr r3, r23
+/* 80185EA8 00181B08 7F C4 F3 78 */ mr r4, r30
+/* 80185EAC 00181B0C 38 A0 00 1D */ li r5, 0x1d
+/* 80185EB0 00181B10 4B FF A7 69 */ bl func_80180618
+/* 80185EB4 00181B14 28 03 00 01 */ cmplwi r3, 1
+/* 80185EB8 00181B18 41 82 00 1C */ beq lbl_80185ED4
+/* 80185EBC 00181B1C 7E E3 BB 78 */ mr r3, r23
+/* 80185EC0 00181B20 7F C4 F3 78 */ mr r4, r30
+/* 80185EC4 00181B24 38 A0 00 49 */ li r5, 0x49
+/* 80185EC8 00181B28 4B FF A7 51 */ bl func_80180618
+/* 80185ECC 00181B2C 28 03 00 01 */ cmplwi r3, 1
+/* 80185ED0 00181B30 40 82 00 1C */ bne lbl_80185EEC
+lbl_80185ED4:
+/* 80185ED4 00181B34 2C 1B 00 00 */ cmpwi r27, 0
+/* 80185ED8 00181B38 40 82 00 14 */ bne lbl_80185EEC
+/* 80185EDC 00181B3C 28 18 00 AE */ cmplwi r24, 0xae
+/* 80185EE0 00181B40 41 82 00 0C */ beq lbl_80185EEC
+/* 80185EE4 00181B44 38 60 00 00 */ li r3, 0
+/* 80185EE8 00181B48 48 00 00 B4 */ b lbl_80185F9C
+lbl_80185EEC:
+/* 80185EEC 00181B4C 7E E3 BB 78 */ mr r3, r23
+/* 80185EF0 00181B50 7F C4 F3 78 */ mr r4, r30
+/* 80185EF4 00181B54 38 A0 00 33 */ li r5, 0x33
+/* 80185EF8 00181B58 4B FF A7 21 */ bl func_80180618
+/* 80185EFC 00181B5C 28 03 00 01 */ cmplwi r3, 1
+/* 80185F00 00181B60 40 82 00 1C */ bne lbl_80185F1C
+/* 80185F04 00181B64 2C 1B 00 00 */ cmpwi r27, 0
+/* 80185F08 00181B68 40 82 00 14 */ bne lbl_80185F1C
+/* 80185F0C 00181B6C 28 1C 00 EB */ cmplwi r28, 0xeb
+/* 80185F10 00181B70 40 82 00 0C */ bne lbl_80185F1C
+/* 80185F14 00181B74 38 60 00 00 */ li r3, 0
+/* 80185F18 00181B78 48 00 00 84 */ b lbl_80185F9C
+lbl_80185F1C:
+/* 80185F1C 00181B7C 7E E3 BB 78 */ mr r3, r23
+/* 80185F20 00181B80 7F C4 F3 78 */ mr r4, r30
+/* 80185F24 00181B84 38 A0 00 34 */ li r5, 0x34
+/* 80185F28 00181B88 4B FF A6 F1 */ bl func_80180618
+/* 80185F2C 00181B8C 28 03 00 01 */ cmplwi r3, 1
+/* 80185F30 00181B90 40 82 00 1C */ bne lbl_80185F4C
+/* 80185F34 00181B94 2C 1B 00 00 */ cmpwi r27, 0
+/* 80185F38 00181B98 40 82 00 14 */ bne lbl_80185F4C
+/* 80185F3C 00181B9C 28 1C 00 E6 */ cmplwi r28, 0xe6
+/* 80185F40 00181BA0 40 82 00 0C */ bne lbl_80185F4C
+/* 80185F44 00181BA4 38 60 00 00 */ li r3, 0
+/* 80185F48 00181BA8 48 00 00 54 */ b lbl_80185F9C
+lbl_80185F4C:
+/* 80185F4C 00181BAC 7E E3 BB 78 */ mr r3, r23
+/* 80185F50 00181BB0 7F C4 F3 78 */ mr r4, r30
+/* 80185F54 00181BB4 38 A0 00 13 */ li r5, 0x13
+/* 80185F58 00181BB8 4B FF A6 C1 */ bl func_80180618
+/* 80185F5C 00181BBC 28 03 00 01 */ cmplwi r3, 1
+/* 80185F60 00181BC0 40 82 00 18 */ bne lbl_80185F78
+/* 80185F64 00181BC4 57 E0 06 7E */ clrlwi r0, r31, 0x19
+/* 80185F68 00181BC8 70 00 00 DF */ andi. r0, r0, 0xdf
+/* 80185F6C 00181BCC 40 82 00 0C */ bne lbl_80185F78
+/* 80185F70 00181BD0 38 60 00 00 */ li r3, 0
+/* 80185F74 00181BD4 48 00 00 28 */ b lbl_80185F9C
+lbl_80185F78:
+/* 80185F78 00181BD8 2C 1A 00 00 */ cmpwi r26, 0
+/* 80185F7C 00181BDC 40 82 00 1C */ bne lbl_80185F98
+/* 80185F80 00181BE0 38 60 00 00 */ li r3, 0
+/* 80185F84 00181BE4 48 00 00 18 */ b lbl_80185F9C
+lbl_80185F88:
+/* 80185F88 00181BE8 28 1A 00 0C */ cmplwi r26, 0xc
+/* 80185F8C 00181BEC 41 80 00 0C */ blt lbl_80185F98
+/* 80185F90 00181BF0 38 60 00 00 */ li r3, 0
+/* 80185F94 00181BF4 48 00 00 08 */ b lbl_80185F9C
+lbl_80185F98:
+/* 80185F98 00181BF8 38 60 00 01 */ li r3, 1
+lbl_80185F9C:
+/* 80185F9C 00181BFC 39 61 00 30 */ addi r11, r1, 0x30
+/* 80185FA0 00181C00 48 04 11 C5 */ bl _restgpr_23
+/* 80185FA4 00181C04 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80185FA8 00181C08 7C 08 03 A6 */ mtlr r0
+/* 80185FAC 00181C0C 38 21 00 30 */ addi r1, r1, 0x30
+/* 80185FB0 00181C10 4E 80 00 20 */ blr
+
+.global func_80185FB4
+func_80185FB4:
+/* 80185FB4 00181C14 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80185FB8 00181C18 7C 08 02 A6 */ mflr r0
+/* 80185FBC 00181C1C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80185FC0 00181C20 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80185FC4 00181C24 7C 9F 23 78 */ mr r31, r4
+/* 80185FC8 00181C28 48 03 B7 8D */ bl func_801C1754
+/* 80185FCC 00181C2C 28 03 00 01 */ cmplwi r3, 1
+/* 80185FD0 00181C30 40 82 00 28 */ bne lbl_80185FF8
+/* 80185FD4 00181C34 7F E3 FB 78 */ mr r3, r31
+/* 80185FD8 00181C38 38 81 00 08 */ addi r4, r1, 8
+/* 80185FDC 00181C3C 48 03 CA 11 */ bl func_801C29EC
+/* 80185FE0 00181C40 54 63 06 3E */ clrlwi r3, r3, 0x18
+/* 80185FE4 00181C44 38 00 00 01 */ li r0, 1
+/* 80185FE8 00181C48 7C 00 18 10 */ subfc r0, r0, r3
+/* 80185FEC 00181C4C 38 00 FF FF */ li r0, -1
+/* 80185FF0 00181C50 7C 60 01 90 */ subfze r3, r0
+/* 80185FF4 00181C54 48 00 00 08 */ b lbl_80185FFC
+lbl_80185FF8:
+/* 80185FF8 00181C58 38 60 00 01 */ li r3, 1
+lbl_80185FFC:
+/* 80185FFC 00181C5C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80186000 00181C60 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80186004 00181C64 7C 08 03 A6 */ mtlr r0
+/* 80186008 00181C68 38 21 00 20 */ addi r1, r1, 0x20
+/* 8018600C 00181C6C 4E 80 00 20 */ blr
+lbl_80186010:
+/* 80186010 00181C70 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80186014 00181C74 7C 08 02 A6 */ mflr r0
+/* 80186018 00181C78 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8018601C 00181C7C 39 61 00 20 */ addi r11, r1, 0x20
+/* 80186020 00181C80 48 04 11 0D */ bl _savegpr_28
+/* 80186024 00181C84 83 C5 00 00 */ lwz r30, 0(r5)
+/* 80186028 00181C88 7C 7F 1B 78 */ mr r31, r3
+/* 8018602C 00181C8C 7C 9C 23 78 */ mr r28, r4
+/* 80186030 00181C90 7C BD 2B 78 */ mr r29, r5
+/* 80186034 00181C94 48 03 D8 8D */ bl func_801C38C0
+/* 80186038 00181C98 2C 03 00 00 */ cmpwi r3, 0
+/* 8018603C 00181C9C 40 82 00 0C */ bne lbl_80186048
+/* 80186040 00181CA0 38 60 00 01 */ li r3, 1
+/* 80186044 00181CA4 48 00 00 68 */ b lbl_801860AC
+lbl_80186048:
+/* 80186048 00181CA8 7F C3 F3 78 */ mr r3, r30
+/* 8018604C 00181CAC 7F E4 FB 78 */ mr r4, r31
+/* 80186050 00181CB0 7F 85 E3 78 */ mr r5, r28
+/* 80186054 00181CB4 48 03 B2 E9 */ bl func_801C133C
+/* 80186058 00181CB8 28 03 00 01 */ cmplwi r3, 1
+/* 8018605C 00181CBC 40 82 00 0C */ bne lbl_80186068
+/* 80186060 00181CC0 38 60 00 01 */ li r3, 1
+/* 80186064 00181CC4 48 00 00 48 */ b lbl_801860AC
+lbl_80186068:
+/* 80186068 00181CC8 2C 1F 00 00 */ cmpwi r31, 0
+/* 8018606C 00181CCC 40 82 00 0C */ bne lbl_80186078
+/* 80186070 00181CD0 38 00 00 00 */ li r0, 0
+/* 80186074 00181CD4 48 00 00 08 */ b lbl_8018607C
+lbl_80186078:
+/* 80186078 00181CD8 80 1F 07 94 */ lwz r0, 0x794(r31)
+lbl_8018607C:
+/* 8018607C 00181CDC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 80186080 00181CE0 40 82 00 28 */ bne lbl_801860A8
+/* 80186084 00181CE4 7F C3 F3 78 */ mr r3, r30
+/* 80186088 00181CE8 7F E4 FB 78 */ mr r4, r31
+/* 8018608C 00181CEC 38 A0 00 2B */ li r5, 0x2b
+/* 80186090 00181CF0 4B FF A5 89 */ bl func_80180618
+/* 80186094 00181CF4 28 03 00 01 */ cmplwi r3, 1
+/* 80186098 00181CF8 41 82 00 10 */ beq lbl_801860A8
+/* 8018609C 00181CFC 80 7D 00 04 */ lwz r3, 4(r29)
+/* 801860A0 00181D00 38 03 00 01 */ addi r0, r3, 1
+/* 801860A4 00181D04 90 1D 00 04 */ stw r0, 4(r29)
+lbl_801860A8:
+/* 801860A8 00181D08 38 60 00 01 */ li r3, 1
+lbl_801860AC:
+/* 801860AC 00181D0C 39 61 00 20 */ addi r11, r1, 0x20
+/* 801860B0 00181D10 48 04 10 C9 */ bl _restgpr_28
+/* 801860B4 00181D14 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801860B8 00181D18 7C 08 03 A6 */ mtlr r0
+/* 801860BC 00181D1C 38 21 00 20 */ addi r1, r1, 0x20
+/* 801860C0 00181D20 4E 80 00 20 */ blr
+
+.global func_801860C4
+func_801860C4:
+/* 801860C4 00181D24 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801860C8 00181D28 7C 08 02 A6 */ mflr r0
+/* 801860CC 00181D2C 3C 80 80 18 */ lis r4, lbl_80186010@ha
+/* 801860D0 00181D30 38 C0 00 00 */ li r6, 0
+/* 801860D4 00181D34 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801860D8 00181D38 38 00 00 00 */ li r0, 0
+/* 801860DC 00181D3C 38 A1 00 08 */ addi r5, r1, 8
+/* 801860E0 00181D40 38 84 60 10 */ addi r4, r4, lbl_80186010@l
+/* 801860E4 00181D44 90 61 00 08 */ stw r3, 8(r1)
+/* 801860E8 00181D48 38 60 00 00 */ li r3, 0
+/* 801860EC 00181D4C 90 01 00 0C */ stw r0, 0xc(r1)
+/* 801860F0 00181D50 48 03 99 F1 */ bl func_801BFAE0
+/* 801860F4 00181D54 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 801860F8 00181D58 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 801860FC 00181D5C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80186100 00181D60 7C 08 03 A6 */ mtlr r0
+/* 80186104 00181D64 38 21 00 10 */ addi r1, r1, 0x10
+/* 80186108 00181D68 4E 80 00 20 */ blr
+
+.global func_8018610C
+func_8018610C:
+/* 8018610C 00181D6C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80186110 00181D70 7C 08 02 A6 */ mflr r0
+/* 80186114 00181D74 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80186118 00181D78 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8018611C 00181D7C 7C BF 2B 78 */ mr r31, r5
+/* 80186120 00181D80 7F E3 FB 78 */ mr r3, r31
+/* 80186124 00181D84 93 C1 00 08 */ stw r30, 8(r1)
+/* 80186128 00181D88 7C 9E 23 78 */ mr r30, r4
+/* 8018612C 00181D8C 48 04 05 FD */ bl func_801C6728
+/* 80186130 00181D90 28 1E 00 40 */ cmplwi r30, 0x40
+/* 80186134 00181D94 40 82 00 30 */ bne lbl_80186164
+/* 80186138 00181D98 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 8018613C 00181D9C 28 00 00 92 */ cmplwi r0, 0x92
+/* 80186140 00181DA0 41 82 00 1C */ beq lbl_8018615C
+/* 80186144 00181DA4 28 00 00 95 */ cmplwi r0, 0x95
+/* 80186148 00181DA8 41 82 00 14 */ beq lbl_8018615C
+/* 8018614C 00181DAC 28 00 00 98 */ cmplwi r0, 0x98
+/* 80186150 00181DB0 41 82 00 0C */ beq lbl_8018615C
+/* 80186154 00181DB4 28 00 00 CF */ cmplwi r0, 0xcf
+/* 80186158 00181DB8 40 82 00 0C */ bne lbl_80186164
+lbl_8018615C:
+/* 8018615C 00181DBC 38 60 00 01 */ li r3, 1
+/* 80186160 00181DC0 48 00 00 68 */ b lbl_801861C8
+lbl_80186164:
+/* 80186164 00181DC4 28 1E 00 80 */ cmplwi r30, 0x80
+/* 80186168 00181DC8 40 82 00 18 */ bne lbl_80186180
+/* 8018616C 00181DCC 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 80186170 00181DD0 28 00 00 93 */ cmplwi r0, 0x93
+/* 80186174 00181DD4 40 82 00 0C */ bne lbl_80186180
+/* 80186178 00181DD8 38 60 00 01 */ li r3, 1
+/* 8018617C 00181DDC 48 00 00 4C */ b lbl_801861C8
+lbl_80186180:
+/* 80186180 00181DE0 3C 1E FF FC */ addis r0, r30, 0xfffc
+/* 80186184 00181DE4 28 00 00 00 */ cmplwi r0, 0
+/* 80186188 00181DE8 40 82 00 1C */ bne lbl_801861A4
+/* 8018618C 00181DEC 28 1F 00 39 */ cmplwi r31, 0x39
+/* 80186190 00181DF0 41 82 00 0C */ beq lbl_8018619C
+/* 80186194 00181DF4 28 1F 00 FA */ cmplwi r31, 0xfa
+/* 80186198 00181DF8 40 82 00 0C */ bne lbl_801861A4
+lbl_8018619C:
+/* 8018619C 00181DFC 38 60 00 01 */ li r3, 1
+/* 801861A0 00181E00 48 00 00 28 */ b lbl_801861C8
+lbl_801861A4:
+/* 801861A4 00181E04 3C 1E E0 00 */ addis r0, r30, 0xe000
+/* 801861A8 00181E08 28 00 00 00 */ cmplwi r0, 0
+/* 801861AC 00181E0C 40 82 00 0C */ bne lbl_801861B8
+/* 801861B0 00181E10 38 60 00 01 */ li r3, 1
+/* 801861B4 00181E14 48 00 00 14 */ b lbl_801861C8
+lbl_801861B8:
+/* 801861B8 00181E18 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 801861BC 00181E1C 38 03 FF A2 */ addi r0, r3, -94
+/* 801861C0 00181E20 7C 00 00 34 */ cntlzw r0, r0
+/* 801861C4 00181E24 54 03 D9 7E */ srwi r3, r0, 5
+lbl_801861C8:
+/* 801861C8 00181E28 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801861CC 00181E2C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801861D0 00181E30 83 C1 00 08 */ lwz r30, 8(r1)
+/* 801861D4 00181E34 7C 08 03 A6 */ mtlr r0
+/* 801861D8 00181E38 38 21 00 10 */ addi r1, r1, 0x10
+/* 801861DC 00181E3C 4E 80 00 20 */ blr
+
+.global func_801861E0
+func_801861E0:
+/* 801861E0 00181E40 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 801861E4 00181E44 7C 08 02 A6 */ mflr r0
+/* 801861E8 00181E48 38 C0 00 00 */ li r6, 0
+/* 801861EC 00181E4C 38 E0 00 01 */ li r7, 1
+/* 801861F0 00181E50 90 01 00 34 */ stw r0, 0x34(r1)
+/* 801861F4 00181E54 38 A1 00 08 */ addi r5, r1, 8
+/* 801861F8 00181E58 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 801861FC 00181E5C 7C 9F 23 78 */ mr r31, r4
+/* 80186200 00181E60 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 80186204 00181E64 7C 7E 1B 78 */ mr r30, r3
+/* 80186208 00181E68 7F C4 F3 78 */ mr r4, r30
+/* 8018620C 00181E6C 80 6D 9F 88 */ lwz r3, lbl_8063F248-_SDA_BASE_(r13)
+/* 80186210 00181E70 48 03 A1 91 */ bl func_801C03A0
+/* 80186214 00181E74 2C 1F 00 00 */ cmpwi r31, 0
+/* 80186218 00181E78 7C 66 1B 78 */ mr r6, r3
+/* 8018621C 00181E7C 40 82 00 0C */ bne lbl_80186228
+/* 80186220 00181E80 38 80 00 00 */ li r4, 0
+/* 80186224 00181E84 48 00 00 08 */ b lbl_8018622C
+lbl_80186228:
+/* 80186228 00181E88 88 9F 08 4C */ lbz r4, 0x84c(r31)
+lbl_8018622C:
+/* 8018622C 00181E8C 1C 04 00 0C */ mulli r0, r4, 0xc
+/* 80186230 00181E90 3C 60 80 42 */ lis r3, lbl_804211E0@ha
+/* 80186234 00181E94 2C 04 00 00 */ cmpwi r4, 0
+/* 80186238 00181E98 38 63 11 E0 */ addi r3, r3, lbl_804211E0@l
+/* 8018623C 00181E9C 7C 63 02 14 */ add r3, r3, r0
+/* 80186240 00181EA0 81 83 00 08 */ lwz r12, 8(r3)
+/* 80186244 00181EA4 40 82 00 0C */ bne lbl_80186250
+/* 80186248 00181EA8 38 60 00 00 */ li r3, 0
+/* 8018624C 00181EAC 48 00 00 60 */ b lbl_801862AC
+lbl_80186250:
+/* 80186250 00181EB0 2C 0C 00 00 */ cmpwi r12, 0
+/* 80186254 00181EB4 40 82 00 1C */ bne lbl_80186270
+/* 80186258 00181EB8 2C 1F 00 00 */ cmpwi r31, 0
+/* 8018625C 00181EBC 41 82 00 0C */ beq lbl_80186268
+/* 80186260 00181EC0 38 00 00 00 */ li r0, 0
+/* 80186264 00181EC4 98 1F 08 4C */ stb r0, 0x84c(r31)
+lbl_80186268:
+/* 80186268 00181EC8 38 60 00 00 */ li r3, 0
+/* 8018626C 00181ECC 48 00 00 40 */ b lbl_801862AC
+lbl_80186270:
+/* 80186270 00181ED0 7F C3 F3 78 */ mr r3, r30
+/* 80186274 00181ED4 7F E4 FB 78 */ mr r4, r31
+/* 80186278 00181ED8 38 A1 00 08 */ addi r5, r1, 8
+/* 8018627C 00181EDC 54 C6 04 3E */ clrlwi r6, r6, 0x10
+/* 80186280 00181EE0 7D 89 03 A6 */ mtctr r12
+/* 80186284 00181EE4 4E 80 04 21 */ bctrl
+/* 80186288 00181EE8 2C 03 00 00 */ cmpwi r3, 0
+/* 8018628C 00181EEC 40 82 00 1C */ bne lbl_801862A8
+/* 80186290 00181EF0 2C 1F 00 00 */ cmpwi r31, 0
+/* 80186294 00181EF4 41 82 00 0C */ beq lbl_801862A0
+/* 80186298 00181EF8 38 00 00 00 */ li r0, 0
+/* 8018629C 00181EFC 98 1F 08 4C */ stb r0, 0x84c(r31)
+lbl_801862A0:
+/* 801862A0 00181F00 38 60 00 00 */ li r3, 0
+/* 801862A4 00181F04 48 00 00 08 */ b lbl_801862AC
+lbl_801862A8:
+/* 801862A8 00181F08 38 60 00 01 */ li r3, 1
+lbl_801862AC:
+/* 801862AC 00181F0C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 801862B0 00181F10 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 801862B4 00181F14 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 801862B8 00181F18 7C 08 03 A6 */ mtlr r0
+/* 801862BC 00181F1C 38 21 00 30 */ addi r1, r1, 0x30
+/* 801862C0 00181F20 4E 80 00 20 */ blr
+
+.global func_801862C4
+func_801862C4:
+/* 801862C4 00181F24 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 801862C8 00181F28 7C 08 02 A6 */ mflr r0
+/* 801862CC 00181F2C 90 01 00 84 */ stw r0, 0x84(r1)
+/* 801862D0 00181F30 39 61 00 80 */ addi r11, r1, 0x80
+/* 801862D4 00181F34 48 04 0E 4D */ bl _savegpr_25
+/* 801862D8 00181F38 7C 79 1B 78 */ mr r25, r3
+/* 801862DC 00181F3C 7C 9A 23 78 */ mr r26, r4
+/* 801862E0 00181F40 7C BB 2B 78 */ mr r27, r5
+/* 801862E4 00181F44 4B FF 86 BD */ bl func_8017E9A0
+/* 801862E8 00181F48 2C 19 00 00 */ cmpwi r25, 0
+/* 801862EC 00181F4C 40 82 00 0C */ bne lbl_801862F8
+/* 801862F0 00181F50 38 60 00 00 */ li r3, 0
+/* 801862F4 00181F54 48 00 00 AC */ b lbl_801863A0
+lbl_801862F8:
+/* 801862F8 00181F58 80 6D 9F 88 */ lwz r3, lbl_8063F248-_SDA_BASE_(r13)
+/* 801862FC 00181F5C 7F 24 CB 78 */ mr r4, r25
+/* 80186300 00181F60 38 A1 00 08 */ addi r5, r1, 8
+/* 80186304 00181F64 38 C0 00 00 */ li r6, 0
+/* 80186308 00181F68 38 E0 00 01 */ li r7, 1
+/* 8018630C 00181F6C 48 03 A0 95 */ bl func_801C03A0
+/* 80186310 00181F70 3F E0 80 42 */ lis r31, lbl_804211E0@ha
+/* 80186314 00181F74 7C 7E 1B 78 */ mr r30, r3
+/* 80186318 00181F78 3B FF 11 E0 */ addi r31, r31, lbl_804211E0@l
+/* 8018631C 00181F7C 3B 80 00 00 */ li r28, 0
+lbl_80186320:
+/* 80186320 00181F80 57 83 06 3E */ clrlwi r3, r28, 0x18
+/* 80186324 00181F84 4B FF 80 D1 */ bl func_8017E3F4
+/* 80186328 00181F88 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 8018632C 00181F8C 57 83 06 3E */ clrlwi r3, r28, 0x18
+/* 80186330 00181F90 1C 00 00 0C */ mulli r0, r0, 0xc
+/* 80186334 00181F94 7C 9F 02 14 */ add r4, r31, r0
+/* 80186338 00181F98 83 A4 00 04 */ lwz r29, 4(r4)
+/* 8018633C 00181F9C 4B FF 80 ED */ bl func_8017E428
+/* 80186340 00181FA0 54 69 06 3F */ clrlwi. r9, r3, 0x18
+/* 80186344 00181FA4 41 82 00 4C */ beq lbl_80186390
+/* 80186348 00181FA8 2C 1D 00 00 */ cmpwi r29, 0
+/* 8018634C 00181FAC 41 82 00 44 */ beq lbl_80186390
+/* 80186350 00181FB0 7F AC EB 78 */ mr r12, r29
+/* 80186354 00181FB4 7F 23 CB 78 */ mr r3, r25
+/* 80186358 00181FB8 7F 44 D3 78 */ mr r4, r26
+/* 8018635C 00181FBC 7F 65 DB 78 */ mr r5, r27
+/* 80186360 00181FC0 38 C1 00 08 */ addi r6, r1, 8
+/* 80186364 00181FC4 57 C7 04 3E */ clrlwi r7, r30, 0x10
+/* 80186368 00181FC8 39 01 00 28 */ addi r8, r1, 0x28
+/* 8018636C 00181FCC 7D 89 03 A6 */ mtctr r12
+/* 80186370 00181FD0 4E 80 04 21 */ bctrl
+/* 80186374 00181FD4 28 03 00 01 */ cmplwi r3, 1
+/* 80186378 00181FD8 40 82 00 18 */ bne lbl_80186390
+/* 8018637C 00181FDC 7F 23 CB 78 */ mr r3, r25
+/* 80186380 00181FE0 38 81 00 28 */ addi r4, r1, 0x28
+/* 80186384 00181FE4 4B FF DC 91 */ bl func_80184014
+/* 80186388 00181FE8 38 60 00 01 */ li r3, 1
+/* 8018638C 00181FEC 48 00 00 14 */ b lbl_801863A0
+lbl_80186390:
+/* 80186390 00181FF0 3B 9C 00 01 */ addi r28, r28, 1
+/* 80186394 00181FF4 28 1C 00 04 */ cmplwi r28, 4
+/* 80186398 00181FF8 41 80 FF 88 */ blt lbl_80186320
+/* 8018639C 00181FFC 38 60 00 00 */ li r3, 0
+lbl_801863A0:
+/* 801863A0 00182000 39 61 00 80 */ addi r11, r1, 0x80
+/* 801863A4 00182004 48 04 0D C9 */ bl _restgpr_25
+/* 801863A8 00182008 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 801863AC 0018200C 7C 08 03 A6 */ mtlr r0
+/* 801863B0 00182010 38 21 00 80 */ addi r1, r1, 0x80
+/* 801863B4 00182014 4E 80 00 20 */ blr
+
+.global func_801863B8
+func_801863B8:
+/* 801863B8 00182018 94 21 FF 00 */ stwu r1, -0x100(r1)
+/* 801863BC 0018201C 7C 08 02 A6 */ mflr r0
+/* 801863C0 00182020 90 01 01 04 */ stw r0, 0x104(r1)
+/* 801863C4 00182024 39 61 01 00 */ addi r11, r1, 0x100
+/* 801863C8 00182028 48 04 0D 3D */ bl _savegpr_18
+/* 801863CC 0018202C 7C 73 1B 78 */ mr r19, r3
+/* 801863D0 00182030 7C 94 23 78 */ mr r20, r4
+/* 801863D4 00182034 7C B5 2B 78 */ mr r21, r5
+/* 801863D8 00182038 7C D6 33 78 */ mr r22, r6
+/* 801863DC 0018203C 7C F7 3B 78 */ mr r23, r7
+/* 801863E0 00182040 7D 18 43 78 */ mr r24, r8
+/* 801863E4 00182044 7D 39 4B 78 */ mr r25, r9
+/* 801863E8 00182048 7D 5A 53 78 */ mr r26, r10
+/* 801863EC 0018204C 3B C1 00 48 */ addi r30, r1, 0x48
+/* 801863F0 00182050 3B E1 00 08 */ addi r31, r1, 8
+/* 801863F4 00182054 3B A0 00 00 */ li r29, 0
+/* 801863F8 00182058 3B 80 00 00 */ li r28, 0
+/* 801863FC 0018205C 48 00 00 D4 */ b lbl_801864D0
+lbl_80186400:
+/* 80186400 00182060 2C 13 00 00 */ cmpwi r19, 0
+/* 80186404 00182064 41 82 00 C8 */ beq lbl_801864CC
+/* 80186408 00182068 57 80 06 3E */ clrlwi r0, r28, 0x18
+/* 8018640C 0018206C 80 97 00 00 */ lwz r4, 0(r23)
+/* 80186410 00182070 1C 00 00 2C */ mulli r0, r0, 0x2c
+/* 80186414 00182074 7C 73 00 2E */ lwzx r3, r19, r0
+/* 80186418 00182078 7C B3 02 14 */ add r5, r19, r0
+/* 8018641C 0018207C 7C 03 20 40 */ cmplw r3, r4
+/* 80186420 00182080 41 82 00 10 */ beq lbl_80186430
+/* 80186424 00182084 80 17 00 04 */ lwz r0, 4(r23)
+/* 80186428 00182088 7C 03 00 40 */ cmplw r3, r0
+/* 8018642C 0018208C 40 82 00 10 */ bne lbl_8018643C
+lbl_80186430:
+/* 80186430 00182090 80 05 00 04 */ lwz r0, 4(r5)
+/* 80186434 00182094 7C 00 20 40 */ cmplw r0, r4
+/* 80186438 00182098 41 82 00 14 */ beq lbl_8018644C
+lbl_8018643C:
+/* 8018643C 0018209C 80 65 00 04 */ lwz r3, 4(r5)
+/* 80186440 001820A0 80 17 00 04 */ lwz r0, 4(r23)
+/* 80186444 001820A4 7C 03 00 40 */ cmplw r3, r0
+/* 80186448 001820A8 40 82 00 58 */ bne lbl_801864A0
+lbl_8018644C:
+/* 8018644C 001820AC 7E C3 B3 78 */ mr r3, r22
+/* 80186450 001820B0 7F 04 C3 78 */ mr r4, r24
+/* 80186454 001820B4 7E A6 AB 78 */ mr r6, r21
+/* 80186458 001820B8 57 92 0D FC */ rlwinm r18, r28, 1, 0x17, 0x1e
+/* 8018645C 001820BC 7F 47 07 74 */ extsb r7, r26
+/* 80186460 001820C0 48 00 04 4D */ bl func_801868AC
+/* 80186464 001820C4 7C 64 07 34 */ extsh r4, r3
+/* 80186468 001820C8 7F A0 07 34 */ extsh r0, r29
+/* 8018646C 001820CC 7C 00 20 00 */ cmpw r0, r4
+/* 80186470 001820D0 7C 7E 93 2E */ sthx r3, r30, r18
+/* 80186474 001820D4 40 80 00 14 */ bge lbl_80186488
+/* 80186478 001820D8 9B 81 00 08 */ stb r28, 8(r1)
+/* 8018647C 001820DC 7C 9D 23 78 */ mr r29, r4
+/* 80186480 001820E0 3B 60 00 01 */ li r27, 1
+/* 80186484 001820E4 48 00 00 1C */ b lbl_801864A0
+lbl_80186488:
+/* 80186488 001820E8 40 82 00 18 */ bne lbl_801864A0
+/* 8018648C 001820EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80186490 001820F0 40 81 00 10 */ ble lbl_801864A0
+/* 80186494 001820F4 57 60 06 3E */ clrlwi r0, r27, 0x18
+/* 80186498 001820F8 3B 7B 00 01 */ addi r27, r27, 1
+/* 8018649C 001820FC 7F 9F 01 AE */ stbx r28, r31, r0
+lbl_801864A0:
+/* 801864A0 00182100 4B FF 84 61 */ bl func_8017E900
+/* 801864A4 00182104 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 801864A8 00182108 57 64 06 3E */ clrlwi r4, r27, 0x18
+/* 801864AC 0018210C 7C 05 23 D6 */ divw r0, r5, r4
+/* 801864B0 00182110 7F 23 CB 78 */ mr r3, r25
+/* 801864B4 00182114 7C 00 21 D6 */ mullw r0, r0, r4
+/* 801864B8 00182118 7C 00 28 50 */ subf r0, r0, r5
+/* 801864BC 0018211C 7C 1F 00 AE */ lbzx r0, r31, r0
+/* 801864C0 00182120 1C 00 00 2C */ mulli r0, r0, 0x2c
+/* 801864C4 00182124 7C 93 02 14 */ add r4, r19, r0
+/* 801864C8 00182128 4B FF F5 15 */ bl func_801859DC
+lbl_801864CC:
+/* 801864CC 0018212C 3B 9C 00 01 */ addi r28, r28, 1
+lbl_801864D0:
+/* 801864D0 00182130 57 80 06 3E */ clrlwi r0, r28, 0x18
+/* 801864D4 00182134 7C 00 A0 40 */ cmplw r0, r20
+/* 801864D8 00182138 41 80 FF 28 */ blt lbl_80186400
+/* 801864DC 0018213C 39 61 01 00 */ addi r11, r1, 0x100
+/* 801864E0 00182140 7F A3 EB 78 */ mr r3, r29
+/* 801864E4 00182144 48 04 0C 6D */ bl _restgpr_18
+/* 801864E8 00182148 80 01 01 04 */ lwz r0, 0x104(r1)
+/* 801864EC 0018214C 7C 08 03 A6 */ mtlr r0
+/* 801864F0 00182150 38 21 01 00 */ addi r1, r1, 0x100
+/* 801864F4 00182154 4E 80 00 20 */ blr
+
+.global func_801864F8
+func_801864F8:
+/* 801864F8 00182158 7C 60 1B 78 */ mr r0, r3
+/* 801864FC 0018215C 7C 86 23 78 */ mr r6, r4
+/* 80186500 00182160 7C A3 2B 78 */ mr r3, r5
+/* 80186504 00182164 7C E4 3B 78 */ mr r4, r7
+/* 80186508 00182168 7C 05 03 78 */ mr r5, r0
+/* 8018650C 0018216C 7D 07 07 74 */ extsb r7, r8
+/* 80186510 00182170 48 00 03 9C */ b func_801868AC
+
+.global func_80186514
+func_80186514:
+/* 80186514 00182174 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 80186518 00182178 7C 08 02 A6 */ mflr r0
+/* 8018651C 0018217C 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 80186520 00182180 39 61 00 90 */ addi r11, r1, 0x90
+/* 80186524 00182184 DB E1 00 98 */ stfd f31, 0x98(r1)
+/* 80186528 00182188 DB C1 00 90 */ stfd f30, 0x90(r1)
+/* 8018652C 0018218C 48 04 0B C9 */ bl __save_gpr
+/* 80186530 00182190 2C 07 00 03 */ cmpwi r7, 3
+/* 80186534 00182194 AB 06 00 00 */ lha r24, 0(r6)
+/* 80186538 00182198 7C 6F 1B 78 */ mr r15, r3
+/* 8018653C 0018219C 7C 90 23 78 */ mr r16, r4
+/* 80186540 001821A0 7C B1 2B 78 */ mr r17, r5
+/* 80186544 001821A4 7C D2 33 78 */ mr r18, r6
+/* 80186548 001821A8 7C F3 3B 78 */ mr r19, r7
+/* 8018654C 001821AC 3A 80 00 00 */ li r20, 0
+/* 80186550 001821B0 41 82 00 A4 */ beq lbl_801865F4
+/* 80186554 001821B4 40 80 00 14 */ bge lbl_80186568
+/* 80186558 001821B8 2C 07 00 01 */ cmpwi r7, 1
+/* 8018655C 001821BC 41 82 00 1C */ beq lbl_80186578
+/* 80186560 001821C0 40 80 00 5C */ bge lbl_801865BC
+/* 80186564 001821C4 48 00 01 1C */ b lbl_80186680
+lbl_80186568:
+/* 80186568 001821C8 2C 07 00 05 */ cmpwi r7, 5
+/* 8018656C 001821CC 41 82 00 FC */ beq lbl_80186668
+/* 80186570 001821D0 40 80 01 10 */ bge lbl_80186680
+/* 80186574 001821D4 48 00 00 BC */ b lbl_80186630
+lbl_80186578:
+/* 80186578 001821D8 3C 80 80 42 */ lis r4, lbl_80421570@ha
+/* 8018657C 001821DC 3A E0 00 06 */ li r23, 6
+/* 80186580 001821E0 38 84 15 70 */ addi r4, r4, lbl_80421570@l
+/* 80186584 001821E4 38 61 00 0C */ addi r3, r1, 0xc
+/* 80186588 001821E8 38 C0 00 00 */ li r6, 0
+/* 8018658C 001821EC 7E E9 03 A6 */ mtctr r23
+lbl_80186590:
+/* 80186590 001821F0 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
+/* 80186594 001821F4 38 C6 00 01 */ addi r6, r6, 1
+/* 80186598 001821F8 7C 04 2A 2E */ lhzx r0, r4, r5
+/* 8018659C 001821FC 7C 03 2B 2E */ sthx r0, r3, r5
+/* 801865A0 00182200 42 00 FF F0 */ bdnz lbl_80186590
+/* 801865A4 00182204 38 60 00 0F */ li r3, 0xf
+/* 801865A8 00182208 38 00 00 48 */ li r0, 0x48
+/* 801865AC 0018220C B0 61 00 08 */ sth r3, 8(r1)
+/* 801865B0 00182210 3A A0 00 02 */ li r21, 2
+/* 801865B4 00182214 B0 01 00 0A */ sth r0, 0xa(r1)
+/* 801865B8 00182218 48 00 00 C8 */ b lbl_80186680
+lbl_801865BC:
+/* 801865BC 0018221C 3A E0 00 03 */ li r23, 3
+/* 801865C0 00182220 38 61 00 0C */ addi r3, r1, 0xc
+/* 801865C4 00182224 38 C0 00 00 */ li r6, 0
+/* 801865C8 00182228 38 8D 83 7E */ addi r4, r13, lbl_8063D63E-_SDA_BASE_
+/* 801865CC 0018222C 7E E9 03 A6 */ mtctr r23
+lbl_801865D0:
+/* 801865D0 00182230 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
+/* 801865D4 00182234 38 C6 00 01 */ addi r6, r6, 1
+/* 801865D8 00182238 7C 04 2A 2E */ lhzx r0, r4, r5
+/* 801865DC 0018223C 7C 03 2B 2E */ sthx r0, r3, r5
+/* 801865E0 00182240 42 00 FF F0 */ bdnz lbl_801865D0
+/* 801865E4 00182244 38 00 00 07 */ li r0, 7
+/* 801865E8 00182248 3A A0 00 01 */ li r21, 1
+/* 801865EC 0018224C B0 01 00 08 */ sth r0, 8(r1)
+/* 801865F0 00182250 48 00 00 90 */ b lbl_80186680
+lbl_801865F4:
+/* 801865F4 00182254 3A E0 00 04 */ li r23, 4
+/* 801865F8 00182258 38 61 00 0C */ addi r3, r1, 0xc
+/* 801865FC 0018225C 38 C0 00 00 */ li r6, 0
+/* 80186600 00182260 38 8D 83 76 */ addi r4, r13, lbl_8063D636-_SDA_BASE_
+/* 80186604 00182264 7E E9 03 A6 */ mtctr r23
+lbl_80186608:
+/* 80186608 00182268 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
+/* 8018660C 0018226C 38 C6 00 01 */ addi r6, r6, 1
+/* 80186610 00182270 7C 04 2A 2E */ lhzx r0, r4, r5
+/* 80186614 00182274 7C 03 2B 2E */ sthx r0, r3, r5
+/* 80186618 00182278 42 00 FF F0 */ bdnz lbl_80186608
+/* 8018661C 0018227C 38 00 00 14 */ li r0, 0x14
+/* 80186620 00182280 7E 74 9B 78 */ mr r20, r19
+/* 80186624 00182284 B0 01 00 08 */ sth r0, 8(r1)
+/* 80186628 00182288 3A A0 00 01 */ li r21, 1
+/* 8018662C 0018228C 48 00 00 54 */ b lbl_80186680
+lbl_80186630:
+/* 80186630 00182290 3A E0 00 03 */ li r23, 3
+/* 80186634 00182294 38 61 00 0C */ addi r3, r1, 0xc
+/* 80186638 00182298 38 C0 00 00 */ li r6, 0
+/* 8018663C 0018229C 38 8D 83 70 */ addi r4, r13, lbl_8063D630-_SDA_BASE_
+/* 80186640 001822A0 7E E9 03 A6 */ mtctr r23
+lbl_80186644:
+/* 80186644 001822A4 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
+/* 80186648 001822A8 38 C6 00 01 */ addi r6, r6, 1
+/* 8018664C 001822AC 7C 04 2A 2E */ lhzx r0, r4, r5
+/* 80186650 001822B0 7C 03 2B 2E */ sthx r0, r3, r5
+/* 80186654 001822B4 42 00 FF F0 */ bdnz lbl_80186644
+/* 80186658 001822B8 38 00 00 11 */ li r0, 0x11
+/* 8018665C 001822BC 3A A0 00 01 */ li r21, 1
+/* 80186660 001822C0 B0 01 00 08 */ sth r0, 8(r1)
+/* 80186664 001822C4 48 00 00 1C */ b lbl_80186680
+lbl_80186668:
+/* 80186668 001822C8 A0 6D 83 84 */ lhz r3, lbl_8063D644-_SDA_BASE_(r13)
+/* 8018666C 001822CC 38 00 00 29 */ li r0, 0x29
+/* 80186670 001822D0 B0 01 00 08 */ sth r0, 8(r1)
+/* 80186674 001822D4 3A E0 00 01 */ li r23, 1
+/* 80186678 001822D8 3A A0 00 01 */ li r21, 1
+/* 8018667C 001822DC B0 61 00 0C */ sth r3, 0xc(r1)
+lbl_80186680:
+/* 80186680 001822E0 CB C2 90 A8 */ lfd f30, lbl_806416A8-_SDA2_BASE_(r2)
+/* 80186684 001822E4 3B 80 00 00 */ li r28, 0
+/* 80186688 001822E8 CB E2 90 A0 */ lfd f31, lbl_806416A0-_SDA2_BASE_(r2)
+lbl_8018668C:
+/* 8018668C 001822EC 57 9D 15 BA */ rlwinm r29, r28, 2, 0x16, 0x1d
+/* 80186690 001822F0 7C 11 E8 2E */ lwzx r0, r17, r29
+/* 80186694 001822F4 7F D1 EA 14 */ add r30, r17, r29
+/* 80186698 001822F8 2C 00 00 00 */ cmpwi r0, 0
+/* 8018669C 001822FC 41 82 01 E0 */ beq lbl_8018687C
+/* 801866A0 00182300 57 83 0D FC */ rlwinm r3, r28, 1, 0x17, 0x1e
+/* 801866A4 00182304 57 80 06 3E */ clrlwi r0, r28, 0x18
+/* 801866A8 00182308 7D D1 1A 14 */ add r14, r17, r3
+/* 801866AC 0018230C 3B 40 00 00 */ li r26, 0
+/* 801866B0 00182310 7F F1 02 14 */ add r31, r17, r0
+/* 801866B4 00182314 48 00 01 BC */ b lbl_80186870
+lbl_801866B8:
+/* 801866B8 00182318 57 40 0D FC */ rlwinm r0, r26, 1, 0x17, 0x1e
+/* 801866BC 0018231C 38 61 00 0C */ addi r3, r1, 0xc
+/* 801866C0 00182320 A0 8E 00 10 */ lhz r4, 0x10(r14)
+/* 801866C4 00182324 7C 03 02 2E */ lhzx r0, r3, r0
+/* 801866C8 00182328 7C 04 00 40 */ cmplw r4, r0
+/* 801866CC 0018232C 40 82 01 A0 */ bne lbl_8018686C
+/* 801866D0 00182330 88 1F 00 16 */ lbz r0, 0x16(r31)
+/* 801866D4 00182334 2C 00 00 02 */ cmpwi r0, 2
+/* 801866D8 00182338 41 82 00 A4 */ beq lbl_8018677C
+/* 801866DC 0018233C 40 80 01 90 */ bge lbl_8018686C
+/* 801866E0 00182340 2C 00 00 00 */ cmpwi r0, 0
+/* 801866E4 00182344 40 80 00 0C */ bge lbl_801866F0
+/* 801866E8 00182348 48 00 01 84 */ b lbl_8018686C
+/* 801866EC 0018234C 48 00 01 80 */ b lbl_8018686C
+lbl_801866F0:
+/* 801866F0 00182350 80 9E 00 08 */ lwz r4, 8(r30)
+/* 801866F4 00182354 2C 04 00 00 */ cmpwi r4, 0
+/* 801866F8 00182358 41 82 01 74 */ beq lbl_8018686C
+/* 801866FC 0018235C 2C 14 00 00 */ cmpwi r20, 0
+/* 80186700 00182360 41 82 00 20 */ beq lbl_80186720
+/* 80186704 00182364 7D E3 7B 78 */ mr r3, r15
+/* 80186708 00182368 7E 85 A3 78 */ mr r5, r20
+/* 8018670C 0018236C 4B FF A7 11 */ bl func_80180E1C
+/* 80186710 00182370 28 03 00 01 */ cmplwi r3, 1
+/* 80186714 00182374 40 82 00 24 */ bne lbl_80186738
+/* 80186718 00182378 3B 00 00 00 */ li r24, 0
+/* 8018671C 0018237C 48 00 00 1C */ b lbl_80186738
+lbl_80186720:
+/* 80186720 00182380 7D E3 7B 78 */ mr r3, r15
+/* 80186724 00182384 7E 65 9B 78 */ mr r5, r19
+/* 80186728 00182388 4B FF A6 99 */ bl func_80180DC0
+/* 8018672C 0018238C 28 03 00 01 */ cmplwi r3, 1
+/* 80186730 00182390 40 82 00 08 */ bne lbl_80186738
+/* 80186734 00182394 3B 00 00 00 */ li r24, 0
+lbl_80186738:
+/* 80186738 00182398 3A C0 00 00 */ li r22, 0
+/* 8018673C 0018239C 48 00 00 30 */ b lbl_8018676C
+lbl_80186740:
+/* 80186740 001823A0 56 C0 0D FC */ rlwinm r0, r22, 1, 0x17, 0x1e
+/* 80186744 001823A4 38 61 00 08 */ addi r3, r1, 8
+/* 80186748 001823A8 7C A3 02 2E */ lhzx r5, r3, r0
+/* 8018674C 001823AC 7D E3 7B 78 */ mr r3, r15
+/* 80186750 001823B0 80 9E 00 08 */ lwz r4, 8(r30)
+/* 80186754 001823B4 4B FF C0 F5 */ bl func_80182848
+/* 80186758 001823B8 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 8018675C 001823BC 28 00 00 01 */ cmplwi r0, 1
+/* 80186760 001823C0 41 80 00 08 */ blt lbl_80186768
+/* 80186764 001823C4 3B 00 00 00 */ li r24, 0
+lbl_80186768:
+/* 80186768 001823C8 3A D6 00 01 */ addi r22, r22, 1
+lbl_8018676C:
+/* 8018676C 001823CC 56 C0 06 3E */ clrlwi r0, r22, 0x18
+/* 80186770 001823D0 7C 00 A8 40 */ cmplw r0, r21
+/* 80186774 001823D4 41 80 FF CC */ blt lbl_80186740
+/* 80186778 001823D8 48 00 00 F4 */ b lbl_8018686C
+lbl_8018677C:
+/* 8018677C 001823DC 3A C0 00 00 */ li r22, 0
+/* 80186780 001823E0 3B 20 00 00 */ li r25, 0
+lbl_80186784:
+/* 80186784 001823E4 57 20 15 BA */ rlwinm r0, r25, 2, 0x16, 0x1d
+/* 80186788 001823E8 7C 90 00 2E */ lwzx r4, r16, r0
+/* 8018678C 001823EC 2C 04 00 00 */ cmpwi r4, 0
+/* 80186790 001823F0 41 82 00 88 */ beq lbl_80186818
+/* 80186794 001823F4 2C 14 00 00 */ cmpwi r20, 0
+/* 80186798 001823F8 41 82 00 20 */ beq lbl_801867B8
+/* 8018679C 001823FC 7D E3 7B 78 */ mr r3, r15
+/* 801867A0 00182400 7E 85 A3 78 */ mr r5, r20
+/* 801867A4 00182404 4B FF A6 79 */ bl func_80180E1C
+/* 801867A8 00182408 28 03 00 01 */ cmplwi r3, 1
+/* 801867AC 0018240C 40 82 00 28 */ bne lbl_801867D4
+/* 801867B0 00182410 3A D6 00 01 */ addi r22, r22, 1
+/* 801867B4 00182414 48 00 00 70 */ b lbl_80186824
+lbl_801867B8:
+/* 801867B8 00182418 7D E3 7B 78 */ mr r3, r15
+/* 801867BC 0018241C 7E 65 9B 78 */ mr r5, r19
+/* 801867C0 00182420 4B FF A6 01 */ bl func_80180DC0
+/* 801867C4 00182424 28 03 00 01 */ cmplwi r3, 1
+/* 801867C8 00182428 40 82 00 0C */ bne lbl_801867D4
+/* 801867CC 0018242C 3A D6 00 01 */ addi r22, r22, 1
+/* 801867D0 00182430 48 00 00 54 */ b lbl_80186824
+lbl_801867D4:
+/* 801867D4 00182434 3B 60 00 00 */ li r27, 0
+/* 801867D8 00182438 48 00 00 34 */ b lbl_8018680C
+lbl_801867DC:
+/* 801867DC 0018243C 57 60 0D FC */ rlwinm r0, r27, 1, 0x17, 0x1e
+/* 801867E0 00182440 38 61 00 08 */ addi r3, r1, 8
+/* 801867E4 00182444 7C A3 02 2E */ lhzx r5, r3, r0
+/* 801867E8 00182448 7D E3 7B 78 */ mr r3, r15
+/* 801867EC 0018244C 7C 90 E8 2E */ lwzx r4, r16, r29
+/* 801867F0 00182450 4B FF C0 59 */ bl func_80182848
+/* 801867F4 00182454 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 801867F8 00182458 28 00 00 01 */ cmplwi r0, 1
+/* 801867FC 0018245C 41 80 00 0C */ blt lbl_80186808
+/* 80186800 00182460 3A D6 00 01 */ addi r22, r22, 1
+/* 80186804 00182464 48 00 00 14 */ b lbl_80186818
+lbl_80186808:
+/* 80186808 00182468 3B 7B 00 01 */ addi r27, r27, 1
+lbl_8018680C:
+/* 8018680C 0018246C 57 60 06 3E */ clrlwi r0, r27, 0x18
+/* 80186810 00182470 7C 00 A8 40 */ cmplw r0, r21
+/* 80186814 00182474 41 80 FF C8 */ blt lbl_801867DC
+lbl_80186818:
+/* 80186818 00182478 3B 39 00 01 */ addi r25, r25, 1
+/* 8018681C 0018247C 28 19 00 02 */ cmplwi r25, 2
+/* 80186820 00182480 41 80 FF 64 */ blt lbl_80186784
+lbl_80186824:
+/* 80186824 00182484 56 C0 06 3E */ clrlwi r0, r22, 0x18
+/* 80186828 00182488 28 00 00 02 */ cmplwi r0, 2
+/* 8018682C 0018248C 41 80 00 0C */ blt lbl_80186838
+/* 80186830 00182490 3B 00 00 00 */ li r24, 0
+/* 80186834 00182494 48 00 00 38 */ b lbl_8018686C
+lbl_80186838:
+/* 80186838 00182498 28 00 00 01 */ cmplwi r0, 1
+/* 8018683C 0018249C 40 82 00 30 */ bne lbl_8018686C
+/* 80186840 001824A0 3C 00 43 30 */ lis r0, 0x4330
+/* 80186844 001824A4 7F 03 07 34 */ extsh r3, r24
+/* 80186848 001824A8 90 01 00 38 */ stw r0, 0x38(r1)
+/* 8018684C 001824AC 6C 60 80 00 */ xoris r0, r3, 0x8000
+/* 80186850 001824B0 90 01 00 3C */ stw r0, 0x3c(r1)
+/* 80186854 001824B4 C8 01 00 38 */ lfd f0, 0x38(r1)
+/* 80186858 001824B8 FC 00 F0 28 */ fsub f0, f0, f30
+/* 8018685C 001824BC FC 00 07 F2 */ fmul f0, f0, f31
+/* 80186860 001824C0 FC 00 00 1E */ fctiwz f0, f0
+/* 80186864 001824C4 D8 01 00 40 */ stfd f0, 0x40(r1)
+/* 80186868 001824C8 83 01 00 44 */ lwz r24, 0x44(r1)
+lbl_8018686C:
+/* 8018686C 001824CC 3B 5A 00 01 */ addi r26, r26, 1
+lbl_80186870:
+/* 80186870 001824D0 57 40 06 3E */ clrlwi r0, r26, 0x18
+/* 80186874 001824D4 7C 00 B8 40 */ cmplw r0, r23
+/* 80186878 001824D8 41 80 FE 40 */ blt lbl_801866B8
+lbl_8018687C:
+/* 8018687C 001824DC 3B 9C 00 01 */ addi r28, r28, 1
+/* 80186880 001824E0 28 1C 00 02 */ cmplwi r28, 2
+/* 80186884 001824E4 41 80 FE 08 */ blt lbl_8018668C
+/* 80186888 001824E8 B3 12 00 00 */ sth r24, 0(r18)
+/* 8018688C 001824EC CB E1 00 98 */ lfd f31, 0x98(r1)
+/* 80186890 001824F0 CB C1 00 90 */ lfd f30, 0x90(r1)
+/* 80186894 001824F4 39 61 00 90 */ addi r11, r1, 0x90
+/* 80186898 001824F8 48 04 08 A9 */ bl __restore_gpr
+/* 8018689C 001824FC 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 801868A0 00182500 7C 08 03 A6 */ mtlr r0
+/* 801868A4 00182504 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 801868A8 00182508 4E 80 00 20 */ blr
+
+.global func_801868AC
+func_801868AC:
+/* 801868AC 0018250C 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 801868B0 00182510 7C 08 02 A6 */ mflr r0
+/* 801868B4 00182514 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 801868B8 00182518 39 61 00 90 */ addi r11, r1, 0x90
+/* 801868BC 0018251C DB E1 00 98 */ stfd f31, 0x98(r1)
+/* 801868C0 00182520 DB C1 00 90 */ stfd f30, 0x90(r1)
+/* 801868C4 00182524 48 04 08 31 */ bl __save_gpr
+/* 801868C8 00182528 7C 7F 1B 78 */ mr r31, r3
+/* 801868CC 0018252C 80 6D 9F 88 */ lwz r3, lbl_8063F248-_SDA_BASE_(r13)
+/* 801868D0 00182530 7C 97 23 78 */ mr r23, r4
+/* 801868D4 00182534 7C AF 2B 78 */ mr r15, r5
+/* 801868D8 00182538 7C CE 33 78 */ mr r14, r6
+/* 801868DC 0018253C 7C F0 3B 78 */ mr r16, r7
+/* 801868E0 00182540 7F E4 FB 78 */ mr r4, r31
+/* 801868E4 00182544 38 A1 00 10 */ addi r5, r1, 0x10
+/* 801868E8 00182548 38 C0 00 00 */ li r6, 0
+/* 801868EC 0018254C 38 E0 00 01 */ li r7, 1
+/* 801868F0 00182550 48 03 9A B1 */ bl func_801C03A0
+/* 801868F4 00182554 88 AF 00 18 */ lbz r5, 0x18(r15)
+/* 801868F8 00182558 7C 7D 1B 78 */ mr r29, r3
+/* 801868FC 0018255C 88 8F 00 19 */ lbz r4, 0x19(r15)
+/* 80186900 00182560 38 00 00 64 */ li r0, 0x64
+/* 80186904 00182564 CB C2 90 A8 */ lfd f30, lbl_806416A8-_SDA2_BASE_(r2)
+/* 80186908 00182568 3A 20 00 00 */ li r17, 0
+/* 8018690C 0018256C 7C 65 22 14 */ add r3, r5, r4
+/* 80186910 00182570 CB E2 90 A0 */ lfd f31, lbl_806416A0-_SDA2_BASE_(r2)
+/* 80186914 00182574 7C 63 0E 70 */ srawi r3, r3, 1
+/* 80186918 00182578 3E 80 43 30 */ lis r20, 0x4330
+/* 8018691C 0018257C 7C 63 01 94 */ addze r3, r3
+/* 80186920 00182580 7C 6E 19 D6 */ mullw r3, r14, r3
+/* 80186924 00182584 7C 03 03 D6 */ divw r0, r3, r0
+/* 80186928 00182588 54 0E 06 3E */ clrlwi r14, r0, 0x18
+/* 8018692C 0018258C B1 C1 00 08 */ sth r14, 8(r1)
+lbl_80186930:
+/* 80186930 00182590 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d
+/* 80186934 00182594 7E 6F 02 14 */ add r19, r15, r0
+/* 80186938 00182598 7C 0F 00 2E */ lwzx r0, r15, r0
+/* 8018693C 0018259C 2C 00 00 00 */ cmpwi r0, 0
+/* 80186940 001825A0 41 82 00 F8 */ beq lbl_80186A38
+/* 80186944 001825A4 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
+/* 80186948 001825A8 38 80 00 01 */ li r4, 1
+/* 8018694C 001825AC 7E 4F 02 14 */ add r18, r15, r0
+/* 80186950 001825B0 A0 72 00 10 */ lhz r3, 0x10(r18)
+/* 80186954 001825B4 48 03 FC 61 */ bl func_801C65B4
+/* 80186958 001825B8 28 03 00 01 */ cmplwi r3, 1
+/* 8018695C 001825BC 40 82 00 DC */ bne lbl_80186A38
+/* 80186960 001825C0 56 20 06 3E */ clrlwi r0, r17, 0x18
+/* 80186964 001825C4 7C 6F 02 14 */ add r3, r15, r0
+/* 80186968 001825C8 88 03 00 16 */ lbz r0, 0x16(r3)
+/* 8018696C 001825CC 2C 00 00 02 */ cmpwi r0, 2
+/* 80186970 001825D0 41 82 00 44 */ beq lbl_801869B4
+/* 80186974 001825D4 40 80 00 C4 */ bge lbl_80186A38
+/* 80186978 001825D8 2C 00 00 00 */ cmpwi r0, 0
+/* 8018697C 001825DC 40 80 00 0C */ bge lbl_80186988
+/* 80186980 001825E0 48 00 00 B8 */ b lbl_80186A38
+/* 80186984 001825E4 48 00 00 B4 */ b lbl_80186A38
+lbl_80186988:
+/* 80186988 001825E8 80 B3 00 08 */ lwz r5, 8(r19)
+/* 8018698C 001825EC 2C 05 00 00 */ cmpwi r5, 0
+/* 80186990 001825F0 41 82 00 A8 */ beq lbl_80186A38
+/* 80186994 001825F4 80 93 00 00 */ lwz r4, 0(r19)
+/* 80186998 001825F8 7F E3 FB 78 */ mr r3, r31
+/* 8018699C 001825FC A0 D2 00 10 */ lhz r6, 0x10(r18)
+/* 801869A0 00182600 4B FF DD 35 */ bl func_801846D4
+/* 801869A4 00182604 2C 03 00 00 */ cmpwi r3, 0
+/* 801869A8 00182608 40 82 00 90 */ bne lbl_80186A38
+/* 801869AC 0018260C 39 C0 00 00 */ li r14, 0
+/* 801869B0 00182610 48 00 00 88 */ b lbl_80186A38
+lbl_801869B4:
+/* 801869B4 00182614 3A A0 00 00 */ li r21, 0
+/* 801869B8 00182618 3A C0 00 00 */ li r22, 0
+lbl_801869BC:
+/* 801869BC 0018261C 56 C0 15 BA */ rlwinm r0, r22, 2, 0x16, 0x1d
+/* 801869C0 00182620 7C B7 00 2E */ lwzx r5, r23, r0
+/* 801869C4 00182624 2C 05 00 00 */ cmpwi r5, 0
+/* 801869C8 00182628 41 82 00 24 */ beq lbl_801869EC
+/* 801869CC 0018262C 80 93 00 00 */ lwz r4, 0(r19)
+/* 801869D0 00182630 7F E3 FB 78 */ mr r3, r31
+/* 801869D4 00182634 A0 D2 00 10 */ lhz r6, 0x10(r18)
+/* 801869D8 00182638 4B FF DC FD */ bl func_801846D4
+/* 801869DC 0018263C 2C 03 00 00 */ cmpwi r3, 0
+/* 801869E0 00182640 40 82 00 0C */ bne lbl_801869EC
+/* 801869E4 00182644 3A A0 00 01 */ li r21, 1
+/* 801869E8 00182648 48 00 00 10 */ b lbl_801869F8
+lbl_801869EC:
+/* 801869EC 0018264C 3A D6 00 01 */ addi r22, r22, 1
+/* 801869F0 00182650 28 16 00 02 */ cmplwi r22, 2
+/* 801869F4 00182654 41 80 FF C8 */ blt lbl_801869BC
+lbl_801869F8:
+/* 801869F8 00182658 28 15 00 02 */ cmplwi r21, 2
+/* 801869FC 0018265C 41 80 00 0C */ blt lbl_80186A08
+/* 80186A00 00182660 39 C0 00 00 */ li r14, 0
+/* 80186A04 00182664 48 00 00 34 */ b lbl_80186A38
+lbl_80186A08:
+/* 80186A08 00182668 28 15 00 01 */ cmplwi r21, 1
+/* 80186A0C 0018266C 40 82 00 2C */ bne lbl_80186A38
+/* 80186A10 00182670 7D C0 07 34 */ extsh r0, r14
+/* 80186A14 00182674 92 81 00 30 */ stw r20, 0x30(r1)
+/* 80186A18 00182678 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80186A1C 0018267C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80186A20 00182680 C8 01 00 30 */ lfd f0, 0x30(r1)
+/* 80186A24 00182684 FC 00 F0 28 */ fsub f0, f0, f30
+/* 80186A28 00182688 FC 00 07 F2 */ fmul f0, f0, f31
+/* 80186A2C 0018268C FC 00 00 1E */ fctiwz f0, f0
+/* 80186A30 00182690 D8 01 00 38 */ stfd f0, 0x38(r1)
+/* 80186A34 00182694 81 C1 00 3C */ lwz r14, 0x3c(r1)
+lbl_80186A38:
+/* 80186A38 00182698 3A 31 00 01 */ addi r17, r17, 1
+/* 80186A3C 0018269C 28 11 00 02 */ cmplwi r17, 2
+/* 80186A40 001826A0 41 80 FE F0 */ blt lbl_80186930
+/* 80186A44 001826A4 B1 C1 00 08 */ sth r14, 8(r1)
+/* 80186A48 001826A8 7F E3 FB 78 */ mr r3, r31
+/* 80186A4C 001826AC 7E E4 BB 78 */ mr r4, r23
+/* 80186A50 001826B0 7D E5 7B 78 */ mr r5, r15
+/* 80186A54 001826B4 38 C1 00 08 */ addi r6, r1, 8
+/* 80186A58 001826B8 38 E0 00 01 */ li r7, 1
+/* 80186A5C 001826BC 4B FF FA B9 */ bl func_80186514
+/* 80186A60 001826C0 7F E3 FB 78 */ mr r3, r31
+/* 80186A64 001826C4 7E E4 BB 78 */ mr r4, r23
+/* 80186A68 001826C8 7D E5 7B 78 */ mr r5, r15
+/* 80186A6C 001826CC 38 C1 00 08 */ addi r6, r1, 8
+/* 80186A70 001826D0 38 E0 00 02 */ li r7, 2
+/* 80186A74 001826D4 4B FF FA A1 */ bl func_80186514
+/* 80186A78 001826D8 7F E3 FB 78 */ mr r3, r31
+/* 80186A7C 001826DC 7E E4 BB 78 */ mr r4, r23
+/* 80186A80 001826E0 7D E5 7B 78 */ mr r5, r15
+/* 80186A84 001826E4 38 C1 00 08 */ addi r6, r1, 8
+/* 80186A88 001826E8 38 E0 00 03 */ li r7, 3
+/* 80186A8C 001826EC 4B FF FA 89 */ bl func_80186514
+/* 80186A90 001826F0 7F E3 FB 78 */ mr r3, r31
+/* 80186A94 001826F4 7E E4 BB 78 */ mr r4, r23
+/* 80186A98 001826F8 7D E5 7B 78 */ mr r5, r15
+/* 80186A9C 001826FC 38 C1 00 08 */ addi r6, r1, 8
+/* 80186AA0 00182700 38 E0 00 04 */ li r7, 4
+/* 80186AA4 00182704 4B FF FA 71 */ bl func_80186514
+/* 80186AA8 00182708 7F E3 FB 78 */ mr r3, r31
+/* 80186AAC 0018270C 7E E4 BB 78 */ mr r4, r23
+/* 80186AB0 00182710 7D E5 7B 78 */ mr r5, r15
+/* 80186AB4 00182714 38 C1 00 08 */ addi r6, r1, 8
+/* 80186AB8 00182718 38 E0 00 05 */ li r7, 5
+/* 80186ABC 0018271C 4B FF FA 59 */ bl func_80186514
+/* 80186AC0 00182720 38 60 00 1D */ li r3, 0x1d
+/* 80186AC4 00182724 38 00 00 49 */ li r0, 0x49
+/* 80186AC8 00182728 3F C0 80 42 */ lis r30, lbl_804215DC@ha
+/* 80186ACC 0018272C B0 61 00 0A */ sth r3, 0xa(r1)
+/* 80186AD0 00182730 AA C1 00 08 */ lha r22, 8(r1)
+/* 80186AD4 00182734 3B DE 15 DC */ addi r30, r30, lbl_804215DC@l
+/* 80186AD8 00182738 B0 01 00 0C */ sth r0, 0xc(r1)
+/* 80186ADC 0018273C 3B 00 00 00 */ li r24, 0
+/* 80186AE0 00182740 39 C0 00 34 */ li r14, 0x34
+lbl_80186AE4:
+/* 80186AE4 00182744 57 00 15 BA */ rlwinm r0, r24, 2, 0x16, 0x1d
+/* 80186AE8 00182748 7E 6F 02 14 */ add r19, r15, r0
+/* 80186AEC 0018274C 7C 0F 00 2E */ lwzx r0, r15, r0
+/* 80186AF0 00182750 2C 00 00 00 */ cmpwi r0, 0
+/* 80186AF4 00182754 41 82 02 B0 */ beq lbl_80186DA4
+/* 80186AF8 00182758 57 03 0D FC */ rlwinm r3, r24, 1, 0x17, 0x1e
+/* 80186AFC 0018275C 57 00 06 3E */ clrlwi r0, r24, 0x18
+/* 80186B00 00182760 7E AF 1A 14 */ add r21, r15, r3
+/* 80186B04 00182764 3B 20 00 00 */ li r25, 0
+/* 80186B08 00182768 7E 8F 02 14 */ add r20, r15, r0
+lbl_80186B0C:
+/* 80186B0C 0018276C 57 20 06 3E */ clrlwi r0, r25, 0x18
+/* 80186B10 00182770 A0 75 00 10 */ lhz r3, 0x10(r21)
+/* 80186B14 00182774 1C 00 00 06 */ mulli r0, r0, 6
+/* 80186B18 00182778 7E 5E 02 14 */ add r18, r30, r0
+/* 80186B1C 0018277C 7C 1E 02 2E */ lhzx r0, r30, r0
+/* 80186B20 00182780 7C 03 00 40 */ cmplw r3, r0
+/* 80186B24 00182784 40 82 02 74 */ bne lbl_80186D98
+/* 80186B28 00182788 88 14 00 16 */ lbz r0, 0x16(r20)
+/* 80186B2C 0018278C 2C 00 00 02 */ cmpwi r0, 2
+/* 80186B30 00182790 41 82 01 38 */ beq lbl_80186C68
+/* 80186B34 00182794 40 80 02 64 */ bge lbl_80186D98
+/* 80186B38 00182798 2C 00 00 00 */ cmpwi r0, 0
+/* 80186B3C 0018279C 40 80 00 0C */ bge lbl_80186B48
+/* 80186B40 001827A0 48 00 02 58 */ b lbl_80186D98
+/* 80186B44 001827A4 48 00 02 54 */ b lbl_80186D98
+lbl_80186B48:
+/* 80186B48 001827A8 80 93 00 08 */ lwz r4, 8(r19)
+/* 80186B4C 001827AC 2C 04 00 00 */ cmpwi r4, 0
+/* 80186B50 001827B0 41 82 02 48 */ beq lbl_80186D98
+/* 80186B54 001827B4 A0 12 00 02 */ lhz r0, 2(r18)
+/* 80186B58 001827B8 28 00 00 07 */ cmplwi r0, 7
+/* 80186B5C 001827BC 41 81 00 B0 */ bgt lbl_80186C0C
+/* 80186B60 001827C0 3C 60 80 42 */ lis r3, lbl_80421774@ha
+/* 80186B64 001827C4 54 00 10 3A */ slwi r0, r0, 2
+/* 80186B68 001827C8 38 63 17 74 */ addi r3, r3, lbl_80421774@l
+/* 80186B6C 001827CC 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80186B70 001827D0 7C 69 03 A6 */ mtctr r3
+/* 80186B74 001827D4 4E 80 04 20 */ bctr
+/* 80186B78 001827D8 7F E3 FB 78 */ mr r3, r31
+/* 80186B7C 001827DC 4B FF AC 55 */ bl func_801817D0
+/* 80186B80 001827E0 B1 C1 00 0E */ sth r14, 0xe(r1)
+/* 80186B84 001827E4 7C 7C 1B 78 */ mr r28, r3
+/* 80186B88 001827E8 3B 60 00 03 */ li r27, 3
+/* 80186B8C 001827EC 48 00 00 80 */ b lbl_80186C0C
+/* 80186B90 001827F0 7F E3 FB 78 */ mr r3, r31
+/* 80186B94 001827F4 4B FF AC 5D */ bl func_801817F0
+/* 80186B98 001827F8 7C 7C 1B 78 */ mr r28, r3
+/* 80186B9C 001827FC 3B 60 00 02 */ li r27, 2
+/* 80186BA0 00182800 48 00 00 6C */ b lbl_80186C0C
+/* 80186BA4 00182804 7F E3 FB 78 */ mr r3, r31
+/* 80186BA8 00182808 4B FF AC A9 */ bl func_80181850
+/* 80186BAC 0018280C 7C 7C 1B 78 */ mr r28, r3
+/* 80186BB0 00182810 3B 60 00 02 */ li r27, 2
+/* 80186BB4 00182814 48 00 00 58 */ b lbl_80186C0C
+/* 80186BB8 00182818 7F E3 FB 78 */ mr r3, r31
+/* 80186BBC 0018281C 4B FF AC 55 */ bl func_80181810
+/* 80186BC0 00182820 7C 7C 1B 78 */ mr r28, r3
+/* 80186BC4 00182824 3B 60 00 02 */ li r27, 2
+/* 80186BC8 00182828 48 00 00 44 */ b lbl_80186C0C
+/* 80186BCC 0018282C 7F E3 FB 78 */ mr r3, r31
+/* 80186BD0 00182830 4B FF AC 61 */ bl func_80181830
+/* 80186BD4 00182834 7C 7C 1B 78 */ mr r28, r3
+/* 80186BD8 00182838 3B 60 00 02 */ li r27, 2
+/* 80186BDC 0018283C 48 00 00 30 */ b lbl_80186C0C
+/* 80186BE0 00182840 7F E3 FB 78 */ mr r3, r31
+/* 80186BE4 00182844 4B FF AC 75 */ bl func_80181858
+/* 80186BE8 00182848 38 00 00 33 */ li r0, 0x33
+/* 80186BEC 0018284C 7C 7C 1B 78 */ mr r28, r3
+/* 80186BF0 00182850 B0 01 00 0E */ sth r0, 0xe(r1)
+/* 80186BF4 00182854 3B 60 00 03 */ li r27, 3
+/* 80186BF8 00182858 48 00 00 14 */ b lbl_80186C0C
+/* 80186BFC 0018285C 7F E3 FB 78 */ mr r3, r31
+/* 80186C00 00182860 4B FF AC 79 */ bl func_80181878
+/* 80186C04 00182864 7C 7C 1B 78 */ mr r28, r3
+/* 80186C08 00182868 3B 60 00 02 */ li r27, 2
+lbl_80186C0C:
+/* 80186C0C 0018286C A0 72 00 04 */ lhz r3, 4(r18)
+/* 80186C10 00182870 57 80 06 3E */ clrlwi r0, r28, 0x18
+/* 80186C14 00182874 38 63 FF FF */ addi r3, r3, -1
+/* 80186C18 00182878 7C 03 00 51 */ subf. r0, r3, r0
+/* 80186C1C 0018287C 41 81 00 08 */ bgt lbl_80186C24
+/* 80186C20 00182880 3A C0 00 00 */ li r22, 0
+lbl_80186C24:
+/* 80186C24 00182884 3A 20 00 00 */ li r17, 0
+/* 80186C28 00182888 48 00 00 30 */ b lbl_80186C58
+lbl_80186C2C:
+/* 80186C2C 0018288C 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
+/* 80186C30 00182890 38 61 00 0A */ addi r3, r1, 0xa
+/* 80186C34 00182894 7C A3 02 2E */ lhzx r5, r3, r0
+/* 80186C38 00182898 7F E3 FB 78 */ mr r3, r31
+/* 80186C3C 0018289C 80 93 00 08 */ lwz r4, 8(r19)
+/* 80186C40 001828A0 4B FF BC 09 */ bl func_80182848
+/* 80186C44 001828A4 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 80186C48 001828A8 28 00 00 01 */ cmplwi r0, 1
+/* 80186C4C 001828AC 41 80 00 08 */ blt lbl_80186C54
+/* 80186C50 001828B0 3A C0 00 00 */ li r22, 0
+lbl_80186C54:
+/* 80186C54 001828B4 3A 31 00 01 */ addi r17, r17, 1
+lbl_80186C58:
+/* 80186C58 001828B8 56 20 06 3E */ clrlwi r0, r17, 0x18
+/* 80186C5C 001828BC 7C 00 D8 40 */ cmplw r0, r27
+/* 80186C60 001828C0 41 80 FF CC */ blt lbl_80186C2C
+/* 80186C64 001828C4 48 00 01 34 */ b lbl_80186D98
+lbl_80186C68:
+/* 80186C68 001828C8 3A 20 00 00 */ li r17, 0
+lbl_80186C6C:
+/* 80186C6C 001828CC 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d
+/* 80186C70 001828D0 7C 97 00 2E */ lwzx r4, r23, r0
+/* 80186C74 001828D4 2C 04 00 00 */ cmpwi r4, 0
+/* 80186C78 001828D8 41 82 01 14 */ beq lbl_80186D8C
+/* 80186C7C 001828DC A0 12 00 02 */ lhz r0, 2(r18)
+/* 80186C80 001828E0 28 00 00 07 */ cmplwi r0, 7
+/* 80186C84 001828E4 41 81 00 B0 */ bgt lbl_80186D34
+/* 80186C88 001828E8 3C 60 80 42 */ lis r3, lbl_80421754@ha
+/* 80186C8C 001828EC 54 00 10 3A */ slwi r0, r0, 2
+/* 80186C90 001828F0 38 63 17 54 */ addi r3, r3, lbl_80421754@l
+/* 80186C94 001828F4 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80186C98 001828F8 7C 69 03 A6 */ mtctr r3
+/* 80186C9C 001828FC 4E 80 04 20 */ bctr
+/* 80186CA0 00182900 7F E3 FB 78 */ mr r3, r31
+/* 80186CA4 00182904 4B FF AB 2D */ bl func_801817D0
+/* 80186CA8 00182908 B1 C1 00 0E */ sth r14, 0xe(r1)
+/* 80186CAC 0018290C 7C 7C 1B 78 */ mr r28, r3
+/* 80186CB0 00182910 3B 60 00 03 */ li r27, 3
+/* 80186CB4 00182914 48 00 00 80 */ b lbl_80186D34
+/* 80186CB8 00182918 7F E3 FB 78 */ mr r3, r31
+/* 80186CBC 0018291C 4B FF AB 35 */ bl func_801817F0
+/* 80186CC0 00182920 7C 7C 1B 78 */ mr r28, r3
+/* 80186CC4 00182924 3B 60 00 02 */ li r27, 2
+/* 80186CC8 00182928 48 00 00 6C */ b lbl_80186D34
+/* 80186CCC 0018292C 7F E3 FB 78 */ mr r3, r31
+/* 80186CD0 00182930 4B FF AB 81 */ bl func_80181850
+/* 80186CD4 00182934 7C 7C 1B 78 */ mr r28, r3
+/* 80186CD8 00182938 3B 60 00 02 */ li r27, 2
+/* 80186CDC 0018293C 48 00 00 58 */ b lbl_80186D34
+/* 80186CE0 00182940 7F E3 FB 78 */ mr r3, r31
+/* 80186CE4 00182944 4B FF AB 2D */ bl func_80181810
+/* 80186CE8 00182948 7C 7C 1B 78 */ mr r28, r3
+/* 80186CEC 0018294C 3B 60 00 02 */ li r27, 2
+/* 80186CF0 00182950 48 00 00 44 */ b lbl_80186D34
+/* 80186CF4 00182954 7F E3 FB 78 */ mr r3, r31
+/* 80186CF8 00182958 4B FF AB 39 */ bl func_80181830
+/* 80186CFC 0018295C 7C 7C 1B 78 */ mr r28, r3
+/* 80186D00 00182960 3B 60 00 02 */ li r27, 2
+/* 80186D04 00182964 48 00 00 30 */ b lbl_80186D34
+/* 80186D08 00182968 7F E3 FB 78 */ mr r3, r31
+/* 80186D0C 0018296C 4B FF AB 4D */ bl func_80181858
+/* 80186D10 00182970 38 00 00 33 */ li r0, 0x33
+/* 80186D14 00182974 7C 7C 1B 78 */ mr r28, r3
+/* 80186D18 00182978 B0 01 00 0E */ sth r0, 0xe(r1)
+/* 80186D1C 0018297C 3B 60 00 03 */ li r27, 3
+/* 80186D20 00182980 48 00 00 14 */ b lbl_80186D34
+/* 80186D24 00182984 7F E3 FB 78 */ mr r3, r31
+/* 80186D28 00182988 4B FF AB 51 */ bl func_80181878
+/* 80186D2C 0018298C 7C 7C 1B 78 */ mr r28, r3
+/* 80186D30 00182990 3B 60 00 02 */ li r27, 2
+lbl_80186D34:
+/* 80186D34 00182994 A0 72 00 04 */ lhz r3, 4(r18)
+/* 80186D38 00182998 57 80 06 3E */ clrlwi r0, r28, 0x18
+/* 80186D3C 0018299C 38 63 FF FF */ addi r3, r3, -1
+/* 80186D40 001829A0 7C 03 00 51 */ subf. r0, r3, r0
+/* 80186D44 001829A4 41 81 00 08 */ bgt lbl_80186D4C
+/* 80186D48 001829A8 3A C0 00 00 */ li r22, 0
+lbl_80186D4C:
+/* 80186D4C 001829AC 3B 40 00 00 */ li r26, 0
+/* 80186D50 001829B0 48 00 00 30 */ b lbl_80186D80
+lbl_80186D54:
+/* 80186D54 001829B4 57 40 0D FC */ rlwinm r0, r26, 1, 0x17, 0x1e
+/* 80186D58 001829B8 38 61 00 0A */ addi r3, r1, 0xa
+/* 80186D5C 001829BC 7C A3 02 2E */ lhzx r5, r3, r0
+/* 80186D60 001829C0 7F E3 FB 78 */ mr r3, r31
+/* 80186D64 001829C4 80 93 00 08 */ lwz r4, 8(r19)
+/* 80186D68 001829C8 4B FF BA E1 */ bl func_80182848
+/* 80186D6C 001829CC 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 80186D70 001829D0 28 00 00 01 */ cmplwi r0, 1
+/* 80186D74 001829D4 41 80 00 08 */ blt lbl_80186D7C
+/* 80186D78 001829D8 3A C0 00 00 */ li r22, 0
+lbl_80186D7C:
+/* 80186D7C 001829DC 3B 5A 00 01 */ addi r26, r26, 1
+lbl_80186D80:
+/* 80186D80 001829E0 57 40 06 3E */ clrlwi r0, r26, 0x18
+/* 80186D84 001829E4 7C 00 D8 40 */ cmplw r0, r27
+/* 80186D88 001829E8 41 80 FF CC */ blt lbl_80186D54
+lbl_80186D8C:
+/* 80186D8C 001829EC 3A 31 00 01 */ addi r17, r17, 1
+/* 80186D90 001829F0 28 11 00 02 */ cmplwi r17, 2
+/* 80186D94 001829F4 41 80 FE D8 */ blt lbl_80186C6C
+lbl_80186D98:
+/* 80186D98 001829F8 3B 39 00 01 */ addi r25, r25, 1
+/* 80186D9C 001829FC 28 19 00 10 */ cmplwi r25, 0x10
+/* 80186DA0 00182A00 41 80 FD 6C */ blt lbl_80186B0C
+lbl_80186DA4:
+/* 80186DA4 00182A04 3B 18 00 01 */ addi r24, r24, 1
+/* 80186DA8 00182A08 28 18 00 02 */ cmplwi r24, 2
+/* 80186DAC 00182A0C 41 80 FD 38 */ blt lbl_80186AE4
+/* 80186DB0 00182A10 3D C0 80 42 */ lis r14, lbl_8042157C@ha
+/* 80186DB4 00182A14 B2 C1 00 08 */ sth r22, 8(r1)
+/* 80186DB8 00182A18 3A 60 00 00 */ li r19, 0
+/* 80186DBC 00182A1C 3F 00 80 42 */ lis r24, 0x8042
+/* 80186DC0 00182A20 39 CE 15 7C */ addi r14, r14, lbl_8042157C@l
+lbl_80186DC4:
+/* 80186DC4 00182A24 56 71 15 BA */ rlwinm r17, r19, 2, 0x16, 0x1d
+/* 80186DC8 00182A28 7C 0F 88 2E */ lwzx r0, r15, r17
+/* 80186DCC 00182A2C 2C 00 00 00 */ cmpwi r0, 0
+/* 80186DD0 00182A30 41 82 00 E8 */ beq lbl_80186EB8
+/* 80186DD4 00182A34 56 60 0D FC */ rlwinm r0, r19, 1, 0x17, 0x1e
+/* 80186DD8 00182A38 3A 40 00 00 */ li r18, 0
+/* 80186DDC 00182A3C 7E 8F 02 14 */ add r20, r15, r0
+lbl_80186DE0:
+/* 80186DE0 00182A40 56 40 06 3E */ clrlwi r0, r18, 0x18
+/* 80186DE4 00182A44 A0 74 00 10 */ lhz r3, 0x10(r20)
+/* 80186DE8 00182A48 1C 00 00 06 */ mulli r0, r0, 6
+/* 80186DEC 00182A4C 7E AE 02 14 */ add r21, r14, r0
+/* 80186DF0 00182A50 7C 0E 02 2E */ lhzx r0, r14, r0
+/* 80186DF4 00182A54 7C 03 00 40 */ cmplw r3, r0
+/* 80186DF8 00182A58 40 82 00 B4 */ bne lbl_80186EAC
+/* 80186DFC 00182A5C 7C 8F 88 2E */ lwzx r4, r15, r17
+/* 80186E00 00182A60 2C 04 00 00 */ cmpwi r4, 0
+/* 80186E04 00182A64 41 82 00 A8 */ beq lbl_80186EAC
+/* 80186E08 00182A68 A0 15 00 02 */ lhz r0, 2(r21)
+/* 80186E0C 00182A6C 28 00 00 07 */ cmplwi r0, 7
+/* 80186E10 00182A70 41 81 00 84 */ bgt lbl_80186E94
+/* 80186E14 00182A74 38 78 17 34 */ addi r3, r24, 0x1734
+/* 80186E18 00182A78 54 00 10 3A */ slwi r0, r0, 2
+/* 80186E1C 00182A7C 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80186E20 00182A80 7C 69 03 A6 */ mtctr r3
+/* 80186E24 00182A84 4E 80 04 20 */ bctr
+/* 80186E28 00182A88 7F E3 FB 78 */ mr r3, r31
+/* 80186E2C 00182A8C 4B FF A9 A5 */ bl func_801817D0
+/* 80186E30 00182A90 7C 77 1B 78 */ mr r23, r3
+/* 80186E34 00182A94 48 00 00 60 */ b lbl_80186E94
+/* 80186E38 00182A98 7F E3 FB 78 */ mr r3, r31
+/* 80186E3C 00182A9C 4B FF A9 B5 */ bl func_801817F0
+/* 80186E40 00182AA0 7C 77 1B 78 */ mr r23, r3
+/* 80186E44 00182AA4 48 00 00 50 */ b lbl_80186E94
+/* 80186E48 00182AA8 7F E3 FB 78 */ mr r3, r31
+/* 80186E4C 00182AAC 4B FF AA 05 */ bl func_80181850
+/* 80186E50 00182AB0 7C 77 1B 78 */ mr r23, r3
+/* 80186E54 00182AB4 48 00 00 40 */ b lbl_80186E94
+/* 80186E58 00182AB8 7F E3 FB 78 */ mr r3, r31
+/* 80186E5C 00182ABC 4B FF A9 B5 */ bl func_80181810
+/* 80186E60 00182AC0 7C 77 1B 78 */ mr r23, r3
+/* 80186E64 00182AC4 48 00 00 30 */ b lbl_80186E94
+/* 80186E68 00182AC8 7F E3 FB 78 */ mr r3, r31
+/* 80186E6C 00182ACC 4B FF A9 C5 */ bl func_80181830
+/* 80186E70 00182AD0 7C 77 1B 78 */ mr r23, r3
+/* 80186E74 00182AD4 48 00 00 20 */ b lbl_80186E94
+/* 80186E78 00182AD8 7F E3 FB 78 */ mr r3, r31
+/* 80186E7C 00182ADC 4B FF A9 DD */ bl func_80181858
+/* 80186E80 00182AE0 7C 77 1B 78 */ mr r23, r3
+/* 80186E84 00182AE4 48 00 00 10 */ b lbl_80186E94
+/* 80186E88 00182AE8 7F E3 FB 78 */ mr r3, r31
+/* 80186E8C 00182AEC 4B FF A9 ED */ bl func_80181878
+/* 80186E90 00182AF0 7C 77 1B 78 */ mr r23, r3
+lbl_80186E94:
+/* 80186E94 00182AF4 A0 15 00 04 */ lhz r0, 4(r21)
+/* 80186E98 00182AF8 56 E3 06 3E */ clrlwi r3, r23, 0x18
+/* 80186E9C 00182AFC 7C 03 02 14 */ add r0, r3, r0
+/* 80186EA0 00182B00 2C 00 00 0C */ cmpwi r0, 0xc
+/* 80186EA4 00182B04 40 81 00 08 */ ble lbl_80186EAC
+/* 80186EA8 00182B08 3A C0 00 00 */ li r22, 0
+lbl_80186EAC:
+/* 80186EAC 00182B0C 3A 52 00 01 */ addi r18, r18, 1
+/* 80186EB0 00182B10 28 12 00 10 */ cmplwi r18, 0x10
+/* 80186EB4 00182B14 41 80 FF 2C */ blt lbl_80186DE0
+lbl_80186EB8:
+/* 80186EB8 00182B18 3A 73 00 01 */ addi r19, r19, 1
+/* 80186EBC 00182B1C 28 13 00 02 */ cmplwi r19, 2
+/* 80186EC0 00182B20 41 80 FF 04 */ blt lbl_80186DC4
+/* 80186EC4 00182B24 7E C0 07 35 */ extsh. r0, r22
+/* 80186EC8 00182B28 B2 C1 00 08 */ sth r22, 8(r1)
+/* 80186ECC 00182B2C 41 81 00 0C */ bgt lbl_80186ED8
+/* 80186ED0 00182B30 38 60 00 00 */ li r3, 0
+/* 80186ED4 00182B34 48 00 01 6C */ b lbl_80187040
+lbl_80186ED8:
+/* 80186ED8 00182B38 57 AE 04 3E */ clrlwi r14, r29, 0x10
+/* 80186EDC 00182B3C 3A 20 00 00 */ li r17, 0
+/* 80186EE0 00182B40 3A 60 00 0A */ li r19, 0xa
+/* 80186EE4 00182B44 3A 40 00 02 */ li r18, 2
+lbl_80186EE8:
+/* 80186EE8 00182B48 28 0E 00 02 */ cmplwi r14, 2
+/* 80186EEC 00182B4C 41 80 00 BC */ blt lbl_80186FA8
+/* 80186EF0 00182B50 56 34 15 BA */ rlwinm r20, r17, 2, 0x16, 0x1d
+/* 80186EF4 00182B54 7C 0F A0 2E */ lwzx r0, r15, r20
+/* 80186EF8 00182B58 2C 00 00 00 */ cmpwi r0, 0
+/* 80186EFC 00182B5C 41 82 01 24 */ beq lbl_80187020
+/* 80186F00 00182B60 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
+/* 80186F04 00182B64 38 80 00 01 */ li r4, 1
+/* 80186F08 00182B68 7C 6F 02 14 */ add r3, r15, r0
+/* 80186F0C 00182B6C A0 63 00 10 */ lhz r3, 0x10(r3)
+/* 80186F10 00182B70 48 03 F6 A5 */ bl func_801C65B4
+/* 80186F14 00182B74 28 03 00 01 */ cmplwi r3, 1
+/* 80186F18 00182B78 40 82 00 90 */ bne lbl_80186FA8
+/* 80186F1C 00182B7C 7C 8F A0 2E */ lwzx r4, r15, r20
+/* 80186F20 00182B80 7F E3 FB 78 */ mr r3, r31
+/* 80186F24 00182B84 80 A1 00 10 */ lwz r5, 0x10(r1)
+/* 80186F28 00182B88 7E 06 83 78 */ mr r6, r16
+/* 80186F2C 00182B8C 38 E0 00 00 */ li r7, 0
+/* 80186F30 00182B90 39 00 FF FF */ li r8, -1
+/* 80186F34 00182B94 39 20 FF FF */ li r9, -1
+/* 80186F38 00182B98 4B FF D9 BD */ bl func_801848F4
+/* 80186F3C 00182B9C 7C 8F A0 2E */ lwzx r4, r15, r20
+/* 80186F40 00182BA0 7C 74 1B 78 */ mr r20, r3
+/* 80186F44 00182BA4 80 A1 00 14 */ lwz r5, 0x14(r1)
+/* 80186F48 00182BA8 7F E3 FB 78 */ mr r3, r31
+/* 80186F4C 00182BAC 7E 06 83 78 */ mr r6, r16
+/* 80186F50 00182BB0 38 E0 00 00 */ li r7, 0
+/* 80186F54 00182BB4 39 00 FF FF */ li r8, -1
+/* 80186F58 00182BB8 39 20 FF FF */ li r9, -1
+/* 80186F5C 00182BBC 4B FF D9 99 */ bl func_801848F4
+/* 80186F60 00182BC0 56 20 06 3E */ clrlwi r0, r17, 0x18
+/* 80186F64 00182BC4 7C 8F 02 14 */ add r4, r15, r0
+/* 80186F68 00182BC8 88 04 00 16 */ lbz r0, 0x16(r4)
+/* 80186F6C 00182BCC 2C 00 00 01 */ cmpwi r0, 1
+/* 80186F70 00182BD0 41 82 00 28 */ beq lbl_80186F98
+/* 80186F74 00182BD4 40 80 00 34 */ bge lbl_80186FA8
+/* 80186F78 00182BD8 2C 00 00 00 */ cmpwi r0, 0
+/* 80186F7C 00182BDC 40 80 00 08 */ bge lbl_80186F84
+/* 80186F80 00182BE0 48 00 00 28 */ b lbl_80186FA8
+lbl_80186F84:
+/* 80186F84 00182BE4 A8 81 00 08 */ lha r4, 8(r1)
+/* 80186F88 00182BE8 7C 03 A0 50 */ subf r0, r3, r20
+/* 80186F8C 00182BEC 7C 04 02 14 */ add r0, r4, r0
+/* 80186F90 00182BF0 B0 01 00 08 */ sth r0, 8(r1)
+/* 80186F94 00182BF4 48 00 00 14 */ b lbl_80186FA8
+lbl_80186F98:
+/* 80186F98 00182BF8 A8 81 00 08 */ lha r4, 8(r1)
+/* 80186F9C 00182BFC 7C 14 18 50 */ subf r0, r20, r3
+/* 80186FA0 00182C00 7C 04 02 14 */ add r0, r4, r0
+/* 80186FA4 00182C04 B0 01 00 08 */ sth r0, 8(r1)
+lbl_80186FA8:
+/* 80186FA8 00182C08 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
+/* 80186FAC 00182C0C 3A 80 00 00 */ li r20, 0
+/* 80186FB0 00182C10 7C 8F 02 14 */ add r4, r15, r0
+/* 80186FB4 00182C14 38 A0 00 00 */ li r5, 0
+/* 80186FB8 00182C18 7E 49 03 A6 */ mtctr r18
+lbl_80186FBC:
+/* 80186FBC 00182C1C 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d
+/* 80186FC0 00182C20 38 A5 00 01 */ addi r5, r5, 1
+/* 80186FC4 00182C24 7C 64 02 14 */ add r3, r4, r0
+/* 80186FC8 00182C28 A0 03 00 1C */ lhz r0, 0x1c(r3)
+/* 80186FCC 00182C2C 7E 94 02 14 */ add r20, r20, r0
+/* 80186FD0 00182C30 42 00 FF EC */ bdnz lbl_80186FBC
+/* 80186FD4 00182C34 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d
+/* 80186FD8 00182C38 7C 6F 02 14 */ add r3, r15, r0
+/* 80186FDC 00182C3C 80 63 00 08 */ lwz r3, 8(r3)
+/* 80186FE0 00182C40 2C 03 00 00 */ cmpwi r3, 0
+/* 80186FE4 00182C44 41 82 00 3C */ beq lbl_80187020
+/* 80186FE8 00182C48 48 03 CA E1 */ bl func_801C3AC8
+/* 80186FEC 00182C4C 2C 03 00 00 */ cmpwi r3, 0
+/* 80186FF0 00182C50 40 82 00 0C */ bne lbl_80186FFC
+/* 80186FF4 00182C54 38 80 00 00 */ li r4, 0
+/* 80186FF8 00182C58 48 00 00 08 */ b lbl_80187000
+lbl_80186FFC:
+/* 80186FFC 00182C5C A0 83 00 04 */ lhz r4, 4(r3)
+lbl_80187000:
+/* 80187000 00182C60 2C 04 00 00 */ cmpwi r4, 0
+/* 80187004 00182C64 41 82 00 1C */ beq lbl_80187020
+/* 80187008 00182C68 1C 14 00 64 */ mulli r0, r20, 0x64
+/* 8018700C 00182C6C A8 61 00 08 */ lha r3, 8(r1)
+/* 80187010 00182C70 7C 00 23 D6 */ divw r0, r0, r4
+/* 80187014 00182C74 7C 00 9B D6 */ divw r0, r0, r19
+/* 80187018 00182C78 7C 03 02 14 */ add r0, r3, r0
+/* 8018701C 00182C7C B0 01 00 08 */ sth r0, 8(r1)
+lbl_80187020:
+/* 80187020 00182C80 3A 31 00 01 */ addi r17, r17, 1
+/* 80187024 00182C84 28 11 00 02 */ cmplwi r17, 2
+/* 80187028 00182C88 41 80 FE C0 */ blt lbl_80186EE8
+/* 8018702C 00182C8C A8 01 00 08 */ lha r0, 8(r1)
+/* 80187030 00182C90 2C 00 00 00 */ cmpwi r0, 0
+/* 80187034 00182C94 40 80 00 08 */ bge lbl_8018703C
+/* 80187038 00182C98 38 00 00 00 */ li r0, 0
+lbl_8018703C:
+/* 8018703C 00182C9C 7C 03 07 34 */ extsh r3, r0
+lbl_80187040:
+/* 80187040 00182CA0 39 61 00 90 */ addi r11, r1, 0x90
+/* 80187044 00182CA4 CB E1 00 98 */ lfd f31, 0x98(r1)
+/* 80187048 00182CA8 CB C1 00 90 */ lfd f30, 0x90(r1)
+/* 8018704C 00182CAC 48 04 00 F5 */ bl __restore_gpr
+/* 80187050 00182CB0 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 80187054 00182CB4 7C 08 03 A6 */ mtlr r0
+/* 80187058 00182CB8 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 8018705C 00182CBC 4E 80 00 20 */ blr
+
+.global func_80187060
+func_80187060:
+/* 80187060 00182CC0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80187064 00182CC4 7C 08 02 A6 */ mflr r0
+/* 80187068 00182CC8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 8018706C 00182CCC 39 61 00 40 */ addi r11, r1, 0x40
+/* 80187070 00182CD0 48 04 00 A1 */ bl _savegpr_21
+/* 80187074 00182CD4 7C 75 1B 78 */ mr r21, r3
+/* 80187078 00182CD8 7C 96 23 78 */ mr r22, r4
+/* 8018707C 00182CDC 7C B7 2B 78 */ mr r23, r5
+/* 80187080 00182CE0 7C D8 33 78 */ mr r24, r6
+/* 80187084 00182CE4 3B A0 00 32 */ li r29, 0x32
+/* 80187088 00182CE8 3B 80 00 00 */ li r28, 0
+/* 8018708C 00182CEC 3B 60 00 00 */ li r27, 0
+/* 80187090 00182CF0 3B 40 00 00 */ li r26, 0
+/* 80187094 00182CF4 3B 20 00 00 */ li r25, 0
+/* 80187098 00182CF8 3B C0 00 00 */ li r30, 0
+/* 8018709C 00182CFC 48 00 00 F4 */ b lbl_80187190
+lbl_801870A0:
+/* 801870A0 00182D00 57 DF 15 BA */ rlwinm r31, r30, 2, 0x16, 0x1d
+/* 801870A4 00182D04 7C 15 F8 2E */ lwzx r0, r21, r31
+/* 801870A8 00182D08 2C 00 00 00 */ cmpwi r0, 0
+/* 801870AC 00182D0C 40 82 00 4C */ bne lbl_801870F8
+/* 801870B0 00182D10 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 801870B4 00182D14 48 00 0E 81 */ bl func_80187F34
+/* 801870B8 00182D18 7C 60 07 74 */ extsb r0, r3
+/* 801870BC 00182D1C 54 00 10 3A */ slwi r0, r0, 2
+/* 801870C0 00182D20 7C 15 00 2E */ lwzx r0, r21, r0
+/* 801870C4 00182D24 2C 00 00 00 */ cmpwi r0, 0
+/* 801870C8 00182D28 41 82 00 30 */ beq lbl_801870F8
+/* 801870CC 00182D2C 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 801870D0 00182D30 48 00 0E 65 */ bl func_80187F34
+/* 801870D4 00182D34 7C 60 07 74 */ extsb r0, r3
+/* 801870D8 00182D38 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 801870DC 00182D3C 54 00 10 3A */ slwi r0, r0, 2
+/* 801870E0 00182D40 7F 95 00 2E */ lwzx r28, r21, r0
+/* 801870E4 00182D44 48 00 0E 51 */ bl func_80187F34
+/* 801870E8 00182D48 7C 60 07 74 */ extsb r0, r3
+/* 801870EC 00182D4C 54 00 10 3A */ slwi r0, r0, 2
+/* 801870F0 00182D50 7F 75 00 2E */ lwzx r27, r21, r0
+/* 801870F4 00182D54 48 00 00 98 */ b lbl_8018718C
+lbl_801870F8:
+/* 801870F8 00182D58 7C 15 F8 2E */ lwzx r0, r21, r31
+/* 801870FC 00182D5C 2C 00 00 00 */ cmpwi r0, 0
+/* 80187100 00182D60 41 82 00 2C */ beq lbl_8018712C
+/* 80187104 00182D64 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 80187108 00182D68 48 00 0E 2D */ bl func_80187F34
+/* 8018710C 00182D6C 7C 60 07 74 */ extsb r0, r3
+/* 80187110 00182D70 54 00 10 3A */ slwi r0, r0, 2
+/* 80187114 00182D74 7C 15 00 2E */ lwzx r0, r21, r0
+/* 80187118 00182D78 2C 00 00 00 */ cmpwi r0, 0
+/* 8018711C 00182D7C 40 82 00 10 */ bne lbl_8018712C
+/* 80187120 00182D80 7F 95 F8 2E */ lwzx r28, r21, r31
+/* 80187124 00182D84 7F 9B E3 78 */ mr r27, r28
+/* 80187128 00182D88 48 00 00 64 */ b lbl_8018718C
+lbl_8018712C:
+/* 8018712C 00182D8C 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 80187130 00182D90 48 00 0E 05 */ bl func_80187F34
+/* 80187134 00182D94 7C 60 07 74 */ extsb r0, r3
+/* 80187138 00182D98 7C 95 F8 2E */ lwzx r4, r21, r31
+/* 8018713C 00182D9C 54 00 10 3A */ slwi r0, r0, 2
+/* 80187140 00182DA0 38 60 00 00 */ li r3, 0
+/* 80187144 00182DA4 7C B5 00 2E */ lwzx r5, r21, r0
+/* 80187148 00182DA8 38 C0 00 00 */ li r6, 0
+/* 8018714C 00182DAC 48 03 85 A5 */ bl func_801BF6F0
+/* 80187150 00182DB0 28 03 00 01 */ cmplwi r3, 1
+/* 80187154 00182DB4 40 82 00 20 */ bne lbl_80187174
+/* 80187158 00182DB8 7F 95 F8 2E */ lwzx r28, r21, r31
+/* 8018715C 00182DBC 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 80187160 00182DC0 48 00 0D D5 */ bl func_80187F34
+/* 80187164 00182DC4 7C 60 07 74 */ extsb r0, r3
+/* 80187168 00182DC8 54 00 10 3A */ slwi r0, r0, 2
+/* 8018716C 00182DCC 7F 75 00 2E */ lwzx r27, r21, r0
+/* 80187170 00182DD0 48 00 00 1C */ b lbl_8018718C
+lbl_80187174:
+/* 80187174 00182DD4 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 80187178 00182DD8 48 00 0D BD */ bl func_80187F34
+/* 8018717C 00182DDC 7C 60 07 74 */ extsb r0, r3
+/* 80187180 00182DE0 7F 75 F8 2E */ lwzx r27, r21, r31
+/* 80187184 00182DE4 54 00 10 3A */ slwi r0, r0, 2
+/* 80187188 00182DE8 7F 95 00 2E */ lwzx r28, r21, r0
+lbl_8018718C:
+/* 8018718C 00182DEC 3B DE 00 01 */ addi r30, r30, 1
+lbl_80187190:
+/* 80187190 00182DF0 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 80187194 00182DF4 7C 00 B0 00 */ cmpw r0, r22
+/* 80187198 00182DF8 41 80 FF 08 */ blt lbl_801870A0
+/* 8018719C 00182DFC 3B C0 00 00 */ li r30, 0
+/* 801871A0 00182E00 48 00 00 F4 */ b lbl_80187294
+lbl_801871A4:
+/* 801871A4 00182E04 57 DF 15 BA */ rlwinm r31, r30, 2, 0x16, 0x1d
+/* 801871A8 00182E08 7C 17 F8 2E */ lwzx r0, r23, r31
+/* 801871AC 00182E0C 2C 00 00 00 */ cmpwi r0, 0
+/* 801871B0 00182E10 40 82 00 4C */ bne lbl_801871FC
+/* 801871B4 00182E14 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 801871B8 00182E18 48 00 0D 7D */ bl func_80187F34
+/* 801871BC 00182E1C 7C 60 07 74 */ extsb r0, r3
+/* 801871C0 00182E20 54 00 10 3A */ slwi r0, r0, 2
+/* 801871C4 00182E24 7C 17 00 2E */ lwzx r0, r23, r0
+/* 801871C8 00182E28 2C 00 00 00 */ cmpwi r0, 0
+/* 801871CC 00182E2C 41 82 00 30 */ beq lbl_801871FC
+/* 801871D0 00182E30 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 801871D4 00182E34 48 00 0D 61 */ bl func_80187F34
+/* 801871D8 00182E38 7C 60 07 74 */ extsb r0, r3
+/* 801871DC 00182E3C 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 801871E0 00182E40 54 00 10 3A */ slwi r0, r0, 2
+/* 801871E4 00182E44 7F 57 00 2E */ lwzx r26, r23, r0
+/* 801871E8 00182E48 48 00 0D 4D */ bl func_80187F34
+/* 801871EC 00182E4C 7C 60 07 74 */ extsb r0, r3
+/* 801871F0 00182E50 54 00 10 3A */ slwi r0, r0, 2
+/* 801871F4 00182E54 7F 37 00 2E */ lwzx r25, r23, r0
+/* 801871F8 00182E58 48 00 00 98 */ b lbl_80187290
+lbl_801871FC:
+/* 801871FC 00182E5C 7C 17 F8 2E */ lwzx r0, r23, r31
+/* 80187200 00182E60 2C 00 00 00 */ cmpwi r0, 0
+/* 80187204 00182E64 41 82 00 2C */ beq lbl_80187230
+/* 80187208 00182E68 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 8018720C 00182E6C 48 00 0D 29 */ bl func_80187F34
+/* 80187210 00182E70 7C 60 07 74 */ extsb r0, r3
+/* 80187214 00182E74 54 00 10 3A */ slwi r0, r0, 2
+/* 80187218 00182E78 7C 17 00 2E */ lwzx r0, r23, r0
+/* 8018721C 00182E7C 2C 00 00 00 */ cmpwi r0, 0
+/* 80187220 00182E80 40 82 00 10 */ bne lbl_80187230
+/* 80187224 00182E84 7F 57 F8 2E */ lwzx r26, r23, r31
+/* 80187228 00182E88 7F 59 D3 78 */ mr r25, r26
+/* 8018722C 00182E8C 48 00 00 64 */ b lbl_80187290
+lbl_80187230:
+/* 80187230 00182E90 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 80187234 00182E94 48 00 0D 01 */ bl func_80187F34
+/* 80187238 00182E98 7C 60 07 74 */ extsb r0, r3
+/* 8018723C 00182E9C 7C 97 F8 2E */ lwzx r4, r23, r31
+/* 80187240 00182EA0 54 00 10 3A */ slwi r0, r0, 2
+/* 80187244 00182EA4 38 60 00 00 */ li r3, 0
+/* 80187248 00182EA8 7C B7 00 2E */ lwzx r5, r23, r0
+/* 8018724C 00182EAC 38 C0 00 00 */ li r6, 0
+/* 80187250 00182EB0 48 03 84 A1 */ bl func_801BF6F0
+/* 80187254 00182EB4 28 03 00 01 */ cmplwi r3, 1
+/* 80187258 00182EB8 40 82 00 20 */ bne lbl_80187278
+/* 8018725C 00182EBC 7F 57 F8 2E */ lwzx r26, r23, r31
+/* 80187260 00182EC0 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 80187264 00182EC4 48 00 0C D1 */ bl func_80187F34
+/* 80187268 00182EC8 7C 60 07 74 */ extsb r0, r3
+/* 8018726C 00182ECC 54 00 10 3A */ slwi r0, r0, 2
+/* 80187270 00182ED0 7F 37 00 2E */ lwzx r25, r23, r0
+/* 80187274 00182ED4 48 00 00 1C */ b lbl_80187290
+lbl_80187278:
+/* 80187278 00182ED8 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 8018727C 00182EDC 48 00 0C B9 */ bl func_80187F34
+/* 80187280 00182EE0 7C 60 07 74 */ extsb r0, r3
+/* 80187284 00182EE4 7F 37 F8 2E */ lwzx r25, r23, r31
+/* 80187288 00182EE8 54 00 10 3A */ slwi r0, r0, 2
+/* 8018728C 00182EEC 7F 57 00 2E */ lwzx r26, r23, r0
+lbl_80187290:
+/* 80187290 00182EF0 3B DE 00 01 */ addi r30, r30, 1
+lbl_80187294:
+/* 80187294 00182EF4 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 80187298 00182EF8 7C 00 C0 00 */ cmpw r0, r24
+/* 8018729C 00182EFC 41 80 FF 08 */ blt lbl_801871A4
+/* 801872A0 00182F00 7F 24 CB 78 */ mr r4, r25
+/* 801872A4 00182F04 7F 65 DB 78 */ mr r5, r27
+/* 801872A8 00182F08 38 60 00 00 */ li r3, 0
+/* 801872AC 00182F0C 38 C0 00 00 */ li r6, 0
+/* 801872B0 00182F10 48 03 84 41 */ bl func_801BF6F0
+/* 801872B4 00182F14 2C 03 00 00 */ cmpwi r3, 0
+/* 801872B8 00182F18 40 82 00 24 */ bne lbl_801872DC
+/* 801872BC 00182F1C 7F 64 DB 78 */ mr r4, r27
+/* 801872C0 00182F20 38 60 00 00 */ li r3, 0
+/* 801872C4 00182F24 48 03 83 D1 */ bl func_801BF694
+/* 801872C8 00182F28 7C 64 1B 78 */ mr r4, r3
+/* 801872CC 00182F2C 38 60 00 32 */ li r3, 0x32
+/* 801872D0 00182F30 38 A0 04 A5 */ li r5, 0x4a5
+/* 801872D4 00182F34 4B FF 7F D5 */ bl func_8017F2A8
+/* 801872D8 00182F38 7C 7D 07 34 */ extsh r29, r3
+lbl_801872DC:
+/* 801872DC 00182F3C 7F 44 D3 78 */ mr r4, r26
+/* 801872E0 00182F40 7F 85 E3 78 */ mr r5, r28
+/* 801872E4 00182F44 38 60 00 00 */ li r3, 0
+/* 801872E8 00182F48 38 C0 00 00 */ li r6, 0
+/* 801872EC 00182F4C 48 03 84 05 */ bl func_801BF6F0
+/* 801872F0 00182F50 28 03 00 01 */ cmplwi r3, 1
+/* 801872F4 00182F54 40 82 00 24 */ bne lbl_80187318
+/* 801872F8 00182F58 7F 64 DB 78 */ mr r4, r27
+/* 801872FC 00182F5C 38 60 00 00 */ li r3, 0
+/* 80187300 00182F60 48 03 83 95 */ bl func_801BF694
+/* 80187304 00182F64 7C 64 1B 78 */ mr r4, r3
+/* 80187308 00182F68 7F A3 EB 78 */ mr r3, r29
+/* 8018730C 00182F6C 38 A0 04 A6 */ li r5, 0x4a6
+/* 80187310 00182F70 4B FF 7F 99 */ bl func_8017F2A8
+/* 80187314 00182F74 7C 7D 07 34 */ extsh r29, r3
+lbl_80187318:
+/* 80187318 00182F78 7F 64 DB 78 */ mr r4, r27
+/* 8018731C 00182F7C 7F 45 D3 78 */ mr r5, r26
+/* 80187320 00182F80 38 60 00 00 */ li r3, 0
+/* 80187324 00182F84 38 C0 00 00 */ li r6, 0
+/* 80187328 00182F88 48 03 83 C9 */ bl func_801BF6F0
+/* 8018732C 00182F8C 39 61 00 40 */ addi r11, r1, 0x40
+/* 80187330 00182F90 7F A3 EB 78 */ mr r3, r29
+/* 80187334 00182F94 48 03 FE 29 */ bl _restgpr_21
+/* 80187338 00182F98 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 8018733C 00182F9C 7C 08 03 A6 */ mtlr r0
+/* 80187340 00182FA0 38 21 00 40 */ addi r1, r1, 0x40
+/* 80187344 00182FA4 4E 80 00 20 */ blr
+
+.global func_80187348
+func_80187348:
+/* 80187348 00182FA8 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 8018734C 00182FAC 7C 08 02 A6 */ mflr r0
+/* 80187350 00182FB0 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80187354 00182FB4 39 61 00 40 */ addi r11, r1, 0x40
+/* 80187358 00182FB8 48 03 FD C9 */ bl _savegpr_25
+/* 8018735C 00182FBC 7C 7D 1B 78 */ mr r29, r3
+/* 80187360 00182FC0 80 6D 9F 8C */ lwz r3, lbl_8063F24C-_SDA_BASE_(r13)
+/* 80187364 00182FC4 48 00 02 0D */ bl func_80187570
+/* 80187368 00182FC8 7C 7A 1B 78 */ mr r26, r3
+/* 8018736C 00182FCC 48 24 1D A5 */ bl func_803C9110
+/* 80187370 00182FD0 57 40 06 3E */ clrlwi r0, r26, 0x18
+/* 80187374 00182FD4 38 C0 00 00 */ li r6, 0
+/* 80187378 00182FD8 1C 00 00 0C */ mulli r0, r0, 0xc
+/* 8018737C 00182FDC 3C 80 80 42 */ lis r4, lbl_8042163C@ha
+/* 80187380 00182FE0 98 C1 00 08 */ stb r6, 8(r1)
+/* 80187384 00182FE4 39 01 00 08 */ addi r8, r1, 8
+/* 80187388 00182FE8 38 84 16 3C */ addi r4, r4, lbl_8042163C@l
+/* 8018738C 00182FEC 7C 84 02 14 */ add r4, r4, r0
+/* 80187390 00182FF0 80 A4 00 04 */ lwz r5, 4(r4)
+/* 80187394 00182FF4 39 21 00 0C */ addi r9, r1, 0xc
+/* 80187398 00182FF8 80 84 00 08 */ lwz r4, 8(r4)
+/* 8018739C 00182FFC 39 60 00 00 */ li r11, 0
+/* 801873A0 00183000 98 C1 00 09 */ stb r6, 9(r1)
+/* 801873A4 00183004 38 00 00 0A */ li r0, 0xa
+/* 801873A8 00183008 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 801873AC 0018300C 90 81 00 10 */ stw r4, 0x10(r1)
+lbl_801873B0:
+/* 801873B0 00183010 55 64 15 BA */ rlwinm r4, r11, 2, 0x16, 0x1d
+/* 801873B4 00183014 7C E9 20 2E */ lwzx r7, r9, r4
+/* 801873B8 00183018 2C 07 00 00 */ cmpwi r7, 0
+/* 801873BC 0018301C 41 82 00 3C */ beq lbl_801873F8
+/* 801873C0 00183020 55 66 06 3E */ clrlwi r6, r11, 0x18
+/* 801873C4 00183024 39 80 00 00 */ li r12, 0
+/* 801873C8 00183028 7C 09 03 A6 */ mtctr r0
+lbl_801873CC:
+/* 801873CC 0018302C 55 84 06 3E */ clrlwi r4, r12, 0x18
+/* 801873D0 00183030 7C A8 30 AE */ lbzx r5, r8, r6
+/* 801873D4 00183034 7D 47 20 AE */ lbzx r10, r7, r4
+/* 801873D8 00183038 38 85 00 01 */ addi r4, r5, 1
+/* 801873DC 0018303C 28 0A 00 06 */ cmplwi r10, 6
+/* 801873E0 00183040 7C 88 31 AE */ stbx r4, r8, r6
+/* 801873E4 00183044 41 82 00 14 */ beq lbl_801873F8
+/* 801873E8 00183048 28 0A 00 07 */ cmplwi r10, 7
+/* 801873EC 0018304C 41 82 00 0C */ beq lbl_801873F8
+/* 801873F0 00183050 39 8C 00 01 */ addi r12, r12, 1
+/* 801873F4 00183054 42 00 FF D8 */ bdnz lbl_801873CC
+lbl_801873F8:
+/* 801873F8 00183058 39 6B 00 01 */ addi r11, r11, 1
+/* 801873FC 0018305C 28 0B 00 02 */ cmplwi r11, 2
+/* 80187400 00183060 41 80 FF B0 */ blt lbl_801873B0
+/* 80187404 00183064 38 03 FF FF */ addi r0, r3, -1
+/* 80187408 00183068 3B 61 00 08 */ addi r27, r1, 8
+/* 8018740C 0018306C 54 19 08 3C */ slwi r25, r0, 1
+/* 80187410 00183070 3B E1 00 0C */ addi r31, r1, 0xc
+/* 80187414 00183074 3B C0 00 00 */ li r30, 0
+/* 80187418 00183078 3B 40 00 00 */ li r26, 0
+/* 8018741C 0018307C 3B 80 00 06 */ li r28, 6
+lbl_80187420:
+/* 80187420 00183080 7F A3 EB 78 */ mr r3, r29
+/* 80187424 00183084 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 80187428 00183088 48 03 A7 D9 */ bl func_801C1C00
+/* 8018742C 0018308C 2C 03 00 00 */ cmpwi r3, 0
+/* 80187430 00183090 40 82 00 0C */ bne lbl_8018743C
+/* 80187434 00183094 38 00 00 00 */ li r0, 0
+/* 80187438 00183098 48 00 00 08 */ b lbl_80187440
+lbl_8018743C:
+/* 8018743C 0018309C 88 03 08 4D */ lbz r0, 0x84d(r3)
+lbl_80187440:
+/* 80187440 001830A0 28 00 00 06 */ cmplwi r0, 6
+/* 80187444 001830A4 41 82 01 08 */ beq lbl_8018754C
+/* 80187448 001830A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8018744C 001830AC 41 82 00 08 */ beq lbl_80187454
+/* 80187450 001830B0 9B 43 08 4E */ stb r26, 0x84e(r3)
+lbl_80187454:
+/* 80187454 001830B4 57 C0 15 BA */ rlwinm r0, r30, 2, 0x16, 0x1d
+/* 80187458 001830B8 7C BF 00 2E */ lwzx r5, r31, r0
+/* 8018745C 001830BC 2C 05 00 00 */ cmpwi r5, 0
+/* 80187460 001830C0 41 82 00 EC */ beq lbl_8018754C
+/* 80187464 001830C4 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 80187468 001830C8 7C 9B 00 AE */ lbzx r4, r27, r0
+/* 8018746C 001830CC 38 84 FF FF */ addi r4, r4, -1
+/* 80187470 001830D0 7C 19 20 00 */ cmpw r25, r4
+/* 80187474 001830D4 40 80 00 0C */ bge lbl_80187480
+/* 80187478 001830D8 57 20 06 3E */ clrlwi r0, r25, 0x18
+/* 8018747C 001830DC 48 00 00 58 */ b lbl_801874D4
+lbl_80187480:
+/* 80187480 001830E0 7C 04 C8 00 */ cmpw r4, r25
+/* 80187484 001830E4 40 82 00 40 */ bne lbl_801874C4
+/* 80187488 001830E8 57 20 06 3E */ clrlwi r0, r25, 0x18
+/* 8018748C 001830EC 7C C5 00 AE */ lbzx r6, r5, r0
+/* 80187490 001830F0 28 06 00 06 */ cmplwi r6, 6
+/* 80187494 001830F4 40 82 00 14 */ bne lbl_801874A8
+/* 80187498 001830F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8018749C 001830FC 41 82 00 B0 */ beq lbl_8018754C
+/* 801874A0 00183100 9B 83 08 4D */ stb r28, 0x84d(r3)
+/* 801874A4 00183104 48 00 00 A8 */ b lbl_8018754C
+lbl_801874A8:
+/* 801874A8 00183108 28 06 00 07 */ cmplwi r6, 7
+/* 801874AC 0018310C 40 82 00 28 */ bne lbl_801874D4
+/* 801874B0 00183110 7C 19 23 D6 */ divw r0, r25, r4
+/* 801874B4 00183114 7C 00 21 D6 */ mullw r0, r0, r4
+/* 801874B8 00183118 7C 00 C8 50 */ subf r0, r0, r25
+/* 801874BC 0018311C 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 801874C0 00183120 48 00 00 14 */ b lbl_801874D4
+lbl_801874C4:
+/* 801874C4 00183124 7C 19 23 D6 */ divw r0, r25, r4
+/* 801874C8 00183128 7C 00 21 D6 */ mullw r0, r0, r4
+/* 801874CC 0018312C 7C 00 C8 50 */ subf r0, r0, r25
+/* 801874D0 00183130 54 00 06 3E */ clrlwi r0, r0, 0x18
+lbl_801874D4:
+/* 801874D4 00183134 7C 85 02 14 */ add r4, r5, r0
+/* 801874D8 00183138 7C 05 00 AE */ lbzx r0, r5, r0
+/* 801874DC 0018313C 88 84 00 01 */ lbz r4, 1(r4)
+/* 801874E0 00183140 2C 00 00 06 */ cmpwi r0, 6
+/* 801874E4 00183144 40 80 00 34 */ bge lbl_80187518
+/* 801874E8 00183148 2C 00 00 00 */ cmpwi r0, 0
+/* 801874EC 0018314C 41 82 00 10 */ beq lbl_801874FC
+/* 801874F0 00183150 40 80 00 1C */ bge lbl_8018750C
+/* 801874F4 00183154 48 00 00 24 */ b lbl_80187518
+/* 801874F8 00183158 48 00 00 20 */ b lbl_80187518
+lbl_801874FC:
+/* 801874FC 0018315C 2C 03 00 00 */ cmpwi r3, 0
+/* 80187500 00183160 41 82 00 18 */ beq lbl_80187518
+/* 80187504 00183164 9B 83 08 4D */ stb r28, 0x84d(r3)
+/* 80187508 00183168 48 00 00 10 */ b lbl_80187518
+lbl_8018750C:
+/* 8018750C 0018316C 2C 03 00 00 */ cmpwi r3, 0
+/* 80187510 00183170 41 82 00 08 */ beq lbl_80187518
+/* 80187514 00183174 98 03 08 4D */ stb r0, 0x84d(r3)
+lbl_80187518:
+/* 80187518 00183178 2C 04 00 00 */ cmpwi r4, 0
+/* 8018751C 0018317C 41 82 00 14 */ beq lbl_80187530
+/* 80187520 00183180 41 80 00 2C */ blt lbl_8018754C
+/* 80187524 00183184 2C 04 00 06 */ cmpwi r4, 6
+/* 80187528 00183188 40 80 00 24 */ bge lbl_8018754C
+/* 8018752C 0018318C 48 00 00 14 */ b lbl_80187540
+lbl_80187530:
+/* 80187530 00183190 2C 03 00 00 */ cmpwi r3, 0
+/* 80187534 00183194 41 82 00 18 */ beq lbl_8018754C
+/* 80187538 00183198 9B 83 08 4D */ stb r28, 0x84d(r3)
+/* 8018753C 0018319C 48 00 00 10 */ b lbl_8018754C
+lbl_80187540:
+/* 80187540 001831A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80187544 001831A4 41 82 00 08 */ beq lbl_8018754C
+/* 80187548 001831A8 98 83 08 4E */ stb r4, 0x84e(r3)
+lbl_8018754C:
+/* 8018754C 001831AC 3B DE 00 01 */ addi r30, r30, 1
+/* 80187550 001831B0 28 1E 00 02 */ cmplwi r30, 2
+/* 80187554 001831B4 41 80 FE CC */ blt lbl_80187420
+/* 80187558 001831B8 39 61 00 40 */ addi r11, r1, 0x40
+/* 8018755C 001831BC 48 03 FC 11 */ bl _restgpr_25
+/* 80187560 001831C0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80187564 001831C4 7C 08 03 A6 */ mtlr r0
+/* 80187568 001831C8 38 21 00 40 */ addi r1, r1, 0x40
+/* 8018756C 001831CC 4E 80 00 20 */ blr
+
+.global func_80187570
+func_80187570:
+/* 80187570 001831D0 2C 03 00 00 */ cmpwi r3, 0
+/* 80187574 001831D4 40 82 00 0C */ bne lbl_80187580
+/* 80187578 001831D8 38 60 00 00 */ li r3, 0
+/* 8018757C 001831DC 4E 80 00 20 */ blr
+lbl_80187580:
+/* 80187580 001831E0 88 63 00 0C */ lbz r3, 0xc(r3)
+/* 80187584 001831E4 4E 80 00 20 */ blr
+
+.global func_80187588
+func_80187588:
+/* 80187588 001831E8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8018758C 001831EC 7C 08 02 A6 */ mflr r0
+/* 80187590 001831F0 2C 05 00 05 */ cmpwi r5, 5
+/* 80187594 001831F4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80187598 001831F8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8018759C 001831FC 7C BF 2B 78 */ mr r31, r5
+/* 801875A0 00183200 40 80 00 5C */ bge lbl_801875FC
+/* 801875A4 00183204 2C 05 00 01 */ cmpwi r5, 1
+/* 801875A8 00183208 40 80 00 08 */ bge lbl_801875B0
+/* 801875AC 0018320C 48 00 00 50 */ b lbl_801875FC
+lbl_801875B0:
+/* 801875B0 00183210 7C 83 23 78 */ mr r3, r4
+/* 801875B4 00183214 48 03 C5 15 */ bl func_801C3AC8
+/* 801875B8 00183218 2C 03 00 00 */ cmpwi r3, 0
+/* 801875BC 0018321C 40 82 00 0C */ bne lbl_801875C8
+/* 801875C0 00183220 38 60 00 00 */ li r3, 0
+/* 801875C4 00183224 48 00 00 3C */ b lbl_80187600
+lbl_801875C8:
+/* 801875C8 00183228 40 82 00 0C */ bne lbl_801875D4
+/* 801875CC 0018322C 38 60 00 00 */ li r3, 0
+/* 801875D0 00183230 48 00 00 14 */ b lbl_801875E4
+lbl_801875D4:
+/* 801875D4 00183234 38 1F FF FF */ addi r0, r31, -1
+/* 801875D8 00183238 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
+/* 801875DC 0018323C 7C 63 02 14 */ add r3, r3, r0
+/* 801875E0 00183240 38 63 00 2C */ addi r3, r3, 0x2c
+lbl_801875E4:
+/* 801875E4 00183244 2C 03 00 00 */ cmpwi r3, 0
+/* 801875E8 00183248 40 82 00 0C */ bne lbl_801875F4
+/* 801875EC 0018324C 38 60 00 00 */ li r3, 0
+/* 801875F0 00183250 48 00 00 10 */ b lbl_80187600
+lbl_801875F4:
+/* 801875F4 00183254 A0 63 00 00 */ lhz r3, 0(r3)
+/* 801875F8 00183258 48 00 00 08 */ b lbl_80187600
+lbl_801875FC:
+/* 801875FC 0018325C 38 60 00 00 */ li r3, 0
+lbl_80187600:
+/* 80187600 00183260 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80187604 00183264 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80187608 00183268 7C 08 03 A6 */ mtlr r0
+/* 8018760C 0018326C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80187610 00183270 4E 80 00 20 */ blr
+
+.global func_80187614
+func_80187614:
+/* 80187614 00183274 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80187618 00183278 7C 08 02 A6 */ mflr r0
+/* 8018761C 0018327C 2C 05 00 03 */ cmpwi r5, 3
+/* 80187620 00183280 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80187624 00183284 41 82 00 38 */ beq lbl_8018765C
+/* 80187628 00183288 40 80 00 14 */ bge lbl_8018763C
+/* 8018762C 0018328C 2C 05 00 01 */ cmpwi r5, 1
+/* 80187630 00183290 41 82 00 50 */ beq lbl_80187680
+/* 80187634 00183294 40 80 00 18 */ bge lbl_8018764C
+/* 80187638 00183298 48 00 00 44 */ b lbl_8018767C
+lbl_8018763C:
+/* 8018763C 0018329C 2C 05 00 05 */ cmpwi r5, 5
+/* 80187640 001832A0 40 80 00 3C */ bge lbl_8018767C
+/* 80187644 001832A4 48 00 00 28 */ b lbl_8018766C
+/* 80187648 001832A8 48 00 00 38 */ b lbl_80187680
+lbl_8018764C:
+/* 8018764C 001832AC 38 60 00 0E */ li r3, 0xe
+/* 80187650 001832B0 48 03 94 5D */ bl func_801C0AAC
+/* 80187654 001832B4 7C 64 1B 78 */ mr r4, r3
+/* 80187658 001832B8 48 00 00 28 */ b lbl_80187680
+lbl_8018765C:
+/* 8018765C 001832BC 38 60 00 0F */ li r3, 0xf
+/* 80187660 001832C0 48 03 94 4D */ bl func_801C0AAC
+/* 80187664 001832C4 7C 64 1B 78 */ mr r4, r3
+/* 80187668 001832C8 48 00 00 18 */ b lbl_80187680
+lbl_8018766C:
+/* 8018766C 001832CC 38 60 00 10 */ li r3, 0x10
+/* 80187670 001832D0 48 03 94 3D */ bl func_801C0AAC
+/* 80187674 001832D4 7C 64 1B 78 */ mr r4, r3
+/* 80187678 001832D8 48 00 00 08 */ b lbl_80187680
+lbl_8018767C:
+/* 8018767C 001832DC 38 80 00 00 */ li r4, 0
+lbl_80187680:
+/* 80187680 001832E0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80187684 001832E4 7C 83 23 78 */ mr r3, r4
+/* 80187688 001832E8 7C 08 03 A6 */ mtlr r0
+/* 8018768C 001832EC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80187690 001832F0 4E 80 00 20 */ blr
+
+.global func_80187694
+func_80187694:
+/* 80187694 001832F4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80187698 001832F8 7C 08 02 A6 */ mflr r0
+/* 8018769C 001832FC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801876A0 00183300 39 61 00 20 */ addi r11, r1, 0x20
+/* 801876A4 00183304 48 03 FA 89 */ bl _savegpr_28
+/* 801876A8 00183308 7C BE 2B 78 */ mr r30, r5
+/* 801876AC 0018330C 7C 7C 1B 78 */ mr r28, r3
+/* 801876B0 00183310 7C 9D 23 78 */ mr r29, r4
+/* 801876B4 00183314 7C DF 33 78 */ mr r31, r6
+/* 801876B8 00183318 7F C3 F3 78 */ mr r3, r30
+/* 801876BC 0018331C 48 03 F1 1D */ bl func_801C67D8
+/* 801876C0 00183320 2C 1C 00 00 */ cmpwi r28, 0
+/* 801876C4 00183324 40 82 00 0C */ bne lbl_801876D0
+/* 801876C8 00183328 38 60 00 00 */ li r3, 0
+/* 801876CC 0018332C 48 00 00 84 */ b lbl_80187750
+lbl_801876D0:
+/* 801876D0 00183330 2C 1D 00 00 */ cmpwi r29, 0
+/* 801876D4 00183334 40 82 00 0C */ bne lbl_801876E0
+/* 801876D8 00183338 38 60 00 00 */ li r3, 0
+/* 801876DC 0018333C 48 00 00 74 */ b lbl_80187750
+lbl_801876E0:
+/* 801876E0 00183340 2C 1F 00 00 */ cmpwi r31, 0
+/* 801876E4 00183344 40 82 00 0C */ bne lbl_801876F0
+/* 801876E8 00183348 38 60 00 00 */ li r3, 0
+/* 801876EC 0018334C 48 00 00 64 */ b lbl_80187750
+lbl_801876F0:
+/* 801876F0 00183350 7C 6C 1B 78 */ mr r12, r3
+/* 801876F4 00183354 7F 83 E3 78 */ mr r3, r28
+/* 801876F8 00183358 7F A4 EB 78 */ mr r4, r29
+/* 801876FC 0018335C 7F C5 F3 78 */ mr r5, r30
+/* 80187700 00183360 7F E6 FB 78 */ mr r6, r31
+/* 80187704 00183364 7D 89 03 A6 */ mtctr r12
+/* 80187708 00183368 4E 80 04 21 */ bctrl
+/* 8018770C 0018336C 2C 03 00 00 */ cmpwi r3, 0
+/* 80187710 00183370 40 82 00 0C */ bne lbl_8018771C
+/* 80187714 00183374 38 60 00 00 */ li r3, 0
+/* 80187718 00183378 48 00 00 38 */ b lbl_80187750
+lbl_8018771C:
+/* 8018771C 0018337C 7F E3 FB 78 */ mr r3, r31
+/* 80187720 00183380 48 03 CD 85 */ bl func_801C44A4
+/* 80187724 00183384 28 03 00 01 */ cmplwi r3, 1
+/* 80187728 00183388 40 82 00 0C */ bne lbl_80187734
+/* 8018772C 0018338C 38 60 00 00 */ li r3, 0
+/* 80187730 00183390 48 00 00 20 */ b lbl_80187750
+lbl_80187734:
+/* 80187734 00183394 7F 83 E3 78 */ mr r3, r28
+/* 80187738 00183398 7F A4 EB 78 */ mr r4, r29
+/* 8018773C 0018339C 7F C5 F3 78 */ mr r5, r30
+/* 80187740 001833A0 4B FF B5 C1 */ bl func_80182D00
+/* 80187744 001833A4 54 63 06 3E */ clrlwi r3, r3, 0x18
+/* 80187748 001833A8 30 03 FF FF */ addic r0, r3, -1
+/* 8018774C 001833AC 7C 60 19 10 */ subfe r3, r0, r3
+lbl_80187750:
+/* 80187750 001833B0 39 61 00 20 */ addi r11, r1, 0x20
+/* 80187754 001833B4 48 03 FA 25 */ bl _restgpr_28
+/* 80187758 001833B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8018775C 001833BC 7C 08 03 A6 */ mtlr r0
+/* 80187760 001833C0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80187764 001833C4 4E 80 00 20 */ blr
+
+.global func_80187768
+func_80187768:
+/* 80187768 001833C8 38 6D 9F B0 */ addi r3, r13, lbl_8063F270-_SDA_BASE_
+/* 8018776C 001833CC 38 80 00 01 */ li r4, 1
+/* 80187770 001833D0 38 A0 00 04 */ li r5, 4
+/* 80187774 001833D4 38 C0 00 00 */ li r6, 0
+/* 80187778 001833D8 4B E9 D1 9C */ b func_80024914
|