tp/asm/J3DGraphAnimator/J3DMtxBuffer.s

1076 lines
52 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80326214
.global J3DMtxBuffer_NS_initialize
J3DMtxBuffer_NS_initialize:
/* 80326214 00323154 38 80 00 00 */ li r4, 0
/* 80326218 00323158 90 83 00 00 */ stw r4, 0(r3)
/* 8032621C 0032315C 90 83 00 04 */ stw r4, 4(r3)
/* 80326220 00323160 90 83 00 08 */ stw r4, 8(r3)
/* 80326224 00323164 90 83 00 0C */ stw r4, 0xc(r3)
/* 80326228 00323168 90 83 00 10 */ stw r4, 0x10(r3)
/* 8032622C 0032316C 90 83 00 14 */ stw r4, 0x14(r3)
/* 80326230 00323170 90 83 00 18 */ stw r4, 0x18(r3)
/* 80326234 00323174 90 83 00 1C */ stw r4, 0x1c(r3)
/* 80326238 00323178 90 83 00 20 */ stw r4, 0x20(r3)
/* 8032623C 0032317C 90 83 00 24 */ stw r4, 0x24(r3)
/* 80326240 00323180 90 83 00 28 */ stw r4, 0x28(r3)
/* 80326244 00323184 38 00 00 01 */ li r0, 1
/* 80326248 00323188 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8032624C 0032318C 90 83 00 30 */ stw r4, 0x30(r3)
/* 80326250 00323190 90 83 00 34 */ stw r4, 0x34(r3)
/* 80326254 00323194 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_create
J3DMtxBuffer_NS_create:
/* 80326258 00323198 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032625C 0032319C 7C 08 02 A6 */ mflr r0
/* 80326260 003231A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80326264 003231A4 39 61 00 20 */ addi r11, r1, 0x20
/* 80326268 003231A8 48 03 BF 71 */ bl _savegpr_28
/* 8032626C 003231AC 7C 7C 1B 78 */ mr r28, r3
/* 80326270 003231B0 7C 9D 23 78 */ mr r29, r4
/* 80326274 003231B4 7C BE 2B 78 */ mr r30, r5
/* 80326278 003231B8 93 C3 00 2C */ stw r30, 0x2c(r3)
/* 8032627C 003231BC 38 1D 00 10 */ addi r0, r29, 0x10
/* 80326280 003231C0 90 03 00 00 */ stw r0, 0(r3)
/* 80326284 003231C4 48 00 00 E1 */ bl J3DMtxBuffer_NS_createAnmMtx
/* 80326288 003231C8 2C 03 00 00 */ cmpwi r3, 0
/* 8032628C 003231CC 41 82 00 08 */ beq lbl_80326294
/* 80326290 003231D0 48 00 00 BC */ b lbl_8032634C
lbl_80326294:
/* 80326294 003231D4 7F 83 E3 78 */ mr r3, r28
/* 80326298 003231D8 7F A4 EB 78 */ mr r4, r29
/* 8032629C 003231DC 48 00 01 55 */ bl J3DMtxBuffer_NS_createWeightEnvelopeMtx
/* 803262A0 003231E0 7C 7F 1B 79 */ or. r31, r3, r3
/* 803262A4 003231E4 41 82 00 08 */ beq lbl_803262AC
/* 803262A8 003231E8 48 00 00 A4 */ b lbl_8032634C
lbl_803262AC:
/* 803262AC 003231EC 80 7D 00 08 */ lwz r3, 8(r29)
/* 803262B0 003231F0 54 60 C7 FF */ rlwinm. r0, r3, 0x18, 0x1f, 0x1f
/* 803262B4 003231F4 41 82 00 10 */ beq lbl_803262C4
/* 803262B8 003231F8 7F 83 E3 78 */ mr r3, r28
/* 803262BC 003231FC 48 00 01 D1 */ bl J3DMtxBuffer_NS_setNoUseDrawMtx
/* 803262C0 00323200 48 00 00 44 */ b lbl_80326304
lbl_803262C4:
/* 803262C4 00323204 54 60 06 F6 */ rlwinm r0, r3, 0, 0x1b, 0x1b
/* 803262C8 00323208 2C 00 00 10 */ cmpwi r0, 0x10
/* 803262CC 0032320C 41 82 00 14 */ beq lbl_803262E0
/* 803262D0 00323210 40 80 00 20 */ bge lbl_803262F0
/* 803262D4 00323214 2C 00 00 00 */ cmpwi r0, 0
/* 803262D8 00323218 41 82 00 18 */ beq lbl_803262F0
/* 803262DC 0032321C 48 00 00 14 */ b lbl_803262F0
lbl_803262E0:
/* 803262E0 00323220 7F 83 E3 78 */ mr r3, r28
/* 803262E4 00323224 48 00 01 A9 */ bl J3DMtxBuffer_NS_setNoUseDrawMtx
/* 803262E8 00323228 7C 7F 1B 78 */ mr r31, r3
/* 803262EC 0032322C 48 00 00 18 */ b lbl_80326304
lbl_803262F0:
/* 803262F0 00323230 7F 83 E3 78 */ mr r3, r28
/* 803262F4 00323234 7F A4 EB 78 */ mr r4, r29
/* 803262F8 00323238 7F C5 F3 78 */ mr r5, r30
/* 803262FC 0032323C 48 00 01 BD */ bl J3DMtxBuffer_NS_createDoubleDrawMtx
/* 80326300 00323240 7C 7F 1B 78 */ mr r31, r3
lbl_80326304:
/* 80326304 00323244 2C 1F 00 00 */ cmpwi r31, 0
/* 80326308 00323248 41 82 00 0C */ beq lbl_80326314
/* 8032630C 0032324C 7F E3 FB 78 */ mr r3, r31
/* 80326310 00323250 48 00 00 3C */ b lbl_8032634C
lbl_80326314:
/* 80326314 00323254 80 1D 00 08 */ lwz r0, 8(r29)
/* 80326318 00323258 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 8032631C 0032325C 41 82 00 10 */ beq lbl_8032632C
/* 80326320 00323260 38 00 00 00 */ li r0, 0
/* 80326324 00323264 B0 1D 00 0C */ sth r0, 0xc(r29)
/* 80326328 00323268 48 00 00 20 */ b lbl_80326348
lbl_8032632C:
/* 8032632C 0032326C 7F 83 E3 78 */ mr r3, r28
/* 80326330 00323270 7F A4 EB 78 */ mr r4, r29
/* 80326334 00323274 7F C5 F3 78 */ mr r5, r30
/* 80326338 00323278 48 00 03 2D */ bl J3DMtxBuffer_NS_createBumpMtxArray
/* 8032633C 0032327C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80326340 00323280 41 82 00 08 */ beq lbl_80326348
/* 80326344 00323284 48 00 00 08 */ b lbl_8032634C
lbl_80326348:
/* 80326348 00323288 7F E3 FB 78 */ mr r3, r31
lbl_8032634C:
/* 8032634C 0032328C 39 61 00 20 */ addi r11, r1, 0x20
/* 80326350 00323290 48 03 BE D5 */ bl _restgpr_28
/* 80326354 00323294 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80326358 00323298 7C 08 03 A6 */ mtlr r0
/* 8032635C 0032329C 38 21 00 20 */ addi r1, r1, 0x20
/* 80326360 003232A0 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_createAnmMtx
J3DMtxBuffer_NS_createAnmMtx:
/* 80326364 003232A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80326368 003232A8 7C 08 02 A6 */ mflr r0
/* 8032636C 003232AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80326370 003232B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80326374 003232B4 93 C1 00 08 */ stw r30, 8(r1)
/* 80326378 003232B8 7C 7E 1B 78 */ mr r30, r3
/* 8032637C 003232BC 7C 9F 23 78 */ mr r31, r4
/* 80326380 003232C0 A0 04 00 2C */ lhz r0, 0x2c(r4)
/* 80326384 003232C4 28 00 00 00 */ cmplwi r0, 0
/* 80326388 003232C8 41 82 00 28 */ beq lbl_803263B0
/* 8032638C 003232CC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80326390 003232D0 4B FA 89 35 */ bl __nwa__FUl
/* 80326394 003232D4 90 7E 00 04 */ stw r3, 4(r30)
/* 80326398 003232D8 A0 1F 00 2C */ lhz r0, 0x2c(r31)
/* 8032639C 003232DC 1C 60 00 30 */ mulli r3, r0, 0x30
/* 803263A0 003232E0 4B FA 89 25 */ bl __nwa__FUl
/* 803263A4 003232E4 90 7E 00 0C */ stw r3, 0xc(r30)
/* 803263A8 003232E8 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 803263AC 003232EC 90 1E 00 34 */ stw r0, 0x34(r30)
lbl_803263B0:
/* 803263B0 003232F0 80 1E 00 04 */ lwz r0, 4(r30)
/* 803263B4 003232F4 28 00 00 00 */ cmplwi r0, 0
/* 803263B8 003232F8 40 82 00 0C */ bne lbl_803263C4
/* 803263BC 003232FC 38 60 00 04 */ li r3, 4
/* 803263C0 00323300 48 00 00 18 */ b lbl_803263D8
lbl_803263C4:
/* 803263C4 00323304 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 803263C8 00323308 28 00 00 00 */ cmplwi r0, 0
/* 803263CC 0032330C 38 60 00 00 */ li r3, 0
/* 803263D0 00323310 40 82 00 08 */ bne lbl_803263D8
/* 803263D4 00323314 38 60 00 04 */ li r3, 4
lbl_803263D8:
/* 803263D8 00323318 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803263DC 0032331C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803263E0 00323320 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803263E4 00323324 7C 08 03 A6 */ mtlr r0
/* 803263E8 00323328 38 21 00 10 */ addi r1, r1, 0x10
/* 803263EC 0032332C 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_createWeightEnvelopeMtx
J3DMtxBuffer_NS_createWeightEnvelopeMtx:
/* 803263F0 00323330 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803263F4 00323334 7C 08 02 A6 */ mflr r0
/* 803263F8 00323338 90 01 00 14 */ stw r0, 0x14(r1)
/* 803263FC 0032333C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80326400 00323340 93 C1 00 08 */ stw r30, 8(r1)
/* 80326404 00323344 7C 7E 1B 78 */ mr r30, r3
/* 80326408 00323348 7C 9F 23 78 */ mr r31, r4
/* 8032640C 0032334C A0 04 00 2E */ lhz r0, 0x2e(r4)
/* 80326410 00323350 28 00 00 00 */ cmplwi r0, 0
/* 80326414 00323354 41 82 00 20 */ beq lbl_80326434
/* 80326418 00323358 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8032641C 0032335C 4B FA 88 A9 */ bl __nwa__FUl
/* 80326420 00323360 90 7E 00 08 */ stw r3, 8(r30)
/* 80326424 00323364 A0 1F 00 2E */ lhz r0, 0x2e(r31)
/* 80326428 00323368 1C 60 00 30 */ mulli r3, r0, 0x30
/* 8032642C 0032336C 4B FA 88 99 */ bl __nwa__FUl
/* 80326430 00323370 90 7E 00 10 */ stw r3, 0x10(r30)
lbl_80326434:
/* 80326434 00323374 A0 7F 00 2E */ lhz r3, 0x2e(r31)
/* 80326438 00323378 28 03 00 00 */ cmplwi r3, 0
/* 8032643C 0032337C 41 82 00 18 */ beq lbl_80326454
/* 80326440 00323380 80 1E 00 08 */ lwz r0, 8(r30)
/* 80326444 00323384 28 00 00 00 */ cmplwi r0, 0
/* 80326448 00323388 40 82 00 0C */ bne lbl_80326454
/* 8032644C 0032338C 38 60 00 04 */ li r3, 4
/* 80326450 00323390 48 00 00 24 */ b lbl_80326474
lbl_80326454:
/* 80326454 00323394 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 80326458 00323398 41 82 00 18 */ beq lbl_80326470
/* 8032645C 0032339C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80326460 003233A0 28 00 00 00 */ cmplwi r0, 0
/* 80326464 003233A4 40 82 00 0C */ bne lbl_80326470
/* 80326468 003233A8 38 60 00 04 */ li r3, 4
/* 8032646C 003233AC 48 00 00 08 */ b lbl_80326474
lbl_80326470:
/* 80326470 003233B0 38 60 00 00 */ li r3, 0
lbl_80326474:
/* 80326474 003233B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80326478 003233B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8032647C 003233BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80326480 003233C0 7C 08 03 A6 */ mtlr r0
/* 80326484 003233C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80326488 003233C8 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_setNoUseDrawMtx
J3DMtxBuffer_NS_setNoUseDrawMtx:
/* 8032648C 003233CC 38 0D 83 F0 */ addi r0, r13, lbl_80450970-_SDA_BASE_
/* 80326490 003233D0 90 03 00 18 */ stw r0, 0x18(r3)
/* 80326494 003233D4 90 03 00 14 */ stw r0, 0x14(r3)
/* 80326498 003233D8 38 0D 83 F4 */ addi r0, r13, lbl_80450974-_SDA_BASE_
/* 8032649C 003233DC 90 03 00 20 */ stw r0, 0x20(r3)
/* 803264A0 003233E0 90 03 00 1C */ stw r0, 0x1c(r3)
/* 803264A4 003233E4 38 00 00 00 */ li r0, 0
/* 803264A8 003233E8 90 03 00 28 */ stw r0, 0x28(r3)
/* 803264AC 003233EC 90 03 00 24 */ stw r0, 0x24(r3)
/* 803264B0 003233F0 38 60 00 00 */ li r3, 0
/* 803264B4 003233F4 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_createDoubleDrawMtx
J3DMtxBuffer_NS_createDoubleDrawMtx:
/* 803264B8 003233F8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803264BC 003233FC 7C 08 02 A6 */ mflr r0
/* 803264C0 00323400 90 01 00 34 */ stw r0, 0x34(r1)
/* 803264C4 00323404 39 61 00 30 */ addi r11, r1, 0x30
/* 803264C8 00323408 48 03 BD 01 */ bl _savegpr_24
/* 803264CC 0032340C 7C 7D 1B 78 */ mr r29, r3
/* 803264D0 00323410 7C 9E 23 78 */ mr r30, r4
/* 803264D4 00323414 7C BF 2B 79 */ or. r31, r5, r5
/* 803264D8 00323418 41 82 00 44 */ beq lbl_8032651C
/* 803264DC 0032341C 3B 00 00 00 */ li r24, 0
/* 803264E0 00323420 3B 60 00 00 */ li r27, 0
/* 803264E4 00323424 57 FA 10 3A */ slwi r26, r31, 2
/* 803264E8 00323428 7F 7C DB 78 */ mr r28, r27
lbl_803264EC:
/* 803264EC 0032342C 7F 43 D3 78 */ mr r3, r26
/* 803264F0 00323430 4B FA 87 D5 */ bl __nwa__FUl
/* 803264F4 00323434 7F 3D DA 14 */ add r25, r29, r27
/* 803264F8 00323438 90 79 00 14 */ stw r3, 0x14(r25)
/* 803264FC 0032343C 7F 43 D3 78 */ mr r3, r26
/* 80326500 00323440 4B FA 87 C5 */ bl __nwa__FUl
/* 80326504 00323444 90 79 00 1C */ stw r3, 0x1c(r25)
/* 80326508 00323448 93 99 00 24 */ stw r28, 0x24(r25)
/* 8032650C 0032344C 3B 18 00 01 */ addi r24, r24, 1
/* 80326510 00323450 2C 18 00 02 */ cmpwi r24, 2
/* 80326514 00323454 3B 7B 00 04 */ addi r27, r27, 4
/* 80326518 00323458 41 80 FF D4 */ blt lbl_803264EC
lbl_8032651C:
/* 8032651C 0032345C 28 1F 00 00 */ cmplwi r31, 0
/* 80326520 00323460 41 82 00 44 */ beq lbl_80326564
/* 80326524 00323464 38 60 00 00 */ li r3, 0
/* 80326528 00323468 38 00 00 02 */ li r0, 2
/* 8032652C 0032346C 7C 09 03 A6 */ mtctr r0
lbl_80326530:
/* 80326530 00323470 7C 9D 1A 14 */ add r4, r29, r3
/* 80326534 00323474 80 04 00 14 */ lwz r0, 0x14(r4)
/* 80326538 00323478 28 00 00 00 */ cmplwi r0, 0
/* 8032653C 0032347C 40 82 00 0C */ bne lbl_80326548
/* 80326540 00323480 38 60 00 04 */ li r3, 4
/* 80326544 00323484 48 00 01 08 */ b lbl_8032664C
lbl_80326548:
/* 80326548 00323488 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 8032654C 0032348C 28 00 00 00 */ cmplwi r0, 0
/* 80326550 00323490 40 82 00 0C */ bne lbl_8032655C
/* 80326554 00323494 38 60 00 04 */ li r3, 4
/* 80326558 00323498 48 00 00 F4 */ b lbl_8032664C
lbl_8032655C:
/* 8032655C 0032349C 38 63 00 04 */ addi r3, r3, 4
/* 80326560 003234A0 42 00 FF D0 */ bdnz lbl_80326530
lbl_80326564:
/* 80326564 003234A4 3B 00 00 00 */ li r24, 0
/* 80326568 003234A8 3B 80 00 00 */ li r28, 0
lbl_8032656C:
/* 8032656C 003234AC 3B 40 00 00 */ li r26, 0
/* 80326570 003234B0 3B 60 00 00 */ li r27, 0
/* 80326574 003234B4 7F 3D E2 14 */ add r25, r29, r28
/* 80326578 003234B8 48 00 00 48 */ b lbl_803265C0
lbl_8032657C:
/* 8032657C 003234BC A0 1E 00 44 */ lhz r0, 0x44(r30)
/* 80326580 003234C0 28 00 00 00 */ cmplwi r0, 0
/* 80326584 003234C4 41 82 00 34 */ beq lbl_803265B8
/* 80326588 003234C8 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8032658C 003234CC 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80326590 003234D0 38 80 00 20 */ li r4, 0x20
/* 80326594 003234D4 4B FA 87 59 */ bl __nwa__FUli
/* 80326598 003234D8 80 99 00 14 */ lwz r4, 0x14(r25)
/* 8032659C 003234DC 7C 64 D9 2E */ stwx r3, r4, r27
/* 803265A0 003234E0 A0 1E 00 44 */ lhz r0, 0x44(r30)
/* 803265A4 003234E4 1C 60 00 24 */ mulli r3, r0, 0x24
/* 803265A8 003234E8 38 80 00 20 */ li r4, 0x20
/* 803265AC 003234EC 4B FA 87 41 */ bl __nwa__FUli
/* 803265B0 003234F0 80 99 00 1C */ lwz r4, 0x1c(r25)
/* 803265B4 003234F4 7C 64 D9 2E */ stwx r3, r4, r27
lbl_803265B8:
/* 803265B8 003234F8 3B 5A 00 01 */ addi r26, r26, 1
/* 803265BC 003234FC 3B 7B 00 04 */ addi r27, r27, 4
lbl_803265C0:
/* 803265C0 00323500 7C 1A F8 40 */ cmplw r26, r31
/* 803265C4 00323504 41 80 FF B8 */ blt lbl_8032657C
/* 803265C8 00323508 3B 18 00 01 */ addi r24, r24, 1
/* 803265CC 0032350C 2C 18 00 02 */ cmpwi r24, 2
/* 803265D0 00323510 3B 9C 00 04 */ addi r28, r28, 4
/* 803265D4 00323514 41 80 FF 98 */ blt lbl_8032656C
/* 803265D8 00323518 38 E0 00 00 */ li r7, 0
/* 803265DC 0032351C 38 60 00 00 */ li r3, 0
lbl_803265E0:
/* 803265E0 00323520 38 80 00 00 */ li r4, 0
/* 803265E4 00323524 7C DD 1A 14 */ add r6, r29, r3
/* 803265E8 00323528 7F E9 03 A6 */ mtctr r31
/* 803265EC 0032352C 28 1F 00 00 */ cmplwi r31, 0
/* 803265F0 00323530 40 81 00 48 */ ble lbl_80326638
lbl_803265F4:
/* 803265F4 00323534 A0 1E 00 44 */ lhz r0, 0x44(r30)
/* 803265F8 00323538 28 00 00 00 */ cmplwi r0, 0
/* 803265FC 0032353C 41 82 00 34 */ beq lbl_80326630
/* 80326600 00323540 80 A6 00 14 */ lwz r5, 0x14(r6)
/* 80326604 00323544 7C 05 20 2E */ lwzx r0, r5, r4
/* 80326608 00323548 28 00 00 00 */ cmplwi r0, 0
/* 8032660C 0032354C 40 82 00 0C */ bne lbl_80326618
/* 80326610 00323550 38 60 00 04 */ li r3, 4
/* 80326614 00323554 48 00 00 38 */ b lbl_8032664C
lbl_80326618:
/* 80326618 00323558 80 A6 00 1C */ lwz r5, 0x1c(r6)
/* 8032661C 0032355C 7C 05 20 2E */ lwzx r0, r5, r4
/* 80326620 00323560 28 00 00 00 */ cmplwi r0, 0
/* 80326624 00323564 40 82 00 0C */ bne lbl_80326630
/* 80326628 00323568 38 60 00 04 */ li r3, 4
/* 8032662C 0032356C 48 00 00 20 */ b lbl_8032664C
lbl_80326630:
/* 80326630 00323570 38 84 00 04 */ addi r4, r4, 4
/* 80326634 00323574 42 00 FF C0 */ bdnz lbl_803265F4
lbl_80326638:
/* 80326638 00323578 38 E7 00 01 */ addi r7, r7, 1
/* 8032663C 0032357C 2C 07 00 02 */ cmpwi r7, 2
/* 80326640 00323580 38 63 00 04 */ addi r3, r3, 4
/* 80326644 00323584 41 80 FF 9C */ blt lbl_803265E0
/* 80326648 00323588 38 60 00 00 */ li r3, 0
lbl_8032664C:
/* 8032664C 0032358C 39 61 00 30 */ addi r11, r1, 0x30
/* 80326650 00323590 48 03 BB C5 */ bl _restgpr_24
/* 80326654 00323594 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80326658 00323598 7C 08 03 A6 */ mtlr r0
/* 8032665C 0032359C 38 21 00 30 */ addi r1, r1, 0x30
/* 80326660 003235A0 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_createBumpMtxArray
J3DMtxBuffer_NS_createBumpMtxArray:
/* 80326664 003235A4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80326668 003235A8 7C 08 02 A6 */ mflr r0
/* 8032666C 003235AC 90 01 00 44 */ stw r0, 0x44(r1)
/* 80326670 003235B0 39 61 00 40 */ addi r11, r1, 0x40
/* 80326674 003235B4 48 03 BB 41 */ bl _savegpr_19
/* 80326678 003235B8 7C 77 1B 78 */ mr r23, r3
/* 8032667C 003235BC 7C 98 23 78 */ mr r24, r4
/* 80326680 003235C0 7C B9 2B 78 */ mr r25, r5
/* 80326684 003235C4 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80326688 003235C8 28 00 00 00 */ cmplwi r0, 0
/* 8032668C 003235CC 40 82 02 2C */ bne lbl_803268B8
/* 80326690 003235D0 3A 60 00 00 */ li r19, 0
/* 80326694 003235D4 3B A0 00 00 */ li r29, 0
/* 80326698 003235D8 A2 98 00 5C */ lhz r20, 0x5c(r24)
/* 8032669C 003235DC 3A C0 00 00 */ li r22, 0
/* 803266A0 003235E0 48 00 00 44 */ b lbl_803266E4
lbl_803266A4:
/* 803266A4 003235E4 80 78 00 60 */ lwz r3, 0x60(r24)
/* 803266A8 003235E8 56 C0 13 BA */ rlwinm r0, r22, 2, 0xe, 0x1d
/* 803266AC 003235EC 7E A3 00 2E */ lwzx r21, r3, r0
/* 803266B0 003235F0 80 75 00 28 */ lwz r3, 0x28(r21)
/* 803266B4 003235F4 81 83 00 00 */ lwz r12, 0(r3)
/* 803266B8 003235F8 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 803266BC 003235FC 7D 89 03 A6 */ mtctr r12
/* 803266C0 00323600 4E 80 04 21 */ bctrl
/* 803266C4 00323604 88 03 00 00 */ lbz r0, 0(r3)
/* 803266C8 00323608 28 00 00 01 */ cmplwi r0, 1
/* 803266CC 0032360C 40 82 00 14 */ bne lbl_803266E0
/* 803266D0 00323610 80 75 00 08 */ lwz r3, 8(r21)
/* 803266D4 00323614 4B FE E7 55 */ bl J3DShape_NS_countBumpMtxNum
/* 803266D8 00323618 7E 73 1A 14 */ add r19, r19, r3
/* 803266DC 0032361C 3B BD 00 01 */ addi r29, r29, 1
lbl_803266E0:
/* 803266E0 00323620 3A D6 00 01 */ addi r22, r22, 1
lbl_803266E4:
/* 803266E4 00323624 56 C0 04 3E */ clrlwi r0, r22, 0x10
/* 803266E8 00323628 7C 00 A0 40 */ cmplw r0, r20
/* 803266EC 0032362C 41 80 FF B8 */ blt lbl_803266A4
/* 803266F0 00323630 56 60 04 3F */ clrlwi. r0, r19, 0x10
/* 803266F4 00323634 41 82 00 4C */ beq lbl_80326740
/* 803266F8 00323638 28 19 00 00 */ cmplwi r25, 0
/* 803266FC 0032363C 41 82 00 44 */ beq lbl_80326740
/* 80326700 00323640 3A 80 00 00 */ li r20, 0
/* 80326704 00323644 3A A0 00 00 */ li r21, 0
/* 80326708 00323648 57 B3 13 BA */ rlwinm r19, r29, 2, 0xe, 0x1d
lbl_8032670C:
/* 8032670C 0032364C 7E 63 9B 78 */ mr r3, r19
/* 80326710 00323650 4B FA 85 B5 */ bl __nwa__FUl
/* 80326714 00323654 38 15 00 24 */ addi r0, r21, 0x24
/* 80326718 00323658 7C 77 01 2E */ stwx r3, r23, r0
/* 8032671C 0032365C 7C 17 00 2E */ lwzx r0, r23, r0
/* 80326720 00323660 28 00 00 00 */ cmplwi r0, 0
/* 80326724 00323664 40 82 00 0C */ bne lbl_80326730
/* 80326728 00323668 38 60 00 04 */ li r3, 4
/* 8032672C 0032366C 48 00 01 90 */ b lbl_803268BC
lbl_80326730:
/* 80326730 00323670 3A 94 00 01 */ addi r20, r20, 1
/* 80326734 00323674 2C 14 00 02 */ cmpwi r20, 2
/* 80326738 00323678 3A B5 00 04 */ addi r21, r21, 4
/* 8032673C 0032367C 41 80 FF D0 */ blt lbl_8032670C
lbl_80326740:
/* 80326740 00323680 3B 80 00 00 */ li r28, 0
/* 80326744 00323684 3A C0 00 00 */ li r22, 0
/* 80326748 00323688 57 3E 10 3A */ slwi r30, r25, 2
lbl_8032674C:
/* 8032674C 0032368C 3B 60 00 00 */ li r27, 0
/* 80326750 00323690 3A A0 00 00 */ li r21, 0
/* 80326754 00323694 A2 98 00 5C */ lhz r20, 0x5c(r24)
/* 80326758 00323698 3B 40 00 00 */ li r26, 0
/* 8032675C 0032369C 3B F6 00 24 */ addi r31, r22, 0x24
/* 80326760 003236A0 48 00 00 6C */ b lbl_803267CC
lbl_80326764:
/* 80326764 003236A4 80 78 00 60 */ lwz r3, 0x60(r24)
/* 80326768 003236A8 57 40 13 BA */ rlwinm r0, r26, 2, 0xe, 0x1d
/* 8032676C 003236AC 7E 63 00 2E */ lwzx r19, r3, r0
/* 80326770 003236B0 80 73 00 28 */ lwz r3, 0x28(r19)
/* 80326774 003236B4 81 83 00 00 */ lwz r12, 0(r3)
/* 80326778 003236B8 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8032677C 003236BC 7D 89 03 A6 */ mtctr r12
/* 80326780 003236C0 4E 80 04 21 */ bctrl
/* 80326784 003236C4 88 03 00 00 */ lbz r0, 0(r3)
/* 80326788 003236C8 28 00 00 01 */ cmplwi r0, 1
/* 8032678C 003236CC 40 82 00 3C */ bne lbl_803267C8
/* 80326790 003236D0 7F C3 F3 78 */ mr r3, r30
/* 80326794 003236D4 4B FA 85 31 */ bl __nwa__FUl
/* 80326798 003236D8 7C 97 F8 2E */ lwzx r4, r23, r31
/* 8032679C 003236DC 7C 64 A9 2E */ stwx r3, r4, r21
/* 803267A0 003236E0 7C 77 F8 2E */ lwzx r3, r23, r31
/* 803267A4 003236E4 7C 03 A8 2E */ lwzx r0, r3, r21
/* 803267A8 003236E8 28 00 00 00 */ cmplwi r0, 0
/* 803267AC 003236EC 40 82 00 0C */ bne lbl_803267B8
/* 803267B0 003236F0 38 60 00 04 */ li r3, 4
/* 803267B4 003236F4 48 00 01 08 */ b lbl_803268BC
lbl_803267B8:
/* 803267B8 003236F8 80 73 00 08 */ lwz r3, 8(r19)
/* 803267BC 003236FC 93 63 00 64 */ stw r27, 0x64(r3)
/* 803267C0 00323700 3B 7B 00 01 */ addi r27, r27, 1
/* 803267C4 00323704 3A B5 00 04 */ addi r21, r21, 4
lbl_803267C8:
/* 803267C8 00323708 3B 5A 00 01 */ addi r26, r26, 1
lbl_803267CC:
/* 803267CC 0032370C 57 40 04 3E */ clrlwi r0, r26, 0x10
/* 803267D0 00323710 7C 00 A0 40 */ cmplw r0, r20
/* 803267D4 00323714 41 80 FF 90 */ blt lbl_80326764
/* 803267D8 00323718 3B 9C 00 01 */ addi r28, r28, 1
/* 803267DC 0032371C 2C 1C 00 02 */ cmpwi r28, 2
/* 803267E0 00323720 3A D6 00 04 */ addi r22, r22, 4
/* 803267E4 00323724 41 80 FF 68 */ blt lbl_8032674C
/* 803267E8 00323728 3B 40 00 00 */ li r26, 0
/* 803267EC 0032372C 3B 80 00 00 */ li r28, 0
lbl_803267F0:
/* 803267F0 00323730 3B E0 00 00 */ li r31, 0
/* 803267F4 00323734 A2 B8 00 5C */ lhz r21, 0x5c(r24)
/* 803267F8 00323738 3B 60 00 00 */ li r27, 0
/* 803267FC 0032373C 3B DC 00 24 */ addi r30, r28, 0x24
/* 80326800 00323740 48 00 00 8C */ b lbl_8032688C
lbl_80326804:
/* 80326804 00323744 80 78 00 60 */ lwz r3, 0x60(r24)
/* 80326808 00323748 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 8032680C 0032374C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326810 00323750 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80326814 00323754 81 83 00 00 */ lwz r12, 0(r3)
/* 80326818 00323758 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 8032681C 0032375C 7D 89 03 A6 */ mtctr r12
/* 80326820 00323760 4E 80 04 21 */ bctrl
/* 80326824 00323764 88 03 00 00 */ lbz r0, 0(r3)
/* 80326828 00323768 28 00 00 01 */ cmplwi r0, 1
/* 8032682C 0032376C 40 82 00 5C */ bne lbl_80326888
/* 80326830 00323770 3A 60 00 00 */ li r19, 0
/* 80326834 00323774 3A C0 00 00 */ li r22, 0
/* 80326838 00323778 48 00 00 44 */ b lbl_8032687C
lbl_8032683C:
/* 8032683C 0032377C A0 18 00 44 */ lhz r0, 0x44(r24)
/* 80326840 00323780 1C 60 00 24 */ mulli r3, r0, 0x24
/* 80326844 00323784 38 80 00 20 */ li r4, 0x20
/* 80326848 00323788 4B FA 84 A5 */ bl __nwa__FUli
/* 8032684C 0032378C 7C 17 F0 2E */ lwzx r0, r23, r30
/* 80326850 00323790 7C 9F 00 2E */ lwzx r4, r31, r0
/* 80326854 00323794 7C 64 B1 2E */ stwx r3, r4, r22
/* 80326858 00323798 7C 17 F0 2E */ lwzx r0, r23, r30
/* 8032685C 0032379C 7C 7F 00 2E */ lwzx r3, r31, r0
/* 80326860 003237A0 7C 03 B0 2E */ lwzx r0, r3, r22
/* 80326864 003237A4 28 00 00 00 */ cmplwi r0, 0
/* 80326868 003237A8 40 82 00 0C */ bne lbl_80326874
/* 8032686C 003237AC 38 60 00 04 */ li r3, 4
/* 80326870 003237B0 48 00 00 4C */ b lbl_803268BC
lbl_80326874:
/* 80326874 003237B4 3A 73 00 01 */ addi r19, r19, 1
/* 80326878 003237B8 3A D6 00 04 */ addi r22, r22, 4
lbl_8032687C:
/* 8032687C 003237BC 7C 13 C8 40 */ cmplw r19, r25
/* 80326880 003237C0 41 80 FF BC */ blt lbl_8032683C
/* 80326884 003237C4 3B FF 00 04 */ addi r31, r31, 4
lbl_80326888:
/* 80326888 003237C8 3B 7B 00 01 */ addi r27, r27, 1
lbl_8032688C:
/* 8032688C 003237CC 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 80326890 003237D0 7C 00 A8 40 */ cmplw r0, r21
/* 80326894 003237D4 41 80 FF 70 */ blt lbl_80326804
/* 80326898 003237D8 3B 5A 00 01 */ addi r26, r26, 1
/* 8032689C 003237DC 2C 1A 00 02 */ cmpwi r26, 2
/* 803268A0 003237E0 3B 9C 00 04 */ addi r28, r28, 4
/* 803268A4 003237E4 41 80 FF 4C */ blt lbl_803267F0
/* 803268A8 003237E8 57 A0 04 3F */ clrlwi. r0, r29, 0x10
/* 803268AC 003237EC 41 82 00 0C */ beq lbl_803268B8
/* 803268B0 003237F0 38 00 00 01 */ li r0, 1
/* 803268B4 003237F4 B0 18 00 0C */ sth r0, 0xc(r24)
lbl_803268B8:
/* 803268B8 003237F8 38 60 00 00 */ li r3, 0
lbl_803268BC:
/* 803268BC 003237FC 39 61 00 40 */ addi r11, r1, 0x40
/* 803268C0 00323800 48 03 B9 41 */ bl _restgpr_19
/* 803268C4 00323804 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803268C8 00323808 7C 08 03 A6 */ mtlr r0
/* 803268CC 0032380C 38 21 00 40 */ addi r1, r1, 0x40
/* 803268D0 00323810 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_calcWeightEnvelopeMtx
J3DMtxBuffer_NS_calcWeightEnvelopeMtx:
/* 803268D4 00323814 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 803268D8 00323818 7C 08 02 A6 */ mflr r0
/* 803268DC 0032381C 90 01 00 74 */ stw r0, 0x74(r1)
/* 803268E0 00323820 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 803268E4 00323824 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 803268E8 00323828 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 803268EC 0032382C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 803268F0 00323830 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 803268F4 00323834 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 803268F8 00323838 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 803268FC 0032383C F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 80326900 00323840 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 80326904 00323844 F3 61 00 28 */ psq_st f27, 40(r1), 0, qr0
/* 80326908 00323848 39 61 00 20 */ addi r11, r1, 0x20
/* 8032690C 0032384C 48 03 B8 D1 */ bl _savegpr_29
/* 80326910 00323850 38 ED 83 F8 */ addi r7, r13, lbl_80450978-_SDA_BASE_
/* 80326914 00323854 3B E0 FF FF */ li r31, -1
/* 80326918 00323858 38 80 FF D0 */ li r4, -48
/* 8032691C 0032385C 80 C3 00 00 */ lwz r6, 0(r3)
/* 80326920 00323860 A1 06 00 1E */ lhz r8, 0x1e(r6)
/* 80326924 00323864 80 A6 00 24 */ lwz r5, 0x24(r6)
/* 80326928 00323868 3B C5 FF FE */ addi r30, r5, -2
/* 8032692C 0032386C 80 A6 00 28 */ lwz r5, 0x28(r6)
/* 80326930 00323870 3B A5 FF FC */ addi r29, r5, -4
/* 80326934 00323874 E3 67 00 00 */ psq_l f27, 0(r7), 0, qr0
/* 80326938 00323878 11 5B DC 20 */ ps_merge00 f10, f27, f27
/* 8032693C 0032387C 11 9B DC 20 */ ps_merge00 f12, f27, f27
/* 80326940 00323880 13 FB DC 20 */ ps_merge00 f31, f27, f27
/* 80326944 00323884 48 00 01 38 */ b lbl_80326A7C
lbl_80326948:
/* 80326948 00323888 80 E3 00 08 */ lwz r7, 8(r3)
/* 8032694C 0032388C 38 00 00 01 */ li r0, 1
/* 80326950 00323890 7C 07 F9 AE */ stbx r0, r7, r31
/* 80326954 00323894 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80326958 00323898 7D 40 22 14 */ add r10, r0, r4
/* 8032695C 0032389C 11 3B DC 20 */ ps_merge00 f9, f27, f27
/* 80326960 003238A0 11 7B DC 20 */ ps_merge00 f11, f27, f27
/* 80326964 003238A4 11 BB DC 20 */ ps_merge00 f13, f27, f27
/* 80326968 003238A8 39 80 00 00 */ li r12, 0
/* 8032696C 003238AC 80 A3 00 00 */ lwz r5, 0(r3)
/* 80326970 003238B0 80 A5 00 20 */ lwz r5, 0x20(r5)
/* 80326974 003238B4 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80326978 003238B8 7D 25 00 AE */ lbzx r9, r5, r0
lbl_8032697C:
/* 8032697C 003238BC A5 7E 00 02 */ lhzu r11, 2(r30)
/* 80326980 003238C0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80326984 003238C4 80 05 00 2C */ lwz r0, 0x2c(r5)
/* 80326988 003238C8 1C AB 00 30 */ mulli r5, r11, 0x30
/* 8032698C 003238CC 7C C0 2A 14 */ add r6, r0, r5
/* 80326990 003238D0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80326994 003238D4 7C A0 2A 14 */ add r5, r0, r5
/* 80326998 003238D8 E0 46 00 00 */ psq_l f2, 0(r6), 0, qr0
/* 8032699C 003238DC E0 25 00 00 */ psq_l f1, 0(r5), 0, qr0
/* 803269A0 003238E0 E0 65 00 10 */ psq_l f3, 16(r5), 0, qr0
/* 803269A4 003238E4 E0 A5 00 20 */ psq_l f5, 32(r5), 0, qr0
/* 803269A8 003238E8 11 02 00 58 */ ps_muls0 f8, f2, f1
/* 803269AC 003238EC E0 C6 00 10 */ psq_l f6, 16(r6), 0, qr0
/* 803269B0 003238F0 13 C2 00 D8 */ ps_muls0 f30, f2, f3
/* 803269B4 003238F4 13 A2 01 58 */ ps_muls0 f29, f2, f5
/* 803269B8 003238F8 E0 E6 00 20 */ psq_l f7, 32(r6), 0, qr0
/* 803269BC 003238FC 11 06 40 5E */ ps_madds1 f8, f6, f1, f8
/* 803269C0 00323900 E0 45 00 08 */ psq_l f2, 8(r5), 0, qr0
/* 803269C4 00323904 13 C6 F0 DE */ ps_madds1 f30, f6, f3, f30
/* 803269C8 00323908 E0 85 00 18 */ psq_l f4, 24(r5), 0, qr0
/* 803269CC 0032390C 13 A6 E9 5E */ ps_madds1 f29, f6, f5, f29
/* 803269D0 00323910 E0 C5 00 28 */ psq_l f6, 40(r5), 0, qr0
/* 803269D4 00323914 11 07 40 9C */ ps_madds0 f8, f7, f2, f8
/* 803269D8 00323918 C4 1D 00 04 */ lfsu f0, 4(r29)
/* 803269DC 0032391C 13 C7 F1 1C */ ps_madds0 f30, f7, f4, f30
/* 803269E0 00323920 13 A7 E9 9C */ ps_madds0 f29, f7, f6, f29
/* 803269E4 00323924 E0 E6 00 08 */ psq_l f7, 8(r6), 0, qr0
/* 803269E8 00323928 11 28 48 1C */ ps_madds0 f9, f8, f0, f9
/* 803269EC 0032392C 11 7E 58 1C */ ps_madds0 f11, f30, f0, f11
/* 803269F0 00323930 11 BD 68 1C */ ps_madds0 f13, f29, f0, f13
/* 803269F4 00323934 E1 06 00 18 */ psq_l f8, 24(r6), 0, qr0
/* 803269F8 00323938 13 C7 00 58 */ ps_muls0 f30, f7, f1
/* 803269FC 0032393C 13 A7 00 D8 */ ps_muls0 f29, f7, f3
/* 80326A00 00323940 13 87 01 58 */ ps_muls0 f28, f7, f5
/* 80326A04 00323944 E0 E6 00 28 */ psq_l f7, 40(r6), 0, qr0
/* 80326A08 00323948 F1 2A 00 00 */ psq_st f9, 0(r10), 0, qr0
/* 80326A0C 0032394C 13 C8 F0 5E */ ps_madds1 f30, f8, f1, f30
/* 80326A10 00323950 13 A8 E8 DE */ ps_madds1 f29, f8, f3, f29
/* 80326A14 00323954 13 88 E1 5E */ ps_madds1 f28, f8, f5, f28
/* 80326A18 00323958 13 C7 F0 9C */ ps_madds0 f30, f7, f2, f30
/* 80326A1C 0032395C 13 A7 E9 1C */ ps_madds0 f29, f7, f4, f29
/* 80326A20 00323960 13 87 E1 9C */ ps_madds0 f28, f7, f6, f28
/* 80326A24 00323964 F1 6A 00 10 */ psq_st f11, 16(r10), 0, qr0
/* 80326A28 00323968 F1 AA 00 20 */ psq_st f13, 32(r10), 0, qr0
/* 80326A2C 0032396C 13 DB F0 BA */ ps_madd f30, f27, f2, f30
/* 80326A30 00323970 13 BB E9 3A */ ps_madd f29, f27, f4, f29
/* 80326A34 00323974 13 9B E1 BA */ ps_madd f28, f27, f6, f28
/* 80326A38 00323978 11 5E 50 1C */ ps_madds0 f10, f30, f0, f10
/* 80326A3C 0032397C 11 9D 60 1C */ ps_madds0 f12, f29, f0, f12
/* 80326A40 00323980 13 FC F8 1C */ ps_madds0 f31, f28, f0, f31
/* 80326A44 00323984 7C C7 F8 AE */ lbzx r6, r7, r31
/* 80326A48 00323988 80 A3 00 04 */ lwz r5, 4(r3)
/* 80326A4C 0032398C 7C 05 58 AE */ lbzx r0, r5, r11
/* 80326A50 00323990 7C C0 00 38 */ and r0, r6, r0
/* 80326A54 00323994 7C 07 F9 AE */ stbx r0, r7, r31
/* 80326A58 00323998 39 8C 00 01 */ addi r12, r12, 1
/* 80326A5C 0032399C 7C 0C 48 00 */ cmpw r12, r9
/* 80326A60 003239A0 41 80 FF 1C */ blt lbl_8032697C
/* 80326A64 003239A4 F1 4A 00 08 */ psq_st f10, 8(r10), 0, qr0
/* 80326A68 003239A8 11 5B DC 20 */ ps_merge00 f10, f27, f27
/* 80326A6C 003239AC F1 8A 00 18 */ psq_st f12, 24(r10), 0, qr0
/* 80326A70 003239B0 11 9B DC 20 */ ps_merge00 f12, f27, f27
/* 80326A74 003239B4 F3 EA 00 28 */ psq_st f31, 40(r10), 0, qr0
/* 80326A78 003239B8 13 FB DC 20 */ ps_merge00 f31, f27, f27
lbl_80326A7C:
/* 80326A7C 003239BC 3B FF 00 01 */ addi r31, r31, 1
/* 80326A80 003239C0 7C 1F 40 00 */ cmpw r31, r8
/* 80326A84 003239C4 38 84 00 30 */ addi r4, r4, 0x30
/* 80326A88 003239C8 41 80 FE C0 */ blt lbl_80326948
/* 80326A8C 003239CC E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80326A90 003239D0 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80326A94 003239D4 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 80326A98 003239D8 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 80326A9C 003239DC E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 80326AA0 003239E0 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 80326AA4 003239E4 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 80326AA8 003239E8 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 80326AAC 003239EC E3 61 00 28 */ psq_l f27, 40(r1), 0, qr0
/* 80326AB0 003239F0 CB 61 00 20 */ lfd f27, 0x20(r1)
/* 80326AB4 003239F4 39 61 00 20 */ addi r11, r1, 0x20
/* 80326AB8 003239F8 48 03 B7 71 */ bl _restgpr_29
/* 80326ABC 003239FC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80326AC0 00323A00 7C 08 03 A6 */ mtlr r0
/* 80326AC4 00323A04 38 21 00 70 */ addi r1, r1, 0x70
/* 80326AC8 00323A08 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_calcDrawMtx
J3DMtxBuffer_NS_calcDrawMtx:
/* 80326ACC 00323A0C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80326AD0 00323A10 7C 08 02 A6 */ mflr r0
/* 80326AD4 00323A14 90 01 00 54 */ stw r0, 0x54(r1)
/* 80326AD8 00323A18 39 61 00 50 */ addi r11, r1, 0x50
/* 80326ADC 00323A1C 48 03 B6 F9 */ bl _savegpr_27
/* 80326AE0 00323A20 7C 7C 1B 78 */ mr r28, r3
/* 80326AE4 00323A24 2C 04 00 01 */ cmpwi r4, 1
/* 80326AE8 00323A28 41 82 00 D0 */ beq lbl_80326BB8
/* 80326AEC 00323A2C 40 80 00 10 */ bge lbl_80326AFC
/* 80326AF0 00323A30 2C 04 00 00 */ cmpwi r4, 0
/* 80326AF4 00323A34 40 80 00 14 */ bge lbl_80326B08
/* 80326AF8 00323A38 48 00 02 2C */ b lbl_80326D24
lbl_80326AFC:
/* 80326AFC 00323A3C 2C 04 00 03 */ cmpwi r4, 3
/* 80326B00 00323A40 40 80 02 24 */ bge lbl_80326D24
/* 80326B04 00323A44 48 00 01 6C */ b lbl_80326C70
lbl_80326B08:
/* 80326B08 00323A48 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80326B0C 00323A4C 38 03 4A C8 */ addi r0, r3, lbl_80434AC8@l
/* 80326B10 00323A50 7C 1E 03 78 */ mr r30, r0
/* 80326B14 00323A54 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326B18 00323A58 A3 E3 00 36 */ lhz r31, 0x36(r3)
/* 80326B1C 00323A5C 3B A0 00 00 */ li r29, 0
/* 80326B20 00323A60 57 FB 04 3E */ clrlwi r27, r31, 0x10
/* 80326B24 00323A64 48 00 00 48 */ b lbl_80326B6C
lbl_80326B28:
/* 80326B28 00323A68 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326B2C 00323A6C 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80326B30 00323A70 57 A6 04 3E */ clrlwi r6, r29, 0x10
/* 80326B34 00323A74 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 80326B38 00323A78 7C 03 02 2E */ lhzx r0, r3, r0
/* 80326B3C 00323A7C 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 80326B40 00323A80 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80326B44 00323A84 7C 83 02 14 */ add r4, r3, r0
/* 80326B48 00323A88 7F C3 F3 78 */ mr r3, r30
/* 80326B4C 00323A8C 80 BC 00 18 */ lwz r5, 0x18(r28)
/* 80326B50 00323A90 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 80326B54 00323A94 54 00 10 3A */ slwi r0, r0, 2
/* 80326B58 00323A98 7C A5 00 2E */ lwzx r5, r5, r0
/* 80326B5C 00323A9C 1C 06 00 30 */ mulli r0, r6, 0x30
/* 80326B60 00323AA0 7C A5 02 14 */ add r5, r5, r0
/* 80326B64 00323AA4 48 01 F9 81 */ bl PSMTXConcat
/* 80326B68 00323AA8 3B BD 00 01 */ addi r29, r29, 1
lbl_80326B6C:
/* 80326B6C 00323AAC 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 80326B70 00323AB0 7C 00 D8 40 */ cmplw r0, r27
/* 80326B74 00323AB4 41 80 FF B4 */ blt lbl_80326B28
/* 80326B78 00323AB8 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326B7C 00323ABC A0 03 00 34 */ lhz r0, 0x34(r3)
/* 80326B80 00323AC0 57 E7 04 3E */ clrlwi r7, r31, 0x10
/* 80326B84 00323AC4 7C 00 38 40 */ cmplw r0, r7
/* 80326B88 00323AC8 40 81 01 9C */ ble lbl_80326D24
/* 80326B8C 00323ACC A0 C3 00 1E */ lhz r6, 0x1e(r3)
/* 80326B90 00323AD0 7F C3 F3 78 */ mr r3, r30
/* 80326B94 00323AD4 80 9C 00 10 */ lwz r4, 0x10(r28)
/* 80326B98 00323AD8 80 BC 00 18 */ lwz r5, 0x18(r28)
/* 80326B9C 00323ADC 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 80326BA0 00323AE0 54 00 10 3A */ slwi r0, r0, 2
/* 80326BA4 00323AE4 7C A5 00 2E */ lwzx r5, r5, r0
/* 80326BA8 00323AE8 1C 07 00 30 */ mulli r0, r7, 0x30
/* 80326BAC 00323AEC 7C A5 02 14 */ add r5, r5, r0
/* 80326BB0 00323AF0 4B FE B3 C1 */ bl J3DPSMtxArrayConcat
/* 80326BB4 00323AF4 48 00 01 70 */ b lbl_80326D24
lbl_80326BB8:
/* 80326BB8 00323AF8 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326BBC 00323AFC A3 A3 00 36 */ lhz r29, 0x36(r3)
/* 80326BC0 00323B00 3B 60 00 00 */ li r27, 0
/* 80326BC4 00323B04 48 00 00 44 */ b lbl_80326C08
lbl_80326BC8:
/* 80326BC8 00323B08 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326BCC 00323B0C 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80326BD0 00323B10 57 65 04 3E */ clrlwi r5, r27, 0x10
/* 80326BD4 00323B14 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e
/* 80326BD8 00323B18 7C 03 02 2E */ lhzx r0, r3, r0
/* 80326BDC 00323B1C 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 80326BE0 00323B20 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80326BE4 00323B24 7C 63 02 14 */ add r3, r3, r0
/* 80326BE8 00323B28 80 9C 00 18 */ lwz r4, 0x18(r28)
/* 80326BEC 00323B2C 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 80326BF0 00323B30 54 00 10 3A */ slwi r0, r0, 2
/* 80326BF4 00323B34 7C 84 00 2E */ lwzx r4, r4, r0
/* 80326BF8 00323B38 1C 05 00 30 */ mulli r0, r5, 0x30
/* 80326BFC 00323B3C 7C 84 02 14 */ add r4, r4, r0
/* 80326C00 00323B40 48 01 F8 B1 */ bl PSMTXCopy
/* 80326C04 00323B44 3B 7B 00 01 */ addi r27, r27, 1
lbl_80326C08:
/* 80326C08 00323B48 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 80326C0C 00323B4C 7C 00 E8 40 */ cmplw r0, r29
/* 80326C10 00323B50 41 80 FF B8 */ blt lbl_80326BC8
/* 80326C14 00323B54 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326C18 00323B58 A3 A3 00 36 */ lhz r29, 0x36(r3)
/* 80326C1C 00323B5C 3B 60 00 00 */ li r27, 0
/* 80326C20 00323B60 48 00 00 40 */ b lbl_80326C60
lbl_80326C24:
/* 80326C24 00323B64 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326C28 00323B68 A0 83 00 36 */ lhz r4, 0x36(r3)
/* 80326C2C 00323B6C 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 80326C30 00323B70 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 80326C34 00323B74 54 00 10 3A */ slwi r0, r0, 2
/* 80326C38 00323B78 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326C3C 00323B7C 57 65 04 3E */ clrlwi r5, r27, 0x10
/* 80326C40 00323B80 7C 05 22 14 */ add r0, r5, r4
/* 80326C44 00323B84 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80326C48 00323B88 7C 83 02 14 */ add r4, r3, r0
/* 80326C4C 00323B8C 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 80326C50 00323B90 1C 05 00 30 */ mulli r0, r5, 0x30
/* 80326C54 00323B94 7C 63 02 14 */ add r3, r3, r0
/* 80326C58 00323B98 48 01 F8 59 */ bl PSMTXCopy
/* 80326C5C 00323B9C 3B 7B 00 01 */ addi r27, r27, 1
lbl_80326C60:
/* 80326C60 00323BA0 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 80326C64 00323BA4 7C 00 E8 40 */ cmplw r0, r29
/* 80326C68 00323BA8 41 80 FF BC */ blt lbl_80326C24
/* 80326C6C 00323BAC 48 00 00 B8 */ b lbl_80326D24
lbl_80326C70:
/* 80326C70 00323BB0 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80326C74 00323BB4 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80326C78 00323BB8 7C A4 2B 78 */ mr r4, r5
/* 80326C7C 00323BBC 7C C5 33 78 */ mr r5, r6
/* 80326C80 00323BC0 38 C1 00 08 */ addi r6, r1, 8
/* 80326C84 00323BC4 48 00 03 C5 */ bl J3DCalcViewBaseMtx
/* 80326C88 00323BC8 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326C8C 00323BCC A3 C3 00 36 */ lhz r30, 0x36(r3)
/* 80326C90 00323BD0 3B A0 00 00 */ li r29, 0
/* 80326C94 00323BD4 48 00 00 48 */ b lbl_80326CDC
lbl_80326C98:
/* 80326C98 00323BD8 80 7C 00 00 */ lwz r3, 0(r28)
/* 80326C9C 00323BDC 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80326CA0 00323BE0 57 A6 04 3E */ clrlwi r6, r29, 0x10
/* 80326CA4 00323BE4 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 80326CA8 00323BE8 7C 03 02 2E */ lhzx r0, r3, r0
/* 80326CAC 00323BEC 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 80326CB0 00323BF0 1C 00 00 30 */ mulli r0, r0, 0x30
/* 80326CB4 00323BF4 7C 83 02 14 */ add r4, r3, r0
/* 80326CB8 00323BF8 38 61 00 08 */ addi r3, r1, 8
/* 80326CBC 00323BFC 80 BC 00 18 */ lwz r5, 0x18(r28)
/* 80326CC0 00323C00 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 80326CC4 00323C04 54 00 10 3A */ slwi r0, r0, 2
/* 80326CC8 00323C08 7C A5 00 2E */ lwzx r5, r5, r0
/* 80326CCC 00323C0C 1C 06 00 30 */ mulli r0, r6, 0x30
/* 80326CD0 00323C10 7C A5 02 14 */ add r5, r5, r0
/* 80326CD4 00323C14 48 01 F8 11 */ bl PSMTXConcat
/* 80326CD8 00323C18 3B BD 00 01 */ addi r29, r29, 1
lbl_80326CDC:
/* 80326CDC 00323C1C 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 80326CE0 00323C20 7C 00 F0 40 */ cmplw r0, r30
/* 80326CE4 00323C24 41 80 FF B4 */ blt lbl_80326C98
/* 80326CE8 00323C28 80 BC 00 00 */ lwz r5, 0(r28)
/* 80326CEC 00323C2C A0 85 00 36 */ lhz r4, 0x36(r5)
/* 80326CF0 00323C30 A0 05 00 34 */ lhz r0, 0x34(r5)
/* 80326CF4 00323C34 7C 00 20 40 */ cmplw r0, r4
/* 80326CF8 00323C38 40 81 00 2C */ ble lbl_80326D24
/* 80326CFC 00323C3C A0 C5 00 1E */ lhz r6, 0x1e(r5)
/* 80326D00 00323C40 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 80326D04 00323C44 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 80326D08 00323C48 54 00 10 3A */ slwi r0, r0, 2
/* 80326D0C 00323C4C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326D10 00323C50 1C 04 00 30 */ mulli r0, r4, 0x30
/* 80326D14 00323C54 7C A3 02 14 */ add r5, r3, r0
/* 80326D18 00323C58 38 61 00 08 */ addi r3, r1, 8
/* 80326D1C 00323C5C 80 9C 00 10 */ lwz r4, 0x10(r28)
/* 80326D20 00323C60 4B FE B2 51 */ bl J3DPSMtxArrayConcat
lbl_80326D24:
/* 80326D24 00323C64 39 61 00 50 */ addi r11, r1, 0x50
/* 80326D28 00323C68 48 03 B4 F9 */ bl _restgpr_27
/* 80326D2C 00323C6C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80326D30 00323C70 7C 08 03 A6 */ mtlr r0
/* 80326D34 00323C74 38 21 00 50 */ addi r1, r1, 0x50
/* 80326D38 00323C78 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_calcNrmMtx
J3DMtxBuffer_NS_calcNrmMtx:
/* 80326D3C 00323C7C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80326D40 00323C80 7C 08 02 A6 */ mflr r0
/* 80326D44 00323C84 90 01 00 24 */ stw r0, 0x24(r1)
/* 80326D48 00323C88 39 61 00 20 */ addi r11, r1, 0x20
/* 80326D4C 00323C8C 48 03 B4 91 */ bl _savegpr_29
/* 80326D50 00323C90 7C 7E 1B 78 */ mr r30, r3
/* 80326D54 00323C94 80 63 00 00 */ lwz r3, 0(r3)
/* 80326D58 00323C98 A3 A3 00 34 */ lhz r29, 0x34(r3)
/* 80326D5C 00323C9C 3B E0 00 00 */ li r31, 0
/* 80326D60 00323CA0 48 00 01 6C */ b lbl_80326ECC
lbl_80326D64:
/* 80326D64 00323CA4 80 9E 00 00 */ lwz r4, 0(r30)
/* 80326D68 00323CA8 80 64 00 38 */ lwz r3, 0x38(r4)
/* 80326D6C 00323CAC 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80326D70 00323CB0 7C 63 00 AE */ lbzx r3, r3, r0
/* 80326D74 00323CB4 28 03 00 00 */ cmplwi r3, 0
/* 80326D78 00323CB8 40 82 00 AC */ bne lbl_80326E24
/* 80326D7C 00323CBC 80 84 00 3C */ lwz r4, 0x3c(r4)
/* 80326D80 00323CC0 54 03 08 3C */ slwi r3, r0, 1
/* 80326D84 00323CC4 7C 84 1A 2E */ lhzx r4, r4, r3
/* 80326D88 00323CC8 80 7E 00 04 */ lwz r3, 4(r30)
/* 80326D8C 00323CCC 7C 63 20 AE */ lbzx r3, r3, r4
/* 80326D90 00323CD0 28 03 00 01 */ cmplwi r3, 1
/* 80326D94 00323CD4 40 82 00 60 */ bne lbl_80326DF4
/* 80326D98 00323CD8 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 80326D9C 00323CDC 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 80326DA0 00323CE0 54 65 10 3A */ slwi r5, r3, 2
/* 80326DA4 00323CE4 7C 84 28 2E */ lwzx r4, r4, r5
/* 80326DA8 00323CE8 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80326DAC 00323CEC 7C 84 1A 14 */ add r4, r4, r3
/* 80326DB0 00323CF0 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80326DB4 00323CF4 7C 63 28 2E */ lwzx r3, r3, r5
/* 80326DB8 00323CF8 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80326DBC 00323CFC 7C 63 02 14 */ add r3, r3, r0
/* 80326DC0 00323D00 E0 A4 00 00 */ psq_l f5, 0(r4), 0, qr0
/* 80326DC4 00323D04 C0 84 00 08 */ lfs f4, 8(r4)
/* 80326DC8 00323D08 E0 64 00 10 */ psq_l f3, 16(r4), 0, qr0
/* 80326DCC 00323D0C C0 44 00 18 */ lfs f2, 0x18(r4)
/* 80326DD0 00323D10 E0 24 00 20 */ psq_l f1, 32(r4), 0, qr0
/* 80326DD4 00323D14 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 80326DD8 00323D18 F0 A3 00 00 */ psq_st f5, 0(r3), 0, qr0
/* 80326DDC 00323D1C D0 83 00 08 */ stfs f4, 8(r3)
/* 80326DE0 00323D20 F0 63 00 0C */ psq_st f3, 12(r3), 0, qr0
/* 80326DE4 00323D24 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 80326DE8 00323D28 F0 23 00 18 */ psq_st f1, 24(r3), 0, qr0
/* 80326DEC 00323D2C D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80326DF0 00323D30 48 00 00 D8 */ b lbl_80326EC8
lbl_80326DF4:
/* 80326DF4 00323D34 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 80326DF8 00323D38 54 65 10 3A */ slwi r5, r3, 2
/* 80326DFC 00323D3C 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80326E00 00323D40 7C 83 28 2E */ lwzx r4, r3, r5
/* 80326E04 00323D44 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80326E08 00323D48 7C 64 1A 14 */ add r3, r4, r3
/* 80326E0C 00323D4C 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 80326E10 00323D50 7C 84 28 2E */ lwzx r4, r4, r5
/* 80326E14 00323D54 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80326E18 00323D58 7C 84 02 14 */ add r4, r4, r0
/* 80326E1C 00323D5C 4B FE AA 81 */ bl J3DPSCalcInverseTranspose
/* 80326E20 00323D60 48 00 00 A8 */ b lbl_80326EC8
lbl_80326E24:
/* 80326E24 00323D64 80 84 00 3C */ lwz r4, 0x3c(r4)
/* 80326E28 00323D68 54 03 08 3C */ slwi r3, r0, 1
/* 80326E2C 00323D6C 7C 84 1A 2E */ lhzx r4, r4, r3
/* 80326E30 00323D70 80 7E 00 08 */ lwz r3, 8(r30)
/* 80326E34 00323D74 7C 63 20 AE */ lbzx r3, r3, r4
/* 80326E38 00323D78 28 03 00 01 */ cmplwi r3, 1
/* 80326E3C 00323D7C 40 82 00 60 */ bne lbl_80326E9C
/* 80326E40 00323D80 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 80326E44 00323D84 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 80326E48 00323D88 54 65 10 3A */ slwi r5, r3, 2
/* 80326E4C 00323D8C 7C 84 28 2E */ lwzx r4, r4, r5
/* 80326E50 00323D90 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80326E54 00323D94 7C 84 1A 14 */ add r4, r4, r3
/* 80326E58 00323D98 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80326E5C 00323D9C 7C 63 28 2E */ lwzx r3, r3, r5
/* 80326E60 00323DA0 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80326E64 00323DA4 7C 63 02 14 */ add r3, r3, r0
/* 80326E68 00323DA8 E0 A4 00 00 */ psq_l f5, 0(r4), 0, qr0
/* 80326E6C 00323DAC C0 84 00 08 */ lfs f4, 8(r4)
/* 80326E70 00323DB0 E0 64 00 10 */ psq_l f3, 16(r4), 0, qr0
/* 80326E74 00323DB4 C0 44 00 18 */ lfs f2, 0x18(r4)
/* 80326E78 00323DB8 E0 24 00 20 */ psq_l f1, 32(r4), 0, qr0
/* 80326E7C 00323DBC C0 04 00 28 */ lfs f0, 0x28(r4)
/* 80326E80 00323DC0 F0 A3 00 00 */ psq_st f5, 0(r3), 0, qr0
/* 80326E84 00323DC4 D0 83 00 08 */ stfs f4, 8(r3)
/* 80326E88 00323DC8 F0 63 00 0C */ psq_st f3, 12(r3), 0, qr0
/* 80326E8C 00323DCC D0 43 00 14 */ stfs f2, 0x14(r3)
/* 80326E90 00323DD0 F0 23 00 18 */ psq_st f1, 24(r3), 0, qr0
/* 80326E94 00323DD4 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80326E98 00323DD8 48 00 00 30 */ b lbl_80326EC8
lbl_80326E9C:
/* 80326E9C 00323DDC 80 7E 00 30 */ lwz r3, 0x30(r30)
/* 80326EA0 00323DE0 54 65 10 3A */ slwi r5, r3, 2
/* 80326EA4 00323DE4 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80326EA8 00323DE8 7C 83 28 2E */ lwzx r4, r3, r5
/* 80326EAC 00323DEC 1C 60 00 30 */ mulli r3, r0, 0x30
/* 80326EB0 00323DF0 7C 64 1A 14 */ add r3, r4, r3
/* 80326EB4 00323DF4 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 80326EB8 00323DF8 7C 84 28 2E */ lwzx r4, r4, r5
/* 80326EBC 00323DFC 1C 00 00 24 */ mulli r0, r0, 0x24
/* 80326EC0 00323E00 7C 84 02 14 */ add r4, r4, r0
/* 80326EC4 00323E04 4B FE A9 D9 */ bl J3DPSCalcInverseTranspose
lbl_80326EC8:
/* 80326EC8 00323E08 3B FF 00 01 */ addi r31, r31, 1
lbl_80326ECC:
/* 80326ECC 00323E0C 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 80326ED0 00323E10 7C 00 E8 40 */ cmplw r0, r29
/* 80326ED4 00323E14 41 80 FE 90 */ blt lbl_80326D64
/* 80326ED8 00323E18 39 61 00 20 */ addi r11, r1, 0x20
/* 80326EDC 00323E1C 48 03 B3 4D */ bl _restgpr_29
/* 80326EE0 00323E20 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80326EE4 00323E24 7C 08 03 A6 */ mtlr r0
/* 80326EE8 00323E28 38 21 00 20 */ addi r1, r1, 0x20
/* 80326EEC 00323E2C 4E 80 00 20 */ blr
.global J3DMtxBuffer_NS_calcBBoardMtx
J3DMtxBuffer_NS_calcBBoardMtx:
/* 80326EF0 00323E30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80326EF4 00323E34 7C 08 02 A6 */ mflr r0
/* 80326EF8 00323E38 90 01 00 24 */ stw r0, 0x24(r1)
/* 80326EFC 00323E3C 39 61 00 20 */ addi r11, r1, 0x20
/* 80326F00 00323E40 48 03 B2 D5 */ bl _savegpr_27
/* 80326F04 00323E44 7C 7D 1B 78 */ mr r29, r3
/* 80326F08 00323E48 80 63 00 00 */ lwz r3, 0(r3)
/* 80326F0C 00323E4C A3 83 00 34 */ lhz r28, 0x34(r3)
/* 80326F10 00323E50 3B C0 00 00 */ li r30, 0
/* 80326F14 00323E54 48 00 01 10 */ b lbl_80327024
lbl_80326F18:
/* 80326F18 00323E58 80 9D 00 00 */ lwz r4, 0(r29)
/* 80326F1C 00323E5C 80 64 00 38 */ lwz r3, 0x38(r4)
/* 80326F20 00323E60 57 DF 04 3E */ clrlwi r31, r30, 0x10
/* 80326F24 00323E64 7C 03 F8 AE */ lbzx r0, r3, r31
/* 80326F28 00323E68 28 00 00 00 */ cmplwi r0, 0
/* 80326F2C 00323E6C 40 82 00 F4 */ bne lbl_80327020
/* 80326F30 00323E70 80 64 00 3C */ lwz r3, 0x3c(r4)
/* 80326F34 00323E74 57 E0 08 3C */ slwi r0, r31, 1
/* 80326F38 00323E78 7C 03 02 2E */ lhzx r0, r3, r0
/* 80326F3C 00323E7C 80 64 00 18 */ lwz r3, 0x18(r4)
/* 80326F40 00323E80 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80326F44 00323E84 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326F48 00323E88 88 03 00 16 */ lbz r0, 0x16(r3)
/* 80326F4C 00323E8C 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 80326F50 00323E90 28 00 00 01 */ cmplwi r0, 1
/* 80326F54 00323E94 40 82 00 84 */ bne lbl_80326FD8
/* 80326F58 00323E98 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80326F5C 00323E9C 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 80326F60 00323EA0 54 00 10 3A */ slwi r0, r0, 2
/* 80326F64 00323EA4 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326F68 00323EA8 1C 1F 00 30 */ mulli r0, r31, 0x30
/* 80326F6C 00323EAC 7F 63 02 14 */ add r27, r3, r0
/* 80326F70 00323EB0 7F 63 DB 78 */ mr r3, r27
/* 80326F74 00323EB4 4B FE A6 FD */ bl J3DCalcBBoardMtx
/* 80326F78 00323EB8 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 80326F7C 00323EBC 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 80326F80 00323EC0 54 00 10 3A */ slwi r0, r0, 2
/* 80326F84 00323EC4 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326F88 00323EC8 1C 1F 00 24 */ mulli r0, r31, 0x24
/* 80326F8C 00323ECC 7C 63 02 14 */ add r3, r3, r0
/* 80326F90 00323ED0 C0 42 CA 20 */ lfs f2, lbl_80456420-_SDA2_BASE_(r2)
/* 80326F94 00323ED4 C0 1B 00 00 */ lfs f0, 0(r27)
/* 80326F98 00323ED8 EC 02 00 24 */ fdivs f0, f2, f0
/* 80326F9C 00323EDC D0 03 00 00 */ stfs f0, 0(r3)
/* 80326FA0 00323EE0 C0 22 CA 24 */ lfs f1, lbl_80456424-_SDA2_BASE_(r2)
/* 80326FA4 00323EE4 D0 23 00 04 */ stfs f1, 4(r3)
/* 80326FA8 00323EE8 D0 23 00 08 */ stfs f1, 8(r3)
/* 80326FAC 00323EEC D0 23 00 0C */ stfs f1, 0xc(r3)
/* 80326FB0 00323EF0 C0 1B 00 14 */ lfs f0, 0x14(r27)
/* 80326FB4 00323EF4 EC 02 00 24 */ fdivs f0, f2, f0
/* 80326FB8 00323EF8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80326FBC 00323EFC D0 23 00 14 */ stfs f1, 0x14(r3)
/* 80326FC0 00323F00 D0 23 00 18 */ stfs f1, 0x18(r3)
/* 80326FC4 00323F04 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80326FC8 00323F08 C0 1B 00 28 */ lfs f0, 0x28(r27)
/* 80326FCC 00323F0C EC 02 00 24 */ fdivs f0, f2, f0
/* 80326FD0 00323F10 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80326FD4 00323F14 48 00 00 4C */ b lbl_80327020
lbl_80326FD8:
/* 80326FD8 00323F18 28 00 00 02 */ cmplwi r0, 2
/* 80326FDC 00323F1C 40 82 00 44 */ bne lbl_80327020
/* 80326FE0 00323F20 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80326FE4 00323F24 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 80326FE8 00323F28 54 00 10 3A */ slwi r0, r0, 2
/* 80326FEC 00323F2C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80326FF0 00323F30 1C 1F 00 30 */ mulli r0, r31, 0x30
/* 80326FF4 00323F34 7F 63 02 14 */ add r27, r3, r0
/* 80326FF8 00323F38 7F 63 DB 78 */ mr r3, r27
/* 80326FFC 00323F3C 4B FE A7 65 */ bl J3DCalcYBBoardMtx
/* 80327000 00323F40 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 80327004 00323F44 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 80327008 00323F48 54 00 10 3A */ slwi r0, r0, 2
/* 8032700C 00323F4C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80327010 00323F50 1C 1F 00 24 */ mulli r0, r31, 0x24
/* 80327014 00323F54 7C 83 02 14 */ add r4, r3, r0
/* 80327018 00323F58 7F 63 DB 78 */ mr r3, r27
/* 8032701C 00323F5C 4B FE A8 81 */ bl J3DPSCalcInverseTranspose
lbl_80327020:
/* 80327020 00323F60 3B DE 00 01 */ addi r30, r30, 1
lbl_80327024:
/* 80327024 00323F64 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 80327028 00323F68 7C 00 E0 40 */ cmplw r0, r28
/* 8032702C 00323F6C 41 80 FE EC */ blt lbl_80326F18
/* 80327030 00323F70 39 61 00 20 */ addi r11, r1, 0x20
/* 80327034 00323F74 48 03 B1 ED */ bl _restgpr_27
/* 80327038 00323F78 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032703C 00323F7C 7C 08 03 A6 */ mtlr r0
/* 80327040 00323F80 38 21 00 20 */ addi r1, r1, 0x20
/* 80327044 00323F84 4E 80 00 20 */ blr
.global J3DCalcViewBaseMtx
J3DCalcViewBaseMtx:
/* 80327048 00323F88 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8032704C 00323F8C 7C 08 02 A6 */ mflr r0
/* 80327050 00323F90 90 01 00 44 */ stw r0, 0x44(r1)
/* 80327054 00323F94 C0 05 00 00 */ lfs f0, 0(r5)
/* 80327058 00323F98 C0 64 00 00 */ lfs f3, 0(r4)
/* 8032705C 00323F9C EC 00 00 F2 */ fmuls f0, f0, f3
/* 80327060 00323FA0 D0 01 00 08 */ stfs f0, 8(r1)
/* 80327064 00323FA4 C0 05 00 04 */ lfs f0, 4(r5)
/* 80327068 00323FA8 C0 44 00 04 */ lfs f2, 4(r4)
/* 8032706C 00323FAC EC 00 00 B2 */ fmuls f0, f0, f2
/* 80327070 00323FB0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80327074 00323FB4 C0 05 00 08 */ lfs f0, 8(r5)
/* 80327078 00323FB8 C0 24 00 08 */ lfs f1, 8(r4)
/* 8032707C 00323FBC EC 00 00 72 */ fmuls f0, f0, f1
/* 80327080 00323FC0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80327084 00323FC4 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 80327088 00323FC8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8032708C 00323FCC C0 05 00 10 */ lfs f0, 0x10(r5)
/* 80327090 00323FD0 EC 00 00 F2 */ fmuls f0, f0, f3
/* 80327094 00323FD4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80327098 00323FD8 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 8032709C 00323FDC EC 00 00 B2 */ fmuls f0, f0, f2
/* 803270A0 00323FE0 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 803270A4 00323FE4 C0 05 00 18 */ lfs f0, 0x18(r5)
/* 803270A8 00323FE8 EC 00 00 72 */ fmuls f0, f0, f1
/* 803270AC 00323FEC D0 01 00 20 */ stfs f0, 0x20(r1)
/* 803270B0 00323FF0 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 803270B4 00323FF4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 803270B8 00323FF8 C0 05 00 20 */ lfs f0, 0x20(r5)
/* 803270BC 00323FFC EC 00 00 F2 */ fmuls f0, f0, f3
/* 803270C0 00324000 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 803270C4 00324004 C0 05 00 24 */ lfs f0, 0x24(r5)
/* 803270C8 00324008 EC 00 00 B2 */ fmuls f0, f0, f2
/* 803270CC 0032400C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 803270D0 00324010 C0 05 00 28 */ lfs f0, 0x28(r5)
/* 803270D4 00324014 EC 00 00 72 */ fmuls f0, f0, f1
/* 803270D8 00324018 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 803270DC 0032401C C0 05 00 2C */ lfs f0, 0x2c(r5)
/* 803270E0 00324020 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 803270E4 00324024 38 81 00 08 */ addi r4, r1, 8
/* 803270E8 00324028 7C C5 33 78 */ mr r5, r6
/* 803270EC 0032402C 48 01 F3 F9 */ bl PSMTXConcat
/* 803270F0 00324030 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803270F4 00324034 7C 08 03 A6 */ mtlr r0
/* 803270F8 00324038 38 21 00 40 */ addi r1, r1, 0x40
/* 803270FC 0032403C 4E 80 00 20 */ blr