tp/asm/d/npc/d_npc_lib.s

1027 lines
51 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80251314
/* 80251314 0024E254 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80251318 0024E258 7C 08 02 A6 */ mflr r0
/* 8025131C 0024E25C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80251320 0024E260 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80251324 0024E264 7C 7F 1B 78 */ mr r31, r3
/* 80251328 0024E268 3C 60 80 3C */ lis r3, lbl_803C2B88@ha
/* 8025132C 0024E26C 38 03 2B 88 */ addi r0, r3, lbl_803C2B88@l
/* 80251330 0024E270 90 1F 00 00 */ stw r0, 0(r31)
/* 80251334 0024E274 38 7F 00 04 */ addi r3, r31, 4
/* 80251338 0024E278 3C 80 80 01 */ lis r4, cXyz_NS_ctor@ha
/* 8025133C 0024E27C 38 84 25 DC */ addi r4, r4, cXyz_NS_ctor@l
/* 80251340 0024E280 3C A0 80 01 */ lis r5, cXyz_NS_dtor@ha
/* 80251344 0024E284 38 A5 91 84 */ addi r5, r5, cXyz_NS_dtor@l
/* 80251348 0024E288 38 C0 00 0C */ li r6, 0xc
/* 8025134C 0024E28C 38 E0 00 04 */ li r7, 4
/* 80251350 0024E290 48 11 0A 11 */ bl func_80361D60
/* 80251354 0024E294 38 7F 00 34 */ addi r3, r31, 0x34
.global csXyz_NS_ctor
/* 80251358 0024E298 3C 80 80 11 */ lis r4, csXyz_NS_ctor@ha
.global csXyz_NS_ctor
/* 8025135C 0024E29C 38 84 2C 80 */ addi r4, r4, csXyz_NS_ctor@l
.global csXyz_NS_dtor
/* 80251360 0024E2A0 3C A0 80 02 */ lis r5, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 80251364 0024E2A4 38 A5 8B D0 */ addi r5, r5, csXyz_NS_dtor@l
/* 80251368 0024E2A8 38 C0 00 06 */ li r6, 6
/* 8025136C 0024E2AC 38 E0 00 04 */ li r7, 4
/* 80251370 0024E2B0 48 11 09 F1 */ bl func_80361D60
/* 80251374 0024E2B4 38 7F 00 4C */ addi r3, r31, 0x4c
.global csXyz_NS_ctor
/* 80251378 0024E2B8 3C 80 80 11 */ lis r4, csXyz_NS_ctor@ha
.global csXyz_NS_ctor
/* 8025137C 0024E2BC 38 84 2C 80 */ addi r4, r4, csXyz_NS_ctor@l
.global csXyz_NS_dtor
/* 80251380 0024E2C0 3C A0 80 02 */ lis r5, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 80251384 0024E2C4 38 A5 8B D0 */ addi r5, r5, csXyz_NS_dtor@l
/* 80251388 0024E2C8 38 C0 00 06 */ li r6, 6
/* 8025138C 0024E2CC 38 E0 00 04 */ li r7, 4
/* 80251390 0024E2D0 48 11 09 D1 */ bl func_80361D60
/* 80251394 0024E2D4 38 7F 00 64 */ addi r3, r31, 0x64
.global csXyz_NS_ctor
/* 80251398 0024E2D8 3C 80 80 11 */ lis r4, csXyz_NS_ctor@ha
.global csXyz_NS_ctor
/* 8025139C 0024E2DC 38 84 2C 80 */ addi r4, r4, csXyz_NS_ctor@l
.global csXyz_NS_dtor
/* 802513A0 0024E2E0 3C A0 80 02 */ lis r5, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 802513A4 0024E2E4 38 A5 8B D0 */ addi r5, r5, csXyz_NS_dtor@l
/* 802513A8 0024E2E8 38 C0 00 06 */ li r6, 6
/* 802513AC 0024E2EC 38 E0 00 04 */ li r7, 4
/* 802513B0 0024E2F0 48 11 09 B1 */ bl func_80361D60
/* 802513B4 0024E2F4 38 7F 00 7C */ addi r3, r31, 0x7c
.global csXyz_NS_ctor
/* 802513B8 0024E2F8 3C 80 80 11 */ lis r4, csXyz_NS_ctor@ha
.global csXyz_NS_ctor
/* 802513BC 0024E2FC 38 84 2C 80 */ addi r4, r4, csXyz_NS_ctor@l
.global csXyz_NS_dtor
/* 802513C0 0024E300 3C A0 80 02 */ lis r5, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 802513C4 0024E304 38 A5 8B D0 */ addi r5, r5, csXyz_NS_dtor@l
/* 802513C8 0024E308 38 C0 00 06 */ li r6, 6
/* 802513CC 0024E30C 38 E0 00 04 */ li r7, 4
/* 802513D0 0024E310 48 11 09 91 */ bl func_80361D60
/* 802513D4 0024E314 38 7F 00 94 */ addi r3, r31, 0x94
.global csXyz_NS_ctor
/* 802513D8 0024E318 3C 80 80 11 */ lis r4, csXyz_NS_ctor@ha
.global csXyz_NS_ctor
/* 802513DC 0024E31C 38 84 2C 80 */ addi r4, r4, csXyz_NS_ctor@l
.global csXyz_NS_dtor
/* 802513E0 0024E320 3C A0 80 02 */ lis r5, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 802513E4 0024E324 38 A5 8B D0 */ addi r5, r5, csXyz_NS_dtor@l
/* 802513E8 0024E328 38 C0 00 06 */ li r6, 6
/* 802513EC 0024E32C 38 E0 00 04 */ li r7, 4
/* 802513F0 0024E330 48 11 09 71 */ bl func_80361D60
/* 802513F4 0024E334 7F E3 FB 78 */ mr r3, r31
/* 802513F8 0024E338 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802513FC 0024E33C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80251400 0024E340 7C 08 03 A6 */ mtlr r0
/* 80251404 0024E344 38 21 00 10 */ addi r1, r1, 0x10
/* 80251408 0024E348 4E 80 00 20 */ blr
/* 8025140C 0024E34C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80251410 0024E350 7C 08 02 A6 */ mflr r0
/* 80251414 0024E354 90 01 00 34 */ stw r0, 0x34(r1)
/* 80251418 0024E358 39 61 00 30 */ addi r11, r1, 0x30
/* 8025141C 0024E35C 48 11 0D A5 */ bl _savegpr_22
/* 80251420 0024E360 7C 78 1B 78 */ mr r24, r3
/* 80251424 0024E364 7C 99 23 78 */ mr r25, r4
/* 80251428 0024E368 7C BA 2B 78 */ mr r26, r5
/* 8025142C 0024E36C 7C DB 33 78 */ mr r27, r6
/* 80251430 0024E370 7C FC 3B 78 */ mr r28, r7
/* 80251434 0024E374 38 60 00 00 */ li r3, 0
/* 80251438 0024E378 38 80 FF FF */ li r4, -1
/* 8025143C 0024E37C 38 00 00 04 */ li r0, 4
/* 80251440 0024E380 7C 09 03 A6 */ mtctr r0
lbl_80251444:
/* 80251444 0024E384 38 03 00 BC */ addi r0, r3, 0xbc
/* 80251448 0024E388 7C 98 01 2E */ stwx r4, r24, r0
/* 8025144C 0024E38C 38 63 00 04 */ addi r3, r3, 4
/* 80251450 0024E390 42 00 FF F4 */ bdnz lbl_80251444
/* 80251454 0024E394 3B C0 00 00 */ li r30, 0
/* 80251458 0024E398 93 D8 00 CC */ stw r30, 0xcc(r24)
/* 8025145C 0024E39C 3A E0 00 00 */ li r23, 0
/* 80251460 0024E3A0 3A C0 00 00 */ li r22, 0
/* 80251464 0024E3A4 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80251468 0024E3A8 3B E3 D4 70 */ addi r31, r3, lbl_803DD470@l
lbl_8025146C:
/* 8025146C 0024E3AC 7F BA B0 2E */ lwzx r29, r26, r22
/* 80251470 0024E3B0 2C 1D 00 00 */ cmpwi r29, 0
/* 80251474 0024E3B4 41 80 00 A8 */ blt lbl_8025151C
/* 80251478 0024E3B8 80 79 00 84 */ lwz r3, 0x84(r25)
/* 8025147C 0024E3BC 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80251480 0024E3C0 1C 1D 00 30 */ mulli r0, r29, 0x30
/* 80251484 0024E3C4 7C 63 02 14 */ add r3, r3, r0
/* 80251488 0024E3C8 7F E4 FB 78 */ mr r4, r31
/* 8025148C 0024E3CC 48 0F 50 25 */ bl PSMTXCopy
/* 80251490 0024E3D0 80 18 00 CC */ lwz r0, 0xcc(r24)
/* 80251494 0024E3D4 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80251498 0024E3D8 38 63 00 04 */ addi r3, r3, 4
/* 8025149C 0024E3DC 7C 78 1A 14 */ add r3, r24, r3
/* 802514A0 0024E3E0 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 802514A4 0024E3E4 D0 03 00 00 */ stfs f0, 0(r3)
/* 802514A8 0024E3E8 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 802514AC 0024E3EC D0 03 00 04 */ stfs f0, 4(r3)
/* 802514B0 0024E3F0 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 802514B4 0024E3F4 D0 03 00 08 */ stfs f0, 8(r3)
/* 802514B8 0024E3F8 38 16 00 BC */ addi r0, r22, 0xbc
/* 802514BC 0024E3FC 7F B8 01 2E */ stwx r29, r24, r0
/* 802514C0 0024E400 7C 7B BA 14 */ add r3, r27, r23
/* 802514C4 0024E404 A8 03 00 00 */ lha r0, 0(r3)
/* 802514C8 0024E408 7C 98 BA 14 */ add r4, r24, r23
/* 802514CC 0024E40C B0 04 00 94 */ sth r0, 0x94(r4)
/* 802514D0 0024E410 A8 03 00 02 */ lha r0, 2(r3)
/* 802514D4 0024E414 B0 04 00 96 */ sth r0, 0x96(r4)
/* 802514D8 0024E418 A8 03 00 04 */ lha r0, 4(r3)
/* 802514DC 0024E41C B0 04 00 98 */ sth r0, 0x98(r4)
/* 802514E0 0024E420 7C 7C BA 14 */ add r3, r28, r23
/* 802514E4 0024E424 A8 03 00 00 */ lha r0, 0(r3)
/* 802514E8 0024E428 B0 04 00 7C */ sth r0, 0x7c(r4)
/* 802514EC 0024E42C A8 03 00 02 */ lha r0, 2(r3)
/* 802514F0 0024E430 B0 04 00 7E */ sth r0, 0x7e(r4)
/* 802514F4 0024E434 A8 03 00 04 */ lha r0, 4(r3)
/* 802514F8 0024E438 B0 04 00 80 */ sth r0, 0x80(r4)
/* 802514FC 0024E43C 80 78 00 CC */ lwz r3, 0xcc(r24)
/* 80251500 0024E440 38 03 00 01 */ addi r0, r3, 1
/* 80251504 0024E444 90 18 00 CC */ stw r0, 0xcc(r24)
/* 80251508 0024E448 3B DE 00 01 */ addi r30, r30, 1
/* 8025150C 0024E44C 2C 1E 00 03 */ cmpwi r30, 3
/* 80251510 0024E450 3A F7 00 06 */ addi r23, r23, 6
/* 80251514 0024E454 3A D6 00 04 */ addi r22, r22, 4
/* 80251518 0024E458 41 80 FF 54 */ blt lbl_8025146C
lbl_8025151C:
/* 8025151C 0024E45C 39 61 00 30 */ addi r11, r1, 0x30
/* 80251520 0024E460 48 11 0C ED */ bl _restgpr_22
/* 80251524 0024E464 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80251528 0024E468 7C 08 03 A6 */ mtlr r0
/* 8025152C 0024E46C 38 21 00 30 */ addi r1, r1, 0x30
/* 80251530 0024E470 4E 80 00 20 */ blr
/* 80251534 0024E474 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 80251538 0024E478 7C 08 02 A6 */ mflr r0
/* 8025153C 0024E47C 90 01 01 44 */ stw r0, 0x144(r1)
/* 80251540 0024E480 DB E1 01 30 */ stfd f31, 0x130(r1)
/* 80251544 0024E484 F3 E1 01 38 */ psq_st f31, 312(r1), 0, qr0
/* 80251548 0024E488 DB C1 01 20 */ stfd f30, 0x120(r1)
/* 8025154C 0024E48C F3 C1 01 28 */ psq_st f30, 296(r1), 0, qr0
/* 80251550 0024E490 39 61 01 20 */ addi r11, r1, 0x120
/* 80251554 0024E494 48 11 0C 6D */ bl _savegpr_22
/* 80251558 0024E498 7C 7E 1B 78 */ mr r30, r3
/* 8025155C 0024E49C 7C 9F 23 78 */ mr r31, r4
/* 80251560 0024E4A0 7C BB 2B 78 */ mr r27, r5
/* 80251564 0024E4A4 7C DA 33 78 */ mr r26, r6
/* 80251568 0024E4A8 7D 19 43 78 */ mr r25, r8
/* 8025156C 0024E4AC 7C E3 3B 78 */ mr r3, r7
/* 80251570 0024E4B0 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80251574 0024E4B4 48 0F 4F 3D */ bl PSMTXCopy
/* 80251578 0024E4B8 C0 02 B3 E8 */ lfs f0, lbl_80454DE8-_SDA2_BASE_(r2)
/* 8025157C 0024E4BC D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 80251580 0024E4C0 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 80251584 0024E4C4 D0 01 00 B4 */ stfs f0, 0xb4(r1)
/* 80251588 0024E4C8 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8025158C 0024E4CC 3C 80 80 3E */ lis r4, lbl_803DD470@ha
/* 80251590 0024E4D0 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l
/* 80251594 0024E4D4 48 0F 4F 1D */ bl PSMTXCopy
/* 80251598 0024E4D8 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 8025159C 0024E4DC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 802515A0 0024E4E0 7C 64 1B 78 */ mr r4, r3
/* 802515A4 0024E4E4 48 0F 50 0D */ bl PSMTXInverse
/* 802515A8 0024E4E8 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 802515AC 0024E4EC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 802515B0 0024E4F0 38 81 00 A8 */ addi r4, r1, 0xa8
/* 802515B4 0024E4F4 48 0F 4E FD */ bl PSMTXCopy
/* 802515B8 0024E4F8 3A C0 00 00 */ li r22, 0
/* 802515BC 0024E4FC 3A E0 00 00 */ li r23, 0
/* 802515C0 0024E500 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 802515C4 0024E504 3B 83 D4 70 */ addi r28, r3, lbl_803DD470@l
/* 802515C8 0024E508 7F 98 E3 78 */ mr r24, r28
/* 802515CC 0024E50C 48 00 00 64 */ b lbl_80251630
lbl_802515D0:
/* 802515D0 0024E510 38 61 00 78 */ addi r3, r1, 0x78
/* 802515D4 0024E514 3B B7 00 04 */ addi r29, r23, 4
/* 802515D8 0024E518 7F BE EA 14 */ add r29, r30, r29
/* 802515DC 0024E51C 7F A4 EB 78 */ mr r4, r29
/* 802515E0 0024E520 38 BA 04 D0 */ addi r5, r26, 0x4d0
/* 802515E4 0024E524 48 01 55 51 */ bl cXyz_NS___mi
/* 802515E8 0024E528 C0 01 00 78 */ lfs f0, 0x78(r1)
/* 802515EC 0024E52C D0 01 00 9C */ stfs f0, 0x9c(r1)
/* 802515F0 0024E530 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 802515F4 0024E534 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 802515F8 0024E538 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 802515FC 0024E53C D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 80251600 0024E540 38 7A 04 D0 */ addi r3, r26, 0x4d0
/* 80251604 0024E544 4B DB B7 61 */ bl mDoMtx_stack_c_NS_transS
/* 80251608 0024E548 7F 83 E3 78 */ mr r3, r28
/* 8025160C 0024E54C 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80251610 0024E550 7F 85 E3 78 */ mr r5, r28
/* 80251614 0024E554 48 0F 4E D1 */ bl PSMTXConcat
/* 80251618 0024E558 7F 03 C3 78 */ mr r3, r24
/* 8025161C 0024E55C 38 81 00 9C */ addi r4, r1, 0x9c
/* 80251620 0024E560 7F A5 EB 78 */ mr r5, r29
/* 80251624 0024E564 48 0F 57 49 */ bl PSMTXMultVec
/* 80251628 0024E568 3A D6 00 01 */ addi r22, r22, 1
/* 8025162C 0024E56C 3A F7 00 0C */ addi r23, r23, 0xc
lbl_80251630:
/* 80251630 0024E570 80 1E 00 CC */ lwz r0, 0xcc(r30)
/* 80251634 0024E574 7C 16 00 00 */ cmpw r22, r0
/* 80251638 0024E578 41 80 FF 98 */ blt lbl_802515D0
/* 8025163C 0024E57C 38 61 00 6C */ addi r3, r1, 0x6c
/* 80251640 0024E580 7F E4 FB 78 */ mr r4, r31
/* 80251644 0024E584 38 BA 04 D0 */ addi r5, r26, 0x4d0
/* 80251648 0024E588 48 01 54 ED */ bl cXyz_NS___mi
/* 8025164C 0024E58C C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 80251650 0024E590 D0 01 00 9C */ stfs f0, 0x9c(r1)
/* 80251654 0024E594 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 80251658 0024E598 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 8025165C 0024E59C C0 01 00 74 */ lfs f0, 0x74(r1)
/* 80251660 0024E5A0 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 80251664 0024E5A4 38 7A 04 D0 */ addi r3, r26, 0x4d0
/* 80251668 0024E5A8 4B DB B6 FD */ bl mDoMtx_stack_c_NS_transS
/* 8025166C 0024E5AC 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80251670 0024E5B0 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 80251674 0024E5B4 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80251678 0024E5B8 7C 65 1B 78 */ mr r5, r3
/* 8025167C 0024E5BC 48 0F 4E 69 */ bl PSMTXConcat
/* 80251680 0024E5C0 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80251684 0024E5C4 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 80251688 0024E5C8 38 81 00 9C */ addi r4, r1, 0x9c
/* 8025168C 0024E5CC 7F E5 FB 78 */ mr r5, r31
/* 80251690 0024E5D0 48 0F 56 DD */ bl PSMTXMultVec
/* 80251694 0024E5D4 38 61 00 60 */ addi r3, r1, 0x60
/* 80251698 0024E5D8 7F 64 DB 78 */ mr r4, r27
/* 8025169C 0024E5DC 38 BA 04 D0 */ addi r5, r26, 0x4d0
/* 802516A0 0024E5E0 48 01 54 95 */ bl cXyz_NS___mi
/* 802516A4 0024E5E4 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 802516A8 0024E5E8 D0 01 00 9C */ stfs f0, 0x9c(r1)
/* 802516AC 0024E5EC C0 01 00 64 */ lfs f0, 0x64(r1)
/* 802516B0 0024E5F0 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 802516B4 0024E5F4 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 802516B8 0024E5F8 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 802516BC 0024E5FC 38 7A 04 D0 */ addi r3, r26, 0x4d0
/* 802516C0 0024E600 4B DB B6 A5 */ bl mDoMtx_stack_c_NS_transS
/* 802516C4 0024E604 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 802516C8 0024E608 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 802516CC 0024E60C 38 81 00 A8 */ addi r4, r1, 0xa8
/* 802516D0 0024E610 7C 65 1B 78 */ mr r5, r3
/* 802516D4 0024E614 48 0F 4E 11 */ bl PSMTXConcat
/* 802516D8 0024E618 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 802516DC 0024E61C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 802516E0 0024E620 38 81 00 9C */ addi r4, r1, 0x9c
/* 802516E4 0024E624 80 1E 00 CC */ lwz r0, 0xcc(r30)
/* 802516E8 0024E628 1C A0 00 0C */ mulli r5, r0, 0xc
/* 802516EC 0024E62C 38 A5 00 04 */ addi r5, r5, 4
/* 802516F0 0024E630 7C BE 2A 14 */ add r5, r30, r5
/* 802516F4 0024E634 48 0F 56 79 */ bl PSMTXMultVec
/* 802516F8 0024E638 7F C3 F3 78 */ mr r3, r30
/* 802516FC 0024E63C 48 00 04 69 */ bl dNpcLib_lookat_c_NS_setPrm
/* 80251700 0024E640 7F C3 F3 78 */ mr r3, r30
/* 80251704 0024E644 48 00 07 F5 */ bl dNpcLib_lookat_c_NS_update
/* 80251708 0024E648 C3 E2 B3 EC */ lfs f31, lbl_80454DEC-_SDA2_BASE_(r2)
/* 8025170C 0024E64C 80 7E 00 CC */ lwz r3, 0xcc(r30)
/* 80251710 0024E650 3B 43 FF FF */ addi r26, r3, -1
/* 80251714 0024E654 C3 C2 B4 08 */ lfs f30, lbl_80454E08-_SDA2_BASE_(r2)
/* 80251718 0024E658 1E FA 00 0C */ mulli r23, r26, 0xc
/* 8025171C 0024E65C 1F 1A 00 06 */ mulli r24, r26, 6
/* 80251720 0024E660 48 00 03 B8 */ b lbl_80251AD8
lbl_80251724:
/* 80251724 0024E664 38 61 00 54 */ addi r3, r1, 0x54
/* 80251728 0024E668 7F E4 FB 78 */ mr r4, r31
/* 8025172C 0024E66C 3B 77 00 04 */ addi r27, r23, 4
/* 80251730 0024E670 7F 7E DA 14 */ add r27, r30, r27
/* 80251734 0024E674 7F 65 DB 78 */ mr r5, r27
/* 80251738 0024E678 48 01 53 FD */ bl cXyz_NS___mi
/* 8025173C 0024E67C C0 01 00 54 */ lfs f0, 0x54(r1)
/* 80251740 0024E680 D0 01 00 90 */ stfs f0, 0x90(r1)
/* 80251744 0024E684 C0 01 00 58 */ lfs f0, 0x58(r1)
/* 80251748 0024E688 D0 01 00 94 */ stfs f0, 0x94(r1)
/* 8025174C 0024E68C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80251750 0024E690 D0 01 00 98 */ stfs f0, 0x98(r1)
/* 80251754 0024E694 38 61 00 90 */ addi r3, r1, 0x90
/* 80251758 0024E698 48 01 59 55 */ bl cXyz_NS_isZero
/* 8025175C 0024E69C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80251760 0024E6A0 40 82 03 60 */ bne lbl_80251AC0
/* 80251764 0024E6A4 38 61 00 48 */ addi r3, r1, 0x48
/* 80251768 0024E6A8 38 81 00 90 */ addi r4, r1, 0x90
/* 8025176C 0024E6AC 48 01 57 89 */ bl cXyz_NS_normalize
/* 80251770 0024E6B0 38 61 00 3C */ addi r3, r1, 0x3c
/* 80251774 0024E6B4 80 1E 00 CC */ lwz r0, 0xcc(r30)
/* 80251778 0024E6B8 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8025177C 0024E6BC 38 84 00 04 */ addi r4, r4, 4
/* 80251780 0024E6C0 7C 9E 22 14 */ add r4, r30, r4
/* 80251784 0024E6C4 7F 65 DB 78 */ mr r5, r27
/* 80251788 0024E6C8 48 01 53 AD */ bl cXyz_NS___mi
/* 8025178C 0024E6CC C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80251790 0024E6D0 D0 01 00 84 */ stfs f0, 0x84(r1)
/* 80251794 0024E6D4 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 80251798 0024E6D8 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 8025179C 0024E6DC C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802517A0 0024E6E0 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 802517A4 0024E6E4 38 61 00 84 */ addi r3, r1, 0x84
/* 802517A8 0024E6E8 48 01 59 05 */ bl cXyz_NS_isZero
/* 802517AC 0024E6EC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802517B0 0024E6F0 40 82 03 10 */ bne lbl_80251AC0
/* 802517B4 0024E6F4 38 61 00 30 */ addi r3, r1, 0x30
/* 802517B8 0024E6F8 38 81 00 84 */ addi r4, r1, 0x84
/* 802517BC 0024E6FC 48 01 57 39 */ bl cXyz_NS_normalize
/* 802517C0 0024E700 C0 01 00 90 */ lfs f0, 0x90(r1)
/* 802517C4 0024E704 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802517C8 0024E708 C0 02 B3 E8 */ lfs f0, lbl_80454DE8-_SDA2_BASE_(r2)
/* 802517CC 0024E70C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 802517D0 0024E710 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 802517D4 0024E714 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 802517D8 0024E718 38 61 00 24 */ addi r3, r1, 0x24
/* 802517DC 0024E71C 48 0F 59 5D */ bl PSVECSquareMag
/* 802517E0 0024E720 C0 02 B3 E8 */ lfs f0, lbl_80454DE8-_SDA2_BASE_(r2)
/* 802517E4 0024E724 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802517E8 0024E728 40 81 00 58 */ ble lbl_80251840
/* 802517EC 0024E72C FC 00 08 34 */ frsqrte f0, f1
/* 802517F0 0024E730 C8 82 B3 F0 */ lfd f4, lbl_80454DF0-_SDA2_BASE_(r2)
/* 802517F4 0024E734 FC 44 00 32 */ fmul f2, f4, f0
/* 802517F8 0024E738 C8 62 B3 F8 */ lfd f3, lbl_80454DF8-_SDA2_BASE_(r2)
/* 802517FC 0024E73C FC 00 00 32 */ fmul f0, f0, f0
/* 80251800 0024E740 FC 01 00 32 */ fmul f0, f1, f0
/* 80251804 0024E744 FC 03 00 28 */ fsub f0, f3, f0
/* 80251808 0024E748 FC 02 00 32 */ fmul f0, f2, f0
/* 8025180C 0024E74C FC 44 00 32 */ fmul f2, f4, f0
/* 80251810 0024E750 FC 00 00 32 */ fmul f0, f0, f0
/* 80251814 0024E754 FC 01 00 32 */ fmul f0, f1, f0
/* 80251818 0024E758 FC 03 00 28 */ fsub f0, f3, f0
/* 8025181C 0024E75C FC 02 00 32 */ fmul f0, f2, f0
/* 80251820 0024E760 FC 44 00 32 */ fmul f2, f4, f0
/* 80251824 0024E764 FC 00 00 32 */ fmul f0, f0, f0
/* 80251828 0024E768 FC 01 00 32 */ fmul f0, f1, f0
/* 8025182C 0024E76C FC 03 00 28 */ fsub f0, f3, f0
/* 80251830 0024E770 FC 02 00 32 */ fmul f0, f2, f0
/* 80251834 0024E774 FC 41 00 32 */ fmul f2, f1, f0
/* 80251838 0024E778 FC 40 10 18 */ frsp f2, f2
/* 8025183C 0024E77C 48 00 00 90 */ b lbl_802518CC
lbl_80251840:
/* 80251840 0024E780 C8 02 B4 00 */ lfd f0, lbl_80454E00-_SDA2_BASE_(r2)
/* 80251844 0024E784 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80251848 0024E788 40 80 00 10 */ bge lbl_80251858
/* 8025184C 0024E78C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80251850 0024E790 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 80251854 0024E794 48 00 00 78 */ b lbl_802518CC
lbl_80251858:
/* 80251858 0024E798 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8025185C 0024E79C 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80251860 0024E7A0 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80251864 0024E7A4 3C 00 7F 80 */ lis r0, 0x7f80
/* 80251868 0024E7A8 7C 03 00 00 */ cmpw r3, r0
/* 8025186C 0024E7AC 41 82 00 14 */ beq lbl_80251880
/* 80251870 0024E7B0 40 80 00 40 */ bge lbl_802518B0
/* 80251874 0024E7B4 2C 03 00 00 */ cmpwi r3, 0
/* 80251878 0024E7B8 41 82 00 20 */ beq lbl_80251898
/* 8025187C 0024E7BC 48 00 00 34 */ b lbl_802518B0
lbl_80251880:
/* 80251880 0024E7C0 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80251884 0024E7C4 41 82 00 0C */ beq lbl_80251890
/* 80251888 0024E7C8 38 00 00 01 */ li r0, 1
/* 8025188C 0024E7CC 48 00 00 28 */ b lbl_802518B4
lbl_80251890:
/* 80251890 0024E7D0 38 00 00 02 */ li r0, 2
/* 80251894 0024E7D4 48 00 00 20 */ b lbl_802518B4
lbl_80251898:
/* 80251898 0024E7D8 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8025189C 0024E7DC 41 82 00 0C */ beq lbl_802518A8
/* 802518A0 0024E7E0 38 00 00 05 */ li r0, 5
/* 802518A4 0024E7E4 48 00 00 10 */ b lbl_802518B4
lbl_802518A8:
/* 802518A8 0024E7E8 38 00 00 03 */ li r0, 3
/* 802518AC 0024E7EC 48 00 00 08 */ b lbl_802518B4
lbl_802518B0:
/* 802518B0 0024E7F0 38 00 00 04 */ li r0, 4
lbl_802518B4:
/* 802518B4 0024E7F4 2C 00 00 01 */ cmpwi r0, 1
/* 802518B8 0024E7F8 40 82 00 10 */ bne lbl_802518C8
/* 802518BC 0024E7FC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 802518C0 0024E800 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 802518C4 0024E804 48 00 00 08 */ b lbl_802518CC
lbl_802518C8:
/* 802518C8 0024E808 FC 40 08 90 */ fmr f2, f1
lbl_802518CC:
/* 802518CC 0024E80C C0 21 00 94 */ lfs f1, 0x94(r1)
/* 802518D0 0024E810 48 01 5D A5 */ bl cM_atan2s
/* 802518D4 0024E814 7C 03 00 D0 */ neg r0, r3
/* 802518D8 0024E818 7C 1B 07 34 */ extsh r27, r0
/* 802518DC 0024E81C C0 21 00 90 */ lfs f1, 0x90(r1)
/* 802518E0 0024E820 C0 41 00 98 */ lfs f2, 0x98(r1)
/* 802518E4 0024E824 48 01 5D 91 */ bl cM_atan2s
/* 802518E8 0024E828 7C 7D 1B 78 */ mr r29, r3
/* 802518EC 0024E82C C0 01 00 84 */ lfs f0, 0x84(r1)
/* 802518F0 0024E830 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802518F4 0024E834 C0 02 B3 E8 */ lfs f0, lbl_80454DE8-_SDA2_BASE_(r2)
/* 802518F8 0024E838 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802518FC 0024E83C C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 80251900 0024E840 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80251904 0024E844 38 61 00 18 */ addi r3, r1, 0x18
/* 80251908 0024E848 48 0F 58 31 */ bl PSVECSquareMag
/* 8025190C 0024E84C C0 02 B3 E8 */ lfs f0, lbl_80454DE8-_SDA2_BASE_(r2)
/* 80251910 0024E850 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80251914 0024E854 40 81 00 58 */ ble lbl_8025196C
/* 80251918 0024E858 FC 00 08 34 */ frsqrte f0, f1
/* 8025191C 0024E85C C8 82 B3 F0 */ lfd f4, lbl_80454DF0-_SDA2_BASE_(r2)
/* 80251920 0024E860 FC 44 00 32 */ fmul f2, f4, f0
/* 80251924 0024E864 C8 62 B3 F8 */ lfd f3, lbl_80454DF8-_SDA2_BASE_(r2)
/* 80251928 0024E868 FC 00 00 32 */ fmul f0, f0, f0
/* 8025192C 0024E86C FC 01 00 32 */ fmul f0, f1, f0
/* 80251930 0024E870 FC 03 00 28 */ fsub f0, f3, f0
/* 80251934 0024E874 FC 02 00 32 */ fmul f0, f2, f0
/* 80251938 0024E878 FC 44 00 32 */ fmul f2, f4, f0
/* 8025193C 0024E87C FC 00 00 32 */ fmul f0, f0, f0
/* 80251940 0024E880 FC 01 00 32 */ fmul f0, f1, f0
/* 80251944 0024E884 FC 03 00 28 */ fsub f0, f3, f0
/* 80251948 0024E888 FC 02 00 32 */ fmul f0, f2, f0
/* 8025194C 0024E88C FC 44 00 32 */ fmul f2, f4, f0
/* 80251950 0024E890 FC 00 00 32 */ fmul f0, f0, f0
/* 80251954 0024E894 FC 01 00 32 */ fmul f0, f1, f0
/* 80251958 0024E898 FC 03 00 28 */ fsub f0, f3, f0
/* 8025195C 0024E89C FC 02 00 32 */ fmul f0, f2, f0
/* 80251960 0024E8A0 FC 41 00 32 */ fmul f2, f1, f0
/* 80251964 0024E8A4 FC 40 10 18 */ frsp f2, f2
/* 80251968 0024E8A8 48 00 00 90 */ b lbl_802519F8
lbl_8025196C:
/* 8025196C 0024E8AC C8 02 B4 00 */ lfd f0, lbl_80454E00-_SDA2_BASE_(r2)
/* 80251970 0024E8B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80251974 0024E8B4 40 80 00 10 */ bge lbl_80251984
/* 80251978 0024E8B8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8025197C 0024E8BC C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 80251980 0024E8C0 48 00 00 78 */ b lbl_802519F8
lbl_80251984:
/* 80251984 0024E8C4 D0 21 00 08 */ stfs f1, 8(r1)
/* 80251988 0024E8C8 80 81 00 08 */ lwz r4, 8(r1)
/* 8025198C 0024E8CC 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80251990 0024E8D0 3C 00 7F 80 */ lis r0, 0x7f80
/* 80251994 0024E8D4 7C 03 00 00 */ cmpw r3, r0
/* 80251998 0024E8D8 41 82 00 14 */ beq lbl_802519AC
/* 8025199C 0024E8DC 40 80 00 40 */ bge lbl_802519DC
/* 802519A0 0024E8E0 2C 03 00 00 */ cmpwi r3, 0
/* 802519A4 0024E8E4 41 82 00 20 */ beq lbl_802519C4
/* 802519A8 0024E8E8 48 00 00 34 */ b lbl_802519DC
lbl_802519AC:
/* 802519AC 0024E8EC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 802519B0 0024E8F0 41 82 00 0C */ beq lbl_802519BC
/* 802519B4 0024E8F4 38 00 00 01 */ li r0, 1
/* 802519B8 0024E8F8 48 00 00 28 */ b lbl_802519E0
lbl_802519BC:
/* 802519BC 0024E8FC 38 00 00 02 */ li r0, 2
/* 802519C0 0024E900 48 00 00 20 */ b lbl_802519E0
lbl_802519C4:
/* 802519C4 0024E904 54 80 02 7F */ clrlwi. r0, r4, 9
/* 802519C8 0024E908 41 82 00 0C */ beq lbl_802519D4
/* 802519CC 0024E90C 38 00 00 05 */ li r0, 5
/* 802519D0 0024E910 48 00 00 10 */ b lbl_802519E0
lbl_802519D4:
/* 802519D4 0024E914 38 00 00 03 */ li r0, 3
/* 802519D8 0024E918 48 00 00 08 */ b lbl_802519E0
lbl_802519DC:
/* 802519DC 0024E91C 38 00 00 04 */ li r0, 4
lbl_802519E0:
/* 802519E0 0024E920 2C 00 00 01 */ cmpwi r0, 1
/* 802519E4 0024E924 40 82 00 10 */ bne lbl_802519F4
/* 802519E8 0024E928 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 802519EC 0024E92C C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 802519F0 0024E930 48 00 00 08 */ b lbl_802519F8
lbl_802519F4:
/* 802519F4 0024E934 FC 40 08 90 */ fmr f2, f1
lbl_802519F8:
/* 802519F8 0024E938 C0 21 00 88 */ lfs f1, 0x88(r1)
/* 802519FC 0024E93C 48 01 5C 79 */ bl cM_atan2s
/* 80251A00 0024E940 7C 03 00 D0 */ neg r0, r3
/* 80251A04 0024E944 7C 16 07 34 */ extsh r22, r0
/* 80251A08 0024E948 C0 21 00 84 */ lfs f1, 0x84(r1)
/* 80251A0C 0024E94C C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 80251A10 0024E950 48 01 5C 65 */ bl cM_atan2s
/* 80251A14 0024E954 7F 9E C2 14 */ add r28, r30, r24
/* 80251A18 0024E958 A8 9C 00 4C */ lha r4, 0x4c(r28)
/* 80251A1C 0024E95C 7C 16 D8 50 */ subf r0, r22, r27
/* 80251A20 0024E960 C8 22 B4 10 */ lfd f1, lbl_80454E10-_SDA2_BASE_(r2)
/* 80251A24 0024E964 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80251A28 0024E968 90 01 00 DC */ stw r0, 0xdc(r1)
/* 80251A2C 0024E96C 3C A0 43 30 */ lis r5, 0x4330
/* 80251A30 0024E970 90 A1 00 D8 */ stw r5, 0xd8(r1)
/* 80251A34 0024E974 C8 01 00 D8 */ lfd f0, 0xd8(r1)
/* 80251A38 0024E978 EC 00 08 28 */ fsubs f0, f0, f1
/* 80251A3C 0024E97C EC 1F 00 32 */ fmuls f0, f31, f0
/* 80251A40 0024E980 FC 00 00 1E */ fctiwz f0, f0
/* 80251A44 0024E984 D8 01 00 E0 */ stfd f0, 0xe0(r1)
/* 80251A48 0024E988 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80251A4C 0024E98C 7C 04 02 14 */ add r0, r4, r0
/* 80251A50 0024E990 B0 1C 00 4C */ sth r0, 0x4c(r28)
/* 80251A54 0024E994 A8 9C 00 4E */ lha r4, 0x4e(r28)
/* 80251A58 0024E998 7C 63 07 34 */ extsh r3, r3
/* 80251A5C 0024E99C 7F A0 07 34 */ extsh r0, r29
/* 80251A60 0024E9A0 7C 03 00 50 */ subf r0, r3, r0
/* 80251A64 0024E9A4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80251A68 0024E9A8 90 01 00 EC */ stw r0, 0xec(r1)
/* 80251A6C 0024E9AC 90 A1 00 E8 */ stw r5, 0xe8(r1)
/* 80251A70 0024E9B0 C8 01 00 E8 */ lfd f0, 0xe8(r1)
/* 80251A74 0024E9B4 EC 00 08 28 */ fsubs f0, f0, f1
/* 80251A78 0024E9B8 EC 1F 00 32 */ fmuls f0, f31, f0
/* 80251A7C 0024E9BC FC 00 00 1E */ fctiwz f0, f0
/* 80251A80 0024E9C0 D8 01 00 F0 */ stfd f0, 0xf0(r1)
/* 80251A84 0024E9C4 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 80251A88 0024E9C8 7C 04 02 14 */ add r0, r4, r0
/* 80251A8C 0024E9CC B0 1C 00 4E */ sth r0, 0x4e(r28)
/* 80251A90 0024E9D0 7F C3 F3 78 */ mr r3, r30
/* 80251A94 0024E9D4 38 9C 00 4C */ addi r4, r28, 0x4c
/* 80251A98 0024E9D8 A8 BC 00 34 */ lha r5, 0x34(r28)
/* 80251A9C 0024E9DC A8 DC 00 94 */ lha r6, 0x94(r28)
/* 80251AA0 0024E9E0 A8 FC 00 7C */ lha r7, 0x7c(r28)
/* 80251AA4 0024E9E4 48 00 05 75 */ bl dNpcLib_lookat_c_NS_limitter
/* 80251AA8 0024E9E8 7F C3 F3 78 */ mr r3, r30
/* 80251AAC 0024E9EC 38 9C 00 4E */ addi r4, r28, 0x4e
/* 80251AB0 0024E9F0 A8 BC 00 36 */ lha r5, 0x36(r28)
/* 80251AB4 0024E9F4 A8 DC 00 96 */ lha r6, 0x96(r28)
/* 80251AB8 0024E9F8 A8 FC 00 7E */ lha r7, 0x7e(r28)
/* 80251ABC 0024E9FC 48 00 05 5D */ bl dNpcLib_lookat_c_NS_limitter
lbl_80251AC0:
/* 80251AC0 0024EA00 EF FF 07 B2 */ fmuls f31, f31, f30
/* 80251AC4 0024EA04 7F C3 F3 78 */ mr r3, r30
/* 80251AC8 0024EA08 48 00 04 31 */ bl dNpcLib_lookat_c_NS_update
/* 80251ACC 0024EA0C 3B 5A FF FF */ addi r26, r26, -1
/* 80251AD0 0024EA10 3B 18 FF FA */ addi r24, r24, -6
/* 80251AD4 0024EA14 3A F7 FF F4 */ addi r23, r23, -12
lbl_80251AD8:
/* 80251AD8 0024EA18 2C 1A 00 00 */ cmpwi r26, 0
/* 80251ADC 0024EA1C 41 80 00 0C */ blt lbl_80251AE8
/* 80251AE0 0024EA20 2C 19 00 01 */ cmpwi r25, 1
/* 80251AE4 0024EA24 41 82 FC 40 */ beq lbl_80251724
lbl_80251AE8:
/* 80251AE8 0024EA28 80 0D 8B E0 */ lwz r0, lbl_80451160-_SDA_BASE_(r13)
/* 80251AEC 0024EA2C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80251AF0 0024EA30 A0 0D 8B E4 */ lhz r0, lbl_80451164-_SDA_BASE_(r13)
/* 80251AF4 0024EA34 B0 01 00 14 */ sth r0, 0x14(r1)
/* 80251AF8 0024EA38 3A C0 00 00 */ li r22, 0
/* 80251AFC 0024EA3C 3B 20 00 00 */ li r25, 0
/* 80251B00 0024EA40 3A E0 00 00 */ li r23, 0
lbl_80251B04:
/* 80251B04 0024EA44 38 61 00 10 */ addi r3, r1, 0x10
/* 80251B08 0024EA48 7F 1E CA 14 */ add r24, r30, r25
/* 80251B0C 0024EA4C 38 98 00 4C */ addi r4, r24, 0x4c
/* 80251B10 0024EA50 48 01 59 4D */ bl csXyz_NS___apl
/* 80251B14 0024EA54 A8 01 00 10 */ lha r0, 0x10(r1)
/* 80251B18 0024EA58 B0 18 00 64 */ sth r0, 0x64(r24)
/* 80251B1C 0024EA5C A8 01 00 12 */ lha r0, 0x12(r1)
/* 80251B20 0024EA60 B0 18 00 66 */ sth r0, 0x66(r24)
/* 80251B24 0024EA64 B2 F8 00 68 */ sth r23, 0x68(r24)
/* 80251B28 0024EA68 3A D6 00 01 */ addi r22, r22, 1
/* 80251B2C 0024EA6C 2C 16 00 04 */ cmpwi r22, 4
/* 80251B30 0024EA70 3B 39 00 06 */ addi r25, r25, 6
/* 80251B34 0024EA74 41 80 FF D0 */ blt lbl_80251B04
/* 80251B38 0024EA78 E3 E1 01 38 */ psq_l f31, 312(r1), 0, qr0
/* 80251B3C 0024EA7C CB E1 01 30 */ lfd f31, 0x130(r1)
/* 80251B40 0024EA80 E3 C1 01 28 */ psq_l f30, 296(r1), 0, qr0
/* 80251B44 0024EA84 CB C1 01 20 */ lfd f30, 0x120(r1)
/* 80251B48 0024EA88 39 61 01 20 */ addi r11, r1, 0x120
/* 80251B4C 0024EA8C 48 11 06 C1 */ bl _restgpr_22
/* 80251B50 0024EA90 80 01 01 44 */ lwz r0, 0x144(r1)
/* 80251B54 0024EA94 7C 08 03 A6 */ mtlr r0
/* 80251B58 0024EA98 38 21 01 40 */ addi r1, r1, 0x140
/* 80251B5C 0024EA9C 4E 80 00 20 */ blr
/* 80251B60 0024EAA0 4E 80 00 20 */ blr
.global dNpcLib_lookat_c_NS_setPrm
dNpcLib_lookat_c_NS_setPrm:
/* 80251B64 0024EAA4 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80251B68 0024EAA8 7C 08 02 A6 */ mflr r0
/* 80251B6C 0024EAAC 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80251B70 0024EAB0 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 80251B74 0024EAB4 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0
/* 80251B78 0024EAB8 DB C1 00 90 */ stfd f30, 0x90(r1)
/* 80251B7C 0024EABC F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0
/* 80251B80 0024EAC0 DB A1 00 80 */ stfd f29, 0x80(r1)
/* 80251B84 0024EAC4 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0
/* 80251B88 0024EAC8 39 61 00 80 */ addi r11, r1, 0x80
/* 80251B8C 0024EACC 48 11 06 41 */ bl _savegpr_25
/* 80251B90 0024EAD0 7C 7C 1B 78 */ mr r28, r3
/* 80251B94 0024EAD4 38 E0 00 00 */ li r7, 0
/* 80251B98 0024EAD8 38 60 00 00 */ li r3, 0
/* 80251B9C 0024EADC 38 80 00 00 */ li r4, 0
/* 80251BA0 0024EAE0 38 AD 8B E0 */ addi r5, r13, lbl_80451160-_SDA_BASE_
/* 80251BA4 0024EAE4 C0 02 B3 E8 */ lfs f0, lbl_80454DE8-_SDA2_BASE_(r2)
/* 80251BA8 0024EAE8 48 00 00 34 */ b lbl_80251BDC
lbl_80251BAC:
/* 80251BAC 0024EAEC A8 0D 8B E0 */ lha r0, lbl_80451160-_SDA_BASE_(r13)
/* 80251BB0 0024EAF0 7C DC 22 14 */ add r6, r28, r4
/* 80251BB4 0024EAF4 B0 06 00 34 */ sth r0, 0x34(r6)
/* 80251BB8 0024EAF8 A8 05 00 02 */ lha r0, 2(r5)
/* 80251BBC 0024EAFC B0 06 00 36 */ sth r0, 0x36(r6)
/* 80251BC0 0024EB00 A8 05 00 04 */ lha r0, 4(r5)
/* 80251BC4 0024EB04 B0 06 00 38 */ sth r0, 0x38(r6)
/* 80251BC8 0024EB08 38 03 00 AC */ addi r0, r3, 0xac
/* 80251BCC 0024EB0C 7C 1C 05 2E */ stfsx f0, r28, r0
/* 80251BD0 0024EB10 38 E7 00 01 */ addi r7, r7, 1
/* 80251BD4 0024EB14 38 63 00 04 */ addi r3, r3, 4
/* 80251BD8 0024EB18 38 84 00 06 */ addi r4, r4, 6
lbl_80251BDC:
/* 80251BDC 0024EB1C 80 1C 00 CC */ lwz r0, 0xcc(r28)
/* 80251BE0 0024EB20 7C 07 00 00 */ cmpw r7, r0
/* 80251BE4 0024EB24 41 80 FF C8 */ blt lbl_80251BAC
/* 80251BE8 0024EB28 3B A0 00 00 */ li r29, 0
/* 80251BEC 0024EB2C 3B 60 00 00 */ li r27, 0
/* 80251BF0 0024EB30 3B 40 00 00 */ li r26, 0
/* 80251BF4 0024EB34 3B 20 00 00 */ li r25, 0
/* 80251BF8 0024EB38 C3 A2 B4 18 */ lfs f29, lbl_80454E18-_SDA2_BASE_(r2)
/* 80251BFC 0024EB3C CB C2 B4 10 */ lfd f30, lbl_80454E10-_SDA2_BASE_(r2)
/* 80251C00 0024EB40 3F E0 43 30 */ lis r31, 0x4330
/* 80251C04 0024EB44 C3 E2 B3 E8 */ lfs f31, lbl_80454DE8-_SDA2_BASE_(r2)
/* 80251C08 0024EB48 48 00 02 B4 */ b lbl_80251EBC
lbl_80251C0C:
/* 80251C0C 0024EB4C 7F DC CA 14 */ add r30, r28, r25
/* 80251C10 0024EB50 A8 1E 00 4C */ lha r0, 0x4c(r30)
/* 80251C14 0024EB54 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80251C18 0024EB58 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80251C1C 0024EB5C 93 E1 00 38 */ stw r31, 0x38(r1)
/* 80251C20 0024EB60 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 80251C24 0024EB64 EC 00 F0 28 */ fsubs f0, f0, f30
/* 80251C28 0024EB68 EC 1D 00 32 */ fmuls f0, f29, f0
/* 80251C2C 0024EB6C FC 00 00 1E */ fctiwz f0, f0
/* 80251C30 0024EB70 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 80251C34 0024EB74 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80251C38 0024EB78 B0 1E 00 4C */ sth r0, 0x4c(r30)
/* 80251C3C 0024EB7C A8 1E 00 4E */ lha r0, 0x4e(r30)
/* 80251C40 0024EB80 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80251C44 0024EB84 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80251C48 0024EB88 93 E1 00 48 */ stw r31, 0x48(r1)
/* 80251C4C 0024EB8C C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80251C50 0024EB90 EC 00 F0 28 */ fsubs f0, f0, f30
/* 80251C54 0024EB94 EC 1D 00 32 */ fmuls f0, f29, f0
/* 80251C58 0024EB98 FC 00 00 1E */ fctiwz f0, f0
/* 80251C5C 0024EB9C D8 01 00 50 */ stfd f0, 0x50(r1)
/* 80251C60 0024EBA0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80251C64 0024EBA4 B0 1E 00 4E */ sth r0, 0x4e(r30)
/* 80251C68 0024EBA8 38 61 00 1C */ addi r3, r1, 0x1c
/* 80251C6C 0024EBAC 38 1D 00 01 */ addi r0, r29, 1
/* 80251C70 0024EBB0 1C 80 00 0C */ mulli r4, r0, 0xc
/* 80251C74 0024EBB4 38 84 00 04 */ addi r4, r4, 4
/* 80251C78 0024EBB8 7C 9C 22 14 */ add r4, r28, r4
/* 80251C7C 0024EBBC 38 BA 00 04 */ addi r5, r26, 4
/* 80251C80 0024EBC0 7C BC 2A 14 */ add r5, r28, r5
/* 80251C84 0024EBC4 48 01 4E B1 */ bl cXyz_NS___mi
/* 80251C88 0024EBC8 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 80251C8C 0024EBCC D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80251C90 0024EBD0 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80251C94 0024EBD4 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80251C98 0024EBD8 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80251C9C 0024EBDC D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80251CA0 0024EBE0 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80251CA4 0024EBE4 D3 E1 00 14 */ stfs f31, 0x14(r1)
/* 80251CA8 0024EBE8 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80251CAC 0024EBEC 38 61 00 10 */ addi r3, r1, 0x10
/* 80251CB0 0024EBF0 48 0F 54 89 */ bl PSVECSquareMag
/* 80251CB4 0024EBF4 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 80251CB8 0024EBF8 40 81 00 58 */ ble lbl_80251D10
/* 80251CBC 0024EBFC FC 00 08 34 */ frsqrte f0, f1
/* 80251CC0 0024EC00 C8 82 B3 F0 */ lfd f4, lbl_80454DF0-_SDA2_BASE_(r2)
/* 80251CC4 0024EC04 FC 44 00 32 */ fmul f2, f4, f0
/* 80251CC8 0024EC08 C8 62 B3 F8 */ lfd f3, lbl_80454DF8-_SDA2_BASE_(r2)
/* 80251CCC 0024EC0C FC 00 00 32 */ fmul f0, f0, f0
/* 80251CD0 0024EC10 FC 01 00 32 */ fmul f0, f1, f0
/* 80251CD4 0024EC14 FC 03 00 28 */ fsub f0, f3, f0
/* 80251CD8 0024EC18 FC 02 00 32 */ fmul f0, f2, f0
/* 80251CDC 0024EC1C FC 44 00 32 */ fmul f2, f4, f0
/* 80251CE0 0024EC20 FC 00 00 32 */ fmul f0, f0, f0
/* 80251CE4 0024EC24 FC 01 00 32 */ fmul f0, f1, f0
/* 80251CE8 0024EC28 FC 03 00 28 */ fsub f0, f3, f0
/* 80251CEC 0024EC2C FC 02 00 32 */ fmul f0, f2, f0
/* 80251CF0 0024EC30 FC 44 00 32 */ fmul f2, f4, f0
/* 80251CF4 0024EC34 FC 00 00 32 */ fmul f0, f0, f0
/* 80251CF8 0024EC38 FC 01 00 32 */ fmul f0, f1, f0
/* 80251CFC 0024EC3C FC 03 00 28 */ fsub f0, f3, f0
/* 80251D00 0024EC40 FC 02 00 32 */ fmul f0, f2, f0
/* 80251D04 0024EC44 FC 41 00 32 */ fmul f2, f1, f0
/* 80251D08 0024EC48 FC 40 10 18 */ frsp f2, f2
/* 80251D0C 0024EC4C 48 00 00 90 */ b lbl_80251D9C
lbl_80251D10:
/* 80251D10 0024EC50 C8 02 B4 00 */ lfd f0, lbl_80454E00-_SDA2_BASE_(r2)
/* 80251D14 0024EC54 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80251D18 0024EC58 40 80 00 10 */ bge lbl_80251D28
/* 80251D1C 0024EC5C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80251D20 0024EC60 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 80251D24 0024EC64 48 00 00 78 */ b lbl_80251D9C
lbl_80251D28:
/* 80251D28 0024EC68 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80251D2C 0024EC6C 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80251D30 0024EC70 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80251D34 0024EC74 3C 00 7F 80 */ lis r0, 0x7f80
/* 80251D38 0024EC78 7C 03 00 00 */ cmpw r3, r0
/* 80251D3C 0024EC7C 41 82 00 14 */ beq lbl_80251D50
/* 80251D40 0024EC80 40 80 00 40 */ bge lbl_80251D80
/* 80251D44 0024EC84 2C 03 00 00 */ cmpwi r3, 0
/* 80251D48 0024EC88 41 82 00 20 */ beq lbl_80251D68
/* 80251D4C 0024EC8C 48 00 00 34 */ b lbl_80251D80
lbl_80251D50:
/* 80251D50 0024EC90 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80251D54 0024EC94 41 82 00 0C */ beq lbl_80251D60
/* 80251D58 0024EC98 38 00 00 01 */ li r0, 1
/* 80251D5C 0024EC9C 48 00 00 28 */ b lbl_80251D84
lbl_80251D60:
/* 80251D60 0024ECA0 38 00 00 02 */ li r0, 2
/* 80251D64 0024ECA4 48 00 00 20 */ b lbl_80251D84
lbl_80251D68:
/* 80251D68 0024ECA8 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80251D6C 0024ECAC 41 82 00 0C */ beq lbl_80251D78
/* 80251D70 0024ECB0 38 00 00 05 */ li r0, 5
/* 80251D74 0024ECB4 48 00 00 10 */ b lbl_80251D84
lbl_80251D78:
/* 80251D78 0024ECB8 38 00 00 03 */ li r0, 3
/* 80251D7C 0024ECBC 48 00 00 08 */ b lbl_80251D84
lbl_80251D80:
/* 80251D80 0024ECC0 38 00 00 04 */ li r0, 4
lbl_80251D84:
/* 80251D84 0024ECC4 2C 00 00 01 */ cmpwi r0, 1
/* 80251D88 0024ECC8 40 82 00 10 */ bne lbl_80251D98
/* 80251D8C 0024ECCC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80251D90 0024ECD0 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3)
/* 80251D94 0024ECD4 48 00 00 08 */ b lbl_80251D9C
lbl_80251D98:
/* 80251D98 0024ECD8 FC 40 08 90 */ fmr f2, f1
lbl_80251D9C:
/* 80251D9C 0024ECDC C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 80251DA0 0024ECE0 48 01 58 D5 */ bl cM_atan2s
/* 80251DA4 0024ECE4 7C 03 00 D0 */ neg r0, r3
/* 80251DA8 0024ECE8 B0 1E 00 34 */ sth r0, 0x34(r30)
/* 80251DAC 0024ECEC C0 21 00 28 */ lfs f1, 0x28(r1)
/* 80251DB0 0024ECF0 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 80251DB4 0024ECF4 48 01 58 C1 */ bl cM_atan2s
/* 80251DB8 0024ECF8 B0 7E 00 36 */ sth r3, 0x36(r30)
/* 80251DBC 0024ECFC 38 61 00 28 */ addi r3, r1, 0x28
/* 80251DC0 0024ED00 48 0F 53 79 */ bl PSVECSquareMag
/* 80251DC4 0024ED04 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 80251DC8 0024ED08 40 81 00 58 */ ble lbl_80251E20
/* 80251DCC 0024ED0C FC 00 08 34 */ frsqrte f0, f1
/* 80251DD0 0024ED10 C8 82 B3 F0 */ lfd f4, lbl_80454DF0-_SDA2_BASE_(r2)
/* 80251DD4 0024ED14 FC 44 00 32 */ fmul f2, f4, f0
/* 80251DD8 0024ED18 C8 62 B3 F8 */ lfd f3, lbl_80454DF8-_SDA2_BASE_(r2)
/* 80251DDC 0024ED1C FC 00 00 32 */ fmul f0, f0, f0
/* 80251DE0 0024ED20 FC 01 00 32 */ fmul f0, f1, f0
/* 80251DE4 0024ED24 FC 03 00 28 */ fsub f0, f3, f0
/* 80251DE8 0024ED28 FC 02 00 32 */ fmul f0, f2, f0
/* 80251DEC 0024ED2C FC 44 00 32 */ fmul f2, f4, f0
/* 80251DF0 0024ED30 FC 00 00 32 */ fmul f0, f0, f0
/* 80251DF4 0024ED34 FC 01 00 32 */ fmul f0, f1, f0
/* 80251DF8 0024ED38 FC 03 00 28 */ fsub f0, f3, f0
/* 80251DFC 0024ED3C FC 02 00 32 */ fmul f0, f2, f0
/* 80251E00 0024ED40 FC 44 00 32 */ fmul f2, f4, f0
/* 80251E04 0024ED44 FC 00 00 32 */ fmul f0, f0, f0
/* 80251E08 0024ED48 FC 01 00 32 */ fmul f0, f1, f0
/* 80251E0C 0024ED4C FC 03 00 28 */ fsub f0, f3, f0
/* 80251E10 0024ED50 FC 02 00 32 */ fmul f0, f2, f0
/* 80251E14 0024ED54 FC 21 00 32 */ fmul f1, f1, f0
/* 80251E18 0024ED58 FC 20 08 18 */ frsp f1, f1
/* 80251E1C 0024ED5C 48 00 00 88 */ b lbl_80251EA4
lbl_80251E20:
/* 80251E20 0024ED60 C8 02 B4 00 */ lfd f0, lbl_80454E00-_SDA2_BASE_(r2)
/* 80251E24 0024ED64 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80251E28 0024ED68 40 80 00 10 */ bge lbl_80251E38
/* 80251E2C 0024ED6C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80251E30 0024ED70 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
/* 80251E34 0024ED74 48 00 00 70 */ b lbl_80251EA4
lbl_80251E38:
/* 80251E38 0024ED78 D0 21 00 08 */ stfs f1, 8(r1)
/* 80251E3C 0024ED7C 80 81 00 08 */ lwz r4, 8(r1)
/* 80251E40 0024ED80 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80251E44 0024ED84 3C 00 7F 80 */ lis r0, 0x7f80
/* 80251E48 0024ED88 7C 03 00 00 */ cmpw r3, r0
/* 80251E4C 0024ED8C 41 82 00 14 */ beq lbl_80251E60
/* 80251E50 0024ED90 40 80 00 40 */ bge lbl_80251E90
/* 80251E54 0024ED94 2C 03 00 00 */ cmpwi r3, 0
/* 80251E58 0024ED98 41 82 00 20 */ beq lbl_80251E78
/* 80251E5C 0024ED9C 48 00 00 34 */ b lbl_80251E90
lbl_80251E60:
/* 80251E60 0024EDA0 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80251E64 0024EDA4 41 82 00 0C */ beq lbl_80251E70
/* 80251E68 0024EDA8 38 00 00 01 */ li r0, 1
/* 80251E6C 0024EDAC 48 00 00 28 */ b lbl_80251E94
lbl_80251E70:
/* 80251E70 0024EDB0 38 00 00 02 */ li r0, 2
/* 80251E74 0024EDB4 48 00 00 20 */ b lbl_80251E94
lbl_80251E78:
/* 80251E78 0024EDB8 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80251E7C 0024EDBC 41 82 00 0C */ beq lbl_80251E88
/* 80251E80 0024EDC0 38 00 00 05 */ li r0, 5
/* 80251E84 0024EDC4 48 00 00 10 */ b lbl_80251E94
lbl_80251E88:
/* 80251E88 0024EDC8 38 00 00 03 */ li r0, 3
/* 80251E8C 0024EDCC 48 00 00 08 */ b lbl_80251E94
lbl_80251E90:
/* 80251E90 0024EDD0 38 00 00 04 */ li r0, 4
lbl_80251E94:
/* 80251E94 0024EDD4 2C 00 00 01 */ cmpwi r0, 1
/* 80251E98 0024EDD8 40 82 00 0C */ bne lbl_80251EA4
/* 80251E9C 0024EDDC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80251EA0 0024EDE0 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
lbl_80251EA4:
/* 80251EA4 0024EDE4 38 1B 00 AC */ addi r0, r27, 0xac
/* 80251EA8 0024EDE8 7C 3C 05 2E */ stfsx f1, r28, r0
/* 80251EAC 0024EDEC 3B BD 00 01 */ addi r29, r29, 1
/* 80251EB0 0024EDF0 3B 7B 00 04 */ addi r27, r27, 4
/* 80251EB4 0024EDF4 3B 5A 00 0C */ addi r26, r26, 0xc
/* 80251EB8 0024EDF8 3B 39 00 06 */ addi r25, r25, 6
lbl_80251EBC:
/* 80251EBC 0024EDFC 80 1C 00 CC */ lwz r0, 0xcc(r28)
/* 80251EC0 0024EE00 7C 1D 00 00 */ cmpw r29, r0
/* 80251EC4 0024EE04 41 80 FD 48 */ blt lbl_80251C0C
/* 80251EC8 0024EE08 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0
/* 80251ECC 0024EE0C CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 80251ED0 0024EE10 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0
/* 80251ED4 0024EE14 CB C1 00 90 */ lfd f30, 0x90(r1)
/* 80251ED8 0024EE18 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0
/* 80251EDC 0024EE1C CB A1 00 80 */ lfd f29, 0x80(r1)
/* 80251EE0 0024EE20 39 61 00 80 */ addi r11, r1, 0x80
/* 80251EE4 0024EE24 48 11 03 35 */ bl _restgpr_25
/* 80251EE8 0024EE28 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80251EEC 0024EE2C 7C 08 03 A6 */ mtlr r0
/* 80251EF0 0024EE30 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80251EF4 0024EE34 4E 80 00 20 */ blr
.global dNpcLib_lookat_c_NS_update
dNpcLib_lookat_c_NS_update:
/* 80251EF8 0024EE38 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80251EFC 0024EE3C 7C 08 02 A6 */ mflr r0
/* 80251F00 0024EE40 90 01 00 94 */ stw r0, 0x94(r1)
/* 80251F04 0024EE44 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 80251F08 0024EE48 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 80251F0C 0024EE4C 39 61 00 80 */ addi r11, r1, 0x80
/* 80251F10 0024EE50 48 11 02 B5 */ bl _savegpr_23
/* 80251F14 0024EE54 7C 7D 1B 78 */ mr r29, r3
/* 80251F18 0024EE58 80 0D 8B E0 */ lwz r0, lbl_80451160-_SDA_BASE_(r13)
/* 80251F1C 0024EE5C 90 01 00 08 */ stw r0, 8(r1)
/* 80251F20 0024EE60 A0 0D 8B E4 */ lhz r0, lbl_80451164-_SDA_BASE_(r13)
/* 80251F24 0024EE64 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80251F28 0024EE68 3B C0 00 00 */ li r30, 0
/* 80251F2C 0024EE6C 3B 80 00 00 */ li r28, 0
/* 80251F30 0024EE70 3B 60 00 00 */ li r27, 0
/* 80251F34 0024EE74 3B 40 00 00 */ li r26, 0
/* 80251F38 0024EE78 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80251F3C 0024EE7C 3B E3 D4 70 */ addi r31, r3, lbl_803DD470@l
/* 80251F40 0024EE80 7F F8 FB 78 */ mr r24, r31
/* 80251F44 0024EE84 C3 E2 B3 E8 */ lfs f31, lbl_80454DE8-_SDA2_BASE_(r2)
/* 80251F48 0024EE88 7F F9 FB 78 */ mr r25, r31
/* 80251F4C 0024EE8C 48 00 00 A0 */ b lbl_80251FEC
lbl_80251F50:
/* 80251F50 0024EE90 7E FD D2 14 */ add r23, r29, r26
/* 80251F54 0024EE94 38 77 00 34 */ addi r3, r23, 0x34
/* 80251F58 0024EE98 4B DB AF 45 */ bl mDoMtx_stack_c_NS_XYZrotS
/* 80251F5C 0024EE9C 7F E3 FB 78 */ mr r3, r31
/* 80251F60 0024EEA0 38 81 00 1C */ addi r4, r1, 0x1c
/* 80251F64 0024EEA4 48 0F 45 4D */ bl PSMTXCopy
/* 80251F68 0024EEA8 38 7B 00 04 */ addi r3, r27, 4
/* 80251F6C 0024EEAC 7C 7D 1A 14 */ add r3, r29, r3
/* 80251F70 0024EEB0 4B DB AD F5 */ bl mDoMtx_stack_c_NS_transS
/* 80251F74 0024EEB4 A8 61 00 08 */ lha r3, 8(r1)
/* 80251F78 0024EEB8 A8 17 00 4C */ lha r0, 0x4c(r23)
/* 80251F7C 0024EEBC 7C 03 02 14 */ add r0, r3, r0
/* 80251F80 0024EEC0 B0 01 00 08 */ sth r0, 8(r1)
/* 80251F84 0024EEC4 A8 61 00 0A */ lha r3, 0xa(r1)
/* 80251F88 0024EEC8 A8 17 00 4E */ lha r0, 0x4e(r23)
/* 80251F8C 0024EECC 7C 03 02 14 */ add r0, r3, r0
/* 80251F90 0024EED0 B0 01 00 0A */ sth r0, 0xa(r1)
/* 80251F94 0024EED4 38 61 00 08 */ addi r3, r1, 8
/* 80251F98 0024EED8 4B DB AF AD */ bl mDoMtx_stack_c_NS_ZXYrotM
/* 80251F9C 0024EEDC 7F E3 FB 78 */ mr r3, r31
/* 80251FA0 0024EEE0 38 81 00 1C */ addi r4, r1, 0x1c
/* 80251FA4 0024EEE4 7F 05 C3 78 */ mr r5, r24
/* 80251FA8 0024EEE8 48 0F 45 3D */ bl PSMTXConcat
/* 80251FAC 0024EEEC 38 1C 00 AC */ addi r0, r28, 0xac
/* 80251FB0 0024EEF0 7C 1D 04 2E */ lfsx f0, r29, r0
/* 80251FB4 0024EEF4 D3 E1 00 10 */ stfs f31, 0x10(r1)
/* 80251FB8 0024EEF8 D3 E1 00 14 */ stfs f31, 0x14(r1)
/* 80251FBC 0024EEFC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80251FC0 0024EF00 7F 23 CB 78 */ mr r3, r25
/* 80251FC4 0024EF04 38 81 00 10 */ addi r4, r1, 0x10
/* 80251FC8 0024EF08 38 1E 00 01 */ addi r0, r30, 1
/* 80251FCC 0024EF0C 1C A0 00 0C */ mulli r5, r0, 0xc
/* 80251FD0 0024EF10 38 A5 00 04 */ addi r5, r5, 4
/* 80251FD4 0024EF14 7C BD 2A 14 */ add r5, r29, r5
/* 80251FD8 0024EF18 48 0F 4D 95 */ bl PSMTXMultVec
/* 80251FDC 0024EF1C 3B DE 00 01 */ addi r30, r30, 1
/* 80251FE0 0024EF20 3B 9C 00 04 */ addi r28, r28, 4
/* 80251FE4 0024EF24 3B 7B 00 0C */ addi r27, r27, 0xc
/* 80251FE8 0024EF28 3B 5A 00 06 */ addi r26, r26, 6
lbl_80251FEC:
/* 80251FEC 0024EF2C 80 1D 00 CC */ lwz r0, 0xcc(r29)
/* 80251FF0 0024EF30 7C 1E 00 00 */ cmpw r30, r0
/* 80251FF4 0024EF34 41 80 FF 5C */ blt lbl_80251F50
/* 80251FF8 0024EF38 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 80251FFC 0024EF3C CB E1 00 80 */ lfd f31, 0x80(r1)
/* 80252000 0024EF40 39 61 00 80 */ addi r11, r1, 0x80
/* 80252004 0024EF44 48 11 02 0D */ bl _restgpr_23
/* 80252008 0024EF48 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8025200C 0024EF4C 7C 08 03 A6 */ mtlr r0
/* 80252010 0024EF50 38 21 00 90 */ addi r1, r1, 0x90
/* 80252014 0024EF54 4E 80 00 20 */ blr
.global dNpcLib_lookat_c_NS_limitter
dNpcLib_lookat_c_NS_limitter:
/* 80252018 0024EF58 7C A0 07 34 */ extsh r0, r5
/* 8025201C 0024EF5C A8 64 00 00 */ lha r3, 0(r4)
/* 80252020 0024EF60 7D 00 1A 14 */ add r8, r0, r3
/* 80252024 0024EF64 7C C6 07 34 */ extsh r6, r6
/* 80252028 0024EF68 7C 06 40 00 */ cmpw r6, r8
/* 8025202C 0024EF6C 41 81 00 28 */ bgt lbl_80252054
/* 80252030 0024EF70 7C 06 00 00 */ cmpw r6, r0
/* 80252034 0024EF74 41 81 00 10 */ bgt lbl_80252044
/* 80252038 0024EF78 38 00 00 00 */ li r0, 0
/* 8025203C 0024EF7C B0 04 00 00 */ sth r0, 0(r4)
/* 80252040 0024EF80 48 00 00 14 */ b lbl_80252054
lbl_80252044:
/* 80252044 0024EF84 7C 06 40 50 */ subf r0, r6, r8
/* 80252048 0024EF88 7C 00 07 34 */ extsh r0, r0
/* 8025204C 0024EF8C 7C 00 18 50 */ subf r0, r0, r3
/* 80252050 0024EF90 B0 04 00 00 */ sth r0, 0(r4)
lbl_80252054:
/* 80252054 0024EF94 7C E3 07 34 */ extsh r3, r7
/* 80252058 0024EF98 7C 08 18 00 */ cmpw r8, r3
/* 8025205C 0024EF9C 41 81 00 30 */ bgt lbl_8025208C
/* 80252060 0024EFA0 7C A0 07 34 */ extsh r0, r5
/* 80252064 0024EFA4 7C 00 18 00 */ cmpw r0, r3
/* 80252068 0024EFA8 41 81 00 10 */ bgt lbl_80252078
/* 8025206C 0024EFAC 38 00 00 00 */ li r0, 0
/* 80252070 0024EFB0 B0 04 00 00 */ sth r0, 0(r4)
/* 80252074 0024EFB4 48 00 00 18 */ b lbl_8025208C
lbl_80252078:
/* 80252078 0024EFB8 7C 03 40 50 */ subf r0, r3, r8
/* 8025207C 0024EFBC 7C 03 07 34 */ extsh r3, r0
/* 80252080 0024EFC0 A8 04 00 00 */ lha r0, 0(r4)
/* 80252084 0024EFC4 7C 03 00 50 */ subf r0, r3, r0
/* 80252088 0024EFC8 B0 04 00 00 */ sth r0, 0(r4)
lbl_8025208C:
/* 8025208C 0024EFCC 38 60 00 01 */ li r3, 1
/* 80252090 0024EFD0 4E 80 00 20 */ blr
/* 80252094 0024EFD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80252098 0024EFD8 7C 08 02 A6 */ mflr r0
/* 8025209C 0024EFDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802520A0 0024EFE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802520A4 0024EFE4 93 C1 00 08 */ stw r30, 8(r1)
/* 802520A8 0024EFE8 7C 7E 1B 79 */ or. r30, r3, r3
/* 802520AC 0024EFEC 7C 9F 23 78 */ mr r31, r4
/* 802520B0 0024EFF0 41 82 00 B0 */ beq lbl_80252160
/* 802520B4 0024EFF4 3C 60 80 3C */ lis r3, lbl_803C2B88@ha
/* 802520B8 0024EFF8 38 03 2B 88 */ addi r0, r3, lbl_803C2B88@l
/* 802520BC 0024EFFC 90 1E 00 00 */ stw r0, 0(r30)
/* 802520C0 0024F000 38 7E 00 94 */ addi r3, r30, 0x94
.global csXyz_NS_dtor
/* 802520C4 0024F004 3C 80 80 02 */ lis r4, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 802520C8 0024F008 38 84 8B D0 */ addi r4, r4, csXyz_NS_dtor@l
/* 802520CC 0024F00C 38 A0 00 06 */ li r5, 6
/* 802520D0 0024F010 38 C0 00 04 */ li r6, 4
/* 802520D4 0024F014 48 10 FC 15 */ bl func_80361CE8
/* 802520D8 0024F018 38 7E 00 7C */ addi r3, r30, 0x7c
.global csXyz_NS_dtor
/* 802520DC 0024F01C 3C 80 80 02 */ lis r4, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 802520E0 0024F020 38 84 8B D0 */ addi r4, r4, csXyz_NS_dtor@l
/* 802520E4 0024F024 38 A0 00 06 */ li r5, 6
/* 802520E8 0024F028 38 C0 00 04 */ li r6, 4
/* 802520EC 0024F02C 48 10 FB FD */ bl func_80361CE8
/* 802520F0 0024F030 38 7E 00 64 */ addi r3, r30, 0x64
.global csXyz_NS_dtor
/* 802520F4 0024F034 3C 80 80 02 */ lis r4, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 802520F8 0024F038 38 84 8B D0 */ addi r4, r4, csXyz_NS_dtor@l
/* 802520FC 0024F03C 38 A0 00 06 */ li r5, 6
/* 80252100 0024F040 38 C0 00 04 */ li r6, 4
/* 80252104 0024F044 48 10 FB E5 */ bl func_80361CE8
/* 80252108 0024F048 38 7E 00 4C */ addi r3, r30, 0x4c
.global csXyz_NS_dtor
/* 8025210C 0024F04C 3C 80 80 02 */ lis r4, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 80252110 0024F050 38 84 8B D0 */ addi r4, r4, csXyz_NS_dtor@l
/* 80252114 0024F054 38 A0 00 06 */ li r5, 6
/* 80252118 0024F058 38 C0 00 04 */ li r6, 4
/* 8025211C 0024F05C 48 10 FB CD */ bl func_80361CE8
/* 80252120 0024F060 38 7E 00 34 */ addi r3, r30, 0x34
.global csXyz_NS_dtor
/* 80252124 0024F064 3C 80 80 02 */ lis r4, csXyz_NS_dtor@ha
.global csXyz_NS_dtor
/* 80252128 0024F068 38 84 8B D0 */ addi r4, r4, csXyz_NS_dtor@l
/* 8025212C 0024F06C 38 A0 00 06 */ li r5, 6
/* 80252130 0024F070 38 C0 00 04 */ li r6, 4
/* 80252134 0024F074 48 10 FB B5 */ bl func_80361CE8
/* 80252138 0024F078 38 7E 00 04 */ addi r3, r30, 4
/* 8025213C 0024F07C 3C 80 80 01 */ lis r4, cXyz_NS_dtor@ha
/* 80252140 0024F080 38 84 91 84 */ addi r4, r4, cXyz_NS_dtor@l
/* 80252144 0024F084 38 A0 00 0C */ li r5, 0xc
/* 80252148 0024F088 38 C0 00 04 */ li r6, 4
/* 8025214C 0024F08C 48 10 FB 9D */ bl func_80361CE8
/* 80252150 0024F090 7F E0 07 35 */ extsh. r0, r31
/* 80252154 0024F094 40 81 00 0C */ ble lbl_80252160
/* 80252158 0024F098 7F C3 F3 78 */ mr r3, r30
/* 8025215C 0024F09C 48 07 CB E1 */ bl __dl__FPv
lbl_80252160:
/* 80252160 0024F0A0 7F C3 F3 78 */ mr r3, r30
/* 80252164 0024F0A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80252168 0024F0A8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8025216C 0024F0AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80252170 0024F0B0 7C 08 03 A6 */ mtlr r0
/* 80252174 0024F0B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80252178 0024F0B8 4E 80 00 20 */ blr