.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