.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80164FA0 func_80164FA0: /* 80164FA0 00160C00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80164FA4 00160C04 7C 08 02 A6 */ mflr r0 /* 80164FA8 00160C08 90 01 00 14 */ stw r0, 0x14(r1) /* 80164FAC 00160C0C 4B FF DB C5 */ bl func_80162B70 /* 80164FB0 00160C10 2C 03 00 07 */ cmpwi r3, 7 /* 80164FB4 00160C14 41 82 00 1C */ beq lbl_80164FD0 /* 80164FB8 00160C18 40 80 00 20 */ bge lbl_80164FD8 /* 80164FBC 00160C1C 2C 03 00 05 */ cmpwi r3, 5 /* 80164FC0 00160C20 40 80 00 08 */ bge lbl_80164FC8 /* 80164FC4 00160C24 48 00 00 14 */ b lbl_80164FD8 lbl_80164FC8: /* 80164FC8 00160C28 38 60 00 01 */ li r3, 1 /* 80164FCC 00160C2C 48 00 00 10 */ b lbl_80164FDC lbl_80164FD0: /* 80164FD0 00160C30 38 60 00 00 */ li r3, 0 /* 80164FD4 00160C34 48 00 00 08 */ b lbl_80164FDC lbl_80164FD8: /* 80164FD8 00160C38 38 60 00 00 */ li r3, 0 lbl_80164FDC: /* 80164FDC 00160C3C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80164FE0 00160C40 7C 08 03 A6 */ mtlr r0 /* 80164FE4 00160C44 38 21 00 10 */ addi r1, r1, 0x10 /* 80164FE8 00160C48 4E 80 00 20 */ blr .global func_80164FEC func_80164FEC: /* 80164FEC 00160C4C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80164FF0 00160C50 7C 08 02 A6 */ mflr r0 /* 80164FF4 00160C54 90 01 00 14 */ stw r0, 0x14(r1) /* 80164FF8 00160C58 93 E1 00 0C */ stw r31, 0xc(r1) /* 80164FFC 00160C5C 7C 9F 23 78 */ mr r31, r4 /* 80165000 00160C60 93 C1 00 08 */ stw r30, 8(r1) /* 80165004 00160C64 7C 7E 1B 78 */ mr r30, r3 /* 80165008 00160C68 48 0F 8F C9 */ bl func_8025DFD0 /* 8016500C 00160C6C 48 0F 93 11 */ bl func_8025E31C /* 80165010 00160C70 81 83 00 00 */ lwz r12, 0(r3) /* 80165014 00160C74 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80165018 00160C78 7D 89 03 A6 */ mtctr r12 /* 8016501C 00160C7C 4E 80 04 21 */ bctrl /* 80165020 00160C80 2C 03 00 00 */ cmpwi r3, 0 /* 80165024 00160C84 41 82 00 1C */ beq lbl_80165040 /* 80165028 00160C88 48 0F 8F A9 */ bl func_8025DFD0 /* 8016502C 00160C8C 48 0F 92 F1 */ bl func_8025E31C /* 80165030 00160C90 7F C4 F3 78 */ mr r4, r30 /* 80165034 00160C94 7F E5 FB 78 */ mr r5, r31 /* 80165038 00160C98 48 10 0D F5 */ bl func_80265E2C /* 8016503C 00160C9C 48 00 00 1C */ b lbl_80165058 lbl_80165040: /* 80165040 00160CA0 48 0F 8F 91 */ bl func_8025DFD0 /* 80165044 00160CA4 48 0F 92 D9 */ bl func_8025E31C /* 80165048 00160CA8 7F C4 F3 78 */ mr r4, r30 /* 8016504C 00160CAC 7F E5 FB 78 */ mr r5, r31 /* 80165050 00160CB0 48 0F 98 1D */ bl func_8025E86C /* 80165054 00160CB4 38 60 00 00 */ li r3, 0 lbl_80165058: /* 80165058 00160CB8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8016505C 00160CBC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80165060 00160CC0 83 C1 00 08 */ lwz r30, 8(r1) /* 80165064 00160CC4 7C 08 03 A6 */ mtlr r0 /* 80165068 00160CC8 38 21 00 10 */ addi r1, r1, 0x10 /* 8016506C 00160CCC 4E 80 00 20 */ blr .global func_80165070 func_80165070: /* 80165070 00160CD0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80165074 00160CD4 7C 08 02 A6 */ mflr r0 /* 80165078 00160CD8 90 01 00 14 */ stw r0, 0x14(r1) /* 8016507C 00160CDC 4B FF FF 25 */ bl func_80164FA0 /* 80165080 00160CE0 2C 03 00 00 */ cmpwi r3, 0 /* 80165084 00160CE4 41 82 00 14 */ beq lbl_80165098 /* 80165088 00160CE8 48 0F 8F 49 */ bl func_8025DFD0 /* 8016508C 00160CEC 48 0F 92 91 */ bl func_8025E31C /* 80165090 00160CF0 48 0F F4 61 */ bl func_802644F0 /* 80165094 00160CF4 48 00 00 08 */ b lbl_8016509C lbl_80165098: /* 80165098 00160CF8 38 60 00 00 */ li r3, 0 lbl_8016509C: /* 8016509C 00160CFC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801650A0 00160D00 7C 08 03 A6 */ mtlr r0 /* 801650A4 00160D04 38 21 00 10 */ addi r1, r1, 0x10 /* 801650A8 00160D08 4E 80 00 20 */ blr .global func_801650AC func_801650AC: /* 801650AC 00160D0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801650B0 00160D10 7C 08 02 A6 */ mflr r0 /* 801650B4 00160D14 90 01 00 14 */ stw r0, 0x14(r1) /* 801650B8 00160D18 4B FF FE E9 */ bl func_80164FA0 /* 801650BC 00160D1C 2C 03 00 00 */ cmpwi r3, 0 /* 801650C0 00160D20 40 82 00 0C */ bne lbl_801650CC /* 801650C4 00160D24 38 60 00 00 */ li r3, 0 /* 801650C8 00160D28 48 00 00 38 */ b lbl_80165100 lbl_801650CC: /* 801650CC 00160D2C 48 0F 8F 05 */ bl func_8025DFD0 /* 801650D0 00160D30 48 0F 92 4D */ bl func_8025E31C /* 801650D4 00160D34 48 0F F4 1D */ bl func_802644F0 /* 801650D8 00160D38 2C 03 00 00 */ cmpwi r3, 0 /* 801650DC 00160D3C 41 82 00 0C */ beq lbl_801650E8 /* 801650E0 00160D40 38 60 00 01 */ li r3, 1 /* 801650E4 00160D44 48 00 00 1C */ b lbl_80165100 lbl_801650E8: /* 801650E8 00160D48 48 0F 8E E9 */ bl func_8025DFD0 /* 801650EC 00160D4C 48 0F 92 31 */ bl func_8025E31C /* 801650F0 00160D50 81 83 00 00 */ lwz r12, 0(r3) /* 801650F4 00160D54 81 8C 00 20 */ lwz r12, 0x20(r12) /* 801650F8 00160D58 7D 89 03 A6 */ mtctr r12 /* 801650FC 00160D5C 4E 80 04 21 */ bctrl lbl_80165100: /* 80165100 00160D60 80 01 00 14 */ lwz r0, 0x14(r1) /* 80165104 00160D64 7C 08 03 A6 */ mtlr r0 /* 80165108 00160D68 38 21 00 10 */ addi r1, r1, 0x10 /* 8016510C 00160D6C 4E 80 00 20 */ blr .global func_80165110 func_80165110: /* 80165110 00160D70 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80165114 00160D74 7C 08 02 A6 */ mflr r0 /* 80165118 00160D78 90 01 00 14 */ stw r0, 0x14(r1) /* 8016511C 00160D7C 48 0F 8E B5 */ bl func_8025DFD0 /* 80165120 00160D80 48 0F 91 FD */ bl func_8025E31C /* 80165124 00160D84 48 0F F7 D9 */ bl func_802648FC /* 80165128 00160D88 80 01 00 14 */ lwz r0, 0x14(r1) /* 8016512C 00160D8C 7C 08 03 A6 */ mtlr r0 /* 80165130 00160D90 38 21 00 10 */ addi r1, r1, 0x10 /* 80165134 00160D94 4E 80 00 20 */ blr .global func_80165138 func_80165138: /* 80165138 00160D98 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8016513C 00160D9C 7C 08 02 A6 */ mflr r0 /* 80165140 00160DA0 90 01 00 14 */ stw r0, 0x14(r1) /* 80165144 00160DA4 48 0F 8E 8D */ bl func_8025DFD0 /* 80165148 00160DA8 48 0F 91 D5 */ bl func_8025E31C /* 8016514C 00160DAC 48 0F F4 A1 */ bl func_802645EC /* 80165150 00160DB0 7C 03 00 D0 */ neg r0, r3 /* 80165154 00160DB4 7C 00 1B 78 */ or r0, r0, r3 /* 80165158 00160DB8 54 03 0F FE */ srwi r3, r0, 0x1f /* 8016515C 00160DBC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80165160 00160DC0 7C 08 03 A6 */ mtlr r0 /* 80165164 00160DC4 38 21 00 10 */ addi r1, r1, 0x10 /* 80165168 00160DC8 4E 80 00 20 */ blr .global func_8016516C func_8016516C: /* 8016516C 00160DCC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80165170 00160DD0 7C 08 02 A6 */ mflr r0 /* 80165174 00160DD4 90 01 00 14 */ stw r0, 0x14(r1) /* 80165178 00160DD8 48 0F 8E 59 */ bl func_8025DFD0 /* 8016517C 00160DDC 48 0F 91 A1 */ bl func_8025E31C /* 80165180 00160DE0 81 83 00 00 */ lwz r12, 0(r3) /* 80165184 00160DE4 81 8C 00 48 */ lwz r12, 0x48(r12) /* 80165188 00160DE8 7D 89 03 A6 */ mtctr r12 /* 8016518C 00160DEC 4E 80 04 21 */ bctrl /* 80165190 00160DF0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80165194 00160DF4 7C 08 03 A6 */ mtlr r0 /* 80165198 00160DF8 38 21 00 10 */ addi r1, r1, 0x10 /* 8016519C 00160DFC 4E 80 00 20 */ blr .global func_801651A0 func_801651A0: /* 801651A0 00160E00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801651A4 00160E04 7C 08 02 A6 */ mflr r0 /* 801651A8 00160E08 90 01 00 14 */ stw r0, 0x14(r1) /* 801651AC 00160E0C 48 0F 8E 25 */ bl func_8025DFD0 /* 801651B0 00160E10 48 0F 91 6D */ bl func_8025E31C /* 801651B4 00160E14 81 83 00 00 */ lwz r12, 0(r3) /* 801651B8 00160E18 81 8C 00 44 */ lwz r12, 0x44(r12) /* 801651BC 00160E1C 7D 89 03 A6 */ mtctr r12 /* 801651C0 00160E20 4E 80 04 21 */ bctrl /* 801651C4 00160E24 80 01 00 14 */ lwz r0, 0x14(r1) /* 801651C8 00160E28 7C 08 03 A6 */ mtlr r0 /* 801651CC 00160E2C 38 21 00 10 */ addi r1, r1, 0x10 /* 801651D0 00160E30 4E 80 00 20 */ blr .global func_801651D4 func_801651D4: /* 801651D4 00160E34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801651D8 00160E38 7C 08 02 A6 */ mflr r0 /* 801651DC 00160E3C 90 01 00 14 */ stw r0, 0x14(r1) /* 801651E0 00160E40 48 0F 8D F1 */ bl func_8025DFD0 /* 801651E4 00160E44 48 0F 91 39 */ bl func_8025E31C /* 801651E8 00160E48 48 10 1D 95 */ bl func_80266F7C /* 801651EC 00160E4C 2C 03 00 00 */ cmpwi r3, 0 /* 801651F0 00160E50 40 81 00 14 */ ble lbl_80165204 /* 801651F4 00160E54 48 0F 8D DD */ bl func_8025DFD0 /* 801651F8 00160E58 48 0F 91 25 */ bl func_8025E31C /* 801651FC 00160E5C 48 10 1D 81 */ bl func_80266F7C /* 80165200 00160E60 48 00 00 14 */ b lbl_80165214 lbl_80165204: /* 80165204 00160E64 48 0F 8D CD */ bl func_8025DFD0 /* 80165208 00160E68 48 0F 91 15 */ bl func_8025E31C /* 8016520C 00160E6C 48 10 1D 71 */ bl func_80266F7C /* 80165210 00160E70 7C 63 00 D0 */ neg r3, r3 lbl_80165214: /* 80165214 00160E74 80 01 00 14 */ lwz r0, 0x14(r1) /* 80165218 00160E78 7C 08 03 A6 */ mtlr r0 /* 8016521C 00160E7C 38 21 00 10 */ addi r1, r1, 0x10 /* 80165220 00160E80 4E 80 00 20 */ blr .global func_80165224 func_80165224: /* 80165224 00160E84 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80165228 00160E88 7C 08 02 A6 */ mflr r0 /* 8016522C 00160E8C 90 01 00 14 */ stw r0, 0x14(r1) /* 80165230 00160E90 48 0F 8D A1 */ bl func_8025DFD0 /* 80165234 00160E94 48 0F 90 E9 */ bl func_8025E31C /* 80165238 00160E98 81 83 00 00 */ lwz r12, 0(r3) /* 8016523C 00160E9C 81 8C 00 3C */ lwz r12, 0x3c(r12) /* 80165240 00160EA0 7D 89 03 A6 */ mtctr r12 /* 80165244 00160EA4 4E 80 04 21 */ bctrl /* 80165248 00160EA8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8016524C 00160EAC 7C 08 03 A6 */ mtlr r0 /* 80165250 00160EB0 38 21 00 10 */ addi r1, r1, 0x10 /* 80165254 00160EB4 4E 80 00 20 */ blr .global func_80165258 func_80165258: /* 80165258 00160EB8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8016525C 00160EBC 7C 08 02 A6 */ mflr r0 /* 80165260 00160EC0 90 01 00 14 */ stw r0, 0x14(r1) /* 80165264 00160EC4 4B FF FE 49 */ bl func_801650AC /* 80165268 00160EC8 2C 03 00 00 */ cmpwi r3, 0 /* 8016526C 00160ECC 41 82 00 20 */ beq lbl_8016528C /* 80165270 00160ED0 48 0F 8D 61 */ bl func_8025DFD0 /* 80165274 00160ED4 48 0F 90 A9 */ bl func_8025E31C /* 80165278 00160ED8 81 83 00 00 */ lwz r12, 0(r3) /* 8016527C 00160EDC 81 8C 00 24 */ lwz r12, 0x24(r12) /* 80165280 00160EE0 7D 89 03 A6 */ mtctr r12 /* 80165284 00160EE4 4E 80 04 21 */ bctrl /* 80165288 00160EE8 48 00 00 08 */ b lbl_80165290 lbl_8016528C: /* 8016528C 00160EEC 38 60 00 00 */ li r3, 0 lbl_80165290: /* 80165290 00160EF0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80165294 00160EF4 7C 08 03 A6 */ mtlr r0 /* 80165298 00160EF8 38 21 00 10 */ addi r1, r1, 0x10 /* 8016529C 00160EFC 4E 80 00 20 */ blr .global func_801652A0 func_801652A0: /* 801652A0 00160F00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801652A4 00160F04 7C 08 02 A6 */ mflr r0 /* 801652A8 00160F08 90 01 00 14 */ stw r0, 0x14(r1) /* 801652AC 00160F0C 4B FF FE 01 */ bl func_801650AC /* 801652B0 00160F10 2C 03 00 00 */ cmpwi r3, 0 /* 801652B4 00160F14 41 82 00 20 */ beq lbl_801652D4 /* 801652B8 00160F18 48 0F 8D 19 */ bl func_8025DFD0 /* 801652BC 00160F1C 48 0F 90 61 */ bl func_8025E31C /* 801652C0 00160F20 81 83 00 00 */ lwz r12, 0(r3) /* 801652C4 00160F24 81 8C 00 28 */ lwz r12, 0x28(r12) /* 801652C8 00160F28 7D 89 03 A6 */ mtctr r12 /* 801652CC 00160F2C 4E 80 04 21 */ bctrl /* 801652D0 00160F30 48 00 00 08 */ b lbl_801652D8 lbl_801652D4: /* 801652D4 00160F34 38 60 00 00 */ li r3, 0 lbl_801652D8: /* 801652D8 00160F38 80 01 00 14 */ lwz r0, 0x14(r1) /* 801652DC 00160F3C 7C 08 03 A6 */ mtlr r0 /* 801652E0 00160F40 38 21 00 10 */ addi r1, r1, 0x10 /* 801652E4 00160F44 4E 80 00 20 */ blr .global func_801652E8 func_801652E8: /* 801652E8 00160F48 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801652EC 00160F4C 7C 08 02 A6 */ mflr r0 /* 801652F0 00160F50 90 01 00 34 */ stw r0, 0x34(r1) /* 801652F4 00160F54 48 0F 8C DD */ bl func_8025DFD0 /* 801652F8 00160F58 48 0F 90 25 */ bl func_8025E31C /* 801652FC 00160F5C 38 81 00 08 */ addi r4, r1, 8 /* 80165300 00160F60 38 A0 00 08 */ li r5, 8 /* 80165304 00160F64 48 10 01 85 */ bl func_80265488 /* 80165308 00160F68 2C 03 00 00 */ cmpwi r3, 0 /* 8016530C 00160F6C 41 81 00 0C */ bgt lbl_80165318 /* 80165310 00160F70 38 60 FF FF */ li r3, -1 /* 80165314 00160F74 48 00 00 08 */ b lbl_8016531C lbl_80165318: /* 80165318 00160F78 80 61 00 08 */ lwz r3, 8(r1) lbl_8016531C: /* 8016531C 00160F7C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80165320 00160F80 7C 08 03 A6 */ mtlr r0 /* 80165324 00160F84 38 21 00 30 */ addi r1, r1, 0x30 /* 80165328 00160F88 4E 80 00 20 */ blr .global func_8016532C func_8016532C: /* 8016532C 00160F8C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80165330 00160F90 7C 08 02 A6 */ mflr r0 /* 80165334 00160F94 90 01 00 14 */ stw r0, 0x14(r1) /* 80165338 00160F98 48 0F 8C 99 */ bl func_8025DFD0 /* 8016533C 00160F9C 48 0F 8F E1 */ bl func_8025E31C /* 80165340 00160FA0 48 10 0A AD */ bl func_80265DEC /* 80165344 00160FA4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80165348 00160FA8 7C 08 03 A6 */ mtlr r0 /* 8016534C 00160FAC 38 21 00 10 */ addi r1, r1, 0x10 /* 80165350 00160FB0 4E 80 00 20 */ blr .global func_80165354 func_80165354: /* 80165354 00160FB4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80165358 00160FB8 7C 08 02 A6 */ mflr r0 /* 8016535C 00160FBC 90 01 00 14 */ stw r0, 0x14(r1) /* 80165360 00160FC0 4B FF FD 4D */ bl func_801650AC /* 80165364 00160FC4 2C 03 00 00 */ cmpwi r3, 0 /* 80165368 00160FC8 41 82 00 10 */ beq lbl_80165378 /* 8016536C 00160FCC 4B FF FE ED */ bl func_80165258 /* 80165370 00160FD0 2C 03 00 00 */ cmpwi r3, 0 /* 80165374 00160FD4 41 82 00 0C */ beq lbl_80165380 lbl_80165378: /* 80165378 00160FD8 38 60 FF FF */ li r3, -1 /* 8016537C 00160FDC 48 00 00 1C */ b lbl_80165398 lbl_80165380: /* 80165380 00160FE0 48 00 38 C9 */ bl func_80168C48 /* 80165384 00160FE4 48 00 41 1D */ bl func_801694A0 /* 80165388 00160FE8 48 0F 8C 49 */ bl func_8025DFD0 /* 8016538C 00160FEC 48 0F 8F 91 */ bl func_8025E31C /* 80165390 00160FF0 38 80 00 02 */ li r4, 2 /* 80165394 00160FF4 48 10 08 1D */ bl func_80265BB0 lbl_80165398: /* 80165398 00160FF8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8016539C 00160FFC 7C 08 03 A6 */ mtlr r0 /* 801653A0 00161000 38 21 00 10 */ addi r1, r1, 0x10 /* 801653A4 00161004 4E 80 00 20 */ blr .global func_801653A8 func_801653A8: /* 801653A8 00161008 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801653AC 0016100C 7C 08 02 A6 */ mflr r0 /* 801653B0 00161010 90 01 00 14 */ stw r0, 0x14(r1) /* 801653B4 00161014 93 E1 00 0C */ stw r31, 0xc(r1) /* 801653B8 00161018 7C 7F 1B 78 */ mr r31, r3 /* 801653BC 0016101C 4B FF FC F1 */ bl func_801650AC /* 801653C0 00161020 2C 03 00 00 */ cmpwi r3, 0 /* 801653C4 00161024 41 82 00 10 */ beq lbl_801653D4 /* 801653C8 00161028 4B FF FE 91 */ bl func_80165258 /* 801653CC 0016102C 2C 03 00 00 */ cmpwi r3, 0 /* 801653D0 00161030 41 82 00 0C */ beq lbl_801653DC lbl_801653D4: /* 801653D4 00161034 38 60 FF FF */ li r3, -1 /* 801653D8 00161038 48 00 00 1C */ b lbl_801653F4 lbl_801653DC: /* 801653DC 0016103C 48 00 38 6D */ bl func_80168C48 /* 801653E0 00161040 48 00 40 C1 */ bl func_801694A0 /* 801653E4 00161044 48 0F 8B ED */ bl func_8025DFD0 /* 801653E8 00161048 48 0F 8F 35 */ bl func_8025E31C /* 801653EC 0016104C 7F E4 FB 78 */ mr r4, r31 /* 801653F0 00161050 48 10 08 2D */ bl func_80265C1C lbl_801653F4: /* 801653F4 00161054 80 01 00 14 */ lwz r0, 0x14(r1) /* 801653F8 00161058 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801653FC 0016105C 7C 08 03 A6 */ mtlr r0 /* 80165400 00161060 38 21 00 10 */ addi r1, r1, 0x10 /* 80165404 00161064 4E 80 00 20 */ blr .global func_80165408 func_80165408: /* 80165408 00161068 7C 64 1B 78 */ mr r4, r3 /* 8016540C 0016106C 48 00 00 08 */ b lbl_80165414 lbl_80165410: /* 80165410 00161070 38 84 00 02 */ addi r4, r4, 2 lbl_80165414: /* 80165414 00161074 A0 04 00 00 */ lhz r0, 0(r4) /* 80165418 00161078 2C 00 00 00 */ cmpwi r0, 0 /* 8016541C 0016107C 40 82 FF F4 */ bne lbl_80165410 /* 80165420 00161080 7C 63 20 50 */ subf r3, r3, r4 /* 80165424 00161084 54 60 0F FE */ srwi r0, r3, 0x1f /* 80165428 00161088 7C 00 1A 14 */ add r0, r0, r3 /* 8016542C 0016108C 7C 03 0E 70 */ srawi r3, r0, 1 /* 80165430 00161090 4E 80 00 20 */ blr .global func_80165434 func_80165434: /* 80165434 00161094 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80165438 00161098 7C 08 02 A6 */ mflr r0 /* 8016543C 0016109C 90 01 00 44 */ stw r0, 0x44(r1) /* 80165440 001610A0 39 61 00 40 */ addi r11, r1, 0x40 /* 80165444 001610A4 48 06 1C E5 */ bl _savegpr_27 /* 80165448 001610A8 7C 7B 1B 78 */ mr r27, r3 /* 8016544C 001610AC 7C 9D 23 78 */ mr r29, r4 /* 80165450 001610B0 7C BC 2B 78 */ mr r28, r5 /* 80165454 001610B4 4B FF FC 59 */ bl func_801650AC /* 80165458 001610B8 2C 03 00 00 */ cmpwi r3, 0 /* 8016545C 001610BC 41 82 00 10 */ beq lbl_8016546C /* 80165460 001610C0 4B FF FD F9 */ bl func_80165258 /* 80165464 001610C4 2C 03 00 00 */ cmpwi r3, 0 /* 80165468 001610C8 41 82 00 0C */ beq lbl_80165474 lbl_8016546C: /* 8016546C 001610CC 38 60 FF FF */ li r3, -1 /* 80165470 001610D0 48 00 00 8C */ b lbl_801654FC lbl_80165474: /* 80165474 001610D4 2C 1D 00 0A */ cmpwi r29, 0xa /* 80165478 001610D8 40 80 00 0C */ bge lbl_80165484 /* 8016547C 001610DC 3B A0 00 0A */ li r29, 0xa /* 80165480 001610E0 48 00 00 0C */ b lbl_8016548C lbl_80165484: /* 80165484 001610E4 1C 1C 00 64 */ mulli r0, r28, 0x64 /* 80165488 001610E8 7F A0 EB D6 */ divw r29, r0, r29 lbl_8016548C: /* 8016548C 001610EC 80 0D 9D F4 */ lwz r0, lbl_8063F0B4-_SDA_BASE_(r13) /* 80165490 001610F0 2C 00 00 00 */ cmpwi r0, 0 /* 80165494 001610F4 41 82 00 08 */ beq lbl_8016549C /* 80165498 001610F8 3B A0 00 0A */ li r29, 0xa lbl_8016549C: /* 8016549C 001610FC 83 8D 9D F0 */ lwz r28, lbl_8063F0B0-_SDA_BASE_(r13) /* 801654A0 00161100 48 00 35 09 */ bl func_801689A8 /* 801654A4 00161104 7C 64 1B 78 */ mr r4, r3 /* 801654A8 00161108 38 61 00 08 */ addi r3, r1, 8 /* 801654AC 0016110C 38 A0 00 20 */ li r5, 0x20 /* 801654B0 00161110 48 01 1C 9D */ bl func_8017714C /* 801654B4 00161114 48 00 34 F5 */ bl func_801689A8 /* 801654B8 00161118 4B FF FF 51 */ bl func_80165408 /* 801654BC 0016111C 7C 7E 1B 78 */ mr r30, r3 /* 801654C0 00161120 48 00 34 E9 */ bl func_801689A8 /* 801654C4 00161124 7C 7F 1B 78 */ mr r31, r3 /* 801654C8 00161128 48 0F 8B 09 */ bl func_8025DFD0 /* 801654CC 0016112C 48 0F 8E 51 */ bl func_8025E31C /* 801654D0 00161130 7F E4 FB 78 */ mr r4, r31 /* 801654D4 00161134 7F C5 F3 78 */ mr r5, r30 /* 801654D8 00161138 48 10 09 55 */ bl func_80265E2C /* 801654DC 0016113C 48 00 37 6D */ bl func_80168C48 /* 801654E0 00161140 48 00 3F C1 */ bl func_801694A0 /* 801654E4 00161144 48 0F 8A ED */ bl func_8025DFD0 /* 801654E8 00161148 48 0F 8E 35 */ bl func_8025E31C /* 801654EC 0016114C 7F 64 DB 78 */ mr r4, r27 /* 801654F0 00161150 7F A5 EB 78 */ mr r5, r29 /* 801654F4 00161154 7F 86 E3 78 */ mr r6, r28 /* 801654F8 00161158 48 10 04 81 */ bl func_80265978 lbl_801654FC: /* 801654FC 0016115C 39 61 00 40 */ addi r11, r1, 0x40 /* 80165500 00161160 48 06 1C 75 */ bl _restgpr_27 /* 80165504 00161164 80 01 00 44 */ lwz r0, 0x44(r1) /* 80165508 00161168 7C 08 03 A6 */ mtlr r0 /* 8016550C 0016116C 38 21 00 40 */ addi r1, r1, 0x40 /* 80165510 00161170 4E 80 00 20 */ blr .global func_80165514 func_80165514: /* 80165514 00161174 38 A0 00 01 */ li r5, 1 /* 80165518 00161178 38 6D 9D E8 */ addi r3, r13, lbl_8063F0A8-_SDA_BASE_ /* 8016551C 0016117C 38 80 00 04 */ li r4, 4 /* 80165520 00161180 38 00 00 00 */ li r0, 0 /* 80165524 00161184 98 AD 9D E8 */ stb r5, lbl_8063F0A8-_SDA_BASE_(r13) /* 80165528 00161188 B0 83 00 02 */ sth r4, 2(r3) /* 8016552C 0016118C 98 03 00 04 */ stb r0, 4(r3) /* 80165530 00161190 4E 80 00 20 */ blr