tp/include/d/d_camera/asm/func_8017A2A0.s

750 lines
40 KiB
ArmAsm

/* 8017A2A0 001771E0 94 21 FC B0 */ stwu r1, -0x350(r1)
/* 8017A2A4 001771E4 7C 08 02 A6 */ mflr r0
/* 8017A2A8 001771E8 90 01 03 54 */ stw r0, 0x354(r1)
/* 8017A2AC 001771EC DB E1 03 40 */ stfd f31, 0x340(r1)
/* 8017A2B0 001771F0 F3 E1 03 48 */ psq_st f31, 840(r1), 0, 0
/* 8017A2B4 001771F4 DB C1 03 30 */ stfd f30, 0x330(r1)
/* 8017A2B8 001771F8 F3 C1 03 38 */ psq_st f30, 824(r1), 0, 0
/* 8017A2BC 001771FC DB A1 03 20 */ stfd f29, 0x320(r1)
/* 8017A2C0 00177200 F3 A1 03 28 */ psq_st f29, 808(r1), 0, 0
/* 8017A2C4 00177204 DB 81 03 10 */ stfd f28, 0x310(r1)
/* 8017A2C8 00177208 F3 81 03 18 */ psq_st f28, 792(r1), 0, 0
/* 8017A2CC 0017720C DB 61 03 00 */ stfd f27, 0x300(r1)
/* 8017A2D0 00177210 F3 61 03 08 */ psq_st f27, 776(r1), 0, 0
/* 8017A2D4 00177214 DB 41 02 F0 */ stfd f26, 0x2f0(r1)
/* 8017A2D8 00177218 F3 41 02 F8 */ psq_st f26, 760(r1), 0, 0
/* 8017A2DC 0017721C DB 21 02 E0 */ stfd f25, 0x2e0(r1)
/* 8017A2E0 00177220 F3 21 02 E8 */ psq_st f25, 744(r1), 0, 0
/* 8017A2E4 00177224 DB 01 02 D0 */ stfd f24, 0x2d0(r1)
/* 8017A2E8 00177228 F3 01 02 D8 */ psq_st f24, 728(r1), 0, 0
/* 8017A2EC 0017722C DA E1 02 C0 */ stfd f23, 0x2c0(r1)
/* 8017A2F0 00177230 F2 E1 02 C8 */ psq_st f23, 712(r1), 0, 0
/* 8017A2F4 00177234 DA C1 02 B0 */ stfd f22, 0x2b0(r1)
/* 8017A2F8 00177238 F2 C1 02 B8 */ psq_st f22, 696(r1), 0, 0
/* 8017A2FC 0017723C DA A1 02 A0 */ stfd f21, 0x2a0(r1)
/* 8017A300 00177240 F2 A1 02 A8 */ psq_st f21, 680(r1), 0, 0
/* 8017A304 00177244 DA 81 02 90 */ stfd f20, 0x290(r1)
/* 8017A308 00177248 F2 81 02 98 */ psq_st f20, 664(r1), 0, 0
/* 8017A30C 0017724C 39 61 02 90 */ addi r11, r1, 0x290
/* 8017A310 00177250 48 1E 7E B5 */ bl _savegpr_23
/* 8017A314 00177254 7C 79 1B 78 */ mr r25, r3
/* 8017A318 00177258 80 03 0A F4 */ lwz r0, 0xaf4(r3)
/* 8017A31C 0017725C 1F C4 00 78 */ mulli r30, r4, 0x78
/* 8017A320 00177260 7C 60 F2 14 */ add r3, r0, r30
/* 8017A324 00177264 C3 C3 00 24 */ lfs f30, 0x24(r3)
/* 8017A328 00177268 C3 A3 00 30 */ lfs f29, 0x30(r3)
/* 8017A32C 0017726C C2 C3 00 34 */ lfs f22, 0x34(r3)
/* 8017A330 00177270 C3 E3 00 2C */ lfs f31, 0x2c(r3)
/* 8017A334 00177274 C3 83 00 44 */ lfs f28, 0x44(r3)
/* 8017A338 00177278 C0 43 00 40 */ lfs f2, 0x40(r3)
/* 8017A33C 0017727C C3 63 00 4C */ lfs f27, 0x4c(r3)
/* 8017A340 00177280 C3 43 00 58 */ lfs f26, 0x58(r3)
/* 8017A344 00177284 C0 63 00 5C */ lfs f3, 0x5c(r3)
/* 8017A348 00177288 C2 A3 00 1C */ lfs f21, 0x1c(r3)
/* 8017A34C 0017728C C2 83 00 20 */ lfs f20, 0x20(r3)
/* 8017A350 00177290 C3 23 00 08 */ lfs f25, 8(r3)
/* 8017A354 00177294 C3 03 00 10 */ lfs f24, 0x10(r3)
/* 8017A358 00177298 C2 E3 00 0C */ lfs f23, 0xc(r3)
/* 8017A35C 0017729C 38 00 00 00 */ li r0, 0
/* 8017A360 001772A0 90 19 00 88 */ stw r0, 0x88(r25)
/* 8017A364 001772A4 80 19 08 90 */ lwz r0, 0x890(r25)
/* 8017A368 001772A8 2C 00 00 FF */ cmpwi r0, 0xff
/* 8017A36C 001772AC 41 82 00 10 */ beq lbl_8017A37C
/* 8017A370 001772B0 88 19 08 9B */ lbz r0, 0x89b(r25)
/* 8017A374 001772B4 28 00 00 FF */ cmplwi r0, 0xff
/* 8017A378 001772B8 40 82 00 0C */ bne lbl_8017A384
lbl_8017A37C:
/* 8017A37C 001772BC 38 60 00 00 */ li r3, 0
/* 8017A380 001772C0 48 00 09 C8 */ b lbl_8017AD48
lbl_8017A384:
/* 8017A384 001772C4 80 19 01 74 */ lwz r0, 0x174(r25)
/* 8017A388 001772C8 28 00 00 00 */ cmplwi r0, 0
/* 8017A38C 001772CC 40 82 00 34 */ bne lbl_8017A3C0
/* 8017A390 001772D0 80 19 06 0C */ lwz r0, 0x60c(r25)
/* 8017A394 001772D4 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 8017A398 001772D8 41 82 00 18 */ beq lbl_8017A3B0
/* 8017A39C 001772DC C0 62 9C A8 */ lfs f3, lbl_804536A8-_SDA2_BASE_(r2)
/* 8017A3A0 001772E0 FE A0 18 90 */ fmr f21, f3
/* 8017A3A4 001772E4 FE 80 18 90 */ fmr f20, f3
/* 8017A3A8 001772E8 D0 79 04 04 */ stfs f3, 0x404(r25)
/* 8017A3AC 001772EC 48 00 00 0C */ b lbl_8017A3B8
lbl_8017A3B0:
/* 8017A3B0 001772F0 C0 02 9C A0 */ lfs f0, lbl_804536A0-_SDA2_BASE_(r2)
/* 8017A3B4 001772F4 D0 19 04 04 */ stfs f0, 0x404(r25)
lbl_8017A3B8:
/* 8017A3B8 001772F8 38 00 00 FF */ li r0, 0xff
/* 8017A3BC 001772FC 98 19 03 F5 */ stb r0, 0x3f5(r25)
lbl_8017A3C0:
/* 8017A3C0 00177300 C0 39 04 04 */ lfs f1, 0x404(r25)
/* 8017A3C4 00177304 EC 03 08 28 */ fsubs f0, f3, f1
/* 8017A3C8 00177308 EC 02 00 32 */ fmuls f0, f2, f0
/* 8017A3CC 0017730C EC 01 00 2A */ fadds f0, f1, f0
/* 8017A3D0 00177310 D0 19 04 04 */ stfs f0, 0x404(r25)
/* 8017A3D4 00177314 80 79 01 80 */ lwz r3, 0x180(r25)
/* 8017A3D8 00177318 88 03 04 E2 */ lbz r0, 0x4e2(r3)
/* 8017A3DC 0017731C 7C 04 07 74 */ extsb r4, r0
/* 8017A3E0 00177320 88 79 08 9B */ lbz r3, 0x89b(r25)
/* 8017A3E4 00177324 4B ED 74 09 */ bl dPath_GetRoomPath
/* 8017A3E8 00177328 7C 7F 1B 79 */ or. r31, r3, r3
/* 8017A3EC 0017732C 40 82 00 0C */ bne lbl_8017A3F8
/* 8017A3F0 00177330 38 60 00 00 */ li r3, 0
/* 8017A3F4 00177334 48 00 09 54 */ b lbl_8017AD48
lbl_8017A3F8:
/* 8017A3F8 00177338 88 19 07 BE */ lbz r0, 0x7be(r25)
/* 8017A3FC 0017733C 98 19 0A ED */ stb r0, 0xaed(r25)
/* 8017A400 00177340 88 19 0A ED */ lbz r0, 0xaed(r25)
/* 8017A404 00177344 28 00 00 FF */ cmplwi r0, 0xff
/* 8017A408 00177348 41 82 00 2C */ beq lbl_8017A434
/* 8017A40C 0017734C C0 42 9D 38 */ lfs f2, lbl_80453738-_SDA2_BASE_(r2)
/* 8017A410 00177350 7C 00 07 74 */ extsb r0, r0
/* 8017A414 00177354 C8 22 9C 98 */ lfd f1, lbl_80453698-_SDA2_BASE_(r2)
/* 8017A418 00177358 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8017A41C 0017735C 90 01 02 5C */ stw r0, 0x25c(r1)
/* 8017A420 00177360 3C 00 43 30 */ lis r0, 0x4330
/* 8017A424 00177364 90 01 02 58 */ stw r0, 0x258(r1)
/* 8017A428 00177368 C8 01 02 58 */ lfd f0, 0x258(r1)
/* 8017A42C 0017736C EC 00 08 28 */ fsubs f0, f0, f1
/* 8017A430 00177370 EE C2 00 32 */ fmuls f22, f2, f0
lbl_8017A434:
/* 8017A434 00177374 3C 60 80 3A */ lis r3, lbl_803A78F8@ha
/* 8017A438 00177378 38 03 78 F8 */ addi r0, r3, lbl_803A78F8@l
/* 8017A43C 0017737C 90 01 02 54 */ stw r0, 0x254(r1)
/* 8017A440 00177380 A3 9F 00 00 */ lhz r28, 0(r31)
/* 8017A444 00177384 3B 60 00 00 */ li r27, 0
/* 8017A448 00177388 80 19 01 74 */ lwz r0, 0x174(r25)
/* 8017A44C 0017738C 28 00 00 00 */ cmplwi r0, 0
/* 8017A450 00177390 40 82 00 24 */ bne lbl_8017A474
/* 8017A454 00177394 3C 60 52 41 */ lis r3, 0x52415241@ha
/* 8017A458 00177398 38 03 52 41 */ addi r0, r3, 0x52415241@l
/* 8017A45C 0017739C 90 19 03 E8 */ stw r0, 0x3e8(r25)
/* 8017A460 001773A0 38 00 00 01 */ li r0, 1
/* 8017A464 001773A4 98 19 01 58 */ stb r0, 0x158(r25)
/* 8017A468 001773A8 38 00 00 FF */ li r0, 0xff
/* 8017A46C 001773AC 98 19 03 F4 */ stb r0, 0x3f4(r25)
/* 8017A470 001773B0 3B 60 00 01 */ li r27, 1
lbl_8017A474:
/* 8017A474 001773B4 88 19 03 F5 */ lbz r0, 0x3f5(r25)
/* 8017A478 001773B8 88 79 07 E7 */ lbz r3, 0x7e7(r25)
/* 8017A47C 001773BC 7C 00 18 40 */ cmplw r0, r3
/* 8017A480 001773C0 41 82 00 08 */ beq lbl_8017A488
/* 8017A484 001773C4 98 79 03 F5 */ stb r3, 0x3f5(r25)
lbl_8017A488:
/* 8017A488 001773C8 80 19 01 84 */ lwz r0, 0x184(r25)
/* 8017A48C 001773CC 28 00 00 00 */ cmplwi r0, 0
/* 8017A490 001773D0 41 82 00 70 */ beq lbl_8017A500
/* 8017A494 001773D4 90 19 03 EC */ stw r0, 0x3ec(r25)
/* 8017A498 001773D8 90 19 03 F0 */ stw r0, 0x3f0(r25)
/* 8017A49C 001773DC 90 19 01 88 */ stw r0, 0x188(r25)
/* 8017A4A0 001773E0 38 61 01 78 */ addi r3, r1, 0x178
/* 8017A4A4 001773E4 7F 24 CB 78 */ mr r4, r25
/* 8017A4A8 001773E8 80 B9 03 EC */ lwz r5, 0x3ec(r25)
/* 8017A4AC 001773EC 4B F1 D2 71 */ bl dCamera_c_NS_attentionPos
/* 8017A4B0 001773F0 C0 01 01 78 */ lfs f0, 0x178(r1)
/* 8017A4B4 001773F4 D0 01 01 F0 */ stfs f0, 0x1f0(r1)
/* 8017A4B8 001773F8 C0 01 01 7C */ lfs f0, 0x17c(r1)
/* 8017A4BC 001773FC D0 01 01 F4 */ stfs f0, 0x1f4(r1)
/* 8017A4C0 00177400 C0 01 01 80 */ lfs f0, 0x180(r1)
/* 8017A4C4 00177404 D0 01 01 F8 */ stfs f0, 0x1f8(r1)
/* 8017A4C8 00177408 80 19 06 0C */ lwz r0, 0x60c(r25)
/* 8017A4CC 0017740C 60 00 20 00 */ ori r0, r0, 0x2000
/* 8017A4D0 00177410 90 19 06 0C */ stw r0, 0x60c(r25)
/* 8017A4D4 00177414 38 61 01 6C */ addi r3, r1, 0x16c
/* 8017A4D8 00177418 7F 24 CB 78 */ mr r4, r25
/* 8017A4DC 0017741C 80 B9 03 F0 */ lwz r5, 0x3f0(r25)
/* 8017A4E0 00177420 4B F1 D2 3D */ bl dCamera_c_NS_attentionPos
/* 8017A4E4 00177424 C0 01 01 6C */ lfs f0, 0x16c(r1)
/* 8017A4E8 00177428 D0 01 01 E4 */ stfs f0, 0x1e4(r1)
/* 8017A4EC 0017742C C0 01 01 70 */ lfs f0, 0x170(r1)
/* 8017A4F0 00177430 D0 01 01 E8 */ stfs f0, 0x1e8(r1)
/* 8017A4F4 00177434 C0 01 01 74 */ lfs f0, 0x174(r1)
/* 8017A4F8 00177438 D0 01 01 EC */ stfs f0, 0x1ec(r1)
/* 8017A4FC 0017743C 48 00 00 74 */ b lbl_8017A570
lbl_8017A500:
/* 8017A500 00177440 38 00 00 00 */ li r0, 0
/* 8017A504 00177444 90 19 03 EC */ stw r0, 0x3ec(r25)
/* 8017A508 00177448 90 19 03 F0 */ stw r0, 0x3f0(r25)
/* 8017A50C 0017744C 38 61 00 50 */ addi r3, r1, 0x50
/* 8017A510 00177450 38 99 00 5C */ addi r4, r25, 0x5c
/* 8017A514 00177454 48 0F 72 DD */ bl __ct__7cSGlobeFRC7cSGlobe
/* 8017A518 00177458 C0 02 9D 38 */ lfs f0, lbl_80453738-_SDA2_BASE_(r2)
/* 8017A51C 0017745C D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8017A520 00177460 38 61 01 60 */ addi r3, r1, 0x160
/* 8017A524 00177464 7F 24 CB 78 */ mr r4, r25
/* 8017A528 00177468 80 B9 01 80 */ lwz r5, 0x180(r25)
/* 8017A52C 0017746C 4B F1 D1 F1 */ bl dCamera_c_NS_attentionPos
/* 8017A530 00177470 38 61 01 54 */ addi r3, r1, 0x154
/* 8017A534 00177474 38 81 00 50 */ addi r4, r1, 0x50
/* 8017A538 00177478 48 0F 75 7D */ bl Xyz__7cSGlobeCFv
/* 8017A53C 0017747C 38 61 01 48 */ addi r3, r1, 0x148
/* 8017A540 00177480 38 81 01 60 */ addi r4, r1, 0x160
/* 8017A544 00177484 38 A1 01 54 */ addi r5, r1, 0x154
/* 8017A548 00177488 48 0E C5 9D */ bl __pl__4cXyzCFRC3Vec
/* 8017A54C 0017748C C0 41 01 48 */ lfs f2, 0x148(r1)
/* 8017A550 00177490 D0 41 01 E4 */ stfs f2, 0x1e4(r1)
/* 8017A554 00177494 C0 21 01 4C */ lfs f1, 0x14c(r1)
/* 8017A558 00177498 D0 21 01 E8 */ stfs f1, 0x1e8(r1)
/* 8017A55C 0017749C C0 01 01 50 */ lfs f0, 0x150(r1)
/* 8017A560 001774A0 D0 01 01 EC */ stfs f0, 0x1ec(r1)
/* 8017A564 001774A4 D0 41 01 F0 */ stfs f2, 0x1f0(r1)
/* 8017A568 001774A8 D0 21 01 F4 */ stfs f1, 0x1f4(r1)
/* 8017A56C 001774AC D0 01 01 F8 */ stfs f0, 0x1f8(r1)
lbl_8017A570:
/* 8017A570 001774B0 38 61 01 3C */ addi r3, r1, 0x13c
/* 8017A574 001774B4 7F 24 CB 78 */ mr r4, r25
/* 8017A578 001774B8 80 B9 01 80 */ lwz r5, 0x180(r25)
/* 8017A57C 001774BC 4B F1 D1 A1 */ bl dCamera_c_NS_attentionPos
/* 8017A580 001774C0 38 61 01 30 */ addi r3, r1, 0x130
/* 8017A584 001774C4 38 81 01 F0 */ addi r4, r1, 0x1f0
/* 8017A588 001774C8 38 A1 01 3C */ addi r5, r1, 0x13c
/* 8017A58C 001774CC 48 0E C5 A9 */ bl __mi__4cXyzCFRC3Vec
/* 8017A590 001774D0 38 61 00 48 */ addi r3, r1, 0x48
/* 8017A594 001774D4 38 81 01 30 */ addi r4, r1, 0x130
/* 8017A598 001774D8 48 0F 72 E9 */ bl __ct__7cSGlobeFRC4cXyz
/* 8017A59C 001774DC C0 22 9C A8 */ lfs f1, lbl_804536A8-_SDA2_BASE_(r2)
/* 8017A5A0 001774E0 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 8017A5A4 001774E4 EC 02 F8 24 */ fdivs f0, f2, f31
/* 8017A5A8 001774E8 EF E1 00 28 */ fsubs f31, f1, f0
/* 8017A5AC 001774EC C0 02 9C F8 */ lfs f0, lbl_804536F8-_SDA2_BASE_(r2)
/* 8017A5B0 001774F0 EC 00 05 B2 */ fmuls f0, f0, f22
/* 8017A5B4 001774F4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8017A5B8 001774F8 40 81 00 7C */ ble lbl_8017A634
/* 8017A5BC 001774FC 38 00 00 00 */ li r0, 0
/* 8017A5C0 00177500 90 19 03 EC */ stw r0, 0x3ec(r25)
/* 8017A5C4 00177504 90 19 03 F0 */ stw r0, 0x3f0(r25)
/* 8017A5C8 00177508 38 61 00 40 */ addi r3, r1, 0x40
/* 8017A5CC 0017750C 38 99 00 5C */ addi r4, r25, 0x5c
/* 8017A5D0 00177510 48 0F 72 21 */ bl __ct__7cSGlobeFRC7cSGlobe
/* 8017A5D4 00177514 FC 00 B0 50 */ fneg f0, f22
/* 8017A5D8 00177518 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8017A5DC 0017751C 38 61 01 24 */ addi r3, r1, 0x124
/* 8017A5E0 00177520 7F 24 CB 78 */ mr r4, r25
/* 8017A5E4 00177524 80 B9 01 80 */ lwz r5, 0x180(r25)
/* 8017A5E8 00177528 4B F1 D1 35 */ bl dCamera_c_NS_attentionPos
/* 8017A5EC 0017752C 38 61 01 18 */ addi r3, r1, 0x118
/* 8017A5F0 00177530 38 81 00 40 */ addi r4, r1, 0x40
/* 8017A5F4 00177534 48 0F 74 C1 */ bl Xyz__7cSGlobeCFv
/* 8017A5F8 00177538 38 61 01 0C */ addi r3, r1, 0x10c
/* 8017A5FC 0017753C 38 81 01 24 */ addi r4, r1, 0x124
/* 8017A600 00177540 38 A1 01 18 */ addi r5, r1, 0x118
/* 8017A604 00177544 48 0E C4 E1 */ bl __pl__4cXyzCFRC3Vec
/* 8017A608 00177548 C0 41 01 0C */ lfs f2, 0x10c(r1)
/* 8017A60C 0017754C D0 41 01 E4 */ stfs f2, 0x1e4(r1)
/* 8017A610 00177550 C0 21 01 10 */ lfs f1, 0x110(r1)
/* 8017A614 00177554 D0 21 01 E8 */ stfs f1, 0x1e8(r1)
/* 8017A618 00177558 C0 01 01 14 */ lfs f0, 0x114(r1)
/* 8017A61C 0017755C D0 01 01 EC */ stfs f0, 0x1ec(r1)
/* 8017A620 00177560 D0 41 01 F0 */ stfs f2, 0x1f0(r1)
/* 8017A624 00177564 D0 21 01 F4 */ stfs f1, 0x1f4(r1)
/* 8017A628 00177568 D0 01 01 F8 */ stfs f0, 0x1f8(r1)
/* 8017A62C 0017756C C3 E2 9C A0 */ lfs f31, lbl_804536A0-_SDA2_BASE_(r2)
/* 8017A630 00177570 48 00 00 24 */ b lbl_8017A654
lbl_8017A634:
/* 8017A634 00177574 C0 02 9C A0 */ lfs f0, lbl_804536A0-_SDA2_BASE_(r2)
/* 8017A638 00177578 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8017A63C 0017757C 40 80 00 0C */ bge lbl_8017A648
/* 8017A640 00177580 FF E0 00 90 */ fmr f31, f0
/* 8017A644 00177584 48 00 00 10 */ b lbl_8017A654
lbl_8017A648:
/* 8017A648 00177588 FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 8017A64C 0017758C 40 81 00 08 */ ble lbl_8017A654
/* 8017A650 00177590 FF E0 08 90 */ fmr f31, f1
lbl_8017A654:
/* 8017A654 00177594 D2 81 01 CC */ stfs f20, 0x1cc(r1)
/* 8017A658 00177598 D2 A1 01 D0 */ stfs f21, 0x1d0(r1)
/* 8017A65C 0017759C D2 81 01 D4 */ stfs f20, 0x1d4(r1)
/* 8017A660 001775A0 D3 21 01 C0 */ stfs f25, 0x1c0(r1)
/* 8017A664 001775A4 D3 01 01 C4 */ stfs f24, 0x1c4(r1)
/* 8017A668 001775A8 D2 E1 01 C8 */ stfs f23, 0x1c8(r1)
/* 8017A66C 001775AC C0 22 9D 24 */ lfs f1, lbl_80453724-_SDA2_BASE_(r2)
/* 8017A670 001775B0 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 8017A674 001775B4 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8017A678 001775B8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8017A67C 001775BC D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8017A680 001775C0 80 19 0A F4 */ lwz r0, 0xaf4(r25)
/* 8017A684 001775C4 7C 60 F2 14 */ add r3, r0, r30
/* 8017A688 001775C8 A0 03 00 06 */ lhz r0, 6(r3)
/* 8017A68C 001775CC 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
/* 8017A690 001775D0 41 82 01 D0 */ beq lbl_8017A860
/* 8017A694 001775D4 3A E0 00 00 */ li r23, 0
/* 8017A698 001775D8 3C 60 80 3A */ lis r3, lbl_803A78F8@ha
/* 8017A69C 001775DC 38 03 78 F8 */ addi r0, r3, lbl_803A78F8@l
/* 8017A6A0 001775E0 90 01 02 38 */ stw r0, 0x238(r1)
/* 8017A6A4 001775E4 3B A0 00 00 */ li r29, 0
/* 8017A6A8 001775E8 3B 00 00 00 */ li r24, 0
/* 8017A6AC 001775EC 3B 5C FF FF */ addi r26, r28, -1
/* 8017A6B0 001775F0 48 00 00 84 */ b lbl_8017A734
lbl_8017A6B4:
/* 8017A6B4 001775F4 80 DF 00 08 */ lwz r6, 8(r31)
/* 8017A6B8 001775F8 38 61 02 20 */ addi r3, r1, 0x220
/* 8017A6BC 001775FC 38 98 00 04 */ addi r4, r24, 4
/* 8017A6C0 00177600 7C 86 22 14 */ add r4, r6, r4
/* 8017A6C4 00177604 38 1D 00 01 */ addi r0, r29, 1
/* 8017A6C8 00177608 54 05 20 36 */ slwi r5, r0, 4
/* 8017A6CC 0017760C 38 A5 00 04 */ addi r5, r5, 4
/* 8017A6D0 00177610 7C A6 2A 14 */ add r5, r6, r5
/* 8017A6D4 00177614 48 0F 4C 49 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec
/* 8017A6D8 00177618 38 61 02 20 */ addi r3, r1, 0x220
/* 8017A6DC 0017761C 38 81 01 E4 */ addi r4, r1, 0x1e4
/* 8017A6E0 00177620 38 A1 01 B4 */ addi r5, r1, 0x1b4
/* 8017A6E4 00177624 38 C1 00 30 */ addi r6, r1, 0x30
/* 8017A6E8 00177628 48 0E E0 29 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 8017A6EC 0017762C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8017A6F0 00177630 41 82 00 3C */ beq lbl_8017A72C
/* 8017A6F4 00177634 38 61 01 00 */ addi r3, r1, 0x100
/* 8017A6F8 00177638 38 81 01 E4 */ addi r4, r1, 0x1e4
/* 8017A6FC 0017763C 38 A1 01 B4 */ addi r5, r1, 0x1b4
/* 8017A700 00177640 48 0E C4 35 */ bl __mi__4cXyzCFRC3Vec
/* 8017A704 00177644 38 61 00 F4 */ addi r3, r1, 0xf4
/* 8017A708 00177648 38 81 01 00 */ addi r4, r1, 0x100
/* 8017A70C 0017764C C0 22 9D 0C */ lfs f1, lbl_8045370C-_SDA2_BASE_(r2)
/* 8017A710 00177650 48 0E C4 75 */ bl __ml__4cXyzCFf
/* 8017A714 00177654 38 61 01 B4 */ addi r3, r1, 0x1b4
/* 8017A718 00177658 38 81 00 F4 */ addi r4, r1, 0xf4
/* 8017A71C 0017765C 7C 65 1B 78 */ mr r5, r3
/* 8017A720 00177660 48 1C C9 71 */ bl PSVECAdd
/* 8017A724 00177664 3A E0 00 01 */ li r23, 1
/* 8017A728 00177668 48 00 00 14 */ b lbl_8017A73C
lbl_8017A72C:
/* 8017A72C 0017766C 3B BD 00 01 */ addi r29, r29, 1
/* 8017A730 00177670 3B 18 00 10 */ addi r24, r24, 0x10
lbl_8017A734:
/* 8017A734 00177674 7C 1D D0 00 */ cmpw r29, r26
/* 8017A738 00177678 41 80 FF 7C */ blt lbl_8017A6B4
lbl_8017A73C:
/* 8017A73C 0017767C 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 8017A740 00177680 40 82 00 F8 */ bne lbl_8017A838
/* 8017A744 00177684 38 61 00 E8 */ addi r3, r1, 0xe8
/* 8017A748 00177688 7F 24 CB 78 */ mr r4, r25
/* 8017A74C 0017768C 80 B9 01 80 */ lwz r5, 0x180(r25)
/* 8017A750 00177690 4B F1 CF CD */ bl dCamera_c_NS_attentionPos
/* 8017A754 00177694 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 8017A758 00177698 D0 01 01 A8 */ stfs f0, 0x1a8(r1)
/* 8017A75C 0017769C C0 01 00 EC */ lfs f0, 0xec(r1)
/* 8017A760 001776A0 D0 01 01 AC */ stfs f0, 0x1ac(r1)
/* 8017A764 001776A4 C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 8017A768 001776A8 D0 01 01 B0 */ stfs f0, 0x1b0(r1)
/* 8017A76C 001776AC 80 9F 00 08 */ lwz r4, 8(r31)
/* 8017A770 001776B0 C0 04 00 04 */ lfs f0, 4(r4)
/* 8017A774 001776B4 D0 01 01 9C */ stfs f0, 0x19c(r1)
/* 8017A778 001776B8 C0 04 00 08 */ lfs f0, 8(r4)
/* 8017A77C 001776BC D0 01 01 A0 */ stfs f0, 0x1a0(r1)
/* 8017A780 001776C0 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8017A784 001776C4 D0 01 01 A4 */ stfs f0, 0x1a4(r1)
/* 8017A788 001776C8 38 1C FF FF */ addi r0, r28, -1
/* 8017A78C 001776CC 54 03 20 36 */ slwi r3, r0, 4
/* 8017A790 001776D0 38 63 00 04 */ addi r3, r3, 4
/* 8017A794 001776D4 7C 64 1A 14 */ add r3, r4, r3
/* 8017A798 001776D8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8017A79C 001776DC D0 01 01 90 */ stfs f0, 0x190(r1)
/* 8017A7A0 001776E0 C0 03 00 04 */ lfs f0, 4(r3)
/* 8017A7A4 001776E4 D0 01 01 94 */ stfs f0, 0x194(r1)
/* 8017A7A8 001776E8 C0 03 00 08 */ lfs f0, 8(r3)
/* 8017A7AC 001776EC D0 01 01 98 */ stfs f0, 0x198(r1)
/* 8017A7B0 001776F0 38 61 01 9C */ addi r3, r1, 0x19c
/* 8017A7B4 001776F4 38 81 01 A8 */ addi r4, r1, 0x1a8
/* 8017A7B8 001776F8 4B F0 DC 35 */ bl dCamMath_NS_xyzHorizontalDistance
/* 8017A7BC 001776FC FE 80 08 90 */ fmr f20, f1
/* 8017A7C0 00177700 38 61 01 90 */ addi r3, r1, 0x190
/* 8017A7C4 00177704 38 81 01 A8 */ addi r4, r1, 0x1a8
/* 8017A7C8 00177708 4B F0 DC 25 */ bl dCamMath_NS_xyzHorizontalDistance
/* 8017A7CC 0017770C FC 14 08 40 */ fcmpo cr0, f20, f1
/* 8017A7D0 00177710 40 80 00 20 */ bge lbl_8017A7F0
/* 8017A7D4 00177714 C0 01 01 9C */ lfs f0, 0x19c(r1)
/* 8017A7D8 00177718 D0 01 01 B4 */ stfs f0, 0x1b4(r1)
/* 8017A7DC 0017771C C0 01 01 A0 */ lfs f0, 0x1a0(r1)
/* 8017A7E0 00177720 D0 01 01 B8 */ stfs f0, 0x1b8(r1)
/* 8017A7E4 00177724 C0 01 01 A4 */ lfs f0, 0x1a4(r1)
/* 8017A7E8 00177728 D0 01 01 BC */ stfs f0, 0x1bc(r1)
/* 8017A7EC 0017772C 48 00 00 1C */ b lbl_8017A808
lbl_8017A7F0:
/* 8017A7F0 00177730 C0 01 01 90 */ lfs f0, 0x190(r1)
/* 8017A7F4 00177734 D0 01 01 B4 */ stfs f0, 0x1b4(r1)
/* 8017A7F8 00177738 C0 01 01 94 */ lfs f0, 0x194(r1)
/* 8017A7FC 0017773C D0 01 01 B8 */ stfs f0, 0x1b8(r1)
/* 8017A800 00177740 C0 01 01 98 */ lfs f0, 0x198(r1)
/* 8017A804 00177744 D0 01 01 BC */ stfs f0, 0x1bc(r1)
lbl_8017A808:
/* 8017A808 00177748 38 61 00 DC */ addi r3, r1, 0xdc
/* 8017A80C 0017774C 38 81 01 E4 */ addi r4, r1, 0x1e4
/* 8017A810 00177750 38 A1 01 B4 */ addi r5, r1, 0x1b4
/* 8017A814 00177754 48 0E C3 21 */ bl __mi__4cXyzCFRC3Vec
/* 8017A818 00177758 38 61 00 D0 */ addi r3, r1, 0xd0
/* 8017A81C 0017775C 38 81 00 DC */ addi r4, r1, 0xdc
/* 8017A820 00177760 C0 22 9D 0C */ lfs f1, lbl_8045370C-_SDA2_BASE_(r2)
/* 8017A824 00177764 48 0E C3 61 */ bl __ml__4cXyzCFf
/* 8017A828 00177768 38 61 01 B4 */ addi r3, r1, 0x1b4
/* 8017A82C 0017776C 38 81 00 D0 */ addi r4, r1, 0xd0
/* 8017A830 00177770 7C 65 1B 78 */ mr r5, r3
/* 8017A834 00177774 48 1C C8 5D */ bl PSVECAdd
lbl_8017A838:
/* 8017A838 00177778 C0 01 01 B4 */ lfs f0, 0x1b4(r1)
/* 8017A83C 0017777C D0 01 01 D8 */ stfs f0, 0x1d8(r1)
/* 8017A840 00177780 C0 01 01 B8 */ lfs f0, 0x1b8(r1)
/* 8017A844 00177784 D0 01 01 DC */ stfs f0, 0x1dc(r1)
/* 8017A848 00177788 C0 01 01 BC */ lfs f0, 0x1bc(r1)
/* 8017A84C 0017778C D0 01 01 E0 */ stfs f0, 0x1e0(r1)
/* 8017A850 00177790 3C 60 80 3A */ lis r3, lbl_803A78F8@ha
/* 8017A854 00177794 38 03 78 F8 */ addi r0, r3, lbl_803A78F8@l
/* 8017A858 00177798 90 01 02 38 */ stw r0, 0x238(r1)
/* 8017A85C 0017779C 48 00 00 4C */ b lbl_8017A8A8
lbl_8017A860:
/* 8017A860 001777A0 38 61 00 C4 */ addi r3, r1, 0xc4
/* 8017A864 001777A4 7F 24 CB 78 */ mr r4, r25
/* 8017A868 001777A8 80 B9 01 80 */ lwz r5, 0x180(r25)
/* 8017A86C 001777AC 38 C1 01 C0 */ addi r6, r1, 0x1c0
/* 8017A870 001777B0 4B FE A4 FD */ bl dCamera_c_NS_relationalPos
/* 8017A874 001777B4 38 61 00 B8 */ addi r3, r1, 0xb8
/* 8017A878 001777B8 38 81 00 48 */ addi r4, r1, 0x48
/* 8017A87C 001777BC 48 0F 72 39 */ bl Xyz__7cSGlobeCFv
/* 8017A880 001777C0 38 61 00 AC */ addi r3, r1, 0xac
/* 8017A884 001777C4 38 81 00 C4 */ addi r4, r1, 0xc4
/* 8017A888 001777C8 38 A1 00 B8 */ addi r5, r1, 0xb8
/* 8017A88C 001777CC 48 0E C2 59 */ bl __pl__4cXyzCFRC3Vec
/* 8017A890 001777D0 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 8017A894 001777D4 D0 01 01 D8 */ stfs f0, 0x1d8(r1)
/* 8017A898 001777D8 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 8017A89C 001777DC D0 01 01 DC */ stfs f0, 0x1dc(r1)
/* 8017A8A0 001777E0 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 8017A8A4 001777E4 D0 01 01 E0 */ stfs f0, 0x1e0(r1)
lbl_8017A8A8:
/* 8017A8A8 001777E8 38 61 00 A0 */ addi r3, r1, 0xa0
/* 8017A8AC 001777EC 38 81 01 D8 */ addi r4, r1, 0x1d8
/* 8017A8B0 001777F0 38 B9 00 64 */ addi r5, r25, 0x64
/* 8017A8B4 001777F4 48 0E C2 81 */ bl __mi__4cXyzCFRC3Vec
/* 8017A8B8 001777F8 38 61 00 94 */ addi r3, r1, 0x94
/* 8017A8BC 001777FC 38 81 00 A0 */ addi r4, r1, 0xa0
/* 8017A8C0 00177800 38 A1 01 CC */ addi r5, r1, 0x1cc
/* 8017A8C4 00177804 48 0E C3 0D */ bl __ml__4cXyzCFRC3Vec
/* 8017A8C8 00177808 38 79 00 64 */ addi r3, r25, 0x64
/* 8017A8CC 0017780C 38 81 00 94 */ addi r4, r1, 0x94
/* 8017A8D0 00177810 7C 65 1B 78 */ mr r5, r3
/* 8017A8D4 00177814 48 1C C7 BD */ bl PSVECAdd
/* 8017A8D8 00177818 FC 20 F8 90 */ fmr f1, f31
/* 8017A8DC 0017781C FC 40 E0 90 */ fmr f2, f28
/* 8017A8E0 00177820 4B F0 D8 5D */ bl dCamMath_NS_rationalBezierRatio
/* 8017A8E4 00177824 FF E0 08 90 */ fmr f31, f1
/* 8017A8E8 00177828 EE 96 05 B2 */ fmuls f20, f22, f22
/* 8017A8EC 0017782C C0 19 00 70 */ lfs f0, 0x70(r25)
/* 8017A8F0 00177830 D0 01 01 84 */ stfs f0, 0x184(r1)
/* 8017A8F4 00177834 C0 19 00 74 */ lfs f0, 0x74(r25)
/* 8017A8F8 00177838 D0 01 01 88 */ stfs f0, 0x188(r1)
/* 8017A8FC 0017783C C0 19 00 78 */ lfs f0, 0x78(r25)
/* 8017A900 00177840 D0 01 01 8C */ stfs f0, 0x18c(r1)
/* 8017A904 00177844 3B 40 00 00 */ li r26, 0
/* 8017A908 00177848 3B A0 00 00 */ li r29, 0
/* 8017A90C 0017784C 3B 00 00 00 */ li r24, 0
/* 8017A910 00177850 3B 9C FF FF */ addi r28, r28, -1
/* 8017A914 00177854 48 00 00 B0 */ b lbl_8017A9C4
lbl_8017A918:
/* 8017A918 00177858 80 9F 00 08 */ lwz r4, 8(r31)
/* 8017A91C 0017785C 38 78 00 04 */ addi r3, r24, 4
/* 8017A920 00177860 7C 64 1A 14 */ add r3, r4, r3
/* 8017A924 00177864 C0 03 00 00 */ lfs f0, 0(r3)
/* 8017A928 00177868 D0 01 02 08 */ stfs f0, 0x208(r1)
/* 8017A92C 0017786C C0 03 00 04 */ lfs f0, 4(r3)
/* 8017A930 00177870 D0 01 02 0C */ stfs f0, 0x20c(r1)
/* 8017A934 00177874 C0 03 00 08 */ lfs f0, 8(r3)
/* 8017A938 00177878 D0 01 02 10 */ stfs f0, 0x210(r1)
/* 8017A93C 0017787C 38 1D 00 01 */ addi r0, r29, 1
/* 8017A940 00177880 54 03 20 36 */ slwi r3, r0, 4
/* 8017A944 00177884 38 63 00 04 */ addi r3, r3, 4
/* 8017A948 00177888 7C 64 1A 14 */ add r3, r4, r3
/* 8017A94C 0017788C C0 03 00 00 */ lfs f0, 0(r3)
/* 8017A950 00177890 D0 01 01 FC */ stfs f0, 0x1fc(r1)
/* 8017A954 00177894 C0 03 00 04 */ lfs f0, 4(r3)
/* 8017A958 00177898 D0 01 02 00 */ stfs f0, 0x200(r1)
/* 8017A95C 0017789C C0 03 00 08 */ lfs f0, 8(r3)
/* 8017A960 001778A0 D0 01 02 04 */ stfs f0, 0x204(r1)
/* 8017A964 001778A4 38 61 02 3C */ addi r3, r1, 0x23c
/* 8017A968 001778A8 38 81 02 08 */ addi r4, r1, 0x208
/* 8017A96C 001778AC 38 A1 01 FC */ addi r5, r1, 0x1fc
/* 8017A970 001778B0 48 0F 49 AD */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec
/* 8017A974 001778B4 38 61 02 3C */ addi r3, r1, 0x23c
/* 8017A978 001778B8 38 99 00 64 */ addi r4, r25, 0x64
/* 8017A97C 001778BC 38 A1 02 14 */ addi r5, r1, 0x214
/* 8017A980 001778C0 38 C1 00 34 */ addi r6, r1, 0x34
/* 8017A984 001778C4 48 0E DD 8D */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 8017A988 001778C8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8017A98C 001778CC 41 82 00 30 */ beq lbl_8017A9BC
/* 8017A990 001778D0 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8017A994 001778D4 FC 00 A0 40 */ fcmpo cr0, f0, f20
/* 8017A998 001778D8 40 80 00 20 */ bge lbl_8017A9B8
/* 8017A99C 001778DC FE 80 00 90 */ fmr f20, f0
/* 8017A9A0 001778E0 C0 01 02 14 */ lfs f0, 0x214(r1)
/* 8017A9A4 001778E4 D0 01 01 84 */ stfs f0, 0x184(r1)
/* 8017A9A8 001778E8 C0 01 02 18 */ lfs f0, 0x218(r1)
/* 8017A9AC 001778EC D0 01 01 88 */ stfs f0, 0x188(r1)
/* 8017A9B0 001778F0 C0 01 02 1C */ lfs f0, 0x21c(r1)
/* 8017A9B4 001778F4 D0 01 01 8C */ stfs f0, 0x18c(r1)
lbl_8017A9B8:
/* 8017A9B8 001778F8 3B 5A 00 01 */ addi r26, r26, 1
lbl_8017A9BC:
/* 8017A9BC 001778FC 3B BD 00 01 */ addi r29, r29, 1
/* 8017A9C0 00177900 3B 18 00 10 */ addi r24, r24, 0x10
lbl_8017A9C4:
/* 8017A9C4 00177904 7C 1D E0 00 */ cmpw r29, r28
/* 8017A9C8 00177908 41 80 FF 50 */ blt lbl_8017A918
/* 8017A9CC 0017790C 88 1F 00 05 */ lbz r0, 5(r31)
/* 8017A9D0 00177910 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8017A9D4 00177914 41 82 00 98 */ beq lbl_8017AA6C
/* 8017A9D8 00177918 80 9F 00 08 */ lwz r4, 8(r31)
/* 8017A9DC 0017791C 57 A3 20 36 */ slwi r3, r29, 4
/* 8017A9E0 00177920 38 63 00 04 */ addi r3, r3, 4
/* 8017A9E4 00177924 7C 64 1A 14 */ add r3, r4, r3
/* 8017A9E8 00177928 C0 03 00 00 */ lfs f0, 0(r3)
/* 8017A9EC 0017792C D0 01 02 08 */ stfs f0, 0x208(r1)
/* 8017A9F0 00177930 C0 03 00 04 */ lfs f0, 4(r3)
/* 8017A9F4 00177934 D0 01 02 0C */ stfs f0, 0x20c(r1)
/* 8017A9F8 00177938 C0 03 00 08 */ lfs f0, 8(r3)
/* 8017A9FC 0017793C D0 01 02 10 */ stfs f0, 0x210(r1)
/* 8017AA00 00177940 C0 04 00 04 */ lfs f0, 4(r4)
/* 8017AA04 00177944 D0 01 01 FC */ stfs f0, 0x1fc(r1)
/* 8017AA08 00177948 C0 04 00 08 */ lfs f0, 8(r4)
/* 8017AA0C 0017794C D0 01 02 00 */ stfs f0, 0x200(r1)
/* 8017AA10 00177950 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8017AA14 00177954 D0 01 02 04 */ stfs f0, 0x204(r1)
/* 8017AA18 00177958 38 61 02 3C */ addi r3, r1, 0x23c
/* 8017AA1C 0017795C 38 81 02 08 */ addi r4, r1, 0x208
/* 8017AA20 00177960 38 A1 01 FC */ addi r5, r1, 0x1fc
/* 8017AA24 00177964 48 0F 48 F9 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec
/* 8017AA28 00177968 38 61 02 3C */ addi r3, r1, 0x23c
/* 8017AA2C 0017796C 38 99 00 64 */ addi r4, r25, 0x64
/* 8017AA30 00177970 38 A1 02 14 */ addi r5, r1, 0x214
/* 8017AA34 00177974 38 C1 00 34 */ addi r6, r1, 0x34
/* 8017AA38 00177978 48 0E DC D9 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 8017AA3C 0017797C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8017AA40 00177980 41 82 00 2C */ beq lbl_8017AA6C
/* 8017AA44 00177984 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8017AA48 00177988 FC 00 A0 40 */ fcmpo cr0, f0, f20
/* 8017AA4C 0017798C 40 80 00 1C */ bge lbl_8017AA68
/* 8017AA50 00177990 C0 01 02 14 */ lfs f0, 0x214(r1)
/* 8017AA54 00177994 D0 01 01 84 */ stfs f0, 0x184(r1)
/* 8017AA58 00177998 C0 01 02 18 */ lfs f0, 0x218(r1)
/* 8017AA5C 0017799C D0 01 01 88 */ stfs f0, 0x188(r1)
/* 8017AA60 001779A0 C0 01 02 1C */ lfs f0, 0x21c(r1)
/* 8017AA64 001779A4 D0 01 01 8C */ stfs f0, 0x18c(r1)
lbl_8017AA68:
/* 8017AA68 001779A8 3B 5A 00 01 */ addi r26, r26, 1
lbl_8017AA6C:
/* 8017AA6C 001779AC 2C 1A 00 00 */ cmpwi r26, 0
/* 8017AA70 001779B0 40 82 00 B8 */ bne lbl_8017AB28
/* 8017AA74 001779B4 80 19 0A F4 */ lwz r0, 0xaf4(r25)
/* 8017AA78 001779B8 7C 60 F2 14 */ add r3, r0, r30
/* 8017AA7C 001779BC A0 03 00 06 */ lhz r0, 6(r3)
/* 8017AA80 001779C0 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 8017AA84 001779C4 41 82 00 A4 */ beq lbl_8017AB28
/* 8017AA88 001779C8 80 9F 00 08 */ lwz r4, 8(r31)
/* 8017AA8C 001779CC C0 04 00 04 */ lfs f0, 4(r4)
/* 8017AA90 001779D0 D0 01 02 08 */ stfs f0, 0x208(r1)
/* 8017AA94 001779D4 C0 04 00 08 */ lfs f0, 8(r4)
/* 8017AA98 001779D8 D0 01 02 0C */ stfs f0, 0x20c(r1)
/* 8017AA9C 001779DC C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8017AAA0 001779E0 D0 01 02 10 */ stfs f0, 0x210(r1)
/* 8017AAA4 001779E4 A0 7F 00 00 */ lhz r3, 0(r31)
/* 8017AAA8 001779E8 38 03 FF FF */ addi r0, r3, -1
/* 8017AAAC 001779EC 54 03 20 36 */ slwi r3, r0, 4
/* 8017AAB0 001779F0 38 63 00 04 */ addi r3, r3, 4
/* 8017AAB4 001779F4 7C 64 1A 14 */ add r3, r4, r3
/* 8017AAB8 001779F8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8017AABC 001779FC D0 01 01 FC */ stfs f0, 0x1fc(r1)
/* 8017AAC0 00177A00 C0 03 00 04 */ lfs f0, 4(r3)
/* 8017AAC4 00177A04 D0 01 02 00 */ stfs f0, 0x200(r1)
/* 8017AAC8 00177A08 C0 03 00 08 */ lfs f0, 8(r3)
/* 8017AACC 00177A0C D0 01 02 04 */ stfs f0, 0x204(r1)
/* 8017AAD0 00177A10 38 61 02 08 */ addi r3, r1, 0x208
/* 8017AAD4 00177A14 38 81 01 E4 */ addi r4, r1, 0x1e4
/* 8017AAD8 00177A18 4B F0 D9 15 */ bl dCamMath_NS_xyzHorizontalDistance
/* 8017AADC 00177A1C FE 80 08 90 */ fmr f20, f1
/* 8017AAE0 00177A20 38 61 01 FC */ addi r3, r1, 0x1fc
/* 8017AAE4 00177A24 38 81 01 E4 */ addi r4, r1, 0x1e4
/* 8017AAE8 00177A28 4B F0 D9 05 */ bl dCamMath_NS_xyzHorizontalDistance
/* 8017AAEC 00177A2C FC 14 08 40 */ fcmpo cr0, f20, f1
/* 8017AAF0 00177A30 40 80 00 20 */ bge lbl_8017AB10
/* 8017AAF4 00177A34 C0 01 02 08 */ lfs f0, 0x208(r1)
/* 8017AAF8 00177A38 D0 01 01 84 */ stfs f0, 0x184(r1)
/* 8017AAFC 00177A3C C0 01 02 0C */ lfs f0, 0x20c(r1)
/* 8017AB00 00177A40 D0 01 01 88 */ stfs f0, 0x188(r1)
/* 8017AB04 00177A44 C0 01 02 10 */ lfs f0, 0x210(r1)
/* 8017AB08 00177A48 D0 01 01 8C */ stfs f0, 0x18c(r1)
/* 8017AB0C 00177A4C 48 00 00 1C */ b lbl_8017AB28
lbl_8017AB10:
/* 8017AB10 00177A50 C0 01 01 FC */ lfs f0, 0x1fc(r1)
/* 8017AB14 00177A54 D0 01 01 84 */ stfs f0, 0x184(r1)
/* 8017AB18 00177A58 C0 01 02 00 */ lfs f0, 0x200(r1)
/* 8017AB1C 00177A5C D0 01 01 88 */ stfs f0, 0x188(r1)
/* 8017AB20 00177A60 C0 01 02 04 */ lfs f0, 0x204(r1)
/* 8017AB24 00177A64 D0 01 01 8C */ stfs f0, 0x18c(r1)
lbl_8017AB28:
/* 8017AB28 00177A68 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8017AB2C 00177A6C 41 82 00 20 */ beq lbl_8017AB4C
/* 8017AB30 00177A70 C0 01 01 84 */ lfs f0, 0x184(r1)
/* 8017AB34 00177A74 D0 19 03 F8 */ stfs f0, 0x3f8(r25)
/* 8017AB38 00177A78 C0 01 01 88 */ lfs f0, 0x188(r1)
/* 8017AB3C 00177A7C D0 19 03 FC */ stfs f0, 0x3fc(r25)
/* 8017AB40 00177A80 C0 01 01 8C */ lfs f0, 0x18c(r1)
/* 8017AB44 00177A84 D0 19 04 00 */ stfs f0, 0x400(r25)
/* 8017AB48 00177A88 48 00 00 34 */ b lbl_8017AB7C
lbl_8017AB4C:
/* 8017AB4C 00177A8C 38 61 00 88 */ addi r3, r1, 0x88
/* 8017AB50 00177A90 38 81 01 84 */ addi r4, r1, 0x184
/* 8017AB54 00177A94 38 B9 03 F8 */ addi r5, r25, 0x3f8
/* 8017AB58 00177A98 48 0E BF DD */ bl __mi__4cXyzCFRC3Vec
/* 8017AB5C 00177A9C 38 61 00 7C */ addi r3, r1, 0x7c
/* 8017AB60 00177AA0 38 81 00 88 */ addi r4, r1, 0x88
/* 8017AB64 00177AA4 C0 22 9D 0C */ lfs f1, lbl_8045370C-_SDA2_BASE_(r2)
/* 8017AB68 00177AA8 48 0E C0 1D */ bl __ml__4cXyzCFf
/* 8017AB6C 00177AAC 38 79 03 F8 */ addi r3, r25, 0x3f8
/* 8017AB70 00177AB0 38 81 00 7C */ addi r4, r1, 0x7c
/* 8017AB74 00177AB4 7C 65 1B 78 */ mr r5, r3
/* 8017AB78 00177AB8 48 1C C5 19 */ bl PSVECAdd
lbl_8017AB7C:
/* 8017AB7C 00177ABC 38 61 00 70 */ addi r3, r1, 0x70
/* 8017AB80 00177AC0 38 99 03 F8 */ addi r4, r25, 0x3f8
/* 8017AB84 00177AC4 38 B9 00 64 */ addi r5, r25, 0x64
/* 8017AB88 00177AC8 48 0E BF AD */ bl __mi__4cXyzCFRC3Vec
/* 8017AB8C 00177ACC 38 61 00 38 */ addi r3, r1, 0x38
/* 8017AB90 00177AD0 38 81 00 70 */ addi r4, r1, 0x70
/* 8017AB94 00177AD4 48 0F 6C ED */ bl __ct__7cSGlobeFRC4cXyz
/* 8017AB98 00177AD8 38 61 00 28 */ addi r3, r1, 0x28
/* 8017AB9C 00177ADC 3B A1 00 3E */ addi r29, r1, 0x3e
/* 8017ABA0 00177AE0 7F A4 EB 78 */ mr r4, r29
/* 8017ABA4 00177AE4 3B F9 00 62 */ addi r31, r25, 0x62
/* 8017ABA8 00177AE8 7F E5 FB 78 */ mr r5, r31
/* 8017ABAC 00177AEC 48 0F 65 F9 */ bl __mi__7cSAngleCFRC7cSAngle
/* 8017ABB0 00177AF0 38 61 00 2C */ addi r3, r1, 0x2c
/* 8017ABB4 00177AF4 38 81 00 28 */ addi r4, r1, 0x28
/* 8017ABB8 00177AF8 48 0F 63 B1 */ bl __ct__7cSAngleFRC7cSAngle
/* 8017ABBC 00177AFC 88 0D 8A C2 */ lbz r0, lbl_80451042-_SDA_BASE_(r13)
/* 8017ABC0 00177B00 7C 00 07 75 */ extsb. r0, r0
/* 8017ABC4 00177B04 40 82 00 2C */ bne lbl_8017ABF0
/* 8017ABC8 00177B08 38 6D 8A C4 */ addi r3, r13, 0x80451044 - 0x80458580 /*SDA HACK; original: lbl_80451044-_SDA_BASE_*/
/* 8017ABCC 00177B0C C0 22 9E 58 */ lfs f1, lbl_80453858-_SDA2_BASE_(r2)
/* 8017ABD0 00177B10 48 0F 63 F9 */ bl __ct__7cSAngleFf
/* 8017ABD4 00177B14 3C 80 80 03 */ lis r4, cSAngle_NS_dtor@ha
/* 8017ABD8 00177B18 38 84 05 10 */ addi r4, r4, cSAngle_NS_dtor@l
/* 8017ABDC 00177B1C 3C A0 80 43 */ lis r5, lbl_8042C9B8@ha
/* 8017ABE0 00177B20 38 A5 C9 B8 */ addi r5, r5, lbl_8042C9B8@l
/* 8017ABE4 00177B24 48 1E 70 41 */ bl func_80361C24
/* 8017ABE8 00177B28 38 00 00 01 */ li r0, 1
/* 8017ABEC 00177B2C 98 0D 8A C2 */ stb r0, lbl_80451042-_SDA_BASE_(r13)
lbl_8017ABF0:
/* 8017ABF0 00177B30 AB 0D 8A C4 */ lha r24, lbl_80451044-_SDA_BASE_(r13)
/* 8017ABF4 00177B34 38 61 00 2C */ addi r3, r1, 0x2c
/* 8017ABF8 00177B38 48 0F 64 D5 */ bl Abs__7cSAngleCFv
/* 8017ABFC 00177B3C 7C 63 07 34 */ extsh r3, r3
/* 8017AC00 00177B40 7F 00 07 34 */ extsh r0, r24
/* 8017AC04 00177B44 7C 03 00 00 */ cmpw r3, r0
/* 8017AC08 00177B48 40 81 00 0C */ ble lbl_8017AC14
/* 8017AC0C 00177B4C 7F 23 CB 78 */ mr r3, r25
/* 8017AC10 00177B50 4B FE A4 F5 */ bl dCamera_c_NS_setUSOAngle
lbl_8017AC14:
/* 8017AC14 00177B54 80 19 0A F4 */ lwz r0, 0xaf4(r25)
/* 8017AC18 00177B58 7C 60 F2 14 */ add r3, r0, r30
/* 8017AC1C 00177B5C A0 03 00 06 */ lhz r0, 6(r3)
/* 8017AC20 00177B60 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 8017AC24 00177B64 41 82 00 0C */ beq lbl_8017AC30
/* 8017AC28 00177B68 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8017AC2C 00177B6C 48 00 00 10 */ b lbl_8017AC3C
lbl_8017AC30:
/* 8017AC30 00177B70 EC 1E E8 28 */ fsubs f0, f30, f29
/* 8017AC34 00177B74 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8017AC38 00177B78 EC 1E 00 28 */ fsubs f0, f30, f0
lbl_8017AC3C:
/* 8017AC3C 00177B7C C0 59 00 5C */ lfs f2, 0x5c(r25)
/* 8017AC40 00177B80 C0 39 04 04 */ lfs f1, 0x404(r25)
/* 8017AC44 00177B84 EC 00 10 28 */ fsubs f0, f0, f2
/* 8017AC48 00177B88 EC 01 00 32 */ fmuls f0, f1, f0
/* 8017AC4C 00177B8C EC 02 00 2A */ fadds f0, f2, f0
/* 8017AC50 00177B90 D0 19 00 5C */ stfs f0, 0x5c(r25)
/* 8017AC54 00177B94 38 61 00 24 */ addi r3, r1, 0x24
/* 8017AC58 00177B98 7F A4 EB 78 */ mr r4, r29
/* 8017AC5C 00177B9C 7F E5 FB 78 */ mr r5, r31
/* 8017AC60 00177BA0 48 0F 65 45 */ bl __mi__7cSAngleCFRC7cSAngle
/* 8017AC64 00177BA4 38 61 00 20 */ addi r3, r1, 0x20
/* 8017AC68 00177BA8 38 81 00 24 */ addi r4, r1, 0x24
/* 8017AC6C 00177BAC C0 39 04 04 */ lfs f1, 0x404(r25)
/* 8017AC70 00177BB0 48 0F 65 F5 */ bl __ml__7cSAngleCFf
/* 8017AC74 00177BB4 38 61 00 1C */ addi r3, r1, 0x1c
/* 8017AC78 00177BB8 7F E4 FB 78 */ mr r4, r31
/* 8017AC7C 00177BBC 38 A1 00 20 */ addi r5, r1, 0x20
/* 8017AC80 00177BC0 48 0F 64 F5 */ bl __pl__7cSAngleCFRC7cSAngle
/* 8017AC84 00177BC4 38 61 00 0C */ addi r3, r1, 0xc
/* 8017AC88 00177BC8 A8 81 00 1C */ lha r4, 0x1c(r1)
/* 8017AC8C 00177BCC 48 0F 63 0D */ bl __ct__7cSAngleFs
/* 8017AC90 00177BD0 A8 01 00 0C */ lha r0, 0xc(r1)
/* 8017AC94 00177BD4 B0 19 00 62 */ sth r0, 0x62(r25)
/* 8017AC98 00177BD8 38 61 00 18 */ addi r3, r1, 0x18
/* 8017AC9C 00177BDC 38 81 00 3C */ addi r4, r1, 0x3c
/* 8017ACA0 00177BE0 3B 19 00 60 */ addi r24, r25, 0x60
/* 8017ACA4 00177BE4 7F 05 C3 78 */ mr r5, r24
/* 8017ACA8 00177BE8 48 0F 64 FD */ bl __mi__7cSAngleCFRC7cSAngle
/* 8017ACAC 00177BEC 38 61 00 14 */ addi r3, r1, 0x14
/* 8017ACB0 00177BF0 38 81 00 18 */ addi r4, r1, 0x18
/* 8017ACB4 00177BF4 C0 39 04 04 */ lfs f1, 0x404(r25)
/* 8017ACB8 00177BF8 48 0F 65 AD */ bl __ml__7cSAngleCFf
/* 8017ACBC 00177BFC 38 61 00 10 */ addi r3, r1, 0x10
/* 8017ACC0 00177C00 7F 04 C3 78 */ mr r4, r24
/* 8017ACC4 00177C04 38 A1 00 14 */ addi r5, r1, 0x14
/* 8017ACC8 00177C08 48 0F 64 AD */ bl __pl__7cSAngleCFRC7cSAngle
/* 8017ACCC 00177C0C 38 61 00 08 */ addi r3, r1, 8
/* 8017ACD0 00177C10 A8 81 00 10 */ lha r4, 0x10(r1)
/* 8017ACD4 00177C14 48 0F 62 C5 */ bl __ct__7cSAngleFs
/* 8017ACD8 00177C18 A8 01 00 08 */ lha r0, 8(r1)
/* 8017ACDC 00177C1C B0 19 00 60 */ sth r0, 0x60(r25)
/* 8017ACE0 00177C20 38 61 00 64 */ addi r3, r1, 0x64
/* 8017ACE4 00177C24 38 99 00 5C */ addi r4, r25, 0x5c
/* 8017ACE8 00177C28 48 0F 6D CD */ bl Xyz__7cSGlobeCFv
/* 8017ACEC 00177C2C 38 61 00 58 */ addi r3, r1, 0x58
/* 8017ACF0 00177C30 38 99 00 64 */ addi r4, r25, 0x64
/* 8017ACF4 00177C34 38 A1 00 64 */ addi r5, r1, 0x64
/* 8017ACF8 00177C38 48 0E BD ED */ bl __pl__4cXyzCFRC3Vec
/* 8017ACFC 00177C3C C0 01 00 58 */ lfs f0, 0x58(r1)
/* 8017AD00 00177C40 D0 19 00 70 */ stfs f0, 0x70(r25)
/* 8017AD04 00177C44 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8017AD08 00177C48 D0 19 00 74 */ stfs f0, 0x74(r25)
/* 8017AD0C 00177C4C C0 01 00 60 */ lfs f0, 0x60(r1)
/* 8017AD10 00177C50 D0 19 00 78 */ stfs f0, 0x78(r25)
/* 8017AD14 00177C54 C0 59 00 80 */ lfs f2, 0x80(r25)
/* 8017AD18 00177C58 C0 39 04 04 */ lfs f1, 0x404(r25)
/* 8017AD1C 00177C5C EC 1B D0 28 */ fsubs f0, f27, f26
/* 8017AD20 00177C60 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8017AD24 00177C64 EC 1B 00 28 */ fsubs f0, f27, f0
/* 8017AD28 00177C68 EC 00 10 28 */ fsubs f0, f0, f2
/* 8017AD2C 00177C6C EC 01 00 32 */ fmuls f0, f1, f0
/* 8017AD30 00177C70 EC 02 00 2A */ fadds f0, f2, f0
/* 8017AD34 00177C74 D0 19 00 80 */ stfs f0, 0x80(r25)
/* 8017AD38 00177C78 3C 60 80 3A */ lis r3, lbl_803A78F8@ha
/* 8017AD3C 00177C7C 38 03 78 F8 */ addi r0, r3, lbl_803A78F8@l
/* 8017AD40 00177C80 90 01 02 54 */ stw r0, 0x254(r1)
/* 8017AD44 00177C84 38 60 00 01 */ li r3, 1
lbl_8017AD48:
/* 8017AD48 00177C88 E3 E1 03 48 */ psq_l f31, 840(r1), 0, 0
/* 8017AD4C 00177C8C CB E1 03 40 */ lfd f31, 0x340(r1)
/* 8017AD50 00177C90 E3 C1 03 38 */ psq_l f30, 824(r1), 0, 0
/* 8017AD54 00177C94 CB C1 03 30 */ lfd f30, 0x330(r1)
/* 8017AD58 00177C98 E3 A1 03 28 */ psq_l f29, 808(r1), 0, 0
/* 8017AD5C 00177C9C CB A1 03 20 */ lfd f29, 0x320(r1)
/* 8017AD60 00177CA0 E3 81 03 18 */ psq_l f28, 792(r1), 0, 0
/* 8017AD64 00177CA4 CB 81 03 10 */ lfd f28, 0x310(r1)
/* 8017AD68 00177CA8 E3 61 03 08 */ psq_l f27, 776(r1), 0, 0
/* 8017AD6C 00177CAC CB 61 03 00 */ lfd f27, 0x300(r1)
/* 8017AD70 00177CB0 E3 41 02 F8 */ psq_l f26, 760(r1), 0, 0
/* 8017AD74 00177CB4 CB 41 02 F0 */ lfd f26, 0x2f0(r1)
/* 8017AD78 00177CB8 E3 21 02 E8 */ psq_l f25, 744(r1), 0, 0
/* 8017AD7C 00177CBC CB 21 02 E0 */ lfd f25, 0x2e0(r1)
/* 8017AD80 00177CC0 E3 01 02 D8 */ psq_l f24, 728(r1), 0, 0
/* 8017AD84 00177CC4 CB 01 02 D0 */ lfd f24, 0x2d0(r1)
/* 8017AD88 00177CC8 E2 E1 02 C8 */ psq_l f23, 712(r1), 0, 0
/* 8017AD8C 00177CCC CA E1 02 C0 */ lfd f23, 0x2c0(r1)
/* 8017AD90 00177CD0 E2 C1 02 B8 */ psq_l f22, 696(r1), 0, 0
/* 8017AD94 00177CD4 CA C1 02 B0 */ lfd f22, 0x2b0(r1)
/* 8017AD98 00177CD8 E2 A1 02 A8 */ psq_l f21, 680(r1), 0, 0
/* 8017AD9C 00177CDC CA A1 02 A0 */ lfd f21, 0x2a0(r1)
/* 8017ADA0 00177CE0 E2 81 02 98 */ psq_l f20, 664(r1), 0, 0
/* 8017ADA4 00177CE4 CA 81 02 90 */ lfd f20, 0x290(r1)
/* 8017ADA8 00177CE8 39 61 02 90 */ addi r11, r1, 0x290
/* 8017ADAC 00177CEC 48 1E 74 65 */ bl _restgpr_23
/* 8017ADB0 00177CF0 80 01 03 54 */ lwz r0, 0x354(r1)
/* 8017ADB4 00177CF4 7C 08 03 A6 */ mtlr r0
/* 8017ADB8 00177CF8 38 21 03 50 */ addi r1, r1, 0x350
/* 8017ADBC 00177CFC 4E 80 00 20 */ blr