.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80176EB4 func_80176EB4: /* 80176EB4 00172B14 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80176EB8 00172B18 7C 08 02 A6 */ mflr r0 /* 80176EBC 00172B1C 90 01 00 34 */ stw r0, 0x34(r1) /* 80176EC0 00172B20 39 61 00 30 */ addi r11, r1, 0x30 /* 80176EC4 00172B24 48 05 02 51 */ bl _savegpr_22 /* 80176EC8 00172B28 2C 04 00 00 */ cmpwi r4, 0 /* 80176ECC 00172B2C 7C 7A 1B 78 */ mr r26, r3 /* 80176ED0 00172B30 54 A0 08 3C */ slwi r0, r5, 1 /* 80176ED4 00172B34 7C 9B 23 78 */ mr r27, r4 /* 80176ED8 00172B38 7C BC 2B 78 */ mr r28, r5 /* 80176EDC 00172B3C 7F 5F D3 78 */ mr r31, r26 /* 80176EE0 00172B40 7F C3 02 14 */ add r30, r3, r0 /* 80176EE4 00172B44 3B A0 00 00 */ li r29, 0 /* 80176EE8 00172B48 41 82 00 0C */ beq lbl_80176EF4 /* 80176EEC 00172B4C 2C 03 00 00 */ cmpwi r3, 0 /* 80176EF0 00172B50 40 82 00 0C */ bne lbl_80176EFC lbl_80176EF4: /* 80176EF4 00172B54 38 60 00 00 */ li r3, 0 /* 80176EF8 00172B58 48 00 01 70 */ b lbl_80177068 lbl_80176EFC: /* 80176EFC 00172B5C 3E E0 80 42 */ lis r23, lbl_80420320@ha /* 80176F00 00172B60 3E C0 00 01 */ lis r22, 1 /* 80176F04 00172B64 3B 20 00 01 */ li r25, 1 /* 80176F08 00172B68 3B 17 03 20 */ addi r24, r23, lbl_80420320@l /* 80176F0C 00172B6C 48 00 01 44 */ b lbl_80177050 lbl_80176F10: /* 80176F10 00172B70 A0 7B 00 00 */ lhz r3, 0(r27) /* 80176F14 00172B74 3B 7B 00 02 */ addi r27, r27, 2 /* 80176F18 00172B78 2C 03 00 00 */ cmpwi r3, 0 /* 80176F1C 00172B7C 40 82 00 28 */ bne lbl_80176F44 /* 80176F20 00172B80 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 80176F24 00172B84 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 80176F28 00172B88 B0 1A 00 00 */ sth r0, 0(r26) /* 80176F2C 00172B8C 3B 5A 00 02 */ addi r26, r26, 2 /* 80176F30 00172B90 7C 7F D0 50 */ subf r3, r31, r26 /* 80176F34 00172B94 54 60 0F FE */ srwi r0, r3, 0x1f /* 80176F38 00172B98 7C 00 1A 14 */ add r0, r0, r3 /* 80176F3C 00172B9C 7C 03 0E 70 */ srawi r3, r0, 1 /* 80176F40 00172BA0 48 00 01 28 */ b lbl_80177068 lbl_80176F44: /* 80176F44 00172BA4 28 03 FF FF */ cmplwi r3, 0xffff /* 80176F48 00172BA8 40 82 00 FC */ bne lbl_80177044 /* 80176F4C 00172BAC A0 7B 00 00 */ lhz r3, 0(r27) /* 80176F50 00172BB0 38 16 FF FF */ addi r0, r22, -1 /* 80176F54 00172BB4 3B 7B 00 02 */ addi r27, r27, 2 /* 80176F58 00172BB8 7C 03 00 00 */ cmpw r3, r0 /* 80176F5C 00172BBC 41 82 00 18 */ beq lbl_80176F74 /* 80176F60 00172BC0 40 80 00 48 */ bge lbl_80176FA8 /* 80176F64 00172BC4 38 16 FF FE */ addi r0, r22, -2 /* 80176F68 00172BC8 7C 03 00 00 */ cmpw r3, r0 /* 80176F6C 00172BCC 40 80 00 2C */ bge lbl_80176F98 /* 80176F70 00172BD0 48 00 00 38 */ b lbl_80176FA8 lbl_80176F74: /* 80176F74 00172BD4 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 80176F78 00172BD8 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 80176F7C 00172BDC B0 1A 00 00 */ sth r0, 0(r26) /* 80176F80 00172BE0 3B 5A 00 02 */ addi r26, r26, 2 /* 80176F84 00172BE4 7C 7F D0 50 */ subf r3, r31, r26 /* 80176F88 00172BE8 54 60 0F FE */ srwi r0, r3, 0x1f /* 80176F8C 00172BEC 7C 00 1A 14 */ add r0, r0, r3 /* 80176F90 00172BF0 7C 03 0E 70 */ srawi r3, r0, 1 /* 80176F94 00172BF4 48 00 00 D4 */ b lbl_80177068 lbl_80176F98: /* 80176F98 00172BF8 38 16 E0 00 */ addi r0, r22, -8192 /* 80176F9C 00172BFC B0 1A 00 00 */ sth r0, 0(r26) /* 80176FA0 00172C00 3B 5A 00 02 */ addi r26, r26, 2 /* 80176FA4 00172C04 48 00 00 AC */ b lbl_80177050 lbl_80176FA8: /* 80176FA8 00172C08 38 97 03 20 */ addi r4, r23, 0x320 /* 80176FAC 00172C0C 38 A0 00 00 */ li r5, 0 /* 80176FB0 00172C10 48 00 00 84 */ b lbl_80177034 lbl_80176FB4: /* 80176FB4 00172C14 7C 03 00 40 */ cmplw r3, r0 /* 80176FB8 00172C18 40 82 00 74 */ bne lbl_8017702C /* 80176FBC 00172C1C 38 16 FF FE */ addi r0, r22, -2 /* 80176FC0 00172C20 B0 1A 00 00 */ sth r0, 0(r26) /* 80176FC4 00172C24 3B 5A 00 02 */ addi r26, r26, 2 /* 80176FC8 00172C28 7C 1A F0 40 */ cmplw r26, r30 /* 80176FCC 00172C2C 40 80 00 84 */ bge lbl_80177050 /* 80176FD0 00172C30 1C 05 00 06 */ mulli r0, r5, 6 /* 80176FD4 00172C34 7C 78 02 14 */ add r3, r24, r0 /* 80176FD8 00172C38 A0 03 00 02 */ lhz r0, 2(r3) /* 80176FDC 00172C3C B0 1A 00 00 */ sth r0, 0(r26) /* 80176FE0 00172C40 3B 5A 00 02 */ addi r26, r26, 2 /* 80176FE4 00172C44 7C 1A F0 40 */ cmplw r26, r30 /* 80176FE8 00172C48 40 80 00 68 */ bge lbl_80177050 /* 80176FEC 00172C4C B3 3A 00 00 */ sth r25, 0(r26) /* 80176FF0 00172C50 3B 5A 00 02 */ addi r26, r26, 2 /* 80176FF4 00172C54 7C 1A F0 40 */ cmplw r26, r30 /* 80176FF8 00172C58 40 80 00 58 */ bge lbl_80177050 /* 80176FFC 00172C5C A0 03 00 04 */ lhz r0, 4(r3) /* 80177000 00172C60 28 00 01 00 */ cmplwi r0, 0x100 /* 80177004 00172C64 40 82 00 10 */ bne lbl_80177014 /* 80177008 00172C68 B3 BA 00 00 */ sth r29, 0(r26) /* 8017700C 00172C6C 3B 5A 00 02 */ addi r26, r26, 2 /* 80177010 00172C70 48 00 00 0C */ b lbl_8017701C lbl_80177014: /* 80177014 00172C74 B0 1A 00 00 */ sth r0, 0(r26) /* 80177018 00172C78 3B 5A 00 02 */ addi r26, r26, 2 lbl_8017701C: /* 8017701C 00172C7C 7C 1A F0 40 */ cmplw r26, r30 /* 80177020 00172C80 40 80 00 30 */ bge lbl_80177050 /* 80177024 00172C84 3B BD 00 01 */ addi r29, r29, 1 /* 80177028 00172C88 48 00 00 28 */ b lbl_80177050 lbl_8017702C: /* 8017702C 00172C8C 38 84 00 06 */ addi r4, r4, 6 /* 80177030 00172C90 38 A5 00 01 */ addi r5, r5, 1 lbl_80177034: /* 80177034 00172C94 A0 04 00 00 */ lhz r0, 0(r4) /* 80177038 00172C98 2C 00 00 00 */ cmpwi r0, 0 /* 8017703C 00172C9C 40 82 FF 78 */ bne lbl_80176FB4 /* 80177040 00172CA0 48 00 00 10 */ b lbl_80177050 lbl_80177044: /* 80177044 00172CA4 48 00 03 7D */ bl func_801773C0 /* 80177048 00172CA8 B0 7A 00 00 */ sth r3, 0(r26) /* 8017704C 00172CAC 3B 5A 00 02 */ addi r26, r26, 2 lbl_80177050: /* 80177050 00172CB0 7C 1A F0 40 */ cmplw r26, r30 /* 80177054 00172CB4 41 80 FE BC */ blt lbl_80176F10 /* 80177058 00172CB8 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 8017705C 00172CBC 7F 83 E3 78 */ mr r3, r28 /* 80177060 00172CC0 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 80177064 00172CC4 B0 1E FF FE */ sth r0, -2(r30) lbl_80177068: /* 80177068 00172CC8 39 61 00 30 */ addi r11, r1, 0x30 /* 8017706C 00172CCC 48 05 00 F5 */ bl _restgpr_22 /* 80177070 00172CD0 80 01 00 34 */ lwz r0, 0x34(r1) /* 80177074 00172CD4 7C 08 03 A6 */ mtlr r0 /* 80177078 00172CD8 38 21 00 30 */ addi r1, r1, 0x30 /* 8017707C 00172CDC 4E 80 00 20 */ blr .global func_80177080 func_80177080: /* 80177080 00172CE0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80177084 00172CE4 7C 08 02 A6 */ mflr r0 /* 80177088 00172CE8 90 01 00 34 */ stw r0, 0x34(r1) /* 8017708C 00172CEC 39 61 00 30 */ addi r11, r1, 0x30 /* 80177090 00172CF0 48 05 00 91 */ bl _savegpr_25 /* 80177094 00172CF4 2C 04 00 00 */ cmpwi r4, 0 /* 80177098 00172CF8 7C 79 1B 78 */ mr r25, r3 /* 8017709C 00172CFC 7C 9A 23 78 */ mr r26, r4 /* 801770A0 00172D00 7C BB 2B 78 */ mr r27, r5 /* 801770A4 00172D04 41 82 00 0C */ beq lbl_801770B0 /* 801770A8 00172D08 2C 03 00 00 */ cmpwi r3, 0 /* 801770AC 00172D0C 40 82 00 0C */ bne lbl_801770B8 lbl_801770B0: /* 801770B0 00172D10 38 60 00 00 */ li r3, 0 /* 801770B4 00172D14 48 00 00 80 */ b lbl_80177134 lbl_801770B8: /* 801770B8 00172D18 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 801770BC 00172D1C 3B E5 FF FF */ addi r31, r5, -1 /* 801770C0 00172D20 3B A3 FF FF */ addi r29, r3, 0x0000FFFF@l /* 801770C4 00172D24 3B 80 00 00 */ li r28, 0 /* 801770C8 00172D28 3B C3 FF FE */ addi r30, r3, -2 /* 801770CC 00172D2C 48 00 00 54 */ b lbl_80177120 lbl_801770D0: /* 801770D0 00172D30 A0 7A 00 00 */ lhz r3, 0(r26) /* 801770D4 00172D34 3B 5A 00 02 */ addi r26, r26, 2 /* 801770D8 00172D38 2C 03 00 00 */ cmpwi r3, 0 /* 801770DC 00172D3C 41 82 00 0C */ beq lbl_801770E8 /* 801770E0 00172D40 28 03 FF FF */ cmplwi r3, 0xffff /* 801770E4 00172D44 40 82 00 14 */ bne lbl_801770F8 lbl_801770E8: /* 801770E8 00172D48 38 00 00 00 */ li r0, 0 /* 801770EC 00172D4C 7F 83 E3 78 */ mr r3, r28 /* 801770F0 00172D50 B0 19 00 00 */ sth r0, 0(r25) /* 801770F4 00172D54 48 00 00 40 */ b lbl_80177134 lbl_801770F8: /* 801770F8 00172D58 28 03 E0 00 */ cmplwi r3, 0xe000 /* 801770FC 00172D5C 40 82 00 14 */ bne lbl_80177110 /* 80177100 00172D60 B3 B9 00 00 */ sth r29, 0(r25) /* 80177104 00172D64 B3 D9 00 02 */ sth r30, 2(r25) /* 80177108 00172D68 3B 39 00 04 */ addi r25, r25, 4 /* 8017710C 00172D6C 48 00 00 10 */ b lbl_8017711C lbl_80177110: /* 80177110 00172D70 48 00 02 25 */ bl func_80177334 /* 80177114 00172D74 B0 79 00 00 */ sth r3, 0(r25) /* 80177118 00172D78 3B 39 00 02 */ addi r25, r25, 2 lbl_8017711C: /* 8017711C 00172D7C 3B 9C 00 01 */ addi r28, r28, 1 lbl_80177120: /* 80177120 00172D80 7C 1C F8 40 */ cmplw r28, r31 /* 80177124 00172D84 41 80 FF AC */ blt lbl_801770D0 /* 80177128 00172D88 38 00 00 00 */ li r0, 0 /* 8017712C 00172D8C 7F 63 DB 78 */ mr r3, r27 /* 80177130 00172D90 B0 19 00 00 */ sth r0, 0(r25) lbl_80177134: /* 80177134 00172D94 39 61 00 30 */ addi r11, r1, 0x30 /* 80177138 00172D98 48 05 00 35 */ bl _restgpr_25 /* 8017713C 00172D9C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80177140 00172DA0 7C 08 03 A6 */ mtlr r0 /* 80177144 00172DA4 38 21 00 30 */ addi r1, r1, 0x30 /* 80177148 00172DA8 4E 80 00 20 */ blr .global func_8017714C func_8017714C: /* 8017714C 00172DAC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80177150 00172DB0 7C 08 02 A6 */ mflr r0 /* 80177154 00172DB4 90 01 00 24 */ stw r0, 0x24(r1) /* 80177158 00172DB8 39 61 00 20 */ addi r11, r1, 0x20 /* 8017715C 00172DBC 48 04 FF CD */ bl _savegpr_27 /* 80177160 00172DC0 2C 04 00 00 */ cmpwi r4, 0 /* 80177164 00172DC4 7C 7B 1B 78 */ mr r27, r3 /* 80177168 00172DC8 7C 9C 23 78 */ mr r28, r4 /* 8017716C 00172DCC 7C BD 2B 78 */ mr r29, r5 /* 80177170 00172DD0 3B C0 00 00 */ li r30, 0 /* 80177174 00172DD4 41 82 00 0C */ beq lbl_80177180 /* 80177178 00172DD8 2C 03 00 00 */ cmpwi r3, 0 /* 8017717C 00172DDC 40 82 00 0C */ bne lbl_80177188 lbl_80177180: /* 80177180 00172DE0 38 60 00 00 */ li r3, 0 /* 80177184 00172DE4 48 00 00 90 */ b lbl_80177214 lbl_80177188: /* 80177188 00172DE8 3B E0 00 0A */ li r31, 0xa /* 8017718C 00172DEC 48 00 00 7C */ b lbl_80177208 lbl_80177190: /* 80177190 00172DF0 A0 7C 00 00 */ lhz r3, 0(r28) /* 80177194 00172DF4 3B 9C 00 02 */ addi r28, r28, 2 /* 80177198 00172DF8 2C 03 00 00 */ cmpwi r3, 0 /* 8017719C 00172DFC 40 82 00 14 */ bne lbl_801771B0 /* 801771A0 00172E00 38 00 00 00 */ li r0, 0 /* 801771A4 00172E04 7F C3 F3 78 */ mr r3, r30 /* 801771A8 00172E08 98 1B 00 00 */ stb r0, 0(r27) /* 801771AC 00172E0C 48 00 00 68 */ b lbl_80177214 lbl_801771B0: /* 801771B0 00172E10 28 03 FF FF */ cmplwi r3, 0xffff /* 801771B4 00172E14 40 82 00 24 */ bne lbl_801771D8 /* 801771B8 00172E18 A0 1C 00 00 */ lhz r0, 0(r28) /* 801771BC 00172E1C 3B 9C 00 02 */ addi r28, r28, 2 /* 801771C0 00172E20 28 00 FF FE */ cmplwi r0, 0xfffe /* 801771C4 00172E24 40 82 00 40 */ bne lbl_80177204 /* 801771C8 00172E28 9B FB 00 00 */ stb r31, 0(r27) /* 801771CC 00172E2C 3B 7B 00 01 */ addi r27, r27, 1 /* 801771D0 00172E30 3B DE 00 01 */ addi r30, r30, 1 /* 801771D4 00172E34 48 00 00 30 */ b lbl_80177204 lbl_801771D8: /* 801771D8 00172E38 48 00 02 31 */ bl func_80177408 /* 801771DC 00172E3C 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 801771E0 00172E40 28 00 01 00 */ cmplwi r0, 0x100 /* 801771E4 00172E44 41 80 00 14 */ blt lbl_801771F8 /* 801771E8 00172E48 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 801771EC 00172E4C 3B BD FF FF */ addi r29, r29, -1 /* 801771F0 00172E50 98 1B 00 00 */ stb r0, 0(r27) /* 801771F4 00172E54 3B 7B 00 01 */ addi r27, r27, 1 lbl_801771F8: /* 801771F8 00172E58 98 7B 00 00 */ stb r3, 0(r27) /* 801771FC 00172E5C 3B 7B 00 01 */ addi r27, r27, 1 /* 80177200 00172E60 3B DE 00 01 */ addi r30, r30, 1 lbl_80177204: /* 80177204 00172E64 3B BD FF FF */ addi r29, r29, -1 lbl_80177208: /* 80177208 00172E68 2C 1D 00 00 */ cmpwi r29, 0 /* 8017720C 00172E6C 41 81 FF 84 */ bgt lbl_80177190 /* 80177210 00172E70 7F C3 F3 78 */ mr r3, r30 lbl_80177214: /* 80177214 00172E74 39 61 00 20 */ addi r11, r1, 0x20 /* 80177218 00172E78 48 04 FF 5D */ bl _restgpr_27 /* 8017721C 00172E7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80177220 00172E80 7C 08 03 A6 */ mtlr r0 /* 80177224 00172E84 38 21 00 20 */ addi r1, r1, 0x20 /* 80177228 00172E88 4E 80 00 20 */ blr .global func_8017722C func_8017722C: /* 8017722C 00172E8C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80177230 00172E90 7C 08 02 A6 */ mflr r0 /* 80177234 00172E94 2C 04 00 00 */ cmpwi r4, 0 /* 80177238 00172E98 90 01 00 24 */ stw r0, 0x24(r1) /* 8017723C 00172E9C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80177240 00172EA0 3B E0 00 00 */ li r31, 0 /* 80177244 00172EA4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80177248 00172EA8 7C BE 2B 78 */ mr r30, r5 /* 8017724C 00172EAC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80177250 00172EB0 7C 9D 23 78 */ mr r29, r4 /* 80177254 00172EB4 93 81 00 10 */ stw r28, 0x10(r1) /* 80177258 00172EB8 7C 7C 1B 78 */ mr r28, r3 /* 8017725C 00172EBC 41 82 00 0C */ beq lbl_80177268 /* 80177260 00172EC0 2C 03 00 00 */ cmpwi r3, 0 /* 80177264 00172EC4 40 82 00 60 */ bne lbl_801772C4 lbl_80177268: /* 80177268 00172EC8 38 60 00 00 */ li r3, 0 /* 8017726C 00172ECC 48 00 00 64 */ b lbl_801772D0 /* 80177270 00172ED0 48 00 00 54 */ b lbl_801772C4 lbl_80177274: /* 80177274 00172ED4 A0 7D 00 00 */ lhz r3, 0(r29) /* 80177278 00172ED8 3B BD 00 02 */ addi r29, r29, 2 /* 8017727C 00172EDC 28 03 FF FF */ cmplwi r3, 0xffff /* 80177280 00172EE0 40 82 00 14 */ bne lbl_80177294 /* 80177284 00172EE4 38 00 00 00 */ li r0, 0 /* 80177288 00172EE8 7F E3 FB 78 */ mr r3, r31 /* 8017728C 00172EEC 98 1C 00 00 */ stb r0, 0(r28) /* 80177290 00172EF0 48 00 00 40 */ b lbl_801772D0 lbl_80177294: /* 80177294 00172EF4 48 00 00 E5 */ bl func_80177378 /* 80177298 00172EF8 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8017729C 00172EFC 28 00 01 00 */ cmplwi r0, 0x100 /* 801772A0 00172F00 41 80 00 14 */ blt lbl_801772B4 /* 801772A4 00172F04 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 801772A8 00172F08 3B DE FF FF */ addi r30, r30, -1 /* 801772AC 00172F0C 98 1C 00 00 */ stb r0, 0(r28) /* 801772B0 00172F10 3B 9C 00 01 */ addi r28, r28, 1 lbl_801772B4: /* 801772B4 00172F14 98 7C 00 00 */ stb r3, 0(r28) /* 801772B8 00172F18 3B 9C 00 01 */ addi r28, r28, 1 /* 801772BC 00172F1C 3B FF 00 01 */ addi r31, r31, 1 /* 801772C0 00172F20 3B DE FF FF */ addi r30, r30, -1 lbl_801772C4: /* 801772C4 00172F24 2C 1E 00 00 */ cmpwi r30, 0 /* 801772C8 00172F28 41 81 FF AC */ bgt lbl_80177274 /* 801772CC 00172F2C 7F E3 FB 78 */ mr r3, r31 lbl_801772D0: /* 801772D0 00172F30 80 01 00 24 */ lwz r0, 0x24(r1) /* 801772D4 00172F34 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801772D8 00172F38 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801772DC 00172F3C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801772E0 00172F40 83 81 00 10 */ lwz r28, 0x10(r1) /* 801772E4 00172F44 7C 08 03 A6 */ mtlr r0 /* 801772E8 00172F48 38 21 00 20 */ addi r1, r1, 0x20 /* 801772EC 00172F4C 4E 80 00 20 */ blr .global func_801772F0 func_801772F0: /* 801772F0 00172F50 48 00 00 34 */ b lbl_80177324 lbl_801772F4: /* 801772F4 00172F54 7C 80 0E 70 */ srawi r0, r4, 1 /* 801772F8 00172F58 1C 00 00 06 */ mulli r0, r0, 6 /* 801772FC 00172F5C 7C C3 02 14 */ add r6, r3, r0 /* 80177300 00172F60 7C 03 02 2E */ lhzx r0, r3, r0 /* 80177304 00172F64 7C 00 28 51 */ subf. r0, r0, r5 /* 80177308 00172F68 40 82 00 0C */ bne lbl_80177314 /* 8017730C 00172F6C 7C C3 33 78 */ mr r3, r6 /* 80177310 00172F70 4E 80 00 20 */ blr lbl_80177314: /* 80177314 00172F74 40 81 00 0C */ ble lbl_80177320 /* 80177318 00172F78 38 66 00 06 */ addi r3, r6, 6 /* 8017731C 00172F7C 38 84 FF FF */ addi r4, r4, -1 lbl_80177320: /* 80177320 00172F80 7C 84 0E 70 */ srawi r4, r4, 1 lbl_80177324: /* 80177324 00172F84 2C 04 00 00 */ cmpwi r4, 0 /* 80177328 00172F88 40 82 FF CC */ bne lbl_801772F4 /* 8017732C 00172F8C 38 60 00 00 */ li r3, 0 /* 80177330 00172F90 4E 80 00 20 */ blr .global func_80177334 func_80177334: /* 80177334 00172F94 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80177338 00172F98 7C 08 02 A6 */ mflr r0 /* 8017733C 00172F9C 3C 80 80 42 */ lis r4, lbl_80420430@ha /* 80177340 00172FA0 7C 65 1B 78 */ mr r5, r3 /* 80177344 00172FA4 90 01 00 14 */ stw r0, 0x14(r1) /* 80177348 00172FA8 38 64 04 30 */ addi r3, r4, lbl_80420430@l /* 8017734C 00172FAC 38 80 01 E1 */ li r4, 0x1e1 /* 80177350 00172FB0 4B FF FF A1 */ bl func_801772F0 /* 80177354 00172FB4 2C 03 00 00 */ cmpwi r3, 0 /* 80177358 00172FB8 41 82 00 0C */ beq lbl_80177364 /* 8017735C 00172FBC A0 63 00 02 */ lhz r3, 2(r3) /* 80177360 00172FC0 48 00 00 08 */ b lbl_80177368 lbl_80177364: /* 80177364 00172FC4 38 60 30 00 */ li r3, 0x3000 lbl_80177368: /* 80177368 00172FC8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017736C 00172FCC 7C 08 03 A6 */ mtlr r0 /* 80177370 00172FD0 38 21 00 10 */ addi r1, r1, 0x10 /* 80177374 00172FD4 4E 80 00 20 */ blr .global func_80177378 func_80177378: /* 80177378 00172FD8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017737C 00172FDC 7C 08 02 A6 */ mflr r0 /* 80177380 00172FE0 3C 80 80 42 */ lis r4, lbl_80420430@ha /* 80177384 00172FE4 7C 65 1B 78 */ mr r5, r3 /* 80177388 00172FE8 90 01 00 14 */ stw r0, 0x14(r1) /* 8017738C 00172FEC 38 64 04 30 */ addi r3, r4, lbl_80420430@l /* 80177390 00172FF0 38 80 01 E1 */ li r4, 0x1e1 /* 80177394 00172FF4 4B FF FF 5D */ bl func_801772F0 /* 80177398 00172FF8 2C 03 00 00 */ cmpwi r3, 0 /* 8017739C 00172FFC 41 82 00 0C */ beq lbl_801773A8 /* 801773A0 00173000 A0 63 00 04 */ lhz r3, 4(r3) /* 801773A4 00173004 48 00 00 0C */ b lbl_801773B0 lbl_801773A8: /* 801773A8 00173008 3C 60 00 01 */ lis r3, 0x000081AC@ha /* 801773AC 0017300C 38 63 81 AC */ addi r3, r3, 0x000081AC@l lbl_801773B0: /* 801773B0 00173010 80 01 00 14 */ lwz r0, 0x14(r1) /* 801773B4 00173014 7C 08 03 A6 */ mtlr r0 /* 801773B8 00173018 38 21 00 10 */ addi r1, r1, 0x10 /* 801773BC 0017301C 4E 80 00 20 */ blr .global func_801773C0 func_801773C0: /* 801773C0 00173020 3C 80 80 42 */ lis r4, lbl_80420430@ha /* 801773C4 00173024 38 00 01 E2 */ li r0, 0x1e2 /* 801773C8 00173028 38 84 04 30 */ addi r4, r4, lbl_80420430@l /* 801773CC 0017302C 38 A0 00 00 */ li r5, 0 /* 801773D0 00173030 7C 09 03 A6 */ mtctr r0 lbl_801773D4: /* 801773D4 00173034 A0 04 00 02 */ lhz r0, 2(r4) /* 801773D8 00173038 7C 03 00 40 */ cmplw r3, r0 /* 801773DC 0017303C 40 82 00 18 */ bne lbl_801773F4 /* 801773E0 00173040 1C 05 00 06 */ mulli r0, r5, 6 /* 801773E4 00173044 3C 60 80 42 */ lis r3, lbl_80420430@ha /* 801773E8 00173048 38 63 04 30 */ addi r3, r3, lbl_80420430@l /* 801773EC 0017304C 7C 63 02 2E */ lhzx r3, r3, r0 /* 801773F0 00173050 4E 80 00 20 */ blr lbl_801773F4: /* 801773F4 00173054 38 84 00 06 */ addi r4, r4, 6 /* 801773F8 00173058 38 A5 00 01 */ addi r5, r5, 1 /* 801773FC 0017305C 42 00 FF D8 */ bdnz lbl_801773D4 /* 80177400 00173060 38 60 00 01 */ li r3, 1 /* 80177404 00173064 4E 80 00 20 */ blr .global func_80177408 func_80177408: /* 80177408 00173068 3C 80 80 42 */ lis r4, lbl_80420430@ha /* 8017740C 0017306C 38 00 01 E2 */ li r0, 0x1e2 /* 80177410 00173070 38 84 04 30 */ addi r4, r4, lbl_80420430@l /* 80177414 00173074 38 A0 00 00 */ li r5, 0 /* 80177418 00173078 7C 09 03 A6 */ mtctr r0 lbl_8017741C: /* 8017741C 0017307C A0 04 00 02 */ lhz r0, 2(r4) /* 80177420 00173080 7C 03 00 40 */ cmplw r3, r0 /* 80177424 00173084 40 82 00 1C */ bne lbl_80177440 /* 80177428 00173088 1C 05 00 06 */ mulli r0, r5, 6 /* 8017742C 0017308C 3C 60 80 42 */ lis r3, lbl_80420430@ha /* 80177430 00173090 38 63 04 30 */ addi r3, r3, lbl_80420430@l /* 80177434 00173094 7C 63 02 14 */ add r3, r3, r0 /* 80177438 00173098 A0 63 00 04 */ lhz r3, 4(r3) /* 8017743C 0017309C 4E 80 00 20 */ blr lbl_80177440: /* 80177440 001730A0 38 84 00 06 */ addi r4, r4, 6 /* 80177444 001730A4 38 A5 00 01 */ addi r5, r5, 1 /* 80177448 001730A8 42 00 FF D4 */ bdnz lbl_8017741C /* 8017744C 001730AC 3C 60 00 01 */ lis r3, 0x00008ADF@ha /* 80177450 001730B0 38 63 8A DF */ addi r3, r3, 0x00008ADF@l /* 80177454 001730B4 4E 80 00 20 */ blr .global func_80177458 func_80177458: /* 80177458 001730B8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8017745C 001730BC 7C 08 02 A6 */ mflr r0 /* 80177460 001730C0 90 01 00 44 */ stw r0, 0x44(r1) /* 80177464 001730C4 39 61 00 40 */ addi r11, r1, 0x40 /* 80177468 001730C8 48 04 FC A5 */ bl _savegpr_20 /* 8017746C 001730CC 54 60 05 29 */ rlwinm. r0, r3, 0, 0x14, 0x14 /* 80177470 001730D0 7C 9A 23 78 */ mr r26, r4 /* 80177474 001730D4 7C BB 2B 78 */ mr r27, r5 /* 80177478 001730D8 41 82 00 EC */ beq lbl_80177564 /* 8017747C 001730DC 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177480 001730E0 38 80 16 24 */ li r4, 0x1624 /* 80177484 001730E4 48 06 38 11 */ bl func_801DAC94 /* 80177488 001730E8 3C 80 80 64 */ lis r4, lbl_8063CE34@ha /* 8017748C 001730EC 93 63 00 00 */ stw r27, 0(r3) /* 80177490 001730F0 7C 7C 1B 78 */ mr r28, r3 /* 80177494 001730F4 3B E1 00 08 */ addi r31, r1, 8 /* 80177498 001730F8 3B 24 CE 34 */ addi r25, r4, lbl_8063CE34@l /* 8017749C 001730FC 3B C0 00 00 */ li r30, 0 lbl_801774A0: /* 801774A0 00173100 7F 63 DB 78 */ mr r3, r27 /* 801774A4 00173104 57 C4 06 3E */ clrlwi r4, r30, 0x18 /* 801774A8 00173108 48 26 74 A5 */ bl func_803DE94C /* 801774AC 0017310C 7C 7D 1B 78 */ mr r29, r3 /* 801774B0 00173110 38 80 00 0A */ li r4, 0xa /* 801774B4 00173114 38 A0 00 00 */ li r5, 0 /* 801774B8 00173118 48 26 65 25 */ bl func_803DD9DC /* 801774BC 0017311C 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 801774C0 00173120 38 79 00 20 */ addi r3, r25, 0x20 /* 801774C4 00173124 48 21 8E FD */ bl func_803903C0 /* 801774C8 00173128 57 C0 06 3E */ clrlwi r0, r30, 0x18 /* 801774CC 0017312C 7C 77 1B 78 */ mr r23, r3 /* 801774D0 00173130 1E A0 03 B0 */ mulli r21, r0, 0x3b0 /* 801774D4 00173134 3A 80 00 00 */ li r20, 0 /* 801774D8 00173138 7C 7C AA 14 */ add r3, r28, r21 /* 801774DC 0017313C 3A C3 00 44 */ addi r22, r3, 0x44 lbl_801774E0: /* 801774E0 00173140 56 84 06 3E */ clrlwi r4, r20, 0x18 /* 801774E4 00173144 7F A3 EB 78 */ mr r3, r29 /* 801774E8 00173148 56 98 0D FC */ rlwinm r24, r20, 1, 0x17, 0x1e /* 801774EC 0017314C 38 A0 00 00 */ li r5, 0 /* 801774F0 00173150 38 84 00 36 */ addi r4, r4, 0x36 /* 801774F4 00173154 48 26 64 E9 */ bl func_803DD9DC /* 801774F8 00173158 7C 60 1B 78 */ mr r0, r3 /* 801774FC 0017315C 7C 7F C3 2E */ sthx r3, r31, r24 /* 80177500 00173160 38 79 00 18 */ addi r3, r25, 0x18 /* 80177504 00173164 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 80177508 00173168 48 21 B8 6D */ bl func_80392D74 /* 8017750C 0017316C 56 80 06 3E */ clrlwi r0, r20, 0x18 /* 80177510 00173170 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80177514 00173174 1C 00 00 DC */ mulli r0, r0, 0xdc /* 80177518 00173178 7C 96 02 14 */ add r4, r22, r0 /* 8017751C 0017317C 48 0D 8E BD */ bl func_802503D8 /* 80177520 00173180 3A 94 00 01 */ addi r20, r20, 1 /* 80177524 00173184 28 14 00 04 */ cmplwi r20, 4 /* 80177528 00173188 41 80 FF B8 */ blt lbl_801774E0 /* 8017752C 0017318C 7C 9C AA 14 */ add r4, r28, r21 /* 80177530 00173190 56 E3 04 3E */ clrlwi r3, r23, 0x10 /* 80177534 00173194 38 84 00 04 */ addi r4, r4, 4 /* 80177538 00173198 48 0D 8E A1 */ bl func_802503D8 /* 8017753C 0017319C 3B DE 00 01 */ addi r30, r30, 1 /* 80177540 001731A0 28 1E 00 06 */ cmplwi r30, 6 /* 80177544 001731A4 41 80 FF 5C */ blt lbl_801774A0 /* 80177548 001731A8 7F 43 D3 78 */ mr r3, r26 /* 8017754C 001731AC 7F 84 E3 78 */ mr r4, r28 /* 80177550 001731B0 4B FF 07 45 */ bl func_80167C94 /* 80177554 001731B4 7C 75 1B 78 */ mr r21, r3 /* 80177558 001731B8 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8017755C 001731BC 7F 84 E3 78 */ mr r4, r28 /* 80177560 001731C0 48 06 37 E9 */ bl func_801DAD48 lbl_80177564: /* 80177564 001731C4 39 61 00 40 */ addi r11, r1, 0x40 /* 80177568 001731C8 7E A3 AB 78 */ mr r3, r21 /* 8017756C 001731CC 48 04 FB ED */ bl _restgpr_20 /* 80177570 001731D0 80 01 00 44 */ lwz r0, 0x44(r1) /* 80177574 001731D4 7C 08 03 A6 */ mtlr r0 /* 80177578 001731D8 38 21 00 40 */ addi r1, r1, 0x40 /* 8017757C 001731DC 4E 80 00 20 */ blr .global func_80177580 func_80177580: /* 80177580 001731E0 94 21 FD 60 */ stwu r1, -0x2a0(r1) /* 80177584 001731E4 7C 08 02 A6 */ mflr r0 /* 80177588 001731E8 90 01 02 A4 */ stw r0, 0x2a4(r1) /* 8017758C 001731EC 39 61 02 A0 */ addi r11, r1, 0x2a0 /* 80177590 001731F0 48 04 FB 69 */ bl _savegpr_15 /* 80177594 001731F4 7C 72 1B 78 */ mr r18, r3 /* 80177598 001731F8 7C 93 23 78 */ mr r19, r4 /* 8017759C 001731FC 7C B1 2B 78 */ mr r17, r5 /* 801775A0 00173200 7C F0 3B 78 */ mr r16, r7 /* 801775A4 00173204 48 23 52 9D */ bl func_803AC840 /* 801775A8 00173208 7C 6F 1B 78 */ mr r15, r3 /* 801775AC 0017320C 7E 43 93 78 */ mr r3, r18 /* 801775B0 00173210 48 23 52 99 */ bl func_803AC848 /* 801775B4 00173214 7C 79 1B 78 */ mr r25, r3 /* 801775B8 00173218 7E 43 93 78 */ mr r3, r18 /* 801775BC 0017321C 7E 64 9B 78 */ mr r4, r19 /* 801775C0 00173220 48 23 52 A9 */ bl func_803AC868 /* 801775C4 00173224 55 E0 05 29 */ rlwinm. r0, r15, 0, 0x14, 0x14 /* 801775C8 00173228 7C 78 1B 78 */ mr r24, r3 /* 801775CC 0017322C 40 82 00 0C */ bne lbl_801775D8 /* 801775D0 00173230 38 60 00 00 */ li r3, 0 /* 801775D4 00173234 48 00 04 5C */ b lbl_80177A30 lbl_801775D8: /* 801775D8 00173238 28 10 00 0A */ cmplwi r16, 0xa /* 801775DC 0017323C 41 81 04 50 */ bgt lbl_80177A2C /* 801775E0 00173240 3C 60 80 42 */ lis r3, lbl_80420F80@ha /* 801775E4 00173244 56 00 10 3A */ slwi r0, r16, 2 /* 801775E8 00173248 38 63 0F 80 */ addi r3, r3, lbl_80420F80@l /* 801775EC 0017324C 7C 63 00 2E */ lwzx r3, r3, r0 /* 801775F0 00173250 7C 69 03 A6 */ mtctr r3 /* 801775F4 00173254 4E 80 04 20 */ bctr /* 801775F8 00173258 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 801775FC 0017325C 38 80 04 0C */ li r4, 0x40c /* 80177600 00173260 48 06 36 95 */ bl func_801DAC94 /* 80177604 00173264 7C 74 1B 78 */ mr r20, r3 /* 80177608 00173268 38 80 00 00 */ li r4, 0 /* 8017760C 0017326C 38 A0 04 0C */ li r5, 0x40c /* 80177610 00173270 4B E8 CA F5 */ bl memset /* 80177614 00173274 48 26 71 C5 */ bl func_803DE7D8 /* 80177618 00173278 7C 64 1B 78 */ mr r4, r3 /* 8017761C 0017327C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177620 00173280 48 06 36 75 */ bl func_801DAC94 /* 80177624 00173284 90 74 00 00 */ stw r3, 0(r20) /* 80177628 00173288 48 26 71 B1 */ bl func_803DE7D8 /* 8017762C 0017328C 7C 65 1B 78 */ mr r5, r3 /* 80177630 00173290 80 74 00 00 */ lwz r3, 0(r20) /* 80177634 00173294 38 80 00 00 */ li r4, 0 /* 80177638 00173298 4B E8 CA CD */ bl memset /* 8017763C 0017329C 80 74 00 00 */ lwz r3, 0(r20) /* 80177640 001732A0 48 26 71 DD */ bl func_803DE81C /* 80177644 001732A4 80 94 00 00 */ lwz r4, 0(r20) /* 80177648 001732A8 7F 03 C3 78 */ mr r3, r24 /* 8017764C 001732AC 48 26 73 11 */ bl func_803DE95C /* 80177650 001732B0 3A C0 00 00 */ li r22, 0 /* 80177654 001732B4 39 E0 00 01 */ li r15, 1 /* 80177658 001732B8 3A 00 00 00 */ li r16, 0 lbl_8017765C: /* 8017765C 001732BC 28 13 00 01 */ cmplwi r19, 1 /* 80177660 001732C0 41 82 00 0C */ beq lbl_8017766C /* 80177664 001732C4 28 13 00 03 */ cmplwi r19, 3 /* 80177668 001732C8 40 82 00 10 */ bne lbl_80177678 lbl_8017766C: /* 8017766C 001732CC 6A C0 00 01 */ xori r0, r22, 1 /* 80177670 001732D0 54 17 06 3E */ clrlwi r23, r0, 0x18 /* 80177674 001732D4 48 00 00 08 */ b lbl_8017767C lbl_80177678: /* 80177678 001732D8 7E D7 B3 78 */ mr r23, r22 lbl_8017767C: /* 8017767C 001732DC 56 D1 07 FE */ clrlwi r17, r22, 0x1f /* 80177680 001732E0 56 C4 FE 7E */ rlwinm r4, r22, 0x1f, 0x19, 0x1f /* 80177684 001732E4 7E 23 8B 78 */ mr r3, r17 /* 80177688 001732E8 48 25 1B 39 */ bl func_803C91C0 /* 8017768C 001732EC 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 80177690 001732F0 7E 43 93 78 */ mr r3, r18 /* 80177694 001732F4 7E 24 8B 78 */ mr r4, r17 /* 80177698 001732F8 48 23 53 0D */ bl func_803AC9A4 /* 8017769C 001732FC 7C 75 1B 78 */ mr r21, r3 /* 801776A0 00173300 38 80 00 05 */ li r4, 5 /* 801776A4 00173304 38 A0 00 00 */ li r5, 0 /* 801776A8 00173308 48 26 63 35 */ bl func_803DD9DC /* 801776AC 0017330C 56 E0 06 3E */ clrlwi r0, r23, 0x18 /* 801776B0 00173310 54 77 04 3E */ clrlwi r23, r3, 0x10 /* 801776B4 00173314 1E 20 00 1E */ mulli r17, r0, 0x1e /* 801776B8 00173318 7E A3 AB 78 */ mr r3, r21 /* 801776BC 0017331C 38 80 00 70 */ li r4, 0x70 /* 801776C0 00173320 38 A0 00 00 */ li r5, 0 /* 801776C4 00173324 7E B4 8A 14 */ add r21, r20, r17 /* 801776C8 00173328 48 26 63 15 */ bl func_803DD9DC /* 801776CC 0017332C 98 75 03 B1 */ stb r3, 0x3b1(r21) /* 801776D0 00173330 7F 23 CB 78 */ mr r3, r25 /* 801776D4 00173334 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 801776D8 00173338 38 A0 00 11 */ li r5, 0x11 /* 801776DC 0017333C 38 C0 00 00 */ li r6, 0 /* 801776E0 00173340 48 24 35 C5 */ bl func_803BACA4 /* 801776E4 00173344 54 7A 06 3E */ clrlwi r26, r3, 0x18 /* 801776E8 00173348 7F 23 CB 78 */ mr r3, r25 /* 801776EC 0017334C 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 801776F0 00173350 38 C1 00 28 */ addi r6, r1, 0x28 /* 801776F4 00173354 38 A0 00 2D */ li r5, 0x2d /* 801776F8 00173358 48 24 35 AD */ bl func_803BACA4 /* 801776FC 0017335C 7E A3 AB 78 */ mr r3, r21 /* 80177700 00173360 B2 F5 03 94 */ sth r23, 0x394(r21) /* 80177704 00173364 38 63 03 96 */ addi r3, r3, 0x396 /* 80177708 00173368 38 81 00 28 */ addi r4, r1, 0x28 /* 8017770C 0017336C 38 A0 00 0C */ li r5, 0xc /* 80177710 00173370 4B FF F9 71 */ bl func_80177080 /* 80177714 00173374 7F 23 CB 78 */ mr r3, r25 /* 80177718 00173378 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 8017771C 0017337C 38 A0 00 1D */ li r5, 0x1d /* 80177720 00173380 38 C0 00 00 */ li r6, 0 /* 80177724 00173384 48 24 35 81 */ bl func_803BACA4 /* 80177728 00173388 28 17 00 1D */ cmplwi r23, 0x1d /* 8017772C 0017338C 98 75 03 AE */ stb r3, 0x3ae(r21) /* 80177730 00173390 41 82 00 0C */ beq lbl_8017773C /* 80177734 00173394 28 17 00 20 */ cmplwi r23, 0x20 /* 80177738 00173398 40 82 00 14 */ bne lbl_8017774C lbl_8017773C: /* 8017773C 0017339C 2C 1A 00 00 */ cmpwi r26, 0 /* 80177740 001733A0 40 82 00 0C */ bne lbl_8017774C /* 80177744 001733A4 9A 15 03 AF */ stb r16, 0x3af(r21) /* 80177748 001733A8 48 00 00 08 */ b lbl_80177750 lbl_8017774C: /* 8017774C 001733AC 99 F5 03 AF */ stb r15, 0x3af(r21) lbl_80177750: /* 80177750 001733B0 7F 23 CB 78 */ mr r3, r25 /* 80177754 001733B4 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 80177758 001733B8 38 A0 00 2F */ li r5, 0x2f /* 8017775C 001733BC 38 C0 00 00 */ li r6, 0 /* 80177760 001733C0 48 24 35 45 */ bl func_803BACA4 /* 80177764 001733C4 2C 03 00 00 */ cmpwi r3, 0 /* 80177768 001733C8 41 82 00 28 */ beq lbl_80177790 /* 8017776C 001733CC 7F 23 CB 78 */ mr r3, r25 /* 80177770 001733D0 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 80177774 001733D4 38 A0 00 00 */ li r5, 0 /* 80177778 001733D8 38 C0 00 00 */ li r6, 0 /* 8017777C 001733DC 48 24 35 29 */ bl func_803BACA4 /* 80177780 001733E0 2C 03 00 00 */ cmpwi r3, 0 /* 80177784 001733E4 41 82 00 0C */ beq lbl_80177790 /* 80177788 001733E8 99 F5 03 B0 */ stb r15, 0x3b0(r21) /* 8017778C 001733EC 48 00 00 08 */ b lbl_80177794 lbl_80177790: /* 80177790 001733F0 9A 15 03 B0 */ stb r16, 0x3b0(r21) lbl_80177794: /* 80177794 001733F4 3A D6 00 01 */ addi r22, r22, 1 /* 80177798 001733F8 28 16 00 04 */ cmplwi r22, 4 /* 8017779C 001733FC 41 80 FE C0 */ blt lbl_8017765C /* 801777A0 00173400 3F E0 80 64 */ lis r31, lbl_8063CE34@ha /* 801777A4 00173404 3A C0 00 00 */ li r22, 0 /* 801777A8 00173408 3B FF CE 34 */ addi r31, r31, lbl_8063CE34@l /* 801777AC 0017340C 3A 00 00 00 */ li r16, 0 /* 801777B0 00173410 3A 20 00 09 */ li r17, 9 lbl_801777B4: /* 801777B4 00173414 7E 63 9B 78 */ mr r3, r19 /* 801777B8 00173418 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 801777BC 0017341C 48 25 1A 05 */ bl func_803C91C0 /* 801777C0 00173420 54 65 06 3E */ clrlwi r5, r3, 0x18 /* 801777C4 00173424 7E 43 93 78 */ mr r3, r18 /* 801777C8 00173428 7E 64 9B 78 */ mr r4, r19 /* 801777CC 0017342C 48 23 51 D9 */ bl func_803AC9A4 /* 801777D0 00173430 80 74 00 00 */ lwz r3, 0(r20) /* 801777D4 00173434 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 801777D8 00173438 48 26 71 75 */ bl func_803DE94C /* 801777DC 0017343C 7C 6F 1B 78 */ mr r15, r3 /* 801777E0 00173440 7E 63 9B 78 */ mr r3, r19 /* 801777E4 00173444 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 801777E8 00173448 48 25 19 D9 */ bl func_803C91C0 /* 801777EC 0017344C 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 801777F0 00173450 7F 03 C3 78 */ mr r3, r24 /* 801777F4 00173454 48 26 71 59 */ bl func_803DE94C /* 801777F8 00173458 7D E4 7B 78 */ mr r4, r15 /* 801777FC 0017345C 48 26 50 BD */ bl func_803DC8B8 /* 80177800 00173460 7E 63 9B 78 */ mr r3, r19 /* 80177804 00173464 56 C4 06 3E */ clrlwi r4, r22, 0x18 /* 80177808 00173468 48 25 1A 25 */ bl func_803C922C /* 8017780C 0017346C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80177810 00173470 7C 7D 1B 78 */ mr r29, r3 /* 80177814 00173474 28 00 00 FF */ cmplwi r0, 0xff /* 80177818 00173478 41 82 00 E8 */ beq lbl_80177900 /* 8017781C 0017347C 56 C0 06 3E */ clrlwi r0, r22, 0x18 /* 80177820 00173480 3A A0 00 00 */ li r21, 0 /* 80177824 00173484 1C 00 00 98 */ mulli r0, r0, 0x98 /* 80177828 00173488 7F D4 02 14 */ add r30, r20, r0 /* 8017782C 0017348C 3B 9E 00 04 */ addi r28, r30, 4 lbl_80177830: /* 80177830 00173490 56 A4 06 3E */ clrlwi r4, r21, 0x18 /* 80177834 00173494 7F 23 CB 78 */ mr r3, r25 /* 80177838 00173498 3B 64 00 06 */ addi r27, r4, 6 /* 8017783C 0017349C 38 C0 00 00 */ li r6, 0 /* 80177840 001734A0 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 80177844 001734A4 7F 65 DB 78 */ mr r5, r27 /* 80177848 001734A8 48 24 34 5D */ bl func_803BACA4 /* 8017784C 001734AC 56 A0 06 3E */ clrlwi r0, r21, 0x18 /* 80177850 001734B0 54 77 04 3E */ clrlwi r23, r3, 0x10 /* 80177854 001734B4 1D E0 00 26 */ mulli r15, r0, 0x26 /* 80177858 001734B8 38 7F 00 18 */ addi r3, r31, 0x18 /* 8017785C 001734BC 7E E4 BB 78 */ mr r4, r23 /* 80177860 001734C0 48 21 B4 E1 */ bl func_80392D40 /* 80177864 001734C4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80177868 001734C8 7C 9C 7A 14 */ add r4, r28, r15 /* 8017786C 001734CC 48 0D 8B 6D */ bl func_802503D8 /* 80177870 001734D0 56 A5 06 3E */ clrlwi r5, r21, 0x18 /* 80177874 001734D4 7F 23 CB 78 */ mr r3, r25 /* 80177878 001734D8 7F 5E 7A 14 */ add r26, r30, r15 /* 8017787C 001734DC 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 80177880 001734E0 38 A5 00 1F */ addi r5, r5, 0x1f /* 80177884 001734E4 38 C0 00 00 */ li r6, 0 /* 80177888 001734E8 48 24 34 1D */ bl func_803BACA4 /* 8017788C 001734EC 98 7A 00 24 */ stb r3, 0x24(r26) /* 80177890 001734F0 56 A5 06 3E */ clrlwi r5, r21, 0x18 /* 80177894 001734F4 7F 23 CB 78 */ mr r3, r25 /* 80177898 001734F8 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 8017789C 001734FC 38 A5 00 23 */ addi r5, r5, 0x23 /* 801778A0 00173500 38 C0 00 00 */ li r6, 0 /* 801778A4 00173504 48 24 34 01 */ bl func_803BACA4 /* 801778A8 00173508 54 6F 06 3E */ clrlwi r15, r3, 0x18 /* 801778AC 0017350C 7F 23 CB 78 */ mr r3, r25 /* 801778B0 00173510 7F 65 DB 78 */ mr r5, r27 /* 801778B4 00173514 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 801778B8 00173518 38 C0 00 00 */ li r6, 0 /* 801778BC 0017351C 48 24 33 E9 */ bl func_803BACA4 /* 801778C0 00173520 7D E4 7B 78 */ mr r4, r15 /* 801778C4 00173524 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 801778C8 00173528 48 26 71 99 */ bl func_803DEA60 /* 801778CC 0017352C 98 7A 00 25 */ stb r3, 0x25(r26) /* 801778D0 00173530 7E E4 BB 78 */ mr r4, r23 /* 801778D4 00173534 38 7F 00 18 */ addi r3, r31, 0x18 /* 801778D8 00173538 48 21 B2 FD */ bl func_80392BD4 /* 801778DC 0017353C 2C 17 00 00 */ cmpwi r23, 0 /* 801778E0 00173540 98 7A 00 28 */ stb r3, 0x28(r26) /* 801778E4 00173544 40 82 00 10 */ bne lbl_801778F4 /* 801778E8 00173548 9A 1A 00 24 */ stb r16, 0x24(r26) /* 801778EC 0017354C 9A 1A 00 25 */ stb r16, 0x25(r26) /* 801778F0 00173550 9A 3A 00 28 */ stb r17, 0x28(r26) lbl_801778F4: /* 801778F4 00173554 3A B5 00 01 */ addi r21, r21, 1 /* 801778F8 00173558 28 15 00 04 */ cmplwi r21, 4 /* 801778FC 0017355C 41 80 FF 34 */ blt lbl_80177830 lbl_80177900: /* 80177900 00173560 3A D6 00 01 */ addi r22, r22, 1 /* 80177904 00173564 28 16 00 06 */ cmplwi r22, 6 /* 80177908 00173568 41 80 FE AC */ blt lbl_801777B4 /* 8017790C 0017356C 7E 63 9B 78 */ mr r3, r19 /* 80177910 00173570 7E 84 A3 78 */ mr r4, r20 /* 80177914 00173574 4B FF 05 0D */ bl func_80167E20 /* 80177918 00173578 80 94 00 00 */ lwz r4, 0(r20) /* 8017791C 0017357C 7C 6F 1B 78 */ mr r15, r3 /* 80177920 00173580 2C 04 00 00 */ cmpwi r4, 0 /* 80177924 00173584 41 82 00 0C */ beq lbl_80177930 /* 80177928 00173588 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8017792C 0017358C 48 06 34 1D */ bl func_801DAD48 lbl_80177930: /* 80177930 00173590 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177934 00173594 7E 84 A3 78 */ mr r4, r20 /* 80177938 00173598 48 06 34 11 */ bl func_801DAD48 /* 8017793C 0017359C 48 00 00 F0 */ b lbl_80177A2C /* 80177940 001735A0 7F 23 CB 78 */ mr r3, r25 /* 80177944 001735A4 7E 24 8B 78 */ mr r4, r17 /* 80177948 001735A8 38 C1 00 40 */ addi r6, r1, 0x40 /* 8017794C 001735AC 38 A0 00 2D */ li r5, 0x2d /* 80177950 001735B0 48 24 33 55 */ bl func_803BACA4 /* 80177954 001735B4 38 61 00 28 */ addi r3, r1, 0x28 /* 80177958 001735B8 38 81 00 40 */ addi r4, r1, 0x40 /* 8017795C 001735BC 38 A0 00 0C */ li r5, 0xc /* 80177960 001735C0 4B FF F7 21 */ bl func_80177080 /* 80177964 001735C4 38 81 00 28 */ addi r4, r1, 0x28 /* 80177968 001735C8 38 60 00 15 */ li r3, 0x15 /* 8017796C 001735CC 4B FE 49 9D */ bl func_8015C308 /* 80177970 001735D0 38 81 01 58 */ addi r4, r1, 0x158 /* 80177974 001735D4 38 60 2E CB */ li r3, 0x2ecb /* 80177978 001735D8 48 0D 8A 61 */ bl func_802503D8 /* 8017797C 001735DC 7E 63 9B 78 */ mr r3, r19 /* 80177980 001735E0 38 81 01 58 */ addi r4, r1, 0x158 /* 80177984 001735E4 4B FF 06 35 */ bl func_80167FB8 /* 80177988 001735E8 7C 6F 1B 78 */ mr r15, r3 /* 8017798C 001735EC 48 00 00 A0 */ b lbl_80177A2C /* 80177990 001735F0 7E 43 93 78 */ mr r3, r18 /* 80177994 001735F4 7F 24 CB 78 */ mr r4, r25 /* 80177998 001735F8 7E 26 8B 78 */ mr r6, r17 /* 8017799C 001735FC 38 A0 00 0C */ li r5, 0xc /* 801779A0 00173600 48 25 12 A9 */ bl func_803C8C48 /* 801779A4 00173604 7C 60 1B 78 */ mr r0, r3 /* 801779A8 00173608 7F 23 CB 78 */ mr r3, r25 /* 801779AC 0017360C 54 05 06 3E */ clrlwi r5, r0, 0x18 /* 801779B0 00173610 7E 24 8B 78 */ mr r4, r17 /* 801779B4 00173614 38 A5 00 05 */ addi r5, r5, 5 /* 801779B8 00173618 38 C0 00 00 */ li r6, 0 /* 801779BC 0017361C 48 24 32 E9 */ bl func_803BACA4 /* 801779C0 00173620 3C A0 80 64 */ lis r5, lbl_8063CE34@ha /* 801779C4 00173624 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 801779C8 00173628 38 A5 CE 34 */ addi r5, r5, lbl_8063CE34@l /* 801779CC 0017362C 38 65 00 18 */ addi r3, r5, 0x18 /* 801779D0 00173630 48 21 B3 71 */ bl func_80392D40 /* 801779D4 00173634 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 801779D8 00173638 38 81 00 08 */ addi r4, r1, 8 /* 801779DC 0017363C 48 0D 89 FD */ bl func_802503D8 /* 801779E0 00173640 38 81 00 08 */ addi r4, r1, 8 /* 801779E4 00173644 38 60 00 16 */ li r3, 0x16 /* 801779E8 00173648 4B FE 49 21 */ bl func_8015C308 /* 801779EC 0017364C 38 81 00 58 */ addi r4, r1, 0x58 /* 801779F0 00173650 38 60 2E CC */ li r3, 0x2ecc /* 801779F4 00173654 48 0D 89 E5 */ bl func_802503D8 /* 801779F8 00173658 7E 63 9B 78 */ mr r3, r19 /* 801779FC 0017365C 38 81 00 58 */ addi r4, r1, 0x58 /* 80177A00 00173660 56 25 07 BC */ rlwinm r5, r17, 0, 0x1e, 0x1e /* 80177A04 00173664 4B FF 05 CD */ bl func_80167FD0 /* 80177A08 00173668 7C 6F 1B 78 */ mr r15, r3 /* 80177A0C 0017366C 48 00 00 20 */ b lbl_80177A2C /* 80177A10 00173670 7E 63 9B 78 */ mr r3, r19 /* 80177A14 00173674 4B FF 06 41 */ bl func_80168054 /* 80177A18 00173678 7C 6F 1B 78 */ mr r15, r3 /* 80177A1C 0017367C 48 00 00 10 */ b lbl_80177A2C /* 80177A20 00173680 7E 63 9B 78 */ mr r3, r19 /* 80177A24 00173684 4B FF 06 51 */ bl func_80168074 /* 80177A28 00173688 7C 6F 1B 78 */ mr r15, r3 lbl_80177A2C: /* 80177A2C 0017368C 7D E3 7B 78 */ mr r3, r15 lbl_80177A30: /* 80177A30 00173690 39 61 02 A0 */ addi r11, r1, 0x2a0 /* 80177A34 00173694 48 04 F7 11 */ bl _restgpr_15 /* 80177A38 00173698 80 01 02 A4 */ lwz r0, 0x2a4(r1) /* 80177A3C 0017369C 7C 08 03 A6 */ mtlr r0 /* 80177A40 001736A0 38 21 02 A0 */ addi r1, r1, 0x2a0 /* 80177A44 001736A4 4E 80 00 20 */ blr .global func_80177A48 func_80177A48: /* 80177A48 001736A8 2C 05 00 04 */ cmpwi r5, 4 /* 80177A4C 001736AC 41 82 00 08 */ beq lbl_80177A54 /* 80177A50 001736B0 4E 80 00 20 */ blr lbl_80177A54: /* 80177A54 001736B4 4B FF 05 70 */ b func_80167FC4 /* 80177A58 001736B8 4E 80 00 20 */ blr .global func_80177A5C func_80177A5C: /* 80177A5C 001736BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80177A60 001736C0 7C 08 02 A6 */ mflr r0 /* 80177A64 001736C4 90 01 00 24 */ stw r0, 0x24(r1) /* 80177A68 001736C8 39 61 00 20 */ addi r11, r1, 0x20 /* 80177A6C 001736CC 48 04 F6 B9 */ bl _savegpr_26 /* 80177A70 001736D0 7C 7A 1B 78 */ mr r26, r3 /* 80177A74 001736D4 7C 9D 23 78 */ mr r29, r4 /* 80177A78 001736D8 7C BB 2B 78 */ mr r27, r5 /* 80177A7C 001736DC 7C DC 33 78 */ mr r28, r6 /* 80177A80 001736E0 3B C0 00 00 */ li r30, 0 /* 80177A84 001736E4 48 23 4D A5 */ bl func_803AC828 /* 80177A88 001736E8 48 23 4D B9 */ bl func_803AC840 /* 80177A8C 001736EC 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c /* 80177A90 001736F0 57 BF 07 FE */ clrlwi r31, r29, 0x1f /* 80177A94 001736F4 41 82 00 08 */ beq lbl_80177A9C /* 80177A98 001736F8 57 BF 06 3E */ clrlwi r31, r29, 0x18 lbl_80177A9C: /* 80177A9C 001736FC 2C 1B 30 BB */ cmpwi r27, 0x30bb /* 80177AA0 00173700 41 82 00 28 */ beq lbl_80177AC8 /* 80177AA4 00173704 40 80 00 18 */ bge lbl_80177ABC /* 80177AA8 00173708 2C 1B 2E D4 */ cmpwi r27, 0x2ed4 /* 80177AAC 0017370C 40 80 01 0C */ bge lbl_80177BB8 /* 80177AB0 00173710 2C 1B 2E D1 */ cmpwi r27, 0x2ed1 /* 80177AB4 00173714 40 80 00 14 */ bge lbl_80177AC8 /* 80177AB8 00173718 48 00 01 00 */ b lbl_80177BB8 lbl_80177ABC: /* 80177ABC 0017371C 2C 1B 50 5A */ cmpwi r27, 0x505a /* 80177AC0 00173720 41 82 00 7C */ beq lbl_80177B3C /* 80177AC4 00173724 48 00 00 F4 */ b lbl_80177BB8 lbl_80177AC8: /* 80177AC8 00173728 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177ACC 0017372C 38 80 01 34 */ li r4, 0x134 /* 80177AD0 00173730 48 06 31 C5 */ bl func_801DAC94 /* 80177AD4 00173734 2C 03 00 00 */ cmpwi r3, 0 /* 80177AD8 00173738 7C 7D 1B 78 */ mr r29, r3 /* 80177ADC 0017373C 41 82 00 DC */ beq lbl_80177BB8 /* 80177AE0 00173740 7F 83 E3 78 */ mr r3, r28 /* 80177AE4 00173744 48 26 46 B9 */ bl func_803DC19C /* 80177AE8 00173748 38 BD 00 1A */ addi r5, r29, 0x1a /* 80177AEC 0017374C 38 80 00 74 */ li r4, 0x74 /* 80177AF0 00173750 48 26 34 0D */ bl func_803DAEFC /* 80177AF4 00173754 7F A3 EB 78 */ mr r3, r29 /* 80177AF8 00173758 38 9D 00 1A */ addi r4, r29, 0x1a /* 80177AFC 0017375C 38 A0 00 0C */ li r5, 0xc /* 80177B00 00173760 4B FF F5 81 */ bl func_80177080 /* 80177B04 00173764 7F A4 EB 78 */ mr r4, r29 /* 80177B08 00173768 38 60 00 1D */ li r3, 0x1d /* 80177B0C 0017376C 4B FE 47 FD */ bl func_8015C308 /* 80177B10 00173770 7F 63 DB 78 */ mr r3, r27 /* 80177B14 00173774 38 9D 00 34 */ addi r4, r29, 0x34 /* 80177B18 00173778 48 0D 88 C1 */ bl func_802503D8 /* 80177B1C 0017377C 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80177B20 00173780 38 9D 00 34 */ addi r4, r29, 0x34 /* 80177B24 00173784 4B FF 04 A1 */ bl func_80167FC4 /* 80177B28 00173788 7C 7E 1B 78 */ mr r30, r3 /* 80177B2C 0017378C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177B30 00173790 7F A4 EB 78 */ mr r4, r29 /* 80177B34 00173794 48 06 32 15 */ bl func_801DAD48 /* 80177B38 00173798 48 00 00 80 */ b lbl_80177BB8 lbl_80177B3C: /* 80177B3C 0017379C 7F 43 D3 78 */ mr r3, r26 /* 80177B40 001737A0 7F A4 EB 78 */ mr r4, r29 /* 80177B44 001737A4 48 23 51 F5 */ bl func_803ACD38 /* 80177B48 001737A8 7C 7D 1B 78 */ mr r29, r3 /* 80177B4C 001737AC 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177B50 001737B0 38 80 01 10 */ li r4, 0x110 /* 80177B54 001737B4 48 06 31 41 */ bl func_801DAC94 /* 80177B58 001737B8 2C 03 00 00 */ cmpwi r3, 0 /* 80177B5C 001737BC 7C 7C 1B 78 */ mr r28, r3 /* 80177B60 001737C0 41 82 00 58 */ beq lbl_80177BB8 /* 80177B64 001737C4 7F 43 D3 78 */ mr r3, r26 /* 80177B68 001737C8 7F A4 EB 78 */ mr r4, r29 /* 80177B6C 001737CC 48 23 4F C5 */ bl func_803ACB30 /* 80177B70 001737D0 7C 64 1B 78 */ mr r4, r3 /* 80177B74 001737D4 7F 83 E3 78 */ mr r3, r28 /* 80177B78 001737D8 38 84 00 14 */ addi r4, r4, 0x14 /* 80177B7C 001737DC 38 A0 00 08 */ li r5, 8 /* 80177B80 001737E0 4B FF F5 01 */ bl func_80177080 /* 80177B84 001737E4 7F 84 E3 78 */ mr r4, r28 /* 80177B88 001737E8 38 60 00 51 */ li r3, 0x51 /* 80177B8C 001737EC 4B FE 47 7D */ bl func_8015C308 /* 80177B90 001737F0 7F 63 DB 78 */ mr r3, r27 /* 80177B94 001737F4 38 9C 00 10 */ addi r4, r28, 0x10 /* 80177B98 001737F8 48 0D 88 41 */ bl func_802503D8 /* 80177B9C 001737FC 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80177BA0 00173800 38 9C 00 10 */ addi r4, r28, 0x10 /* 80177BA4 00173804 4B FF 04 21 */ bl func_80167FC4 /* 80177BA8 00173808 7C 7E 1B 78 */ mr r30, r3 /* 80177BAC 0017380C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80177BB0 00173810 7F 84 E3 78 */ mr r4, r28 /* 80177BB4 00173814 48 06 31 95 */ bl func_801DAD48 lbl_80177BB8: /* 80177BB8 00173818 39 61 00 20 */ addi r11, r1, 0x20 /* 80177BBC 0017381C 7F C3 F3 78 */ mr r3, r30 /* 80177BC0 00173820 48 04 F5 B1 */ bl _restgpr_26 /* 80177BC4 00173824 80 01 00 24 */ lwz r0, 0x24(r1) /* 80177BC8 00173828 7C 08 03 A6 */ mtlr r0 /* 80177BCC 0017382C 38 21 00 20 */ addi r1, r1, 0x20 /* 80177BD0 00173830 4E 80 00 20 */ blr .global func_80177BD4 func_80177BD4: /* 80177BD4 00173834 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 80177BD8 00173838 4B FE FF 58 */ b func_80167B30 .global func_80177BDC func_80177BDC: /* 80177BDC 0017383C 2C 04 00 0A */ cmpwi r4, 0xa /* 80177BE0 00173840 41 82 00 18 */ beq lbl_80177BF8 /* 80177BE4 00173844 4C 80 00 20 */ bgelr /* 80177BE8 00173848 2C 04 00 09 */ cmpwi r4, 9 /* 80177BEC 0017384C 4D 80 00 20 */ bltlr /* 80177BF0 00173850 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 80177BF4 00173854 4B FF 04 70 */ b func_80168064 lbl_80177BF8: /* 80177BF8 00173858 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 80177BFC 0017385C 4B FF 04 78 */ b func_80168074 /* 80177C00 00173860 4E 80 00 20 */ blr .global func_80177C04 func_80177C04: /* 80177C04 00173864 38 A0 00 01 */ li r5, 1 /* 80177C08 00173868 38 6D 9F 50 */ addi r3, r13, lbl_8063F210-_SDA_BASE_ /* 80177C0C 0017386C 38 80 00 04 */ li r4, 4 /* 80177C10 00173870 38 00 00 00 */ li r0, 0 /* 80177C14 00173874 98 AD 9F 50 */ stb r5, lbl_8063F210-_SDA_BASE_(r13) /* 80177C18 00173878 B0 83 00 02 */ sth r4, 2(r3) /* 80177C1C 0017387C 98 03 00 04 */ stb r0, 4(r3) /* 80177C20 00173880 4E 80 00 20 */ blr