Files
tp/include/m_Do/m_Do_ext/asm/func_80012874.s
T
2021-01-31 16:04:23 -05:00

382 lines
20 KiB
ArmAsm

/* 80012874 0000F7B4 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 80012878 0000F7B8 7C 08 02 A6 */ mflr r0
/* 8001287C 0000F7BC 90 01 01 A4 */ stw r0, 0x1a4(r1)
/* 80012880 0000F7C0 DB E1 01 90 */ stfd f31, 0x190(r1)
/* 80012884 0000F7C4 F3 E1 01 98 */ psq_st f31, 408(r1), 0, 0
/* 80012888 0000F7C8 DB C1 01 80 */ stfd f30, 0x180(r1)
/* 8001288C 0000F7CC F3 C1 01 88 */ psq_st f30, 392(r1), 0, 0
/* 80012890 0000F7D0 DB A1 01 70 */ stfd f29, 0x170(r1)
/* 80012894 0000F7D4 F3 A1 01 78 */ psq_st f29, 376(r1), 0, 0
/* 80012898 0000F7D8 DB 81 01 60 */ stfd f28, 0x160(r1)
/* 8001289C 0000F7DC F3 81 01 68 */ psq_st f28, 360(r1), 0, 0
/* 800128A0 0000F7E0 39 61 01 60 */ addi r11, r1, 0x160
/* 800128A4 0000F7E4 48 34 F9 0D */ bl _savegpr_18
/* 800128A8 0000F7E8 7C 72 1B 78 */ mr r18, r3
/* 800128AC 0000F7EC FF 80 08 90 */ fmr f28, f1
/* 800128B0 0000F7F0 88 05 00 00 */ lbz r0, 0(r5)
/* 800128B4 0000F7F4 98 03 00 08 */ stb r0, 8(r3)
/* 800128B8 0000F7F8 88 05 00 01 */ lbz r0, 1(r5)
/* 800128BC 0000F7FC 98 03 00 09 */ stb r0, 9(r3)
/* 800128C0 0000F800 88 05 00 02 */ lbz r0, 2(r5)
/* 800128C4 0000F804 98 03 00 0A */ stb r0, 0xa(r3)
/* 800128C8 0000F808 88 05 00 03 */ lbz r0, 3(r5)
/* 800128CC 0000F80C 98 03 00 0B */ stb r0, 0xb(r3)
/* 800128D0 0000F810 90 E3 00 0C */ stw r7, 0xc(r3)
/* 800128D4 0000F814 2C 04 00 00 */ cmpwi r4, 0
/* 800128D8 0000F818 40 80 00 10 */ bge lbl_800128E8
/* 800128DC 0000F81C A0 12 00 12 */ lhz r0, 0x12(r18)
/* 800128E0 0000F820 B0 12 00 14 */ sth r0, 0x14(r18)
/* 800128E4 0000F824 48 00 00 1C */ b lbl_80012900
lbl_800128E8:
/* 800128E8 0000F828 A0 12 00 12 */ lhz r0, 0x12(r18)
/* 800128EC 0000F82C 7C 04 00 00 */ cmpw r4, r0
/* 800128F0 0000F830 40 81 00 0C */ ble lbl_800128FC
/* 800128F4 0000F834 B0 12 00 14 */ sth r0, 0x14(r18)
/* 800128F8 0000F838 48 00 00 08 */ b lbl_80012900
lbl_800128FC:
/* 800128FC 0000F83C B0 92 00 14 */ sth r4, 0x14(r18)
lbl_80012900:
/* 80012900 0000F840 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80012904 0000F844 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80012908 0000F848 83 E3 61 B0 */ lwz r31, 0x61b0(r3)
/* 8001290C 0000F84C 83 B2 00 18 */ lwz r29, 0x18(r18)
/* 80012910 0000F850 54 C0 04 3F */ clrlwi. r0, r6, 0x10
/* 80012914 0000F854 41 82 00 24 */ beq lbl_80012938
/* 80012918 0000F858 C8 22 81 38 */ lfd f1, lbl_80451B38-_SDA2_BASE_(r2)
/* 8001291C 0000F85C 90 01 01 14 */ stw r0, 0x114(r1)
/* 80012920 0000F860 3C 00 43 30 */ lis r0, 0x4330
/* 80012924 0000F864 90 01 01 10 */ stw r0, 0x110(r1)
/* 80012928 0000F868 C8 01 01 10 */ lfd f0, 0x110(r1)
/* 8001292C 0000F86C EC 00 08 28 */ fsubs f0, f0, f1
/* 80012930 0000F870 EF DC 00 24 */ fdivs f30, f28, f0
/* 80012934 0000F874 48 00 00 08 */ b lbl_8001293C
lbl_80012938:
/* 80012938 0000F878 C3 C2 81 1C */ lfs f30, lbl_80451B1C-_SDA2_BASE_(r2)
lbl_8001293C:
/* 8001293C 0000F87C A0 12 00 14 */ lhz r0, 0x14(r18)
/* 80012940 0000F880 54 00 08 3C */ slwi r0, r0, 1
/* 80012944 0000F884 1F 80 00 0C */ mulli r28, r0, 0xc
/* 80012948 0000F888 1F 60 00 03 */ mulli r27, r0, 3
/* 8001294C 0000F88C 3A 80 00 00 */ li r20, 0
/* 80012950 0000F890 54 DE 04 3E */ clrlwi r30, r6, 0x10
/* 80012954 0000F894 C3 E2 81 30 */ lfs f31, lbl_80451B30-_SDA2_BASE_(r2)
/* 80012958 0000F898 48 00 04 A0 */ b lbl_80012DF8
lbl_8001295C:
/* 8001295C 0000F89C 83 5D 00 00 */ lwz r26, 0(r29)
/* 80012960 0000F8A0 88 12 00 16 */ lbz r0, 0x16(r18)
/* 80012964 0000F8A4 54 00 10 3A */ slwi r0, r0, 2
/* 80012968 0000F8A8 7C 7D 02 14 */ add r3, r29, r0
/* 8001296C 0000F8AC 83 03 00 08 */ lwz r24, 8(r3)
/* 80012970 0000F8B0 82 A3 00 10 */ lwz r21, 0x10(r3)
/* 80012974 0000F8B4 7E B7 AB 78 */ mr r23, r21
/* 80012978 0000F8B8 3A D5 00 03 */ addi r22, r21, 3
/* 8001297C 0000F8BC FF A0 E0 90 */ fmr f29, f28
/* 80012980 0000F8C0 38 61 00 D4 */ addi r3, r1, 0xd4
/* 80012984 0000F8C4 38 9A 00 0C */ addi r4, r26, 0xc
/* 80012988 0000F8C8 7F 45 D3 78 */ mr r5, r26
/* 8001298C 0000F8CC 48 25 41 A9 */ bl __mi__4cXyzCFRC3Vec
/* 80012990 0000F8D0 C0 01 00 D4 */ lfs f0, 0xd4(r1)
/* 80012994 0000F8D4 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 80012998 0000F8D8 C0 01 00 D8 */ lfs f0, 0xd8(r1)
/* 8001299C 0000F8DC D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 800129A0 0000F8E0 C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 800129A4 0000F8E4 D0 01 01 00 */ stfs f0, 0x100(r1)
/* 800129A8 0000F8E8 38 61 00 C8 */ addi r3, r1, 0xc8
/* 800129AC 0000F8EC 7F 44 D3 78 */ mr r4, r26
/* 800129B0 0000F8F0 38 BF 00 D8 */ addi r5, r31, 0xd8
/* 800129B4 0000F8F4 48 25 41 81 */ bl __mi__4cXyzCFRC3Vec
/* 800129B8 0000F8F8 C0 01 00 C8 */ lfs f0, 0xc8(r1)
/* 800129BC 0000F8FC D0 01 01 04 */ stfs f0, 0x104(r1)
/* 800129C0 0000F900 C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 800129C4 0000F904 D0 01 01 08 */ stfs f0, 0x108(r1)
/* 800129C8 0000F908 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 800129CC 0000F90C D0 01 01 0C */ stfs f0, 0x10c(r1)
/* 800129D0 0000F910 38 61 00 BC */ addi r3, r1, 0xbc
/* 800129D4 0000F914 38 81 00 F8 */ addi r4, r1, 0xf8
/* 800129D8 0000F918 38 A1 01 04 */ addi r5, r1, 0x104
/* 800129DC 0000F91C 48 25 42 E1 */ bl outprod__4cXyzCFRC3Vec
/* 800129E0 0000F920 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 800129E4 0000F924 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 800129E8 0000F928 C0 01 00 C0 */ lfs f0, 0xc0(r1)
/* 800129EC 0000F92C D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 800129F0 0000F930 C0 01 00 C4 */ lfs f0, 0xc4(r1)
/* 800129F4 0000F934 D0 01 01 00 */ stfs f0, 0x100(r1)
/* 800129F8 0000F938 38 61 00 B0 */ addi r3, r1, 0xb0
/* 800129FC 0000F93C 38 81 00 F8 */ addi r4, r1, 0xf8
/* 80012A00 0000F940 48 25 45 49 */ bl normalizeZP__4cXyzFv
/* 80012A04 0000F944 C0 01 00 F8 */ lfs f0, 0xf8(r1)
/* 80012A08 0000F948 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80012A0C 0000F94C FC 00 00 1E */ fctiwz f0, f0
/* 80012A10 0000F950 D8 01 01 10 */ stfd f0, 0x110(r1)
/* 80012A14 0000F954 80 01 01 14 */ lwz r0, 0x114(r1)
/* 80012A18 0000F958 98 15 00 00 */ stb r0, 0(r21)
/* 80012A1C 0000F95C C0 01 00 FC */ lfs f0, 0xfc(r1)
/* 80012A20 0000F960 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80012A24 0000F964 FC 00 00 1E */ fctiwz f0, f0
/* 80012A28 0000F968 D8 01 01 18 */ stfd f0, 0x118(r1)
/* 80012A2C 0000F96C 80 01 01 1C */ lwz r0, 0x11c(r1)
/* 80012A30 0000F970 98 15 00 01 */ stb r0, 1(r21)
/* 80012A34 0000F974 C0 01 01 00 */ lfs f0, 0x100(r1)
/* 80012A38 0000F978 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80012A3C 0000F97C FC 00 00 1E */ fctiwz f0, f0
/* 80012A40 0000F980 D8 01 01 20 */ stfd f0, 0x120(r1)
/* 80012A44 0000F984 80 01 01 24 */ lwz r0, 0x124(r1)
/* 80012A48 0000F988 98 15 00 02 */ stb r0, 2(r21)
/* 80012A4C 0000F98C 88 15 00 00 */ lbz r0, 0(r21)
/* 80012A50 0000F990 7C 00 00 D0 */ neg r0, r0
/* 80012A54 0000F994 98 16 00 00 */ stb r0, 0(r22)
/* 80012A58 0000F998 88 15 00 01 */ lbz r0, 1(r21)
/* 80012A5C 0000F99C 7C 00 00 D0 */ neg r0, r0
/* 80012A60 0000F9A0 98 16 00 01 */ stb r0, 1(r22)
/* 80012A64 0000F9A4 88 15 00 02 */ lbz r0, 2(r21)
/* 80012A68 0000F9A8 7C 00 00 D0 */ neg r0, r0
/* 80012A6C 0000F9AC 98 16 00 02 */ stb r0, 2(r22)
/* 80012A70 0000F9B0 38 61 00 F8 */ addi r3, r1, 0xf8
/* 80012A74 0000F9B4 7C 64 1B 78 */ mr r4, r3
/* 80012A78 0000F9B8 FC 20 E0 90 */ fmr f1, f28
/* 80012A7C 0000F9BC 48 33 46 5D */ bl PSVECScale
/* 80012A80 0000F9C0 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80012A84 0000F9C4 7F 44 D3 78 */ mr r4, r26
/* 80012A88 0000F9C8 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012A8C 0000F9CC 48 25 40 59 */ bl __pl__4cXyzCFRC3Vec
/* 80012A90 0000F9D0 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80012A94 0000F9D4 D0 18 00 00 */ stfs f0, 0(r24)
/* 80012A98 0000F9D8 C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80012A9C 0000F9DC D0 18 00 04 */ stfs f0, 4(r24)
/* 80012AA0 0000F9E0 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 80012AA4 0000F9E4 D0 18 00 08 */ stfs f0, 8(r24)
/* 80012AA8 0000F9E8 38 61 00 98 */ addi r3, r1, 0x98
/* 80012AAC 0000F9EC 7F 44 D3 78 */ mr r4, r26
/* 80012AB0 0000F9F0 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012AB4 0000F9F4 48 25 40 81 */ bl __mi__4cXyzCFRC3Vec
/* 80012AB8 0000F9F8 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 80012ABC 0000F9FC D0 18 00 0C */ stfs f0, 0xc(r24)
/* 80012AC0 0000FA00 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 80012AC4 0000FA04 D0 18 00 10 */ stfs f0, 0x10(r24)
/* 80012AC8 0000FA08 C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 80012ACC 0000FA0C D0 18 00 14 */ stfs f0, 0x14(r24)
/* 80012AD0 0000FA10 3B 5A 00 0C */ addi r26, r26, 0xc
/* 80012AD4 0000FA14 38 61 00 8C */ addi r3, r1, 0x8c
/* 80012AD8 0000FA18 7F 44 D3 78 */ mr r4, r26
/* 80012ADC 0000FA1C 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012AE0 0000FA20 3B 38 00 18 */ addi r25, r24, 0x18
/* 80012AE4 0000FA24 48 25 40 01 */ bl __pl__4cXyzCFRC3Vec
/* 80012AE8 0000FA28 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 80012AEC 0000FA2C D0 01 00 EC */ stfs f0, 0xec(r1)
/* 80012AF0 0000FA30 C0 01 00 90 */ lfs f0, 0x90(r1)
/* 80012AF4 0000FA34 D0 01 00 F0 */ stfs f0, 0xf0(r1)
/* 80012AF8 0000FA38 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 80012AFC 0000FA3C D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 80012B00 0000FA40 38 61 00 80 */ addi r3, r1, 0x80
/* 80012B04 0000FA44 7F 44 D3 78 */ mr r4, r26
/* 80012B08 0000FA48 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012B0C 0000FA4C 48 25 40 29 */ bl __mi__4cXyzCFRC3Vec
/* 80012B10 0000FA50 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 80012B14 0000FA54 D0 01 00 E0 */ stfs f0, 0xe0(r1)
/* 80012B18 0000FA58 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 80012B1C 0000FA5C D0 01 00 E4 */ stfs f0, 0xe4(r1)
/* 80012B20 0000FA60 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 80012B24 0000FA64 D0 01 00 E8 */ stfs f0, 0xe8(r1)
/* 80012B28 0000FA68 A0 72 00 14 */ lhz r3, 0x14(r18)
/* 80012B2C 0000FA6C 3A 63 FF FE */ addi r19, r3, -2
/* 80012B30 0000FA70 48 00 02 04 */ b lbl_80012D34
lbl_80012B34:
/* 80012B34 0000FA74 7C 13 F0 00 */ cmpw r19, r30
/* 80012B38 0000FA78 40 80 00 08 */ bge lbl_80012B40
/* 80012B3C 0000FA7C EF BD F0 28 */ fsubs f29, f29, f30
lbl_80012B40:
/* 80012B40 0000FA80 38 61 00 74 */ addi r3, r1, 0x74
/* 80012B44 0000FA84 38 9A 00 0C */ addi r4, r26, 0xc
/* 80012B48 0000FA88 7F 45 D3 78 */ mr r5, r26
/* 80012B4C 0000FA8C 48 25 3F E9 */ bl __mi__4cXyzCFRC3Vec
/* 80012B50 0000FA90 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 80012B54 0000FA94 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 80012B58 0000FA98 C0 01 00 78 */ lfs f0, 0x78(r1)
/* 80012B5C 0000FA9C D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 80012B60 0000FAA0 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 80012B64 0000FAA4 D0 01 01 00 */ stfs f0, 0x100(r1)
/* 80012B68 0000FAA8 38 61 00 68 */ addi r3, r1, 0x68
/* 80012B6C 0000FAAC 7F 44 D3 78 */ mr r4, r26
/* 80012B70 0000FAB0 38 BF 00 D8 */ addi r5, r31, 0xd8
/* 80012B74 0000FAB4 48 25 3F C1 */ bl __mi__4cXyzCFRC3Vec
/* 80012B78 0000FAB8 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 80012B7C 0000FABC D0 01 01 04 */ stfs f0, 0x104(r1)
/* 80012B80 0000FAC0 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 80012B84 0000FAC4 D0 01 01 08 */ stfs f0, 0x108(r1)
/* 80012B88 0000FAC8 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 80012B8C 0000FACC D0 01 01 0C */ stfs f0, 0x10c(r1)
/* 80012B90 0000FAD0 38 61 00 5C */ addi r3, r1, 0x5c
/* 80012B94 0000FAD4 38 81 00 F8 */ addi r4, r1, 0xf8
/* 80012B98 0000FAD8 38 A1 01 04 */ addi r5, r1, 0x104
/* 80012B9C 0000FADC 48 25 41 21 */ bl outprod__4cXyzCFRC3Vec
/* 80012BA0 0000FAE0 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80012BA4 0000FAE4 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 80012BA8 0000FAE8 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 80012BAC 0000FAEC D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 80012BB0 0000FAF0 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 80012BB4 0000FAF4 D0 01 01 00 */ stfs f0, 0x100(r1)
/* 80012BB8 0000FAF8 38 61 00 50 */ addi r3, r1, 0x50
/* 80012BBC 0000FAFC 38 81 00 F8 */ addi r4, r1, 0xf8
/* 80012BC0 0000FB00 48 25 43 89 */ bl normalizeZP__4cXyzFv
/* 80012BC4 0000FB04 C0 01 00 F8 */ lfs f0, 0xf8(r1)
/* 80012BC8 0000FB08 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80012BCC 0000FB0C FC 00 00 1E */ fctiwz f0, f0
/* 80012BD0 0000FB10 D8 01 01 20 */ stfd f0, 0x120(r1)
/* 80012BD4 0000FB14 80 01 01 24 */ lwz r0, 0x124(r1)
/* 80012BD8 0000FB18 98 17 00 06 */ stb r0, 6(r23)
/* 80012BDC 0000FB1C C0 01 00 FC */ lfs f0, 0xfc(r1)
/* 80012BE0 0000FB20 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80012BE4 0000FB24 FC 00 00 1E */ fctiwz f0, f0
/* 80012BE8 0000FB28 D8 01 01 18 */ stfd f0, 0x118(r1)
/* 80012BEC 0000FB2C 80 01 01 1C */ lwz r0, 0x11c(r1)
/* 80012BF0 0000FB30 98 17 00 07 */ stb r0, 7(r23)
/* 80012BF4 0000FB34 C0 01 01 00 */ lfs f0, 0x100(r1)
/* 80012BF8 0000FB38 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80012BFC 0000FB3C FC 00 00 1E */ fctiwz f0, f0
/* 80012C00 0000FB40 D8 01 01 10 */ stfd f0, 0x110(r1)
/* 80012C04 0000FB44 80 01 01 14 */ lwz r0, 0x114(r1)
/* 80012C08 0000FB48 98 17 00 08 */ stb r0, 8(r23)
/* 80012C0C 0000FB4C 88 17 00 06 */ lbz r0, 6(r23)
/* 80012C10 0000FB50 7C 00 00 D0 */ neg r0, r0
/* 80012C14 0000FB54 98 16 00 06 */ stb r0, 6(r22)
/* 80012C18 0000FB58 88 17 00 07 */ lbz r0, 7(r23)
/* 80012C1C 0000FB5C 7C 00 00 D0 */ neg r0, r0
/* 80012C20 0000FB60 98 16 00 07 */ stb r0, 7(r22)
/* 80012C24 0000FB64 88 17 00 08 */ lbz r0, 8(r23)
/* 80012C28 0000FB68 7C 00 00 D0 */ neg r0, r0
/* 80012C2C 0000FB6C 98 16 00 08 */ stb r0, 8(r22)
/* 80012C30 0000FB70 38 61 00 F8 */ addi r3, r1, 0xf8
/* 80012C34 0000FB74 7C 64 1B 78 */ mr r4, r3
/* 80012C38 0000FB78 FC 20 E8 90 */ fmr f1, f29
/* 80012C3C 0000FB7C 3A F7 00 06 */ addi r23, r23, 6
/* 80012C40 0000FB80 3A D6 00 06 */ addi r22, r22, 6
/* 80012C44 0000FB84 48 33 44 95 */ bl PSVECScale
/* 80012C48 0000FB88 38 61 00 44 */ addi r3, r1, 0x44
/* 80012C4C 0000FB8C 7F 44 D3 78 */ mr r4, r26
/* 80012C50 0000FB90 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012C54 0000FB94 48 25 3E 91 */ bl __pl__4cXyzCFRC3Vec
/* 80012C58 0000FB98 38 61 00 EC */ addi r3, r1, 0xec
/* 80012C5C 0000FB9C 38 81 00 44 */ addi r4, r1, 0x44
/* 80012C60 0000FBA0 7C 65 1B 78 */ mr r5, r3
/* 80012C64 0000FBA4 48 33 44 2D */ bl PSVECAdd
/* 80012C68 0000FBA8 38 61 00 38 */ addi r3, r1, 0x38
/* 80012C6C 0000FBAC 7F 44 D3 78 */ mr r4, r26
/* 80012C70 0000FBB0 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012C74 0000FBB4 48 25 3E C1 */ bl __mi__4cXyzCFRC3Vec
/* 80012C78 0000FBB8 38 61 00 E0 */ addi r3, r1, 0xe0
/* 80012C7C 0000FBBC 38 81 00 38 */ addi r4, r1, 0x38
/* 80012C80 0000FBC0 7C 65 1B 78 */ mr r5, r3
/* 80012C84 0000FBC4 48 33 44 0D */ bl PSVECAdd
/* 80012C88 0000FBC8 38 61 00 2C */ addi r3, r1, 0x2c
/* 80012C8C 0000FBCC 38 81 00 EC */ addi r4, r1, 0xec
/* 80012C90 0000FBD0 C0 22 81 2C */ lfs f1, lbl_80451B2C-_SDA2_BASE_(r2)
/* 80012C94 0000FBD4 48 25 3E F1 */ bl __ml__4cXyzCFf
/* 80012C98 0000FBD8 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80012C9C 0000FBDC D0 19 00 00 */ stfs f0, 0(r25)
/* 80012CA0 0000FBE0 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80012CA4 0000FBE4 D0 19 00 04 */ stfs f0, 4(r25)
/* 80012CA8 0000FBE8 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80012CAC 0000FBEC D0 19 00 08 */ stfs f0, 8(r25)
/* 80012CB0 0000FBF0 38 61 00 20 */ addi r3, r1, 0x20
/* 80012CB4 0000FBF4 38 81 00 E0 */ addi r4, r1, 0xe0
/* 80012CB8 0000FBF8 C0 22 81 2C */ lfs f1, lbl_80451B2C-_SDA2_BASE_(r2)
/* 80012CBC 0000FBFC 48 25 3E C9 */ bl __ml__4cXyzCFf
/* 80012CC0 0000FC00 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80012CC4 0000FC04 D0 19 00 0C */ stfs f0, 0xc(r25)
/* 80012CC8 0000FC08 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80012CCC 0000FC0C D0 19 00 10 */ stfs f0, 0x10(r25)
/* 80012CD0 0000FC10 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80012CD4 0000FC14 D0 19 00 14 */ stfs f0, 0x14(r25)
/* 80012CD8 0000FC18 3B 5A 00 0C */ addi r26, r26, 0xc
/* 80012CDC 0000FC1C 38 61 00 14 */ addi r3, r1, 0x14
/* 80012CE0 0000FC20 7F 44 D3 78 */ mr r4, r26
/* 80012CE4 0000FC24 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012CE8 0000FC28 3B 39 00 18 */ addi r25, r25, 0x18
/* 80012CEC 0000FC2C 48 25 3D F9 */ bl __pl__4cXyzCFRC3Vec
/* 80012CF0 0000FC30 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80012CF4 0000FC34 D0 01 00 EC */ stfs f0, 0xec(r1)
/* 80012CF8 0000FC38 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80012CFC 0000FC3C D0 01 00 F0 */ stfs f0, 0xf0(r1)
/* 80012D00 0000FC40 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80012D04 0000FC44 D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 80012D08 0000FC48 38 61 00 08 */ addi r3, r1, 8
/* 80012D0C 0000FC4C 7F 44 D3 78 */ mr r4, r26
/* 80012D10 0000FC50 38 A1 00 F8 */ addi r5, r1, 0xf8
/* 80012D14 0000FC54 48 25 3E 21 */ bl __mi__4cXyzCFRC3Vec
/* 80012D18 0000FC58 C0 01 00 08 */ lfs f0, 8(r1)
/* 80012D1C 0000FC5C D0 01 00 E0 */ stfs f0, 0xe0(r1)
/* 80012D20 0000FC60 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80012D24 0000FC64 D0 01 00 E4 */ stfs f0, 0xe4(r1)
/* 80012D28 0000FC68 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80012D2C 0000FC6C D0 01 00 E8 */ stfs f0, 0xe8(r1)
/* 80012D30 0000FC70 3A 73 FF FF */ addi r19, r19, -1
lbl_80012D34:
/* 80012D34 0000FC74 2C 13 00 00 */ cmpwi r19, 0
/* 80012D38 0000FC78 41 81 FD FC */ bgt lbl_80012B34
/* 80012D3C 0000FC7C 88 17 00 00 */ lbz r0, 0(r23)
/* 80012D40 0000FC80 98 16 00 03 */ stb r0, 3(r22)
/* 80012D44 0000FC84 88 17 00 01 */ lbz r0, 1(r23)
/* 80012D48 0000FC88 98 16 00 04 */ stb r0, 4(r22)
/* 80012D4C 0000FC8C 88 17 00 02 */ lbz r0, 2(r23)
/* 80012D50 0000FC90 98 16 00 05 */ stb r0, 5(r22)
/* 80012D54 0000FC94 88 17 00 03 */ lbz r0, 3(r23)
/* 80012D58 0000FC98 98 16 00 06 */ stb r0, 6(r22)
/* 80012D5C 0000FC9C 88 17 00 04 */ lbz r0, 4(r23)
/* 80012D60 0000FCA0 98 16 00 07 */ stb r0, 7(r22)
/* 80012D64 0000FCA4 88 17 00 05 */ lbz r0, 5(r23)
/* 80012D68 0000FCA8 98 16 00 08 */ stb r0, 8(r22)
/* 80012D6C 0000FCAC 28 1E 00 00 */ cmplwi r30, 0
/* 80012D70 0000FCB0 41 82 00 38 */ beq lbl_80012DA8
/* 80012D74 0000FCB4 C0 1A 00 00 */ lfs f0, 0(r26)
/* 80012D78 0000FCB8 D0 19 00 00 */ stfs f0, 0(r25)
/* 80012D7C 0000FCBC C0 1A 00 04 */ lfs f0, 4(r26)
/* 80012D80 0000FCC0 D0 19 00 04 */ stfs f0, 4(r25)
/* 80012D84 0000FCC4 C0 1A 00 08 */ lfs f0, 8(r26)
/* 80012D88 0000FCC8 D0 19 00 08 */ stfs f0, 8(r25)
/* 80012D8C 0000FCCC C0 1A 00 00 */ lfs f0, 0(r26)
/* 80012D90 0000FCD0 D0 19 00 0C */ stfs f0, 0xc(r25)
/* 80012D94 0000FCD4 C0 1A 00 04 */ lfs f0, 4(r26)
/* 80012D98 0000FCD8 D0 19 00 10 */ stfs f0, 0x10(r25)
/* 80012D9C 0000FCDC C0 1A 00 08 */ lfs f0, 8(r26)
/* 80012DA0 0000FCE0 D0 19 00 14 */ stfs f0, 0x14(r25)
/* 80012DA4 0000FCE4 48 00 00 34 */ b lbl_80012DD8
lbl_80012DA8:
/* 80012DA8 0000FCE8 C0 01 00 EC */ lfs f0, 0xec(r1)
/* 80012DAC 0000FCEC D0 19 00 00 */ stfs f0, 0(r25)
/* 80012DB0 0000FCF0 C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 80012DB4 0000FCF4 D0 19 00 04 */ stfs f0, 4(r25)
/* 80012DB8 0000FCF8 C0 01 00 F4 */ lfs f0, 0xf4(r1)
/* 80012DBC 0000FCFC D0 19 00 08 */ stfs f0, 8(r25)
/* 80012DC0 0000FD00 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 80012DC4 0000FD04 D0 19 00 0C */ stfs f0, 0xc(r25)
/* 80012DC8 0000FD08 C0 01 00 E4 */ lfs f0, 0xe4(r1)
/* 80012DCC 0000FD0C D0 19 00 10 */ stfs f0, 0x10(r25)
/* 80012DD0 0000FD10 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 80012DD4 0000FD14 D0 19 00 14 */ stfs f0, 0x14(r25)
lbl_80012DD8:
/* 80012DD8 0000FD18 7F 03 C3 78 */ mr r3, r24
/* 80012DDC 0000FD1C 7F 84 E3 78 */ mr r4, r28
/* 80012DE0 0000FD20 48 32 88 59 */ bl DCStoreRangeNoSync
/* 80012DE4 0000FD24 7E A3 AB 78 */ mr r3, r21
/* 80012DE8 0000FD28 7F 64 DB 78 */ mr r4, r27
/* 80012DEC 0000FD2C 48 32 88 4D */ bl DCStoreRangeNoSync
/* 80012DF0 0000FD30 3B BD 00 20 */ addi r29, r29, 0x20
/* 80012DF4 0000FD34 3A 94 00 01 */ addi r20, r20, 1
lbl_80012DF8:
/* 80012DF8 0000FD38 A0 12 00 10 */ lhz r0, 0x10(r18)
/* 80012DFC 0000FD3C 7C 14 00 00 */ cmpw r20, r0
/* 80012E00 0000FD40 41 80 FB 5C */ blt lbl_8001295C
/* 80012E04 0000FD44 E3 E1 01 98 */ psq_l f31, 408(r1), 0, 0
/* 80012E08 0000FD48 CB E1 01 90 */ lfd f31, 0x190(r1)
/* 80012E0C 0000FD4C E3 C1 01 88 */ psq_l f30, 392(r1), 0, 0
/* 80012E10 0000FD50 CB C1 01 80 */ lfd f30, 0x180(r1)
/* 80012E14 0000FD54 E3 A1 01 78 */ psq_l f29, 376(r1), 0, 0
/* 80012E18 0000FD58 CB A1 01 70 */ lfd f29, 0x170(r1)
/* 80012E1C 0000FD5C E3 81 01 68 */ psq_l f28, 360(r1), 0, 0
/* 80012E20 0000FD60 CB 81 01 60 */ lfd f28, 0x160(r1)
/* 80012E24 0000FD64 39 61 01 60 */ addi r11, r1, 0x160
/* 80012E28 0000FD68 48 34 F3 D5 */ bl _restgpr_18
/* 80012E2C 0000FD6C 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 80012E30 0000FD70 7C 08 03 A6 */ mtlr r0
/* 80012E34 0000FD74 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 80012E38 0000FD78 4E 80 00 20 */ blr