prime/asm/MetroidPrime/CBoneTracking.s

662 lines
34 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global SetNoHorizontalAim__13CBoneTrackingFb
SetNoHorizontalAim__13CBoneTrackingFb:
/* 801751A8 00172108 88 03 00 36 */ lbz r0, 0x36(r3)
/* 801751AC 0017210C 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 801751B0 00172110 98 03 00 36 */ stb r0, 0x36(r3)
/* 801751B4 00172114 4E 80 00 20 */ blr
.global SetTargetPosition__13CBoneTrackingFRC9CVector3f
SetTargetPosition__13CBoneTrackingFRC9CVector3f:
/* 801751B8 00172118 88 03 00 30 */ lbz r0, 0x30(r3)
/* 801751BC 0017211C 28 00 00 00 */ cmplwi r0, 0
/* 801751C0 00172120 40 82 00 30 */ bne lbl_801751F0
/* 801751C4 00172124 34 A3 00 24 */ addic. r5, r3, 0x24
/* 801751C8 00172128 41 82 00 1C */ beq lbl_801751E4
/* 801751CC 0017212C C0 04 00 00 */ lfs f0, 0(r4)
/* 801751D0 00172130 D0 05 00 00 */ stfs f0, 0(r5)
/* 801751D4 00172134 C0 04 00 04 */ lfs f0, 4(r4)
/* 801751D8 00172138 D0 05 00 04 */ stfs f0, 4(r5)
/* 801751DC 0017213C C0 04 00 08 */ lfs f0, 8(r4)
/* 801751E0 00172140 D0 05 00 08 */ stfs f0, 8(r5)
lbl_801751E4:
/* 801751E4 00172144 38 00 00 01 */ li r0, 1
/* 801751E8 00172148 98 03 00 30 */ stb r0, 0x30(r3)
/* 801751EC 0017214C 4E 80 00 20 */ blr
lbl_801751F0:
/* 801751F0 00172150 C0 04 00 00 */ lfs f0, 0(r4)
/* 801751F4 00172154 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 801751F8 00172158 C0 04 00 04 */ lfs f0, 4(r4)
/* 801751FC 0017215C D0 03 00 28 */ stfs f0, 0x28(r3)
/* 80175200 00172160 C0 04 00 08 */ lfs f0, 8(r4)
/* 80175204 00172164 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 80175208 00172168 4E 80 00 20 */ blr
.global UnsetTarget__13CBoneTrackingFv
UnsetTarget__13CBoneTrackingFv:
/* 8017520C 0017216C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80175210 00172170 B0 03 00 34 */ sth r0, 0x34(r3)
/* 80175214 00172174 4E 80 00 20 */ blr
.global SetTarget__13CBoneTrackingF9TUniqueId
SetTarget__13CBoneTrackingF9TUniqueId:
/* 80175218 00172178 A0 04 00 00 */ lhz r0, 0(r4)
/* 8017521C 0017217C B0 03 00 34 */ sth r0, 0x34(r3)
/* 80175220 00172180 4E 80 00 20 */ blr
.global SetActive__13CBoneTrackingFb
SetActive__13CBoneTrackingFb:
/* 80175224 00172184 88 03 00 36 */ lbz r0, 0x36(r3)
/* 80175228 00172188 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8017522C 0017218C 98 03 00 36 */ stb r0, 0x36(r3)
/* 80175230 00172190 4E 80 00 20 */ blr
.global PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVector3fb
PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVector3fb:
/* 80175234 00172194 94 21 FD A0 */ stwu r1, -0x260(r1)
/* 80175238 00172198 7C 08 02 A6 */ mflr r0
/* 8017523C 0017219C 90 01 02 64 */ stw r0, 0x264(r1)
/* 80175240 001721A0 DB E1 02 50 */ stfd f31, 0x250(r1)
/* 80175244 001721A4 F3 E1 02 58 */ psq_st f31, 600(r1), 0, qr0
/* 80175248 001721A8 BF 01 02 30 */ stmw r24, 0x230(r1)
/* 8017524C 001721AC 7C 7E 1B 78 */ mr r30, r3
/* 80175250 001721B0 7C 99 23 78 */ mr r25, r4
/* 80175254 001721B4 88 03 00 14 */ lbz r0, 0x14(r3)
/* 80175258 001721B8 7C BF 2B 78 */ mr r31, r5
/* 8017525C 001721BC 7C DA 33 78 */ mr r26, r6
/* 80175260 001721C0 7C FB 3B 78 */ mr r27, r7
/* 80175264 001721C4 28 00 00 00 */ cmplwi r0, 0
/* 80175268 001721C8 7D 18 43 78 */ mr r24, r8
/* 8017526C 001721CC 41 82 06 80 */ beq lbl_801758EC
/* 80175270 001721D0 A0 1E 00 34 */ lhz r0, 0x34(r30)
/* 80175274 001721D4 7F 23 CB 78 */ mr r3, r25
/* 80175278 001721D8 3B BF 02 FC */ addi r29, r31, 0x2fc
/* 8017527C 001721DC 38 81 00 10 */ addi r4, r1, 0x10
/* 80175280 001721E0 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80175284 001721E4 4B ED 73 21 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80175288 001721E8 7C 64 1B 78 */ mr r4, r3
/* 8017528C 001721EC 38 61 00 38 */ addi r3, r1, 0x38
/* 80175290 001721F0 4B F3 AA 01 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80175294 001721F4 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 80175298 001721F8 83 83 00 04 */ lwz r28, 4(r3)
/* 8017529C 001721FC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801752A0 00172200 41 82 04 48 */ beq lbl_801756E8
/* 801752A4 00172204 57 00 06 3F */ clrlwi. r0, r24, 0x18
/* 801752A8 00172208 41 82 04 40 */ beq lbl_801756E8
/* 801752AC 0017220C 28 1C 00 00 */ cmplwi r28, 0
/* 801752B0 00172210 40 82 00 10 */ bne lbl_801752C0
/* 801752B4 00172214 88 1E 00 30 */ lbz r0, 0x30(r30)
/* 801752B8 00172218 28 00 00 00 */ cmplwi r0, 0
/* 801752BC 0017221C 41 82 04 2C */ beq lbl_801756E8
lbl_801752C0:
/* 801752C0 00172220 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 801752C4 00172224 38 60 00 01 */ li r3, 1
/* 801752C8 00172228 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801752CC 0017222C 98 1E 00 36 */ stb r0, 0x36(r30)
/* 801752D0 00172230 88 1D 00 2C */ lbz r0, 0x2c(r29)
/* 801752D4 00172234 28 00 00 00 */ cmplwi r0, 0
/* 801752D8 00172238 41 82 00 0C */ beq lbl_801752E4
/* 801752DC 0017223C 38 7D 00 0C */ addi r3, r29, 0xc
/* 801752E0 00172240 48 00 00 08 */ b lbl_801752E8
lbl_801752E4:
/* 801752E4 00172244 7F A3 EB 78 */ mr r3, r29
lbl_801752E8:
/* 801752E8 00172248 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 801752EC 0017224C 80 63 00 08 */ lwz r3, 8(r3)
/* 801752F0 00172250 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 801752F4 00172254 41 82 00 0C */ beq lbl_80175300
/* 801752F8 00172258 38 BE 00 14 */ addi r5, r30, 0x14
/* 801752FC 0017225C 48 00 00 2C */ b lbl_80175328
lbl_80175300:
/* 80175300 00172260 88 1E 00 14 */ lbz r0, 0x14(r30)
/* 80175304 00172264 38 A1 00 08 */ addi r5, r1, 8
/* 80175308 00172268 80 83 00 00 */ lwz r4, 0(r3)
/* 8017530C 0017226C 54 00 08 3C */ slwi r0, r0, 1
/* 80175310 00172270 7C 64 02 14 */ add r3, r4, r0
/* 80175314 00172274 80 84 00 D0 */ lwz r4, 0xd0(r4)
/* 80175318 00172278 88 03 00 09 */ lbz r0, 9(r3)
/* 8017531C 0017227C 54 00 2C F4 */ rlwinm r0, r0, 5, 0x13, 0x1a
/* 80175320 00172280 7C 04 00 AE */ lbzx r0, r4, r0
/* 80175324 00172284 98 01 00 08 */ stb r0, 8(r1)
lbl_80175328:
/* 80175328 00172288 88 05 00 00 */ lbz r0, 0(r5)
/* 8017532C 0017228C 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 80175330 00172290 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l
/* 80175334 00172294 98 01 00 0C */ stb r0, 0xc(r1)
/* 80175338 00172298 38 61 01 FC */ addi r3, r1, 0x1fc
/* 8017533C 0017229C 48 19 D8 39 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80175340 001722A0 7F A3 EB 78 */ mr r3, r29
/* 80175344 001722A4 38 81 00 0C */ addi r4, r1, 0xc
/* 80175348 001722A8 38 A1 01 FC */ addi r5, r1, 0x1fc
/* 8017534C 001722AC 48 18 70 1D */ bl BuildTransform__21CHierarchyPoseBuilderCFRC6CSegIdR12CTransform4f
/* 80175350 001722B0 88 7E 00 36 */ lbz r3, 0x36(r30)
/* 80175354 001722B4 C0 A1 02 28 */ lfs f5, 0x228(r1)
/* 80175358 001722B8 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8017535C 001722BC C0 81 02 18 */ lfs f4, 0x218(r1)
/* 80175360 001722C0 C0 61 02 08 */ lfs f3, 0x208(r1)
/* 80175364 001722C4 41 82 00 38 */ beq lbl_8017539C
/* 80175368 001722C8 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8017536C 001722CC 40 82 00 30 */ bne lbl_8017539C
/* 80175370 001722D0 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 80175374 001722D4 38 61 01 CC */ addi r3, r1, 0x1cc
/* 80175378 001722D8 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 8017537C 001722DC 48 19 D7 F9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80175380 001722E0 7F A3 EB 78 */ mr r3, r29
/* 80175384 001722E4 38 9E 00 14 */ addi r4, r30, 0x14
/* 80175388 001722E8 38 A1 01 CC */ addi r5, r1, 0x1cc
/* 8017538C 001722EC 48 18 6F DD */ bl BuildTransform__21CHierarchyPoseBuilderCFRC6CSegIdR12CTransform4f
/* 80175390 001722F0 C0 61 01 D8 */ lfs f3, 0x1d8(r1)
/* 80175394 001722F4 C0 81 01 E8 */ lfs f4, 0x1e8(r1)
/* 80175398 001722F8 C0 A1 01 F8 */ lfs f5, 0x1f8(r1)
lbl_8017539C:
/* 8017539C 001722FC C0 5B 00 08 */ lfs f2, 8(r27)
/* 801753A0 00172300 7F 44 D3 78 */ mr r4, r26
/* 801753A4 00172304 C0 3B 00 04 */ lfs f1, 4(r27)
/* 801753A8 00172308 38 61 01 6C */ addi r3, r1, 0x16c
/* 801753AC 0017230C C0 1B 00 00 */ lfs f0, 0(r27)
/* 801753B0 00172310 EC 42 01 72 */ fmuls f2, f2, f5
/* 801753B4 00172314 EC 21 01 32 */ fmuls f1, f1, f4
/* 801753B8 00172318 38 A1 01 FC */ addi r5, r1, 0x1fc
/* 801753BC 0017231C EC 00 00 F2 */ fmuls f0, f0, f3
/* 801753C0 00172320 D0 41 02 28 */ stfs f2, 0x228(r1)
/* 801753C4 00172324 D0 01 02 08 */ stfs f0, 0x208(r1)
/* 801753C8 00172328 D0 21 02 18 */ stfs f1, 0x218(r1)
/* 801753CC 0017232C 48 19 D5 85 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 801753D0 00172330 38 61 01 9C */ addi r3, r1, 0x19c
/* 801753D4 00172334 38 81 01 6C */ addi r4, r1, 0x16c
/* 801753D8 00172338 48 19 D7 9D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801753DC 0017233C 28 1C 00 00 */ cmplwi r28, 0
/* 801753E0 00172340 41 82 00 2C */ beq lbl_8017540C
/* 801753E4 00172344 7F 84 E3 78 */ mr r4, r28
/* 801753E8 00172348 7F 25 CB 78 */ mr r5, r25
/* 801753EC 0017234C 81 9C 00 00 */ lwz r12, 0(r28)
/* 801753F0 00172350 38 61 01 04 */ addi r3, r1, 0x104
/* 801753F4 00172354 C0 22 A1 78 */ lfs f1, lbl_805ABE98@sda21(r2)
/* 801753F8 00172358 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 801753FC 0017235C 7D 89 03 A6 */ mtctr r12
/* 80175400 00172360 4E 80 04 21 */ bctrl
/* 80175404 00172364 38 C1 01 04 */ addi r6, r1, 0x104
/* 80175408 00172368 48 00 00 08 */ b lbl_80175410
lbl_8017540C:
/* 8017540C 0017236C 38 DE 00 24 */ addi r6, r30, 0x24
lbl_80175410:
/* 80175410 00172370 C0 46 00 04 */ lfs f2, 4(r6)
/* 80175414 00172374 38 61 00 EC */ addi r3, r1, 0xec
/* 80175418 00172378 C0 21 01 B8 */ lfs f1, 0x1b8(r1)
/* 8017541C 0017237C 38 81 01 9C */ addi r4, r1, 0x19c
/* 80175420 00172380 C0 86 00 08 */ lfs f4, 8(r6)
/* 80175424 00172384 38 A1 00 40 */ addi r5, r1, 0x40
/* 80175428 00172388 C0 01 01 C8 */ lfs f0, 0x1c8(r1)
/* 8017542C 0017238C EC 22 08 28 */ fsubs f1, f2, f1
/* 80175430 00172390 C0 66 00 00 */ lfs f3, 0(r6)
/* 80175434 00172394 C0 41 01 A8 */ lfs f2, 0x1a8(r1)
/* 80175438 00172398 EC 04 00 28 */ fsubs f0, f4, f0
/* 8017543C 0017239C D0 21 00 44 */ stfs f1, 0x44(r1)
/* 80175440 001723A0 EC 23 10 28 */ fsubs f1, f3, f2
/* 80175444 001723A4 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80175448 001723A8 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 8017544C 001723AC 48 19 D5 D9 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 80175450 001723B0 38 61 00 F8 */ addi r3, r1, 0xf8
/* 80175454 001723B4 38 81 00 EC */ addi r4, r1, 0xec
/* 80175458 001723B8 48 19 F3 F9 */ bl AsNormalized__9CVector3fCFv
/* 8017545C 001723BC C0 21 00 F8 */ lfs f1, 0xf8(r1)
/* 80175460 001723C0 C0 41 00 FC */ lfs f2, 0xfc(r1)
/* 80175464 001723C4 C0 01 01 00 */ lfs f0, 0x100(r1)
/* 80175468 001723C8 D0 21 01 60 */ stfs f1, 0x160(r1)
/* 8017546C 001723CC D0 41 01 64 */ stfs f2, 0x164(r1)
/* 80175470 001723D0 D0 01 01 68 */ stfs f0, 0x168(r1)
/* 80175474 001723D4 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 80175478 001723D8 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8017547C 001723DC 41 82 00 28 */ beq lbl_801754A4
/* 80175480 001723E0 EC 21 00 72 */ fmuls f1, f1, f1
/* 80175484 001723E4 EC 02 00 B2 */ fmuls f0, f2, f2
/* 80175488 001723E8 EC 21 00 2A */ fadds f1, f1, f0
/* 8017548C 001723EC 48 1A 00 75 */ bl SqrtF__5CMathFf
/* 80175490 001723F0 C0 41 01 68 */ lfs f2, 0x168(r1)
/* 80175494 001723F4 C0 02 A1 78 */ lfs f0, lbl_805ABE98@sda21(r2)
/* 80175498 001723F8 D0 21 01 64 */ stfs f1, 0x164(r1)
/* 8017549C 001723FC D0 01 01 60 */ stfs f0, 0x160(r1)
/* 801754A0 00172400 D0 41 01 68 */ stfs f2, 0x168(r1)
lbl_801754A4:
/* 801754A4 00172404 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 801754A8 00172408 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 801754AC 0017240C 41 82 00 94 */ beq lbl_80175540
/* 801754B0 00172410 C0 41 02 20 */ lfs f2, 0x220(r1)
/* 801754B4 00172414 C0 21 02 00 */ lfs f1, 0x200(r1)
/* 801754B8 00172418 FF E0 10 50 */ fneg f31, f2
/* 801754BC 0017241C C0 02 A1 7C */ lfs f0, lbl_805ABE9C@sda21(r2)
/* 801754C0 00172420 C0 61 02 10 */ lfs f3, 0x210(r1)
/* 801754C4 00172424 D0 21 00 E0 */ stfs f1, 0xe0(r1)
/* 801754C8 00172428 EC 3F 07 FC */ fnmsubs f1, f31, f31, f0
/* 801754CC 0017242C D0 61 00 E4 */ stfs f3, 0xe4(r1)
/* 801754D0 00172430 D0 41 00 E8 */ stfs f2, 0xe8(r1)
/* 801754D4 00172434 48 1A 00 2D */ bl SqrtF__5CMathFf
/* 801754D8 00172438 C0 02 A1 78 */ lfs f0, lbl_805ABE98@sda21(r2)
/* 801754DC 0017243C 38 61 01 54 */ addi r3, r1, 0x154
/* 801754E0 00172440 D0 21 01 58 */ stfs f1, 0x158(r1)
/* 801754E4 00172444 38 81 01 60 */ addi r4, r1, 0x160
/* 801754E8 00172448 D0 01 01 54 */ stfs f0, 0x154(r1)
/* 801754EC 0017244C D3 E1 01 5C */ stfs f31, 0x15c(r1)
/* 801754F0 00172450 48 19 F1 41 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f
/* 801754F4 00172454 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 801754F8 00172458 38 61 00 34 */ addi r3, r1, 0x34
/* 801754FC 0017245C 38 9E 00 1C */ addi r4, r30, 0x1c
/* 80175500 00172460 4B F0 88 E1 */ bl "Min<f>__5CMathFRCfRCf"
/* 80175504 00172464 C0 03 00 00 */ lfs f0, 0(r3)
/* 80175508 00172468 38 61 00 D4 */ addi r3, r1, 0xd4
/* 8017550C 0017246C 38 81 01 54 */ addi r4, r1, 0x154
/* 80175510 00172470 38 A1 01 60 */ addi r5, r1, 0x160
/* 80175514 00172474 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80175518 00172478 38 C1 00 1C */ addi r6, r1, 0x1c
/* 8017551C 0017247C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80175520 00172480 48 19 F4 35 */ bl Slerp__9CVector3fFRC9CVector3fRC9CVector3fRC9CRelAngle
/* 80175524 00172484 C0 41 00 D4 */ lfs f2, 0xd4(r1)
/* 80175528 00172488 C0 21 00 D8 */ lfs f1, 0xd8(r1)
/* 8017552C 0017248C C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 80175530 00172490 D0 41 01 60 */ stfs f2, 0x160(r1)
/* 80175534 00172494 D0 21 01 64 */ stfs f1, 0x164(r1)
/* 80175538 00172498 D0 01 01 68 */ stfs f0, 0x168(r1)
/* 8017553C 0017249C 48 00 00 60 */ b lbl_8017559C
lbl_80175540:
/* 80175540 001724A0 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 80175544 001724A4 38 81 01 60 */ addi r4, r1, 0x160
/* 80175548 001724A8 38 63 67 24 */ addi r3, r3, sForwardVector__9CVector3f@l
/* 8017554C 001724AC 48 19 F0 E5 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f
/* 80175550 001724B0 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 80175554 001724B4 38 61 00 30 */ addi r3, r1, 0x30
/* 80175558 001724B8 38 9E 00 1C */ addi r4, r30, 0x1c
/* 8017555C 001724BC 4B F0 88 85 */ bl "Min<f>__5CMathFRCfRCf"
/* 80175560 001724C0 C0 03 00 00 */ lfs f0, 0(r3)
/* 80175564 001724C4 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 80175568 001724C8 38 83 67 24 */ addi r4, r3, sForwardVector__9CVector3f@l
/* 8017556C 001724CC 38 A1 01 60 */ addi r5, r1, 0x160
/* 80175570 001724D0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80175574 001724D4 38 61 00 C8 */ addi r3, r1, 0xc8
/* 80175578 001724D8 38 C1 00 18 */ addi r6, r1, 0x18
/* 8017557C 001724DC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80175580 001724E0 48 19 F3 D5 */ bl Slerp__9CVector3fFRC9CVector3fRC9CVector3fRC9CRelAngle
/* 80175584 001724E4 C0 41 00 C8 */ lfs f2, 0xc8(r1)
/* 80175588 001724E8 C0 21 00 CC */ lfs f1, 0xcc(r1)
/* 8017558C 001724EC C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 80175590 001724F0 D0 41 01 60 */ stfs f2, 0x160(r1)
/* 80175594 001724F4 D0 21 01 64 */ stfs f1, 0x164(r1)
/* 80175598 001724F8 D0 01 01 68 */ stfs f0, 0x168(r1)
lbl_8017559C:
/* 8017559C 001724FC 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 801755A0 00172500 7F C4 F3 78 */ mr r4, r30
/* 801755A4 00172504 38 A3 67 24 */ addi r5, r3, sForwardVector__9CVector3f@l
/* 801755A8 00172508 38 61 00 BC */ addi r3, r1, 0xbc
/* 801755AC 0017250C 48 19 BC B9 */ bl Transform__11CQuaternionCFRC9CVector3f
/* 801755B0 00172510 C0 41 00 BC */ lfs f2, 0xbc(r1)
/* 801755B4 00172514 38 61 01 48 */ addi r3, r1, 0x148
/* 801755B8 00172518 C0 21 00 C0 */ lfs f1, 0xc0(r1)
/* 801755BC 0017251C 38 81 01 60 */ addi r4, r1, 0x160
/* 801755C0 00172520 C0 01 00 C4 */ lfs f0, 0xc4(r1)
/* 801755C4 00172524 D0 41 01 48 */ stfs f2, 0x148(r1)
/* 801755C8 00172528 D0 21 01 4C */ stfs f1, 0x14c(r1)
/* 801755CC 0017252C D0 01 01 50 */ stfs f0, 0x150(r1)
/* 801755D0 00172530 48 19 F0 61 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f
/* 801755D4 00172534 C0 5E 00 18 */ lfs f2, 0x18(r30)
/* 801755D8 00172538 38 61 00 2C */ addi r3, r1, 0x2c
/* 801755DC 0017253C C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 801755E0 00172540 38 81 00 28 */ addi r4, r1, 0x28
/* 801755E4 00172544 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 801755E8 00172548 EC 02 00 32 */ fmuls f0, f2, f0
/* 801755EC 0017254C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 801755F0 00172550 4B F0 87 F1 */ bl "Min<f>__5CMathFRCfRCf"
/* 801755F4 00172554 C3 E3 00 00 */ lfs f31, 0(r3)
/* 801755F8 00172558 C0 02 A1 80 */ lfs f0, lbl_805ABEA0@sda21(r2)
/* 801755FC 0017255C FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 80175600 00172560 40 81 00 98 */ ble lbl_80175698
/* 80175604 00172564 C0 02 A1 84 */ lfs f0, lbl_805ABEA4@sda21(r2)
/* 80175608 00172568 38 61 00 94 */ addi r3, r1, 0x94
/* 8017560C 0017256C 38 81 01 60 */ addi r4, r1, 0x160
/* 80175610 00172570 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80175614 00172574 48 19 E7 BD */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 80175618 00172578 3C 80 80 5A */ lis r4, sForwardVector__9CVector3f@ha
/* 8017561C 0017257C 7C 79 1B 78 */ mr r25, r3
/* 80175620 00172580 38 84 67 24 */ addi r4, r4, sForwardVector__9CVector3f@l
/* 80175624 00172584 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80175628 00172588 48 19 E7 A9 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 8017562C 0017258C 7C 64 1B 78 */ mr r4, r3
/* 80175630 00172590 7F 25 CB 78 */ mr r5, r25
/* 80175634 00172594 38 61 00 AC */ addi r3, r1, 0xac
/* 80175638 00172598 38 C1 00 14 */ addi r6, r1, 0x14
/* 8017563C 0017259C 48 19 C0 59 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle
/* 80175640 001725A0 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80175644 001725A4 7F C4 F3 78 */ mr r4, r30
/* 80175648 001725A8 C0 81 00 AC */ lfs f4, 0xac(r1)
/* 8017564C 001725AC 38 61 00 84 */ addi r3, r1, 0x84
/* 80175650 001725B0 EC 3F 00 24 */ fdivs f1, f31, f0
/* 80175654 001725B4 C0 61 00 B0 */ lfs f3, 0xb0(r1)
/* 80175658 001725B8 C0 41 00 B4 */ lfs f2, 0xb4(r1)
/* 8017565C 001725BC 38 A1 01 38 */ addi r5, r1, 0x138
/* 80175660 001725C0 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 80175664 001725C4 D0 81 01 38 */ stfs f4, 0x138(r1)
/* 80175668 001725C8 D0 61 01 3C */ stfs f3, 0x13c(r1)
/* 8017566C 001725CC D0 41 01 40 */ stfs f2, 0x140(r1)
/* 80175670 001725D0 D0 01 01 44 */ stfs f0, 0x144(r1)
/* 80175674 001725D4 48 19 BF 45 */ bl SlerpLocal__11CQuaternionFRC11CQuaternionRC11CQuaternionf
/* 80175678 001725D8 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 8017567C 001725DC D0 1E 00 00 */ stfs f0, 0(r30)
/* 80175680 001725E0 80 61 00 88 */ lwz r3, 0x88(r1)
/* 80175684 001725E4 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 80175688 001725E8 90 7E 00 04 */ stw r3, 4(r30)
/* 8017568C 001725EC 90 1E 00 08 */ stw r0, 8(r30)
/* 80175690 001725F0 80 01 00 90 */ lwz r0, 0x90(r1)
/* 80175694 001725F4 90 1E 00 0C */ stw r0, 0xc(r30)
lbl_80175698:
/* 80175698 001725F8 88 1E 00 14 */ lbz r0, 0x14(r30)
/* 8017569C 001725FC 38 60 00 00 */ li r3, 0
/* 801756A0 00172600 80 BD 01 08 */ lwz r5, 0x108(r29)
/* 801756A4 00172604 54 00 08 3C */ slwi r0, r0, 1
/* 801756A8 00172608 C0 1E 00 00 */ lfs f0, 0(r30)
/* 801756AC 0017260C 7C 9D 02 14 */ add r4, r29, r0
/* 801756B0 00172610 88 04 00 41 */ lbz r0, 0x41(r4)
/* 801756B4 00172614 54 00 2C F4 */ rlwinm r0, r0, 5, 0x13, 0x1a
/* 801756B8 00172618 7C A5 02 14 */ add r5, r5, r0
/* 801756BC 0017261C D0 05 00 04 */ stfs f0, 4(r5)
/* 801756C0 00172620 80 9E 00 04 */ lwz r4, 4(r30)
/* 801756C4 00172624 80 1E 00 08 */ lwz r0, 8(r30)
/* 801756C8 00172628 90 85 00 08 */ stw r4, 8(r5)
/* 801756CC 0017262C 90 05 00 0C */ stw r0, 0xc(r5)
/* 801756D0 00172630 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 801756D4 00172634 90 05 00 10 */ stw r0, 0x10(r5)
/* 801756D8 00172638 88 1F 02 20 */ lbz r0, 0x220(r31)
/* 801756DC 0017263C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 801756E0 00172640 98 1F 02 20 */ stb r0, 0x220(r31)
/* 801756E4 00172644 48 00 02 08 */ b lbl_801758EC
lbl_801756E8:
/* 801756E8 00172648 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 801756EC 0017264C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801756F0 00172650 41 82 01 A0 */ beq lbl_80175890
/* 801756F4 00172654 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 801756F8 00172658 7F C4 F3 78 */ mr r4, r30
/* 801756FC 0017265C 38 A3 67 24 */ addi r5, r3, sForwardVector__9CVector3f@l
/* 80175700 00172660 38 61 00 78 */ addi r3, r1, 0x78
/* 80175704 00172664 48 19 BB 61 */ bl Transform__11CQuaternionCFRC9CVector3f
/* 80175708 00172668 C0 41 00 78 */ lfs f2, 0x78(r1)
/* 8017570C 0017266C 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha
/* 80175710 00172670 C0 21 00 7C */ lfs f1, 0x7c(r1)
/* 80175714 00172674 38 A3 67 24 */ addi r5, r3, sForwardVector__9CVector3f@l
/* 80175718 00172678 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 8017571C 0017267C 3B 9D 00 40 */ addi r28, r29, 0x40
/* 80175720 00172680 D0 41 01 2C */ stfs f2, 0x12c(r1)
/* 80175724 00172684 38 61 00 6C */ addi r3, r1, 0x6c
/* 80175728 00172688 38 81 01 1C */ addi r4, r1, 0x11c
/* 8017572C 0017268C D0 21 01 30 */ stfs f1, 0x130(r1)
/* 80175730 00172690 D0 01 01 34 */ stfs f0, 0x134(r1)
/* 80175734 00172694 88 1E 00 14 */ lbz r0, 0x14(r30)
/* 80175738 00172698 80 FD 01 08 */ lwz r7, 0x108(r29)
/* 8017573C 0017269C 54 00 08 3C */ slwi r0, r0, 1
/* 80175740 001726A0 7C DC 02 14 */ add r6, r28, r0
/* 80175744 001726A4 88 06 00 01 */ lbz r0, 1(r6)
/* 80175748 001726A8 54 06 2C F4 */ rlwinm r6, r0, 5, 0x13, 0x1a
/* 8017574C 001726AC 38 C6 00 04 */ addi r6, r6, 4
/* 80175750 001726B0 7C C7 32 14 */ add r6, r7, r6
/* 80175754 001726B4 C0 26 00 04 */ lfs f1, 4(r6)
/* 80175758 001726B8 C0 46 00 08 */ lfs f2, 8(r6)
/* 8017575C 001726BC C0 66 00 0C */ lfs f3, 0xc(r6)
/* 80175760 001726C0 C0 06 00 00 */ lfs f0, 0(r6)
/* 80175764 001726C4 D0 01 01 1C */ stfs f0, 0x11c(r1)
/* 80175768 001726C8 D0 21 01 20 */ stfs f1, 0x120(r1)
/* 8017576C 001726CC D0 41 01 24 */ stfs f2, 0x124(r1)
/* 80175770 001726D0 D0 61 01 28 */ stfs f3, 0x128(r1)
/* 80175774 001726D4 48 19 BA F1 */ bl Transform__11CQuaternionCFRC9CVector3f
/* 80175778 001726D8 C0 41 00 6C */ lfs f2, 0x6c(r1)
/* 8017577C 001726DC 38 61 01 2C */ addi r3, r1, 0x12c
/* 80175780 001726E0 C0 21 00 70 */ lfs f1, 0x70(r1)
/* 80175784 001726E4 38 81 01 10 */ addi r4, r1, 0x110
/* 80175788 001726E8 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 8017578C 001726EC D0 41 01 10 */ stfs f2, 0x110(r1)
/* 80175790 001726F0 D0 21 01 14 */ stfs f1, 0x114(r1)
/* 80175794 001726F4 D0 01 01 18 */ stfs f0, 0x118(r1)
/* 80175798 001726F8 48 19 EE 99 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f
/* 8017579C 001726FC C0 5E 00 18 */ lfs f2, 0x18(r30)
/* 801757A0 00172700 38 61 00 24 */ addi r3, r1, 0x24
/* 801757A4 00172704 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 801757A8 00172708 38 81 00 20 */ addi r4, r1, 0x20
/* 801757AC 0017270C D0 21 00 24 */ stfs f1, 0x24(r1)
/* 801757B0 00172710 EC 02 00 32 */ fmuls f0, f2, f0
/* 801757B4 00172714 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801757B8 00172718 4B F0 86 29 */ bl "Min<f>__5CMathFRCfRCf"
/* 801757BC 0017271C C0 22 A1 88 */ lfs f1, lbl_805ABEA8@sda21(r2)
/* 801757C0 00172720 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801757C4 00172724 C0 43 00 00 */ lfs f2, 0(r3)
/* 801757C8 00172728 EC 01 00 32 */ fmuls f0, f1, f0
/* 801757CC 0017272C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801757D0 00172730 40 81 00 8C */ ble lbl_8017585C
/* 801757D4 00172734 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801757D8 00172738 7F C4 F3 78 */ mr r4, r30
/* 801757DC 0017273C 38 61 00 5C */ addi r3, r1, 0x5c
/* 801757E0 00172740 38 A1 01 1C */ addi r5, r1, 0x11c
/* 801757E4 00172744 EC 22 00 24 */ fdivs f1, f2, f0
/* 801757E8 00172748 48 19 BD D1 */ bl SlerpLocal__11CQuaternionFRC11CQuaternionRC11CQuaternionf
/* 801757EC 0017274C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801757F0 00172750 38 60 00 00 */ li r3, 0
/* 801757F4 00172754 D0 1E 00 00 */ stfs f0, 0(r30)
/* 801757F8 00172758 80 81 00 60 */ lwz r4, 0x60(r1)
/* 801757FC 0017275C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80175800 00172760 90 9E 00 04 */ stw r4, 4(r30)
/* 80175804 00172764 90 1E 00 08 */ stw r0, 8(r30)
/* 80175808 00172768 80 01 00 68 */ lwz r0, 0x68(r1)
/* 8017580C 0017276C 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80175810 00172770 88 1E 00 14 */ lbz r0, 0x14(r30)
/* 80175814 00172774 80 BD 01 08 */ lwz r5, 0x108(r29)
/* 80175818 00172778 54 04 08 3C */ slwi r4, r0, 1
/* 8017581C 0017277C C0 1E 00 00 */ lfs f0, 0(r30)
/* 80175820 00172780 38 04 00 01 */ addi r0, r4, 1
/* 80175824 00172784 7C 1C 00 AE */ lbzx r0, r28, r0
/* 80175828 00172788 54 00 2C F4 */ rlwinm r0, r0, 5, 0x13, 0x1a
/* 8017582C 0017278C 7C A5 02 14 */ add r5, r5, r0
/* 80175830 00172790 D0 05 00 04 */ stfs f0, 4(r5)
/* 80175834 00172794 80 9E 00 04 */ lwz r4, 4(r30)
/* 80175838 00172798 80 1E 00 08 */ lwz r0, 8(r30)
/* 8017583C 0017279C 90 85 00 08 */ stw r4, 8(r5)
/* 80175840 001727A0 90 05 00 0C */ stw r0, 0xc(r5)
/* 80175844 001727A4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80175848 001727A8 90 05 00 10 */ stw r0, 0x10(r5)
/* 8017584C 001727AC 88 1F 02 20 */ lbz r0, 0x220(r31)
/* 80175850 001727B0 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e
/* 80175854 001727B4 98 1F 02 20 */ stb r0, 0x220(r31)
/* 80175858 001727B8 48 00 00 94 */ b lbl_801758EC
lbl_8017585C:
/* 8017585C 001727BC 88 1E 00 36 */ lbz r0, 0x36(r30)
/* 80175860 001727C0 38 60 00 00 */ li r3, 0
/* 80175864 001727C4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80175868 001727C8 98 1E 00 36 */ stb r0, 0x36(r30)
/* 8017586C 001727CC C0 01 01 1C */ lfs f0, 0x11c(r1)
/* 80175870 001727D0 D0 1E 00 00 */ stfs f0, 0(r30)
/* 80175874 001727D4 80 61 01 20 */ lwz r3, 0x120(r1)
/* 80175878 001727D8 80 01 01 24 */ lwz r0, 0x124(r1)
/* 8017587C 001727DC 90 7E 00 04 */ stw r3, 4(r30)
/* 80175880 001727E0 90 1E 00 08 */ stw r0, 8(r30)
/* 80175884 001727E4 80 01 01 28 */ lwz r0, 0x128(r1)
/* 80175888 001727E8 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8017588C 001727EC 48 00 00 60 */ b lbl_801758EC
lbl_80175890:
/* 80175890 001727F0 88 1E 00 14 */ lbz r0, 0x14(r30)
/* 80175894 001727F4 80 9D 01 08 */ lwz r4, 0x108(r29)
/* 80175898 001727F8 54 00 08 3C */ slwi r0, r0, 1
/* 8017589C 001727FC 7C 7D 02 14 */ add r3, r29, r0
/* 801758A0 00172800 88 03 00 41 */ lbz r0, 0x41(r3)
/* 801758A4 00172804 54 03 2C F4 */ rlwinm r3, r0, 5, 0x13, 0x1a
/* 801758A8 00172808 38 63 00 04 */ addi r3, r3, 4
/* 801758AC 0017280C 7C 64 1A 14 */ add r3, r4, r3
/* 801758B0 00172810 C0 03 00 04 */ lfs f0, 4(r3)
/* 801758B4 00172814 C0 43 00 00 */ lfs f2, 0(r3)
/* 801758B8 00172818 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 801758BC 0017281C C0 23 00 08 */ lfs f1, 8(r3)
/* 801758C0 00172820 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 801758C4 00172824 D0 21 00 54 */ stfs f1, 0x54(r1)
/* 801758C8 00172828 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801758CC 0017282C D0 5E 00 00 */ stfs f2, 0(r30)
/* 801758D0 00172830 80 61 00 54 */ lwz r3, 0x54(r1)
/* 801758D4 00172834 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 801758D8 00172838 90 1E 00 04 */ stw r0, 4(r30)
/* 801758DC 0017283C 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801758E0 00172840 90 7E 00 08 */ stw r3, 8(r30)
/* 801758E4 00172844 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 801758E8 00172848 90 1E 00 0C */ stw r0, 0xc(r30)
lbl_801758EC:
/* 801758EC 0017284C C0 02 A1 78 */ lfs f0, lbl_805ABE98@sda21(r2)
/* 801758F0 00172850 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 801758F4 00172854 E3 E1 02 58 */ psq_l f31, 600(r1), 0, qr0
/* 801758F8 00172858 CB E1 02 50 */ lfd f31, 0x250(r1)
/* 801758FC 0017285C BB 01 02 30 */ lmw r24, 0x230(r1)
/* 80175900 00172860 80 01 02 64 */ lwz r0, 0x264(r1)
/* 80175904 00172864 7C 08 03 A6 */ mtlr r0
/* 80175908 00172868 38 21 02 60 */ addi r1, r1, 0x260
/* 8017590C 0017286C 4E 80 00 20 */ blr
.global PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVector3fRC15CBodyController
PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVector3fRC15CBodyController:
/* 80175910 00172870 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80175914 00172874 7C 08 02 A6 */ mflr r0
/* 80175918 00172878 90 01 00 34 */ stw r0, 0x34(r1)
/* 8017591C 0017287C BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80175920 00172880 7C 9A 23 78 */ mr r26, r4
/* 80175924 00172884 7C 79 1B 78 */ mr r25, r3
/* 80175928 00172888 7D 1F 43 78 */ mr r31, r8
/* 8017592C 0017288C 7C BB 2B 78 */ mr r27, r5
/* 80175930 00172890 7C DC 33 78 */ mr r28, r6
/* 80175934 00172894 7C FD 3B 78 */ mr r29, r7
/* 80175938 00172898 38 61 00 08 */ addi r3, r1, 8
/* 8017593C 0017289C 80 88 00 00 */ lwz r4, 0(r8)
/* 80175940 001728A0 4B F3 71 89 */ bl "__ct__16TCastToPtr<10CPatterned>FR7CEntity"
/* 80175944 001728A4 83 C3 00 04 */ lwz r30, 4(r3)
/* 80175948 001728A8 38 7F 02 A4 */ addi r3, r31, 0x2a4
/* 8017594C 001728AC 3B E0 00 00 */ li r31, 0
/* 80175950 001728B0 4B FB E6 79 */ bl ApplyHeadTracking__14CBodyStateInfoCFv
/* 80175954 001728B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80175958 001728B8 41 82 00 20 */ beq lbl_80175978
/* 8017595C 001728BC 28 1E 00 00 */ cmplwi r30, 0
/* 80175960 001728C0 41 82 00 14 */ beq lbl_80175974
/* 80175964 001728C4 7F C3 F3 78 */ mr r3, r30
/* 80175968 001728C8 4B F0 71 39 */ bl ApplyBoneTracking__10CPatternedCFv
/* 8017596C 001728CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80175970 001728D0 41 82 00 08 */ beq lbl_80175978
lbl_80175974:
/* 80175974 001728D4 3B E0 00 01 */ li r31, 1
lbl_80175978:
/* 80175978 001728D8 7F 23 CB 78 */ mr r3, r25
/* 8017597C 001728DC 7F 44 D3 78 */ mr r4, r26
/* 80175980 001728E0 7F 65 DB 78 */ mr r5, r27
/* 80175984 001728E4 7F 86 E3 78 */ mr r6, r28
/* 80175988 001728E8 7F A7 EB 78 */ mr r7, r29
/* 8017598C 001728EC 7F E8 FB 78 */ mr r8, r31
/* 80175990 001728F0 4B FF F8 A5 */ bl PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVector3fb
/* 80175994 001728F4 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80175998 001728F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8017599C 001728FC 7C 08 03 A6 */ mtlr r0
/* 801759A0 00172900 38 21 00 30 */ addi r1, r1, 0x30
/* 801759A4 00172904 4E 80 00 20 */ blr
.global Update__13CBoneTrackingFf
Update__13CBoneTrackingFf:
/* 801759A8 00172908 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 801759AC 0017290C EC 00 08 2A */ fadds f0, f0, f1
/* 801759B0 00172910 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 801759B4 00172914 4E 80 00 20 */ blr
.global "__ct__13CBoneTrackingFRC9CAnimDataRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>ffb"
"__ct__13CBoneTrackingFRC9CAnimDataRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>ffb":
/* 801759B8 00172918 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801759BC 0017291C 7C 08 02 A6 */ mflr r0
/* 801759C0 00172920 90 01 00 44 */ stw r0, 0x44(r1)
/* 801759C4 00172924 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 801759C8 00172928 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 801759CC 0017292C DB C1 00 20 */ stfd f30, 0x20(r1)
/* 801759D0 00172930 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 801759D4 00172934 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801759D8 00172938 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801759DC 0017293C 3C E0 80 5A */ lis r7, lbl_805A6660@ha
/* 801759E0 00172940 C4 67 66 60 */ lfsu f3, lbl_805A6660@l(r7)
/* 801759E4 00172944 FF C0 08 90 */ fmr f30, f1
/* 801759E8 00172948 7C 7F 1B 78 */ mr r31, r3
/* 801759EC 0017294C D0 63 00 00 */ stfs f3, 0(r3)
/* 801759F0 00172950 FF E0 10 90 */ fmr f31, f2
/* 801759F4 00172954 C0 02 A1 78 */ lfs f0, lbl_805ABE98@sda21(r2)
/* 801759F8 00172958 7C DE 33 78 */ mr r30, r6
/* 801759FC 0017295C C0 27 00 04 */ lfs f1, 4(r7)
/* 80175A00 00172960 38 61 00 08 */ addi r3, r1, 8
/* 80175A04 00172964 D0 3F 00 04 */ stfs f1, 4(r31)
/* 80175A08 00172968 C0 27 00 08 */ lfs f1, 8(r7)
/* 80175A0C 0017296C D0 3F 00 08 */ stfs f1, 8(r31)
/* 80175A10 00172970 C0 27 00 0C */ lfs f1, 0xc(r7)
/* 80175A14 00172974 D0 3F 00 0C */ stfs f1, 0xc(r31)
/* 80175A18 00172978 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 80175A1C 0017297C 80 84 00 D4 */ lwz r4, 0xd4(r4)
/* 80175A20 00172980 48 18 22 45 */ bl "GetSegIdFromString__15CCharLayoutInfoCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80175A24 00172984 88 01 00 08 */ lbz r0, 8(r1)
/* 80175A28 00172988 39 00 00 00 */ li r8, 0
/* 80175A2C 0017298C C0 02 A1 78 */ lfs f0, lbl_805ABE98@sda21(r2)
/* 80175A30 00172990 7F E3 FB 78 */ mr r3, r31
/* 80175A34 00172994 98 1F 00 14 */ stb r0, 0x14(r31)
/* 80175A38 00172998 D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 80175A3C 0017299C D3 DF 00 1C */ stfs f30, 0x1c(r31)
/* 80175A40 001729A0 D3 FF 00 20 */ stfs f31, 0x20(r31)
/* 80175A44 001729A4 99 1F 00 30 */ stb r8, 0x30(r31)
/* 80175A48 001729A8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80175A4C 001729AC B0 1F 00 34 */ sth r0, 0x34(r31)
/* 80175A50 001729B0 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 80175A54 001729B4 51 00 3E 30 */ rlwimi r0, r8, 7, 0x18, 0x18
/* 80175A58 001729B8 98 1F 00 36 */ stb r0, 0x36(r31)
/* 80175A5C 001729BC 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 80175A60 001729C0 51 00 36 72 */ rlwimi r0, r8, 6, 0x19, 0x19
/* 80175A64 001729C4 98 1F 00 36 */ stb r0, 0x36(r31)
/* 80175A68 001729C8 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 80175A6C 001729CC 53 C0 2E B4 */ rlwimi r0, r30, 5, 0x1a, 0x1a
/* 80175A70 001729D0 98 1F 00 36 */ stb r0, 0x36(r31)
/* 80175A74 001729D4 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 80175A78 001729D8 53 C0 1E F6 */ rlwimi r0, r30, 3, 0x1b, 0x1b
/* 80175A7C 001729DC 98 1F 00 36 */ stb r0, 0x36(r31)
/* 80175A80 001729E0 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 80175A84 001729E4 53 C0 0F 38 */ rlwimi r0, r30, 1, 0x1c, 0x1c
/* 80175A88 001729E8 98 1F 00 36 */ stb r0, 0x36(r31)
/* 80175A8C 001729EC 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 80175A90 001729F0 53 C0 FF 7A */ rlwimi r0, r30, 0x1f, 0x1d, 0x1d
/* 80175A94 001729F4 98 1F 00 36 */ stb r0, 0x36(r31)
/* 80175A98 001729F8 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 80175A9C 001729FC CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80175AA0 00172A00 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 80175AA4 00172A04 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 80175AA8 00172A08 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80175AAC 00172A0C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80175AB0 00172A10 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80175AB4 00172A14 7C 08 03 A6 */ mtlr r0
/* 80175AB8 00172A18 38 21 00 40 */ addi r1, r1, 0x40
/* 80175ABC 00172A1C 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805ABE98
lbl_805ABE98:
# ROM: 0x3F8738
.4byte 0
.global lbl_805ABE9C
lbl_805ABE9C:
# ROM: 0x3F873C
.float 1.0
.global lbl_805ABEA0
lbl_805ABEA0:
# ROM: 0x3F8740
.4byte 0x3727C5AC
.global lbl_805ABEA4
lbl_805ABEA4:
# ROM: 0x3F8744
.float 6.2831855
.global lbl_805ABEA8
lbl_805ABEA8:
# ROM: 0x3F8748
.float 0.5
.4byte 0