mirror of https://github.com/zeldaret/tp.git
231 lines
11 KiB
ArmAsm
231 lines
11 KiB
ArmAsm
/* 8026FAB8 0026C9F8 94 21 FF 90 */ stwu r1, -0x70(r1)
|
|
/* 8026FABC 0026C9FC 7C 08 02 A6 */ mflr r0
|
|
/* 8026FAC0 0026CA00 90 01 00 74 */ stw r0, 0x74(r1)
|
|
/* 8026FAC4 0026CA04 DB E1 00 60 */ stfd f31, 0x60(r1)
|
|
/* 8026FAC8 0026CA08 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0
|
|
/* 8026FACC 0026CA0C DB C1 00 50 */ stfd f30, 0x50(r1)
|
|
/* 8026FAD0 0026CA10 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0
|
|
/* 8026FAD4 0026CA14 DB A1 00 40 */ stfd f29, 0x40(r1)
|
|
/* 8026FAD8 0026CA18 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0
|
|
/* 8026FADC 0026CA1C DB 81 00 30 */ stfd f28, 0x30(r1)
|
|
/* 8026FAE0 0026CA20 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0
|
|
/* 8026FAE4 0026CA24 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 8026FAE8 0026CA28 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 8026FAEC 0026CA2C 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8026FAF0 0026CA30 7C 9F 23 78 */ mr r31, r4
|
|
/* 8026FAF4 0026CA34 FF A0 08 90 */ fmr f29, f1
|
|
/* 8026FAF8 0026CA38 FF C0 10 90 */ fmr f30, f2
|
|
/* 8026FAFC 0026CA3C FF E0 18 90 */ fmr f31, f3
|
|
/* 8026FB00 0026CA40 4B FF 75 6D */ bl __ne__4cXyzCFRC3Vec
|
|
/* 8026FB04 0026CA44 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
|
/* 8026FB08 0026CA48 41 82 01 C4 */ beq lbl_8026FCCC
|
|
/* 8026FB0C 0026CA4C 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 8026FB10 0026CA50 7F C4 F3 78 */ mr r4, r30
|
|
/* 8026FB14 0026CA54 7F E5 FB 78 */ mr r5, r31
|
|
/* 8026FB18 0026CA58 4B FF 70 1D */ bl __mi__4cXyzCFRC3Vec
|
|
/* 8026FB1C 0026CA5C C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 8026FB20 0026CA60 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8026FB24 0026CA64 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8026FB28 0026CA68 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8026FB2C 0026CA6C C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8026FB30 0026CA70 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8026FB34 0026CA74 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8026FB38 0026CA78 48 0D 76 01 */ bl PSVECSquareMag
|
|
/* 8026FB3C 0026CA7C C0 02 B7 E0 */ lfs f0, lbl_804551E0-_SDA2_BASE_(r2)
|
|
/* 8026FB40 0026CA80 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026FB44 0026CA84 40 81 00 58 */ ble lbl_8026FB9C
|
|
/* 8026FB48 0026CA88 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 8026FB4C 0026CA8C C8 82 B7 E8 */ lfd f4, lbl_804551E8-_SDA2_BASE_(r2)
|
|
/* 8026FB50 0026CA90 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026FB54 0026CA94 C8 62 B7 F0 */ lfd f3, lbl_804551F0-_SDA2_BASE_(r2)
|
|
/* 8026FB58 0026CA98 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026FB5C 0026CA9C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026FB60 0026CAA0 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8026FB64 0026CAA4 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8026FB68 0026CAA8 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026FB6C 0026CAAC FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026FB70 0026CAB0 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026FB74 0026CAB4 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8026FB78 0026CAB8 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8026FB7C 0026CABC FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026FB80 0026CAC0 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026FB84 0026CAC4 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026FB88 0026CAC8 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8026FB8C 0026CACC FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8026FB90 0026CAD0 FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 8026FB94 0026CAD4 FC 20 08 18 */ frsp f1, f1
|
|
/* 8026FB98 0026CAD8 48 00 00 88 */ b lbl_8026FC20
|
|
lbl_8026FB9C:
|
|
/* 8026FB9C 0026CADC C8 02 B7 F8 */ lfd f0, lbl_804551F8-_SDA2_BASE_(r2)
|
|
/* 8026FBA0 0026CAE0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026FBA4 0026CAE4 40 80 00 10 */ bge lbl_8026FBB4
|
|
/* 8026FBA8 0026CAE8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 8026FBAC 0026CAEC C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
/* 8026FBB0 0026CAF0 48 00 00 70 */ b lbl_8026FC20
|
|
lbl_8026FBB4:
|
|
/* 8026FBB4 0026CAF4 D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 8026FBB8 0026CAF8 80 81 00 0C */ lwz r4, 0xc(r1)
|
|
/* 8026FBBC 0026CAFC 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 8026FBC0 0026CB00 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 8026FBC4 0026CB04 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8026FBC8 0026CB08 41 82 00 14 */ beq lbl_8026FBDC
|
|
/* 8026FBCC 0026CB0C 40 80 00 40 */ bge lbl_8026FC0C
|
|
/* 8026FBD0 0026CB10 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8026FBD4 0026CB14 41 82 00 20 */ beq lbl_8026FBF4
|
|
/* 8026FBD8 0026CB18 48 00 00 34 */ b lbl_8026FC0C
|
|
lbl_8026FBDC:
|
|
/* 8026FBDC 0026CB1C 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8026FBE0 0026CB20 41 82 00 0C */ beq lbl_8026FBEC
|
|
/* 8026FBE4 0026CB24 38 00 00 01 */ li r0, 1
|
|
/* 8026FBE8 0026CB28 48 00 00 28 */ b lbl_8026FC10
|
|
lbl_8026FBEC:
|
|
/* 8026FBEC 0026CB2C 38 00 00 02 */ li r0, 2
|
|
/* 8026FBF0 0026CB30 48 00 00 20 */ b lbl_8026FC10
|
|
lbl_8026FBF4:
|
|
/* 8026FBF4 0026CB34 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8026FBF8 0026CB38 41 82 00 0C */ beq lbl_8026FC04
|
|
/* 8026FBFC 0026CB3C 38 00 00 05 */ li r0, 5
|
|
/* 8026FC00 0026CB40 48 00 00 10 */ b lbl_8026FC10
|
|
lbl_8026FC04:
|
|
/* 8026FC04 0026CB44 38 00 00 03 */ li r0, 3
|
|
/* 8026FC08 0026CB48 48 00 00 08 */ b lbl_8026FC10
|
|
lbl_8026FC0C:
|
|
/* 8026FC0C 0026CB4C 38 00 00 04 */ li r0, 4
|
|
lbl_8026FC10:
|
|
/* 8026FC10 0026CB50 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8026FC14 0026CB54 40 82 00 0C */ bne lbl_8026FC20
|
|
/* 8026FC18 0026CB58 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 8026FC1C 0026CB5C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
lbl_8026FC20:
|
|
/* 8026FC20 0026CB60 FC 01 F8 40 */ fcmpo cr0, f1, f31
|
|
/* 8026FC24 0026CB64 40 80 00 20 */ bge lbl_8026FC44
|
|
/* 8026FC28 0026CB68 C0 1F 00 00 */ lfs f0, 0(r31)
|
|
/* 8026FC2C 0026CB6C D0 1E 00 00 */ stfs f0, 0(r30)
|
|
/* 8026FC30 0026CB70 C0 1F 00 04 */ lfs f0, 4(r31)
|
|
/* 8026FC34 0026CB74 D0 1E 00 04 */ stfs f0, 4(r30)
|
|
/* 8026FC38 0026CB78 C0 1F 00 08 */ lfs f0, 8(r31)
|
|
/* 8026FC3C 0026CB7C D0 1E 00 08 */ stfs f0, 8(r30)
|
|
/* 8026FC40 0026CB80 48 00 00 8C */ b lbl_8026FCCC
|
|
lbl_8026FC44:
|
|
/* 8026FC44 0026CB84 EF 81 07 72 */ fmuls f28, f1, f29
|
|
/* 8026FC48 0026CB88 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8026FC4C 0026CB8C 7C 64 1B 78 */ mr r4, r3
|
|
/* 8026FC50 0026CB90 FC 20 E8 90 */ fmr f1, f29
|
|
/* 8026FC54 0026CB94 48 0D 74 85 */ bl PSVECScale
|
|
/* 8026FC58 0026CB98 FC 00 E2 10 */ fabs f0, f28
|
|
/* 8026FC5C 0026CB9C FC 20 00 18 */ frsp f1, f0
|
|
/* 8026FC60 0026CBA0 C0 02 B8 00 */ lfs f0, lbl_80455200-_SDA2_BASE_(r2)
|
|
/* 8026FC64 0026CBA4 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026FC68 0026CBA8 41 80 00 4C */ blt lbl_8026FCB4
|
|
/* 8026FC6C 0026CBAC FC 1C F0 40 */ fcmpo cr0, f28, f30
|
|
/* 8026FC70 0026CBB0 40 81 00 18 */ ble lbl_8026FC88
|
|
/* 8026FC74 0026CBB4 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8026FC78 0026CBB8 7C 64 1B 78 */ mr r4, r3
|
|
/* 8026FC7C 0026CBBC EC 3E E0 24 */ fdivs f1, f30, f28
|
|
/* 8026FC80 0026CBC0 48 0D 74 59 */ bl PSVECScale
|
|
/* 8026FC84 0026CBC4 48 00 00 1C */ b lbl_8026FCA0
|
|
lbl_8026FC88:
|
|
/* 8026FC88 0026CBC8 FC 1C F8 40 */ fcmpo cr0, f28, f31
|
|
/* 8026FC8C 0026CBCC 40 80 00 14 */ bge lbl_8026FCA0
|
|
/* 8026FC90 0026CBD0 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8026FC94 0026CBD4 7C 64 1B 78 */ mr r4, r3
|
|
/* 8026FC98 0026CBD8 EC 3F E0 24 */ fdivs f1, f31, f28
|
|
/* 8026FC9C 0026CBDC 48 0D 74 3D */ bl PSVECScale
|
|
lbl_8026FCA0:
|
|
/* 8026FCA0 0026CBE0 7F C3 F3 78 */ mr r3, r30
|
|
/* 8026FCA4 0026CBE4 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 8026FCA8 0026CBE8 7F C5 F3 78 */ mr r5, r30
|
|
/* 8026FCAC 0026CBEC 48 0D 74 09 */ bl PSVECSubtract
|
|
/* 8026FCB0 0026CBF0 48 00 00 1C */ b lbl_8026FCCC
|
|
lbl_8026FCB4:
|
|
/* 8026FCB4 0026CBF4 C0 1F 00 00 */ lfs f0, 0(r31)
|
|
/* 8026FCB8 0026CBF8 D0 1E 00 00 */ stfs f0, 0(r30)
|
|
/* 8026FCBC 0026CBFC C0 1F 00 04 */ lfs f0, 4(r31)
|
|
/* 8026FCC0 0026CC00 D0 1E 00 04 */ stfs f0, 4(r30)
|
|
/* 8026FCC4 0026CC04 C0 1F 00 08 */ lfs f0, 8(r31)
|
|
/* 8026FCC8 0026CC08 D0 1E 00 08 */ stfs f0, 8(r30)
|
|
lbl_8026FCCC:
|
|
/* 8026FCCC 0026CC0C 7F C3 F3 78 */ mr r3, r30
|
|
/* 8026FCD0 0026CC10 7F E4 FB 78 */ mr r4, r31
|
|
/* 8026FCD4 0026CC14 48 0D 76 C9 */ bl PSVECSquareDistance
|
|
/* 8026FCD8 0026CC18 C0 02 B7 E0 */ lfs f0, lbl_804551E0-_SDA2_BASE_(r2)
|
|
/* 8026FCDC 0026CC1C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026FCE0 0026CC20 40 81 00 58 */ ble lbl_8026FD38
|
|
/* 8026FCE4 0026CC24 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 8026FCE8 0026CC28 C8 82 B7 E8 */ lfd f4, lbl_804551E8-_SDA2_BASE_(r2)
|
|
/* 8026FCEC 0026CC2C FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026FCF0 0026CC30 C8 62 B7 F0 */ lfd f3, lbl_804551F0-_SDA2_BASE_(r2)
|
|
/* 8026FCF4 0026CC34 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026FCF8 0026CC38 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026FCFC 0026CC3C FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8026FD00 0026CC40 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8026FD04 0026CC44 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026FD08 0026CC48 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026FD0C 0026CC4C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026FD10 0026CC50 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8026FD14 0026CC54 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8026FD18 0026CC58 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 8026FD1C 0026CC5C FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 8026FD20 0026CC60 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8026FD24 0026CC64 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 8026FD28 0026CC68 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8026FD2C 0026CC6C FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 8026FD30 0026CC70 FC 20 08 18 */ frsp f1, f1
|
|
/* 8026FD34 0026CC74 48 00 00 88 */ b lbl_8026FDBC
|
|
lbl_8026FD38:
|
|
/* 8026FD38 0026CC78 C8 02 B7 F8 */ lfd f0, lbl_804551F8-_SDA2_BASE_(r2)
|
|
/* 8026FD3C 0026CC7C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8026FD40 0026CC80 40 80 00 10 */ bge lbl_8026FD50
|
|
/* 8026FD44 0026CC84 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 8026FD48 0026CC88 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
/* 8026FD4C 0026CC8C 48 00 00 70 */ b lbl_8026FDBC
|
|
lbl_8026FD50:
|
|
/* 8026FD50 0026CC90 D0 21 00 08 */ stfs f1, 8(r1)
|
|
/* 8026FD54 0026CC94 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 8026FD58 0026CC98 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 8026FD5C 0026CC9C 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 8026FD60 0026CCA0 7C 03 00 00 */ cmpw r3, r0
|
|
/* 8026FD64 0026CCA4 41 82 00 14 */ beq lbl_8026FD78
|
|
/* 8026FD68 0026CCA8 40 80 00 40 */ bge lbl_8026FDA8
|
|
/* 8026FD6C 0026CCAC 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8026FD70 0026CCB0 41 82 00 20 */ beq lbl_8026FD90
|
|
/* 8026FD74 0026CCB4 48 00 00 34 */ b lbl_8026FDA8
|
|
lbl_8026FD78:
|
|
/* 8026FD78 0026CCB8 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8026FD7C 0026CCBC 41 82 00 0C */ beq lbl_8026FD88
|
|
/* 8026FD80 0026CCC0 38 00 00 01 */ li r0, 1
|
|
/* 8026FD84 0026CCC4 48 00 00 28 */ b lbl_8026FDAC
|
|
lbl_8026FD88:
|
|
/* 8026FD88 0026CCC8 38 00 00 02 */ li r0, 2
|
|
/* 8026FD8C 0026CCCC 48 00 00 20 */ b lbl_8026FDAC
|
|
lbl_8026FD90:
|
|
/* 8026FD90 0026CCD0 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 8026FD94 0026CCD4 41 82 00 0C */ beq lbl_8026FDA0
|
|
/* 8026FD98 0026CCD8 38 00 00 05 */ li r0, 5
|
|
/* 8026FD9C 0026CCDC 48 00 00 10 */ b lbl_8026FDAC
|
|
lbl_8026FDA0:
|
|
/* 8026FDA0 0026CCE0 38 00 00 03 */ li r0, 3
|
|
/* 8026FDA4 0026CCE4 48 00 00 08 */ b lbl_8026FDAC
|
|
lbl_8026FDA8:
|
|
/* 8026FDA8 0026CCE8 38 00 00 04 */ li r0, 4
|
|
lbl_8026FDAC:
|
|
/* 8026FDAC 0026CCEC 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 8026FDB0 0026CCF0 40 82 00 0C */ bne lbl_8026FDBC
|
|
/* 8026FDB4 0026CCF4 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
|
|
/* 8026FDB8 0026CCF8 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
|
|
lbl_8026FDBC:
|
|
/* 8026FDBC 0026CCFC E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0
|
|
/* 8026FDC0 0026CD00 CB E1 00 60 */ lfd f31, 0x60(r1)
|
|
/* 8026FDC4 0026CD04 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0
|
|
/* 8026FDC8 0026CD08 CB C1 00 50 */ lfd f30, 0x50(r1)
|
|
/* 8026FDCC 0026CD0C E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0
|
|
/* 8026FDD0 0026CD10 CB A1 00 40 */ lfd f29, 0x40(r1)
|
|
/* 8026FDD4 0026CD14 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0
|
|
/* 8026FDD8 0026CD18 CB 81 00 30 */ lfd f28, 0x30(r1)
|
|
/* 8026FDDC 0026CD1C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 8026FDE0 0026CD20 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 8026FDE4 0026CD24 80 01 00 74 */ lwz r0, 0x74(r1)
|
|
/* 8026FDE8 0026CD28 7C 08 03 A6 */ mtlr r0
|
|
/* 8026FDEC 0026CD2C 38 21 00 70 */ addi r1, r1, 0x70
|
|
/* 8026FDF0 0026CD30 4E 80 00 20 */ blr
|