.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_801679F8 func_801679F8: /* 801679F8 00163658 28 03 00 04 */ cmplwi r3, 4 /* 801679FC 0016365C 41 80 00 0C */ blt lbl_80167A08 /* 80167A00 00163660 38 60 FF FF */ li r3, -1 /* 80167A04 00163664 4E 80 00 20 */ blr lbl_80167A08: /* 80167A08 00163668 2C 04 00 00 */ cmpwi r4, 0 /* 80167A0C 0016366C 41 80 00 0C */ blt lbl_80167A18 /* 80167A10 00163670 2C 04 00 08 */ cmpwi r4, 8 /* 80167A14 00163674 41 80 00 0C */ blt lbl_80167A20 lbl_80167A18: /* 80167A18 00163678 38 60 FF FF */ li r3, -1 /* 80167A1C 0016367C 4E 80 00 20 */ blr lbl_80167A20: /* 80167A20 00163680 38 AD 9E 28 */ addi r5, r13, lbl_8063F0E8-_SDA_BASE_ /* 80167A24 00163684 7C 85 19 AE */ stbx r4, r5, r3 /* 80167A28 00163688 38 60 00 00 */ li r3, 0 /* 80167A2C 0016368C 4E 80 00 20 */ blr .global func_80167A30 func_80167A30: /* 80167A30 00163690 28 03 00 04 */ cmplwi r3, 4 /* 80167A34 00163694 41 80 00 0C */ blt lbl_80167A40 /* 80167A38 00163698 38 60 FF FF */ li r3, -1 /* 80167A3C 0016369C 4E 80 00 20 */ blr lbl_80167A40: /* 80167A40 001636A0 38 8D 9E 28 */ addi r4, r13, lbl_8063F0E8-_SDA_BASE_ /* 80167A44 001636A4 7C 64 18 AE */ lbzx r3, r4, r3 /* 80167A48 001636A8 2C 03 00 00 */ cmpwi r3, 0 /* 80167A4C 001636AC 41 80 00 0C */ blt lbl_80167A58 /* 80167A50 001636B0 2C 03 00 08 */ cmpwi r3, 8 /* 80167A54 001636B4 4D 80 00 20 */ bltlr lbl_80167A58: /* 80167A58 001636B8 38 60 FF FF */ li r3, -1 /* 80167A5C 001636BC 4E 80 00 20 */ blr .global func_80167A60 func_80167A60: /* 80167A60 001636C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80167A64 001636C4 7C 08 02 A6 */ mflr r0 /* 80167A68 001636C8 90 01 00 14 */ stw r0, 0x14(r1) /* 80167A6C 001636CC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80167A70 001636D0 3B E0 00 00 */ li r31, 0 lbl_80167A74: /* 80167A74 001636D4 7F E4 FB 78 */ mr r4, r31 /* 80167A78 001636D8 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 80167A7C 001636DC 4B FF FF 7D */ bl func_801679F8 /* 80167A80 001636E0 3B FF 00 01 */ addi r31, r31, 1 /* 80167A84 001636E4 2C 1F 00 04 */ cmpwi r31, 4 /* 80167A88 001636E8 41 80 FF EC */ blt lbl_80167A74 /* 80167A8C 001636EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80167A90 001636F0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80167A94 001636F4 7C 08 03 A6 */ mtlr r0 /* 80167A98 001636F8 38 21 00 10 */ addi r1, r1, 0x10 /* 80167A9C 001636FC 4E 80 00 20 */ blr .global func_80167AA0 func_80167AA0: /* 80167AA0 00163700 28 03 00 0F */ cmplwi r3, 0xf /* 80167AA4 00163704 41 81 00 84 */ bgt lbl_80167B28 /* 80167AA8 00163708 3C 80 80 42 */ lis r4, lbl_8041F550@ha /* 80167AAC 0016370C 54 60 10 3A */ slwi r0, r3, 2 /* 80167AB0 00163710 38 84 F5 50 */ addi r4, r4, lbl_8041F550@l /* 80167AB4 00163714 7C 84 00 2E */ lwzx r4, r4, r0 /* 80167AB8 00163718 7C 89 03 A6 */ mtctr r4 /* 80167ABC 0016371C 4E 80 04 20 */ bctr /* 80167AC0 00163720 38 60 00 00 */ li r3, 0 /* 80167AC4 00163724 4E 80 00 20 */ blr /* 80167AC8 00163728 38 60 00 01 */ li r3, 1 /* 80167ACC 0016372C 4E 80 00 20 */ blr /* 80167AD0 00163730 38 60 00 02 */ li r3, 2 /* 80167AD4 00163734 4E 80 00 20 */ blr /* 80167AD8 00163738 38 60 00 03 */ li r3, 3 /* 80167ADC 0016373C 4E 80 00 20 */ blr /* 80167AE0 00163740 38 60 00 04 */ li r3, 4 /* 80167AE4 00163744 4E 80 00 20 */ blr /* 80167AE8 00163748 38 60 00 0C */ li r3, 0xc /* 80167AEC 0016374C 4E 80 00 20 */ blr /* 80167AF0 00163750 38 60 00 05 */ li r3, 5 /* 80167AF4 00163754 4E 80 00 20 */ blr /* 80167AF8 00163758 38 60 00 06 */ li r3, 6 /* 80167AFC 0016375C 4E 80 00 20 */ blr /* 80167B00 00163760 38 60 00 07 */ li r3, 7 /* 80167B04 00163764 4E 80 00 20 */ blr /* 80167B08 00163768 38 60 00 08 */ li r3, 8 /* 80167B0C 0016376C 4E 80 00 20 */ blr /* 80167B10 00163770 38 60 00 09 */ li r3, 9 /* 80167B14 00163774 4E 80 00 20 */ blr /* 80167B18 00163778 38 60 00 0A */ li r3, 0xa /* 80167B1C 0016377C 4E 80 00 20 */ blr /* 80167B20 00163780 38 60 00 0B */ li r3, 0xb /* 80167B24 00163784 4E 80 00 20 */ blr lbl_80167B28: /* 80167B28 00163788 38 60 FF FF */ li r3, -1 /* 80167B2C 0016378C 4E 80 00 20 */ blr .global func_80167B30 func_80167B30: /* 80167B30 00163790 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167B34 00163794 7C 08 02 A6 */ mflr r0 /* 80167B38 00163798 90 01 00 24 */ stw r0, 0x24(r1) /* 80167B3C 0016379C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167B40 001637A0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167B44 001637A4 7C 9E 23 78 */ mr r30, r4 /* 80167B48 001637A8 4B FF FE E9 */ bl func_80167A30 /* 80167B4C 001637AC 2C 03 00 00 */ cmpwi r3, 0 /* 80167B50 001637B0 7C 7F 1B 78 */ mr r31, r3 /* 80167B54 001637B4 41 80 00 40 */ blt lbl_80167B94 /* 80167B58 001637B8 4B FF D1 15 */ bl func_80164C6C /* 80167B5C 001637BC 2C 03 00 00 */ cmpwi r3, 0 /* 80167B60 001637C0 41 82 00 34 */ beq lbl_80167B94 /* 80167B64 001637C4 57 C5 C4 2E */ rlwinm r5, r30, 0x18, 0x10, 0x17 /* 80167B68 001637C8 57 C0 42 1E */ rlwinm r0, r30, 8, 8, 0xf /* 80167B6C 001637CC 53 C5 46 3E */ rlwimi r5, r30, 8, 0x18, 0x1f /* 80167B70 001637D0 3C 80 80 42 */ lis r4, lbl_8041F590@ha /* 80167B74 001637D4 53 C0 C0 0E */ rlwimi r0, r30, 0x18, 0, 7 /* 80167B78 001637D8 7F E3 FB 78 */ mr r3, r31 /* 80167B7C 001637DC 7C A0 03 78 */ or r0, r5, r0 /* 80167B80 001637E0 38 84 F5 90 */ addi r4, r4, lbl_8041F590@l /* 80167B84 001637E4 90 01 00 08 */ stw r0, 8(r1) /* 80167B88 001637E8 38 A1 00 08 */ addi r5, r1, 8 /* 80167B8C 001637EC 38 C0 00 04 */ li r6, 4 /* 80167B90 001637F0 4B FF CC 95 */ bl func_80164824 lbl_80167B94: /* 80167B94 001637F4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80167B98 001637F8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80167B9C 001637FC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80167BA0 00163800 7C 08 03 A6 */ mtlr r0 /* 80167BA4 00163804 38 21 00 20 */ addi r1, r1, 0x20 /* 80167BA8 00163808 4E 80 00 20 */ blr .global func_80167BAC func_80167BAC: /* 80167BAC 0016380C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167BB0 00163810 7C 08 02 A6 */ mflr r0 /* 80167BB4 00163814 90 01 00 24 */ stw r0, 0x24(r1) /* 80167BB8 00163818 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167BBC 0016381C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167BC0 00163820 7C BE 2B 78 */ mr r30, r5 /* 80167BC4 00163824 93 A1 00 14 */ stw r29, 0x14(r1) /* 80167BC8 00163828 7C 9D 23 78 */ mr r29, r4 /* 80167BCC 0016382C 4B FF FE 65 */ bl func_80167A30 /* 80167BD0 00163830 2C 03 00 00 */ cmpwi r3, 0 /* 80167BD4 00163834 7C 7F 1B 78 */ mr r31, r3 /* 80167BD8 00163838 41 80 00 58 */ blt lbl_80167C30 /* 80167BDC 0016383C 4B FF D0 91 */ bl func_80164C6C /* 80167BE0 00163840 2C 03 00 00 */ cmpwi r3, 0 /* 80167BE4 00163844 41 82 00 4C */ beq lbl_80167C30 /* 80167BE8 00163848 38 80 FF FF */ li r4, -1 /* 80167BEC 0016384C 4B FF F0 29 */ bl func_80166C14 /* 80167BF0 00163850 7F A3 EB 78 */ mr r3, r29 /* 80167BF4 00163854 4B FF FE AD */ bl func_80167AA0 /* 80167BF8 00163858 54 64 44 2E */ rlwinm r4, r3, 8, 0x10, 0x17 /* 80167BFC 0016385C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f /* 80167C00 00163860 7C A4 02 14 */ add r5, r4, r0 /* 80167C04 00163864 57 C3 44 2E */ rlwinm r3, r30, 8, 0x10, 0x17 /* 80167C08 00163868 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f /* 80167C0C 0016386C 3C 80 80 42 */ lis r4, lbl_8041F5A4@ha /* 80167C10 00163870 7C 03 02 14 */ add r0, r3, r0 /* 80167C14 00163874 B0 A1 00 08 */ sth r5, 8(r1) /* 80167C18 00163878 7F E3 FB 78 */ mr r3, r31 /* 80167C1C 0016387C 38 84 F5 A4 */ addi r4, r4, lbl_8041F5A4@l /* 80167C20 00163880 B0 01 00 0A */ sth r0, 0xa(r1) /* 80167C24 00163884 38 A1 00 08 */ addi r5, r1, 8 /* 80167C28 00163888 38 C0 00 04 */ li r6, 4 /* 80167C2C 0016388C 4B FF CB F9 */ bl func_80164824 lbl_80167C30: /* 80167C30 00163890 80 01 00 24 */ lwz r0, 0x24(r1) /* 80167C34 00163894 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80167C38 00163898 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80167C3C 0016389C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80167C40 001638A0 7C 08 03 A6 */ mtlr r0 /* 80167C44 001638A4 38 21 00 20 */ addi r1, r1, 0x20 /* 80167C48 001638A8 4E 80 00 20 */ blr .global func_80167C4C func_80167C4C: /* 80167C4C 001638AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80167C50 001638B0 7C 08 02 A6 */ mflr r0 /* 80167C54 001638B4 90 01 00 14 */ stw r0, 0x14(r1) /* 80167C58 001638B8 4B FF FD D9 */ bl func_80167A30 /* 80167C5C 001638BC 2C 03 00 00 */ cmpwi r3, 0 /* 80167C60 001638C0 40 80 00 0C */ bge lbl_80167C6C /* 80167C64 001638C4 38 60 00 07 */ li r3, 7 /* 80167C68 001638C8 48 00 00 1C */ b lbl_80167C84 lbl_80167C6C: /* 80167C6C 001638CC 4B FF D0 01 */ bl func_80164C6C /* 80167C70 001638D0 2C 03 00 00 */ cmpwi r3, 0 /* 80167C74 001638D4 40 82 00 0C */ bne lbl_80167C80 /* 80167C78 001638D8 38 60 00 07 */ li r3, 7 /* 80167C7C 001638DC 48 00 00 08 */ b lbl_80167C84 lbl_80167C80: /* 80167C80 001638E0 4B FF EF 9D */ bl func_80166C1C lbl_80167C84: /* 80167C84 001638E4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80167C88 001638E8 7C 08 03 A6 */ mtlr r0 /* 80167C8C 001638EC 38 21 00 10 */ addi r1, r1, 0x10 /* 80167C90 001638F0 4E 80 00 20 */ blr .global func_80167C94 func_80167C94: /* 80167C94 001638F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167C98 001638F8 7C 08 02 A6 */ mflr r0 /* 80167C9C 001638FC 90 01 00 24 */ stw r0, 0x24(r1) /* 80167CA0 00163900 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167CA4 00163904 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167CA8 00163908 7C 7E 1B 78 */ mr r30, r3 /* 80167CAC 0016390C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80167CB0 00163910 7C 9D 23 78 */ mr r29, r4 /* 80167CB4 00163914 4B FF FD 7D */ bl func_80167A30 /* 80167CB8 00163918 2C 03 00 00 */ cmpwi r3, 0 /* 80167CBC 0016391C 7C 7F 1B 78 */ mr r31, r3 /* 80167CC0 00163920 40 80 00 0C */ bge lbl_80167CCC /* 80167CC4 00163924 38 60 00 07 */ li r3, 7 /* 80167CC8 00163928 48 00 00 7C */ b lbl_80167D44 lbl_80167CCC: /* 80167CCC 0016392C 3C A0 80 42 */ lis r5, lbl_8041F5BC@ha /* 80167CD0 00163930 80 9D 00 00 */ lwz r4, 0(r29) /* 80167CD4 00163934 7F C3 F3 78 */ mr r3, r30 /* 80167CD8 00163938 38 A5 F5 BC */ addi r5, r5, lbl_8041F5BC@l /* 80167CDC 0016393C 48 00 00 85 */ bl func_80167D60 /* 80167CE0 00163940 48 0F 62 F1 */ bl func_8025DFD0 /* 80167CE4 00163944 38 80 16 20 */ li r4, 0x1620 /* 80167CE8 00163948 48 0F 62 D9 */ bl func_8025DFC0 /* 80167CEC 0016394C 2C 03 00 00 */ cmpwi r3, 0 /* 80167CF0 00163950 7C 7E 1B 78 */ mr r30, r3 /* 80167CF4 00163954 40 82 00 0C */ bne lbl_80167D00 /* 80167CF8 00163958 38 60 00 07 */ li r3, 7 /* 80167CFC 0016395C 48 00 00 48 */ b lbl_80167D44 lbl_80167D00: /* 80167D00 00163960 7F A3 EB 78 */ mr r3, r29 /* 80167D04 00163964 7F C4 F3 78 */ mr r4, r30 /* 80167D08 00163968 48 00 08 7D */ bl func_80168584 /* 80167D0C 0016396C 3C 80 80 42 */ lis r4, lbl_8041F5DC@ha /* 80167D10 00163970 7F E3 FB 78 */ mr r3, r31 /* 80167D14 00163974 7F C5 F3 78 */ mr r5, r30 /* 80167D18 00163978 38 C0 16 20 */ li r6, 0x1620 /* 80167D1C 0016397C 38 84 F5 DC */ addi r4, r4, lbl_8041F5DC@l /* 80167D20 00163980 4B FF CC 51 */ bl func_80164970 /* 80167D24 00163984 7C 7F 1B 78 */ mr r31, r3 /* 80167D28 00163988 48 0F 62 A9 */ bl func_8025DFD0 /* 80167D2C 0016398C 7F C4 F3 78 */ mr r4, r30 /* 80167D30 00163990 48 0F 62 99 */ bl func_8025DFC8 /* 80167D34 00163994 7C 1F 00 D0 */ neg r0, r31 /* 80167D38 00163998 7C 00 FB 78 */ or r0, r0, r31 /* 80167D3C 0016399C 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80167D40 001639A0 54 03 07 7E */ clrlwi r3, r0, 0x1d lbl_80167D44: /* 80167D44 001639A4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80167D48 001639A8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80167D4C 001639AC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80167D50 001639B0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80167D54 001639B4 7C 08 03 A6 */ mtlr r0 /* 80167D58 001639B8 38 21 00 20 */ addi r1, r1, 0x20 /* 80167D5C 001639BC 4E 80 00 20 */ blr .global func_80167D60 func_80167D60: /* 80167D60 001639C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167D64 001639C4 7C 08 02 A6 */ mflr r0 /* 80167D68 001639C8 90 01 00 24 */ stw r0, 0x24(r1) /* 80167D6C 001639CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167D70 001639D0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167D74 001639D4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80167D78 001639D8 7C BD 2B 78 */ mr r29, r5 /* 80167D7C 001639DC 93 81 00 10 */ stw r28, 0x10(r1) /* 80167D80 001639E0 7C 9C 23 78 */ mr r28, r4 /* 80167D84 001639E4 4B FF FC AD */ bl func_80167A30 /* 80167D88 001639E8 2C 03 00 00 */ cmpwi r3, 0 /* 80167D8C 001639EC 7C 7F 1B 78 */ mr r31, r3 /* 80167D90 001639F0 40 80 00 0C */ bge lbl_80167D9C /* 80167D94 001639F4 38 60 00 07 */ li r3, 7 /* 80167D98 001639F8 48 00 00 68 */ b lbl_80167E00 lbl_80167D9C: /* 80167D9C 001639FC 48 0F 62 35 */ bl func_8025DFD0 /* 80167DA0 00163A00 38 80 05 90 */ li r4, 0x590 /* 80167DA4 00163A04 48 0F 62 1D */ bl func_8025DFC0 /* 80167DA8 00163A08 2C 03 00 00 */ cmpwi r3, 0 /* 80167DAC 00163A0C 7C 7E 1B 78 */ mr r30, r3 /* 80167DB0 00163A10 40 82 00 0C */ bne lbl_80167DBC /* 80167DB4 00163A14 38 60 00 07 */ li r3, 7 /* 80167DB8 00163A18 48 00 00 48 */ b lbl_80167E00 lbl_80167DBC: /* 80167DBC 00163A1C 7F 83 E3 78 */ mr r3, r28 /* 80167DC0 00163A20 7F C4 F3 78 */ mr r4, r30 /* 80167DC4 00163A24 38 A0 00 00 */ li r5, 0 /* 80167DC8 00163A28 48 27 99 19 */ bl func_803E16E0 /* 80167DCC 00163A2C 7F E3 FB 78 */ mr r3, r31 /* 80167DD0 00163A30 7F A4 EB 78 */ mr r4, r29 /* 80167DD4 00163A34 7F C5 F3 78 */ mr r5, r30 /* 80167DD8 00163A38 38 C0 05 90 */ li r6, 0x590 /* 80167DDC 00163A3C 4B FF CB 95 */ bl func_80164970 /* 80167DE0 00163A40 7C 7F 1B 78 */ mr r31, r3 /* 80167DE4 00163A44 48 0F 61 ED */ bl func_8025DFD0 /* 80167DE8 00163A48 7F C4 F3 78 */ mr r4, r30 /* 80167DEC 00163A4C 48 0F 61 DD */ bl func_8025DFC8 /* 80167DF0 00163A50 7C 1F 00 D0 */ neg r0, r31 /* 80167DF4 00163A54 7C 00 FB 78 */ or r0, r0, r31 /* 80167DF8 00163A58 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80167DFC 00163A5C 54 03 07 7E */ clrlwi r3, r0, 0x1d lbl_80167E00: /* 80167E00 00163A60 80 01 00 24 */ lwz r0, 0x24(r1) /* 80167E04 00163A64 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80167E08 00163A68 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80167E0C 00163A6C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80167E10 00163A70 83 81 00 10 */ lwz r28, 0x10(r1) /* 80167E14 00163A74 7C 08 03 A6 */ mtlr r0 /* 80167E18 00163A78 38 21 00 20 */ addi r1, r1, 0x20 /* 80167E1C 00163A7C 4E 80 00 20 */ blr .global func_80167E20 func_80167E20: /* 80167E20 00163A80 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167E24 00163A84 7C 08 02 A6 */ mflr r0 /* 80167E28 00163A88 90 01 00 24 */ stw r0, 0x24(r1) /* 80167E2C 00163A8C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167E30 00163A90 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167E34 00163A94 7C 7E 1B 78 */ mr r30, r3 /* 80167E38 00163A98 93 A1 00 14 */ stw r29, 0x14(r1) /* 80167E3C 00163A9C 7C 9D 23 78 */ mr r29, r4 /* 80167E40 00163AA0 4B FF FB F1 */ bl func_80167A30 /* 80167E44 00163AA4 2C 03 00 00 */ cmpwi r3, 0 /* 80167E48 00163AA8 7C 7F 1B 78 */ mr r31, r3 /* 80167E4C 00163AAC 40 80 00 0C */ bge lbl_80167E58 /* 80167E50 00163AB0 38 60 00 07 */ li r3, 7 /* 80167E54 00163AB4 48 00 00 7C */ b lbl_80167ED0 lbl_80167E58: /* 80167E58 00163AB8 3C A0 80 42 */ lis r5, lbl_8041F5FC@ha /* 80167E5C 00163ABC 80 9D 00 00 */ lwz r4, 0(r29) /* 80167E60 00163AC0 7F C3 F3 78 */ mr r3, r30 /* 80167E64 00163AC4 38 A5 F5 FC */ addi r5, r5, lbl_8041F5FC@l /* 80167E68 00163AC8 4B FF FE F9 */ bl func_80167D60 /* 80167E6C 00163ACC 48 0F 61 65 */ bl func_8025DFD0 /* 80167E70 00163AD0 38 80 04 08 */ li r4, 0x408 /* 80167E74 00163AD4 48 0F 61 4D */ bl func_8025DFC0 /* 80167E78 00163AD8 2C 03 00 00 */ cmpwi r3, 0 /* 80167E7C 00163ADC 7C 7E 1B 78 */ mr r30, r3 /* 80167E80 00163AE0 40 82 00 0C */ bne lbl_80167E8C /* 80167E84 00163AE4 38 60 00 07 */ li r3, 7 /* 80167E88 00163AE8 48 00 00 48 */ b lbl_80167ED0 lbl_80167E8C: /* 80167E8C 00163AEC 7F A3 EB 78 */ mr r3, r29 /* 80167E90 00163AF0 7F C4 F3 78 */ mr r4, r30 /* 80167E94 00163AF4 48 00 08 39 */ bl func_801686CC /* 80167E98 00163AF8 3C 80 80 42 */ lis r4, lbl_8041F61C@ha /* 80167E9C 00163AFC 7F E3 FB 78 */ mr r3, r31 /* 80167EA0 00163B00 7F C5 F3 78 */ mr r5, r30 /* 80167EA4 00163B04 38 C0 04 08 */ li r6, 0x408 /* 80167EA8 00163B08 38 84 F6 1C */ addi r4, r4, lbl_8041F61C@l /* 80167EAC 00163B0C 4B FF CA C5 */ bl func_80164970 /* 80167EB0 00163B10 7C 7F 1B 78 */ mr r31, r3 /* 80167EB4 00163B14 48 0F 61 1D */ bl func_8025DFD0 /* 80167EB8 00163B18 7F C4 F3 78 */ mr r4, r30 /* 80167EBC 00163B1C 48 0F 61 0D */ bl func_8025DFC8 /* 80167EC0 00163B20 7C 1F 00 D0 */ neg r0, r31 /* 80167EC4 00163B24 7C 00 FB 78 */ or r0, r0, r31 /* 80167EC8 00163B28 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80167ECC 00163B2C 54 03 07 7E */ clrlwi r3, r0, 0x1d lbl_80167ED0: /* 80167ED0 00163B30 80 01 00 24 */ lwz r0, 0x24(r1) /* 80167ED4 00163B34 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80167ED8 00163B38 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80167EDC 00163B3C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80167EE0 00163B40 7C 08 03 A6 */ mtlr r0 /* 80167EE4 00163B44 38 21 00 20 */ addi r1, r1, 0x20 /* 80167EE8 00163B48 4E 80 00 20 */ blr lbl_80167EEC: /* 80167EEC 00163B4C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167EF0 00163B50 7C 08 02 A6 */ mflr r0 /* 80167EF4 00163B54 90 01 00 24 */ stw r0, 0x24(r1) /* 80167EF8 00163B58 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167EFC 00163B5C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167F00 00163B60 93 A1 00 14 */ stw r29, 0x14(r1) /* 80167F04 00163B64 7C BD 2B 78 */ mr r29, r5 /* 80167F08 00163B68 93 81 00 10 */ stw r28, 0x10(r1) /* 80167F0C 00163B6C 7C 9C 23 78 */ mr r28, r4 /* 80167F10 00163B70 4B FF FB 21 */ bl func_80167A30 /* 80167F14 00163B74 2C 03 00 00 */ cmpwi r3, 0 /* 80167F18 00163B78 7C 7F 1B 78 */ mr r31, r3 /* 80167F1C 00163B7C 40 80 00 0C */ bge lbl_80167F28 /* 80167F20 00163B80 38 60 00 07 */ li r3, 7 /* 80167F24 00163B84 48 00 00 74 */ b lbl_80167F98 lbl_80167F28: /* 80167F28 00163B88 48 0F 60 A9 */ bl func_8025DFD0 /* 80167F2C 00163B8C 38 80 02 00 */ li r4, 0x200 /* 80167F30 00163B90 48 0F 60 91 */ bl func_8025DFC0 /* 80167F34 00163B94 2C 03 00 00 */ cmpwi r3, 0 /* 80167F38 00163B98 7C 7E 1B 78 */ mr r30, r3 /* 80167F3C 00163B9C 40 82 00 0C */ bne lbl_80167F48 /* 80167F40 00163BA0 38 60 00 07 */ li r3, 7 /* 80167F44 00163BA4 48 00 00 54 */ b lbl_80167F98 lbl_80167F48: /* 80167F48 00163BA8 7F 84 E3 78 */ mr r4, r28 /* 80167F4C 00163BAC 38 A0 02 00 */ li r5, 0x200 /* 80167F50 00163BB0 48 00 F1 FD */ bl func_8017714C /* 80167F54 00163BB4 7F 83 E3 78 */ mr r3, r28 /* 80167F58 00163BB8 7F C4 F3 78 */ mr r4, r30 /* 80167F5C 00163BBC 38 A0 02 00 */ li r5, 0x200 /* 80167F60 00163BC0 48 00 05 3D */ bl func_8016849C /* 80167F64 00163BC4 7C 66 1B 78 */ mr r6, r3 /* 80167F68 00163BC8 7F E3 FB 78 */ mr r3, r31 /* 80167F6C 00163BCC 7F A4 EB 78 */ mr r4, r29 /* 80167F70 00163BD0 7F C5 F3 78 */ mr r5, r30 /* 80167F74 00163BD4 4B FF C8 B1 */ bl func_80164824 /* 80167F78 00163BD8 7C 7F 1B 78 */ mr r31, r3 /* 80167F7C 00163BDC 48 0F 60 55 */ bl func_8025DFD0 /* 80167F80 00163BE0 7F C4 F3 78 */ mr r4, r30 /* 80167F84 00163BE4 48 0F 60 45 */ bl func_8025DFC8 /* 80167F88 00163BE8 7C 1F 00 D0 */ neg r0, r31 /* 80167F8C 00163BEC 7C 00 FB 78 */ or r0, r0, r31 /* 80167F90 00163BF0 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80167F94 00163BF4 54 03 07 7E */ clrlwi r3, r0, 0x1d lbl_80167F98: /* 80167F98 00163BF8 80 01 00 24 */ lwz r0, 0x24(r1) /* 80167F9C 00163BFC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80167FA0 00163C00 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80167FA4 00163C04 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80167FA8 00163C08 83 81 00 10 */ lwz r28, 0x10(r1) /* 80167FAC 00163C0C 7C 08 03 A6 */ mtlr r0 /* 80167FB0 00163C10 38 21 00 20 */ addi r1, r1, 0x20 /* 80167FB4 00163C14 4E 80 00 20 */ blr .global func_80167FB8 func_80167FB8: /* 80167FB8 00163C18 3C A0 80 42 */ lis r5, lbl_8041F63C@ha /* 80167FBC 00163C1C 38 A5 F6 3C */ addi r5, r5, lbl_8041F63C@l /* 80167FC0 00163C20 4B FF FF 2C */ b lbl_80167EEC .global func_80167FC4 func_80167FC4: /* 80167FC4 00163C24 3C A0 80 42 */ lis r5, lbl_8041F658@ha /* 80167FC8 00163C28 38 A5 F6 58 */ addi r5, r5, lbl_8041F658@l /* 80167FCC 00163C2C 4B FF FF 20 */ b lbl_80167EEC .global func_80167FD0 func_80167FD0: /* 80167FD0 00163C30 3C A0 80 42 */ lis r5, lbl_8041F674@ha /* 80167FD4 00163C34 38 A5 F6 74 */ addi r5, r5, lbl_8041F674@l /* 80167FD8 00163C38 4B FF FF 14 */ b lbl_80167EEC lbl_80167FDC: /* 80167FDC 00163C3C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80167FE0 00163C40 7C 08 02 A6 */ mflr r0 /* 80167FE4 00163C44 90 01 00 24 */ stw r0, 0x24(r1) /* 80167FE8 00163C48 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80167FEC 00163C4C 7C BF 2B 78 */ mr r31, r5 /* 80167FF0 00163C50 93 C1 00 18 */ stw r30, 0x18(r1) /* 80167FF4 00163C54 7C 9E 23 78 */ mr r30, r4 /* 80167FF8 00163C58 4B FF FA 39 */ bl func_80167A30 /* 80167FFC 00163C5C 2C 03 00 00 */ cmpwi r3, 0 /* 80168000 00163C60 40 80 00 0C */ bge lbl_8016800C /* 80168004 00163C64 38 60 00 07 */ li r3, 7 /* 80168008 00163C68 48 00 00 34 */ b lbl_8016803C lbl_8016800C: /* 8016800C 00163C6C 57 C4 44 2E */ rlwinm r4, r30, 8, 0x10, 0x17 /* 80168010 00163C70 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f /* 80168014 00163C74 7C 04 02 14 */ add r0, r4, r0 /* 80168018 00163C78 38 A1 00 08 */ addi r5, r1, 8 /* 8016801C 00163C7C B0 01 00 08 */ sth r0, 8(r1) /* 80168020 00163C80 7F E4 FB 78 */ mr r4, r31 /* 80168024 00163C84 38 C0 00 02 */ li r6, 2 /* 80168028 00163C88 4B FF C7 FD */ bl func_80164824 /* 8016802C 00163C8C 7C 03 00 D0 */ neg r0, r3 /* 80168030 00163C90 7C 00 1B 78 */ or r0, r0, r3 /* 80168034 00163C94 7C 00 FE 70 */ srawi r0, r0, 0x1f /* 80168038 00163C98 54 03 07 7E */ clrlwi r3, r0, 0x1d lbl_8016803C: /* 8016803C 00163C9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80168040 00163CA0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80168044 00163CA4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80168048 00163CA8 7C 08 03 A6 */ mtlr r0 /* 8016804C 00163CAC 38 21 00 20 */ addi r1, r1, 0x20 /* 80168050 00163CB0 4E 80 00 20 */ blr .global func_80168054 func_80168054: /* 80168054 00163CB4 3C A0 80 42 */ lis r5, lbl_8041F690@ha /* 80168058 00163CB8 38 80 00 00 */ li r4, 0 /* 8016805C 00163CBC 38 A5 F6 90 */ addi r5, r5, lbl_8041F690@l /* 80168060 00163CC0 4B FF FF 7C */ b lbl_80167FDC .global func_80168064 func_80168064: /* 80168064 00163CC4 3C A0 80 42 */ lis r5, lbl_8041F6AC@ha /* 80168068 00163CC8 38 80 00 00 */ li r4, 0 /* 8016806C 00163CCC 38 A5 F6 AC */ addi r5, r5, lbl_8041F6AC@l /* 80168070 00163CD0 4B FF FF 6C */ b lbl_80167FDC .global func_80168074 func_80168074: /* 80168074 00163CD4 3C A0 80 42 */ lis r5, lbl_8041F6C8@ha /* 80168078 00163CD8 38 80 00 00 */ li r4, 0 /* 8016807C 00163CDC 38 A5 F6 C8 */ addi r5, r5, lbl_8041F6C8@l /* 80168080 00163CE0 4B FF FF 5C */ b lbl_80167FDC .global func_80168084 func_80168084: /* 80168084 00163CE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80168088 00163CE8 7C 08 02 A6 */ mflr r0 /* 8016808C 00163CEC 3C A0 80 42 */ lis r5, lbl_8041F6E0@ha /* 80168090 00163CF0 90 01 00 14 */ stw r0, 0x14(r1) /* 80168094 00163CF4 38 A5 F6 E0 */ addi r5, r5, lbl_8041F6E0@l /* 80168098 00163CF8 4B FF FC C9 */ bl func_80167D60 /* 8016809C 00163CFC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801680A0 00163D00 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 801680A4 00163D04 7C 08 03 A6 */ mtlr r0 /* 801680A8 00163D08 38 21 00 10 */ addi r1, r1, 0x10 /* 801680AC 00163D0C 4E 80 00 20 */ blr .global func_801680B0 func_801680B0: /* 801680B0 00163D10 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801680B4 00163D14 7C 08 02 A6 */ mflr r0 /* 801680B8 00163D18 90 01 00 14 */ stw r0, 0x14(r1) /* 801680BC 00163D1C 93 E1 00 0C */ stw r31, 0xc(r1) /* 801680C0 00163D20 7C 9F 23 78 */ mr r31, r4 /* 801680C4 00163D24 4B FF F9 6D */ bl func_80167A30 /* 801680C8 00163D28 2C 03 00 00 */ cmpwi r3, 0 /* 801680CC 00163D2C 40 80 00 0C */ bge lbl_801680D8 /* 801680D0 00163D30 38 60 FF FF */ li r3, -1 /* 801680D4 00163D34 48 00 00 18 */ b lbl_801680EC lbl_801680D8: /* 801680D8 00163D38 3C 80 80 42 */ lis r4, lbl_8041F704@ha /* 801680DC 00163D3C 7F E5 FB 78 */ mr r5, r31 /* 801680E0 00163D40 38 84 F7 04 */ addi r4, r4, lbl_8041F704@l /* 801680E4 00163D44 38 C0 00 0C */ li r6, 0xc /* 801680E8 00163D48 4B FF C7 3D */ bl func_80164824 lbl_801680EC: /* 801680EC 00163D4C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801680F0 00163D50 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801680F4 00163D54 7C 08 03 A6 */ mtlr r0 /* 801680F8 00163D58 38 21 00 10 */ addi r1, r1, 0x10 /* 801680FC 00163D5C 4E 80 00 20 */ blr .global func_80168100 func_80168100: /* 80168100 00163D60 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80168104 00163D64 7C 08 02 A6 */ mflr r0 /* 80168108 00163D68 90 01 00 14 */ stw r0, 0x14(r1) /* 8016810C 00163D6C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80168110 00163D70 7C 9F 23 78 */ mr r31, r4 /* 80168114 00163D74 4B FF F9 1D */ bl func_80167A30 /* 80168118 00163D78 2C 03 00 00 */ cmpwi r3, 0 /* 8016811C 00163D7C 40 80 00 0C */ bge lbl_80168128 /* 80168120 00163D80 38 60 FF FF */ li r3, -1 /* 80168124 00163D84 48 00 00 10 */ b lbl_80168134 lbl_80168128: /* 80168128 00163D88 7F E4 FB 78 */ mr r4, r31 /* 8016812C 00163D8C 38 A0 00 0C */ li r5, 0xc /* 80168130 00163D90 4B FF C9 E5 */ bl func_80164B14 lbl_80168134: /* 80168134 00163D94 80 01 00 14 */ lwz r0, 0x14(r1) /* 80168138 00163D98 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8016813C 00163D9C 7C 08 03 A6 */ mtlr r0 /* 80168140 00163DA0 38 21 00 10 */ addi r1, r1, 0x10 /* 80168144 00163DA4 4E 80 00 20 */ blr .global func_80168148 func_80168148: /* 80168148 00163DA8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8016814C 00163DAC 7C 08 02 A6 */ mflr r0 /* 80168150 00163DB0 90 01 00 14 */ stw r0, 0x14(r1) /* 80168154 00163DB4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80168158 00163DB8 93 C1 00 08 */ stw r30, 8(r1) /* 8016815C 00163DBC 7C 9E 23 78 */ mr r30, r4 /* 80168160 00163DC0 4B FF F8 D1 */ bl func_80167A30 /* 80168164 00163DC4 2C 03 00 00 */ cmpwi r3, 0 /* 80168168 00163DC8 40 80 00 0C */ bge lbl_80168174 /* 8016816C 00163DCC 38 60 00 00 */ li r3, 0 /* 80168170 00163DD0 48 00 00 4C */ b lbl_801681BC lbl_80168174: /* 80168174 00163DD4 4B FF CA F9 */ bl func_80164C6C /* 80168178 00163DD8 2C 03 00 00 */ cmpwi r3, 0 /* 8016817C 00163DDC 7C 7F 1B 78 */ mr r31, r3 /* 80168180 00163DE0 40 82 00 0C */ bne lbl_8016818C /* 80168184 00163DE4 38 60 00 00 */ li r3, 0 /* 80168188 00163DE8 48 00 00 34 */ b lbl_801681BC lbl_8016818C: /* 8016818C 00163DEC 4B FF EA ED */ bl func_80166C78 /* 80168190 00163DF0 2C 03 00 00 */ cmpwi r3, 0 /* 80168194 00163DF4 7C 64 1B 78 */ mr r4, r3 /* 80168198 00163DF8 40 82 00 0C */ bne lbl_801681A4 /* 8016819C 00163DFC 38 60 00 00 */ li r3, 0 /* 801681A0 00163E00 48 00 00 1C */ b lbl_801681BC lbl_801681A4: /* 801681A4 00163E04 7F C3 F3 78 */ mr r3, r30 /* 801681A8 00163E08 38 A0 00 0C */ li r5, 0xc /* 801681AC 00163E0C 4B E9 BE 55 */ bl memcpy /* 801681B0 00163E10 7F E3 FB 78 */ mr r3, r31 /* 801681B4 00163E14 4B FF EA 71 */ bl func_80166C24 /* 801681B8 00163E18 7F C3 F3 78 */ mr r3, r30 lbl_801681BC: /* 801681BC 00163E1C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801681C0 00163E20 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801681C4 00163E24 83 C1 00 08 */ lwz r30, 8(r1) /* 801681C8 00163E28 7C 08 03 A6 */ mtlr r0 /* 801681CC 00163E2C 38 21 00 10 */ addi r1, r1, 0x10 /* 801681D0 00163E30 4E 80 00 20 */ blr .global func_801681D4 func_801681D4: /* 801681D4 00163E34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801681D8 00163E38 7C 08 02 A6 */ mflr r0 /* 801681DC 00163E3C 90 01 00 14 */ stw r0, 0x14(r1) /* 801681E0 00163E40 93 E1 00 0C */ stw r31, 0xc(r1) /* 801681E4 00163E44 7C 9F 23 78 */ mr r31, r4 /* 801681E8 00163E48 4B FF F8 49 */ bl func_80167A30 /* 801681EC 00163E4C 2C 03 00 00 */ cmpwi r3, 0 /* 801681F0 00163E50 40 80 00 0C */ bge lbl_801681FC /* 801681F4 00163E54 38 60 FF FF */ li r3, -1 /* 801681F8 00163E58 48 00 00 18 */ b lbl_80168210 lbl_801681FC: /* 801681FC 00163E5C 3C 80 80 42 */ lis r4, lbl_8041F720@ha /* 80168200 00163E60 7F E5 FB 78 */ mr r5, r31 /* 80168204 00163E64 38 84 F7 20 */ addi r4, r4, lbl_8041F720@l /* 80168208 00163E68 38 C0 00 80 */ li r6, 0x80 /* 8016820C 00163E6C 4B FF C6 19 */ bl func_80164824 lbl_80168210: /* 80168210 00163E70 80 01 00 14 */ lwz r0, 0x14(r1) /* 80168214 00163E74 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80168218 00163E78 7C 08 03 A6 */ mtlr r0 /* 8016821C 00163E7C 38 21 00 10 */ addi r1, r1, 0x10 /* 80168220 00163E80 4E 80 00 20 */ blr .global func_80168224 func_80168224: /* 80168224 00163E84 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80168228 00163E88 7C 08 02 A6 */ mflr r0 /* 8016822C 00163E8C 90 01 00 14 */ stw r0, 0x14(r1) /* 80168230 00163E90 93 E1 00 0C */ stw r31, 0xc(r1) /* 80168234 00163E94 93 C1 00 08 */ stw r30, 8(r1) /* 80168238 00163E98 7C 9E 23 78 */ mr r30, r4 /* 8016823C 00163E9C 4B FF F7 F5 */ bl func_80167A30 /* 80168240 00163EA0 2C 03 00 00 */ cmpwi r3, 0 /* 80168244 00163EA4 40 80 00 0C */ bge lbl_80168250 /* 80168248 00163EA8 38 60 00 00 */ li r3, 0 /* 8016824C 00163EAC 48 00 00 4C */ b lbl_80168298 lbl_80168250: /* 80168250 00163EB0 4B FF CA 1D */ bl func_80164C6C /* 80168254 00163EB4 2C 03 00 00 */ cmpwi r3, 0 /* 80168258 00163EB8 7C 7F 1B 78 */ mr r31, r3 /* 8016825C 00163EBC 40 82 00 0C */ bne lbl_80168268 /* 80168260 00163EC0 38 60 00 00 */ li r3, 0 /* 80168264 00163EC4 48 00 00 34 */ b lbl_80168298 lbl_80168268: /* 80168268 00163EC8 4B FF EA 81 */ bl func_80166CE8 /* 8016826C 00163ECC 2C 03 00 00 */ cmpwi r3, 0 /* 80168270 00163ED0 7C 64 1B 78 */ mr r4, r3 /* 80168274 00163ED4 40 82 00 0C */ bne lbl_80168280 /* 80168278 00163ED8 38 60 00 00 */ li r3, 0 /* 8016827C 00163EDC 48 00 00 1C */ b lbl_80168298 lbl_80168280: /* 80168280 00163EE0 7F C3 F3 78 */ mr r3, r30 /* 80168284 00163EE4 38 A0 00 80 */ li r5, 0x80 /* 80168288 00163EE8 4B E9 BD 79 */ bl memcpy /* 8016828C 00163EEC 7F E3 FB 78 */ mr r3, r31 /* 80168290 00163EF0 4B FF EA 05 */ bl func_80166C94 /* 80168294 00163EF4 7F C3 F3 78 */ mr r3, r30 lbl_80168298: /* 80168298 00163EF8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8016829C 00163EFC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801682A0 00163F00 83 C1 00 08 */ lwz r30, 8(r1) /* 801682A4 00163F04 7C 08 03 A6 */ mtlr r0 /* 801682A8 00163F08 38 21 00 10 */ addi r1, r1, 0x10 /* 801682AC 00163F0C 4E 80 00 20 */ blr .global func_801682B0 func_801682B0: /* 801682B0 00163F10 38 A0 00 01 */ li r5, 1 /* 801682B4 00163F14 38 6D 9E 30 */ addi r3, r13, lbl_8063F0F0-_SDA_BASE_ /* 801682B8 00163F18 38 80 00 04 */ li r4, 4 /* 801682BC 00163F1C 38 00 00 00 */ li r0, 0 /* 801682C0 00163F20 98 AD 9E 30 */ stb r5, lbl_8063F0F0-_SDA_BASE_(r13) /* 801682C4 00163F24 B0 83 00 02 */ sth r4, 2(r3) /* 801682C8 00163F28 98 03 00 04 */ stb r0, 4(r3) /* 801682CC 00163F2C 4E 80 00 20 */ blr