.include "macros.inc" .comm lbl_80572BAC, 0x19000, 4 .comm lbl_8058BBAC, 0xC000, 4 .comm lbl_80597BAC, 0x8000, 4 .section .data .balign 8 .global lbl_803EC428 lbl_803EC428: # ROM: 0x3E9428 .4byte 0 .4byte 0x00000001 .4byte 0x00000002 .4byte 0 .section .sbss, "wa" .balign 8 .global lbl_805A9180 lbl_805A9180: .skip 0x4 .global lbl_805A9184 lbl_805A9184: .skip 0x4 .global lbl_805A9188 lbl_805A9188: .skip 0x4 .global lbl_805A918C lbl_805A918C: .skip 0x4 .global lbl_805A9190 lbl_805A9190: .skip 0x8 .section .rodata .balign 8 .global lbl_803D6028 lbl_803D6028: .4byte 0 .4byte 0 .4byte 0 .4byte 0 .section .sbss2, "", @nobits .balign 8 # CMovingAABoxComponent .global lbl_805AF488 lbl_805AF488: .skip 0x4 .global lbl_805AF48C lbl_805AF48C: .skip 0x4 .section .text, "ax" .global __ct__Q220CMetroidAreaCollider22CMovingAABoxComponentsFRC6CAABoxRC9CVector3f __ct__Q220CMetroidAreaCollider22CMovingAABoxComponentsFRC6CAABoxRC9CVector3f: /* 802A309C 0029FFFC 94 21 FE F0 */ stwu r1, -0x110(r1) /* 802A30A0 002A0000 7C 08 02 A6 */ mflr r0 /* 802A30A4 002A0004 90 01 01 14 */ stw r0, 0x114(r1) /* 802A30A8 002A0008 DB E1 01 00 */ stfd f31, 0x100(r1) /* 802A30AC 002A000C F3 E1 01 08 */ psq_st f31, 264(r1), 0, qr0 /* 802A30B0 002A0010 BF 01 00 E0 */ stmw r24, 0xe0(r1) /* 802A30B4 002A0014 3B 40 00 00 */ li r26, 0 /* 802A30B8 002A0018 7C BE 2B 78 */ mr r30, r5 /* 802A30BC 002A001C 93 43 00 00 */ stw r26, 0(r3) /* 802A30C0 002A0020 7C 7C 1B 78 */ mr r28, r3 /* 802A30C4 002A0024 3C 60 80 3D */ lis r3, lbl_803D6028@ha /* 802A30C8 002A0028 7C 9D 23 78 */ mr r29, r4 /* 802A30CC 002A002C 93 5C 06 C4 */ stw r26, 0x6c4(r28) /* 802A30D0 002A0030 7F DB F3 78 */ mr r27, r30 /* 802A30D4 002A0034 C3 E2 C1 4C */ lfs f31, lbl_805ADE6C@sda21(r2) /* 802A30D8 002A0038 3B E0 00 00 */ li r31, 0 /* 802A30DC 002A003C C0 04 00 00 */ lfs f0, 0(r4) /* 802A30E0 002A0040 3B 20 00 00 */ li r25, 0 /* 802A30E4 002A0044 D0 1C 06 E8 */ stfs f0, 0x6e8(r28) /* 802A30E8 002A0048 C0 04 00 04 */ lfs f0, 4(r4) /* 802A30EC 002A004C D0 1C 06 EC */ stfs f0, 0x6ec(r28) /* 802A30F0 002A0050 C0 04 00 08 */ lfs f0, 8(r4) /* 802A30F4 002A0054 D0 1C 06 F0 */ stfs f0, 0x6f0(r28) /* 802A30F8 002A0058 C0 04 00 0C */ lfs f0, 0xc(r4) /* 802A30FC 002A005C D0 1C 06 F4 */ stfs f0, 0x6f4(r28) /* 802A3100 002A0060 C0 04 00 10 */ lfs f0, 0x10(r4) /* 802A3104 002A0064 D0 1C 06 F8 */ stfs f0, 0x6f8(r28) /* 802A3108 002A0068 C0 04 00 14 */ lfs f0, 0x14(r4) /* 802A310C 002A006C D0 1C 06 FC */ stfs f0, 0x6fc(r28) /* 802A3110 002A0070 84 C3 60 28 */ lwzu r6, lbl_803D6028@l(r3) /* 802A3114 002A0074 80 02 D7 6C */ lwz r0, lbl_805AF48C@sda21(r2) /* 802A3118 002A0078 80 A3 00 04 */ lwz r5, 4(r3) /* 802A311C 002A007C 80 83 00 08 */ lwz r4, 8(r3) /* 802A3120 002A0080 80 62 D7 68 */ lwz r3, lbl_805AF488@sda21(r2) /* 802A3124 002A0084 90 C1 00 40 */ stw r6, 0x40(r1) /* 802A3128 002A0088 90 A1 00 44 */ stw r5, 0x44(r1) /* 802A312C 002A008C 90 81 00 48 */ stw r4, 0x48(r1) /* 802A3130 002A0090 90 61 00 08 */ stw r3, 8(r1) /* 802A3134 002A0094 90 01 00 0C */ stw r0, 0xc(r1) lbl_802A3138: /* 802A3138 002A0098 C0 1B 00 00 */ lfs f0, 0(r27) /* 802A313C 002A009C FC 1F 00 00 */ fcmpu cr0, f31, f0 /* 802A3140 002A00A0 41 82 00 30 */ beq lbl_802A3170 /* 802A3144 002A00A4 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 802A3148 002A00A8 7C 00 00 26 */ mfcr r0 /* 802A314C 002A00AC 38 81 00 40 */ addi r4, r1, 0x40 /* 802A3150 002A00B0 54 00 0F FE */ srwi r0, r0, 0x1f /* 802A3154 002A00B4 7F 1A 02 14 */ add r24, r26, r0 /* 802A3158 002A00B8 7F 03 C3 78 */ mr r3, r24 /* 802A315C 002A00BC 48 00 05 29 */ bl FlagEdgeIndicesForFace__FUiPb /* 802A3160 002A00C0 7F 03 C3 78 */ mr r3, r24 /* 802A3164 002A00C4 38 81 00 08 */ addi r4, r1, 8 /* 802A3168 002A00C8 48 00 04 59 */ bl FlagVertexIndicesForFace__FUiPb /* 802A316C 002A00CC 3B FF 00 01 */ addi r31, r31, 1 lbl_802A3170: /* 802A3170 002A00D0 3B 39 00 01 */ addi r25, r25, 1 /* 802A3174 002A00D4 3B 5A 00 02 */ addi r26, r26, 2 /* 802A3178 002A00D8 2C 19 00 03 */ cmpwi r25, 3 /* 802A317C 002A00DC 3B 7B 00 04 */ addi r27, r27, 4 /* 802A3180 002A00E0 41 80 FF B8 */ blt lbl_802A3138 /* 802A3184 002A00E4 3B 00 00 00 */ li r24, 0 /* 802A3188 002A00E8 3B 41 00 40 */ addi r26, r1, 0x40 lbl_802A318C: /* 802A318C 002A00EC 88 1A 00 00 */ lbz r0, 0(r26) /* 802A3190 002A00F0 28 00 00 00 */ cmplwi r0, 0 /* 802A3194 002A00F4 41 82 00 24 */ beq lbl_802A31B8 /* 802A3198 002A00F8 7F A4 EB 78 */ mr r4, r29 /* 802A319C 002A00FC 7F 05 C3 78 */ mr r5, r24 /* 802A31A0 002A0100 7F C6 F3 78 */ mr r6, r30 /* 802A31A4 002A0104 38 61 00 50 */ addi r3, r1, 0x50 /* 802A31A8 002A0108 48 00 03 01 */ bl __ct__Q220CMetroidAreaCollider8SBoxEdgeFRC6CAABoxiRC9CVector3f /* 802A31AC 002A010C 7C 64 1B 78 */ mr r4, r3 /* 802A31B0 002A0110 7F 83 E3 78 */ mr r3, r28 /* 802A31B4 002A0114 48 00 01 D1 */ bl sub_802a3384 lbl_802A31B8: /* 802A31B8 002A0118 3B 18 00 01 */ addi r24, r24, 1 /* 802A31BC 002A011C 3B 5A 00 01 */ addi r26, r26, 1 /* 802A31C0 002A0120 2C 18 00 0C */ cmpwi r24, 0xc /* 802A31C4 002A0124 41 80 FF C8 */ blt lbl_802A318C /* 802A31C8 002A0128 38 00 00 02 */ li r0, 2 /* 802A31CC 002A012C 38 81 00 08 */ addi r4, r1, 8 /* 802A31D0 002A0130 38 BC 06 C4 */ addi r5, r28, 0x6c4 /* 802A31D4 002A0134 38 C0 00 00 */ li r6, 0 /* 802A31D8 002A0138 7C 09 03 A6 */ mtctr r0 lbl_802A31DC: /* 802A31DC 002A013C 88 04 00 00 */ lbz r0, 0(r4) /* 802A31E0 002A0140 28 00 00 00 */ cmplwi r0, 0 /* 802A31E4 002A0144 41 82 00 28 */ beq lbl_802A320C /* 802A31E8 002A0148 80 05 00 00 */ lwz r0, 0(r5) /* 802A31EC 002A014C 54 00 10 3A */ slwi r0, r0, 2 /* 802A31F0 002A0150 7C 65 02 14 */ add r3, r5, r0 /* 802A31F4 002A0154 34 63 00 04 */ addic. r3, r3, 4 /* 802A31F8 002A0158 41 82 00 08 */ beq lbl_802A3200 /* 802A31FC 002A015C 90 C3 00 00 */ stw r6, 0(r3) lbl_802A3200: /* 802A3200 002A0160 80 7C 06 C4 */ lwz r3, 0x6c4(r28) /* 802A3204 002A0164 38 03 00 01 */ addi r0, r3, 1 /* 802A3208 002A0168 90 1C 06 C4 */ stw r0, 0x6c4(r28) lbl_802A320C: /* 802A320C 002A016C 88 04 00 01 */ lbz r0, 1(r4) /* 802A3210 002A0170 38 C6 00 01 */ addi r6, r6, 1 /* 802A3214 002A0174 28 00 00 00 */ cmplwi r0, 0 /* 802A3218 002A0178 41 82 00 28 */ beq lbl_802A3240 /* 802A321C 002A017C 80 05 00 00 */ lwz r0, 0(r5) /* 802A3220 002A0180 54 00 10 3A */ slwi r0, r0, 2 /* 802A3224 002A0184 7C 65 02 14 */ add r3, r5, r0 /* 802A3228 002A0188 34 63 00 04 */ addic. r3, r3, 4 /* 802A322C 002A018C 41 82 00 08 */ beq lbl_802A3234 /* 802A3230 002A0190 90 C3 00 00 */ stw r6, 0(r3) lbl_802A3234: /* 802A3234 002A0194 80 7C 06 C4 */ lwz r3, 0x6c4(r28) /* 802A3238 002A0198 38 03 00 01 */ addi r0, r3, 1 /* 802A323C 002A019C 90 1C 06 C4 */ stw r0, 0x6c4(r28) lbl_802A3240: /* 802A3240 002A01A0 88 04 00 02 */ lbz r0, 2(r4) /* 802A3244 002A01A4 38 C6 00 01 */ addi r6, r6, 1 /* 802A3248 002A01A8 28 00 00 00 */ cmplwi r0, 0 /* 802A324C 002A01AC 41 82 00 28 */ beq lbl_802A3274 /* 802A3250 002A01B0 80 05 00 00 */ lwz r0, 0(r5) /* 802A3254 002A01B4 54 00 10 3A */ slwi r0, r0, 2 /* 802A3258 002A01B8 7C 65 02 14 */ add r3, r5, r0 /* 802A325C 002A01BC 34 63 00 04 */ addic. r3, r3, 4 /* 802A3260 002A01C0 41 82 00 08 */ beq lbl_802A3268 /* 802A3264 002A01C4 90 C3 00 00 */ stw r6, 0(r3) lbl_802A3268: /* 802A3268 002A01C8 80 7C 06 C4 */ lwz r3, 0x6c4(r28) /* 802A326C 002A01CC 38 03 00 01 */ addi r0, r3, 1 /* 802A3270 002A01D0 90 1C 06 C4 */ stw r0, 0x6c4(r28) lbl_802A3274: /* 802A3274 002A01D4 88 04 00 03 */ lbz r0, 3(r4) /* 802A3278 002A01D8 38 C6 00 01 */ addi r6, r6, 1 /* 802A327C 002A01DC 28 00 00 00 */ cmplwi r0, 0 /* 802A3280 002A01E0 41 82 00 28 */ beq lbl_802A32A8 /* 802A3284 002A01E4 80 05 00 00 */ lwz r0, 0(r5) /* 802A3288 002A01E8 54 00 10 3A */ slwi r0, r0, 2 /* 802A328C 002A01EC 7C 65 02 14 */ add r3, r5, r0 /* 802A3290 002A01F0 34 63 00 04 */ addic. r3, r3, 4 /* 802A3294 002A01F4 41 82 00 08 */ beq lbl_802A329C /* 802A3298 002A01F8 90 C3 00 00 */ stw r6, 0(r3) lbl_802A329C: /* 802A329C 002A01FC 80 7C 06 C4 */ lwz r3, 0x6c4(r28) /* 802A32A0 002A0200 38 03 00 01 */ addi r0, r3, 1 /* 802A32A4 002A0204 90 1C 06 C4 */ stw r0, 0x6c4(r28) lbl_802A32A8: /* 802A32A8 002A0208 38 84 00 04 */ addi r4, r4, 4 /* 802A32AC 002A020C 38 C6 00 01 */ addi r6, r6, 1 /* 802A32B0 002A0210 42 00 FF 2C */ bdnz lbl_802A31DC /* 802A32B4 002A0214 28 1F 00 01 */ cmplwi r31, 1 /* 802A32B8 002A0218 40 82 00 AC */ bne lbl_802A3364 /* 802A32BC 002A021C 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A32C0 002A0220 7F A4 EB 78 */ mr r4, r29 /* 802A32C4 002A0224 38 C3 67 54 */ addi r6, r3, mskInvertedBox__6CAABox@l /* 802A32C8 002A0228 38 61 00 34 */ addi r3, r1, 0x34 /* 802A32CC 002A022C 80 A6 00 00 */ lwz r5, 0(r6) /* 802A32D0 002A0230 80 06 00 04 */ lwz r0, 4(r6) /* 802A32D4 002A0234 90 BC 06 E8 */ stw r5, 0x6e8(r28) /* 802A32D8 002A0238 90 1C 06 EC */ stw r0, 0x6ec(r28) /* 802A32DC 002A023C 80 06 00 08 */ lwz r0, 8(r6) /* 802A32E0 002A0240 90 1C 06 F0 */ stw r0, 0x6f0(r28) /* 802A32E4 002A0244 80 A6 00 0C */ lwz r5, 0xc(r6) /* 802A32E8 002A0248 80 06 00 10 */ lwz r0, 0x10(r6) /* 802A32EC 002A024C 90 BC 06 F4 */ stw r5, 0x6f4(r28) /* 802A32F0 002A0250 90 1C 06 F8 */ stw r0, 0x6f8(r28) /* 802A32F4 002A0254 80 06 00 14 */ lwz r0, 0x14(r6) /* 802A32F8 002A0258 90 1C 06 FC */ stw r0, 0x6fc(r28) /* 802A32FC 002A025C 80 BC 06 C8 */ lwz r5, 0x6c8(r28) /* 802A3300 002A0260 48 09 42 B1 */ bl GetPoint__6CAABoxCFi /* 802A3304 002A0264 38 7C 06 E8 */ addi r3, r28, 0x6e8 /* 802A3308 002A0268 38 81 00 34 */ addi r4, r1, 0x34 /* 802A330C 002A026C 48 09 47 FD */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A3310 002A0270 80 BC 06 CC */ lwz r5, 0x6cc(r28) /* 802A3314 002A0274 7F A4 EB 78 */ mr r4, r29 /* 802A3318 002A0278 38 61 00 28 */ addi r3, r1, 0x28 /* 802A331C 002A027C 48 09 42 95 */ bl GetPoint__6CAABoxCFi /* 802A3320 002A0280 38 7C 06 E8 */ addi r3, r28, 0x6e8 /* 802A3324 002A0284 38 81 00 28 */ addi r4, r1, 0x28 /* 802A3328 002A0288 48 09 47 E1 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A332C 002A028C 80 BC 06 D0 */ lwz r5, 0x6d0(r28) /* 802A3330 002A0290 7F A4 EB 78 */ mr r4, r29 /* 802A3334 002A0294 38 61 00 1C */ addi r3, r1, 0x1c /* 802A3338 002A0298 48 09 42 79 */ bl GetPoint__6CAABoxCFi /* 802A333C 002A029C 38 7C 06 E8 */ addi r3, r28, 0x6e8 /* 802A3340 002A02A0 38 81 00 1C */ addi r4, r1, 0x1c /* 802A3344 002A02A4 48 09 47 C5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A3348 002A02A8 80 BC 06 D4 */ lwz r5, 0x6d4(r28) /* 802A334C 002A02AC 7F A4 EB 78 */ mr r4, r29 /* 802A3350 002A02B0 38 61 00 10 */ addi r3, r1, 0x10 /* 802A3354 002A02B4 48 09 42 5D */ bl GetPoint__6CAABoxCFi /* 802A3358 002A02B8 38 7C 06 E8 */ addi r3, r28, 0x6e8 /* 802A335C 002A02BC 38 81 00 10 */ addi r4, r1, 0x10 /* 802A3360 002A02C0 48 09 47 A9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f lbl_802A3364: /* 802A3364 002A02C4 7F 83 E3 78 */ mr r3, r28 /* 802A3368 002A02C8 E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0 /* 802A336C 002A02CC CB E1 01 00 */ lfd f31, 0x100(r1) /* 802A3370 002A02D0 BB 01 00 E0 */ lmw r24, 0xe0(r1) /* 802A3374 002A02D4 80 01 01 14 */ lwz r0, 0x114(r1) /* 802A3378 002A02D8 7C 08 03 A6 */ mtlr r0 /* 802A337C 002A02DC 38 21 01 10 */ addi r1, r1, 0x110 /* 802A3380 002A02E0 4E 80 00 20 */ blr .global sub_802a3384 sub_802a3384: /* 802A3384 002A02E4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A3388 002A02E8 7C 08 02 A6 */ mflr r0 /* 802A338C 002A02EC 90 01 00 14 */ stw r0, 0x14(r1) /* 802A3390 002A02F0 93 E1 00 0C */ stw r31, 0xc(r1) /* 802A3394 002A02F4 7C 7F 1B 78 */ mr r31, r3 /* 802A3398 002A02F8 80 03 00 00 */ lwz r0, 0(r3) /* 802A339C 002A02FC 1C 00 00 90 */ mulli r0, r0, 0x90 /* 802A33A0 002A0300 7C 7F 02 14 */ add r3, r31, r0 /* 802A33A4 002A0304 38 63 00 04 */ addi r3, r3, 4 /* 802A33A8 002A0308 48 00 00 25 */ bl sub_802a33cc /* 802A33AC 002A030C 80 7F 00 00 */ lwz r3, 0(r31) /* 802A33B0 002A0310 38 03 00 01 */ addi r0, r3, 1 /* 802A33B4 002A0314 90 1F 00 00 */ stw r0, 0(r31) /* 802A33B8 002A0318 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802A33BC 002A031C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A33C0 002A0320 7C 08 03 A6 */ mtlr r0 /* 802A33C4 002A0324 38 21 00 10 */ addi r1, r1, 0x10 /* 802A33C8 002A0328 4E 80 00 20 */ blr .global sub_802a33cc sub_802a33cc: /* 802A33CC 002A032C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A33D0 002A0330 7C 08 02 A6 */ mflr r0 /* 802A33D4 002A0334 28 03 00 00 */ cmplwi r3, 0 /* 802A33D8 002A0338 90 01 00 14 */ stw r0, 0x14(r1) /* 802A33DC 002A033C 41 82 00 08 */ beq lbl_802A33E4 /* 802A33E0 002A0340 48 00 00 15 */ bl sub_802a33f4 lbl_802A33E4: /* 802A33E4 002A0344 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A33E8 002A0348 7C 08 03 A6 */ mtlr r0 /* 802A33EC 002A034C 38 21 00 10 */ addi r1, r1, 0x10 /* 802A33F0 002A0350 4E 80 00 20 */ blr .global sub_802a33f4 sub_802a33f4: /* 802A33F4 002A0354 C0 04 00 00 */ lfs f0, 0(r4) /* 802A33F8 002A0358 D0 03 00 00 */ stfs f0, 0(r3) /* 802A33FC 002A035C C0 04 00 04 */ lfs f0, 4(r4) /* 802A3400 002A0360 D0 03 00 04 */ stfs f0, 4(r3) /* 802A3404 002A0364 C0 04 00 08 */ lfs f0, 8(r4) /* 802A3408 002A0368 D0 03 00 08 */ stfs f0, 8(r3) /* 802A340C 002A036C C0 04 00 0C */ lfs f0, 0xc(r4) /* 802A3410 002A0370 D0 03 00 0C */ stfs f0, 0xc(r3) /* 802A3414 002A0374 C0 04 00 10 */ lfs f0, 0x10(r4) /* 802A3418 002A0378 D0 03 00 10 */ stfs f0, 0x10(r3) /* 802A341C 002A037C C0 04 00 14 */ lfs f0, 0x14(r4) /* 802A3420 002A0380 D0 03 00 14 */ stfs f0, 0x14(r3) /* 802A3424 002A0384 C0 04 00 18 */ lfs f0, 0x18(r4) /* 802A3428 002A0388 D0 03 00 18 */ stfs f0, 0x18(r3) /* 802A342C 002A038C C0 04 00 1C */ lfs f0, 0x1c(r4) /* 802A3430 002A0390 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 802A3434 002A0394 C0 04 00 20 */ lfs f0, 0x20(r4) /* 802A3438 002A0398 D0 03 00 20 */ stfs f0, 0x20(r3) /* 802A343C 002A039C C8 04 00 28 */ lfd f0, 0x28(r4) /* 802A3440 002A03A0 D8 03 00 28 */ stfd f0, 0x28(r3) /* 802A3444 002A03A4 C8 04 00 30 */ lfd f0, 0x30(r4) /* 802A3448 002A03A8 D8 03 00 30 */ stfd f0, 0x30(r3) /* 802A344C 002A03AC C8 04 00 38 */ lfd f0, 0x38(r4) /* 802A3450 002A03B0 D8 03 00 38 */ stfd f0, 0x38(r3) /* 802A3454 002A03B4 C8 04 00 40 */ lfd f0, 0x40(r4) /* 802A3458 002A03B8 D8 03 00 40 */ stfd f0, 0x40(r3) /* 802A345C 002A03BC C8 04 00 48 */ lfd f0, 0x48(r4) /* 802A3460 002A03C0 D8 03 00 48 */ stfd f0, 0x48(r3) /* 802A3464 002A03C4 C8 04 00 50 */ lfd f0, 0x50(r4) /* 802A3468 002A03C8 D8 03 00 50 */ stfd f0, 0x50(r3) /* 802A346C 002A03CC C8 04 00 58 */ lfd f0, 0x58(r4) /* 802A3470 002A03D0 D8 03 00 58 */ stfd f0, 0x58(r3) /* 802A3474 002A03D4 C8 04 00 60 */ lfd f0, 0x60(r4) /* 802A3478 002A03D8 D8 03 00 60 */ stfd f0, 0x60(r3) /* 802A347C 002A03DC C8 04 00 68 */ lfd f0, 0x68(r4) /* 802A3480 002A03E0 D8 03 00 68 */ stfd f0, 0x68(r3) /* 802A3484 002A03E4 C8 04 00 70 */ lfd f0, 0x70(r4) /* 802A3488 002A03E8 D8 03 00 70 */ stfd f0, 0x70(r3) /* 802A348C 002A03EC C8 04 00 78 */ lfd f0, 0x78(r4) /* 802A3490 002A03F0 D8 03 00 78 */ stfd f0, 0x78(r3) /* 802A3494 002A03F4 C8 04 00 80 */ lfd f0, 0x80(r4) /* 802A3498 002A03F8 D8 03 00 80 */ stfd f0, 0x80(r3) /* 802A349C 002A03FC C8 04 00 88 */ lfd f0, 0x88(r4) /* 802A34A0 002A0400 D8 03 00 88 */ stfd f0, 0x88(r3) /* 802A34A4 002A0404 4E 80 00 20 */ blr .global __ct__Q220CMetroidAreaCollider8SBoxEdgeFRC6CAABoxiRC9CVector3f __ct__Q220CMetroidAreaCollider8SBoxEdgeFRC6CAABoxiRC9CVector3f: /* 802A34A8 002A0408 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 802A34AC 002A040C 7C 08 02 A6 */ mflr r0 /* 802A34B0 002A0410 90 01 00 A4 */ stw r0, 0xa4(r1) /* 802A34B4 002A0414 93 E1 00 9C */ stw r31, 0x9c(r1) /* 802A34B8 002A0418 7C DF 33 78 */ mr r31, r6 /* 802A34BC 002A041C 93 C1 00 98 */ stw r30, 0x98(r1) /* 802A34C0 002A0420 7C 7E 1B 78 */ mr r30, r3 /* 802A34C4 002A0424 38 61 00 68 */ addi r3, r1, 0x68 /* 802A34C8 002A0428 48 09 49 D9 */ bl GetEdge__6CAABoxCFQ26CAABox10EBoxEdgeId /* 802A34CC 002A042C C0 01 00 68 */ lfs f0, 0x68(r1) /* 802A34D0 002A0430 7F C4 F3 78 */ mr r4, r30 /* 802A34D4 002A0434 38 7E 00 28 */ addi r3, r30, 0x28 /* 802A34D8 002A0438 D0 1E 00 00 */ stfs f0, 0(r30) /* 802A34DC 002A043C C0 01 00 6C */ lfs f0, 0x6c(r1) /* 802A34E0 002A0440 D0 1E 00 04 */ stfs f0, 4(r30) /* 802A34E4 002A0444 C0 01 00 70 */ lfs f0, 0x70(r1) /* 802A34E8 002A0448 D0 1E 00 08 */ stfs f0, 8(r30) /* 802A34EC 002A044C C0 01 00 74 */ lfs f0, 0x74(r1) /* 802A34F0 002A0450 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 802A34F4 002A0454 C0 01 00 78 */ lfs f0, 0x78(r1) /* 802A34F8 002A0458 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 802A34FC 002A045C C0 01 00 7C */ lfs f0, 0x7c(r1) /* 802A3500 002A0460 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 802A3504 002A0464 C0 01 00 80 */ lfs f0, 0x80(r1) /* 802A3508 002A0468 D0 1E 00 18 */ stfs f0, 0x18(r30) /* 802A350C 002A046C C0 01 00 84 */ lfs f0, 0x84(r1) /* 802A3510 002A0470 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 802A3514 002A0474 C0 01 00 88 */ lfs f0, 0x88(r1) /* 802A3518 002A0478 D0 1E 00 20 */ stfs f0, 0x20(r30) /* 802A351C 002A047C 48 07 10 69 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3520 002A0480 38 7E 00 40 */ addi r3, r30, 0x40 /* 802A3524 002A0484 38 9E 00 18 */ addi r4, r30, 0x18 /* 802A3528 002A0488 48 07 10 5D */ bl __ct__9CVector3dFRC9CVector3f /* 802A352C 002A048C 38 61 00 50 */ addi r3, r1, 0x50 /* 802A3530 002A0490 38 9E 00 40 */ addi r4, r30, 0x40 /* 802A3534 002A0494 38 BE 00 28 */ addi r5, r30, 0x28 /* 802A3538 002A0498 48 07 0E 5D */ bl __mi__FRC9CVector3dRC9CVector3d /* 802A353C 002A049C C8 01 00 50 */ lfd f0, 0x50(r1) /* 802A3540 002A04A0 7F E4 FB 78 */ mr r4, r31 /* 802A3544 002A04A4 38 61 00 08 */ addi r3, r1, 8 /* 802A3548 002A04A8 D8 1E 00 58 */ stfd f0, 0x58(r30) /* 802A354C 002A04AC C8 01 00 58 */ lfd f0, 0x58(r1) /* 802A3550 002A04B0 D8 1E 00 60 */ stfd f0, 0x60(r30) /* 802A3554 002A04B4 C8 01 00 60 */ lfd f0, 0x60(r1) /* 802A3558 002A04B8 D8 1E 00 68 */ stfd f0, 0x68(r30) /* 802A355C 002A04BC 48 07 10 29 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3560 002A04C0 7C 65 1B 78 */ mr r5, r3 /* 802A3564 002A04C4 38 61 00 20 */ addi r3, r1, 0x20 /* 802A3568 002A04C8 38 9E 00 58 */ addi r4, r30, 0x58 /* 802A356C 002A04CC 48 07 0E B1 */ bl Cross__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3570 002A04D0 38 61 00 38 */ addi r3, r1, 0x38 /* 802A3574 002A04D4 38 81 00 20 */ addi r4, r1, 0x20 /* 802A3578 002A04D8 48 07 0F 45 */ bl AsNormalized__9CVector3dCFv /* 802A357C 002A04DC C8 01 00 38 */ lfd f0, 0x38(r1) /* 802A3580 002A04E0 38 7E 00 28 */ addi r3, r30, 0x28 /* 802A3584 002A04E4 38 9E 00 70 */ addi r4, r30, 0x70 /* 802A3588 002A04E8 D8 1E 00 70 */ stfd f0, 0x70(r30) /* 802A358C 002A04EC C8 01 00 40 */ lfd f0, 0x40(r1) /* 802A3590 002A04F0 D8 1E 00 78 */ stfd f0, 0x78(r30) /* 802A3594 002A04F4 C8 01 00 48 */ lfd f0, 0x48(r1) /* 802A3598 002A04F8 D8 1E 00 80 */ stfd f0, 0x80(r30) /* 802A359C 002A04FC 48 07 0E D1 */ bl Dot__9CVector3dFRC9CVector3dRC9CVector3d /* 802A35A0 002A0500 D8 3E 00 88 */ stfd f1, 0x88(r30) /* 802A35A4 002A0504 7F C3 F3 78 */ mr r3, r30 /* 802A35A8 002A0508 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 802A35AC 002A050C 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 802A35B0 002A0510 83 C1 00 98 */ lwz r30, 0x98(r1) /* 802A35B4 002A0514 7C 08 03 A6 */ mtlr r0 /* 802A35B8 002A0518 38 21 00 A0 */ addi r1, r1, 0xa0 /* 802A35BC 002A051C 4E 80 00 20 */ blr .global FlagVertexIndicesForFace__FUiPb FlagVertexIndicesForFace__FUiPb: /* 802A35C0 002A0520 2C 03 00 03 */ cmpwi r3, 3 /* 802A35C4 002A0524 41 82 00 78 */ beq lbl_802A363C /* 802A35C8 002A0528 40 80 00 1C */ bge lbl_802A35E4 /* 802A35CC 002A052C 2C 03 00 01 */ cmpwi r3, 1 /* 802A35D0 002A0530 41 82 00 3C */ beq lbl_802A360C /* 802A35D4 002A0534 40 80 00 50 */ bge lbl_802A3624 /* 802A35D8 002A0538 2C 03 00 00 */ cmpwi r3, 0 /* 802A35DC 002A053C 40 80 00 18 */ bge lbl_802A35F4 /* 802A35E0 002A0540 4E 80 00 20 */ blr lbl_802A35E4: /* 802A35E4 002A0544 2C 03 00 05 */ cmpwi r3, 5 /* 802A35E8 002A0548 41 82 00 84 */ beq lbl_802A366C /* 802A35EC 002A054C 4C 80 00 20 */ bgelr /* 802A35F0 002A0550 48 00 00 64 */ b lbl_802A3654 lbl_802A35F4: /* 802A35F4 002A0554 38 00 00 01 */ li r0, 1 /* 802A35F8 002A0558 98 04 00 01 */ stb r0, 1(r4) /* 802A35FC 002A055C 98 04 00 03 */ stb r0, 3(r4) /* 802A3600 002A0560 98 04 00 05 */ stb r0, 5(r4) /* 802A3604 002A0564 98 04 00 07 */ stb r0, 7(r4) /* 802A3608 002A0568 4E 80 00 20 */ blr lbl_802A360C: /* 802A360C 002A056C 38 00 00 01 */ li r0, 1 /* 802A3610 002A0570 98 04 00 00 */ stb r0, 0(r4) /* 802A3614 002A0574 98 04 00 02 */ stb r0, 2(r4) /* 802A3618 002A0578 98 04 00 04 */ stb r0, 4(r4) /* 802A361C 002A057C 98 04 00 06 */ stb r0, 6(r4) /* 802A3620 002A0580 4E 80 00 20 */ blr lbl_802A3624: /* 802A3624 002A0584 38 00 00 01 */ li r0, 1 /* 802A3628 002A0588 98 04 00 02 */ stb r0, 2(r4) /* 802A362C 002A058C 98 04 00 03 */ stb r0, 3(r4) /* 802A3630 002A0590 98 04 00 06 */ stb r0, 6(r4) /* 802A3634 002A0594 98 04 00 07 */ stb r0, 7(r4) /* 802A3638 002A0598 4E 80 00 20 */ blr lbl_802A363C: /* 802A363C 002A059C 38 00 00 01 */ li r0, 1 /* 802A3640 002A05A0 98 04 00 00 */ stb r0, 0(r4) /* 802A3644 002A05A4 98 04 00 01 */ stb r0, 1(r4) /* 802A3648 002A05A8 98 04 00 04 */ stb r0, 4(r4) /* 802A364C 002A05AC 98 04 00 05 */ stb r0, 5(r4) /* 802A3650 002A05B0 4E 80 00 20 */ blr lbl_802A3654: /* 802A3654 002A05B4 38 00 00 01 */ li r0, 1 /* 802A3658 002A05B8 98 04 00 04 */ stb r0, 4(r4) /* 802A365C 002A05BC 98 04 00 05 */ stb r0, 5(r4) /* 802A3660 002A05C0 98 04 00 06 */ stb r0, 6(r4) /* 802A3664 002A05C4 98 04 00 07 */ stb r0, 7(r4) /* 802A3668 002A05C8 4E 80 00 20 */ blr lbl_802A366C: /* 802A366C 002A05CC 38 00 00 01 */ li r0, 1 /* 802A3670 002A05D0 98 04 00 00 */ stb r0, 0(r4) /* 802A3674 002A05D4 98 04 00 01 */ stb r0, 1(r4) /* 802A3678 002A05D8 98 04 00 02 */ stb r0, 2(r4) /* 802A367C 002A05DC 98 04 00 03 */ stb r0, 3(r4) /* 802A3680 002A05E0 4E 80 00 20 */ blr .global FlagEdgeIndicesForFace__FUiPb FlagEdgeIndicesForFace__FUiPb: /* 802A3684 002A05E4 2C 03 00 03 */ cmpwi r3, 3 /* 802A3688 002A05E8 41 82 00 78 */ beq lbl_802A3700 /* 802A368C 002A05EC 40 80 00 1C */ bge lbl_802A36A8 /* 802A3690 002A05F0 2C 03 00 01 */ cmpwi r3, 1 /* 802A3694 002A05F4 41 82 00 3C */ beq lbl_802A36D0 /* 802A3698 002A05F8 40 80 00 50 */ bge lbl_802A36E8 /* 802A369C 002A05FC 2C 03 00 00 */ cmpwi r3, 0 /* 802A36A0 002A0600 40 80 00 18 */ bge lbl_802A36B8 /* 802A36A4 002A0604 4E 80 00 20 */ blr lbl_802A36A8: /* 802A36A8 002A0608 2C 03 00 05 */ cmpwi r3, 5 /* 802A36AC 002A060C 41 82 00 84 */ beq lbl_802A3730 /* 802A36B0 002A0610 4C 80 00 20 */ bgelr /* 802A36B4 002A0614 48 00 00 64 */ b lbl_802A3718 lbl_802A36B8: /* 802A36B8 002A0618 38 00 00 01 */ li r0, 1 /* 802A36BC 002A061C 98 04 00 0A */ stb r0, 0xa(r4) /* 802A36C0 002A0620 98 04 00 0B */ stb r0, 0xb(r4) /* 802A36C4 002A0624 98 04 00 02 */ stb r0, 2(r4) /* 802A36C8 002A0628 98 04 00 04 */ stb r0, 4(r4) /* 802A36CC 002A062C 4E 80 00 20 */ blr lbl_802A36D0: /* 802A36D0 002A0630 38 00 00 01 */ li r0, 1 /* 802A36D4 002A0634 98 04 00 08 */ stb r0, 8(r4) /* 802A36D8 002A0638 98 04 00 09 */ stb r0, 9(r4) /* 802A36DC 002A063C 98 04 00 00 */ stb r0, 0(r4) /* 802A36E0 002A0640 98 04 00 06 */ stb r0, 6(r4) /* 802A36E4 002A0644 4E 80 00 20 */ blr lbl_802A36E8: /* 802A36E8 002A0648 38 00 00 01 */ li r0, 1 /* 802A36EC 002A064C 98 04 00 04 */ stb r0, 4(r4) /* 802A36F0 002A0650 98 04 00 05 */ stb r0, 5(r4) /* 802A36F4 002A0654 98 04 00 06 */ stb r0, 6(r4) /* 802A36F8 002A0658 98 04 00 07 */ stb r0, 7(r4) /* 802A36FC 002A065C 4E 80 00 20 */ blr lbl_802A3700: /* 802A3700 002A0660 38 00 00 01 */ li r0, 1 /* 802A3704 002A0664 98 04 00 00 */ stb r0, 0(r4) /* 802A3708 002A0668 98 04 00 01 */ stb r0, 1(r4) /* 802A370C 002A066C 98 04 00 02 */ stb r0, 2(r4) /* 802A3710 002A0670 98 04 00 03 */ stb r0, 3(r4) /* 802A3714 002A0674 4E 80 00 20 */ blr lbl_802A3718: /* 802A3718 002A0678 38 00 00 01 */ li r0, 1 /* 802A371C 002A067C 98 04 00 07 */ stb r0, 7(r4) /* 802A3720 002A0680 98 04 00 08 */ stb r0, 8(r4) /* 802A3724 002A0684 98 04 00 03 */ stb r0, 3(r4) /* 802A3728 002A0688 98 04 00 0B */ stb r0, 0xb(r4) /* 802A372C 002A068C 4E 80 00 20 */ blr lbl_802A3730: /* 802A3730 002A0690 38 00 00 01 */ li r0, 1 /* 802A3734 002A0694 98 04 00 01 */ stb r0, 1(r4) /* 802A3738 002A0698 98 04 00 05 */ stb r0, 5(r4) /* 802A373C 002A069C 98 04 00 09 */ stb r0, 9(r4) /* 802A3740 002A06A0 98 04 00 0A */ stb r0, 0xa(r4) /* 802A3744 002A06A4 4E 80 00 20 */ blr .global BuildOctreeLeafCache__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC6CAABoxRQ220CMetroidAreaCollider16COctreeLeafCache BuildOctreeLeafCache__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC6CAABoxRQ220CMetroidAreaCollider16COctreeLeafCache: /* 802A3748 002A06A8 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802A374C 002A06AC 7C 08 02 A6 */ mflr r0 /* 802A3750 002A06B0 90 01 00 74 */ stw r0, 0x74(r1) /* 802A3754 002A06B4 BF 41 00 58 */ stmw r26, 0x58(r1) /* 802A3758 002A06B8 7C 7A 1B 78 */ mr r26, r3 /* 802A375C 002A06BC 7C 9B 23 78 */ mr r27, r4 /* 802A3760 002A06C0 7C BC 2B 78 */ mr r28, r5 /* 802A3764 002A06C4 3B C0 00 00 */ li r30, 0 /* 802A3768 002A06C8 3B E0 00 00 */ li r31, 0 lbl_802A376C: /* 802A376C 002A06CC 80 7A 00 18 */ lwz r3, 0x18(r26) /* 802A3770 002A06D0 A0 03 00 00 */ lhz r0, 0(r3) /* 802A3774 002A06D4 7C 00 FE 30 */ sraw r0, r0, r31 /* 802A3778 002A06D8 54 1D 07 BF */ clrlwi. r29, r0, 0x1e /* 802A377C 002A06DC 41 82 00 98 */ beq lbl_802A3814 /* 802A3780 002A06E0 7F 44 D3 78 */ mr r4, r26 /* 802A3784 002A06E4 7F C5 F3 78 */ mr r5, r30 /* 802A3788 002A06E8 38 61 00 08 */ addi r3, r1, 8 /* 802A378C 002A06EC 4B FF F5 D5 */ bl GetChild__Q212CAreaOctTree4NodeCFi /* 802A3790 002A06F0 C0 A1 00 08 */ lfs f5, 8(r1) /* 802A3794 002A06F4 7F 63 DB 78 */ mr r3, r27 /* 802A3798 002A06F8 C0 81 00 0C */ lfs f4, 0xc(r1) /* 802A379C 002A06FC 38 81 00 2C */ addi r4, r1, 0x2c /* 802A37A0 002A0700 C0 61 00 10 */ lfs f3, 0x10(r1) /* 802A37A4 002A0704 C0 41 00 14 */ lfs f2, 0x14(r1) /* 802A37A8 002A0708 C0 21 00 18 */ lfs f1, 0x18(r1) /* 802A37AC 002A070C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 802A37B0 002A0710 80 C1 00 20 */ lwz r6, 0x20(r1) /* 802A37B4 002A0714 80 A1 00 24 */ lwz r5, 0x24(r1) /* 802A37B8 002A0718 80 01 00 28 */ lwz r0, 0x28(r1) /* 802A37BC 002A071C D0 A1 00 2C */ stfs f5, 0x2c(r1) /* 802A37C0 002A0720 D0 81 00 30 */ stfs f4, 0x30(r1) /* 802A37C4 002A0724 D0 61 00 34 */ stfs f3, 0x34(r1) /* 802A37C8 002A0728 D0 41 00 38 */ stfs f2, 0x38(r1) /* 802A37CC 002A072C D0 21 00 3C */ stfs f1, 0x3c(r1) /* 802A37D0 002A0730 D0 01 00 40 */ stfs f0, 0x40(r1) /* 802A37D4 002A0734 90 C1 00 44 */ stw r6, 0x44(r1) /* 802A37D8 002A0738 90 A1 00 48 */ stw r5, 0x48(r1) /* 802A37DC 002A073C 90 01 00 4C */ stw r0, 0x4c(r1) /* 802A37E0 002A0740 48 09 43 A5 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A37E4 002A0744 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A37E8 002A0748 41 82 00 2C */ beq lbl_802A3814 /* 802A37EC 002A074C 2C 1D 00 02 */ cmpwi r29, 2 /* 802A37F0 002A0750 40 82 00 14 */ bne lbl_802A3804 /* 802A37F4 002A0754 7F 83 E3 78 */ mr r3, r28 /* 802A37F8 002A0758 38 81 00 2C */ addi r4, r1, 0x2c /* 802A37FC 002A075C 48 00 02 E9 */ bl AddLeaf__Q220CMetroidAreaCollider16COctreeLeafCacheFRCQ212CAreaOctTree4Node /* 802A3800 002A0760 48 00 00 14 */ b lbl_802A3814 lbl_802A3804: /* 802A3804 002A0764 7F 64 DB 78 */ mr r4, r27 /* 802A3808 002A0768 7F 85 E3 78 */ mr r5, r28 /* 802A380C 002A076C 38 61 00 2C */ addi r3, r1, 0x2c /* 802A3810 002A0770 4B FF FF 39 */ bl BuildOctreeLeafCache__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC6CAABoxRQ220CMetroidAreaCollider16COctreeLeafCache lbl_802A3814: /* 802A3814 002A0774 3B DE 00 01 */ addi r30, r30, 1 /* 802A3818 002A0778 3B FF 00 02 */ addi r31, r31, 2 /* 802A381C 002A077C 2C 1E 00 08 */ cmpwi r30, 8 /* 802A3820 002A0780 41 80 FF 4C */ blt lbl_802A376C /* 802A3824 002A0784 BB 41 00 58 */ lmw r26, 0x58(r1) /* 802A3828 002A0788 80 01 00 74 */ lwz r0, 0x74(r1) /* 802A382C 002A078C 7C 08 03 A6 */ mtlr r0 /* 802A3830 002A0790 38 21 00 70 */ addi r1, r1, 0x70 /* 802A3834 002A0794 4E 80 00 20 */ blr .global ClearCache__19CAreaCollisionCacheFv ClearCache__19CAreaCollisionCacheFv: /* 802A3838 002A0798 38 E3 00 1C */ addi r7, r3, 0x1c /* 802A383C 002A079C 38 80 00 00 */ li r4, 0 /* 802A3840 002A07A0 48 00 00 74 */ b lbl_802A38B4 lbl_802A3844: /* 802A3844 002A07A4 28 07 00 00 */ cmplwi r7, 0 /* 802A3848 002A07A8 41 82 00 64 */ beq lbl_802A38AC /* 802A384C 002A07AC 34 07 00 04 */ addic. r0, r7, 4 /* 802A3850 002A07B0 41 82 00 5C */ beq lbl_802A38AC /* 802A3854 002A07B4 81 07 00 04 */ lwz r8, 4(r7) /* 802A3858 002A07B8 38 A0 00 00 */ li r5, 0 /* 802A385C 002A07BC 2C 08 00 00 */ cmpwi r8, 0 /* 802A3860 002A07C0 40 81 00 44 */ ble lbl_802A38A4 /* 802A3864 002A07C4 2C 08 00 08 */ cmpwi r8, 8 /* 802A3868 002A07C8 38 C8 FF F8 */ addi r6, r8, -8 /* 802A386C 002A07CC 40 81 00 20 */ ble lbl_802A388C /* 802A3870 002A07D0 38 06 00 07 */ addi r0, r6, 7 /* 802A3874 002A07D4 54 00 E8 FE */ srwi r0, r0, 3 /* 802A3878 002A07D8 7C 09 03 A6 */ mtctr r0 /* 802A387C 002A07DC 2C 06 00 00 */ cmpwi r6, 0 /* 802A3880 002A07E0 40 81 00 0C */ ble lbl_802A388C lbl_802A3884: /* 802A3884 002A07E4 38 A5 00 08 */ addi r5, r5, 8 /* 802A3888 002A07E8 42 00 FF FC */ bdnz lbl_802A3884 lbl_802A388C: /* 802A388C 002A07EC 7C 05 40 50 */ subf r0, r5, r8 /* 802A3890 002A07F0 7C 09 03 A6 */ mtctr r0 /* 802A3894 002A07F4 7C 05 40 00 */ cmpw r5, r8 /* 802A3898 002A07F8 40 80 00 0C */ bge lbl_802A38A4 lbl_802A389C: /* 802A389C 002A07FC 38 A5 00 01 */ addi r5, r5, 1 /* 802A38A0 002A0800 42 00 FF FC */ bdnz lbl_802A389C lbl_802A38A4: /* 802A38A4 002A0804 38 00 00 00 */ li r0, 0 /* 802A38A8 002A0808 90 07 00 04 */ stw r0, 4(r7) lbl_802A38AC: /* 802A38AC 002A080C 38 E7 09 0C */ addi r7, r7, 0x90c /* 802A38B0 002A0810 38 84 00 01 */ addi r4, r4, 1 lbl_802A38B4: /* 802A38B4 002A0814 80 03 00 18 */ lwz r0, 0x18(r3) /* 802A38B8 002A0818 7C 04 00 00 */ cmpw r4, r0 /* 802A38BC 002A081C 41 80 FF 88 */ blt lbl_802A3844 /* 802A38C0 002A0820 38 80 00 00 */ li r4, 0 /* 802A38C4 002A0824 90 83 00 18 */ stw r4, 0x18(r3) /* 802A38C8 002A0828 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A38CC 002A082C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 802A38D0 002A0830 98 03 1B 40 */ stb r0, 0x1b40(r3) /* 802A38D4 002A0834 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A38D8 002A0838 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 802A38DC 002A083C 98 03 1B 40 */ stb r0, 0x1b40(r3) /* 802A38E0 002A0840 4E 80 00 20 */ blr .global SetCacheBounds__19CAreaCollisionCacheFRC6CAABox SetCacheBounds__19CAreaCollisionCacheFRC6CAABox: /* 802A38E4 002A0844 80 A4 00 00 */ lwz r5, 0(r4) /* 802A38E8 002A0848 80 04 00 04 */ lwz r0, 4(r4) /* 802A38EC 002A084C 90 A3 00 00 */ stw r5, 0(r3) /* 802A38F0 002A0850 90 03 00 04 */ stw r0, 4(r3) /* 802A38F4 002A0854 80 04 00 08 */ lwz r0, 8(r4) /* 802A38F8 002A0858 90 03 00 08 */ stw r0, 8(r3) /* 802A38FC 002A085C 80 A4 00 0C */ lwz r5, 0xc(r4) /* 802A3900 002A0860 80 04 00 10 */ lwz r0, 0x10(r4) /* 802A3904 002A0864 90 A3 00 0C */ stw r5, 0xc(r3) /* 802A3908 002A0868 90 03 00 10 */ stw r0, 0x10(r3) /* 802A390C 002A086C 80 04 00 14 */ lwz r0, 0x14(r4) /* 802A3910 002A0870 90 03 00 14 */ stw r0, 0x14(r3) /* 802A3914 002A0874 4E 80 00 20 */ blr .global AddOctreeLeafCache__19CAreaCollisionCacheFRCQ220CMetroidAreaCollider16COctreeLeafCache AddOctreeLeafCache__19CAreaCollisionCacheFRCQ220CMetroidAreaCollider16COctreeLeafCache: /* 802A3918 002A0878 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A391C 002A087C 7C 08 02 A6 */ mflr r0 /* 802A3920 002A0880 90 01 00 14 */ stw r0, 0x14(r1) /* 802A3924 002A0884 80 04 00 04 */ lwz r0, 4(r4) /* 802A3928 002A0888 2C 00 00 00 */ cmpwi r0, 0 /* 802A392C 002A088C 41 82 00 54 */ beq lbl_802A3980 /* 802A3930 002A0890 88 04 09 08 */ lbz r0, 0x908(r4) /* 802A3934 002A0894 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 802A3938 002A0898 41 82 00 14 */ beq lbl_802A394C /* 802A393C 002A089C 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A3940 002A08A0 38 A0 00 01 */ li r5, 1 /* 802A3944 002A08A4 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 802A3948 002A08A8 98 03 1B 40 */ stb r0, 0x1b40(r3) lbl_802A394C: /* 802A394C 002A08AC 80 03 00 18 */ lwz r0, 0x18(r3) /* 802A3950 002A08B0 2C 00 00 03 */ cmpwi r0, 3 /* 802A3954 002A08B4 40 80 00 10 */ bge lbl_802A3964 /* 802A3958 002A08B8 38 63 00 18 */ addi r3, r3, 0x18 /* 802A395C 002A08BC 48 00 00 35 */ bl sub_802a3990 /* 802A3960 002A08C0 48 00 00 20 */ b lbl_802A3980 lbl_802A3964: /* 802A3964 002A08C4 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A3968 002A08C8 38 80 00 01 */ li r4, 1 /* 802A396C 002A08CC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 802A3970 002A08D0 98 03 1B 40 */ stb r0, 0x1b40(r3) /* 802A3974 002A08D4 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A3978 002A08D8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 802A397C 002A08DC 98 03 1B 40 */ stb r0, 0x1b40(r3) lbl_802A3980: /* 802A3980 002A08E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A3984 002A08E4 7C 08 03 A6 */ mtlr r0 /* 802A3988 002A08E8 38 21 00 10 */ addi r1, r1, 0x10 /* 802A398C 002A08EC 4E 80 00 20 */ blr .global sub_802a3990 sub_802a3990: /* 802A3990 002A08F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A3994 002A08F4 7C 08 02 A6 */ mflr r0 /* 802A3998 002A08F8 90 01 00 14 */ stw r0, 0x14(r1) /* 802A399C 002A08FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802A39A0 002A0900 7C 7F 1B 78 */ mr r31, r3 /* 802A39A4 002A0904 80 03 00 00 */ lwz r0, 0(r3) /* 802A39A8 002A0908 1C 00 09 0C */ mulli r0, r0, 0x90c /* 802A39AC 002A090C 7C 7F 02 14 */ add r3, r31, r0 /* 802A39B0 002A0910 38 63 00 04 */ addi r3, r3, 4 /* 802A39B4 002A0914 48 00 00 25 */ bl sub_802a39d8 /* 802A39B8 002A0918 80 7F 00 00 */ lwz r3, 0(r31) /* 802A39BC 002A091C 38 03 00 01 */ addi r0, r3, 1 /* 802A39C0 002A0920 90 1F 00 00 */ stw r0, 0(r31) /* 802A39C4 002A0924 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802A39C8 002A0928 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A39CC 002A092C 7C 08 03 A6 */ mtlr r0 /* 802A39D0 002A0930 38 21 00 10 */ addi r1, r1, 0x10 /* 802A39D4 002A0934 4E 80 00 20 */ blr .global sub_802a39d8 sub_802a39d8: /* 802A39D8 002A0938 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A39DC 002A093C 7C 08 02 A6 */ mflr r0 /* 802A39E0 002A0940 28 03 00 00 */ cmplwi r3, 0 /* 802A39E4 002A0944 90 01 00 14 */ stw r0, 0x14(r1) /* 802A39E8 002A0948 41 82 00 08 */ beq lbl_802A39F0 /* 802A39EC 002A094C 48 00 00 15 */ bl sub_802a3a00 lbl_802A39F0: /* 802A39F0 002A0950 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A39F4 002A0954 7C 08 03 A6 */ mtlr r0 /* 802A39F8 002A0958 38 21 00 10 */ addi r1, r1, 0x10 /* 802A39FC 002A095C 4E 80 00 20 */ blr .global sub_802a3a00 sub_802a3a00: /* 802A3A00 002A0960 80 04 00 00 */ lwz r0, 0(r4) /* 802A3A04 002A0964 38 C4 00 08 */ addi r6, r4, 8 /* 802A3A08 002A0968 38 A3 00 08 */ addi r5, r3, 8 /* 802A3A0C 002A096C 90 03 00 00 */ stw r0, 0(r3) /* 802A3A10 002A0970 80 04 00 04 */ lwz r0, 4(r4) /* 802A3A14 002A0974 90 03 00 04 */ stw r0, 4(r3) /* 802A3A18 002A0978 80 03 00 04 */ lwz r0, 4(r3) /* 802A3A1C 002A097C 7C 09 03 A6 */ mtctr r0 /* 802A3A20 002A0980 2C 00 00 00 */ cmpwi r0, 0 /* 802A3A24 002A0984 40 81 00 60 */ ble lbl_802A3A84 lbl_802A3A28: /* 802A3A28 002A0988 28 05 00 00 */ cmplwi r5, 0 /* 802A3A2C 002A098C 41 82 00 4C */ beq lbl_802A3A78 /* 802A3A30 002A0990 C0 06 00 00 */ lfs f0, 0(r6) /* 802A3A34 002A0994 D0 05 00 00 */ stfs f0, 0(r5) /* 802A3A38 002A0998 C0 06 00 04 */ lfs f0, 4(r6) /* 802A3A3C 002A099C D0 05 00 04 */ stfs f0, 4(r5) /* 802A3A40 002A09A0 C0 06 00 08 */ lfs f0, 8(r6) /* 802A3A44 002A09A4 D0 05 00 08 */ stfs f0, 8(r5) /* 802A3A48 002A09A8 C0 06 00 0C */ lfs f0, 0xc(r6) /* 802A3A4C 002A09AC D0 05 00 0C */ stfs f0, 0xc(r5) /* 802A3A50 002A09B0 C0 06 00 10 */ lfs f0, 0x10(r6) /* 802A3A54 002A09B4 D0 05 00 10 */ stfs f0, 0x10(r5) /* 802A3A58 002A09B8 C0 06 00 14 */ lfs f0, 0x14(r6) /* 802A3A5C 002A09BC D0 05 00 14 */ stfs f0, 0x14(r5) /* 802A3A60 002A09C0 80 06 00 18 */ lwz r0, 0x18(r6) /* 802A3A64 002A09C4 90 05 00 18 */ stw r0, 0x18(r5) /* 802A3A68 002A09C8 80 06 00 1C */ lwz r0, 0x1c(r6) /* 802A3A6C 002A09CC 90 05 00 1C */ stw r0, 0x1c(r5) /* 802A3A70 002A09D0 80 06 00 20 */ lwz r0, 0x20(r6) /* 802A3A74 002A09D4 90 05 00 20 */ stw r0, 0x20(r5) lbl_802A3A78: /* 802A3A78 002A09D8 38 A5 00 24 */ addi r5, r5, 0x24 /* 802A3A7C 002A09DC 38 C6 00 24 */ addi r6, r6, 0x24 /* 802A3A80 002A09E0 42 00 FF A8 */ bdnz lbl_802A3A28 lbl_802A3A84: /* 802A3A84 002A09E4 88 04 09 08 */ lbz r0, 0x908(r4) /* 802A3A88 002A09E8 98 03 09 08 */ stb r0, 0x908(r3) /* 802A3A8C 002A09EC 4E 80 00 20 */ blr .global __ct__19CAreaCollisionCacheFRC6CAABox __ct__19CAreaCollisionCacheFRC6CAABox: /* 802A3A90 002A09F0 C0 04 00 00 */ lfs f0, 0(r4) /* 802A3A94 002A09F4 38 A0 00 00 */ li r5, 0 /* 802A3A98 002A09F8 D0 03 00 00 */ stfs f0, 0(r3) /* 802A3A9C 002A09FC C0 04 00 04 */ lfs f0, 4(r4) /* 802A3AA0 002A0A00 D0 03 00 04 */ stfs f0, 4(r3) /* 802A3AA4 002A0A04 C0 04 00 08 */ lfs f0, 8(r4) /* 802A3AA8 002A0A08 D0 03 00 08 */ stfs f0, 8(r3) /* 802A3AAC 002A0A0C C0 04 00 0C */ lfs f0, 0xc(r4) /* 802A3AB0 002A0A10 D0 03 00 0C */ stfs f0, 0xc(r3) /* 802A3AB4 002A0A14 C0 04 00 10 */ lfs f0, 0x10(r4) /* 802A3AB8 002A0A18 D0 03 00 10 */ stfs f0, 0x10(r3) /* 802A3ABC 002A0A1C C0 04 00 14 */ lfs f0, 0x14(r4) /* 802A3AC0 002A0A20 D0 03 00 14 */ stfs f0, 0x14(r3) /* 802A3AC4 002A0A24 90 A3 00 18 */ stw r5, 0x18(r3) /* 802A3AC8 002A0A28 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A3ACC 002A0A2C 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 802A3AD0 002A0A30 98 03 1B 40 */ stb r0, 0x1b40(r3) /* 802A3AD4 002A0A34 88 03 1B 40 */ lbz r0, 0x1b40(r3) /* 802A3AD8 002A0A38 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 802A3ADC 002A0A3C 98 03 1B 40 */ stb r0, 0x1b40(r3) /* 802A3AE0 002A0A40 4E 80 00 20 */ blr .global AddLeaf__Q220CMetroidAreaCollider16COctreeLeafCacheFRCQ212CAreaOctTree4Node AddLeaf__Q220CMetroidAreaCollider16COctreeLeafCacheFRCQ212CAreaOctTree4Node: /* 802A3AE4 002A0A44 80 03 00 04 */ lwz r0, 4(r3) /* 802A3AE8 002A0A48 2C 00 00 40 */ cmpwi r0, 0x40 /* 802A3AEC 002A0A4C 40 82 00 18 */ bne lbl_802A3B04 /* 802A3AF0 002A0A50 88 03 09 08 */ lbz r0, 0x908(r3) /* 802A3AF4 002A0A54 38 80 00 01 */ li r4, 1 /* 802A3AF8 002A0A58 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 802A3AFC 002A0A5C 98 03 09 08 */ stb r0, 0x908(r3) /* 802A3B00 002A0A60 4E 80 00 20 */ blr lbl_802A3B04: /* 802A3B04 002A0A64 1C 00 00 24 */ mulli r0, r0, 0x24 /* 802A3B08 002A0A68 7C A3 02 14 */ add r5, r3, r0 /* 802A3B0C 002A0A6C 34 A5 00 08 */ addic. r5, r5, 8 /* 802A3B10 002A0A70 41 82 00 4C */ beq lbl_802A3B5C /* 802A3B14 002A0A74 C0 04 00 00 */ lfs f0, 0(r4) /* 802A3B18 002A0A78 D0 05 00 00 */ stfs f0, 0(r5) /* 802A3B1C 002A0A7C C0 04 00 04 */ lfs f0, 4(r4) /* 802A3B20 002A0A80 D0 05 00 04 */ stfs f0, 4(r5) /* 802A3B24 002A0A84 C0 04 00 08 */ lfs f0, 8(r4) /* 802A3B28 002A0A88 D0 05 00 08 */ stfs f0, 8(r5) /* 802A3B2C 002A0A8C C0 04 00 0C */ lfs f0, 0xc(r4) /* 802A3B30 002A0A90 D0 05 00 0C */ stfs f0, 0xc(r5) /* 802A3B34 002A0A94 C0 04 00 10 */ lfs f0, 0x10(r4) /* 802A3B38 002A0A98 D0 05 00 10 */ stfs f0, 0x10(r5) /* 802A3B3C 002A0A9C C0 04 00 14 */ lfs f0, 0x14(r4) /* 802A3B40 002A0AA0 D0 05 00 14 */ stfs f0, 0x14(r5) /* 802A3B44 002A0AA4 80 04 00 18 */ lwz r0, 0x18(r4) /* 802A3B48 002A0AA8 90 05 00 18 */ stw r0, 0x18(r5) /* 802A3B4C 002A0AAC 80 04 00 1C */ lwz r0, 0x1c(r4) /* 802A3B50 002A0AB0 90 05 00 1C */ stw r0, 0x1c(r5) /* 802A3B54 002A0AB4 80 04 00 20 */ lwz r0, 0x20(r4) /* 802A3B58 002A0AB8 90 05 00 20 */ stw r0, 0x20(r5) lbl_802A3B5C: /* 802A3B5C 002A0ABC 80 83 00 04 */ lwz r4, 4(r3) /* 802A3B60 002A0AC0 38 04 00 01 */ addi r0, r4, 1 /* 802A3B64 002A0AC4 90 03 00 04 */ stw r0, 4(r3) /* 802A3B68 002A0AC8 4E 80 00 20 */ blr .global __ct__Q220CMetroidAreaCollider16COctreeLeafCacheFRC12CAreaOctTree __ct__Q220CMetroidAreaCollider16COctreeLeafCacheFRC12CAreaOctTree: /* 802A3B6C 002A0ACC 90 83 00 00 */ stw r4, 0(r3) /* 802A3B70 002A0AD0 38 A0 00 00 */ li r5, 0 /* 802A3B74 002A0AD4 90 A3 00 04 */ stw r5, 4(r3) /* 802A3B78 002A0AD8 88 03 09 08 */ lbz r0, 0x908(r3) /* 802A3B7C 002A0ADC 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 802A3B80 002A0AE0 98 03 09 08 */ stb r0, 0x908(r3) /* 802A3B84 002A0AE4 4E 80 00 20 */ blr .global "MovingAABoxCollisionCheck_Edge__20CMetroidAreaColliderFRC9CVector3fRC9CVector3fRCQ24rstl53reserved_vector9CVector3fRdR9CVector3fR9CVector3f" "MovingAABoxCollisionCheck_Edge__20CMetroidAreaColliderFRC9CVector3fRC9CVector3fRCQ24rstl53reserved_vector9CVector3fRdR9CVector3fR9CVector3f": /* 802A3B88 002A0AE8 94 21 FD C0 */ stwu r1, -0x240(r1) /* 802A3B8C 002A0AEC 7C 08 02 A6 */ mflr r0 /* 802A3B90 002A0AF0 90 01 02 44 */ stw r0, 0x244(r1) /* 802A3B94 002A0AF4 DB E1 02 30 */ stfd f31, 0x230(r1) /* 802A3B98 002A0AF8 F3 E1 02 38 */ psq_st f31, 568(r1), 0, qr0 /* 802A3B9C 002A0AFC BE A1 02 04 */ stmw r21, 0x204(r1) /* 802A3BA0 002A0B00 7C B8 2B 78 */ mr r24, r5 /* 802A3BA4 002A0B04 7C 76 1B 78 */ mr r22, r3 /* 802A3BA8 002A0B08 7C 97 23 78 */ mr r23, r4 /* 802A3BAC 002A0B0C 7C D9 33 78 */ mr r25, r6 /* 802A3BB0 002A0B10 7C FA 3B 78 */ mr r26, r7 /* 802A3BB4 002A0B14 7D 1B 43 78 */ mr r27, r8 /* 802A3BB8 002A0B18 7D 3C 4B 78 */ mr r28, r9 /* 802A3BBC 002A0B1C 3B F8 00 04 */ addi r31, r24, 4 /* 802A3BC0 002A0B20 3B C0 00 00 */ li r30, 0 /* 802A3BC4 002A0B24 3B A0 00 00 */ li r29, 0 /* 802A3BC8 002A0B28 48 00 04 00 */ b lbl_802A3FC8 lbl_802A3BCC: /* 802A3BCC 002A0B2C 7E C4 B3 78 */ mr r4, r22 /* 802A3BD0 002A0B30 38 61 01 E8 */ addi r3, r1, 0x1e8 /* 802A3BD4 002A0B34 48 07 09 B1 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3BD8 002A0B38 7E E4 BB 78 */ mr r4, r23 /* 802A3BDC 002A0B3C 38 61 01 D0 */ addi r3, r1, 0x1d0 /* 802A3BE0 002A0B40 48 07 09 A5 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3BE4 002A0B44 38 7F 00 70 */ addi r3, r31, 0x70 /* 802A3BE8 002A0B48 38 81 01 D0 */ addi r4, r1, 0x1d0 /* 802A3BEC 002A0B4C 48 07 08 81 */ bl Dot__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3BF0 002A0B50 C8 1F 00 88 */ lfd f0, 0x88(r31) /* 802A3BF4 002A0B54 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A3BF8 002A0B58 4C 41 13 82 */ cror 2, 1, 2 /* 802A3BFC 002A0B5C 7C 00 00 26 */ mfcr r0 /* 802A3C00 002A0B60 38 7F 00 70 */ addi r3, r31, 0x70 /* 802A3C04 002A0B64 54 15 1F FE */ rlwinm r21, r0, 3, 0x1f, 0x1f /* 802A3C08 002A0B68 38 81 01 E8 */ addi r4, r1, 0x1e8 /* 802A3C0C 002A0B6C 48 07 08 61 */ bl Dot__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3C10 002A0B70 C8 1F 00 88 */ lfd f0, 0x88(r31) /* 802A3C14 002A0B74 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A3C18 002A0B78 4C 41 13 82 */ cror 2, 1, 2 /* 802A3C1C 002A0B7C 7C 00 00 26 */ mfcr r0 /* 802A3C20 002A0B80 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f /* 802A3C24 002A0B84 7C 00 A8 40 */ cmplw r0, r21 /* 802A3C28 002A0B88 41 82 03 98 */ beq lbl_802A3FC0 /* 802A3C2C 002A0B8C 38 61 01 58 */ addi r3, r1, 0x158 /* 802A3C30 002A0B90 38 81 01 E8 */ addi r4, r1, 0x1e8 /* 802A3C34 002A0B94 38 A1 01 D0 */ addi r5, r1, 0x1d0 /* 802A3C38 002A0B98 48 07 07 5D */ bl __mi__FRC9CVector3dRC9CVector3d /* 802A3C3C 002A0B9C C8 41 01 58 */ lfd f2, 0x158(r1) /* 802A3C40 002A0BA0 38 61 01 40 */ addi r3, r1, 0x140 /* 802A3C44 002A0BA4 C8 21 01 60 */ lfd f1, 0x160(r1) /* 802A3C48 002A0BA8 38 9F 00 58 */ addi r4, r31, 0x58 /* 802A3C4C 002A0BAC C8 01 01 68 */ lfd f0, 0x168(r1) /* 802A3C50 002A0BB0 38 A1 01 B8 */ addi r5, r1, 0x1b8 /* 802A3C54 002A0BB4 D8 41 01 B8 */ stfd f2, 0x1b8(r1) /* 802A3C58 002A0BB8 D8 21 01 C0 */ stfd f1, 0x1c0(r1) /* 802A3C5C 002A0BBC D8 01 01 C8 */ stfd f0, 0x1c8(r1) /* 802A3C60 002A0BC0 48 07 07 BD */ bl Cross__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3C64 002A0BC4 C8 41 01 40 */ lfd f2, 0x140(r1) /* 802A3C68 002A0BC8 38 61 01 A0 */ addi r3, r1, 0x1a0 /* 802A3C6C 002A0BCC C8 21 01 48 */ lfd f1, 0x148(r1) /* 802A3C70 002A0BD0 C8 01 01 50 */ lfd f0, 0x150(r1) /* 802A3C74 002A0BD4 D8 41 01 A0 */ stfd f2, 0x1a0(r1) /* 802A3C78 002A0BD8 D8 21 01 A8 */ stfd f1, 0x1a8(r1) /* 802A3C7C 002A0BDC D8 01 01 B0 */ stfd f0, 0x1b0(r1) /* 802A3C80 002A0BE0 48 07 08 A1 */ bl MagSquared__9CVector3dCFv /* 802A3C84 002A0BE4 C8 02 C1 50 */ lfd f0, lbl_805ADE70@sda21(r2) /* 802A3C88 002A0BE8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A3C8C 002A0BEC 41 80 03 34 */ blt lbl_802A3FC0 /* 802A3C90 002A0BF0 38 61 01 28 */ addi r3, r1, 0x128 /* 802A3C94 002A0BF4 38 81 01 A0 */ addi r4, r1, 0x1a0 /* 802A3C98 002A0BF8 48 07 08 25 */ bl AsNormalized__9CVector3dCFv /* 802A3C9C 002A0BFC C8 41 01 28 */ lfd f2, 0x128(r1) /* 802A3CA0 002A0C00 7F 24 CB 78 */ mr r4, r25 /* 802A3CA4 002A0C04 C8 21 01 30 */ lfd f1, 0x130(r1) /* 802A3CA8 002A0C08 38 61 01 10 */ addi r3, r1, 0x110 /* 802A3CAC 002A0C0C C8 01 01 38 */ lfd f0, 0x138(r1) /* 802A3CB0 002A0C10 D8 41 01 88 */ stfd f2, 0x188(r1) /* 802A3CB4 002A0C14 D8 21 01 90 */ stfd f1, 0x190(r1) /* 802A3CB8 002A0C18 D8 01 01 98 */ stfd f0, 0x198(r1) /* 802A3CBC 002A0C1C 48 07 08 C9 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3CC0 002A0C20 7C 64 1B 78 */ mr r4, r3 /* 802A3CC4 002A0C24 38 61 01 88 */ addi r3, r1, 0x188 /* 802A3CC8 002A0C28 48 07 07 A5 */ bl Dot__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3CCC 002A0C2C C8 02 C1 58 */ lfd f0, lbl_805ADE78@sda21(r2) /* 802A3CD0 002A0C30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A3CD4 002A0C34 4C 41 13 82 */ cror 2, 1, 2 /* 802A3CD8 002A0C38 40 82 00 C0 */ bne lbl_802A3D98 /* 802A3CDC 002A0C3C 7E C4 B3 78 */ mr r4, r22 /* 802A3CE0 002A0C40 38 61 00 F8 */ addi r3, r1, 0xf8 /* 802A3CE4 002A0C44 48 07 08 A1 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3CE8 002A0C48 C8 41 00 F8 */ lfd f2, 0xf8(r1) /* 802A3CEC 002A0C4C 7E E4 BB 78 */ mr r4, r23 /* 802A3CF0 002A0C50 C8 21 01 00 */ lfd f1, 0x100(r1) /* 802A3CF4 002A0C54 38 61 00 E0 */ addi r3, r1, 0xe0 /* 802A3CF8 002A0C58 C8 01 01 08 */ lfd f0, 0x108(r1) /* 802A3CFC 002A0C5C D8 41 01 D0 */ stfd f2, 0x1d0(r1) /* 802A3D00 002A0C60 D8 21 01 D8 */ stfd f1, 0x1d8(r1) /* 802A3D04 002A0C64 D8 01 01 E0 */ stfd f0, 0x1e0(r1) /* 802A3D08 002A0C68 48 07 08 7D */ bl __ct__9CVector3dFRC9CVector3f /* 802A3D0C 002A0C6C C8 41 00 E0 */ lfd f2, 0xe0(r1) /* 802A3D10 002A0C70 38 61 00 C8 */ addi r3, r1, 0xc8 /* 802A3D14 002A0C74 C8 21 00 E8 */ lfd f1, 0xe8(r1) /* 802A3D18 002A0C78 38 81 01 E8 */ addi r4, r1, 0x1e8 /* 802A3D1C 002A0C7C C8 01 00 F0 */ lfd f0, 0xf0(r1) /* 802A3D20 002A0C80 38 A1 01 D0 */ addi r5, r1, 0x1d0 /* 802A3D24 002A0C84 D8 41 01 E8 */ stfd f2, 0x1e8(r1) /* 802A3D28 002A0C88 D8 21 01 F0 */ stfd f1, 0x1f0(r1) /* 802A3D2C 002A0C8C D8 01 01 F8 */ stfd f0, 0x1f8(r1) /* 802A3D30 002A0C90 48 07 06 65 */ bl __mi__FRC9CVector3dRC9CVector3d /* 802A3D34 002A0C94 C8 41 00 C8 */ lfd f2, 0xc8(r1) /* 802A3D38 002A0C98 38 61 00 B0 */ addi r3, r1, 0xb0 /* 802A3D3C 002A0C9C C8 21 00 D0 */ lfd f1, 0xd0(r1) /* 802A3D40 002A0CA0 38 9F 00 58 */ addi r4, r31, 0x58 /* 802A3D44 002A0CA4 C8 01 00 D8 */ lfd f0, 0xd8(r1) /* 802A3D48 002A0CA8 38 A1 01 B8 */ addi r5, r1, 0x1b8 /* 802A3D4C 002A0CAC D8 41 01 B8 */ stfd f2, 0x1b8(r1) /* 802A3D50 002A0CB0 D8 21 01 C0 */ stfd f1, 0x1c0(r1) /* 802A3D54 002A0CB4 D8 01 01 C8 */ stfd f0, 0x1c8(r1) /* 802A3D58 002A0CB8 48 07 06 C5 */ bl Cross__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3D5C 002A0CBC C8 41 00 B0 */ lfd f2, 0xb0(r1) /* 802A3D60 002A0CC0 38 61 00 98 */ addi r3, r1, 0x98 /* 802A3D64 002A0CC4 C8 21 00 B8 */ lfd f1, 0xb8(r1) /* 802A3D68 002A0CC8 38 81 01 A0 */ addi r4, r1, 0x1a0 /* 802A3D6C 002A0CCC C8 01 00 C0 */ lfd f0, 0xc0(r1) /* 802A3D70 002A0CD0 D8 41 01 A0 */ stfd f2, 0x1a0(r1) /* 802A3D74 002A0CD4 D8 21 01 A8 */ stfd f1, 0x1a8(r1) /* 802A3D78 002A0CD8 D8 01 01 B0 */ stfd f0, 0x1b0(r1) /* 802A3D7C 002A0CDC 48 07 07 41 */ bl AsNormalized__9CVector3dCFv /* 802A3D80 002A0CE0 C8 41 00 98 */ lfd f2, 0x98(r1) /* 802A3D84 002A0CE4 C8 21 00 A0 */ lfd f1, 0xa0(r1) /* 802A3D88 002A0CE8 C8 01 00 A8 */ lfd f0, 0xa8(r1) /* 802A3D8C 002A0CEC D8 41 01 88 */ stfd f2, 0x188(r1) /* 802A3D90 002A0CF0 D8 21 01 90 */ stfd f1, 0x190(r1) /* 802A3D94 002A0CF4 D8 01 01 98 */ stfd f0, 0x198(r1) lbl_802A3D98: /* 802A3D98 002A0CF8 38 61 01 B8 */ addi r3, r1, 0x1b8 /* 802A3D9C 002A0CFC 38 9F 00 70 */ addi r4, r31, 0x70 /* 802A3DA0 002A0D00 48 07 06 CD */ bl Dot__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3DA4 002A0D04 FF E0 08 90 */ fmr f31, f1 /* 802A3DA8 002A0D08 38 61 01 E8 */ addi r3, r1, 0x1e8 /* 802A3DAC 002A0D0C 38 9F 00 70 */ addi r4, r31, 0x70 /* 802A3DB0 002A0D10 48 07 06 BD */ bl Dot__9CVector3dFRC9CVector3dRC9CVector3d /* 802A3DB4 002A0D14 C8 1F 00 88 */ lfd f0, 0x88(r31) /* 802A3DB8 002A0D18 38 61 00 68 */ addi r3, r1, 0x68 /* 802A3DBC 002A0D1C 38 81 01 B8 */ addi r4, r1, 0x1b8 /* 802A3DC0 002A0D20 FC 01 00 28 */ fsub f0, f1, f0 /* 802A3DC4 002A0D24 FC 00 00 50 */ fneg f0, f0 /* 802A3DC8 002A0D28 FC 20 F8 24 */ fdiv f1, f0, f31 /* 802A3DCC 002A0D2C 48 07 05 8D */ bl __ml__FdRC9CVector3d /* 802A3DD0 002A0D30 38 61 00 80 */ addi r3, r1, 0x80 /* 802A3DD4 002A0D34 38 81 01 E8 */ addi r4, r1, 0x1e8 /* 802A3DD8 002A0D38 38 A1 00 68 */ addi r5, r1, 0x68 /* 802A3DDC 002A0D3C 48 07 05 FD */ bl __pl__FRC9CVector3dRC9CVector3d /* 802A3DE0 002A0D40 C8 3F 00 78 */ lfd f1, 0x78(r31) /* 802A3DE4 002A0D44 C8 1F 00 70 */ lfd f0, 0x70(r31) /* 802A3DE8 002A0D48 FC 60 0A 10 */ fabs f3, f1 /* 802A3DEC 002A0D4C C8 41 00 80 */ lfd f2, 0x80(r1) /* 802A3DF0 002A0D50 FC 80 02 10 */ fabs f4, f0 /* 802A3DF4 002A0D54 C8 21 00 88 */ lfd f1, 0x88(r1) /* 802A3DF8 002A0D58 C8 01 00 90 */ lfd f0, 0x90(r1) /* 802A3DFC 002A0D5C D8 41 01 70 */ stfd f2, 0x170(r1) /* 802A3E00 002A0D60 FC 04 18 40 */ fcmpo cr0, f4, f3 /* 802A3E04 002A0D64 D8 21 01 78 */ stfd f1, 0x178(r1) /* 802A3E08 002A0D68 D8 01 01 80 */ stfd f0, 0x180(r1) /* 802A3E0C 002A0D6C 40 81 00 0C */ ble lbl_802A3E18 /* 802A3E10 002A0D70 38 80 00 00 */ li r4, 0 /* 802A3E14 002A0D74 48 00 00 08 */ b lbl_802A3E1C lbl_802A3E18: /* 802A3E18 002A0D78 38 80 00 01 */ li r4, 1 lbl_802A3E1C: /* 802A3E1C 002A0D7C 54 80 18 38 */ slwi r0, r4, 3 /* 802A3E20 002A0D80 C8 1F 00 80 */ lfd f0, 0x80(r31) /* 802A3E24 002A0D84 7C 7F 02 14 */ add r3, r31, r0 /* 802A3E28 002A0D88 C8 23 00 70 */ lfd f1, 0x70(r3) /* 802A3E2C 002A0D8C FC 40 02 10 */ fabs f2, f0 /* 802A3E30 002A0D90 FC 00 0A 10 */ fabs f0, f1 /* 802A3E34 002A0D94 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 802A3E38 002A0D98 40 80 00 08 */ bge lbl_802A3E40 /* 802A3E3C 002A0D9C 38 80 00 02 */ li r4, 2 lbl_802A3E40: /* 802A3E40 002A0DA0 2C 04 00 00 */ cmpwi r4, 0 /* 802A3E44 002A0DA4 40 82 00 10 */ bne lbl_802A3E54 /* 802A3E48 002A0DA8 38 80 00 01 */ li r4, 1 /* 802A3E4C 002A0DAC 39 00 00 02 */ li r8, 2 /* 802A3E50 002A0DB0 48 00 00 20 */ b lbl_802A3E70 lbl_802A3E54: /* 802A3E54 002A0DB4 2C 04 00 01 */ cmpwi r4, 1 /* 802A3E58 002A0DB8 40 82 00 10 */ bne lbl_802A3E68 /* 802A3E5C 002A0DBC 38 80 00 00 */ li r4, 0 /* 802A3E60 002A0DC0 39 00 00 02 */ li r8, 2 /* 802A3E64 002A0DC4 48 00 00 0C */ b lbl_802A3E70 lbl_802A3E68: /* 802A3E68 002A0DC8 38 80 00 00 */ li r4, 0 /* 802A3E6C 002A0DCC 39 00 00 01 */ li r8, 1 lbl_802A3E70: /* 802A3E70 002A0DD0 54 80 18 38 */ slwi r0, r4, 3 /* 802A3E74 002A0DD4 38 61 01 70 */ addi r3, r1, 0x170 /* 802A3E78 002A0DD8 7C FF 02 14 */ add r7, r31, r0 /* 802A3E7C 002A0DDC 55 06 18 38 */ slwi r6, r8, 3 /* 802A3E80 002A0DE0 7C 23 04 AE */ lfdx f1, r3, r0 /* 802A3E84 002A0DE4 7C BF 32 14 */ add r5, r31, r6 /* 802A3E88 002A0DE8 C8 07 00 28 */ lfd f0, 0x28(r7) /* 802A3E8C 002A0DEC 54 84 10 3A */ slwi r4, r4, 2 /* 802A3E90 002A0DF0 55 00 10 3A */ slwi r0, r8, 2 /* 802A3E94 002A0DF4 C8 85 00 58 */ lfd f4, 0x58(r5) /* 802A3E98 002A0DF8 FC 61 00 28 */ fsub f3, f1, f0 /* 802A3E9C 002A0DFC 7C 19 24 2E */ lfsx f0, r25, r4 /* 802A3EA0 002A0E00 7C C3 34 AE */ lfdx f6, r3, r6 /* 802A3EA4 002A0E04 C8 A5 00 28 */ lfd f5, 0x28(r5) /* 802A3EA8 002A0E08 FC 24 00 32 */ fmul f1, f4, f0 /* 802A3EAC 002A0E0C C8 E7 00 58 */ lfd f7, 0x58(r7) /* 802A3EB0 002A0E10 7C 59 04 2E */ lfsx f2, r25, r0 /* 802A3EB4 002A0E14 FC 64 00 F2 */ fmul f3, f4, f3 /* 802A3EB8 002A0E18 C8 02 C1 58 */ lfd f0, lbl_805ADE78@sda21(r2) /* 802A3EBC 002A0E1C FC 86 28 28 */ fsub f4, f6, f5 /* 802A3EC0 002A0E20 FC 27 08 B8 */ fmsub f1, f7, f2, f1 /* 802A3EC4 002A0E24 FC 47 19 38 */ fmsub f2, f7, f4, f3 /* 802A3EC8 002A0E28 FF E2 08 24 */ fdiv f31, f2, f1 /* 802A3ECC 002A0E2C FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 802A3ED0 002A0E30 41 80 00 F0 */ blt lbl_802A3FC0 /* 802A3ED4 002A0E34 C8 1A 00 00 */ lfd f0, 0(r26) /* 802A3ED8 002A0E38 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 802A3EDC 002A0E3C 4C 41 13 82 */ cror 2, 1, 2 /* 802A3EE0 002A0E40 41 82 00 E0 */ beq lbl_802A3FC0 /* 802A3EE4 002A0E44 7F 24 CB 78 */ mr r4, r25 /* 802A3EE8 002A0E48 38 61 00 20 */ addi r3, r1, 0x20 /* 802A3EEC 002A0E4C 48 07 06 99 */ bl __ct__9CVector3dFRC9CVector3f /* 802A3EF0 002A0E50 FC 20 F8 90 */ fmr f1, f31 /* 802A3EF4 002A0E54 7C 64 1B 78 */ mr r4, r3 /* 802A3EF8 002A0E58 38 61 00 38 */ addi r3, r1, 0x38 /* 802A3EFC 002A0E5C 48 07 04 5D */ bl __ml__FdRC9CVector3d /* 802A3F00 002A0E60 38 61 00 50 */ addi r3, r1, 0x50 /* 802A3F04 002A0E64 38 81 01 70 */ addi r4, r1, 0x170 /* 802A3F08 002A0E68 38 A1 00 38 */ addi r5, r1, 0x38 /* 802A3F0C 002A0E6C 48 07 04 89 */ bl __mi__FRC9CVector3dRC9CVector3d /* 802A3F10 002A0E70 C8 41 00 50 */ lfd f2, 0x50(r1) /* 802A3F14 002A0E74 C8 3F 00 28 */ lfd f1, 0x28(r31) /* 802A3F18 002A0E78 C8 1F 00 40 */ lfd f0, 0x40(r31) /* 802A3F1C 002A0E7C FC 21 10 28 */ fsub f1, f1, f2 /* 802A3F20 002A0E80 C8 A1 00 58 */ lfd f5, 0x58(r1) /* 802A3F24 002A0E84 FC 00 10 28 */ fsub f0, f0, f2 /* 802A3F28 002A0E88 C8 7F 00 30 */ lfd f3, 0x30(r31) /* 802A3F2C 002A0E8C C8 5F 00 48 */ lfd f2, 0x48(r31) /* 802A3F30 002A0E90 FC 63 28 28 */ fsub f3, f3, f5 /* 802A3F34 002A0E94 FC 01 00 32 */ fmul f0, f1, f0 /* 802A3F38 002A0E98 C8 C1 00 60 */ lfd f6, 0x60(r1) /* 802A3F3C 002A0E9C C8 9F 00 38 */ lfd f4, 0x38(r31) /* 802A3F40 002A0EA0 FC 22 28 28 */ fsub f1, f2, f5 /* 802A3F44 002A0EA4 C8 5F 00 50 */ lfd f2, 0x50(r31) /* 802A3F48 002A0EA8 FC 84 30 28 */ fsub f4, f4, f6 /* 802A3F4C 002A0EAC FC 23 00 7A */ fmadd f1, f3, f1, f0 /* 802A3F50 002A0EB0 C8 02 C1 58 */ lfd f0, lbl_805ADE78@sda21(r2) /* 802A3F54 002A0EB4 FC 42 30 28 */ fsub f2, f2, f6 /* 802A3F58 002A0EB8 FC 24 08 BA */ fmadd f1, f4, f2, f1 /* 802A3F5C 002A0EBC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A3F60 002A0EC0 40 80 00 60 */ bge lbl_802A3FC0 /* 802A3F64 002A0EC4 C8 1A 00 00 */ lfd f0, 0(r26) /* 802A3F68 002A0EC8 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 802A3F6C 002A0ECC 40 80 00 54 */ bge lbl_802A3FC0 /* 802A3F70 002A0ED0 38 61 00 14 */ addi r3, r1, 0x14 /* 802A3F74 002A0ED4 38 81 01 88 */ addi r4, r1, 0x188 /* 802A3F78 002A0ED8 48 07 05 1D */ bl AsCVector3f__9CVector3dCFv /* 802A3F7C 002A0EDC C0 01 00 14 */ lfs f0, 0x14(r1) /* 802A3F80 002A0EE0 38 61 00 08 */ addi r3, r1, 8 /* 802A3F84 002A0EE4 38 81 01 70 */ addi r4, r1, 0x170 /* 802A3F88 002A0EE8 D0 1B 00 00 */ stfs f0, 0(r27) /* 802A3F8C 002A0EEC C0 01 00 18 */ lfs f0, 0x18(r1) /* 802A3F90 002A0EF0 D0 1B 00 04 */ stfs f0, 4(r27) /* 802A3F94 002A0EF4 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 802A3F98 002A0EF8 D0 1B 00 08 */ stfs f0, 8(r27) /* 802A3F9C 002A0EFC DB FA 00 00 */ stfd f31, 0(r26) /* 802A3FA0 002A0F00 48 07 04 F5 */ bl AsCVector3f__9CVector3dCFv /* 802A3FA4 002A0F04 C0 01 00 08 */ lfs f0, 8(r1) /* 802A3FA8 002A0F08 3B C0 00 01 */ li r30, 1 /* 802A3FAC 002A0F0C D0 1C 00 00 */ stfs f0, 0(r28) /* 802A3FB0 002A0F10 C0 01 00 0C */ lfs f0, 0xc(r1) /* 802A3FB4 002A0F14 D0 1C 00 04 */ stfs f0, 4(r28) /* 802A3FB8 002A0F18 C0 01 00 10 */ lfs f0, 0x10(r1) /* 802A3FBC 002A0F1C D0 1C 00 08 */ stfs f0, 8(r28) lbl_802A3FC0: /* 802A3FC0 002A0F20 3B FF 00 90 */ addi r31, r31, 0x90 /* 802A3FC4 002A0F24 3B BD 00 01 */ addi r29, r29, 1 lbl_802A3FC8: /* 802A3FC8 002A0F28 80 18 00 00 */ lwz r0, 0(r24) /* 802A3FCC 002A0F2C 7C 1D 00 00 */ cmpw r29, r0 /* 802A3FD0 002A0F30 41 80 FB FC */ blt lbl_802A3BCC /* 802A3FD4 002A0F34 7F C3 F3 78 */ mr r3, r30 /* 802A3FD8 002A0F38 E3 E1 02 38 */ psq_l f31, 568(r1), 0, qr0 /* 802A3FDC 002A0F3C CB E1 02 30 */ lfd f31, 0x230(r1) /* 802A3FE0 002A0F40 BA A1 02 04 */ lmw r21, 0x204(r1) /* 802A3FE4 002A0F44 80 01 02 44 */ lwz r0, 0x244(r1) /* 802A3FE8 002A0F48 7C 08 03 A6 */ mtlr r0 /* 802A3FEC 002A0F4C 38 21 02 40 */ addi r1, r1, 0x240 /* 802A3FF0 002A0F50 4E 80 00 20 */ blr .global "MovingAABoxCollisionCheck_BoxVertexTri__20CMetroidAreaColliderFRC17CCollisionSurfaceRC6CAABoxRCQ24rstl21reserved_vector9CVector3fRdR9CVector3fR9CVector3f" "MovingAABoxCollisionCheck_BoxVertexTri__20CMetroidAreaColliderFRC17CCollisionSurfaceRC6CAABoxRCQ24rstl21reserved_vector9CVector3fRdR9CVector3fR9CVector3f": /* 802A3FF4 002A0F54 94 21 FF A0 */ stwu r1, -0x60(r1) /* 802A3FF8 002A0F58 7C 08 02 A6 */ mflr r0 /* 802A3FFC 002A0F5C 90 01 00 64 */ stw r0, 0x64(r1) /* 802A4000 002A0F60 BE C1 00 38 */ stmw r22, 0x38(r1) /* 802A4004 002A0F64 7C B8 2B 78 */ mr r24, r5 /* 802A4008 002A0F68 7C 76 1B 78 */ mr r22, r3 /* 802A400C 002A0F6C 7C 97 23 78 */ mr r23, r4 /* 802A4010 002A0F70 7C D9 33 78 */ mr r25, r6 /* 802A4014 002A0F74 7C FA 3B 78 */ mr r26, r7 /* 802A4018 002A0F78 7D 1B 43 78 */ mr r27, r8 /* 802A401C 002A0F7C 7D 3C 4B 78 */ mr r28, r9 /* 802A4020 002A0F80 3B F8 00 04 */ addi r31, r24, 4 /* 802A4024 002A0F84 3B C0 00 00 */ li r30, 0 /* 802A4028 002A0F88 3B A0 00 00 */ li r29, 0 /* 802A402C 002A0F8C 48 00 00 BC */ b lbl_802A40E8 lbl_802A4030: /* 802A4030 002A0F90 80 BF 00 00 */ lwz r5, 0(r31) /* 802A4034 002A0F94 7E E4 BB 78 */ mr r4, r23 /* 802A4038 002A0F98 38 61 00 14 */ addi r3, r1, 0x14 /* 802A403C 002A0F9C 48 09 35 75 */ bl GetPoint__6CAABoxCFi /* 802A4040 002A0FA0 C0 41 00 14 */ lfs f2, 0x14(r1) /* 802A4044 002A0FA4 7F 24 CB 78 */ mr r4, r25 /* 802A4048 002A0FA8 C0 21 00 18 */ lfs f1, 0x18(r1) /* 802A404C 002A0FAC 7E C5 B3 78 */ mr r5, r22 /* 802A4050 002A0FB0 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 802A4054 002A0FB4 7F 46 D3 78 */ mr r6, r26 /* 802A4058 002A0FB8 D0 41 00 20 */ stfs f2, 0x20(r1) /* 802A405C 002A0FBC 38 61 00 20 */ addi r3, r1, 0x20 /* 802A4060 002A0FC0 D0 21 00 24 */ stfs f1, 0x24(r1) /* 802A4064 002A0FC4 D0 01 00 28 */ stfs f0, 0x28(r1) /* 802A4068 002A0FC8 48 02 E4 8D */ bl RayTriangleIntersection_Double__13CollisionUtilFRC9CVector3fRC9CVector3fPC9CVector3fRd /* 802A406C 002A0FCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A4070 002A0FD0 41 82 00 70 */ beq lbl_802A40E0 /* 802A4074 002A0FD4 C8 DA 00 00 */ lfd f6, 0(r26) /* 802A4078 002A0FD8 7E C4 B3 78 */ mr r4, r22 /* 802A407C 002A0FDC C0 19 00 00 */ lfs f0, 0(r25) /* 802A4080 002A0FE0 38 61 00 08 */ addi r3, r1, 8 /* 802A4084 002A0FE4 FC C0 30 18 */ frsp f6, f6 /* 802A4088 002A0FE8 C0 79 00 04 */ lfs f3, 4(r25) /* 802A408C 002A0FEC C0 59 00 08 */ lfs f2, 8(r25) /* 802A4090 002A0FF0 C0 21 00 20 */ lfs f1, 0x20(r1) /* 802A4094 002A0FF4 EC 06 00 32 */ fmuls f0, f6, f0 /* 802A4098 002A0FF8 C0 A1 00 24 */ lfs f5, 0x24(r1) /* 802A409C 002A0FFC EC 86 00 F2 */ fmuls f4, f6, f3 /* 802A40A0 002A1000 C0 61 00 28 */ lfs f3, 0x28(r1) /* 802A40A4 002A1004 EC 46 00 B2 */ fmuls f2, f6, f2 /* 802A40A8 002A1008 EC 01 00 2A */ fadds f0, f1, f0 /* 802A40AC 002A100C EC 85 20 2A */ fadds f4, f5, f4 /* 802A40B0 002A1010 EC 23 10 2A */ fadds f1, f3, f2 /* 802A40B4 002A1014 D0 1C 00 00 */ stfs f0, 0(r28) /* 802A40B8 002A1018 D0 9C 00 04 */ stfs f4, 4(r28) /* 802A40BC 002A101C D0 3C 00 08 */ stfs f1, 8(r28) /* 802A40C0 002A1020 4B FF E5 E5 */ bl GetNormal__17CCollisionSurfaceCFv /* 802A40C4 002A1024 C0 01 00 08 */ lfs f0, 8(r1) /* 802A40C8 002A1028 3B C0 00 01 */ li r30, 1 /* 802A40CC 002A102C D0 1B 00 00 */ stfs f0, 0(r27) /* 802A40D0 002A1030 C0 01 00 0C */ lfs f0, 0xc(r1) /* 802A40D4 002A1034 D0 1B 00 04 */ stfs f0, 4(r27) /* 802A40D8 002A1038 C0 01 00 10 */ lfs f0, 0x10(r1) /* 802A40DC 002A103C D0 1B 00 08 */ stfs f0, 8(r27) lbl_802A40E0: /* 802A40E0 002A1040 3B FF 00 04 */ addi r31, r31, 4 /* 802A40E4 002A1044 3B BD 00 01 */ addi r29, r29, 1 lbl_802A40E8: /* 802A40E8 002A1048 80 18 00 00 */ lwz r0, 0(r24) /* 802A40EC 002A104C 7C 1D 00 00 */ cmpw r29, r0 /* 802A40F0 002A1050 41 80 FF 40 */ blt lbl_802A4030 /* 802A40F4 002A1054 7F C3 F3 78 */ mr r3, r30 /* 802A40F8 002A1058 BA C1 00 38 */ lmw r22, 0x38(r1) /* 802A40FC 002A105C 80 01 00 64 */ lwz r0, 0x64(r1) /* 802A4100 002A1060 7C 08 03 A6 */ mtlr r0 /* 802A4104 002A1064 38 21 00 60 */ addi r1, r1, 0x60 /* 802A4108 002A1068 4E 80 00 20 */ blr .global MovingAABoxCollisionCheck_TriVertexBox__20CMetroidAreaColliderFRC9CVector3fRC6CAABox9CVector3fRdR9CVector3fR9CVector3f MovingAABoxCollisionCheck_TriVertexBox__20CMetroidAreaColliderFRC9CVector3fRC6CAABox9CVector3fRdR9CVector3fR9CVector3f: /* 802A410C 002A106C 94 21 FF 80 */ stwu r1, -0x80(r1) /* 802A4110 002A1070 7C 08 02 A6 */ mflr r0 /* 802A4114 002A1074 90 01 00 84 */ stw r0, 0x84(r1) /* 802A4118 002A1078 BF 41 00 68 */ stmw r26, 0x68(r1) /* 802A411C 002A107C 7C 7A 1B 78 */ mr r26, r3 /* 802A4120 002A1080 7C 9B 23 78 */ mr r27, r4 /* 802A4124 002A1084 7C DC 33 78 */ mr r28, r6 /* 802A4128 002A1088 7C FD 3B 78 */ mr r29, r7 /* 802A412C 002A108C 7D 1E 43 78 */ mr r30, r8 /* 802A4130 002A1090 7F 44 D3 78 */ mr r4, r26 /* 802A4134 002A1094 38 61 00 28 */ addi r3, r1, 0x28 /* 802A4138 002A1098 3B E0 00 00 */ li r31, 0 /* 802A413C 002A109C C0 05 00 08 */ lfs f0, 8(r5) /* 802A4140 002A10A0 C0 45 00 04 */ lfs f2, 4(r5) /* 802A4144 002A10A4 FC 60 00 50 */ fneg f3, f0 /* 802A4148 002A10A8 C0 05 00 00 */ lfs f0, 0(r5) /* 802A414C 002A10AC C8 26 00 00 */ lfd f1, 0(r6) /* 802A4150 002A10B0 FC 40 10 50 */ fneg f2, f2 /* 802A4154 002A10B4 FC 00 00 50 */ fneg f0, f0 /* 802A4158 002A10B8 38 A1 00 10 */ addi r5, r1, 0x10 /* 802A415C 002A10BC FC 20 08 18 */ frsp f1, f1 /* 802A4160 002A10C0 D0 61 00 18 */ stfs f3, 0x18(r1) /* 802A4164 002A10C4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 802A4168 002A10C8 D0 41 00 14 */ stfs f2, 0x14(r1) /* 802A416C 002A10CC 48 03 1F 01 */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff /* 802A4170 002A10D0 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 802A4174 002A10D4 7F 64 DB 78 */ mr r4, r27 /* 802A4178 002A10D8 38 E3 66 A0 */ addi r7, r3, sZeroVector__9CVector3f@l /* 802A417C 002A10DC 38 61 00 28 */ addi r3, r1, 0x28 /* 802A4180 002A10E0 C0 47 00 00 */ lfs f2, 0(r7) /* 802A4184 002A10E4 38 A1 00 1C */ addi r5, r1, 0x1c /* 802A4188 002A10E8 C0 27 00 04 */ lfs f1, 4(r7) /* 802A418C 002A10EC 38 C1 00 08 */ addi r6, r1, 8 /* 802A4190 002A10F0 C0 07 00 08 */ lfs f0, 8(r7) /* 802A4194 002A10F4 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 802A4198 002A10F8 D0 21 00 20 */ stfs f1, 0x20(r1) /* 802A419C 002A10FC D0 01 00 24 */ stfs f0, 0x24(r1) /* 802A41A0 002A1100 48 02 EF 41 */ bl RayAABoxIntersection_Double__13CollisionUtilFRC5CMRayRC6CAABoxR9CVector3fRd /* 802A41A4 002A1104 2C 03 00 02 */ cmpwi r3, 2 /* 802A41A8 002A1108 40 82 00 5C */ bne lbl_802A4204 /* 802A41AC 002A110C C8 01 00 08 */ lfd f0, 8(r1) /* 802A41B0 002A1110 C8 3C 00 00 */ lfd f1, 0(r28) /* 802A41B4 002A1114 FC 60 00 72 */ fmul f3, f0, f1 /* 802A41B8 002A1118 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 802A41BC 002A111C 40 80 00 48 */ bge lbl_802A4204 /* 802A41C0 002A1120 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 802A41C4 002A1124 3B E0 00 01 */ li r31, 1 /* 802A41C8 002A1128 C0 21 00 20 */ lfs f1, 0x20(r1) /* 802A41CC 002A112C FC 00 00 50 */ fneg f0, f0 /* 802A41D0 002A1130 C0 41 00 24 */ lfs f2, 0x24(r1) /* 802A41D4 002A1134 FC 20 08 50 */ fneg f1, f1 /* 802A41D8 002A1138 FC 40 10 50 */ fneg f2, f2 /* 802A41DC 002A113C D0 1D 00 00 */ stfs f0, 0(r29) /* 802A41E0 002A1140 D0 3D 00 04 */ stfs f1, 4(r29) /* 802A41E4 002A1144 D0 5D 00 08 */ stfs f2, 8(r29) /* 802A41E8 002A1148 D8 7C 00 00 */ stfd f3, 0(r28) /* 802A41EC 002A114C C0 1A 00 00 */ lfs f0, 0(r26) /* 802A41F0 002A1150 D0 1E 00 00 */ stfs f0, 0(r30) /* 802A41F4 002A1154 C0 1A 00 04 */ lfs f0, 4(r26) /* 802A41F8 002A1158 D0 1E 00 04 */ stfs f0, 4(r30) /* 802A41FC 002A115C C0 1A 00 08 */ lfs f0, 8(r26) /* 802A4200 002A1160 D0 1E 00 08 */ stfs f0, 8(r30) lbl_802A4204: /* 802A4204 002A1164 7F E3 FB 78 */ mr r3, r31 /* 802A4208 002A1168 BB 41 00 68 */ lmw r26, 0x68(r1) /* 802A420C 002A116C 80 01 00 84 */ lwz r0, 0x84(r1) /* 802A4210 002A1170 7C 08 03 A6 */ mtlr r0 /* 802A4214 002A1174 38 21 00 80 */ addi r1, r1, 0x80 /* 802A4218 002A1178 4E 80 00 20 */ blr .global MovingAABoxCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC15CMaterialFilterRC13CMaterialList9CVector3ffR14CCollisionInfoRd MovingAABoxCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC15CMaterialFilterRC13CMaterialList9CVector3ffR14CCollisionInfoRd: /* 802A421C 002A117C 94 21 F6 30 */ stwu r1, -0x9d0(r1) /* 802A4220 002A1180 7C 08 02 A6 */ mflr r0 /* 802A4224 002A1184 90 01 09 D4 */ stw r0, 0x9d4(r1) /* 802A4228 002A1188 DB E1 09 C0 */ stfd f31, 0x9c0(r1) /* 802A422C 002A118C F3 E1 09 C8 */ psq_st f31, -1592(r1), 0, qr0 /* 802A4230 002A1190 DB C1 09 B0 */ stfd f30, 0x9b0(r1) /* 802A4234 002A1194 F3 C1 09 B8 */ psq_st f30, -1608(r1), 0, qr0 /* 802A4238 002A1198 DB A1 09 A0 */ stfd f29, 0x9a0(r1) /* 802A423C 002A119C F3 A1 09 A8 */ psq_st f29, -1624(r1), 0, qr0 /* 802A4240 002A11A0 BD C1 09 58 */ stmw r14, 0x958(r1) /* 802A4244 002A11A4 FF E0 08 90 */ fmr f31, f1 /* 802A4248 002A11A8 90 61 00 08 */ stw r3, 8(r1) /* 802A424C 002A11AC 7D 33 4B 78 */ mr r19, r9 /* 802A4250 002A11B0 7C 8F 23 78 */ mr r15, r4 /* 802A4254 002A11B4 90 A1 00 0C */ stw r5, 0xc(r1) /* 802A4258 002A11B8 7C D0 33 78 */ mr r16, r6 /* 802A425C 002A11BC DB E9 00 00 */ stfd f31, 0(r9) /* 802A4260 002A11C0 7C F1 3B 78 */ mr r17, r7 /* 802A4264 002A11C4 7D 12 43 78 */ mr r18, r8 /* 802A4268 002A11C8 48 00 2D D9 */ bl ResetInternalCounters__20CMetroidAreaColliderFv /* 802A426C 002A11CC C0 51 00 00 */ lfs f2, 0(r17) /* 802A4270 002A11D0 7D E4 7B 78 */ mr r4, r15 /* 802A4274 002A11D4 C0 31 00 04 */ lfs f1, 4(r17) /* 802A4278 002A11D8 7E 25 8B 78 */ mr r5, r17 /* 802A427C 002A11DC C0 11 00 08 */ lfs f0, 8(r17) /* 802A4280 002A11E0 EF BF 00 B2 */ fmuls f29, f31, f2 /* 802A4284 002A11E4 EF DF 00 72 */ fmuls f30, f31, f1 /* 802A4288 002A11E8 38 61 02 40 */ addi r3, r1, 0x240 /* 802A428C 002A11EC EF FF 00 32 */ fmuls f31, f31, f0 /* 802A4290 002A11F0 4B FF EE 0D */ bl __ct__Q220CMetroidAreaCollider22CMovingAABoxComponentsFRC6CAABoxRC9CVector3f /* 802A4294 002A11F4 C0 4F 00 04 */ lfs f2, 4(r15) /* 802A4298 002A11F8 38 61 00 DC */ addi r3, r1, 0xdc /* 802A429C 002A11FC C0 2F 00 08 */ lfs f1, 8(r15) /* 802A42A0 002A1200 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802A42A4 002A1204 C0 0F 00 00 */ lfs f0, 0(r15) /* 802A42A8 002A1208 ED 02 F0 2A */ fadds f8, f2, f30 /* 802A42AC 002A120C EC E1 F8 2A */ fadds f7, f1, f31 /* 802A42B0 002A1210 C0 C1 09 28 */ lfs f6, 0x928(r1) /* 802A42B4 002A1214 EC 00 E8 2A */ fadds f0, f0, f29 /* 802A42B8 002A1218 C0 A1 09 2C */ lfs f5, 0x92c(r1) /* 802A42BC 002A121C C0 81 09 30 */ lfs f4, 0x930(r1) /* 802A42C0 002A1220 C0 61 09 34 */ lfs f3, 0x934(r1) /* 802A42C4 002A1224 C0 41 09 38 */ lfs f2, 0x938(r1) /* 802A42C8 002A1228 C0 21 09 3C */ lfs f1, 0x93c(r1) /* 802A42CC 002A122C D0 C1 00 DC */ stfs f6, 0xdc(r1) /* 802A42D0 002A1230 D0 A1 00 E0 */ stfs f5, 0xe0(r1) /* 802A42D4 002A1234 D0 81 00 E4 */ stfs f4, 0xe4(r1) /* 802A42D8 002A1238 D0 61 00 E8 */ stfs f3, 0xe8(r1) /* 802A42DC 002A123C D0 41 00 EC */ stfs f2, 0xec(r1) /* 802A42E0 002A1240 D0 21 00 F0 */ stfs f1, 0xf0(r1) /* 802A42E4 002A1244 D0 01 00 A0 */ stfs f0, 0xa0(r1) /* 802A42E8 002A1248 D1 01 00 A4 */ stfs f8, 0xa4(r1) /* 802A42EC 002A124C D0 E1 00 A8 */ stfs f7, 0xa8(r1) /* 802A42F0 002A1250 48 09 38 19 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A42F4 002A1254 C0 4F 00 10 */ lfs f2, 0x10(r15) /* 802A42F8 002A1258 38 61 00 DC */ addi r3, r1, 0xdc /* 802A42FC 002A125C C0 2F 00 14 */ lfs f1, 0x14(r15) /* 802A4300 002A1260 38 81 00 94 */ addi r4, r1, 0x94 /* 802A4304 002A1264 C0 0F 00 0C */ lfs f0, 0xc(r15) /* 802A4308 002A1268 EC 42 F0 2A */ fadds f2, f2, f30 /* 802A430C 002A126C EC 21 F8 2A */ fadds f1, f1, f31 /* 802A4310 002A1270 EC 00 E8 2A */ fadds f0, f0, f29 /* 802A4314 002A1274 D0 41 00 98 */ stfs f2, 0x98(r1) /* 802A4318 002A1278 D0 01 00 94 */ stfs f0, 0x94(r1) /* 802A431C 002A127C D0 21 00 9C */ stfs f1, 0x9c(r1) /* 802A4320 002A1280 48 09 37 E9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A4324 002A1284 38 61 00 88 */ addi r3, r1, 0x88 /* 802A4328 002A1288 38 81 00 DC */ addi r4, r1, 0xdc /* 802A432C 002A128C 48 09 32 E1 */ bl GetCenterPoint__6CAABoxCFv /* 802A4330 002A1290 C0 61 00 EC */ lfs f3, 0xec(r1) /* 802A4334 002A1294 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 802A4338 002A1298 C0 41 00 E0 */ lfs f2, 0xe0(r1) /* 802A433C 002A129C 3B 00 00 00 */ li r24, 0 /* 802A4340 002A12A0 C0 21 00 F0 */ lfs f1, 0xf0(r1) /* 802A4344 002A12A4 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 802A4348 002A12A8 EC 63 10 28 */ fsubs f3, f3, f2 /* 802A434C 002A12AC C4 E3 66 A0 */ lfsu f7, sZeroVector__9CVector3f@l(r3) /* 802A4350 002A12B0 EC 41 00 28 */ fsubs f2, f1, f0 /* 802A4354 002A12B4 C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A4358 002A12B8 C1 03 00 04 */ lfs f8, 4(r3) /* 802A435C 002A12BC C1 23 00 08 */ lfs f9, 8(r3) /* 802A4360 002A12C0 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802A4364 002A12C4 EC A4 00 B2 */ fmuls f5, f4, f2 /* 802A4368 002A12C8 80 61 00 08 */ lwz r3, 8(r1) /* 802A436C 002A12CC C0 61 00 88 */ lfs f3, 0x88(r1) /* 802A4370 002A12D0 38 03 00 08 */ addi r0, r3, 8 /* 802A4374 002A12D4 C0 41 00 8C */ lfs f2, 0x8c(r1) /* 802A4378 002A12D8 90 01 09 48 */ stw r0, 0x948(r1) /* 802A437C 002A12DC 38 00 00 00 */ li r0, 0 /* 802A4380 002A12E0 C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 802A4384 002A12E4 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 802A4388 002A12E8 D0 61 00 D0 */ stfs f3, 0xd0(r1) /* 802A438C 002A12EC EC 01 00 28 */ fsubs f0, f1, f0 /* 802A4390 002A12F0 C0 21 00 90 */ lfs f1, 0x90(r1) /* 802A4394 002A12F4 D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 802A4398 002A12F8 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A439C 002A12FC 90 01 09 44 */ stw r0, 0x944(r1) /* 802A43A0 002A1300 D0 21 00 D8 */ stfs f1, 0xd8(r1) /* 802A43A4 002A1304 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 802A43A8 002A1308 D0 C1 00 C8 */ stfs f6, 0xc8(r1) /* 802A43AC 002A130C D0 A1 00 CC */ stfs f5, 0xcc(r1) /* 802A43B0 002A1310 D0 E1 00 B8 */ stfs f7, 0xb8(r1) /* 802A43B4 002A1314 D1 01 00 BC */ stfs f8, 0xbc(r1) /* 802A43B8 002A1318 D1 21 00 C0 */ stfs f9, 0xc0(r1) /* 802A43BC 002A131C D0 E1 00 AC */ stfs f7, 0xac(r1) /* 802A43C0 002A1320 D1 01 00 B0 */ stfs f8, 0xb0(r1) /* 802A43C4 002A1324 D1 21 00 B4 */ stfs f9, 0xb4(r1) /* 802A43C8 002A1328 48 00 07 60 */ b lbl_802A4B28 lbl_802A43CC: /* 802A43CC 002A132C 80 81 09 48 */ lwz r4, 0x948(r1) /* 802A43D0 002A1330 38 61 00 DC */ addi r3, r1, 0xdc /* 802A43D4 002A1334 48 09 37 B1 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A43D8 002A1338 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A43DC 002A133C 41 82 07 34 */ beq lbl_802A4B10 /* 802A43E0 002A1340 80 81 09 48 */ lwz r4, 0x948(r1) /* 802A43E4 002A1344 38 61 00 10 */ addi r3, r1, 0x10 /* 802A43E8 002A1348 4B FF E9 55 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A43EC 002A134C 83 21 00 10 */ lwz r25, 0x10(r1) /* 802A43F0 002A1350 3C 80 80 59 */ lis r4, lbl_80597BAC@ha /* 802A43F4 002A1354 80 61 09 48 */ lwz r3, 0x948(r1) /* 802A43F8 002A1358 39 C1 09 04 */ addi r14, r1, 0x904 /* 802A43FC 002A135C A0 19 00 18 */ lhz r0, 0x18(r25) /* 802A4400 002A1360 3B C4 7B AC */ addi r30, r4, lbl_80597BAC@l /* 802A4404 002A1364 83 A3 00 1C */ lwz r29, 0x1c(r3) /* 802A4408 002A1368 3A E0 00 00 */ li r23, 0 /* 802A440C 002A136C 90 01 09 40 */ stw r0, 0x940(r1) /* 802A4410 002A1370 48 00 06 F4 */ b lbl_802A4B04 lbl_802A4414: /* 802A4414 002A1374 A3 99 00 1A */ lhz r28, 0x1a(r25) /* 802A4418 002A1378 A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802A441C 002A137C 57 83 0B FC */ rlwinm r3, r28, 1, 0xf, 0x1e /* 802A4420 002A1380 7C 1E 1A 2E */ lhzx r0, r30, r3 /* 802A4424 002A1384 7C 05 00 40 */ cmplw r5, r0 /* 802A4428 002A1388 41 82 06 D4 */ beq lbl_802A4AFC /* 802A442C 002A138C 80 8D A5 C8 */ lwz r4, lbl_805A9188@sda21(r13) /* 802A4430 002A1390 38 00 00 00 */ li r0, 0 /* 802A4434 002A1394 7C BE 1B 2E */ sthx r5, r30, r3 /* 802A4438 002A1398 38 A4 00 01 */ addi r5, r4, 1 /* 802A443C 002A139C 80 61 00 0C */ lwz r3, 0xc(r1) /* 802A4440 002A13A0 90 AD A5 C8 */ stw r5, lbl_805A9188@sda21(r13) /* 802A4444 002A13A4 38 81 00 38 */ addi r4, r1, 0x38 /* 802A4448 002A13A8 80 BD 00 34 */ lwz r5, 0x34(r29) /* 802A444C 002A13AC 80 DD 00 28 */ lwz r6, 0x28(r29) /* 802A4450 002A13B0 7C A5 E0 AE */ lbzx r5, r5, r28 /* 802A4454 002A13B4 54 A5 10 3A */ slwi r5, r5, 2 /* 802A4458 002A13B8 7E 86 28 2E */ lwzx r20, r6, r5 /* 802A445C 002A13BC 92 81 00 3C */ stw r20, 0x3c(r1) /* 802A4460 002A13C0 90 01 00 38 */ stw r0, 0x38(r1) /* 802A4464 002A13C4 48 03 0E E9 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A4468 002A13C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A446C 002A13CC 41 82 06 90 */ beq lbl_802A4AFC /* 802A4470 002A13D0 7F A3 EB 78 */ mr r3, r29 /* 802A4474 002A13D4 7F 84 E3 78 */ mr r4, r28 /* 802A4478 002A13D8 38 A1 00 30 */ addi r5, r1, 0x30 /* 802A447C 002A13DC 4B FF E5 09 */ bl GetTriangleVertexIndices__12CAreaOctTreeCFUsPUs /* 802A4480 002A13E0 A0 A1 00 34 */ lhz r5, 0x34(r1) /* 802A4484 002A13E4 7E 87 A3 78 */ mr r7, r20 /* 802A4488 002A13E8 A0 81 00 30 */ lhz r4, 0x30(r1) /* 802A448C 002A13EC 38 61 00 F4 */ addi r3, r1, 0xf4 /* 802A4490 002A13F0 A0 01 00 32 */ lhz r0, 0x32(r1) /* 802A4494 002A13F4 1C A5 00 0C */ mulli r5, r5, 0xc /* 802A4498 002A13F8 81 1D 00 4C */ lwz r8, 0x4c(r29) /* 802A449C 002A13FC 1C 84 00 0C */ mulli r4, r4, 0xc /* 802A44A0 002A1400 7C C8 2A 14 */ add r6, r8, r5 /* 802A44A4 002A1404 1C 00 00 0C */ mulli r0, r0, 0xc /* 802A44A8 002A1408 7C 88 22 14 */ add r4, r8, r4 /* 802A44AC 002A140C 7C A8 02 14 */ add r5, r8, r0 /* 802A44B0 002A1410 4B FF E2 79 */ bl __ct__17CCollisionSurfaceFRC9CVector3fRC9CVector3fRC9CVector3fUi /* 802A44B4 002A1414 38 C1 01 00 */ addi r6, r1, 0x100 /* 802A44B8 002A1418 38 E1 01 0C */ addi r7, r1, 0x10c /* 802A44BC 002A141C 38 61 00 D0 */ addi r3, r1, 0xd0 /* 802A44C0 002A1420 38 81 00 C4 */ addi r4, r1, 0xc4 /* 802A44C4 002A1424 38 A1 00 F4 */ addi r5, r1, 0xf4 /* 802A44C8 002A1428 48 02 D0 19 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802A44CC 002A142C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A44D0 002A1430 28 00 00 01 */ cmplwi r0, 1 /* 802A44D4 002A1434 40 82 05 C0 */ bne lbl_802A4A94 /* 802A44D8 002A1438 C8 13 00 00 */ lfd f0, 0(r19) /* 802A44DC 002A143C 7D E4 7B 78 */ mr r4, r15 /* 802A44E0 002A1440 81 71 00 00 */ lwz r11, 0(r17) /* 802A44E4 002A1444 7D C5 73 78 */ mr r5, r14 /* 802A44E8 002A1448 81 51 00 04 */ lwz r10, 4(r17) /* 802A44EC 002A144C 38 61 00 F4 */ addi r3, r1, 0xf4 /* 802A44F0 002A1450 80 11 00 08 */ lwz r0, 8(r17) /* 802A44F4 002A1454 38 C1 00 7C */ addi r6, r1, 0x7c /* 802A44F8 002A1458 D8 01 00 28 */ stfd f0, 0x28(r1) /* 802A44FC 002A145C 38 E1 00 28 */ addi r7, r1, 0x28 /* 802A4500 002A1460 39 01 00 B8 */ addi r8, r1, 0xb8 /* 802A4504 002A1464 39 21 00 AC */ addi r9, r1, 0xac /* 802A4508 002A1468 91 61 00 7C */ stw r11, 0x7c(r1) /* 802A450C 002A146C 3A C0 00 00 */ li r22, 0 /* 802A4510 002A1470 91 41 00 80 */ stw r10, 0x80(r1) /* 802A4514 002A1474 90 01 00 84 */ stw r0, 0x84(r1) /* 802A4518 002A1478 4B FF FA DD */ bl "MovingAABoxCollisionCheck_BoxVertexTri__20CMetroidAreaColliderFRC17CCollisionSurfaceRC6CAABoxRCQ24rstl21reserved_vector9CVector3fRdR9CVector3fR9CVector3f" /* 802A451C 002A147C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A4520 002A1480 41 82 00 EC */ beq lbl_802A460C /* 802A4524 002A1484 C8 21 00 28 */ lfd f1, 0x28(r1) /* 802A4528 002A1488 C8 13 00 00 */ lfd f0, 0(r19) /* 802A452C 002A148C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A4530 002A1490 40 80 00 DC */ bge lbl_802A460C /* 802A4534 002A1494 7E 05 83 78 */ mr r5, r16 /* 802A4538 002A1498 38 61 01 E0 */ addi r3, r1, 0x1e0 /* 802A453C 002A149C 38 81 00 AC */ addi r4, r1, 0xac /* 802A4540 002A14A0 38 C1 00 38 */ addi r6, r1, 0x38 /* 802A4544 002A14A4 38 E1 00 B8 */ addi r7, r1, 0xb8 /* 802A4548 002A14A8 3A C0 00 01 */ li r22, 1 /* 802A454C 002A14AC 48 02 9E FD */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A4550 002A14B0 80 61 01 E0 */ lwz r3, 0x1e0(r1) /* 802A4554 002A14B4 3B 00 00 01 */ li r24, 1 /* 802A4558 002A14B8 80 01 01 E4 */ lwz r0, 0x1e4(r1) /* 802A455C 002A14BC 90 72 00 00 */ stw r3, 0(r18) /* 802A4560 002A14C0 90 12 00 04 */ stw r0, 4(r18) /* 802A4564 002A14C4 80 01 01 E8 */ lwz r0, 0x1e8(r1) /* 802A4568 002A14C8 90 12 00 08 */ stw r0, 8(r18) /* 802A456C 002A14CC 80 61 01 EC */ lwz r3, 0x1ec(r1) /* 802A4570 002A14D0 80 01 01 F0 */ lwz r0, 0x1f0(r1) /* 802A4574 002A14D4 90 72 00 0C */ stw r3, 0xc(r18) /* 802A4578 002A14D8 90 12 00 10 */ stw r0, 0x10(r18) /* 802A457C 002A14DC 80 01 01 F4 */ lwz r0, 0x1f4(r1) /* 802A4580 002A14E0 90 12 00 14 */ stw r0, 0x14(r18) /* 802A4584 002A14E4 80 61 01 F8 */ lwz r3, 0x1f8(r1) /* 802A4588 002A14E8 80 01 01 FC */ lwz r0, 0x1fc(r1) /* 802A458C 002A14EC 90 72 00 18 */ stw r3, 0x18(r18) /* 802A4590 002A14F0 90 12 00 1C */ stw r0, 0x1c(r18) /* 802A4594 002A14F4 80 01 02 00 */ lwz r0, 0x200(r1) /* 802A4598 002A14F8 90 12 00 20 */ stw r0, 0x20(r18) /* 802A459C 002A14FC 80 61 02 04 */ lwz r3, 0x204(r1) /* 802A45A0 002A1500 80 01 02 08 */ lwz r0, 0x208(r1) /* 802A45A4 002A1504 90 72 00 24 */ stw r3, 0x24(r18) /* 802A45A8 002A1508 90 12 00 28 */ stw r0, 0x28(r18) /* 802A45AC 002A150C 80 01 02 0C */ lwz r0, 0x20c(r1) /* 802A45B0 002A1510 90 12 00 2C */ stw r0, 0x2c(r18) /* 802A45B4 002A1514 88 01 02 10 */ lbz r0, 0x210(r1) /* 802A45B8 002A1518 98 12 00 30 */ stb r0, 0x30(r18) /* 802A45BC 002A151C 88 01 02 11 */ lbz r0, 0x211(r1) /* 802A45C0 002A1520 98 12 00 31 */ stb r0, 0x31(r18) /* 802A45C4 002A1524 C8 01 02 18 */ lfd f0, 0x218(r1) /* 802A45C8 002A1528 D8 12 00 38 */ stfd f0, 0x38(r18) /* 802A45CC 002A152C C8 01 02 20 */ lfd f0, 0x220(r1) /* 802A45D0 002A1530 D8 12 00 40 */ stfd f0, 0x40(r18) /* 802A45D4 002A1534 80 61 02 28 */ lwz r3, 0x228(r1) /* 802A45D8 002A1538 80 01 02 2C */ lwz r0, 0x22c(r1) /* 802A45DC 002A153C 90 72 00 48 */ stw r3, 0x48(r18) /* 802A45E0 002A1540 90 12 00 4C */ stw r0, 0x4c(r18) /* 802A45E4 002A1544 80 01 02 30 */ lwz r0, 0x230(r1) /* 802A45E8 002A1548 90 12 00 50 */ stw r0, 0x50(r18) /* 802A45EC 002A154C 80 61 02 34 */ lwz r3, 0x234(r1) /* 802A45F0 002A1550 80 01 02 38 */ lwz r0, 0x238(r1) /* 802A45F4 002A1554 90 72 00 54 */ stw r3, 0x54(r18) /* 802A45F8 002A1558 90 12 00 58 */ stw r0, 0x58(r18) /* 802A45FC 002A155C 80 01 02 3C */ lwz r0, 0x23c(r1) /* 802A4600 002A1560 90 12 00 5C */ stw r0, 0x5c(r18) /* 802A4604 002A1564 C8 01 00 28 */ lfd f0, 0x28(r1) /* 802A4608 002A1568 D8 13 00 00 */ stfd f0, 0(r19) lbl_802A460C: /* 802A460C 002A156C 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802A4610 002A1570 3B 41 00 30 */ addi r26, r1, 0x30 /* 802A4614 002A1574 3B E3 2B AC */ addi r31, r3, lbl_80572BAC@l /* 802A4618 002A1578 3A A0 00 00 */ li r21, 0 lbl_802A461C: /* 802A461C 002A157C A2 9A 00 00 */ lhz r20, 0(r26) /* 802A4620 002A1580 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A4624 002A1584 56 83 08 3C */ slwi r3, r20, 1 /* 802A4628 002A1588 7C 1F 1A 2E */ lhzx r0, r31, r3 /* 802A462C 002A158C 7C 04 00 40 */ cmplw r4, r0 /* 802A4630 002A1590 41 82 01 74 */ beq lbl_802A47A4 /* 802A4634 002A1594 7C 9F 1B 2E */ sthx r4, r31, r3 /* 802A4638 002A1598 1C 14 00 0C */ mulli r0, r20, 0xc /* 802A463C 002A159C 38 61 00 DC */ addi r3, r1, 0xdc /* 802A4640 002A15A0 80 9D 00 4C */ lwz r4, 0x4c(r29) /* 802A4644 002A15A4 7F 64 02 14 */ add r27, r4, r0 /* 802A4648 002A15A8 7F 64 DB 78 */ mr r4, r27 /* 802A464C 002A15AC 48 09 2E E9 */ bl PointInside__6CAABoxCFRC9CVector3f /* 802A4650 002A15B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A4654 002A15B4 41 82 01 50 */ beq lbl_802A47A4 /* 802A4658 002A15B8 C8 13 00 00 */ lfd f0, 0(r19) /* 802A465C 002A15BC 7F 63 DB 78 */ mr r3, r27 /* 802A4660 002A15C0 81 51 00 00 */ lwz r10, 0(r17) /* 802A4664 002A15C4 7D E4 7B 78 */ mr r4, r15 /* 802A4668 002A15C8 81 31 00 04 */ lwz r9, 4(r17) /* 802A466C 002A15CC 38 A1 00 70 */ addi r5, r1, 0x70 /* 802A4670 002A15D0 80 11 00 08 */ lwz r0, 8(r17) /* 802A4674 002A15D4 38 C1 00 28 */ addi r6, r1, 0x28 /* 802A4678 002A15D8 D8 01 00 28 */ stfd f0, 0x28(r1) /* 802A467C 002A15DC 38 E1 00 B8 */ addi r7, r1, 0xb8 /* 802A4680 002A15E0 39 01 00 AC */ addi r8, r1, 0xac /* 802A4684 002A15E4 91 41 00 70 */ stw r10, 0x70(r1) /* 802A4688 002A15E8 91 21 00 74 */ stw r9, 0x74(r1) /* 802A468C 002A15EC 90 01 00 78 */ stw r0, 0x78(r1) /* 802A4690 002A15F0 4B FF FA 7D */ bl MovingAABoxCollisionCheck_TriVertexBox__20CMetroidAreaColliderFRC9CVector3fRC6CAABox9CVector3fRdR9CVector3fR9CVector3f /* 802A4694 002A15F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A4698 002A15F8 41 82 01 0C */ beq lbl_802A47A4 /* 802A469C 002A15FC C8 21 00 28 */ lfd f1, 0x28(r1) /* 802A46A0 002A1600 C8 13 00 00 */ lfd f0, 0(r19) /* 802A46A4 002A1604 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A46A8 002A1608 40 80 00 FC */ bge lbl_802A47A4 /* 802A46AC 002A160C 80 7D 00 2C */ lwz r3, 0x2c(r29) /* 802A46B0 002A1610 38 00 00 00 */ li r0, 0 /* 802A46B4 002A1614 81 3D 00 28 */ lwz r9, 0x28(r29) /* 802A46B8 002A1618 7E 05 83 78 */ mr r5, r16 /* 802A46BC 002A161C 7C E3 A0 AE */ lbzx r7, r3, r20 /* 802A46C0 002A1620 38 61 01 80 */ addi r3, r1, 0x180 /* 802A46C4 002A1624 38 81 00 AC */ addi r4, r1, 0xac /* 802A46C8 002A1628 38 C1 00 20 */ addi r6, r1, 0x20 /* 802A46CC 002A162C 54 E8 10 3A */ slwi r8, r7, 2 /* 802A46D0 002A1630 38 E1 00 B8 */ addi r7, r1, 0xb8 /* 802A46D4 002A1634 7D 09 40 2E */ lwzx r8, r9, r8 /* 802A46D8 002A1638 3A C0 00 01 */ li r22, 1 /* 802A46DC 002A163C 91 01 00 24 */ stw r8, 0x24(r1) /* 802A46E0 002A1640 90 01 00 20 */ stw r0, 0x20(r1) /* 802A46E4 002A1644 48 02 9D 65 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A46E8 002A1648 80 61 01 80 */ lwz r3, 0x180(r1) /* 802A46EC 002A164C 3B 00 00 01 */ li r24, 1 /* 802A46F0 002A1650 80 01 01 84 */ lwz r0, 0x184(r1) /* 802A46F4 002A1654 90 72 00 00 */ stw r3, 0(r18) /* 802A46F8 002A1658 90 12 00 04 */ stw r0, 4(r18) /* 802A46FC 002A165C 80 01 01 88 */ lwz r0, 0x188(r1) /* 802A4700 002A1660 90 12 00 08 */ stw r0, 8(r18) /* 802A4704 002A1664 80 61 01 8C */ lwz r3, 0x18c(r1) /* 802A4708 002A1668 80 01 01 90 */ lwz r0, 0x190(r1) /* 802A470C 002A166C 90 72 00 0C */ stw r3, 0xc(r18) /* 802A4710 002A1670 90 12 00 10 */ stw r0, 0x10(r18) /* 802A4714 002A1674 80 01 01 94 */ lwz r0, 0x194(r1) /* 802A4718 002A1678 90 12 00 14 */ stw r0, 0x14(r18) /* 802A471C 002A167C 80 61 01 98 */ lwz r3, 0x198(r1) /* 802A4720 002A1680 80 01 01 9C */ lwz r0, 0x19c(r1) /* 802A4724 002A1684 90 72 00 18 */ stw r3, 0x18(r18) /* 802A4728 002A1688 90 12 00 1C */ stw r0, 0x1c(r18) /* 802A472C 002A168C 80 01 01 A0 */ lwz r0, 0x1a0(r1) /* 802A4730 002A1690 90 12 00 20 */ stw r0, 0x20(r18) /* 802A4734 002A1694 80 61 01 A4 */ lwz r3, 0x1a4(r1) /* 802A4738 002A1698 80 01 01 A8 */ lwz r0, 0x1a8(r1) /* 802A473C 002A169C 90 72 00 24 */ stw r3, 0x24(r18) /* 802A4740 002A16A0 90 12 00 28 */ stw r0, 0x28(r18) /* 802A4744 002A16A4 80 01 01 AC */ lwz r0, 0x1ac(r1) /* 802A4748 002A16A8 90 12 00 2C */ stw r0, 0x2c(r18) /* 802A474C 002A16AC 88 01 01 B0 */ lbz r0, 0x1b0(r1) /* 802A4750 002A16B0 98 12 00 30 */ stb r0, 0x30(r18) /* 802A4754 002A16B4 88 01 01 B1 */ lbz r0, 0x1b1(r1) /* 802A4758 002A16B8 98 12 00 31 */ stb r0, 0x31(r18) /* 802A475C 002A16BC C8 01 01 B8 */ lfd f0, 0x1b8(r1) /* 802A4760 002A16C0 D8 12 00 38 */ stfd f0, 0x38(r18) /* 802A4764 002A16C4 C8 01 01 C0 */ lfd f0, 0x1c0(r1) /* 802A4768 002A16C8 D8 12 00 40 */ stfd f0, 0x40(r18) /* 802A476C 002A16CC 80 61 01 C8 */ lwz r3, 0x1c8(r1) /* 802A4770 002A16D0 80 01 01 CC */ lwz r0, 0x1cc(r1) /* 802A4774 002A16D4 90 72 00 48 */ stw r3, 0x48(r18) /* 802A4778 002A16D8 90 12 00 4C */ stw r0, 0x4c(r18) /* 802A477C 002A16DC 80 01 01 D0 */ lwz r0, 0x1d0(r1) /* 802A4780 002A16E0 90 12 00 50 */ stw r0, 0x50(r18) /* 802A4784 002A16E4 80 61 01 D4 */ lwz r3, 0x1d4(r1) /* 802A4788 002A16E8 80 01 01 D8 */ lwz r0, 0x1d8(r1) /* 802A478C 002A16EC 90 72 00 54 */ stw r3, 0x54(r18) /* 802A4790 002A16F0 90 12 00 58 */ stw r0, 0x58(r18) /* 802A4794 002A16F4 80 01 01 DC */ lwz r0, 0x1dc(r1) /* 802A4798 002A16F8 90 12 00 5C */ stw r0, 0x5c(r18) /* 802A479C 002A16FC C8 01 00 28 */ lfd f0, 0x28(r1) /* 802A47A0 002A1700 D8 13 00 00 */ stfd f0, 0(r19) lbl_802A47A4: /* 802A47A4 002A1704 3A B5 00 01 */ addi r21, r21, 1 /* 802A47A8 002A1708 3B 5A 00 02 */ addi r26, r26, 2 /* 802A47AC 002A170C 2C 15 00 03 */ cmpwi r21, 3 /* 802A47B0 002A1710 41 80 FE 6C */ blt lbl_802A461C /* 802A47B4 002A1714 7F A3 EB 78 */ mr r3, r29 /* 802A47B8 002A1718 7F 84 E3 78 */ mr r4, r28 /* 802A47BC 002A171C 4B FF E1 B5 */ bl GetTriangleEdgeIndices__12CAreaOctTreeCFUs /* 802A47C0 002A1720 3C 80 80 59 */ lis r4, lbl_8058BBAC@ha /* 802A47C4 002A1724 3B 60 00 00 */ li r27, 0 /* 802A47C8 002A1728 7C 7A 1B 78 */ mr r26, r3 /* 802A47CC 002A172C 3A 84 BB AC */ addi r20, r4, lbl_8058BBAC@l lbl_802A47D0: /* 802A47D0 002A1730 A0 BA 00 00 */ lhz r5, 0(r26) /* 802A47D4 002A1734 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A47D8 002A1738 54 A3 08 3C */ slwi r3, r5, 1 /* 802A47DC 002A173C 7C 14 1A 2E */ lhzx r0, r20, r3 /* 802A47E0 002A1740 7C 04 00 40 */ cmplw r4, r0 /* 802A47E4 002A1744 41 82 01 80 */ beq lbl_802A4964 /* 802A47E8 002A1748 7C 94 1B 2E */ sthx r4, r20, r3 /* 802A47EC 002A174C 80 7D 00 30 */ lwz r3, 0x30(r29) /* 802A47F0 002A1750 80 9D 00 28 */ lwz r4, 0x28(r29) /* 802A47F4 002A1754 7C 03 28 AE */ lbzx r0, r3, r5 /* 802A47F8 002A1758 54 00 10 3A */ slwi r0, r0, 2 /* 802A47FC 002A175C 7E A4 00 2E */ lwzx r21, r4, r0 /* 802A4800 002A1760 56 A0 01 CF */ rlwinm. r0, r21, 0, 7, 7 /* 802A4804 002A1764 40 82 01 60 */ bne lbl_802A4964 /* 802A4808 002A1768 C8 13 00 00 */ lfd f0, 0(r19) /* 802A480C 002A176C 54 AA 10 3A */ slwi r10, r5, 2 /* 802A4810 002A1770 80 91 00 00 */ lwz r4, 0(r17) /* 802A4814 002A1774 38 A1 02 40 */ addi r5, r1, 0x240 /* 802A4818 002A1778 D8 01 00 28 */ stfd f0, 0x28(r1) /* 802A481C 002A177C 38 C1 00 64 */ addi r6, r1, 0x64 /* 802A4820 002A1780 80 71 00 04 */ lwz r3, 4(r17) /* 802A4824 002A1784 38 E1 00 28 */ addi r7, r1, 0x28 /* 802A4828 002A1788 81 7D 00 3C */ lwz r11, 0x3c(r29) /* 802A482C 002A178C 39 01 00 B8 */ addi r8, r1, 0xb8 /* 802A4830 002A1790 80 11 00 08 */ lwz r0, 8(r17) /* 802A4834 002A1794 39 21 00 AC */ addi r9, r1, 0xac /* 802A4838 002A1798 90 81 00 64 */ stw r4, 0x64(r1) /* 802A483C 002A179C 7C 8B 52 14 */ add r4, r11, r10 /* 802A4840 002A17A0 90 61 00 68 */ stw r3, 0x68(r1) /* 802A4844 002A17A4 90 01 00 6C */ stw r0, 0x6c(r1) /* 802A4848 002A17A8 A0 64 00 02 */ lhz r3, 2(r4) /* 802A484C 002A17AC A0 04 00 00 */ lhz r0, 0(r4) /* 802A4850 002A17B0 1C 63 00 0C */ mulli r3, r3, 0xc /* 802A4854 002A17B4 81 5D 00 4C */ lwz r10, 0x4c(r29) /* 802A4858 002A17B8 1C 00 00 0C */ mulli r0, r0, 0xc /* 802A485C 002A17BC 7C 8A 1A 14 */ add r4, r10, r3 /* 802A4860 002A17C0 7C 6A 02 14 */ add r3, r10, r0 /* 802A4864 002A17C4 4B FF F3 25 */ bl "MovingAABoxCollisionCheck_Edge__20CMetroidAreaColliderFRC9CVector3fRC9CVector3fRCQ24rstl53reserved_vector9CVector3fRdR9CVector3fR9CVector3f" /* 802A4868 002A17C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A486C 002A17CC 41 82 00 F8 */ beq lbl_802A4964 /* 802A4870 002A17D0 C8 21 00 28 */ lfd f1, 0x28(r1) /* 802A4874 002A17D4 C8 13 00 00 */ lfd f0, 0(r19) /* 802A4878 002A17D8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A487C 002A17DC 40 80 00 E8 */ bge lbl_802A4964 /* 802A4880 002A17E0 38 00 00 00 */ li r0, 0 /* 802A4884 002A17E4 92 A1 00 1C */ stw r21, 0x1c(r1) /* 802A4888 002A17E8 7E 05 83 78 */ mr r5, r16 /* 802A488C 002A17EC 38 61 01 20 */ addi r3, r1, 0x120 /* 802A4890 002A17F0 90 01 00 18 */ stw r0, 0x18(r1) /* 802A4894 002A17F4 38 81 00 AC */ addi r4, r1, 0xac /* 802A4898 002A17F8 38 C1 00 18 */ addi r6, r1, 0x18 /* 802A489C 002A17FC 38 E1 00 B8 */ addi r7, r1, 0xb8 /* 802A48A0 002A1800 3A C0 00 01 */ li r22, 1 /* 802A48A4 002A1804 48 02 9B A5 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A48A8 002A1808 80 61 01 20 */ lwz r3, 0x120(r1) /* 802A48AC 002A180C 3B 00 00 01 */ li r24, 1 /* 802A48B0 002A1810 80 01 01 24 */ lwz r0, 0x124(r1) /* 802A48B4 002A1814 90 72 00 00 */ stw r3, 0(r18) /* 802A48B8 002A1818 90 12 00 04 */ stw r0, 4(r18) /* 802A48BC 002A181C 80 01 01 28 */ lwz r0, 0x128(r1) /* 802A48C0 002A1820 90 12 00 08 */ stw r0, 8(r18) /* 802A48C4 002A1824 80 61 01 2C */ lwz r3, 0x12c(r1) /* 802A48C8 002A1828 80 01 01 30 */ lwz r0, 0x130(r1) /* 802A48CC 002A182C 90 72 00 0C */ stw r3, 0xc(r18) /* 802A48D0 002A1830 90 12 00 10 */ stw r0, 0x10(r18) /* 802A48D4 002A1834 80 01 01 34 */ lwz r0, 0x134(r1) /* 802A48D8 002A1838 90 12 00 14 */ stw r0, 0x14(r18) /* 802A48DC 002A183C 80 61 01 38 */ lwz r3, 0x138(r1) /* 802A48E0 002A1840 80 01 01 3C */ lwz r0, 0x13c(r1) /* 802A48E4 002A1844 90 72 00 18 */ stw r3, 0x18(r18) /* 802A48E8 002A1848 90 12 00 1C */ stw r0, 0x1c(r18) /* 802A48EC 002A184C 80 01 01 40 */ lwz r0, 0x140(r1) /* 802A48F0 002A1850 90 12 00 20 */ stw r0, 0x20(r18) /* 802A48F4 002A1854 80 61 01 44 */ lwz r3, 0x144(r1) /* 802A48F8 002A1858 80 01 01 48 */ lwz r0, 0x148(r1) /* 802A48FC 002A185C 90 72 00 24 */ stw r3, 0x24(r18) /* 802A4900 002A1860 90 12 00 28 */ stw r0, 0x28(r18) /* 802A4904 002A1864 80 01 01 4C */ lwz r0, 0x14c(r1) /* 802A4908 002A1868 90 12 00 2C */ stw r0, 0x2c(r18) /* 802A490C 002A186C 88 01 01 50 */ lbz r0, 0x150(r1) /* 802A4910 002A1870 98 12 00 30 */ stb r0, 0x30(r18) /* 802A4914 002A1874 88 01 01 51 */ lbz r0, 0x151(r1) /* 802A4918 002A1878 98 12 00 31 */ stb r0, 0x31(r18) /* 802A491C 002A187C C8 01 01 58 */ lfd f0, 0x158(r1) /* 802A4920 002A1880 D8 12 00 38 */ stfd f0, 0x38(r18) /* 802A4924 002A1884 C8 01 01 60 */ lfd f0, 0x160(r1) /* 802A4928 002A1888 D8 12 00 40 */ stfd f0, 0x40(r18) /* 802A492C 002A188C 80 61 01 68 */ lwz r3, 0x168(r1) /* 802A4930 002A1890 80 01 01 6C */ lwz r0, 0x16c(r1) /* 802A4934 002A1894 90 72 00 48 */ stw r3, 0x48(r18) /* 802A4938 002A1898 90 12 00 4C */ stw r0, 0x4c(r18) /* 802A493C 002A189C 80 01 01 70 */ lwz r0, 0x170(r1) /* 802A4940 002A18A0 90 12 00 50 */ stw r0, 0x50(r18) /* 802A4944 002A18A4 80 61 01 74 */ lwz r3, 0x174(r1) /* 802A4948 002A18A8 80 01 01 78 */ lwz r0, 0x178(r1) /* 802A494C 002A18AC 90 72 00 54 */ stw r3, 0x54(r18) /* 802A4950 002A18B0 90 12 00 58 */ stw r0, 0x58(r18) /* 802A4954 002A18B4 80 01 01 7C */ lwz r0, 0x17c(r1) /* 802A4958 002A18B8 90 12 00 5C */ stw r0, 0x5c(r18) /* 802A495C 002A18BC C8 01 00 28 */ lfd f0, 0x28(r1) /* 802A4960 002A18C0 D8 13 00 00 */ stfd f0, 0(r19) lbl_802A4964: /* 802A4964 002A18C4 3B 7B 00 01 */ addi r27, r27, 1 /* 802A4968 002A18C8 3B 5A 00 02 */ addi r26, r26, 2 /* 802A496C 002A18CC 2C 1B 00 03 */ cmpwi r27, 3 /* 802A4970 002A18D0 41 80 FE 60 */ blt lbl_802A47D0 /* 802A4974 002A18D4 56 C0 06 3F */ clrlwi. r0, r22, 0x18 /* 802A4978 002A18D8 41 82 01 84 */ beq lbl_802A4AFC /* 802A497C 002A18DC C8 73 00 00 */ lfd f3, 0(r19) /* 802A4980 002A18E0 38 61 00 DC */ addi r3, r1, 0xdc /* 802A4984 002A18E4 81 21 09 28 */ lwz r9, 0x928(r1) /* 802A4988 002A18E8 38 81 00 58 */ addi r4, r1, 0x58 /* 802A498C 002A18EC FC 60 18 18 */ frsp f3, f3 /* 802A4990 002A18F0 C0 11 00 00 */ lfs f0, 0(r17) /* 802A4994 002A18F4 C0 51 00 04 */ lfs f2, 4(r17) /* 802A4998 002A18F8 C0 31 00 08 */ lfs f1, 8(r17) /* 802A499C 002A18FC EF E3 00 32 */ fmuls f31, f3, f0 /* 802A49A0 002A1900 C0 0F 00 00 */ lfs f0, 0(r15) /* 802A49A4 002A1904 EF C3 00 B2 */ fmuls f30, f3, f2 /* 802A49A8 002A1908 C0 4F 00 04 */ lfs f2, 4(r15) /* 802A49AC 002A190C EF A3 00 72 */ fmuls f29, f3, f1 /* 802A49B0 002A1910 C0 2F 00 08 */ lfs f1, 8(r15) /* 802A49B4 002A1914 EC 42 F0 2A */ fadds f2, f2, f30 /* 802A49B8 002A1918 81 01 09 2C */ lwz r8, 0x92c(r1) /* 802A49BC 002A191C EC 21 E8 2A */ fadds f1, f1, f29 /* 802A49C0 002A1920 80 E1 09 30 */ lwz r7, 0x930(r1) /* 802A49C4 002A1924 EC 00 F8 2A */ fadds f0, f0, f31 /* 802A49C8 002A1928 80 C1 09 34 */ lwz r6, 0x934(r1) /* 802A49CC 002A192C 80 A1 09 38 */ lwz r5, 0x938(r1) /* 802A49D0 002A1930 80 01 09 3C */ lwz r0, 0x93c(r1) /* 802A49D4 002A1934 91 21 00 DC */ stw r9, 0xdc(r1) /* 802A49D8 002A1938 91 01 00 E0 */ stw r8, 0xe0(r1) /* 802A49DC 002A193C 90 E1 00 E4 */ stw r7, 0xe4(r1) /* 802A49E0 002A1940 90 C1 00 E8 */ stw r6, 0xe8(r1) /* 802A49E4 002A1944 90 A1 00 EC */ stw r5, 0xec(r1) /* 802A49E8 002A1948 90 01 00 F0 */ stw r0, 0xf0(r1) /* 802A49EC 002A194C D0 01 00 58 */ stfs f0, 0x58(r1) /* 802A49F0 002A1950 D0 41 00 5C */ stfs f2, 0x5c(r1) /* 802A49F4 002A1954 D0 21 00 60 */ stfs f1, 0x60(r1) /* 802A49F8 002A1958 48 09 31 11 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A49FC 002A195C C0 4F 00 10 */ lfs f2, 0x10(r15) /* 802A4A00 002A1960 38 61 00 DC */ addi r3, r1, 0xdc /* 802A4A04 002A1964 C0 2F 00 14 */ lfs f1, 0x14(r15) /* 802A4A08 002A1968 38 81 00 4C */ addi r4, r1, 0x4c /* 802A4A0C 002A196C C0 0F 00 0C */ lfs f0, 0xc(r15) /* 802A4A10 002A1970 EC 42 F0 2A */ fadds f2, f2, f30 /* 802A4A14 002A1974 EC 21 E8 2A */ fadds f1, f1, f29 /* 802A4A18 002A1978 EC 00 F8 2A */ fadds f0, f0, f31 /* 802A4A1C 002A197C D0 41 00 50 */ stfs f2, 0x50(r1) /* 802A4A20 002A1980 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 802A4A24 002A1984 D0 21 00 54 */ stfs f1, 0x54(r1) /* 802A4A28 002A1988 48 09 30 E1 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A4A2C 002A198C 38 61 00 40 */ addi r3, r1, 0x40 /* 802A4A30 002A1990 38 81 00 DC */ addi r4, r1, 0xdc /* 802A4A34 002A1994 48 09 2B D9 */ bl GetCenterPoint__6CAABoxCFv /* 802A4A38 002A1998 C0 61 00 EC */ lfs f3, 0xec(r1) /* 802A4A3C 002A199C C0 41 00 E0 */ lfs f2, 0xe0(r1) /* 802A4A40 002A19A0 C0 21 00 F0 */ lfs f1, 0xf0(r1) /* 802A4A44 002A19A4 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 802A4A48 002A19A8 EC 63 10 28 */ fsubs f3, f3, f2 /* 802A4A4C 002A19AC C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A4A50 002A19B0 EC 41 00 28 */ fsubs f2, f1, f0 /* 802A4A54 002A19B4 C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 802A4A58 002A19B8 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 802A4A5C 002A19BC EC C4 00 F2 */ fmuls f6, f4, f3 /* 802A4A60 002A19C0 C0 61 00 40 */ lfs f3, 0x40(r1) /* 802A4A64 002A19C4 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A4A68 002A19C8 EC A4 00 B2 */ fmuls f5, f4, f2 /* 802A4A6C 002A19CC C0 41 00 44 */ lfs f2, 0x44(r1) /* 802A4A70 002A19D0 C0 21 00 48 */ lfs f1, 0x48(r1) /* 802A4A74 002A19D4 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A4A78 002A19D8 D0 61 00 D0 */ stfs f3, 0xd0(r1) /* 802A4A7C 002A19DC D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 802A4A80 002A19E0 D0 21 00 D8 */ stfs f1, 0xd8(r1) /* 802A4A84 002A19E4 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 802A4A88 002A19E8 D0 C1 00 C8 */ stfs f6, 0xc8(r1) /* 802A4A8C 002A19EC D0 A1 00 CC */ stfs f5, 0xcc(r1) /* 802A4A90 002A19F0 48 00 00 6C */ b lbl_802A4AFC lbl_802A4A94: /* 802A4A94 002A19F4 7F A3 EB 78 */ mr r3, r29 /* 802A4A98 002A19F8 7F 84 E3 78 */ mr r4, r28 /* 802A4A9C 002A19FC 4B FF DE D5 */ bl GetTriangleEdgeIndices__12CAreaOctTreeCFUs /* 802A4AA0 002A1A00 A0 C3 00 00 */ lhz r6, 0(r3) /* 802A4AA4 002A1A04 3C A0 80 59 */ lis r5, lbl_8058BBAC@ha /* 802A4AA8 002A1A08 A0 0D A5 D0 */ lhz r0, lbl_805A9190@sda21(r13) /* 802A4AAC 002A1A0C 3C 80 80 57 */ lis r4, lbl_80572BAC@ha /* 802A4AB0 002A1A10 54 C6 08 3C */ slwi r6, r6, 1 /* 802A4AB4 002A1A14 39 25 BB AC */ addi r9, r5, lbl_8058BBAC@l /* 802A4AB8 002A1A18 7C 09 33 2E */ sthx r0, r9, r6 /* 802A4ABC 002A1A1C 38 C4 2B AC */ addi r6, r4, lbl_80572BAC@l /* 802A4AC0 002A1A20 A0 81 00 30 */ lhz r4, 0x30(r1) /* 802A4AC4 002A1A24 A1 03 00 02 */ lhz r8, 2(r3) /* 802A4AC8 002A1A28 A0 A1 00 32 */ lhz r5, 0x32(r1) /* 802A4ACC 002A1A2C 54 87 08 3C */ slwi r7, r4, 1 /* 802A4AD0 002A1A30 55 08 08 3C */ slwi r8, r8, 1 /* 802A4AD4 002A1A34 A0 81 00 34 */ lhz r4, 0x34(r1) /* 802A4AD8 002A1A38 7C 09 43 2E */ sthx r0, r9, r8 /* 802A4ADC 002A1A3C 54 A5 08 3C */ slwi r5, r5, 1 /* 802A4AE0 002A1A40 54 84 08 3C */ slwi r4, r4, 1 /* 802A4AE4 002A1A44 A0 63 00 04 */ lhz r3, 4(r3) /* 802A4AE8 002A1A48 7C 06 3B 2E */ sthx r0, r6, r7 /* 802A4AEC 002A1A4C 54 63 08 3C */ slwi r3, r3, 1 /* 802A4AF0 002A1A50 7C 06 2B 2E */ sthx r0, r6, r5 /* 802A4AF4 002A1A54 7C 09 1B 2E */ sthx r0, r9, r3 /* 802A4AF8 002A1A58 7C 06 23 2E */ sthx r0, r6, r4 lbl_802A4AFC: /* 802A4AFC 002A1A5C 3B 39 00 02 */ addi r25, r25, 2 /* 802A4B00 002A1A60 3A F7 00 01 */ addi r23, r23, 1 lbl_802A4B04: /* 802A4B04 002A1A64 80 01 09 40 */ lwz r0, 0x940(r1) /* 802A4B08 002A1A68 7C 17 00 00 */ cmpw r23, r0 /* 802A4B0C 002A1A6C 41 80 F9 08 */ blt lbl_802A4414 lbl_802A4B10: /* 802A4B10 002A1A70 80 61 09 48 */ lwz r3, 0x948(r1) /* 802A4B14 002A1A74 38 63 00 24 */ addi r3, r3, 0x24 /* 802A4B18 002A1A78 90 61 09 48 */ stw r3, 0x948(r1) /* 802A4B1C 002A1A7C 80 61 09 44 */ lwz r3, 0x944(r1) /* 802A4B20 002A1A80 38 63 00 01 */ addi r3, r3, 1 /* 802A4B24 002A1A84 90 61 09 44 */ stw r3, 0x944(r1) lbl_802A4B28: /* 802A4B28 002A1A88 80 61 00 08 */ lwz r3, 8(r1) /* 802A4B2C 002A1A8C 80 01 09 44 */ lwz r0, 0x944(r1) /* 802A4B30 002A1A90 80 63 00 04 */ lwz r3, 4(r3) /* 802A4B34 002A1A94 7C 00 18 00 */ cmpw r0, r3 /* 802A4B38 002A1A98 41 80 F8 94 */ blt lbl_802A43CC /* 802A4B3C 002A1A9C 34 01 09 04 */ addic. r0, r1, 0x904 /* 802A4B40 002A1AA0 41 82 00 58 */ beq lbl_802A4B98 /* 802A4B44 002A1AA4 80 A1 09 04 */ lwz r5, 0x904(r1) /* 802A4B48 002A1AA8 38 60 00 00 */ li r3, 0 /* 802A4B4C 002A1AAC 2C 05 00 00 */ cmpwi r5, 0 /* 802A4B50 002A1AB0 40 81 00 40 */ ble lbl_802A4B90 /* 802A4B54 002A1AB4 2C 05 00 08 */ cmpwi r5, 8 /* 802A4B58 002A1AB8 38 85 FF F8 */ addi r4, r5, -8 /* 802A4B5C 002A1ABC 40 81 00 20 */ ble lbl_802A4B7C /* 802A4B60 002A1AC0 38 04 00 07 */ addi r0, r4, 7 /* 802A4B64 002A1AC4 54 00 E8 FE */ srwi r0, r0, 3 /* 802A4B68 002A1AC8 7C 09 03 A6 */ mtctr r0 /* 802A4B6C 002A1ACC 2C 04 00 00 */ cmpwi r4, 0 /* 802A4B70 002A1AD0 40 81 00 0C */ ble lbl_802A4B7C lbl_802A4B74: /* 802A4B74 002A1AD4 38 63 00 08 */ addi r3, r3, 8 /* 802A4B78 002A1AD8 42 00 FF FC */ bdnz lbl_802A4B74 lbl_802A4B7C: /* 802A4B7C 002A1ADC 7C 03 28 50 */ subf r0, r3, r5 /* 802A4B80 002A1AE0 7C 09 03 A6 */ mtctr r0 /* 802A4B84 002A1AE4 7C 03 28 00 */ cmpw r3, r5 /* 802A4B88 002A1AE8 40 80 00 08 */ bge lbl_802A4B90 lbl_802A4B8C: /* 802A4B8C 002A1AEC 42 00 00 00 */ bdnz lbl_802A4B8C lbl_802A4B90: /* 802A4B90 002A1AF0 38 00 00 00 */ li r0, 0 /* 802A4B94 002A1AF4 90 01 09 04 */ stw r0, 0x904(r1) lbl_802A4B98: /* 802A4B98 002A1AF8 80 A1 02 40 */ lwz r5, 0x240(r1) /* 802A4B9C 002A1AFC 38 60 00 00 */ li r3, 0 /* 802A4BA0 002A1B00 2C 05 00 00 */ cmpwi r5, 0 /* 802A4BA4 002A1B04 40 81 00 40 */ ble lbl_802A4BE4 /* 802A4BA8 002A1B08 2C 05 00 08 */ cmpwi r5, 8 /* 802A4BAC 002A1B0C 38 85 FF F8 */ addi r4, r5, -8 /* 802A4BB0 002A1B10 40 81 00 20 */ ble lbl_802A4BD0 /* 802A4BB4 002A1B14 38 04 00 07 */ addi r0, r4, 7 /* 802A4BB8 002A1B18 54 00 E8 FE */ srwi r0, r0, 3 /* 802A4BBC 002A1B1C 7C 09 03 A6 */ mtctr r0 /* 802A4BC0 002A1B20 2C 04 00 00 */ cmpwi r4, 0 /* 802A4BC4 002A1B24 40 81 00 0C */ ble lbl_802A4BD0 lbl_802A4BC8: /* 802A4BC8 002A1B28 38 63 00 08 */ addi r3, r3, 8 /* 802A4BCC 002A1B2C 42 00 FF FC */ bdnz lbl_802A4BC8 lbl_802A4BD0: /* 802A4BD0 002A1B30 7C 03 28 50 */ subf r0, r3, r5 /* 802A4BD4 002A1B34 7C 09 03 A6 */ mtctr r0 /* 802A4BD8 002A1B38 7C 03 28 00 */ cmpw r3, r5 /* 802A4BDC 002A1B3C 40 80 00 08 */ bge lbl_802A4BE4 lbl_802A4BE0: /* 802A4BE0 002A1B40 42 00 00 00 */ bdnz lbl_802A4BE0 lbl_802A4BE4: /* 802A4BE4 002A1B44 38 00 00 00 */ li r0, 0 /* 802A4BE8 002A1B48 7F 03 C3 78 */ mr r3, r24 /* 802A4BEC 002A1B4C 90 01 02 40 */ stw r0, 0x240(r1) /* 802A4BF0 002A1B50 E3 E1 09 C8 */ psq_l f31, -1592(r1), 0, qr0 /* 802A4BF4 002A1B54 CB E1 09 C0 */ lfd f31, 0x9c0(r1) /* 802A4BF8 002A1B58 E3 C1 09 B8 */ psq_l f30, -1608(r1), 0, qr0 /* 802A4BFC 002A1B5C CB C1 09 B0 */ lfd f30, 0x9b0(r1) /* 802A4C00 002A1B60 E3 A1 09 A8 */ psq_l f29, -1624(r1), 0, qr0 /* 802A4C04 002A1B64 CB A1 09 A0 */ lfd f29, 0x9a0(r1) /* 802A4C08 002A1B68 B9 C1 09 58 */ lmw r14, 0x958(r1) /* 802A4C0C 002A1B6C 80 01 09 D4 */ lwz r0, 0x9d4(r1) /* 802A4C10 002A1B70 7C 08 03 A6 */ mtlr r0 /* 802A4C14 002A1B74 38 21 09 D0 */ addi r1, r1, 0x9d0 /* 802A4C18 002A1B78 4E 80 00 20 */ blr .global MovingSphereCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC7CSphereRC15CMaterialFilterRC13CMaterialList9CVector3ffR14CCollisionInfoRd MovingSphereCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC7CSphereRC15CMaterialFilterRC13CMaterialList9CVector3ffR14CCollisionInfoRd: /* 802A4C1C 002A1B7C 94 21 FB 50 */ stwu r1, -0x4b0(r1) /* 802A4C20 002A1B80 7C 08 02 A6 */ mflr r0 /* 802A4C24 002A1B84 90 01 04 B4 */ stw r0, 0x4b4(r1) /* 802A4C28 002A1B88 DB E1 04 A0 */ stfd f31, 0x4a0(r1) /* 802A4C2C 002A1B8C F3 E1 04 A8 */ psq_st f31, 1192(r1), 0, qr0 /* 802A4C30 002A1B90 DB C1 04 90 */ stfd f30, 0x490(r1) /* 802A4C34 002A1B94 F3 C1 04 98 */ psq_st f30, 1176(r1), 0, qr0 /* 802A4C38 002A1B98 DB A1 04 80 */ stfd f29, 0x480(r1) /* 802A4C3C 002A1B9C F3 A1 04 88 */ psq_st f29, 1160(r1), 0, qr0 /* 802A4C40 002A1BA0 DB 81 04 70 */ stfd f28, 0x470(r1) /* 802A4C44 002A1BA4 F3 81 04 78 */ psq_st f28, 1144(r1), 0, qr0 /* 802A4C48 002A1BA8 DB 61 04 60 */ stfd f27, 0x460(r1) /* 802A4C4C 002A1BAC F3 61 04 68 */ psq_st f27, 1128(r1), 0, qr0 /* 802A4C50 002A1BB0 DB 41 04 50 */ stfd f26, 0x450(r1) /* 802A4C54 002A1BB4 F3 41 04 58 */ psq_st f26, 1112(r1), 0, qr0 /* 802A4C58 002A1BB8 DB 21 04 40 */ stfd f25, 0x440(r1) /* 802A4C5C 002A1BBC F3 21 04 48 */ psq_st f25, 1096(r1), 0, qr0 /* 802A4C60 002A1BC0 DB 01 04 30 */ stfd f24, 0x430(r1) /* 802A4C64 002A1BC4 F3 01 04 38 */ psq_st f24, 1080(r1), 0, qr0 /* 802A4C68 002A1BC8 DA E1 04 20 */ stfd f23, 0x420(r1) /* 802A4C6C 002A1BCC F2 E1 04 28 */ psq_st f23, 1064(r1), 0, qr0 /* 802A4C70 002A1BD0 DA C1 04 10 */ stfd f22, 0x410(r1) /* 802A4C74 002A1BD4 F2 C1 04 18 */ psq_st f22, 1048(r1), 0, qr0 /* 802A4C78 002A1BD8 DA A1 04 00 */ stfd f21, 0x400(r1) /* 802A4C7C 002A1BDC F2 A1 04 08 */ psq_st f21, 1032(r1), 0, qr0 /* 802A4C80 002A1BE0 DA 81 03 F0 */ stfd f20, 0x3f0(r1) /* 802A4C84 002A1BE4 F2 81 03 F8 */ psq_st f20, 1016(r1), 0, qr0 /* 802A4C88 002A1BE8 DA 61 03 E0 */ stfd f19, 0x3e0(r1) /* 802A4C8C 002A1BEC F2 61 03 E8 */ psq_st f19, 1000(r1), 0, qr0 /* 802A4C90 002A1BF0 DA 41 03 D0 */ stfd f18, 0x3d0(r1) /* 802A4C94 002A1BF4 F2 41 03 D8 */ psq_st f18, 984(r1), 0, qr0 /* 802A4C98 002A1BF8 BD C1 03 88 */ stmw r14, 0x388(r1) /* 802A4C9C 002A1BFC FE 40 08 90 */ fmr f18, f1 /* 802A4CA0 002A1C00 90 61 00 08 */ stw r3, 8(r1) /* 802A4CA4 002A1C04 7D 54 53 78 */ mr r20, r10 /* 802A4CA8 002A1C08 7C 8F 23 78 */ mr r15, r4 /* 802A4CAC 002A1C0C 90 C1 00 0C */ stw r6, 0xc(r1) /* 802A4CB0 002A1C10 7C B0 2B 78 */ mr r16, r5 /* 802A4CB4 002A1C14 DA 4A 00 00 */ stfd f18, 0(r10) /* 802A4CB8 002A1C18 7C F1 3B 78 */ mr r17, r7 /* 802A4CBC 002A1C1C 7D 12 43 78 */ mr r18, r8 /* 802A4CC0 002A1C20 7D 33 4B 78 */ mr r19, r9 /* 802A4CC4 002A1C24 48 00 23 7D */ bl ResetInternalCounters__20CMetroidAreaColliderFv /* 802A4CC8 002A1C28 C0 52 00 00 */ lfs f2, 0(r18) /* 802A4CCC 002A1C2C 38 61 01 FC */ addi r3, r1, 0x1fc /* 802A4CD0 002A1C30 C0 32 00 04 */ lfs f1, 4(r18) /* 802A4CD4 002A1C34 38 81 01 9C */ addi r4, r1, 0x19c /* 802A4CD8 002A1C38 C0 12 00 08 */ lfs f0, 8(r18) /* 802A4CDC 002A1C3C EF F2 00 B2 */ fmuls f31, f18, f2 /* 802A4CE0 002A1C40 EF D2 00 72 */ fmuls f30, f18, f1 /* 802A4CE4 002A1C44 C0 AF 00 04 */ lfs f5, 4(r15) /* 802A4CE8 002A1C48 C0 CF 00 00 */ lfs f6, 0(r15) /* 802A4CEC 002A1C4C EF B2 00 32 */ fmuls f29, f18, f0 /* 802A4CF0 002A1C50 C0 8F 00 08 */ lfs f4, 8(r15) /* 802A4CF4 002A1C54 ED 05 F0 2A */ fadds f8, f5, f30 /* 802A4CF8 002A1C58 EC E4 E8 2A */ fadds f7, f4, f29 /* 802A4CFC 002A1C5C C0 6F 00 0C */ lfs f3, 0xc(r15) /* 802A4D00 002A1C60 EC 06 F8 2A */ fadds f0, f6, f31 /* 802A4D04 002A1C64 C0 4F 00 10 */ lfs f2, 0x10(r15) /* 802A4D08 002A1C68 C0 2F 00 14 */ lfs f1, 0x14(r15) /* 802A4D0C 002A1C6C D0 C1 01 FC */ stfs f6, 0x1fc(r1) /* 802A4D10 002A1C70 D0 A1 02 00 */ stfs f5, 0x200(r1) /* 802A4D14 002A1C74 D0 81 02 04 */ stfs f4, 0x204(r1) /* 802A4D18 002A1C78 D0 61 02 08 */ stfs f3, 0x208(r1) /* 802A4D1C 002A1C7C D0 41 02 0C */ stfs f2, 0x20c(r1) /* 802A4D20 002A1C80 D0 21 02 10 */ stfs f1, 0x210(r1) /* 802A4D24 002A1C84 D0 01 01 9C */ stfs f0, 0x19c(r1) /* 802A4D28 002A1C88 D1 01 01 A0 */ stfs f8, 0x1a0(r1) /* 802A4D2C 002A1C8C D0 E1 01 A4 */ stfs f7, 0x1a4(r1) /* 802A4D30 002A1C90 48 09 2D D9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A4D34 002A1C94 C0 4F 00 10 */ lfs f2, 0x10(r15) /* 802A4D38 002A1C98 38 61 01 FC */ addi r3, r1, 0x1fc /* 802A4D3C 002A1C9C C0 2F 00 14 */ lfs f1, 0x14(r15) /* 802A4D40 002A1CA0 38 81 01 90 */ addi r4, r1, 0x190 /* 802A4D44 002A1CA4 C0 0F 00 0C */ lfs f0, 0xc(r15) /* 802A4D48 002A1CA8 EC 42 F0 2A */ fadds f2, f2, f30 /* 802A4D4C 002A1CAC EC 21 E8 2A */ fadds f1, f1, f29 /* 802A4D50 002A1CB0 EC 00 F8 2A */ fadds f0, f0, f31 /* 802A4D54 002A1CB4 D0 41 01 94 */ stfs f2, 0x194(r1) /* 802A4D58 002A1CB8 D0 01 01 90 */ stfs f0, 0x190(r1) /* 802A4D5C 002A1CBC D0 21 01 98 */ stfs f1, 0x198(r1) /* 802A4D60 002A1CC0 48 09 2D A9 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A4D64 002A1CC4 38 61 01 84 */ addi r3, r1, 0x184 /* 802A4D68 002A1CC8 38 81 01 FC */ addi r4, r1, 0x1fc /* 802A4D6C 002A1CCC 48 09 28 A1 */ bl GetCenterPoint__6CAABoxCFv /* 802A4D70 002A1CD0 C0 61 02 0C */ lfs f3, 0x20c(r1) /* 802A4D74 002A1CD4 C0 41 02 00 */ lfs f2, 0x200(r1) /* 802A4D78 002A1CD8 C0 21 02 10 */ lfs f1, 0x210(r1) /* 802A4D7C 002A1CDC C0 01 02 04 */ lfs f0, 0x204(r1) /* 802A4D80 002A1CE0 EC 63 10 28 */ fsubs f3, f3, f2 /* 802A4D84 002A1CE4 80 61 00 08 */ lwz r3, 8(r1) /* 802A4D88 002A1CE8 EC 41 00 28 */ fsubs f2, f1, f0 /* 802A4D8C 002A1CEC C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A4D90 002A1CF0 C0 21 02 08 */ lfs f1, 0x208(r1) /* 802A4D94 002A1CF4 38 03 00 08 */ addi r0, r3, 8 /* 802A4D98 002A1CF8 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802A4D9C 002A1CFC C0 01 01 FC */ lfs f0, 0x1fc(r1) /* 802A4DA0 002A1D00 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A4DA4 002A1D04 90 01 03 74 */ stw r0, 0x374(r1) /* 802A4DA8 002A1D08 EC A4 00 B2 */ fmuls f5, f4, f2 /* 802A4DAC 002A1D0C 38 00 00 00 */ li r0, 0 /* 802A4DB0 002A1D10 C0 61 01 84 */ lfs f3, 0x184(r1) /* 802A4DB4 002A1D14 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A4DB8 002A1D18 C0 41 01 88 */ lfs f2, 0x188(r1) /* 802A4DBC 002A1D1C C0 21 01 8C */ lfs f1, 0x18c(r1) /* 802A4DC0 002A1D20 98 01 03 6C */ stb r0, 0x36c(r1) /* 802A4DC4 002A1D24 38 00 00 00 */ li r0, 0 /* 802A4DC8 002A1D28 D0 61 01 F0 */ stfs f3, 0x1f0(r1) /* 802A4DCC 002A1D2C 90 01 03 68 */ stw r0, 0x368(r1) /* 802A4DD0 002A1D30 D0 41 01 F4 */ stfs f2, 0x1f4(r1) /* 802A4DD4 002A1D34 D0 21 01 F8 */ stfs f1, 0x1f8(r1) /* 802A4DD8 002A1D38 D0 01 01 E4 */ stfs f0, 0x1e4(r1) /* 802A4DDC 002A1D3C D0 C1 01 E8 */ stfs f6, 0x1e8(r1) /* 802A4DE0 002A1D40 D0 A1 01 EC */ stfs f5, 0x1ec(r1) /* 802A4DE4 002A1D44 48 00 0E 14 */ b lbl_802A5BF8 lbl_802A4DE8: /* 802A4DE8 002A1D48 80 81 03 74 */ lwz r4, 0x374(r1) /* 802A4DEC 002A1D4C 38 61 01 FC */ addi r3, r1, 0x1fc /* 802A4DF0 002A1D50 48 09 2D 95 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A4DF4 002A1D54 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A4DF8 002A1D58 41 82 0D E8 */ beq lbl_802A5BE0 /* 802A4DFC 002A1D5C 80 81 03 74 */ lwz r4, 0x374(r1) /* 802A4E00 002A1D60 38 61 00 10 */ addi r3, r1, 0x10 /* 802A4E04 002A1D64 4B FF DF 39 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A4E08 002A1D68 80 01 00 10 */ lwz r0, 0x10(r1) /* 802A4E0C 002A1D6C 3C 80 80 59 */ lis r4, lbl_80597BAC@ha /* 802A4E10 002A1D70 80 61 03 74 */ lwz r3, 0x374(r1) /* 802A4E14 002A1D74 90 01 03 70 */ stw r0, 0x370(r1) /* 802A4E18 002A1D78 83 E3 00 1C */ lwz r31, 0x1c(r3) /* 802A4E1C 002A1D7C 7C 03 03 78 */ mr r3, r0 /* 802A4E20 002A1D80 A0 03 00 18 */ lhz r0, 0x18(r3) /* 802A4E24 002A1D84 90 01 03 64 */ stw r0, 0x364(r1) /* 802A4E28 002A1D88 38 04 7B AC */ addi r0, r4, lbl_80597BAC@l /* 802A4E2C 002A1D8C 90 01 03 78 */ stw r0, 0x378(r1) /* 802A4E30 002A1D90 38 00 00 00 */ li r0, 0 /* 802A4E34 002A1D94 90 01 03 60 */ stw r0, 0x360(r1) /* 802A4E38 002A1D98 48 00 0D 98 */ b lbl_802A5BD0 lbl_802A4E3C: /* 802A4E3C 002A1D9C 80 61 03 70 */ lwz r3, 0x370(r1) /* 802A4E40 002A1DA0 A0 CD A5 D0 */ lhz r6, lbl_805A9190@sda21(r13) /* 802A4E44 002A1DA4 A1 C3 00 1A */ lhz r14, 0x1a(r3) /* 802A4E48 002A1DA8 80 61 03 78 */ lwz r3, 0x378(r1) /* 802A4E4C 002A1DAC 55 C5 0B FC */ rlwinm r5, r14, 1, 0xf, 0x1e /* 802A4E50 002A1DB0 7C 03 2A 2E */ lhzx r0, r3, r5 /* 802A4E54 002A1DB4 7C 06 00 40 */ cmplw r6, r0 /* 802A4E58 002A1DB8 41 82 0D 60 */ beq lbl_802A5BB8 /* 802A4E5C 002A1DBC 80 8D A5 C8 */ lwz r4, lbl_805A9188@sda21(r13) /* 802A4E60 002A1DC0 38 00 00 00 */ li r0, 0 /* 802A4E64 002A1DC4 7C C3 2B 2E */ sthx r6, r3, r5 /* 802A4E68 002A1DC8 38 A4 00 01 */ addi r5, r4, 1 /* 802A4E6C 002A1DCC 80 61 00 0C */ lwz r3, 0xc(r1) /* 802A4E70 002A1DD0 90 AD A5 C8 */ stw r5, lbl_805A9188@sda21(r13) /* 802A4E74 002A1DD4 38 81 00 40 */ addi r4, r1, 0x40 /* 802A4E78 002A1DD8 80 BF 00 34 */ lwz r5, 0x34(r31) /* 802A4E7C 002A1DDC 80 DF 00 28 */ lwz r6, 0x28(r31) /* 802A4E80 002A1DE0 7C A5 70 AE */ lbzx r5, r5, r14 /* 802A4E84 002A1DE4 54 A5 10 3A */ slwi r5, r5, 2 /* 802A4E88 002A1DE8 7E A6 28 2E */ lwzx r21, r6, r5 /* 802A4E8C 002A1DEC 92 A1 00 44 */ stw r21, 0x44(r1) /* 802A4E90 002A1DF0 90 01 00 40 */ stw r0, 0x40(r1) /* 802A4E94 002A1DF4 48 03 04 B9 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A4E98 002A1DF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A4E9C 002A1DFC 41 82 0D 1C */ beq lbl_802A5BB8 /* 802A4EA0 002A1E00 7F E3 FB 78 */ mr r3, r31 /* 802A4EA4 002A1E04 7D C4 73 78 */ mr r4, r14 /* 802A4EA8 002A1E08 38 A1 00 38 */ addi r5, r1, 0x38 /* 802A4EAC 002A1E0C 4B FF DA D9 */ bl GetTriangleVertexIndices__12CAreaOctTreeCFUsPUs /* 802A4EB0 002A1E10 A0 A1 00 3C */ lhz r5, 0x3c(r1) /* 802A4EB4 002A1E14 7E A7 AB 78 */ mr r7, r21 /* 802A4EB8 002A1E18 A0 81 00 38 */ lhz r4, 0x38(r1) /* 802A4EBC 002A1E1C 38 61 02 14 */ addi r3, r1, 0x214 /* 802A4EC0 002A1E20 A0 01 00 3A */ lhz r0, 0x3a(r1) /* 802A4EC4 002A1E24 1C A5 00 0C */ mulli r5, r5, 0xc /* 802A4EC8 002A1E28 81 1F 00 4C */ lwz r8, 0x4c(r31) /* 802A4ECC 002A1E2C 1C 84 00 0C */ mulli r4, r4, 0xc /* 802A4ED0 002A1E30 7C C8 2A 14 */ add r6, r8, r5 /* 802A4ED4 002A1E34 1C 00 00 0C */ mulli r0, r0, 0xc /* 802A4ED8 002A1E38 7C 88 22 14 */ add r4, r8, r4 /* 802A4EDC 002A1E3C 7C A8 02 14 */ add r5, r8, r0 /* 802A4EE0 002A1E40 4B FF D8 49 */ bl __ct__17CCollisionSurfaceFRC9CVector3fRC9CVector3fRC9CVector3fUi /* 802A4EE4 002A1E44 38 C1 02 20 */ addi r6, r1, 0x220 /* 802A4EE8 002A1E48 38 E1 02 2C */ addi r7, r1, 0x22c /* 802A4EEC 002A1E4C 38 61 01 F0 */ addi r3, r1, 0x1f0 /* 802A4EF0 002A1E50 38 81 01 E4 */ addi r4, r1, 0x1e4 /* 802A4EF4 002A1E54 38 A1 02 14 */ addi r5, r1, 0x214 /* 802A4EF8 002A1E58 48 02 C5 E9 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802A4EFC 002A1E5C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A4F00 002A1E60 28 00 00 01 */ cmplwi r0, 1 /* 802A4F04 002A1E64 40 82 0C 4C */ bne lbl_802A5B50 /* 802A4F08 002A1E68 38 61 01 78 */ addi r3, r1, 0x178 /* 802A4F0C 002A1E6C 38 81 02 14 */ addi r4, r1, 0x214 /* 802A4F10 002A1E70 4B FF D7 95 */ bl GetNormal__17CCollisionSurfaceCFv /* 802A4F14 002A1E74 C3 30 00 04 */ lfs f25, 4(r16) /* 802A4F18 002A1E78 C0 50 00 00 */ lfs f2, 0(r16) /* 802A4F1C 002A1E7C EC 19 F0 2A */ fadds f0, f25, f30 /* 802A4F20 002A1E80 C1 01 02 18 */ lfs f8, 0x218(r1) /* 802A4F24 002A1E84 C1 81 01 7C */ lfs f12, 0x17c(r1) /* 802A4F28 002A1E88 EC 22 F8 2A */ fadds f1, f2, f31 /* 802A4F2C 002A1E8C C3 70 00 08 */ lfs f27, 8(r16) /* 802A4F30 002A1E90 EC 00 40 28 */ fsubs f0, f0, f8 /* 802A4F34 002A1E94 C1 21 02 14 */ lfs f9, 0x214(r1) /* 802A4F38 002A1E98 EC 7B E8 2A */ fadds f3, f27, f29 /* 802A4F3C 002A1E9C C1 A1 01 78 */ lfs f13, 0x178(r1) /* 802A4F40 002A1EA0 EC 21 48 28 */ fsubs f1, f1, f9 /* 802A4F44 002A1EA4 C1 41 02 1C */ lfs f10, 0x21c(r1) /* 802A4F48 002A1EA8 EC 00 03 32 */ fmuls f0, f0, f12 /* 802A4F4C 002A1EAC C1 61 01 80 */ lfs f11, 0x180(r1) /* 802A4F50 002A1EB0 EC 63 50 28 */ fsubs f3, f3, f10 /* 802A4F54 002A1EB4 C0 F0 00 0C */ lfs f7, 0xc(r16) /* 802A4F58 002A1EB8 EC 01 03 7A */ fmadds f0, f1, f13, f0 /* 802A4F5C 002A1EBC D1 A1 01 D8 */ stfs f13, 0x1d8(r1) /* 802A4F60 002A1EC0 D1 81 01 DC */ stfs f12, 0x1dc(r1) /* 802A4F64 002A1EC4 EC 03 02 FA */ fmadds f0, f3, f11, f0 /* 802A4F68 002A1EC8 D1 61 01 E0 */ stfs f11, 0x1e0(r1) /* 802A4F6C 002A1ECC FC 00 38 40 */ fcmpo cr0, f0, f7 /* 802A4F70 002A1ED0 41 81 0C 48 */ bgt lbl_802A5BB8 /* 802A4F74 002A1ED4 EE D9 40 28 */ fsubs f22, f25, f8 /* 802A4F78 002A1ED8 C3 12 00 04 */ lfs f24, 4(r18) /* 802A4F7C 002A1EDC EE 82 48 28 */ fsubs f20, f2, f9 /* 802A4F80 002A1EE0 C0 A1 02 28 */ lfs f5, 0x228(r1) /* 802A4F84 002A1EE4 EE BB 50 28 */ fsubs f21, f27, f10 /* 802A4F88 002A1EE8 C3 52 00 00 */ lfs f26, 0(r18) /* 802A4F8C 002A1EEC EC 76 03 32 */ fmuls f3, f22, f12 /* 802A4F90 002A1EF0 D2 81 01 6C */ stfs f20, 0x16c(r1) /* 802A4F94 002A1EF4 EC 38 03 32 */ fmuls f1, f24, f12 /* 802A4F98 002A1EF8 C2 F2 00 08 */ lfs f23, 8(r18) /* 802A4F9C 002A1EFC EC 05 50 28 */ fsubs f0, f5, f10 /* 802A4FA0 002A1F00 C0 81 02 20 */ lfs f4, 0x220(r1) /* 802A4FA4 002A1F04 EE 74 1B 7A */ fmadds f19, f20, f13, f3 /* 802A4FA8 002A1F08 D2 A1 01 74 */ stfs f21, 0x174(r1) /* 802A4FAC 002A1F0C EE 5A 0B 7A */ fmadds f18, f26, f13, f1 /* 802A4FB0 002A1F10 C0 C1 02 24 */ lfs f6, 0x224(r1) /* 802A4FB4 002A1F14 D2 C1 01 70 */ stfs f22, 0x170(r1) /* 802A4FB8 002A1F18 3A C0 00 00 */ li r22, 0 /* 802A4FBC 002A1F1C EE 95 9A FA */ fmadds f20, f21, f11, f19 /* 802A4FC0 002A1F20 D0 01 01 50 */ stfs f0, 0x150(r1) /* 802A4FC4 002A1F24 EE 57 92 FA */ fmadds f18, f23, f11, f18 /* 802A4FC8 002A1F28 C0 62 C1 4C */ lfs f3, lbl_805ADE6C@sda21(r2) /* 802A4FCC 002A1F2C EE 64 48 28 */ fsubs f19, f4, f9 /* 802A4FD0 002A1F30 EF 87 A0 28 */ fsubs f28, f7, f20 /* 802A4FD4 002A1F34 EC 26 40 28 */ fsubs f1, f6, f8 /* 802A4FD8 002A1F38 EE A0 03 72 */ fmuls f21, f0, f13 /* 802A4FDC 002A1F3C D2 61 01 48 */ stfs f19, 0x148(r1) /* 802A4FE0 002A1F40 FF 9C 90 24 */ fdiv f28, f28, f18 /* 802A4FE4 002A1F44 D0 21 01 4C */ stfs f1, 0x14c(r1) /* 802A4FE8 002A1F48 EE CB AC F8 */ fmsubs f22, f11, f19, f21 /* 802A4FEC 002A1F4C FE 40 E0 18 */ frsp f18, f28 /* 802A4FF0 002A1F50 EE 81 02 F2 */ fmuls f20, f1, f11 /* 802A4FF4 002A1F54 D2 C1 01 58 */ stfs f22, 0x158(r1) /* 802A4FF8 002A1F58 EE B2 06 32 */ fmuls f21, f18, f24 /* 802A4FFC 002A1F5C EF 12 06 B2 */ fmuls f24, f18, f26 /* 802A5000 002A1F60 EE 8C A0 38 */ fmsubs f20, f12, f0, f20 /* 802A5004 002A1F64 EF 59 A8 2A */ fadds f26, f25, f21 /* 802A5008 002A1F68 EC 12 05 F2 */ fmuls f0, f18, f23 /* 802A500C 002A1F6C EF 22 C0 2A */ fadds f25, f2, f24 /* 802A5010 002A1F70 D2 81 01 54 */ stfs f20, 0x154(r1) /* 802A5014 002A1F74 EE 5A 40 28 */ fsubs f18, f26, f8 /* 802A5018 002A1F78 EF 7B 00 2A */ fadds f27, f27, f0 /* 802A501C 002A1F7C EE B3 03 32 */ fmuls f21, f19, f12 /* 802A5020 002A1F80 EC 59 48 28 */ fsubs f2, f25, f9 /* 802A5024 002A1F84 D2 41 01 64 */ stfs f18, 0x164(r1) /* 802A5028 002A1F88 EC 12 05 B2 */ fmuls f0, f18, f22 /* 802A502C 002A1F8C EC 2D A8 78 */ fmsubs f1, f13, f1, f21 /* 802A5030 002A1F90 EE 5B 50 28 */ fsubs f18, f27, f10 /* 802A5034 002A1F94 D0 41 01 60 */ stfs f2, 0x160(r1) /* 802A5038 002A1F98 EC 02 05 3A */ fmadds f0, f2, f20, f0 /* 802A503C 002A1F9C D0 21 01 5C */ stfs f1, 0x15c(r1) /* 802A5040 002A1FA0 EC 12 00 7A */ fmadds f0, f18, f1, f0 /* 802A5044 002A1FA4 D2 41 01 68 */ stfs f18, 0x168(r1) /* 802A5048 002A1FA8 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 802A504C 002A1FAC 7C 00 00 26 */ mfcr r0 /* 802A5050 002A1FB0 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 802A5054 002A1FB4 C0 41 02 30 */ lfs f2, 0x230(r1) /* 802A5058 002A1FB8 54 04 0F FE */ srwi r4, r0, 0x1f /* 802A505C 002A1FBC EE A0 20 28 */ fsubs f21, f0, f4 /* 802A5060 002A1FC0 C0 21 02 34 */ lfs f1, 0x234(r1) /* 802A5064 002A1FC4 EE 82 30 28 */ fsubs f20, f2, f6 /* 802A5068 002A1FC8 98 81 00 18 */ stb r4, 0x18(r1) /* 802A506C 002A1FCC EE 61 28 28 */ fsubs f19, f1, f5 /* 802A5070 002A1FD0 D2 A1 01 24 */ stfs f21, 0x124(r1) /* 802A5074 002A1FD4 EE F3 03 72 */ fmuls f23, f19, f13 /* 802A5078 002A1FD8 D2 81 01 28 */ stfs f20, 0x128(r1) /* 802A507C 002A1FDC EE D4 02 F2 */ fmuls f22, f20, f11 /* 802A5080 002A1FE0 EE 5A 30 28 */ fsubs f18, f26, f6 /* 802A5084 002A1FE4 D2 61 01 2C */ stfs f19, 0x12c(r1) /* 802A5088 002A1FE8 EF 0B BD 78 */ fmsubs f24, f11, f21, f23 /* 802A508C 002A1FEC EE CC B4 F8 */ fmsubs f22, f12, f19, f22 /* 802A5090 002A1FF0 EE F5 03 32 */ fmuls f23, f21, f12 /* 802A5094 002A1FF4 D2 41 01 40 */ stfs f18, 0x140(r1) /* 802A5098 002A1FF8 EC D9 20 28 */ fsubs f6, f25, f4 /* 802A509C 002A1FFC EC 92 06 32 */ fmuls f4, f18, f24 /* 802A50A0 002A2000 D2 C1 01 30 */ stfs f22, 0x130(r1) /* 802A50A4 002A2004 EE ED BD 38 */ fmsubs f23, f13, f20, f23 /* 802A50A8 002A2008 EC BB 28 28 */ fsubs f5, f27, f5 /* 802A50AC 002A200C D3 01 01 34 */ stfs f24, 0x134(r1) /* 802A50B0 002A2010 EC 86 25 BA */ fmadds f4, f6, f22, f4 /* 802A50B4 002A2014 D2 E1 01 38 */ stfs f23, 0x138(r1) /* 802A50B8 002A2018 EC 85 25 FA */ fmadds f4, f5, f23, f4 /* 802A50BC 002A201C D0 C1 01 3C */ stfs f6, 0x13c(r1) /* 802A50C0 002A2020 D0 A1 01 44 */ stfs f5, 0x144(r1) /* 802A50C4 002A2024 FC 04 18 40 */ fcmpo cr0, f4, f3 /* 802A50C8 002A2028 7C 00 00 26 */ mfcr r0 /* 802A50CC 002A202C ED 4A 08 28 */ fsubs f10, f10, f1 /* 802A50D0 002A2030 EE 48 10 28 */ fsubs f18, f8, f2 /* 802A50D4 002A2034 54 03 0F FE */ srwi r3, r0, 0x1f /* 802A50D8 002A2038 ED 09 00 28 */ fsubs f8, f9, f0 /* 802A50DC 002A203C 98 61 00 19 */ stb r3, 0x19(r1) /* 802A50E0 002A2040 EC 8A 03 72 */ fmuls f4, f10, f13 /* 802A50E4 002A2044 EC D2 02 F2 */ fmuls f6, f18, f11 /* 802A50E8 002A2048 ED 3A 10 28 */ fsubs f9, f26, f2 /* 802A50EC 002A204C D1 01 01 00 */ stfs f8, 0x100(r1) /* 802A50F0 002A2050 EC AB 22 38 */ fmsubs f5, f11, f8, f4 /* 802A50F4 002A2054 EC CC 32 B8 */ fmsubs f6, f12, f10, f6 /* 802A50F8 002A2058 D2 41 01 04 */ stfs f18, 0x104(r1) /* 802A50FC 002A205C EC 88 03 32 */ fmuls f4, f8, f12 /* 802A5100 002A2060 EC 59 00 28 */ fsubs f2, f25, f0 /* 802A5104 002A2064 D1 41 01 08 */ stfs f10, 0x108(r1) /* 802A5108 002A2068 EC 09 01 72 */ fmuls f0, f9, f5 /* 802A510C 002A206C EC 8D 24 B8 */ fmsubs f4, f13, f18, f4 /* 802A5110 002A2070 D0 C1 01 0C */ stfs f6, 0x10c(r1) /* 802A5114 002A2074 EC 3B 08 28 */ fsubs f1, f27, f1 /* 802A5118 002A2078 EC 02 01 BA */ fmadds f0, f2, f6, f0 /* 802A511C 002A207C D0 A1 01 10 */ stfs f5, 0x110(r1) /* 802A5120 002A2080 D0 81 01 14 */ stfs f4, 0x114(r1) /* 802A5124 002A2084 EC 01 01 3A */ fmadds f0, f1, f4, f0 /* 802A5128 002A2088 D0 41 01 18 */ stfs f2, 0x118(r1) /* 802A512C 002A208C FC 00 18 40 */ fcmpo cr0, f0, f3 /* 802A5130 002A2090 D1 21 01 1C */ stfs f9, 0x11c(r1) /* 802A5134 002A2094 D0 21 01 20 */ stfs f1, 0x120(r1) /* 802A5138 002A2098 7C 00 00 26 */ mfcr r0 /* 802A513C 002A209C C8 02 C1 58 */ lfd f0, lbl_805ADE78@sda21(r2) /* 802A5140 002A20A0 54 00 0F FE */ srwi r0, r0, 0x1f /* 802A5144 002A20A4 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 802A5148 002A20A8 98 01 00 1A */ stb r0, 0x1a(r1) /* 802A514C 002A20AC 4C 41 13 82 */ cror 2, 1, 2 /* 802A5150 002A20B0 40 82 01 30 */ bne lbl_802A5280 /* 802A5154 002A20B4 28 04 00 00 */ cmplwi r4, 0 /* 802A5158 002A20B8 40 82 01 28 */ bne lbl_802A5280 /* 802A515C 002A20BC 28 03 00 00 */ cmplwi r3, 0 /* 802A5160 002A20C0 40 82 01 20 */ bne lbl_802A5280 /* 802A5164 002A20C4 28 00 00 00 */ cmplwi r0, 0 /* 802A5168 002A20C8 40 82 01 18 */ bne lbl_802A5280 /* 802A516C 002A20CC C8 14 00 00 */ lfd f0, 0(r20) /* 802A5170 002A20D0 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 802A5174 002A20D4 40 80 01 0C */ bge lbl_802A5280 /* 802A5178 002A20D8 EC 07 03 32 */ fmuls f0, f7, f12 /* 802A517C 002A20DC 7E 25 8B 78 */ mr r5, r17 /* 802A5180 002A20E0 EC 47 02 F2 */ fmuls f2, f7, f11 /* 802A5184 002A20E4 38 61 03 00 */ addi r3, r1, 0x300 /* 802A5188 002A20E8 EC 27 03 72 */ fmuls f1, f7, f13 /* 802A518C 002A20EC 38 81 00 F4 */ addi r4, r1, 0xf4 /* 802A5190 002A20F0 EC 9A 00 28 */ fsubs f4, f26, f0 /* 802A5194 002A20F4 D0 01 00 EC */ stfs f0, 0xec(r1) /* 802A5198 002A20F8 EC 7B 10 28 */ fsubs f3, f27, f2 /* 802A519C 002A20FC 38 C1 00 40 */ addi r6, r1, 0x40 /* 802A51A0 002A2100 EC 19 08 28 */ fsubs f0, f25, f1 /* 802A51A4 002A2104 D0 21 00 E8 */ stfs f1, 0xe8(r1) /* 802A51A8 002A2108 D0 41 00 F0 */ stfs f2, 0xf0(r1) /* 802A51AC 002A210C 38 E1 01 D8 */ addi r7, r1, 0x1d8 /* 802A51B0 002A2110 3A C0 00 01 */ li r22, 1 /* 802A51B4 002A2114 D0 01 00 F4 */ stfs f0, 0xf4(r1) /* 802A51B8 002A2118 D0 81 00 F8 */ stfs f4, 0xf8(r1) /* 802A51BC 002A211C D0 61 00 FC */ stfs f3, 0xfc(r1) /* 802A51C0 002A2120 48 02 92 89 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A51C4 002A2124 38 00 00 01 */ li r0, 1 /* 802A51C8 002A2128 80 61 03 00 */ lwz r3, 0x300(r1) /* 802A51CC 002A212C 98 01 03 6C */ stb r0, 0x36c(r1) /* 802A51D0 002A2130 80 01 03 04 */ lwz r0, 0x304(r1) /* 802A51D4 002A2134 90 73 00 00 */ stw r3, 0(r19) /* 802A51D8 002A2138 90 13 00 04 */ stw r0, 4(r19) /* 802A51DC 002A213C 80 01 03 08 */ lwz r0, 0x308(r1) /* 802A51E0 002A2140 90 13 00 08 */ stw r0, 8(r19) /* 802A51E4 002A2144 80 61 03 0C */ lwz r3, 0x30c(r1) /* 802A51E8 002A2148 80 01 03 10 */ lwz r0, 0x310(r1) /* 802A51EC 002A214C 90 73 00 0C */ stw r3, 0xc(r19) /* 802A51F0 002A2150 90 13 00 10 */ stw r0, 0x10(r19) /* 802A51F4 002A2154 80 01 03 14 */ lwz r0, 0x314(r1) /* 802A51F8 002A2158 90 13 00 14 */ stw r0, 0x14(r19) /* 802A51FC 002A215C 80 61 03 18 */ lwz r3, 0x318(r1) /* 802A5200 002A2160 80 01 03 1C */ lwz r0, 0x31c(r1) /* 802A5204 002A2164 90 73 00 18 */ stw r3, 0x18(r19) /* 802A5208 002A2168 90 13 00 1C */ stw r0, 0x1c(r19) /* 802A520C 002A216C 80 01 03 20 */ lwz r0, 0x320(r1) /* 802A5210 002A2170 90 13 00 20 */ stw r0, 0x20(r19) /* 802A5214 002A2174 80 61 03 24 */ lwz r3, 0x324(r1) /* 802A5218 002A2178 80 01 03 28 */ lwz r0, 0x328(r1) /* 802A521C 002A217C 90 73 00 24 */ stw r3, 0x24(r19) /* 802A5220 002A2180 90 13 00 28 */ stw r0, 0x28(r19) /* 802A5224 002A2184 80 01 03 2C */ lwz r0, 0x32c(r1) /* 802A5228 002A2188 90 13 00 2C */ stw r0, 0x2c(r19) /* 802A522C 002A218C 88 01 03 30 */ lbz r0, 0x330(r1) /* 802A5230 002A2190 98 13 00 30 */ stb r0, 0x30(r19) /* 802A5234 002A2194 88 01 03 31 */ lbz r0, 0x331(r1) /* 802A5238 002A2198 98 13 00 31 */ stb r0, 0x31(r19) /* 802A523C 002A219C C8 01 03 38 */ lfd f0, 0x338(r1) /* 802A5240 002A21A0 D8 13 00 38 */ stfd f0, 0x38(r19) /* 802A5244 002A21A4 C8 01 03 40 */ lfd f0, 0x340(r1) /* 802A5248 002A21A8 D8 13 00 40 */ stfd f0, 0x40(r19) /* 802A524C 002A21AC 80 61 03 48 */ lwz r3, 0x348(r1) /* 802A5250 002A21B0 80 01 03 4C */ lwz r0, 0x34c(r1) /* 802A5254 002A21B4 90 73 00 48 */ stw r3, 0x48(r19) /* 802A5258 002A21B8 90 13 00 4C */ stw r0, 0x4c(r19) /* 802A525C 002A21BC 80 01 03 50 */ lwz r0, 0x350(r1) /* 802A5260 002A21C0 90 13 00 50 */ stw r0, 0x50(r19) /* 802A5264 002A21C4 80 61 03 54 */ lwz r3, 0x354(r1) /* 802A5268 002A21C8 80 01 03 58 */ lwz r0, 0x358(r1) /* 802A526C 002A21CC 90 73 00 54 */ stw r3, 0x54(r19) /* 802A5270 002A21D0 90 13 00 58 */ stw r0, 0x58(r19) /* 802A5274 002A21D4 80 01 03 5C */ lwz r0, 0x35c(r1) /* 802A5278 002A21D8 90 13 00 5C */ stw r0, 0x5c(r19) /* 802A527C 002A21DC DB 94 00 00 */ stfd f28, 0(r20) lbl_802A5280: /* 802A5280 002A21E0 C0 30 00 04 */ lfs f1, 4(r16) /* 802A5284 002A21E4 C0 01 02 18 */ lfs f0, 0x218(r1) /* 802A5288 002A21E8 C0 50 00 00 */ lfs f2, 0(r16) /* 802A528C 002A21EC EC A1 00 28 */ fsubs f5, f1, f0 /* 802A5290 002A21F0 C0 21 02 14 */ lfs f1, 0x214(r1) /* 802A5294 002A21F4 C0 01 01 DC */ lfs f0, 0x1dc(r1) /* 802A5298 002A21F8 EC 62 08 28 */ fsubs f3, f2, f1 /* 802A529C 002A21FC C0 90 00 08 */ lfs f4, 8(r16) /* 802A52A0 002A2200 C0 41 02 1C */ lfs f2, 0x21c(r1) /* 802A52A4 002A2204 EC 05 00 32 */ fmuls f0, f5, f0 /* 802A52A8 002A2208 C0 21 01 D8 */ lfs f1, 0x1d8(r1) /* 802A52AC 002A220C EC 84 10 28 */ fsubs f4, f4, f2 /* 802A52B0 002A2210 C0 41 01 E0 */ lfs f2, 0x1e0(r1) /* 802A52B4 002A2214 EC 23 00 7A */ fmadds f1, f3, f1, f0 /* 802A52B8 002A2218 C0 10 00 0C */ lfs f0, 0xc(r16) /* 802A52BC 002A221C D0 61 00 DC */ stfs f3, 0xdc(r1) /* 802A52C0 002A2220 EC 24 08 BA */ fmadds f1, f4, f2, f1 /* 802A52C4 002A2224 D0 A1 00 E0 */ stfs f5, 0xe0(r1) /* 802A52C8 002A2228 D0 81 00 E4 */ stfs f4, 0xe4(r1) /* 802A52CC 002A222C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A52D0 002A2230 4C 40 13 82 */ cror 2, 0, 2 /* 802A52D4 002A2234 7C A0 00 26 */ mfcr r5 /* 802A52D8 002A2238 A0 82 C1 48 */ lhz r4, lbl_805ADE68@sda21(r2) /* 802A52DC 002A223C 88 02 C1 4A */ lbz r0, lbl_805ADE6A@sda21(r2) /* 802A52E0 002A2240 7F E3 FB 78 */ mr r3, r31 /* 802A52E4 002A2244 B0 81 00 14 */ sth r4, 0x14(r1) /* 802A52E8 002A2248 7D C4 73 78 */ mr r4, r14 /* 802A52EC 002A224C 54 AE 1F FE */ rlwinm r14, r5, 3, 0x1f, 0x1f /* 802A52F0 002A2250 98 01 00 16 */ stb r0, 0x16(r1) /* 802A52F4 002A2254 4B FF D6 7D */ bl GetTriangleEdgeIndices__12CAreaOctTreeCFUs /* 802A52F8 002A2258 3C 80 80 3F */ lis r4, lbl_803EC428@ha /* 802A52FC 002A225C 3A E1 02 14 */ addi r23, r1, 0x214 /* 802A5300 002A2260 3B 01 00 14 */ addi r24, r1, 0x14 /* 802A5304 002A2264 7C 7C 1B 78 */ mr r28, r3 /* 802A5308 002A2268 3B 44 C4 28 */ addi r26, r4, lbl_803EC428@l /* 802A530C 002A226C 7E FB BB 78 */ mr r27, r23 /* 802A5310 002A2270 7F 19 C3 78 */ mr r25, r24 /* 802A5314 002A2274 3B A1 00 18 */ addi r29, r1, 0x18 /* 802A5318 002A2278 3A A0 00 00 */ li r21, 0 lbl_802A531C: /* 802A531C 002A227C 28 0E 00 00 */ cmplwi r14, 0 /* 802A5320 002A2280 40 82 00 10 */ bne lbl_802A5330 /* 802A5324 002A2284 88 1D 00 00 */ lbz r0, 0(r29) /* 802A5328 002A2288 28 00 00 00 */ cmplwi r0, 0 /* 802A532C 002A228C 41 82 04 94 */ beq lbl_802A57C0 lbl_802A5330: /* 802A5330 002A2290 A0 DC 00 00 */ lhz r6, 0(r28) /* 802A5334 002A2294 3C 60 80 59 */ lis r3, lbl_8058BBAC@ha /* 802A5338 002A2298 38 63 BB AC */ addi r3, r3, lbl_8058BBAC@l /* 802A533C 002A229C A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802A5340 002A22A0 54 C4 08 3C */ slwi r4, r6, 1 /* 802A5344 002A22A4 7C 03 22 2E */ lhzx r0, r3, r4 /* 802A5348 002A22A8 7C 05 00 40 */ cmplw r5, r0 /* 802A534C 002A22AC 41 82 04 74 */ beq lbl_802A57C0 /* 802A5350 002A22B0 7C A3 23 2E */ sthx r5, r3, r4 /* 802A5354 002A22B4 80 7F 00 30 */ lwz r3, 0x30(r31) /* 802A5358 002A22B8 80 9F 00 28 */ lwz r4, 0x28(r31) /* 802A535C 002A22BC 7C 03 30 AE */ lbzx r0, r3, r6 /* 802A5360 002A22C0 54 00 10 3A */ slwi r0, r0, 2 /* 802A5364 002A22C4 7F C4 00 2E */ lwzx r30, r4, r0 /* 802A5368 002A22C8 57 C0 01 CF */ rlwinm. r0, r30, 0, 7, 7 /* 802A536C 002A22CC 40 82 04 54 */ bne lbl_802A57C0 /* 802A5370 002A22D0 80 1A 00 04 */ lwz r0, 4(r26) /* 802A5374 002A22D4 38 81 02 14 */ addi r4, r1, 0x214 /* 802A5378 002A22D8 C0 9B 00 04 */ lfs f4, 4(r27) /* 802A537C 002A22DC 38 61 01 CC */ addi r3, r1, 0x1cc /* 802A5380 002A22E0 1C 00 00 0C */ mulli r0, r0, 0xc /* 802A5384 002A22E4 C0 5B 00 08 */ lfs f2, 8(r27) /* 802A5388 002A22E8 C0 1B 00 00 */ lfs f0, 0(r27) /* 802A538C 002A22EC 7C 84 02 14 */ add r4, r4, r0 /* 802A5390 002A22F0 C0 A4 00 04 */ lfs f5, 4(r4) /* 802A5394 002A22F4 C0 64 00 08 */ lfs f3, 8(r4) /* 802A5398 002A22F8 C0 24 00 00 */ lfs f1, 0(r4) /* 802A539C 002A22FC EC 85 20 28 */ fsubs f4, f5, f4 /* 802A53A0 002A2300 EC 43 10 28 */ fsubs f2, f3, f2 /* 802A53A4 002A2304 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A53A8 002A2308 D0 81 01 D0 */ stfs f4, 0x1d0(r1) /* 802A53AC 002A230C D0 01 01 CC */ stfs f0, 0x1cc(r1) /* 802A53B0 002A2310 D0 41 01 D4 */ stfs f2, 0x1d4(r1) /* 802A53B4 002A2314 48 06 F5 05 */ bl Magnitude__9CVector3fCFv /* 802A53B8 002A2318 C0 42 C1 64 */ lfs f2, lbl_805ADE84@sda21(r2) /* 802A53BC 002A231C C0 01 01 D0 */ lfs f0, 0x1d0(r1) /* 802A53C0 002A2320 EC E2 08 24 */ fdivs f7, f2, f1 /* 802A53C4 002A2324 C0 A1 01 CC */ lfs f5, 0x1cc(r1) /* 802A53C8 002A2328 C0 61 01 D4 */ lfs f3, 0x1d4(r1) /* 802A53CC 002A232C C2 92 00 04 */ lfs f20, 4(r18) /* 802A53D0 002A2330 C0 52 00 00 */ lfs f2, 0(r18) /* 802A53D4 002A2334 C0 D2 00 08 */ lfs f6, 8(r18) /* 802A53D8 002A2338 ED 80 01 F2 */ fmuls f12, f0, f7 /* 802A53DC 002A233C C0 90 00 04 */ lfs f4, 4(r16) /* 802A53E0 002A2340 ED A5 01 F2 */ fmuls f13, f5, f7 /* 802A53E4 002A2344 C0 1B 00 04 */ lfs f0, 4(r27) /* 802A53E8 002A2348 ED 43 01 F2 */ fmuls f10, f3, f7 /* 802A53EC 002A234C C1 30 00 00 */ lfs f9, 0(r16) /* 802A53F0 002A2350 EC 74 03 32 */ fmuls f3, f20, f12 /* 802A53F4 002A2354 C1 1B 00 00 */ lfs f8, 0(r27) /* 802A53F8 002A2358 EC 04 00 28 */ fsubs f0, f4, f0 /* 802A53FC 002A235C C0 F0 00 08 */ lfs f7, 8(r16) /* 802A5400 002A2360 C0 BB 00 08 */ lfs f5, 8(r27) /* 802A5404 002A2364 EE 69 40 28 */ fsubs f19, f9, f8 /* 802A5408 002A2368 EC 62 1B 7A */ fmadds f3, f2, f13, f3 /* 802A540C 002A236C C1 62 C1 4C */ lfs f11, lbl_805ADE6C@sda21(r2) /* 802A5410 002A2370 EC 80 03 32 */ fmuls f4, f0, f12 /* 802A5414 002A2374 D1 A1 01 CC */ stfs f13, 0x1cc(r1) /* 802A5418 002A2378 EE 47 28 28 */ fsubs f18, f7, f5 /* 802A541C 002A237C EC A6 1A BA */ fmadds f5, f6, f10, f3 /* 802A5420 002A2380 EC 93 23 7A */ fmadds f4, f19, f13, f4 /* 802A5424 002A2384 D1 81 01 D0 */ stfs f12, 0x1d0(r1) /* 802A5428 002A2388 EC 65 03 32 */ fmuls f3, f5, f12 /* 802A542C 002A238C D1 41 01 D4 */ stfs f10, 0x1d4(r1) /* 802A5430 002A2390 EC E5 03 72 */ fmuls f7, f5, f13 /* 802A5434 002A2394 EC 92 22 BA */ fmadds f4, f18, f10, f4 /* 802A5438 002A2398 EE 94 18 28 */ fsubs f20, f20, f3 /* 802A543C 002A239C ED 05 02 B2 */ fmuls f8, f5, f10 /* 802A5440 002A23A0 EC 62 38 28 */ fsubs f3, f2, f7 /* 802A5444 002A23A4 EC F4 05 32 */ fmuls f7, f20, f20 /* 802A5448 002A23A8 EC 46 40 28 */ fsubs f2, f6, f8 /* 802A544C 002A23AC ED 24 03 72 */ fmuls f9, f4, f13 /* 802A5450 002A23B0 EC C3 38 FA */ fmadds f6, f3, f3, f7 /* 802A5454 002A23B4 ED 04 03 32 */ fmuls f8, f4, f12 /* 802A5458 002A23B8 EC E4 02 B2 */ fmuls f7, f4, f10 /* 802A545C 002A23BC EC C2 30 BA */ fmadds f6, f2, f2, f6 /* 802A5460 002A23C0 ED B3 48 28 */ fsubs f13, f19, f9 /* 802A5464 002A23C4 EC 00 40 28 */ fsubs f0, f0, f8 /* 802A5468 002A23C8 FC 06 58 40 */ fcmpo cr0, f6, f11 /* 802A546C 002A23CC ED 92 38 28 */ fsubs f12, f18, f7 /* 802A5470 002A23D0 40 81 03 50 */ ble lbl_802A57C0 /* 802A5474 002A23D4 EC E0 00 32 */ fmuls f7, f0, f0 /* 802A5478 002A23D8 C1 50 00 0C */ lfs f10, 0xc(r16) /* 802A547C 002A23DC ED 20 05 32 */ fmuls f9, f0, f20 /* 802A5480 002A23E0 C1 02 C1 6C */ lfs f8, lbl_805ADE8C@sda21(r2) /* 802A5484 002A23E4 EC 0A 02 B2 */ fmuls f0, f10, f10 /* 802A5488 002A23E8 C1 42 C1 68 */ lfs f10, lbl_805ADE88@sda21(r2) /* 802A548C 002A23EC EC ED 3B 7A */ fmadds f7, f13, f13, f7 /* 802A5490 002A23F0 ED 2D 48 FA */ fmadds f9, f13, f3, f9 /* 802A5494 002A23F4 ED 08 01 B2 */ fmuls f8, f8, f6 /* 802A5498 002A23F8 EC 6C 3B 3A */ fmadds f3, f12, f12, f7 /* 802A549C 002A23FC EC EC 48 BA */ fmadds f7, f12, f2, f9 /* 802A54A0 002A2400 EC 43 00 28 */ fsubs f2, f3, f0 /* 802A54A4 002A2404 EC 0A 01 F2 */ fmuls f0, f10, f7 /* 802A54A8 002A2408 EC 48 00 B2 */ fmuls f2, f8, f2 /* 802A54AC 002A240C ED 20 10 38 */ fmsubs f9, f0, f0, f2 /* 802A54B0 002A2410 FC 09 58 40 */ fcmpo cr0, f9, f11 /* 802A54B4 002A2414 4C 41 13 82 */ cror 2, 1, 2 /* 802A54B8 002A2418 40 82 02 F4 */ bne lbl_802A57AC /* 802A54BC 002A241C C9 02 C1 70 */ lfd f8, lbl_805ADE90@sda21(r2) /* 802A54C0 002A2420 C8 E2 C1 58 */ lfd f7, lbl_805ADE78@sda21(r2) /* 802A54C4 002A2424 FC 48 30 24 */ fdiv f2, f8, f6 /* 802A54C8 002A2428 FC 09 38 40 */ fcmpo cr0, f9, f7 /* 802A54CC 002A242C 40 81 00 54 */ ble lbl_802A5520 /* 802A54D0 002A2430 FC C0 48 34 */ frsqrte f6, f9 /* 802A54D4 002A2434 C8 E2 C1 78 */ lfd f7, lbl_805ADE98@sda21(r2) /* 802A54D8 002A2438 FC 66 01 B2 */ fmul f3, f6, f6 /* 802A54DC 002A243C FC C8 01 B2 */ fmul f6, f8, f6 /* 802A54E0 002A2440 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802A54E4 002A2444 FC C6 00 F2 */ fmul f6, f6, f3 /* 802A54E8 002A2448 FC 66 01 B2 */ fmul f3, f6, f6 /* 802A54EC 002A244C FC C8 01 B2 */ fmul f6, f8, f6 /* 802A54F0 002A2450 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802A54F4 002A2454 FC C6 00 F2 */ fmul f6, f6, f3 /* 802A54F8 002A2458 FC 66 01 B2 */ fmul f3, f6, f6 /* 802A54FC 002A245C FC C8 01 B2 */ fmul f6, f8, f6 /* 802A5500 002A2460 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802A5504 002A2464 FC C6 00 F2 */ fmul f6, f6, f3 /* 802A5508 002A2468 FC 66 01 B2 */ fmul f3, f6, f6 /* 802A550C 002A246C FC C8 01 B2 */ fmul f6, f8, f6 /* 802A5510 002A2470 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802A5514 002A2474 FC 66 00 F2 */ fmul f3, f6, f3 /* 802A5518 002A2478 FC E9 00 F2 */ fmul f7, f9, f3 /* 802A551C 002A247C 48 00 00 2C */ b lbl_802A5548 lbl_802A5520: /* 802A5520 002A2480 FC 07 48 00 */ fcmpu cr0, f7, f9 /* 802A5524 002A2484 40 82 00 08 */ bne lbl_802A552C /* 802A5528 002A2488 48 00 00 20 */ b lbl_802A5548 lbl_802A552C: /* 802A552C 002A248C FC 09 38 00 */ fcmpu cr0, f9, f7 /* 802A5530 002A2490 41 82 00 10 */ beq lbl_802A5540 /* 802A5534 002A2494 3C 60 80 5B */ lis r3, lbl_805A8BA0@ha /* 802A5538 002A2498 C0 E3 8B A0 */ lfs f7, lbl_805A8BA0@l(r3) /* 802A553C 002A249C 48 00 00 0C */ b lbl_802A5548 lbl_802A5540: /* 802A5540 002A24A0 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha /* 802A5544 002A24A4 C0 E3 8B A4 */ lfs f7, lbl_805A8BA4@l(r3) lbl_802A5548: /* 802A5548 002A24A8 FC 60 00 50 */ fneg f3, f0 /* 802A554C 002A24AC C8 02 C1 58 */ lfd f0, lbl_805ADE78@sda21(r2) /* 802A5550 002A24B0 FC 63 38 28 */ fsub f3, f3, f7 /* 802A5554 002A24B4 FE E2 00 F2 */ fmul f23, f2, f3 /* 802A5558 002A24B8 FC 17 00 40 */ fcmpo cr0, f23, f0 /* 802A555C 002A24BC 4C 41 13 82 */ cror 2, 1, 2 /* 802A5560 002A24C0 40 82 02 60 */ bne lbl_802A57C0 /* 802A5564 002A24C4 FC 77 21 7A */ fmadd f3, f23, f5, f4 /* 802A5568 002A24C8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 802A556C 002A24CC 4C 41 13 82 */ cror 2, 1, 2 /* 802A5570 002A24D0 40 82 01 E0 */ bne lbl_802A5750 /* 802A5574 002A24D4 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 802A5578 002A24D8 4C 40 13 82 */ cror 2, 0, 2 /* 802A557C 002A24DC 40 82 01 D4 */ bne lbl_802A5750 /* 802A5580 002A24E0 C8 14 00 00 */ lfd f0, 0(r20) /* 802A5584 002A24E4 FC 17 00 40 */ fcmpo cr0, f23, f0 /* 802A5588 002A24E8 40 80 01 C8 */ bge lbl_802A5750 /* 802A558C 002A24EC FD 00 18 18 */ frsp f8, f3 /* 802A5590 002A24F0 C0 21 01 D0 */ lfs f1, 0x1d0(r1) /* 802A5594 002A24F4 C0 01 01 D4 */ lfs f0, 0x1d4(r1) /* 802A5598 002A24F8 FC 60 B8 18 */ frsp f3, f23 /* 802A559C 002A24FC C0 81 01 CC */ lfs f4, 0x1cc(r1) /* 802A55A0 002A2500 38 61 00 D0 */ addi r3, r1, 0xd0 /* 802A55A4 002A2504 C0 52 00 04 */ lfs f2, 4(r18) /* 802A55A8 002A2508 EC E8 00 72 */ fmuls f7, f8, f1 /* 802A55AC 002A250C C0 32 00 08 */ lfs f1, 8(r18) /* 802A55B0 002A2510 EC A8 00 32 */ fmuls f5, f8, f0 /* 802A55B4 002A2514 C0 12 00 00 */ lfs f0, 0(r18) /* 802A55B8 002A2518 ED 63 00 B2 */ fmuls f11, f3, f2 /* 802A55BC 002A251C ED 43 00 72 */ fmuls f10, f3, f1 /* 802A55C0 002A2520 EC 43 00 32 */ fmuls f2, f3, f0 /* 802A55C4 002A2524 C1 3B 00 04 */ lfs f9, 4(r27) /* 802A55C8 002A2528 C0 DB 00 08 */ lfs f6, 8(r27) /* 802A55CC 002A252C EC 68 01 32 */ fmuls f3, f8, f4 /* 802A55D0 002A2530 C0 9B 00 00 */ lfs f4, 0(r27) /* 802A55D4 002A2534 C0 10 00 04 */ lfs f0, 4(r16) /* 802A55D8 002A2538 C0 30 00 08 */ lfs f1, 8(r16) /* 802A55DC 002A253C EC E9 38 2A */ fadds f7, f9, f7 /* 802A55E0 002A2540 ED 00 58 2A */ fadds f8, f0, f11 /* 802A55E4 002A2544 C0 10 00 00 */ lfs f0, 0(r16) /* 802A55E8 002A2548 EC A6 28 2A */ fadds f5, f6, f5 /* 802A55EC 002A254C D0 41 00 AC */ stfs f2, 0xac(r1) /* 802A55F0 002A2550 EC C1 50 2A */ fadds f6, f1, f10 /* 802A55F4 002A2554 EC 64 18 2A */ fadds f3, f4, f3 /* 802A55F8 002A2558 EC 20 10 2A */ fadds f1, f0, f2 /* 802A55FC 002A255C D0 E1 01 C4 */ stfs f7, 0x1c4(r1) /* 802A5600 002A2560 EC 88 38 28 */ fsubs f4, f8, f7 /* 802A5604 002A2564 38 81 00 C4 */ addi r4, r1, 0xc4 /* 802A5608 002A2568 EC 46 28 28 */ fsubs f2, f6, f5 /* 802A560C 002A256C EC 01 18 28 */ fsubs f0, f1, f3 /* 802A5610 002A2570 D0 61 01 C0 */ stfs f3, 0x1c0(r1) /* 802A5614 002A2574 3A C0 00 01 */ li r22, 1 /* 802A5618 002A2578 D0 A1 01 C8 */ stfs f5, 0x1c8(r1) /* 802A561C 002A257C D1 61 00 B0 */ stfs f11, 0xb0(r1) /* 802A5620 002A2580 D1 41 00 B4 */ stfs f10, 0xb4(r1) /* 802A5624 002A2584 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 802A5628 002A2588 D1 01 00 BC */ stfs f8, 0xbc(r1) /* 802A562C 002A258C D0 C1 00 C0 */ stfs f6, 0xc0(r1) /* 802A5630 002A2590 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 802A5634 002A2594 D0 81 00 C8 */ stfs f4, 0xc8(r1) /* 802A5638 002A2598 D0 41 00 CC */ stfs f2, 0xcc(r1) /* 802A563C 002A259C 48 06 F2 15 */ bl AsNormalized__9CVector3fCFv /* 802A5640 002A25A0 C0 41 00 D0 */ lfs f2, 0xd0(r1) /* 802A5644 002A25A4 38 00 00 00 */ li r0, 0 /* 802A5648 002A25A8 C0 21 00 D4 */ lfs f1, 0xd4(r1) /* 802A564C 002A25AC 7E 25 8B 78 */ mr r5, r17 /* 802A5650 002A25B0 C0 01 00 D8 */ lfs f0, 0xd8(r1) /* 802A5654 002A25B4 38 61 02 A0 */ addi r3, r1, 0x2a0 /* 802A5658 002A25B8 D0 41 01 B4 */ stfs f2, 0x1b4(r1) /* 802A565C 002A25BC 38 81 01 C0 */ addi r4, r1, 0x1c0 /* 802A5660 002A25C0 38 C1 00 28 */ addi r6, r1, 0x28 /* 802A5664 002A25C4 38 E1 01 B4 */ addi r7, r1, 0x1b4 /* 802A5668 002A25C8 D0 21 01 B8 */ stfs f1, 0x1b8(r1) /* 802A566C 002A25CC D0 01 01 BC */ stfs f0, 0x1bc(r1) /* 802A5670 002A25D0 93 C1 00 2C */ stw r30, 0x2c(r1) /* 802A5674 002A25D4 90 01 00 28 */ stw r0, 0x28(r1) /* 802A5678 002A25D8 48 02 8D D1 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A567C 002A25DC 80 C1 02 A0 */ lwz r6, 0x2a0(r1) /* 802A5680 002A25E0 38 00 00 01 */ li r0, 1 /* 802A5684 002A25E4 80 A1 02 A4 */ lwz r5, 0x2a4(r1) /* 802A5688 002A25E8 38 80 00 00 */ li r4, 0 /* 802A568C 002A25EC 98 01 03 6C */ stb r0, 0x36c(r1) /* 802A5690 002A25F0 38 61 00 14 */ addi r3, r1, 0x14 /* 802A5694 002A25F4 90 D3 00 00 */ stw r6, 0(r19) /* 802A5698 002A25F8 90 B3 00 04 */ stw r5, 4(r19) /* 802A569C 002A25FC 80 01 02 A8 */ lwz r0, 0x2a8(r1) /* 802A56A0 002A2600 98 99 00 00 */ stb r4, 0(r25) /* 802A56A4 002A2604 90 13 00 08 */ stw r0, 8(r19) /* 802A56A8 002A2608 80 A1 02 AC */ lwz r5, 0x2ac(r1) /* 802A56AC 002A260C 80 01 02 B0 */ lwz r0, 0x2b0(r1) /* 802A56B0 002A2610 90 B3 00 0C */ stw r5, 0xc(r19) /* 802A56B4 002A2614 90 13 00 10 */ stw r0, 0x10(r19) /* 802A56B8 002A2618 80 01 02 B4 */ lwz r0, 0x2b4(r1) /* 802A56BC 002A261C 90 13 00 14 */ stw r0, 0x14(r19) /* 802A56C0 002A2620 80 A1 02 B8 */ lwz r5, 0x2b8(r1) /* 802A56C4 002A2624 80 01 02 BC */ lwz r0, 0x2bc(r1) /* 802A56C8 002A2628 90 B3 00 18 */ stw r5, 0x18(r19) /* 802A56CC 002A262C 90 13 00 1C */ stw r0, 0x1c(r19) /* 802A56D0 002A2630 80 01 02 C0 */ lwz r0, 0x2c0(r1) /* 802A56D4 002A2634 90 13 00 20 */ stw r0, 0x20(r19) /* 802A56D8 002A2638 80 A1 02 C4 */ lwz r5, 0x2c4(r1) /* 802A56DC 002A263C 80 01 02 C8 */ lwz r0, 0x2c8(r1) /* 802A56E0 002A2640 90 B3 00 24 */ stw r5, 0x24(r19) /* 802A56E4 002A2644 90 13 00 28 */ stw r0, 0x28(r19) /* 802A56E8 002A2648 80 01 02 CC */ lwz r0, 0x2cc(r1) /* 802A56EC 002A264C 90 13 00 2C */ stw r0, 0x2c(r19) /* 802A56F0 002A2650 88 01 02 D0 */ lbz r0, 0x2d0(r1) /* 802A56F4 002A2654 98 13 00 30 */ stb r0, 0x30(r19) /* 802A56F8 002A2658 88 01 02 D1 */ lbz r0, 0x2d1(r1) /* 802A56FC 002A265C 98 13 00 31 */ stb r0, 0x31(r19) /* 802A5700 002A2660 C8 01 02 D8 */ lfd f0, 0x2d8(r1) /* 802A5704 002A2664 D8 13 00 38 */ stfd f0, 0x38(r19) /* 802A5708 002A2668 C8 01 02 E0 */ lfd f0, 0x2e0(r1) /* 802A570C 002A266C D8 13 00 40 */ stfd f0, 0x40(r19) /* 802A5710 002A2670 80 A1 02 E8 */ lwz r5, 0x2e8(r1) /* 802A5714 002A2674 80 01 02 EC */ lwz r0, 0x2ec(r1) /* 802A5718 002A2678 90 B3 00 48 */ stw r5, 0x48(r19) /* 802A571C 002A267C 90 13 00 4C */ stw r0, 0x4c(r19) /* 802A5720 002A2680 80 01 02 F0 */ lwz r0, 0x2f0(r1) /* 802A5724 002A2684 90 13 00 50 */ stw r0, 0x50(r19) /* 802A5728 002A2688 80 A1 02 F4 */ lwz r5, 0x2f4(r1) /* 802A572C 002A268C 80 01 02 F8 */ lwz r0, 0x2f8(r1) /* 802A5730 002A2690 90 B3 00 54 */ stw r5, 0x54(r19) /* 802A5734 002A2694 90 13 00 58 */ stw r0, 0x58(r19) /* 802A5738 002A2698 80 01 02 FC */ lwz r0, 0x2fc(r1) /* 802A573C 002A269C 90 13 00 5C */ stw r0, 0x5c(r19) /* 802A5740 002A26A0 DA F4 00 00 */ stfd f23, 0(r20) /* 802A5744 002A26A4 80 1A 00 04 */ lwz r0, 4(r26) /* 802A5748 002A26A8 7C 83 01 AE */ stbx r4, r3, r0 /* 802A574C 002A26AC 48 00 00 74 */ b lbl_802A57C0 lbl_802A5750: /* 802A5750 002A26B0 C0 50 00 0C */ lfs f2, 0xc(r16) /* 802A5754 002A26B4 FC 00 10 50 */ fneg f0, f2 /* 802A5758 002A26B8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 802A575C 002A26BC 40 80 00 20 */ bge lbl_802A577C /* 802A5760 002A26C0 C0 02 C1 4C */ lfs f0, lbl_805ADE6C@sda21(r2) /* 802A5764 002A26C4 FC 05 00 40 */ fcmpo cr0, f5, f0 /* 802A5768 002A26C8 4C 40 13 82 */ cror 2, 0, 2 /* 802A576C 002A26CC 40 82 00 10 */ bne lbl_802A577C /* 802A5770 002A26D0 38 00 00 00 */ li r0, 0 /* 802A5774 002A26D4 98 19 00 00 */ stb r0, 0(r25) /* 802A5778 002A26D8 48 00 00 48 */ b lbl_802A57C0 lbl_802A577C: /* 802A577C 002A26DC EC 01 10 2A */ fadds f0, f1, f2 /* 802A5780 002A26E0 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 802A5784 002A26E4 40 81 00 3C */ ble lbl_802A57C0 /* 802A5788 002A26E8 C0 02 C1 4C */ lfs f0, lbl_805ADE6C@sda21(r2) /* 802A578C 002A26EC FC 05 00 40 */ fcmpo cr0, f5, f0 /* 802A5790 002A26F0 4C 41 13 82 */ cror 2, 1, 2 /* 802A5794 002A26F4 40 82 00 2C */ bne lbl_802A57C0 /* 802A5798 002A26F8 80 1A 00 04 */ lwz r0, 4(r26) /* 802A579C 002A26FC 38 61 00 14 */ addi r3, r1, 0x14 /* 802A57A0 002A2700 38 80 00 00 */ li r4, 0 /* 802A57A4 002A2704 7C 83 01 AE */ stbx r4, r3, r0 /* 802A57A8 002A2708 48 00 00 18 */ b lbl_802A57C0 lbl_802A57AC: /* 802A57AC 002A270C 38 80 00 00 */ li r4, 0 /* 802A57B0 002A2710 80 1A 00 04 */ lwz r0, 4(r26) /* 802A57B4 002A2714 98 99 00 00 */ stb r4, 0(r25) /* 802A57B8 002A2718 38 61 00 14 */ addi r3, r1, 0x14 /* 802A57BC 002A271C 7C 83 01 AE */ stbx r4, r3, r0 lbl_802A57C0: /* 802A57C0 002A2720 3A B5 00 01 */ addi r21, r21, 1 /* 802A57C4 002A2724 3B 9C 00 02 */ addi r28, r28, 2 /* 802A57C8 002A2728 2C 15 00 03 */ cmpwi r21, 3 /* 802A57CC 002A272C 3B 7B 00 0C */ addi r27, r27, 0xc /* 802A57D0 002A2730 3B 5A 00 04 */ addi r26, r26, 4 /* 802A57D4 002A2734 3B 39 00 01 */ addi r25, r25, 1 /* 802A57D8 002A2738 3B BD 00 01 */ addi r29, r29, 1 /* 802A57DC 002A273C 41 80 FB 40 */ blt lbl_802A531C /* 802A57E0 002A2740 39 C1 00 38 */ addi r14, r1, 0x38 /* 802A57E4 002A2744 3A A0 00 00 */ li r21, 0 lbl_802A57E8: /* 802A57E8 002A2748 88 18 00 00 */ lbz r0, 0(r24) /* 802A57EC 002A274C A3 2E 00 00 */ lhz r25, 0(r14) /* 802A57F0 002A2750 28 00 00 00 */ cmplwi r0, 0 /* 802A57F4 002A2754 41 82 02 10 */ beq lbl_802A5A04 /* 802A57F8 002A2758 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802A57FC 002A275C 57 24 08 3C */ slwi r4, r25, 1 /* 802A5800 002A2760 38 63 2B AC */ addi r3, r3, lbl_80572BAC@l /* 802A5804 002A2764 A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802A5808 002A2768 7C 03 22 2E */ lhzx r0, r3, r4 /* 802A580C 002A276C 7C 05 00 40 */ cmplw r5, r0 /* 802A5810 002A2770 41 82 02 08 */ beq lbl_802A5A18 /* 802A5814 002A2774 7C A3 23 2E */ sthx r5, r3, r4 /* 802A5818 002A2778 7E 04 83 78 */ mr r4, r16 /* 802A581C 002A277C C0 90 00 0C */ lfs f4, 0xc(r16) /* 802A5820 002A2780 7E 45 93 78 */ mr r5, r18 /* 802A5824 002A2784 C8 74 00 00 */ lfd f3, 0(r20) /* 802A5828 002A2788 38 61 00 9C */ addi r3, r1, 0x9c /* 802A582C 002A278C C0 57 00 00 */ lfs f2, 0(r23) /* 802A5830 002A2790 38 C1 00 30 */ addi r6, r1, 0x30 /* 802A5834 002A2794 C0 37 00 04 */ lfs f1, 4(r23) /* 802A5838 002A2798 C0 17 00 08 */ lfs f0, 8(r23) /* 802A583C 002A279C D8 61 00 30 */ stfd f3, 0x30(r1) /* 802A5840 002A27A0 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 802A5844 002A27A4 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 802A5848 002A27A8 D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 802A584C 002A27AC D0 81 00 A8 */ stfs f4, 0xa8(r1) /* 802A5850 002A27B0 48 02 E1 81 */ bl RaySphereIntersection_Double__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRd /* 802A5854 002A27B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A5858 002A27B8 41 82 01 C0 */ beq lbl_802A5A18 /* 802A585C 002A27BC C8 21 00 30 */ lfd f1, 0x30(r1) /* 802A5860 002A27C0 C8 02 C1 58 */ lfd f0, lbl_805ADE78@sda21(r2) /* 802A5864 002A27C4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A5868 002A27C8 4C 41 13 82 */ cror 2, 1, 2 /* 802A586C 002A27CC 40 82 01 AC */ bne lbl_802A5A18 /* 802A5870 002A27D0 FC 60 08 18 */ frsp f3, f1 /* 802A5874 002A27D4 C0 52 00 04 */ lfs f2, 4(r18) /* 802A5878 002A27D8 C0 32 00 08 */ lfs f1, 8(r18) /* 802A587C 002A27DC 38 61 00 90 */ addi r3, r1, 0x90 /* 802A5880 002A27E0 C0 12 00 00 */ lfs f0, 0(r18) /* 802A5884 002A27E4 38 81 00 84 */ addi r4, r1, 0x84 /* 802A5888 002A27E8 EC C3 00 B2 */ fmuls f6, f3, f2 /* 802A588C 002A27EC C0 50 00 04 */ lfs f2, 4(r16) /* 802A5890 002A27F0 EC A3 00 72 */ fmuls f5, f3, f1 /* 802A5894 002A27F4 C0 30 00 08 */ lfs f1, 8(r16) /* 802A5898 002A27F8 EC 83 00 32 */ fmuls f4, f3, f0 /* 802A589C 002A27FC C0 10 00 00 */ lfs f0, 0(r16) /* 802A58A0 002A2800 ED 02 30 2A */ fadds f8, f2, f6 /* 802A58A4 002A2804 C0 57 00 04 */ lfs f2, 4(r23) /* 802A58A8 002A2808 EC E1 28 2A */ fadds f7, f1, f5 /* 802A58AC 002A280C C0 37 00 08 */ lfs f1, 8(r23) /* 802A58B0 002A2810 EC 60 20 2A */ fadds f3, f0, f4 /* 802A58B4 002A2814 C0 17 00 00 */ lfs f0, 0(r23) /* 802A58B8 002A2818 EC 48 10 28 */ fsubs f2, f8, f2 /* 802A58BC 002A281C D0 81 00 6C */ stfs f4, 0x6c(r1) /* 802A58C0 002A2820 EC 27 08 28 */ fsubs f1, f7, f1 /* 802A58C4 002A2824 3A C0 00 01 */ li r22, 1 /* 802A58C8 002A2828 EC 03 00 28 */ fsubs f0, f3, f0 /* 802A58CC 002A282C D0 C1 00 70 */ stfs f6, 0x70(r1) /* 802A58D0 002A2830 D0 A1 00 74 */ stfs f5, 0x74(r1) /* 802A58D4 002A2834 D0 61 00 78 */ stfs f3, 0x78(r1) /* 802A58D8 002A2838 D1 01 00 7C */ stfs f8, 0x7c(r1) /* 802A58DC 002A283C D0 E1 00 80 */ stfs f7, 0x80(r1) /* 802A58E0 002A2840 D0 01 00 84 */ stfs f0, 0x84(r1) /* 802A58E4 002A2844 D0 41 00 88 */ stfs f2, 0x88(r1) /* 802A58E8 002A2848 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 802A58EC 002A284C 48 06 EF 65 */ bl AsNormalized__9CVector3fCFv /* 802A58F0 002A2850 C0 41 00 90 */ lfs f2, 0x90(r1) /* 802A58F4 002A2854 38 00 00 00 */ li r0, 0 /* 802A58F8 002A2858 C0 21 00 94 */ lfs f1, 0x94(r1) /* 802A58FC 002A285C 7E E4 BB 78 */ mr r4, r23 /* 802A5900 002A2860 C0 01 00 98 */ lfs f0, 0x98(r1) /* 802A5904 002A2864 7E 25 8B 78 */ mr r5, r17 /* 802A5908 002A2868 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 802A590C 002A286C 38 61 02 40 */ addi r3, r1, 0x240 /* 802A5910 002A2870 38 C1 00 20 */ addi r6, r1, 0x20 /* 802A5914 002A2874 38 E1 01 A8 */ addi r7, r1, 0x1a8 /* 802A5918 002A2878 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 802A591C 002A287C D0 01 01 B0 */ stfs f0, 0x1b0(r1) /* 802A5920 002A2880 81 1F 00 2C */ lwz r8, 0x2c(r31) /* 802A5924 002A2884 81 3F 00 28 */ lwz r9, 0x28(r31) /* 802A5928 002A2888 7D 08 C8 AE */ lbzx r8, r8, r25 /* 802A592C 002A288C 55 08 10 3A */ slwi r8, r8, 2 /* 802A5930 002A2890 7D 09 40 2E */ lwzx r8, r9, r8 /* 802A5934 002A2894 91 01 00 24 */ stw r8, 0x24(r1) /* 802A5938 002A2898 90 01 00 20 */ stw r0, 0x20(r1) /* 802A593C 002A289C 48 02 8B 0D */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A5940 002A28A0 38 00 00 01 */ li r0, 1 /* 802A5944 002A28A4 80 61 02 40 */ lwz r3, 0x240(r1) /* 802A5948 002A28A8 98 01 03 6C */ stb r0, 0x36c(r1) /* 802A594C 002A28AC 80 01 02 44 */ lwz r0, 0x244(r1) /* 802A5950 002A28B0 90 73 00 00 */ stw r3, 0(r19) /* 802A5954 002A28B4 90 13 00 04 */ stw r0, 4(r19) /* 802A5958 002A28B8 80 01 02 48 */ lwz r0, 0x248(r1) /* 802A595C 002A28BC 90 13 00 08 */ stw r0, 8(r19) /* 802A5960 002A28C0 80 61 02 4C */ lwz r3, 0x24c(r1) /* 802A5964 002A28C4 80 01 02 50 */ lwz r0, 0x250(r1) /* 802A5968 002A28C8 90 73 00 0C */ stw r3, 0xc(r19) /* 802A596C 002A28CC 90 13 00 10 */ stw r0, 0x10(r19) /* 802A5970 002A28D0 80 01 02 54 */ lwz r0, 0x254(r1) /* 802A5974 002A28D4 90 13 00 14 */ stw r0, 0x14(r19) /* 802A5978 002A28D8 80 61 02 58 */ lwz r3, 0x258(r1) /* 802A597C 002A28DC 80 01 02 5C */ lwz r0, 0x25c(r1) /* 802A5980 002A28E0 90 73 00 18 */ stw r3, 0x18(r19) /* 802A5984 002A28E4 90 13 00 1C */ stw r0, 0x1c(r19) /* 802A5988 002A28E8 80 01 02 60 */ lwz r0, 0x260(r1) /* 802A598C 002A28EC 90 13 00 20 */ stw r0, 0x20(r19) /* 802A5990 002A28F0 80 61 02 64 */ lwz r3, 0x264(r1) /* 802A5994 002A28F4 80 01 02 68 */ lwz r0, 0x268(r1) /* 802A5998 002A28F8 90 73 00 24 */ stw r3, 0x24(r19) /* 802A599C 002A28FC 90 13 00 28 */ stw r0, 0x28(r19) /* 802A59A0 002A2900 80 01 02 6C */ lwz r0, 0x26c(r1) /* 802A59A4 002A2904 90 13 00 2C */ stw r0, 0x2c(r19) /* 802A59A8 002A2908 88 01 02 70 */ lbz r0, 0x270(r1) /* 802A59AC 002A290C 98 13 00 30 */ stb r0, 0x30(r19) /* 802A59B0 002A2910 88 01 02 71 */ lbz r0, 0x271(r1) /* 802A59B4 002A2914 98 13 00 31 */ stb r0, 0x31(r19) /* 802A59B8 002A2918 C8 01 02 78 */ lfd f0, 0x278(r1) /* 802A59BC 002A291C D8 13 00 38 */ stfd f0, 0x38(r19) /* 802A59C0 002A2920 C8 01 02 80 */ lfd f0, 0x280(r1) /* 802A59C4 002A2924 D8 13 00 40 */ stfd f0, 0x40(r19) /* 802A59C8 002A2928 80 61 02 88 */ lwz r3, 0x288(r1) /* 802A59CC 002A292C 80 01 02 8C */ lwz r0, 0x28c(r1) /* 802A59D0 002A2930 90 73 00 48 */ stw r3, 0x48(r19) /* 802A59D4 002A2934 90 13 00 4C */ stw r0, 0x4c(r19) /* 802A59D8 002A2938 80 01 02 90 */ lwz r0, 0x290(r1) /* 802A59DC 002A293C 90 13 00 50 */ stw r0, 0x50(r19) /* 802A59E0 002A2940 80 61 02 94 */ lwz r3, 0x294(r1) /* 802A59E4 002A2944 80 01 02 98 */ lwz r0, 0x298(r1) /* 802A59E8 002A2948 90 73 00 54 */ stw r3, 0x54(r19) /* 802A59EC 002A294C 90 13 00 58 */ stw r0, 0x58(r19) /* 802A59F0 002A2950 80 01 02 9C */ lwz r0, 0x29c(r1) /* 802A59F4 002A2954 90 13 00 5C */ stw r0, 0x5c(r19) /* 802A59F8 002A2958 C8 01 00 30 */ lfd f0, 0x30(r1) /* 802A59FC 002A295C D8 14 00 00 */ stfd f0, 0(r20) /* 802A5A00 002A2960 48 00 00 18 */ b lbl_802A5A18 lbl_802A5A04: /* 802A5A04 002A2964 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802A5A08 002A2968 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A5A0C 002A296C 57 20 08 3C */ slwi r0, r25, 1 /* 802A5A10 002A2970 38 63 2B AC */ addi r3, r3, lbl_80572BAC@l /* 802A5A14 002A2974 7C 83 03 2E */ sthx r4, r3, r0 lbl_802A5A18: /* 802A5A18 002A2978 3A B5 00 01 */ addi r21, r21, 1 /* 802A5A1C 002A297C 3B 18 00 01 */ addi r24, r24, 1 /* 802A5A20 002A2980 2C 15 00 03 */ cmpwi r21, 3 /* 802A5A24 002A2984 3A F7 00 0C */ addi r23, r23, 0xc /* 802A5A28 002A2988 39 CE 00 02 */ addi r14, r14, 2 /* 802A5A2C 002A298C 41 80 FD BC */ blt lbl_802A57E8 /* 802A5A30 002A2990 56 C0 06 3F */ clrlwi. r0, r22, 0x18 /* 802A5A34 002A2994 41 82 01 84 */ beq lbl_802A5BB8 /* 802A5A38 002A2998 C8 74 00 00 */ lfd f3, 0(r20) /* 802A5A3C 002A299C 38 61 01 FC */ addi r3, r1, 0x1fc /* 802A5A40 002A29A0 81 2F 00 00 */ lwz r9, 0(r15) /* 802A5A44 002A29A4 38 81 00 60 */ addi r4, r1, 0x60 /* 802A5A48 002A29A8 FC 60 18 18 */ frsp f3, f3 /* 802A5A4C 002A29AC C0 12 00 00 */ lfs f0, 0(r18) /* 802A5A50 002A29B0 C0 52 00 04 */ lfs f2, 4(r18) /* 802A5A54 002A29B4 C0 32 00 08 */ lfs f1, 8(r18) /* 802A5A58 002A29B8 EF E3 00 32 */ fmuls f31, f3, f0 /* 802A5A5C 002A29BC C0 0F 00 00 */ lfs f0, 0(r15) /* 802A5A60 002A29C0 EF C3 00 B2 */ fmuls f30, f3, f2 /* 802A5A64 002A29C4 C0 4F 00 04 */ lfs f2, 4(r15) /* 802A5A68 002A29C8 EF A3 00 72 */ fmuls f29, f3, f1 /* 802A5A6C 002A29CC C0 2F 00 08 */ lfs f1, 8(r15) /* 802A5A70 002A29D0 EC 42 F0 2A */ fadds f2, f2, f30 /* 802A5A74 002A29D4 81 0F 00 04 */ lwz r8, 4(r15) /* 802A5A78 002A29D8 EC 21 E8 2A */ fadds f1, f1, f29 /* 802A5A7C 002A29DC 80 EF 00 08 */ lwz r7, 8(r15) /* 802A5A80 002A29E0 EC 00 F8 2A */ fadds f0, f0, f31 /* 802A5A84 002A29E4 80 CF 00 0C */ lwz r6, 0xc(r15) /* 802A5A88 002A29E8 80 AF 00 10 */ lwz r5, 0x10(r15) /* 802A5A8C 002A29EC 80 0F 00 14 */ lwz r0, 0x14(r15) /* 802A5A90 002A29F0 91 21 01 FC */ stw r9, 0x1fc(r1) /* 802A5A94 002A29F4 91 01 02 00 */ stw r8, 0x200(r1) /* 802A5A98 002A29F8 90 E1 02 04 */ stw r7, 0x204(r1) /* 802A5A9C 002A29FC 90 C1 02 08 */ stw r6, 0x208(r1) /* 802A5AA0 002A2A00 90 A1 02 0C */ stw r5, 0x20c(r1) /* 802A5AA4 002A2A04 90 01 02 10 */ stw r0, 0x210(r1) /* 802A5AA8 002A2A08 D0 01 00 60 */ stfs f0, 0x60(r1) /* 802A5AAC 002A2A0C D0 41 00 64 */ stfs f2, 0x64(r1) /* 802A5AB0 002A2A10 D0 21 00 68 */ stfs f1, 0x68(r1) /* 802A5AB4 002A2A14 48 09 20 55 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A5AB8 002A2A18 C0 4F 00 10 */ lfs f2, 0x10(r15) /* 802A5ABC 002A2A1C 38 61 01 FC */ addi r3, r1, 0x1fc /* 802A5AC0 002A2A20 C0 2F 00 14 */ lfs f1, 0x14(r15) /* 802A5AC4 002A2A24 38 81 00 54 */ addi r4, r1, 0x54 /* 802A5AC8 002A2A28 C0 0F 00 0C */ lfs f0, 0xc(r15) /* 802A5ACC 002A2A2C EC 42 F0 2A */ fadds f2, f2, f30 /* 802A5AD0 002A2A30 EC 21 E8 2A */ fadds f1, f1, f29 /* 802A5AD4 002A2A34 EC 00 F8 2A */ fadds f0, f0, f31 /* 802A5AD8 002A2A38 D0 41 00 58 */ stfs f2, 0x58(r1) /* 802A5ADC 002A2A3C D0 01 00 54 */ stfs f0, 0x54(r1) /* 802A5AE0 002A2A40 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 802A5AE4 002A2A44 48 09 20 25 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A5AE8 002A2A48 38 61 00 48 */ addi r3, r1, 0x48 /* 802A5AEC 002A2A4C 38 81 01 FC */ addi r4, r1, 0x1fc /* 802A5AF0 002A2A50 48 09 1B 1D */ bl GetCenterPoint__6CAABoxCFv /* 802A5AF4 002A2A54 C0 61 02 0C */ lfs f3, 0x20c(r1) /* 802A5AF8 002A2A58 C0 41 02 00 */ lfs f2, 0x200(r1) /* 802A5AFC 002A2A5C C0 21 02 10 */ lfs f1, 0x210(r1) /* 802A5B00 002A2A60 C0 01 02 04 */ lfs f0, 0x204(r1) /* 802A5B04 002A2A64 EC 63 10 28 */ fsubs f3, f3, f2 /* 802A5B08 002A2A68 C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A5B0C 002A2A6C EC 41 00 28 */ fsubs f2, f1, f0 /* 802A5B10 002A2A70 C0 21 02 08 */ lfs f1, 0x208(r1) /* 802A5B14 002A2A74 C0 01 01 FC */ lfs f0, 0x1fc(r1) /* 802A5B18 002A2A78 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802A5B1C 002A2A7C C0 61 00 48 */ lfs f3, 0x48(r1) /* 802A5B20 002A2A80 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A5B24 002A2A84 EC A4 00 B2 */ fmuls f5, f4, f2 /* 802A5B28 002A2A88 C0 41 00 4C */ lfs f2, 0x4c(r1) /* 802A5B2C 002A2A8C C0 21 00 50 */ lfs f1, 0x50(r1) /* 802A5B30 002A2A90 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A5B34 002A2A94 D0 61 01 F0 */ stfs f3, 0x1f0(r1) /* 802A5B38 002A2A98 D0 41 01 F4 */ stfs f2, 0x1f4(r1) /* 802A5B3C 002A2A9C D0 21 01 F8 */ stfs f1, 0x1f8(r1) /* 802A5B40 002A2AA0 D0 01 01 E4 */ stfs f0, 0x1e4(r1) /* 802A5B44 002A2AA4 D0 C1 01 E8 */ stfs f6, 0x1e8(r1) /* 802A5B48 002A2AA8 D0 A1 01 EC */ stfs f5, 0x1ec(r1) /* 802A5B4C 002A2AAC 48 00 00 6C */ b lbl_802A5BB8 lbl_802A5B50: /* 802A5B50 002A2AB0 7F E3 FB 78 */ mr r3, r31 /* 802A5B54 002A2AB4 7D C4 73 78 */ mr r4, r14 /* 802A5B58 002A2AB8 4B FF CE 19 */ bl GetTriangleEdgeIndices__12CAreaOctTreeCFUs /* 802A5B5C 002A2ABC A0 03 00 00 */ lhz r0, 0(r3) /* 802A5B60 002A2AC0 3C A0 80 59 */ lis r5, lbl_8058BBAC@ha /* 802A5B64 002A2AC4 A1 2D A5 D0 */ lhz r9, lbl_805A9190@sda21(r13) /* 802A5B68 002A2AC8 3C 80 80 57 */ lis r4, lbl_80572BAC@ha /* 802A5B6C 002A2ACC 54 00 08 3C */ slwi r0, r0, 1 /* 802A5B70 002A2AD0 39 05 BB AC */ addi r8, r5, lbl_8058BBAC@l /* 802A5B74 002A2AD4 7D 28 03 2E */ sthx r9, r8, r0 /* 802A5B78 002A2AD8 38 A4 2B AC */ addi r5, r4, lbl_80572BAC@l /* 802A5B7C 002A2ADC A0 01 00 38 */ lhz r0, 0x38(r1) /* 802A5B80 002A2AE0 A0 E3 00 02 */ lhz r7, 2(r3) /* 802A5B84 002A2AE4 A0 81 00 3A */ lhz r4, 0x3a(r1) /* 802A5B88 002A2AE8 54 06 08 3C */ slwi r6, r0, 1 /* 802A5B8C 002A2AEC 54 E7 08 3C */ slwi r7, r7, 1 /* 802A5B90 002A2AF0 A0 01 00 3C */ lhz r0, 0x3c(r1) /* 802A5B94 002A2AF4 7D 28 3B 2E */ sthx r9, r8, r7 /* 802A5B98 002A2AF8 54 84 08 3C */ slwi r4, r4, 1 /* 802A5B9C 002A2AFC 54 00 08 3C */ slwi r0, r0, 1 /* 802A5BA0 002A2B00 A0 63 00 04 */ lhz r3, 4(r3) /* 802A5BA4 002A2B04 7D 25 33 2E */ sthx r9, r5, r6 /* 802A5BA8 002A2B08 54 63 08 3C */ slwi r3, r3, 1 /* 802A5BAC 002A2B0C 7D 25 23 2E */ sthx r9, r5, r4 /* 802A5BB0 002A2B10 7D 28 1B 2E */ sthx r9, r8, r3 /* 802A5BB4 002A2B14 7D 25 03 2E */ sthx r9, r5, r0 lbl_802A5BB8: /* 802A5BB8 002A2B18 80 61 03 70 */ lwz r3, 0x370(r1) /* 802A5BBC 002A2B1C 38 63 00 02 */ addi r3, r3, 2 /* 802A5BC0 002A2B20 90 61 03 70 */ stw r3, 0x370(r1) /* 802A5BC4 002A2B24 80 61 03 60 */ lwz r3, 0x360(r1) /* 802A5BC8 002A2B28 38 63 00 01 */ addi r3, r3, 1 /* 802A5BCC 002A2B2C 90 61 03 60 */ stw r3, 0x360(r1) lbl_802A5BD0: /* 802A5BD0 002A2B30 80 61 03 60 */ lwz r3, 0x360(r1) /* 802A5BD4 002A2B34 80 01 03 64 */ lwz r0, 0x364(r1) /* 802A5BD8 002A2B38 7C 03 00 00 */ cmpw r3, r0 /* 802A5BDC 002A2B3C 41 80 F2 60 */ blt lbl_802A4E3C lbl_802A5BE0: /* 802A5BE0 002A2B40 80 61 03 74 */ lwz r3, 0x374(r1) /* 802A5BE4 002A2B44 38 63 00 24 */ addi r3, r3, 0x24 /* 802A5BE8 002A2B48 90 61 03 74 */ stw r3, 0x374(r1) /* 802A5BEC 002A2B4C 80 61 03 68 */ lwz r3, 0x368(r1) /* 802A5BF0 002A2B50 38 63 00 01 */ addi r3, r3, 1 /* 802A5BF4 002A2B54 90 61 03 68 */ stw r3, 0x368(r1) lbl_802A5BF8: /* 802A5BF8 002A2B58 80 61 00 08 */ lwz r3, 8(r1) /* 802A5BFC 002A2B5C 80 01 03 68 */ lwz r0, 0x368(r1) /* 802A5C00 002A2B60 80 63 00 04 */ lwz r3, 4(r3) /* 802A5C04 002A2B64 7C 00 18 00 */ cmpw r0, r3 /* 802A5C08 002A2B68 41 80 F1 E0 */ blt lbl_802A4DE8 /* 802A5C0C 002A2B6C 88 61 03 6C */ lbz r3, 0x36c(r1) /* 802A5C10 002A2B70 E3 E1 04 A8 */ psq_l f31, 1192(r1), 0, qr0 /* 802A5C14 002A2B74 CB E1 04 A0 */ lfd f31, 0x4a0(r1) /* 802A5C18 002A2B78 E3 C1 04 98 */ psq_l f30, 1176(r1), 0, qr0 /* 802A5C1C 002A2B7C CB C1 04 90 */ lfd f30, 0x490(r1) /* 802A5C20 002A2B80 E3 A1 04 88 */ psq_l f29, 1160(r1), 0, qr0 /* 802A5C24 002A2B84 CB A1 04 80 */ lfd f29, 0x480(r1) /* 802A5C28 002A2B88 E3 81 04 78 */ psq_l f28, 1144(r1), 0, qr0 /* 802A5C2C 002A2B8C CB 81 04 70 */ lfd f28, 0x470(r1) /* 802A5C30 002A2B90 E3 61 04 68 */ psq_l f27, 1128(r1), 0, qr0 /* 802A5C34 002A2B94 CB 61 04 60 */ lfd f27, 0x460(r1) /* 802A5C38 002A2B98 E3 41 04 58 */ psq_l f26, 1112(r1), 0, qr0 /* 802A5C3C 002A2B9C CB 41 04 50 */ lfd f26, 0x450(r1) /* 802A5C40 002A2BA0 E3 21 04 48 */ psq_l f25, 1096(r1), 0, qr0 /* 802A5C44 002A2BA4 CB 21 04 40 */ lfd f25, 0x440(r1) /* 802A5C48 002A2BA8 E3 01 04 38 */ psq_l f24, 1080(r1), 0, qr0 /* 802A5C4C 002A2BAC CB 01 04 30 */ lfd f24, 0x430(r1) /* 802A5C50 002A2BB0 E2 E1 04 28 */ psq_l f23, 1064(r1), 0, qr0 /* 802A5C54 002A2BB4 CA E1 04 20 */ lfd f23, 0x420(r1) /* 802A5C58 002A2BB8 E2 C1 04 18 */ psq_l f22, 1048(r1), 0, qr0 /* 802A5C5C 002A2BBC CA C1 04 10 */ lfd f22, 0x410(r1) /* 802A5C60 002A2BC0 E2 A1 04 08 */ psq_l f21, 1032(r1), 0, qr0 /* 802A5C64 002A2BC4 CA A1 04 00 */ lfd f21, 0x400(r1) /* 802A5C68 002A2BC8 E2 81 03 F8 */ psq_l f20, 1016(r1), 0, qr0 /* 802A5C6C 002A2BCC CA 81 03 F0 */ lfd f20, 0x3f0(r1) /* 802A5C70 002A2BD0 E2 61 03 E8 */ psq_l f19, 1000(r1), 0, qr0 /* 802A5C74 002A2BD4 CA 61 03 E0 */ lfd f19, 0x3e0(r1) /* 802A5C78 002A2BD8 E2 41 03 D8 */ psq_l f18, 984(r1), 0, qr0 /* 802A5C7C 002A2BDC CA 41 03 D0 */ lfd f18, 0x3d0(r1) /* 802A5C80 002A2BE0 B9 C1 03 88 */ lmw r14, 0x388(r1) /* 802A5C84 002A2BE4 80 01 04 B4 */ lwz r0, 0x4b4(r1) /* 802A5C88 002A2BE8 7C 08 03 A6 */ mtlr r0 /* 802A5C8C 002A2BEC 38 21 04 B0 */ addi r1, r1, 0x4b0 /* 802A5C90 002A2BF0 4E 80 00 20 */ blr .global SphereCollisionCheckBoolean__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC7CSphereRC15CMaterialFilter SphereCollisionCheckBoolean__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC7CSphereRC15CMaterialFilter: /* 802A5C94 002A2BF4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802A5C98 002A2BF8 7C 08 02 A6 */ mflr r0 /* 802A5C9C 002A2BFC 90 01 00 44 */ stw r0, 0x44(r1) /* 802A5CA0 002A2C00 80 03 00 18 */ lwz r0, 0x18(r3) /* 802A5CA4 002A2C04 80 E3 00 20 */ lwz r7, 0x20(r3) /* 802A5CA8 002A2C08 C0 A3 00 00 */ lfs f5, 0(r3) /* 802A5CAC 002A2C0C C0 83 00 04 */ lfs f4, 4(r3) /* 802A5CB0 002A2C10 C0 63 00 08 */ lfs f3, 8(r3) /* 802A5CB4 002A2C14 C0 43 00 0C */ lfs f2, 0xc(r3) /* 802A5CB8 002A2C18 C0 23 00 10 */ lfs f1, 0x10(r3) /* 802A5CBC 002A2C1C C0 03 00 14 */ lfs f0, 0x14(r3) /* 802A5CC0 002A2C20 90 81 00 08 */ stw r4, 8(r1) /* 802A5CC4 002A2C24 38 81 00 08 */ addi r4, r1, 8 /* 802A5CC8 002A2C28 90 61 00 30 */ stw r3, 0x30(r1) /* 802A5CCC 002A2C2C 38 61 00 14 */ addi r3, r1, 0x14 /* 802A5CD0 002A2C30 90 A1 00 0C */ stw r5, 0xc(r1) /* 802A5CD4 002A2C34 90 C1 00 10 */ stw r6, 0x10(r1) /* 802A5CD8 002A2C38 D0 A1 00 14 */ stfs f5, 0x14(r1) /* 802A5CDC 002A2C3C D0 81 00 18 */ stfs f4, 0x18(r1) /* 802A5CE0 002A2C40 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 802A5CE4 002A2C44 D0 41 00 20 */ stfs f2, 0x20(r1) /* 802A5CE8 002A2C48 D0 21 00 24 */ stfs f1, 0x24(r1) /* 802A5CEC 002A2C4C D0 01 00 28 */ stfs f0, 0x28(r1) /* 802A5CF0 002A2C50 90 E1 00 2C */ stw r7, 0x2c(r1) /* 802A5CF4 002A2C54 90 01 00 34 */ stw r0, 0x34(r1) /* 802A5CF8 002A2C58 48 00 01 1D */ bl SphereCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC23CBooleanSphereAreaCache /* 802A5CFC 002A2C5C 80 01 00 44 */ lwz r0, 0x44(r1) /* 802A5D00 002A2C60 7C 08 03 A6 */ mtlr r0 /* 802A5D04 002A2C64 38 21 00 40 */ addi r1, r1, 0x40 /* 802A5D08 002A2C68 4E 80 00 20 */ blr .global SphereCollisionCheckBoolean_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC7CSphereRC15CMaterialFilter SphereCollisionCheckBoolean_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC7CSphereRC15CMaterialFilter: /* 802A5D0C 002A2C6C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802A5D10 002A2C70 7C 08 02 A6 */ mflr r0 /* 802A5D14 002A2C74 90 01 00 74 */ stw r0, 0x74(r1) /* 802A5D18 002A2C78 BE A1 00 44 */ stmw r21, 0x44(r1) /* 802A5D1C 002A2C7C 7C 77 1B 78 */ mr r23, r3 /* 802A5D20 002A2C80 7C 98 23 78 */ mr r24, r4 /* 802A5D24 002A2C84 7C B9 2B 78 */ mr r25, r5 /* 802A5D28 002A2C88 7C DA 33 78 */ mr r26, r6 /* 802A5D2C 002A2C8C 3B F7 00 08 */ addi r31, r23, 8 /* 802A5D30 002A2C90 3B C0 00 00 */ li r30, 0 /* 802A5D34 002A2C94 48 00 00 BC */ b lbl_802A5DF0 lbl_802A5D38: /* 802A5D38 002A2C98 7F 03 C3 78 */ mr r3, r24 /* 802A5D3C 002A2C9C 7F E4 FB 78 */ mr r4, r31 /* 802A5D40 002A2CA0 48 09 1E 45 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A5D44 002A2CA4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A5D48 002A2CA8 41 82 00 A0 */ beq lbl_802A5DE8 /* 802A5D4C 002A2CAC 7F E4 FB 78 */ mr r4, r31 /* 802A5D50 002A2CB0 38 61 00 08 */ addi r3, r1, 8 /* 802A5D54 002A2CB4 4B FF CF E9 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A5D58 002A2CB8 82 A1 00 08 */ lwz r21, 8(r1) /* 802A5D5C 002A2CBC 3B 61 00 18 */ addi r27, r1, 0x18 /* 802A5D60 002A2CC0 82 DF 00 1C */ lwz r22, 0x1c(r31) /* 802A5D64 002A2CC4 3B 80 00 00 */ li r28, 0 /* 802A5D68 002A2CC8 A3 B5 00 18 */ lhz r29, 0x18(r21) /* 802A5D6C 002A2CCC 48 00 00 74 */ b lbl_802A5DE0 lbl_802A5D70: /* 802A5D70 002A2CD0 80 AD A5 C8 */ lwz r5, lbl_805A9188@sda21(r13) /* 802A5D74 002A2CD4 7E C4 B3 78 */ mr r4, r22 /* 802A5D78 002A2CD8 38 61 00 18 */ addi r3, r1, 0x18 /* 802A5D7C 002A2CDC 38 05 00 01 */ addi r0, r5, 1 /* 802A5D80 002A2CE0 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A5D84 002A2CE4 A0 B5 00 1A */ lhz r5, 0x1a(r21) /* 802A5D88 002A2CE8 4B FF CC AD */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A5D8C 002A2CEC 80 A1 00 3C */ lwz r5, 0x3c(r1) /* 802A5D90 002A2CF0 38 00 00 00 */ li r0, 0 /* 802A5D94 002A2CF4 90 01 00 10 */ stw r0, 0x10(r1) /* 802A5D98 002A2CF8 7F 43 D3 78 */ mr r3, r26 /* 802A5D9C 002A2CFC 38 81 00 10 */ addi r4, r1, 0x10 /* 802A5DA0 002A2D00 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A5DA4 002A2D04 48 02 F5 A9 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A5DA8 002A2D08 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A5DAC 002A2D0C 41 82 00 2C */ beq lbl_802A5DD8 /* 802A5DB0 002A2D10 7F 23 CB 78 */ mr r3, r25 /* 802A5DB4 002A2D14 7F 64 DB 78 */ mr r4, r27 /* 802A5DB8 002A2D18 38 BB 00 0C */ addi r5, r27, 0xc /* 802A5DBC 002A2D1C 38 DB 00 18 */ addi r6, r27, 0x18 /* 802A5DC0 002A2D20 48 02 A6 81 */ bl TriSphereOverlap__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3f /* 802A5DC4 002A2D24 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A5DC8 002A2D28 28 00 00 01 */ cmplwi r0, 1 /* 802A5DCC 002A2D2C 40 82 00 0C */ bne lbl_802A5DD8 /* 802A5DD0 002A2D30 38 60 00 01 */ li r3, 1 /* 802A5DD4 002A2D34 48 00 00 2C */ b lbl_802A5E00 lbl_802A5DD8: /* 802A5DD8 002A2D38 3A B5 00 02 */ addi r21, r21, 2 /* 802A5DDC 002A2D3C 3B 9C 00 01 */ addi r28, r28, 1 lbl_802A5DE0: /* 802A5DE0 002A2D40 7C 1C E8 00 */ cmpw r28, r29 /* 802A5DE4 002A2D44 41 80 FF 8C */ blt lbl_802A5D70 lbl_802A5DE8: /* 802A5DE8 002A2D48 3B FF 00 24 */ addi r31, r31, 0x24 /* 802A5DEC 002A2D4C 3B DE 00 01 */ addi r30, r30, 1 lbl_802A5DF0: /* 802A5DF0 002A2D50 80 17 00 04 */ lwz r0, 4(r23) /* 802A5DF4 002A2D54 7C 1E 00 00 */ cmpw r30, r0 /* 802A5DF8 002A2D58 41 80 FF 40 */ blt lbl_802A5D38 /* 802A5DFC 002A2D5C 38 60 00 00 */ li r3, 0 lbl_802A5E00: /* 802A5E00 002A2D60 BA A1 00 44 */ lmw r21, 0x44(r1) /* 802A5E04 002A2D64 80 01 00 74 */ lwz r0, 0x74(r1) /* 802A5E08 002A2D68 7C 08 03 A6 */ mtlr r0 /* 802A5E0C 002A2D6C 38 21 00 70 */ addi r1, r1, 0x70 /* 802A5E10 002A2D70 4E 80 00 20 */ blr .global SphereCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC23CBooleanSphereAreaCache SphereCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC23CBooleanSphereAreaCache: /* 802A5E14 002A2D74 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 802A5E18 002A2D78 7C 08 02 A6 */ mflr r0 /* 802A5E1C 002A2D7C 90 01 00 B4 */ stw r0, 0xb4(r1) /* 802A5E20 002A2D80 BE E1 00 8C */ stmw r23, 0x8c(r1) /* 802A5E24 002A2D84 7C 7C 1B 78 */ mr r28, r3 /* 802A5E28 002A2D88 7C 9D 23 78 */ mr r29, r4 /* 802A5E2C 002A2D8C 3B C0 00 00 */ li r30, 0 /* 802A5E30 002A2D90 3B E0 00 00 */ li r31, 0 lbl_802A5E34: /* 802A5E34 002A2D94 80 7C 00 18 */ lwz r3, 0x18(r28) /* 802A5E38 002A2D98 A0 03 00 00 */ lhz r0, 0(r3) /* 802A5E3C 002A2D9C 7C 00 FE 30 */ sraw r0, r0, r31 /* 802A5E40 002A2DA0 54 1A 07 BF */ clrlwi. r26, r0, 0x1e /* 802A5E44 002A2DA4 41 82 01 38 */ beq lbl_802A5F7C /* 802A5E48 002A2DA8 7F 84 E3 78 */ mr r4, r28 /* 802A5E4C 002A2DAC 7F C5 F3 78 */ mr r5, r30 /* 802A5E50 002A2DB0 38 61 00 40 */ addi r3, r1, 0x40 /* 802A5E54 002A2DB4 4B FF CF 0D */ bl GetChild__Q212CAreaOctTree4NodeCFi /* 802A5E58 002A2DB8 C0 A1 00 40 */ lfs f5, 0x40(r1) /* 802A5E5C 002A2DBC 38 81 00 64 */ addi r4, r1, 0x64 /* 802A5E60 002A2DC0 C0 81 00 44 */ lfs f4, 0x44(r1) /* 802A5E64 002A2DC4 C0 61 00 48 */ lfs f3, 0x48(r1) /* 802A5E68 002A2DC8 C0 41 00 4C */ lfs f2, 0x4c(r1) /* 802A5E6C 002A2DCC C0 21 00 50 */ lfs f1, 0x50(r1) /* 802A5E70 002A2DD0 C0 01 00 54 */ lfs f0, 0x54(r1) /* 802A5E74 002A2DD4 80 C1 00 58 */ lwz r6, 0x58(r1) /* 802A5E78 002A2DD8 80 A1 00 5C */ lwz r5, 0x5c(r1) /* 802A5E7C 002A2DDC 80 01 00 60 */ lwz r0, 0x60(r1) /* 802A5E80 002A2DE0 D0 A1 00 64 */ stfs f5, 0x64(r1) /* 802A5E84 002A2DE4 80 7D 00 00 */ lwz r3, 0(r29) /* 802A5E88 002A2DE8 D0 81 00 68 */ stfs f4, 0x68(r1) /* 802A5E8C 002A2DEC D0 61 00 6C */ stfs f3, 0x6c(r1) /* 802A5E90 002A2DF0 D0 41 00 70 */ stfs f2, 0x70(r1) /* 802A5E94 002A2DF4 D0 21 00 74 */ stfs f1, 0x74(r1) /* 802A5E98 002A2DF8 D0 01 00 78 */ stfs f0, 0x78(r1) /* 802A5E9C 002A2DFC 90 C1 00 7C */ stw r6, 0x7c(r1) /* 802A5EA0 002A2E00 90 A1 00 80 */ stw r5, 0x80(r1) /* 802A5EA4 002A2E04 90 01 00 84 */ stw r0, 0x84(r1) /* 802A5EA8 002A2E08 48 09 1C DD */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A5EAC 002A2E0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A5EB0 002A2E10 41 82 00 CC */ beq lbl_802A5F7C /* 802A5EB4 002A2E14 2C 1A 00 02 */ cmpwi r26, 2 /* 802A5EB8 002A2E18 40 82 00 A4 */ bne lbl_802A5F5C /* 802A5EBC 002A2E1C 38 61 00 08 */ addi r3, r1, 8 /* 802A5EC0 002A2E20 38 81 00 64 */ addi r4, r1, 0x64 /* 802A5EC4 002A2E24 4B FF CE 79 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A5EC8 002A2E28 83 41 00 08 */ lwz r26, 8(r1) /* 802A5ECC 002A2E2C 3A E1 00 18 */ addi r23, r1, 0x18 /* 802A5ED0 002A2E30 83 61 00 80 */ lwz r27, 0x80(r1) /* 802A5ED4 002A2E34 3B 00 00 00 */ li r24, 0 /* 802A5ED8 002A2E38 A3 3A 00 18 */ lhz r25, 0x18(r26) /* 802A5EDC 002A2E3C 48 00 00 74 */ b lbl_802A5F50 lbl_802A5EE0: /* 802A5EE0 002A2E40 80 AD A5 C8 */ lwz r5, lbl_805A9188@sda21(r13) /* 802A5EE4 002A2E44 7F 64 DB 78 */ mr r4, r27 /* 802A5EE8 002A2E48 38 61 00 18 */ addi r3, r1, 0x18 /* 802A5EEC 002A2E4C 38 05 00 01 */ addi r0, r5, 1 /* 802A5EF0 002A2E50 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A5EF4 002A2E54 A0 BA 00 1A */ lhz r5, 0x1a(r26) /* 802A5EF8 002A2E58 4B FF CB 3D */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A5EFC 002A2E5C 80 A1 00 3C */ lwz r5, 0x3c(r1) /* 802A5F00 002A2E60 38 00 00 00 */ li r0, 0 /* 802A5F04 002A2E64 90 01 00 10 */ stw r0, 0x10(r1) /* 802A5F08 002A2E68 38 81 00 10 */ addi r4, r1, 0x10 /* 802A5F0C 002A2E6C 80 7D 00 08 */ lwz r3, 8(r29) /* 802A5F10 002A2E70 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A5F14 002A2E74 48 02 F4 39 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A5F18 002A2E78 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A5F1C 002A2E7C 41 82 00 2C */ beq lbl_802A5F48 /* 802A5F20 002A2E80 80 7D 00 04 */ lwz r3, 4(r29) /* 802A5F24 002A2E84 7E E4 BB 78 */ mr r4, r23 /* 802A5F28 002A2E88 38 B7 00 0C */ addi r5, r23, 0xc /* 802A5F2C 002A2E8C 38 D7 00 18 */ addi r6, r23, 0x18 /* 802A5F30 002A2E90 48 02 A5 11 */ bl TriSphereOverlap__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3f /* 802A5F34 002A2E94 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A5F38 002A2E98 28 00 00 01 */ cmplwi r0, 1 /* 802A5F3C 002A2E9C 40 82 00 0C */ bne lbl_802A5F48 /* 802A5F40 002A2EA0 38 60 00 01 */ li r3, 1 /* 802A5F44 002A2EA4 48 00 00 4C */ b lbl_802A5F90 lbl_802A5F48: /* 802A5F48 002A2EA8 3B 5A 00 02 */ addi r26, r26, 2 /* 802A5F4C 002A2EAC 3B 18 00 01 */ addi r24, r24, 1 lbl_802A5F50: /* 802A5F50 002A2EB0 7C 18 C8 00 */ cmpw r24, r25 /* 802A5F54 002A2EB4 41 80 FF 8C */ blt lbl_802A5EE0 /* 802A5F58 002A2EB8 48 00 00 24 */ b lbl_802A5F7C lbl_802A5F5C: /* 802A5F5C 002A2EBC 7F A4 EB 78 */ mr r4, r29 /* 802A5F60 002A2EC0 38 61 00 64 */ addi r3, r1, 0x64 /* 802A5F64 002A2EC4 4B FF FE B1 */ bl SphereCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC23CBooleanSphereAreaCache /* 802A5F68 002A2EC8 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A5F6C 002A2ECC 28 00 00 01 */ cmplwi r0, 1 /* 802A5F70 002A2ED0 40 82 00 0C */ bne lbl_802A5F7C /* 802A5F74 002A2ED4 38 60 00 01 */ li r3, 1 /* 802A5F78 002A2ED8 48 00 00 18 */ b lbl_802A5F90 lbl_802A5F7C: /* 802A5F7C 002A2EDC 3B DE 00 01 */ addi r30, r30, 1 /* 802A5F80 002A2EE0 3B FF 00 02 */ addi r31, r31, 2 /* 802A5F84 002A2EE4 2C 1E 00 08 */ cmpwi r30, 8 /* 802A5F88 002A2EE8 41 80 FE AC */ blt lbl_802A5E34 /* 802A5F8C 002A2EEC 38 60 00 00 */ li r3, 0 lbl_802A5F90: /* 802A5F90 002A2EF0 BA E1 00 8C */ lmw r23, 0x8c(r1) /* 802A5F94 002A2EF4 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 802A5F98 002A2EF8 7C 08 03 A6 */ mtlr r0 /* 802A5F9C 002A2EFC 38 21 00 B0 */ addi r1, r1, 0xb0 /* 802A5FA0 002A2F00 4E 80 00 20 */ blr .global SphereCollisionCheck__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList SphereCollisionCheck__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList: /* 802A5FA4 002A2F04 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802A5FA8 002A2F08 7C 08 02 A6 */ mflr r0 /* 802A5FAC 002A2F0C 90 01 00 54 */ stw r0, 0x54(r1) /* 802A5FB0 002A2F10 93 E1 00 4C */ stw r31, 0x4c(r1) /* 802A5FB4 002A2F14 7C 7F 1B 78 */ mr r31, r3 /* 802A5FB8 002A2F18 90 81 00 08 */ stw r4, 8(r1) /* 802A5FBC 002A2F1C 90 A1 00 0C */ stw r5, 0xc(r1) /* 802A5FC0 002A2F20 90 E1 00 10 */ stw r7, 0x10(r1) /* 802A5FC4 002A2F24 90 C1 00 14 */ stw r6, 0x14(r1) /* 802A5FC8 002A2F28 91 01 00 18 */ stw r8, 0x18(r1) /* 802A5FCC 002A2F2C 48 00 10 75 */ bl ResetInternalCounters__20CMetroidAreaColliderFv /* 802A5FD0 002A2F30 80 1F 00 18 */ lwz r0, 0x18(r31) /* 802A5FD4 002A2F34 38 61 00 1C */ addi r3, r1, 0x1c /* 802A5FD8 002A2F38 80 BF 00 20 */ lwz r5, 0x20(r31) /* 802A5FDC 002A2F3C 38 81 00 08 */ addi r4, r1, 8 /* 802A5FE0 002A2F40 C0 BF 00 00 */ lfs f5, 0(r31) /* 802A5FE4 002A2F44 C0 9F 00 04 */ lfs f4, 4(r31) /* 802A5FE8 002A2F48 C0 7F 00 08 */ lfs f3, 8(r31) /* 802A5FEC 002A2F4C C0 5F 00 0C */ lfs f2, 0xc(r31) /* 802A5FF0 002A2F50 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 802A5FF4 002A2F54 C0 1F 00 14 */ lfs f0, 0x14(r31) /* 802A5FF8 002A2F58 D0 A1 00 1C */ stfs f5, 0x1c(r1) /* 802A5FFC 002A2F5C D0 81 00 20 */ stfs f4, 0x20(r1) /* 802A6000 002A2F60 D0 61 00 24 */ stfs f3, 0x24(r1) /* 802A6004 002A2F64 D0 41 00 28 */ stfs f2, 0x28(r1) /* 802A6008 002A2F68 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 802A600C 002A2F6C D0 01 00 30 */ stfs f0, 0x30(r1) /* 802A6010 002A2F70 90 A1 00 34 */ stw r5, 0x34(r1) /* 802A6014 002A2F74 93 E1 00 38 */ stw r31, 0x38(r1) /* 802A6018 002A2F78 90 01 00 3C */ stw r0, 0x3c(r1) /* 802A601C 002A2F7C 48 00 01 B1 */ bl SphereCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR16CSphereAreaCache /* 802A6020 002A2F80 80 01 00 54 */ lwz r0, 0x54(r1) /* 802A6024 002A2F84 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 802A6028 002A2F88 7C 08 03 A6 */ mtlr r0 /* 802A602C 002A2F8C 38 21 00 50 */ addi r1, r1, 0x50 /* 802A6030 002A2F90 4E 80 00 20 */ blr .global SphereCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList SphereCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList: /* 802A6034 002A2F94 94 21 FF 00 */ stwu r1, -0x100(r1) /* 802A6038 002A2F98 7C 08 02 A6 */ mflr r0 /* 802A603C 002A2F9C 90 01 01 04 */ stw r0, 0x104(r1) /* 802A6040 002A2FA0 BE 21 00 C4 */ stmw r17, 0xc4(r1) /* 802A6044 002A2FA4 7C 7A 1B 78 */ mr r26, r3 /* 802A6048 002A2FA8 7C 9B 23 78 */ mr r27, r4 /* 802A604C 002A2FAC 7C BC 2B 78 */ mr r28, r5 /* 802A6050 002A2FB0 7C DD 33 78 */ mr r29, r6 /* 802A6054 002A2FB4 7C FE 3B 78 */ mr r30, r7 /* 802A6058 002A2FB8 7D 1F 43 78 */ mr r31, r8 /* 802A605C 002A2FBC 48 00 0F E5 */ bl ResetInternalCounters__20CMetroidAreaColliderFv /* 802A6060 002A2FC0 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 802A6064 002A2FC4 C4 03 66 A0 */ lfsu f0, sZeroVector__9CVector3f@l(r3) /* 802A6068 002A2FC8 3A FA 00 08 */ addi r23, r26, 8 /* 802A606C 002A2FCC 3A A0 00 00 */ li r21, 0 /* 802A6070 002A2FD0 C0 23 00 04 */ lfs f1, 4(r3) /* 802A6074 002A2FD4 3A 80 00 00 */ li r20, 0 /* 802A6078 002A2FD8 C0 43 00 08 */ lfs f2, 8(r3) /* 802A607C 002A2FDC D0 01 00 24 */ stfs f0, 0x24(r1) /* 802A6080 002A2FE0 D0 21 00 28 */ stfs f1, 0x28(r1) /* 802A6084 002A2FE4 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 802A6088 002A2FE8 D0 01 00 18 */ stfs f0, 0x18(r1) /* 802A608C 002A2FEC D0 21 00 1C */ stfs f1, 0x1c(r1) /* 802A6090 002A2FF0 D0 41 00 20 */ stfs f2, 0x20(r1) /* 802A6094 002A2FF4 48 00 01 14 */ b lbl_802A61A8 lbl_802A6098: /* 802A6098 002A2FF8 7F 63 DB 78 */ mr r3, r27 /* 802A609C 002A2FFC 7E E4 BB 78 */ mr r4, r23 /* 802A60A0 002A3000 48 09 1A E5 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A60A4 002A3004 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A60A8 002A3008 41 82 00 F8 */ beq lbl_802A61A0 /* 802A60AC 002A300C 7E E4 BB 78 */ mr r4, r23 /* 802A60B0 002A3010 38 61 00 08 */ addi r3, r1, 8 /* 802A60B4 002A3014 4B FF CC 89 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A60B8 002A3018 82 C1 00 08 */ lwz r22, 8(r1) /* 802A60BC 002A301C 3C 60 80 59 */ lis r3, lbl_80597BAC@ha /* 802A60C0 002A3020 83 17 00 1C */ lwz r24, 0x1c(r23) /* 802A60C4 002A3024 3B 23 7B AC */ addi r25, r3, lbl_80597BAC@l /* 802A60C8 002A3028 A2 76 00 18 */ lhz r19, 0x18(r22) /* 802A60CC 002A302C 3A 40 00 00 */ li r18, 0 /* 802A60D0 002A3030 48 00 00 C8 */ b lbl_802A6198 lbl_802A60D4: /* 802A60D4 002A3034 80 6D A5 C8 */ lwz r3, lbl_805A9188@sda21(r13) /* 802A60D8 002A3038 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A60DC 002A303C 38 03 00 01 */ addi r0, r3, 1 /* 802A60E0 002A3040 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A60E4 002A3044 A0 B6 00 1A */ lhz r5, 0x1a(r22) /* 802A60E8 002A3048 54 A3 0B FC */ rlwinm r3, r5, 1, 0xf, 0x1e /* 802A60EC 002A304C 7C 19 1A 2E */ lhzx r0, r25, r3 /* 802A60F0 002A3050 7C 04 00 40 */ cmplw r4, r0 /* 802A60F4 002A3054 40 82 00 14 */ bne lbl_802A6108 /* 802A60F8 002A3058 80 6D A5 CC */ lwz r3, lbl_805A918C@sda21(r13) /* 802A60FC 002A305C 38 03 00 01 */ addi r0, r3, 1 /* 802A6100 002A3060 90 0D A5 CC */ stw r0, lbl_805A918C@sda21(r13) /* 802A6104 002A3064 48 00 00 8C */ b lbl_802A6190 lbl_802A6108: /* 802A6108 002A3068 7C 99 1B 2E */ sthx r4, r25, r3 /* 802A610C 002A306C 7F 04 C3 78 */ mr r4, r24 /* 802A6110 002A3070 38 61 00 30 */ addi r3, r1, 0x30 /* 802A6114 002A3074 4B FF C9 21 */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A6118 002A3078 80 A1 00 54 */ lwz r5, 0x54(r1) /* 802A611C 002A307C 38 00 00 00 */ li r0, 0 /* 802A6120 002A3080 90 01 00 10 */ stw r0, 0x10(r1) /* 802A6124 002A3084 7F C3 F3 78 */ mr r3, r30 /* 802A6128 002A3088 3A 21 00 30 */ addi r17, r1, 0x30 /* 802A612C 002A308C 38 81 00 10 */ addi r4, r1, 0x10 /* 802A6130 002A3090 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A6134 002A3094 48 02 F2 19 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A6138 002A3098 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A613C 002A309C 41 82 00 54 */ beq lbl_802A6190 /* 802A6140 002A30A0 7F 83 E3 78 */ mr r3, r28 /* 802A6144 002A30A4 7E 24 8B 78 */ mr r4, r17 /* 802A6148 002A30A8 38 B1 00 0C */ addi r5, r17, 0xc /* 802A614C 002A30AC 38 D1 00 18 */ addi r6, r17, 0x18 /* 802A6150 002A30B0 38 E1 00 24 */ addi r7, r1, 0x24 /* 802A6154 002A30B4 39 01 00 18 */ addi r8, r1, 0x18 /* 802A6158 002A30B8 48 02 A0 F9 */ bl TriSphereIntersection__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3fR9CVector3fR9CVector3f /* 802A615C 002A30BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6160 002A30C0 41 82 00 30 */ beq lbl_802A6190 /* 802A6164 002A30C4 7F A5 EB 78 */ mr r5, r29 /* 802A6168 002A30C8 38 61 00 58 */ addi r3, r1, 0x58 /* 802A616C 002A30CC 38 81 00 24 */ addi r4, r1, 0x24 /* 802A6170 002A30D0 38 C1 00 10 */ addi r6, r1, 0x10 /* 802A6174 002A30D4 38 E1 00 18 */ addi r7, r1, 0x18 /* 802A6178 002A30D8 48 02 82 D1 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A617C 002A30DC 7C 64 1B 78 */ mr r4, r3 /* 802A6180 002A30E0 7F E3 FB 78 */ mr r3, r31 /* 802A6184 002A30E4 38 A0 00 00 */ li r5, 0 /* 802A6188 002A30E8 4B ED F4 99 */ bl Add__18CCollisionInfoListFRC14CCollisionInfob /* 802A618C 002A30EC 3A A0 00 01 */ li r21, 1 lbl_802A6190: /* 802A6190 002A30F0 3A D6 00 02 */ addi r22, r22, 2 /* 802A6194 002A30F4 3A 52 00 01 */ addi r18, r18, 1 lbl_802A6198: /* 802A6198 002A30F8 7C 12 98 00 */ cmpw r18, r19 /* 802A619C 002A30FC 41 80 FF 38 */ blt lbl_802A60D4 lbl_802A61A0: /* 802A61A0 002A3100 3A F7 00 24 */ addi r23, r23, 0x24 /* 802A61A4 002A3104 3A 94 00 01 */ addi r20, r20, 1 lbl_802A61A8: /* 802A61A8 002A3108 80 1A 00 04 */ lwz r0, 4(r26) /* 802A61AC 002A310C 7C 14 00 00 */ cmpw r20, r0 /* 802A61B0 002A3110 41 80 FE E8 */ blt lbl_802A6098 /* 802A61B4 002A3114 7E A3 AB 78 */ mr r3, r21 /* 802A61B8 002A3118 BA 21 00 C4 */ lmw r17, 0xc4(r1) /* 802A61BC 002A311C 80 01 01 04 */ lwz r0, 0x104(r1) /* 802A61C0 002A3120 7C 08 03 A6 */ mtlr r0 /* 802A61C4 002A3124 38 21 01 00 */ addi r1, r1, 0x100 /* 802A61C8 002A3128 4E 80 00 20 */ blr .global SphereCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR16CSphereAreaCache SphereCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR16CSphereAreaCache: /* 802A61CC 002A312C 94 21 FE D0 */ stwu r1, -0x130(r1) /* 802A61D0 002A3130 7C 08 02 A6 */ mflr r0 /* 802A61D4 002A3134 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha /* 802A61D8 002A3138 90 01 01 34 */ stw r0, 0x134(r1) /* 802A61DC 002A313C BE A1 01 04 */ stmw r21, 0x104(r1) /* 802A61E0 002A3140 7C 76 1B 78 */ mr r22, r3 /* 802A61E4 002A3144 38 65 66 A0 */ addi r3, r5, sZeroVector__9CVector3f@l /* 802A61E8 002A3148 7C 97 23 78 */ mr r23, r4 /* 802A61EC 002A314C 3B 60 00 00 */ li r27, 0 /* 802A61F0 002A3150 3B 40 00 00 */ li r26, 0 /* 802A61F4 002A3154 3B A0 00 00 */ li r29, 0 /* 802A61F8 002A3158 C0 03 00 00 */ lfs f0, 0(r3) /* 802A61FC 002A315C C0 23 00 04 */ lfs f1, 4(r3) /* 802A6200 002A3160 C0 43 00 08 */ lfs f2, 8(r3) /* 802A6204 002A3164 D0 01 00 24 */ stfs f0, 0x24(r1) /* 802A6208 002A3168 D0 21 00 28 */ stfs f1, 0x28(r1) /* 802A620C 002A316C D0 41 00 2C */ stfs f2, 0x2c(r1) /* 802A6210 002A3170 D0 01 00 18 */ stfs f0, 0x18(r1) /* 802A6214 002A3174 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 802A6218 002A3178 D0 41 00 20 */ stfs f2, 0x20(r1) lbl_802A621C: /* 802A621C 002A317C 80 76 00 18 */ lwz r3, 0x18(r22) /* 802A6220 002A3180 A0 03 00 00 */ lhz r0, 0(r3) /* 802A6224 002A3184 7C 00 EE 30 */ sraw r0, r0, r29 /* 802A6228 002A3188 54 18 07 BF */ clrlwi. r24, r0, 0x1e /* 802A622C 002A318C 41 82 01 8C */ beq lbl_802A63B8 /* 802A6230 002A3190 7E C4 B3 78 */ mr r4, r22 /* 802A6234 002A3194 7F 45 D3 78 */ mr r5, r26 /* 802A6238 002A3198 38 61 00 58 */ addi r3, r1, 0x58 /* 802A623C 002A319C 4B FF CB 25 */ bl GetChild__Q212CAreaOctTree4NodeCFi /* 802A6240 002A31A0 C0 A1 00 58 */ lfs f5, 0x58(r1) /* 802A6244 002A31A4 38 81 00 7C */ addi r4, r1, 0x7c /* 802A6248 002A31A8 C0 81 00 5C */ lfs f4, 0x5c(r1) /* 802A624C 002A31AC C0 61 00 60 */ lfs f3, 0x60(r1) /* 802A6250 002A31B0 C0 41 00 64 */ lfs f2, 0x64(r1) /* 802A6254 002A31B4 C0 21 00 68 */ lfs f1, 0x68(r1) /* 802A6258 002A31B8 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 802A625C 002A31BC 80 A1 00 70 */ lwz r5, 0x70(r1) /* 802A6260 002A31C0 80 61 00 74 */ lwz r3, 0x74(r1) /* 802A6264 002A31C4 80 01 00 78 */ lwz r0, 0x78(r1) /* 802A6268 002A31C8 D0 A1 00 7C */ stfs f5, 0x7c(r1) /* 802A626C 002A31CC D0 81 00 80 */ stfs f4, 0x80(r1) /* 802A6270 002A31D0 D0 61 00 84 */ stfs f3, 0x84(r1) /* 802A6274 002A31D4 D0 41 00 88 */ stfs f2, 0x88(r1) /* 802A6278 002A31D8 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 802A627C 002A31DC D0 01 00 90 */ stfs f0, 0x90(r1) /* 802A6280 002A31E0 90 A1 00 94 */ stw r5, 0x94(r1) /* 802A6284 002A31E4 90 61 00 98 */ stw r3, 0x98(r1) /* 802A6288 002A31E8 90 01 00 9C */ stw r0, 0x9c(r1) /* 802A628C 002A31EC 80 77 00 00 */ lwz r3, 0(r23) /* 802A6290 002A31F0 48 09 18 F5 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A6294 002A31F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6298 002A31F8 41 82 01 20 */ beq lbl_802A63B8 /* 802A629C 002A31FC 2C 18 00 02 */ cmpwi r24, 2 /* 802A62A0 002A3200 40 82 00 FC */ bne lbl_802A639C /* 802A62A4 002A3204 38 61 00 08 */ addi r3, r1, 8 /* 802A62A8 002A3208 38 81 00 7C */ addi r4, r1, 0x7c /* 802A62AC 002A320C 4B FF CA 91 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A62B0 002A3210 83 81 00 08 */ lwz r28, 8(r1) /* 802A62B4 002A3214 3C 60 80 59 */ lis r3, lbl_80597BAC@ha /* 802A62B8 002A3218 83 C1 00 98 */ lwz r30, 0x98(r1) /* 802A62BC 002A321C 3B E3 7B AC */ addi r31, r3, lbl_80597BAC@l /* 802A62C0 002A3220 A3 3C 00 18 */ lhz r25, 0x18(r28) /* 802A62C4 002A3224 3B 00 00 00 */ li r24, 0 /* 802A62C8 002A3228 48 00 00 C8 */ b lbl_802A6390 lbl_802A62CC: /* 802A62CC 002A322C 80 6D A5 C8 */ lwz r3, lbl_805A9188@sda21(r13) /* 802A62D0 002A3230 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A62D4 002A3234 38 03 00 01 */ addi r0, r3, 1 /* 802A62D8 002A3238 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A62DC 002A323C A0 BC 00 1A */ lhz r5, 0x1a(r28) /* 802A62E0 002A3240 54 A3 0B FC */ rlwinm r3, r5, 1, 0xf, 0x1e /* 802A62E4 002A3244 7C 1F 1A 2E */ lhzx r0, r31, r3 /* 802A62E8 002A3248 7C 04 00 40 */ cmplw r4, r0 /* 802A62EC 002A324C 40 82 00 14 */ bne lbl_802A6300 /* 802A62F0 002A3250 80 6D A5 CC */ lwz r3, lbl_805A918C@sda21(r13) /* 802A62F4 002A3254 38 03 00 01 */ addi r0, r3, 1 /* 802A62F8 002A3258 90 0D A5 CC */ stw r0, lbl_805A918C@sda21(r13) /* 802A62FC 002A325C 48 00 00 8C */ b lbl_802A6388 lbl_802A6300: /* 802A6300 002A3260 7C 9F 1B 2E */ sthx r4, r31, r3 /* 802A6304 002A3264 7F C4 F3 78 */ mr r4, r30 /* 802A6308 002A3268 38 61 00 30 */ addi r3, r1, 0x30 /* 802A630C 002A326C 4B FF C7 29 */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A6310 002A3270 80 61 00 54 */ lwz r3, 0x54(r1) /* 802A6314 002A3274 38 00 00 00 */ li r0, 0 /* 802A6318 002A3278 90 01 00 10 */ stw r0, 0x10(r1) /* 802A631C 002A327C 3A A1 00 30 */ addi r21, r1, 0x30 /* 802A6320 002A3280 38 81 00 10 */ addi r4, r1, 0x10 /* 802A6324 002A3284 90 61 00 14 */ stw r3, 0x14(r1) /* 802A6328 002A3288 80 77 00 08 */ lwz r3, 8(r23) /* 802A632C 002A328C 48 02 F0 21 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A6330 002A3290 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6334 002A3294 41 82 00 54 */ beq lbl_802A6388 /* 802A6338 002A3298 80 77 00 04 */ lwz r3, 4(r23) /* 802A633C 002A329C 7E A4 AB 78 */ mr r4, r21 /* 802A6340 002A32A0 38 B5 00 0C */ addi r5, r21, 0xc /* 802A6344 002A32A4 38 D5 00 18 */ addi r6, r21, 0x18 /* 802A6348 002A32A8 38 E1 00 24 */ addi r7, r1, 0x24 /* 802A634C 002A32AC 39 01 00 18 */ addi r8, r1, 0x18 /* 802A6350 002A32B0 48 02 9F 01 */ bl TriSphereIntersection__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3fR9CVector3fR9CVector3f /* 802A6354 002A32B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6358 002A32B8 41 82 00 30 */ beq lbl_802A6388 /* 802A635C 002A32BC 80 B7 00 0C */ lwz r5, 0xc(r23) /* 802A6360 002A32C0 38 61 00 A0 */ addi r3, r1, 0xa0 /* 802A6364 002A32C4 38 81 00 24 */ addi r4, r1, 0x24 /* 802A6368 002A32C8 38 C1 00 10 */ addi r6, r1, 0x10 /* 802A636C 002A32CC 38 E1 00 18 */ addi r7, r1, 0x18 /* 802A6370 002A32D0 48 02 80 D9 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802A6374 002A32D4 7C 64 1B 78 */ mr r4, r3 /* 802A6378 002A32D8 80 77 00 10 */ lwz r3, 0x10(r23) /* 802A637C 002A32DC 38 A0 00 00 */ li r5, 0 /* 802A6380 002A32E0 4B ED F2 A1 */ bl Add__18CCollisionInfoListFRC14CCollisionInfob /* 802A6384 002A32E4 3B 60 00 01 */ li r27, 1 lbl_802A6388: /* 802A6388 002A32E8 3B 9C 00 02 */ addi r28, r28, 2 /* 802A638C 002A32EC 3B 18 00 01 */ addi r24, r24, 1 lbl_802A6390: /* 802A6390 002A32F0 7C 18 C8 00 */ cmpw r24, r25 /* 802A6394 002A32F4 41 80 FF 38 */ blt lbl_802A62CC /* 802A6398 002A32F8 48 00 00 20 */ b lbl_802A63B8 lbl_802A639C: /* 802A639C 002A32FC 7E E4 BB 78 */ mr r4, r23 /* 802A63A0 002A3300 38 61 00 7C */ addi r3, r1, 0x7c /* 802A63A4 002A3304 4B FF FE 29 */ bl SphereCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR16CSphereAreaCache /* 802A63A8 002A3308 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A63AC 002A330C 28 00 00 01 */ cmplwi r0, 1 /* 802A63B0 002A3310 40 82 00 08 */ bne lbl_802A63B8 /* 802A63B4 002A3314 3B 60 00 01 */ li r27, 1 lbl_802A63B8: /* 802A63B8 002A3318 3B 5A 00 01 */ addi r26, r26, 1 /* 802A63BC 002A331C 3B BD 00 02 */ addi r29, r29, 2 /* 802A63C0 002A3320 2C 1A 00 08 */ cmpwi r26, 8 /* 802A63C4 002A3324 41 80 FE 58 */ blt lbl_802A621C /* 802A63C8 002A3328 7F 63 DB 78 */ mr r3, r27 /* 802A63CC 002A332C BA A1 01 04 */ lmw r21, 0x104(r1) /* 802A63D0 002A3330 80 01 01 34 */ lwz r0, 0x134(r1) /* 802A63D4 002A3334 7C 08 03 A6 */ mtlr r0 /* 802A63D8 002A3338 38 21 01 30 */ addi r1, r1, 0x130 /* 802A63DC 002A333C 4E 80 00 20 */ blr .global AABoxCollisionCheckBoolean__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC15CMaterialFilter AABoxCollisionCheckBoolean__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC15CMaterialFilter: /* 802A63E0 002A3340 94 21 FF A0 */ stwu r1, -0x60(r1) /* 802A63E4 002A3344 7C 08 02 A6 */ mflr r0 /* 802A63E8 002A3348 90 01 00 64 */ stw r0, 0x64(r1) /* 802A63EC 002A334C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 802A63F0 002A3350 7C 7F 1B 78 */ mr r31, r3 /* 802A63F4 002A3354 38 61 00 08 */ addi r3, r1, 8 /* 802A63F8 002A3358 48 00 00 69 */ bl __ct__22CBooleanAABoxAreaCacheFRC6CAABoxRC15CMaterialFilter /* 802A63FC 002A335C 80 1F 00 18 */ lwz r0, 0x18(r31) /* 802A6400 002A3360 38 61 00 28 */ addi r3, r1, 0x28 /* 802A6404 002A3364 80 BF 00 20 */ lwz r5, 0x20(r31) /* 802A6408 002A3368 38 81 00 08 */ addi r4, r1, 8 /* 802A640C 002A336C C0 BF 00 00 */ lfs f5, 0(r31) /* 802A6410 002A3370 C0 9F 00 04 */ lfs f4, 4(r31) /* 802A6414 002A3374 C0 7F 00 08 */ lfs f3, 8(r31) /* 802A6418 002A3378 C0 5F 00 0C */ lfs f2, 0xc(r31) /* 802A641C 002A337C C0 3F 00 10 */ lfs f1, 0x10(r31) /* 802A6420 002A3380 C0 1F 00 14 */ lfs f0, 0x14(r31) /* 802A6424 002A3384 D0 A1 00 28 */ stfs f5, 0x28(r1) /* 802A6428 002A3388 D0 81 00 2C */ stfs f4, 0x2c(r1) /* 802A642C 002A338C D0 61 00 30 */ stfs f3, 0x30(r1) /* 802A6430 002A3390 D0 41 00 34 */ stfs f2, 0x34(r1) /* 802A6434 002A3394 D0 21 00 38 */ stfs f1, 0x38(r1) /* 802A6438 002A3398 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 802A643C 002A339C 90 A1 00 40 */ stw r5, 0x40(r1) /* 802A6440 002A33A0 93 E1 00 44 */ stw r31, 0x44(r1) /* 802A6444 002A33A4 90 01 00 48 */ stw r0, 0x48(r1) /* 802A6448 002A33A8 48 00 02 21 */ bl AABoxCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC22CBooleanAABoxAreaCache /* 802A644C 002A33AC 80 01 00 64 */ lwz r0, 0x64(r1) /* 802A6450 002A33B0 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 802A6454 002A33B4 7C 08 03 A6 */ mtlr r0 /* 802A6458 002A33B8 38 21 00 60 */ addi r1, r1, 0x60 /* 802A645C 002A33BC 4E 80 00 20 */ blr .global __ct__22CBooleanAABoxAreaCacheFRC6CAABoxRC15CMaterialFilter __ct__22CBooleanAABoxAreaCacheFRC6CAABoxRC15CMaterialFilter: /* 802A6460 002A33C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A6464 002A33C4 7C 08 02 A6 */ mflr r0 /* 802A6468 002A33C8 90 01 00 24 */ stw r0, 0x24(r1) /* 802A646C 002A33CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802A6470 002A33D0 7C 9F 23 78 */ mr r31, r4 /* 802A6474 002A33D4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802A6478 002A33D8 7C 7E 1B 78 */ mr r30, r3 /* 802A647C 002A33DC 93 E3 00 00 */ stw r31, 0(r3) /* 802A6480 002A33E0 38 61 00 08 */ addi r3, r1, 8 /* 802A6484 002A33E4 90 BE 00 04 */ stw r5, 4(r30) /* 802A6488 002A33E8 48 09 11 85 */ bl GetCenterPoint__6CAABoxCFv /* 802A648C 002A33EC C0 01 00 08 */ lfs f0, 8(r1) /* 802A6490 002A33F0 7F C3 F3 78 */ mr r3, r30 /* 802A6494 002A33F4 C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A6498 002A33F8 D0 1E 00 08 */ stfs f0, 8(r30) /* 802A649C 002A33FC C0 01 00 0C */ lfs f0, 0xc(r1) /* 802A64A0 002A3400 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 802A64A4 002A3404 C0 01 00 10 */ lfs f0, 0x10(r1) /* 802A64A8 002A3408 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 802A64AC 002A340C C0 3F 00 0C */ lfs f1, 0xc(r31) /* 802A64B0 002A3410 C0 1F 00 00 */ lfs f0, 0(r31) /* 802A64B4 002A3414 C0 7F 00 10 */ lfs f3, 0x10(r31) /* 802A64B8 002A3418 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A64BC 002A341C C0 3F 00 04 */ lfs f1, 4(r31) /* 802A64C0 002A3420 C0 5F 00 14 */ lfs f2, 0x14(r31) /* 802A64C4 002A3424 EC 63 08 28 */ fsubs f3, f3, f1 /* 802A64C8 002A3428 C0 3F 00 08 */ lfs f1, 8(r31) /* 802A64CC 002A342C EC 04 00 32 */ fmuls f0, f4, f0 /* 802A64D0 002A3430 EC 22 08 28 */ fsubs f1, f2, f1 /* 802A64D4 002A3434 EC 44 00 F2 */ fmuls f2, f4, f3 /* 802A64D8 002A3438 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 802A64DC 002A343C EC 04 00 72 */ fmuls f0, f4, f1 /* 802A64E0 002A3440 D0 5E 00 18 */ stfs f2, 0x18(r30) /* 802A64E4 002A3444 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 802A64E8 002A3448 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802A64EC 002A344C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802A64F0 002A3450 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A64F4 002A3454 7C 08 03 A6 */ mtlr r0 /* 802A64F8 002A3458 38 21 00 20 */ addi r1, r1, 0x20 /* 802A64FC 002A345C 4E 80 00 20 */ blr .global AABoxCollisionCheckBoolean_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC15CMaterialFilter AABoxCollisionCheckBoolean_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC15CMaterialFilter: /* 802A6500 002A3460 94 21 FF 70 */ stwu r1, -0x90(r1) /* 802A6504 002A3464 7C 08 02 A6 */ mflr r0 /* 802A6508 002A3468 90 01 00 94 */ stw r0, 0x94(r1) /* 802A650C 002A346C BE C1 00 68 */ stmw r22, 0x68(r1) /* 802A6510 002A3470 7C 7D 1B 78 */ mr r29, r3 /* 802A6514 002A3474 7C 9E 23 78 */ mr r30, r4 /* 802A6518 002A3478 7C BF 2B 78 */ mr r31, r5 /* 802A651C 002A347C 38 61 00 18 */ addi r3, r1, 0x18 /* 802A6520 002A3480 48 09 10 ED */ bl GetCenterPoint__6CAABoxCFv /* 802A6524 002A3484 C0 7E 00 10 */ lfs f3, 0x10(r30) /* 802A6528 002A3488 3B 7D 00 08 */ addi r27, r29, 8 /* 802A652C 002A348C C0 5E 00 04 */ lfs f2, 4(r30) /* 802A6530 002A3490 3B 20 00 00 */ li r25, 0 /* 802A6534 002A3494 C0 3E 00 14 */ lfs f1, 0x14(r30) /* 802A6538 002A3498 C0 1E 00 08 */ lfs f0, 8(r30) /* 802A653C 002A349C EC 63 10 28 */ fsubs f3, f3, f2 /* 802A6540 002A34A0 C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A6544 002A34A4 EC 41 00 28 */ fsubs f2, f1, f0 /* 802A6548 002A34A8 C0 3E 00 0C */ lfs f1, 0xc(r30) /* 802A654C 002A34AC C0 1E 00 00 */ lfs f0, 0(r30) /* 802A6550 002A34B0 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802A6554 002A34B4 C0 61 00 18 */ lfs f3, 0x18(r1) /* 802A6558 002A34B8 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A655C 002A34BC EC A4 00 B2 */ fmuls f5, f4, f2 /* 802A6560 002A34C0 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 802A6564 002A34C4 C0 21 00 20 */ lfs f1, 0x20(r1) /* 802A6568 002A34C8 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A656C 002A34CC D0 61 00 30 */ stfs f3, 0x30(r1) /* 802A6570 002A34D0 D0 41 00 34 */ stfs f2, 0x34(r1) /* 802A6574 002A34D4 D0 21 00 38 */ stfs f1, 0x38(r1) /* 802A6578 002A34D8 D0 01 00 24 */ stfs f0, 0x24(r1) /* 802A657C 002A34DC D0 C1 00 28 */ stfs f6, 0x28(r1) /* 802A6580 002A34E0 D0 A1 00 2C */ stfs f5, 0x2c(r1) /* 802A6584 002A34E4 48 00 00 C0 */ b lbl_802A6644 lbl_802A6588: /* 802A6588 002A34E8 7F C3 F3 78 */ mr r3, r30 /* 802A658C 002A34EC 7F 64 DB 78 */ mr r4, r27 /* 802A6590 002A34F0 48 09 15 F5 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A6594 002A34F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6598 002A34F8 41 82 00 A4 */ beq lbl_802A663C /* 802A659C 002A34FC 7F 64 DB 78 */ mr r4, r27 /* 802A65A0 002A3500 38 61 00 08 */ addi r3, r1, 8 /* 802A65A4 002A3504 4B FF C7 99 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A65A8 002A3508 83 41 00 08 */ lwz r26, 8(r1) /* 802A65AC 002A350C 3A C1 00 3C */ addi r22, r1, 0x3c /* 802A65B0 002A3510 83 9B 00 1C */ lwz r28, 0x1c(r27) /* 802A65B4 002A3514 3A E0 00 00 */ li r23, 0 /* 802A65B8 002A3518 A3 1A 00 18 */ lhz r24, 0x18(r26) /* 802A65BC 002A351C 48 00 00 78 */ b lbl_802A6634 lbl_802A65C0: /* 802A65C0 002A3520 80 AD A5 C8 */ lwz r5, lbl_805A9188@sda21(r13) /* 802A65C4 002A3524 7F 84 E3 78 */ mr r4, r28 /* 802A65C8 002A3528 38 61 00 3C */ addi r3, r1, 0x3c /* 802A65CC 002A352C 38 05 00 01 */ addi r0, r5, 1 /* 802A65D0 002A3530 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A65D4 002A3534 A0 BA 00 1A */ lhz r5, 0x1a(r26) /* 802A65D8 002A3538 4B FF C4 5D */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A65DC 002A353C 80 A1 00 60 */ lwz r5, 0x60(r1) /* 802A65E0 002A3540 38 00 00 00 */ li r0, 0 /* 802A65E4 002A3544 90 01 00 10 */ stw r0, 0x10(r1) /* 802A65E8 002A3548 7F E3 FB 78 */ mr r3, r31 /* 802A65EC 002A354C 38 81 00 10 */ addi r4, r1, 0x10 /* 802A65F0 002A3550 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A65F4 002A3554 48 02 ED 59 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A65F8 002A3558 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A65FC 002A355C 41 82 00 30 */ beq lbl_802A662C /* 802A6600 002A3560 7E C5 B3 78 */ mr r5, r22 /* 802A6604 002A3564 38 61 00 30 */ addi r3, r1, 0x30 /* 802A6608 002A3568 38 81 00 24 */ addi r4, r1, 0x24 /* 802A660C 002A356C 38 D6 00 0C */ addi r6, r22, 0xc /* 802A6610 002A3570 38 F6 00 18 */ addi r7, r22, 0x18 /* 802A6614 002A3574 48 02 AE CD */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802A6618 002A3578 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A661C 002A357C 28 00 00 01 */ cmplwi r0, 1 /* 802A6620 002A3580 40 82 00 0C */ bne lbl_802A662C /* 802A6624 002A3584 38 60 00 01 */ li r3, 1 /* 802A6628 002A3588 48 00 00 2C */ b lbl_802A6654 lbl_802A662C: /* 802A662C 002A358C 3B 5A 00 02 */ addi r26, r26, 2 /* 802A6630 002A3590 3A F7 00 01 */ addi r23, r23, 1 lbl_802A6634: /* 802A6634 002A3594 7C 17 C0 00 */ cmpw r23, r24 /* 802A6638 002A3598 41 80 FF 88 */ blt lbl_802A65C0 lbl_802A663C: /* 802A663C 002A359C 3B 7B 00 24 */ addi r27, r27, 0x24 /* 802A6640 002A35A0 3B 39 00 01 */ addi r25, r25, 1 lbl_802A6644: /* 802A6644 002A35A4 80 1D 00 04 */ lwz r0, 4(r29) /* 802A6648 002A35A8 7C 19 00 00 */ cmpw r25, r0 /* 802A664C 002A35AC 41 80 FF 3C */ blt lbl_802A6588 /* 802A6650 002A35B0 38 60 00 00 */ li r3, 0 lbl_802A6654: /* 802A6654 002A35B4 BA C1 00 68 */ lmw r22, 0x68(r1) /* 802A6658 002A35B8 80 01 00 94 */ lwz r0, 0x94(r1) /* 802A665C 002A35BC 7C 08 03 A6 */ mtlr r0 /* 802A6660 002A35C0 38 21 00 90 */ addi r1, r1, 0x90 /* 802A6664 002A35C4 4E 80 00 20 */ blr .global AABoxCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC22CBooleanAABoxAreaCache AABoxCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC22CBooleanAABoxAreaCache: /* 802A6668 002A35C8 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 802A666C 002A35CC 7C 08 02 A6 */ mflr r0 /* 802A6670 002A35D0 90 01 00 B4 */ stw r0, 0xb4(r1) /* 802A6674 002A35D4 BE E1 00 8C */ stmw r23, 0x8c(r1) /* 802A6678 002A35D8 7C 7C 1B 78 */ mr r28, r3 /* 802A667C 002A35DC 7C 9D 23 78 */ mr r29, r4 /* 802A6680 002A35E0 3B C0 00 00 */ li r30, 0 /* 802A6684 002A35E4 3B E0 00 00 */ li r31, 0 lbl_802A6688: /* 802A6688 002A35E8 80 7C 00 18 */ lwz r3, 0x18(r28) /* 802A668C 002A35EC A0 03 00 00 */ lhz r0, 0(r3) /* 802A6690 002A35F0 7C 00 FE 30 */ sraw r0, r0, r31 /* 802A6694 002A35F4 54 1A 07 BF */ clrlwi. r26, r0, 0x1e /* 802A6698 002A35F8 41 82 01 3C */ beq lbl_802A67D4 /* 802A669C 002A35FC 7F 84 E3 78 */ mr r4, r28 /* 802A66A0 002A3600 7F C5 F3 78 */ mr r5, r30 /* 802A66A4 002A3604 38 61 00 40 */ addi r3, r1, 0x40 /* 802A66A8 002A3608 4B FF C6 B9 */ bl GetChild__Q212CAreaOctTree4NodeCFi /* 802A66AC 002A360C C0 A1 00 40 */ lfs f5, 0x40(r1) /* 802A66B0 002A3610 38 81 00 64 */ addi r4, r1, 0x64 /* 802A66B4 002A3614 C0 81 00 44 */ lfs f4, 0x44(r1) /* 802A66B8 002A3618 C0 61 00 48 */ lfs f3, 0x48(r1) /* 802A66BC 002A361C C0 41 00 4C */ lfs f2, 0x4c(r1) /* 802A66C0 002A3620 C0 21 00 50 */ lfs f1, 0x50(r1) /* 802A66C4 002A3624 C0 01 00 54 */ lfs f0, 0x54(r1) /* 802A66C8 002A3628 80 C1 00 58 */ lwz r6, 0x58(r1) /* 802A66CC 002A362C 80 A1 00 5C */ lwz r5, 0x5c(r1) /* 802A66D0 002A3630 80 01 00 60 */ lwz r0, 0x60(r1) /* 802A66D4 002A3634 D0 A1 00 64 */ stfs f5, 0x64(r1) /* 802A66D8 002A3638 80 7D 00 00 */ lwz r3, 0(r29) /* 802A66DC 002A363C D0 81 00 68 */ stfs f4, 0x68(r1) /* 802A66E0 002A3640 D0 61 00 6C */ stfs f3, 0x6c(r1) /* 802A66E4 002A3644 D0 41 00 70 */ stfs f2, 0x70(r1) /* 802A66E8 002A3648 D0 21 00 74 */ stfs f1, 0x74(r1) /* 802A66EC 002A364C D0 01 00 78 */ stfs f0, 0x78(r1) /* 802A66F0 002A3650 90 C1 00 7C */ stw r6, 0x7c(r1) /* 802A66F4 002A3654 90 A1 00 80 */ stw r5, 0x80(r1) /* 802A66F8 002A3658 90 01 00 84 */ stw r0, 0x84(r1) /* 802A66FC 002A365C 48 09 14 89 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A6700 002A3660 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6704 002A3664 41 82 00 D0 */ beq lbl_802A67D4 /* 802A6708 002A3668 2C 1A 00 02 */ cmpwi r26, 2 /* 802A670C 002A366C 40 82 00 A8 */ bne lbl_802A67B4 /* 802A6710 002A3670 38 61 00 08 */ addi r3, r1, 8 /* 802A6714 002A3674 38 81 00 64 */ addi r4, r1, 0x64 /* 802A6718 002A3678 4B FF C6 25 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A671C 002A367C 83 41 00 08 */ lwz r26, 8(r1) /* 802A6720 002A3680 3A E1 00 18 */ addi r23, r1, 0x18 /* 802A6724 002A3684 83 61 00 80 */ lwz r27, 0x80(r1) /* 802A6728 002A3688 3B 00 00 00 */ li r24, 0 /* 802A672C 002A368C A3 3A 00 18 */ lhz r25, 0x18(r26) /* 802A6730 002A3690 48 00 00 78 */ b lbl_802A67A8 lbl_802A6734: /* 802A6734 002A3694 80 AD A5 C8 */ lwz r5, lbl_805A9188@sda21(r13) /* 802A6738 002A3698 7F 64 DB 78 */ mr r4, r27 /* 802A673C 002A369C 38 61 00 18 */ addi r3, r1, 0x18 /* 802A6740 002A36A0 38 05 00 01 */ addi r0, r5, 1 /* 802A6744 002A36A4 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A6748 002A36A8 A0 BA 00 1A */ lhz r5, 0x1a(r26) /* 802A674C 002A36AC 4B FF C2 E9 */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A6750 002A36B0 80 A1 00 3C */ lwz r5, 0x3c(r1) /* 802A6754 002A36B4 38 00 00 00 */ li r0, 0 /* 802A6758 002A36B8 90 01 00 10 */ stw r0, 0x10(r1) /* 802A675C 002A36BC 38 81 00 10 */ addi r4, r1, 0x10 /* 802A6760 002A36C0 80 7D 00 04 */ lwz r3, 4(r29) /* 802A6764 002A36C4 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A6768 002A36C8 48 02 EB E5 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A676C 002A36CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6770 002A36D0 41 82 00 30 */ beq lbl_802A67A0 /* 802A6774 002A36D4 7E E5 BB 78 */ mr r5, r23 /* 802A6778 002A36D8 38 7D 00 08 */ addi r3, r29, 8 /* 802A677C 002A36DC 38 9D 00 14 */ addi r4, r29, 0x14 /* 802A6780 002A36E0 38 D7 00 0C */ addi r6, r23, 0xc /* 802A6784 002A36E4 38 F7 00 18 */ addi r7, r23, 0x18 /* 802A6788 002A36E8 48 02 AD 59 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802A678C 002A36EC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A6790 002A36F0 28 00 00 01 */ cmplwi r0, 1 /* 802A6794 002A36F4 40 82 00 0C */ bne lbl_802A67A0 /* 802A6798 002A36F8 38 60 00 01 */ li r3, 1 /* 802A679C 002A36FC 48 00 00 4C */ b lbl_802A67E8 lbl_802A67A0: /* 802A67A0 002A3700 3B 5A 00 02 */ addi r26, r26, 2 /* 802A67A4 002A3704 3B 18 00 01 */ addi r24, r24, 1 lbl_802A67A8: /* 802A67A8 002A3708 7C 18 C8 00 */ cmpw r24, r25 /* 802A67AC 002A370C 41 80 FF 88 */ blt lbl_802A6734 /* 802A67B0 002A3710 48 00 00 24 */ b lbl_802A67D4 lbl_802A67B4: /* 802A67B4 002A3714 7F A4 EB 78 */ mr r4, r29 /* 802A67B8 002A3718 38 61 00 64 */ addi r3, r1, 0x64 /* 802A67BC 002A371C 4B FF FE AD */ bl AABoxCollisionCheckBoolean_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeRC22CBooleanAABoxAreaCache /* 802A67C0 002A3720 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A67C4 002A3724 28 00 00 01 */ cmplwi r0, 1 /* 802A67C8 002A3728 40 82 00 0C */ bne lbl_802A67D4 /* 802A67CC 002A372C 38 60 00 01 */ li r3, 1 /* 802A67D0 002A3730 48 00 00 18 */ b lbl_802A67E8 lbl_802A67D4: /* 802A67D4 002A3734 3B DE 00 01 */ addi r30, r30, 1 /* 802A67D8 002A3738 3B FF 00 02 */ addi r31, r31, 2 /* 802A67DC 002A373C 2C 1E 00 08 */ cmpwi r30, 8 /* 802A67E0 002A3740 41 80 FE A8 */ blt lbl_802A6688 /* 802A67E4 002A3744 38 60 00 00 */ li r3, 0 lbl_802A67E8: /* 802A67E8 002A3748 BA E1 00 8C */ lmw r23, 0x8c(r1) /* 802A67EC 002A374C 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 802A67F0 002A3750 7C 08 03 A6 */ mtlr r0 /* 802A67F4 002A3754 38 21 00 B0 */ addi r1, r1, 0xb0 /* 802A67F8 002A3758 4E 80 00 20 */ blr .global AABoxCollisionCheck__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList AABoxCollisionCheck__20CMetroidAreaColliderFRC12CAreaOctTreeRC6CAABoxRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList: /* 802A67FC 002A375C 94 21 FF 10 */ stwu r1, -0xf0(r1) /* 802A6800 002A3760 7C 08 02 A6 */ mflr r0 /* 802A6804 002A3764 90 01 00 F4 */ stw r0, 0xf4(r1) /* 802A6808 002A3768 DB E1 00 E0 */ stfd f31, 0xe0(r1) /* 802A680C 002A376C F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0 /* 802A6810 002A3770 DB C1 00 D0 */ stfd f30, 0xd0(r1) /* 802A6814 002A3774 F3 C1 00 D8 */ psq_st f30, 216(r1), 0, qr0 /* 802A6818 002A3778 DB A1 00 C0 */ stfd f29, 0xc0(r1) /* 802A681C 002A377C F3 A1 00 C8 */ psq_st f29, 200(r1), 0, qr0 /* 802A6820 002A3780 93 E1 00 BC */ stw r31, 0xbc(r1) /* 802A6824 002A3784 C1 02 C1 4C */ lfs f8, lbl_805ADE6C@sda21(r2) /* 802A6828 002A3788 7C C0 33 78 */ mr r0, r6 /* 802A682C 002A378C C0 E2 C1 64 */ lfs f7, lbl_805ADE84@sda21(r2) /* 802A6830 002A3790 7C E8 3B 78 */ mr r8, r7 /* 802A6834 002A3794 FD 80 40 50 */ fneg f12, f8 /* 802A6838 002A3798 C0 04 00 10 */ lfs f0, 0x10(r4) /* 802A683C 002A379C FF E0 38 50 */ fneg f31, f7 /* 802A6840 002A37A0 C0 24 00 00 */ lfs f1, 0(r4) /* 802A6844 002A37A4 C0 44 00 04 */ lfs f2, 4(r4) /* 802A6848 002A37A8 7C 7F 1B 78 */ mr r31, r3 /* 802A684C 002A37AC EF A1 02 32 */ fmuls f29, f1, f8 /* 802A6850 002A37B0 C1 24 00 08 */ lfs f9, 8(r4) /* 802A6854 002A37B4 EC A0 03 32 */ fmuls f5, f0, f12 /* 802A6858 002A37B8 C1 44 00 0C */ lfs f10, 0xc(r4) /* 802A685C 002A37BC EF C2 02 32 */ fmuls f30, f2, f8 /* 802A6860 002A37C0 7C A6 2B 78 */ mr r6, r5 /* 802A6864 002A37C4 EC 00 07 F2 */ fmuls f0, f0, f31 /* 802A6868 002A37C8 C1 64 00 14 */ lfs f11, 0x14(r4) /* 802A686C 002A37CC EC C1 F1 FA */ fmadds f6, f1, f7, f30 /* 802A6870 002A37D0 D0 E1 00 58 */ stfs f7, 0x58(r1) /* 802A6874 002A37D4 EC 8A 2F FA */ fmadds f4, f10, f31, f5 /* 802A6878 002A37D8 7C 07 03 78 */ mr r7, r0 /* 802A687C 002A37DC EC 62 E9 FA */ fmadds f3, f2, f7, f29 /* 802A6880 002A37E0 D1 01 00 5C */ stfs f8, 0x5c(r1) /* 802A6884 002A37E4 EC 4A 03 3A */ fmadds f2, f10, f12, f0 /* 802A6888 002A37E8 38 61 00 2C */ addi r3, r1, 0x2c /* 802A688C 002A37EC ED A9 02 32 */ fmuls f13, f9, f8 /* 802A6890 002A37F0 D1 01 00 60 */ stfs f8, 0x60(r1) /* 802A6894 002A37F4 EC 0A 2B 3A */ fmadds f0, f10, f12, f5 /* 802A6898 002A37F8 D3 E1 00 68 */ stfs f31, 0x68(r1) /* 802A689C 002A37FC EC 3D F0 2A */ fadds f1, f29, f30 /* 802A68A0 002A3800 38 A1 00 58 */ addi r5, r1, 0x58 /* 802A68A4 002A3804 EC AD 30 2A */ fadds f5, f13, f6 /* 802A68A8 002A3808 D1 81 00 6C */ stfs f12, 0x6c(r1) /* 802A68AC 002A380C EC 8B 23 3A */ fmadds f4, f11, f12, f4 /* 802A68B0 002A3810 D1 81 00 70 */ stfs f12, 0x70(r1) /* 802A68B4 002A3814 EC 6D 18 2A */ fadds f3, f13, f3 /* 802A68B8 002A3818 EC 4B 13 3A */ fmadds f2, f11, f12, f2 /* 802A68BC 002A381C D0 A1 00 64 */ stfs f5, 0x64(r1) /* 802A68C0 002A3820 EC 29 09 FA */ fmadds f1, f9, f7, f1 /* 802A68C4 002A3824 EC 0B 07 FA */ fmadds f0, f11, f31, f0 /* 802A68C8 002A3828 D0 81 00 74 */ stfs f4, 0x74(r1) /* 802A68CC 002A382C D1 01 00 78 */ stfs f8, 0x78(r1) /* 802A68D0 002A3830 D0 E1 00 7C */ stfs f7, 0x7c(r1) /* 802A68D4 002A3834 D1 01 00 80 */ stfs f8, 0x80(r1) /* 802A68D8 002A3838 D0 61 00 84 */ stfs f3, 0x84(r1) /* 802A68DC 002A383C D1 81 00 88 */ stfs f12, 0x88(r1) /* 802A68E0 002A3840 D3 E1 00 8C */ stfs f31, 0x8c(r1) /* 802A68E4 002A3844 D1 81 00 90 */ stfs f12, 0x90(r1) /* 802A68E8 002A3848 D0 41 00 94 */ stfs f2, 0x94(r1) /* 802A68EC 002A384C D1 01 00 98 */ stfs f8, 0x98(r1) /* 802A68F0 002A3850 D1 01 00 9C */ stfs f8, 0x9c(r1) /* 802A68F4 002A3854 D0 E1 00 A0 */ stfs f7, 0xa0(r1) /* 802A68F8 002A3858 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 802A68FC 002A385C D1 81 00 A8 */ stfs f12, 0xa8(r1) /* 802A6900 002A3860 D1 81 00 AC */ stfs f12, 0xac(r1) /* 802A6904 002A3864 D3 E1 00 B0 */ stfs f31, 0xb0(r1) /* 802A6908 002A3868 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 802A690C 002A386C 48 00 00 85 */ bl __ct__15CAABoxAreaCacheFRC6CAABoxPC6CPlaneRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList /* 802A6910 002A3870 48 00 07 31 */ bl ResetInternalCounters__20CMetroidAreaColliderFv /* 802A6914 002A3874 80 1F 00 18 */ lwz r0, 0x18(r31) /* 802A6918 002A3878 38 61 00 08 */ addi r3, r1, 8 /* 802A691C 002A387C 80 BF 00 20 */ lwz r5, 0x20(r31) /* 802A6920 002A3880 38 81 00 2C */ addi r4, r1, 0x2c /* 802A6924 002A3884 C0 BF 00 00 */ lfs f5, 0(r31) /* 802A6928 002A3888 C0 9F 00 04 */ lfs f4, 4(r31) /* 802A692C 002A388C C0 7F 00 08 */ lfs f3, 8(r31) /* 802A6930 002A3890 C0 5F 00 0C */ lfs f2, 0xc(r31) /* 802A6934 002A3894 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 802A6938 002A3898 C0 1F 00 14 */ lfs f0, 0x14(r31) /* 802A693C 002A389C D0 A1 00 08 */ stfs f5, 8(r1) /* 802A6940 002A38A0 D0 81 00 0C */ stfs f4, 0xc(r1) /* 802A6944 002A38A4 D0 61 00 10 */ stfs f3, 0x10(r1) /* 802A6948 002A38A8 D0 41 00 14 */ stfs f2, 0x14(r1) /* 802A694C 002A38AC D0 21 00 18 */ stfs f1, 0x18(r1) /* 802A6950 002A38B0 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802A6954 002A38B4 90 A1 00 20 */ stw r5, 0x20(r1) /* 802A6958 002A38B8 93 E1 00 24 */ stw r31, 0x24(r1) /* 802A695C 002A38BC 90 01 00 28 */ stw r0, 0x28(r1) /* 802A6960 002A38C0 48 00 04 35 */ bl AABoxCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR15CAABoxAreaCache /* 802A6964 002A38C4 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0 /* 802A6968 002A38C8 CB E1 00 E0 */ lfd f31, 0xe0(r1) /* 802A696C 002A38CC E3 C1 00 D8 */ psq_l f30, 216(r1), 0, qr0 /* 802A6970 002A38D0 CB C1 00 D0 */ lfd f30, 0xd0(r1) /* 802A6974 002A38D4 E3 A1 00 C8 */ psq_l f29, 200(r1), 0, qr0 /* 802A6978 002A38D8 CB A1 00 C0 */ lfd f29, 0xc0(r1) /* 802A697C 002A38DC 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 802A6980 002A38E0 83 E1 00 BC */ lwz r31, 0xbc(r1) /* 802A6984 002A38E4 7C 08 03 A6 */ mtlr r0 /* 802A6988 002A38E8 38 21 00 F0 */ addi r1, r1, 0xf0 /* 802A698C 002A38EC 4E 80 00 20 */ blr .global __ct__15CAABoxAreaCacheFRC6CAABoxPC6CPlaneRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList __ct__15CAABoxAreaCacheFRC6CAABoxPC6CPlaneRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList: /* 802A6990 002A38F0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A6994 002A38F4 7C 08 02 A6 */ mflr r0 /* 802A6998 002A38F8 90 01 00 24 */ stw r0, 0x24(r1) /* 802A699C 002A38FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802A69A0 002A3900 7C 9F 23 78 */ mr r31, r4 /* 802A69A4 002A3904 93 C1 00 18 */ stw r30, 0x18(r1) /* 802A69A8 002A3908 7C 7E 1B 78 */ mr r30, r3 /* 802A69AC 002A390C 93 E3 00 00 */ stw r31, 0(r3) /* 802A69B0 002A3910 38 61 00 08 */ addi r3, r1, 8 /* 802A69B4 002A3914 90 BE 00 04 */ stw r5, 4(r30) /* 802A69B8 002A3918 90 DE 00 08 */ stw r6, 8(r30) /* 802A69BC 002A391C 90 FE 00 0C */ stw r7, 0xc(r30) /* 802A69C0 002A3920 91 1E 00 10 */ stw r8, 0x10(r30) /* 802A69C4 002A3924 48 09 0C 49 */ bl GetCenterPoint__6CAABoxCFv /* 802A69C8 002A3928 C0 01 00 08 */ lfs f0, 8(r1) /* 802A69CC 002A392C 7F C3 F3 78 */ mr r3, r30 /* 802A69D0 002A3930 C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A69D4 002A3934 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 802A69D8 002A3938 C0 01 00 0C */ lfs f0, 0xc(r1) /* 802A69DC 002A393C D0 1E 00 18 */ stfs f0, 0x18(r30) /* 802A69E0 002A3940 C0 01 00 10 */ lfs f0, 0x10(r1) /* 802A69E4 002A3944 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 802A69E8 002A3948 C0 3F 00 0C */ lfs f1, 0xc(r31) /* 802A69EC 002A394C C0 1F 00 00 */ lfs f0, 0(r31) /* 802A69F0 002A3950 C0 7F 00 10 */ lfs f3, 0x10(r31) /* 802A69F4 002A3954 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A69F8 002A3958 C0 3F 00 04 */ lfs f1, 4(r31) /* 802A69FC 002A395C C0 5F 00 14 */ lfs f2, 0x14(r31) /* 802A6A00 002A3960 EC 63 08 28 */ fsubs f3, f3, f1 /* 802A6A04 002A3964 C0 3F 00 08 */ lfs f1, 8(r31) /* 802A6A08 002A3968 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A6A0C 002A396C EC 22 08 28 */ fsubs f1, f2, f1 /* 802A6A10 002A3970 EC 44 00 F2 */ fmuls f2, f4, f3 /* 802A6A14 002A3974 D0 1E 00 20 */ stfs f0, 0x20(r30) /* 802A6A18 002A3978 EC 04 00 72 */ fmuls f0, f4, f1 /* 802A6A1C 002A397C D0 5E 00 24 */ stfs f2, 0x24(r30) /* 802A6A20 002A3980 D0 1E 00 28 */ stfs f0, 0x28(r30) /* 802A6A24 002A3984 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802A6A28 002A3988 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802A6A2C 002A398C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A6A30 002A3990 7C 08 03 A6 */ mtlr r0 /* 802A6A34 002A3994 38 21 00 20 */ addi r1, r1, 0x20 /* 802A6A38 002A3998 4E 80 00 20 */ blr .global AABoxCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList AABoxCollisionCheck_Cached__20CMetroidAreaColliderFRCQ220CMetroidAreaCollider16COctreeLeafCacheRC6CAABoxRC15CMaterialFilterRC13CMaterialListR18CCollisionInfoList: /* 802A6A3C 002A399C 94 21 FE 30 */ stwu r1, -0x1d0(r1) /* 802A6A40 002A39A0 7C 08 02 A6 */ mflr r0 /* 802A6A44 002A39A4 90 01 01 D4 */ stw r0, 0x1d4(r1) /* 802A6A48 002A39A8 DB E1 01 C0 */ stfd f31, 0x1c0(r1) /* 802A6A4C 002A39AC F3 E1 01 C8 */ psq_st f31, 456(r1), 0, qr0 /* 802A6A50 002A39B0 DB C1 01 B0 */ stfd f30, 0x1b0(r1) /* 802A6A54 002A39B4 F3 C1 01 B8 */ psq_st f30, 440(r1), 0, qr0 /* 802A6A58 002A39B8 BE 21 01 74 */ stmw r17, 0x174(r1) /* 802A6A5C 002A39BC C0 C2 C1 4C */ lfs f6, lbl_805ADE6C@sda21(r2) /* 802A6A60 002A39C0 7C 9C 23 78 */ mr r28, r4 /* 802A6A64 002A39C4 C0 A2 C1 64 */ lfs f5, lbl_805ADE84@sda21(r2) /* 802A6A68 002A39C8 7C 7B 1B 78 */ mr r27, r3 /* 802A6A6C 002A39CC FD 80 30 50 */ fneg f12, f6 /* 802A6A70 002A39D0 C0 E4 00 00 */ lfs f7, 0(r4) /* 802A6A74 002A39D4 FD A0 28 50 */ fneg f13, f5 /* 802A6A78 002A39D8 C0 04 00 10 */ lfs f0, 0x10(r4) /* 802A6A7C 002A39DC C1 04 00 04 */ lfs f8, 4(r4) /* 802A6A80 002A39E0 EF C7 01 B2 */ fmuls f30, f7, f6 /* 802A6A84 002A39E4 EF E8 01 B2 */ fmuls f31, f8, f6 /* 802A6A88 002A39E8 C1 24 00 08 */ lfs f9, 8(r4) /* 802A6A8C 002A39EC EC 80 03 32 */ fmuls f4, f0, f12 /* 802A6A90 002A39F0 C1 44 00 0C */ lfs f10, 0xc(r4) /* 802A6A94 002A39F4 EC 00 03 72 */ fmuls f0, f0, f13 /* 802A6A98 002A39F8 C1 64 00 14 */ lfs f11, 0x14(r4) /* 802A6A9C 002A39FC EC 6A 23 7A */ fmadds f3, f10, f13, f4 /* 802A6AA0 002A3A00 D0 A1 01 08 */ stfs f5, 0x108(r1) /* 802A6AA4 002A3A04 EC 4A 03 3A */ fmadds f2, f10, f12, f0 /* 802A6AA8 002A3A08 7C BD 2B 78 */ mr r29, r5 /* 802A6AAC 002A3A0C EC 3E F8 2A */ fadds f1, f30, f31 /* 802A6AB0 002A3A10 D0 C1 01 0C */ stfs f6, 0x10c(r1) /* 802A6AB4 002A3A14 EC 0A 23 3A */ fmadds f0, f10, f12, f4 /* 802A6AB8 002A3A18 D0 C1 01 10 */ stfs f6, 0x110(r1) /* 802A6ABC 002A3A1C EC 6B 1B 3A */ fmadds f3, f11, f12, f3 /* 802A6AC0 002A3A20 7C DE 33 78 */ mr r30, r6 /* 802A6AC4 002A3A24 EC 4B 13 3A */ fmadds f2, f11, f12, f2 /* 802A6AC8 002A3A28 D1 A1 01 18 */ stfs f13, 0x118(r1) /* 802A6ACC 002A3A2C EC 29 09 7A */ fmadds f1, f9, f5, f1 /* 802A6AD0 002A3A30 D1 81 01 1C */ stfs f12, 0x11c(r1) /* 802A6AD4 002A3A34 EC 0B 03 7A */ fmadds f0, f11, f13, f0 /* 802A6AD8 002A3A38 7C FF 3B 78 */ mr r31, r7 /* 802A6ADC 002A3A3C ED 29 01 B2 */ fmuls f9, f9, f6 /* 802A6AE0 002A3A40 D1 81 01 20 */ stfs f12, 0x120(r1) /* 802A6AE4 002A3A44 EC 87 F9 7A */ fmadds f4, f7, f5, f31 /* 802A6AE8 002A3A48 D0 61 01 24 */ stfs f3, 0x124(r1) /* 802A6AEC 002A3A4C EC 68 F1 7A */ fmadds f3, f8, f5, f30 /* 802A6AF0 002A3A50 D0 C1 01 28 */ stfs f6, 0x128(r1) /* 802A6AF4 002A3A54 EC 89 20 2A */ fadds f4, f9, f4 /* 802A6AF8 002A3A58 EC 69 18 2A */ fadds f3, f9, f3 /* 802A6AFC 002A3A5C D0 A1 01 2C */ stfs f5, 0x12c(r1) /* 802A6B00 002A3A60 D0 81 01 14 */ stfs f4, 0x114(r1) /* 802A6B04 002A3A64 D0 C1 01 30 */ stfs f6, 0x130(r1) /* 802A6B08 002A3A68 D0 61 01 34 */ stfs f3, 0x134(r1) /* 802A6B0C 002A3A6C D1 81 01 38 */ stfs f12, 0x138(r1) /* 802A6B10 002A3A70 D1 A1 01 3C */ stfs f13, 0x13c(r1) /* 802A6B14 002A3A74 D1 81 01 40 */ stfs f12, 0x140(r1) /* 802A6B18 002A3A78 D0 41 01 44 */ stfs f2, 0x144(r1) /* 802A6B1C 002A3A7C D0 C1 01 48 */ stfs f6, 0x148(r1) /* 802A6B20 002A3A80 D0 C1 01 4C */ stfs f6, 0x14c(r1) /* 802A6B24 002A3A84 D0 A1 01 50 */ stfs f5, 0x150(r1) /* 802A6B28 002A3A88 D0 21 01 54 */ stfs f1, 0x154(r1) /* 802A6B2C 002A3A8C D1 81 01 58 */ stfs f12, 0x158(r1) /* 802A6B30 002A3A90 D1 81 01 5C */ stfs f12, 0x15c(r1) /* 802A6B34 002A3A94 D1 A1 01 60 */ stfs f13, 0x160(r1) /* 802A6B38 002A3A98 D0 01 01 64 */ stfs f0, 0x164(r1) /* 802A6B3C 002A3A9C 48 00 05 05 */ bl ResetInternalCounters__20CMetroidAreaColliderFv /* 802A6B40 002A3AA0 7F 84 E3 78 */ mr r4, r28 /* 802A6B44 002A3AA4 38 61 00 34 */ addi r3, r1, 0x34 /* 802A6B48 002A3AA8 48 09 0A C5 */ bl GetCenterPoint__6CAABoxCFv /* 802A6B4C 002A3AAC C0 7C 00 10 */ lfs f3, 0x10(r28) /* 802A6B50 002A3AB0 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A6B54 002A3AB4 C0 5C 00 04 */ lfs f2, 4(r28) /* 802A6B58 002A3AB8 3A FB 00 08 */ addi r23, r27, 8 /* 802A6B5C 002A3ABC C0 3C 00 14 */ lfs f1, 0x14(r28) /* 802A6B60 002A3AC0 3B 23 67 54 */ addi r25, r3, mskInvertedBox__6CAABox@l /* 802A6B64 002A3AC4 C0 1C 00 08 */ lfs f0, 8(r28) /* 802A6B68 002A3AC8 EC 63 10 28 */ fsubs f3, f3, f2 /* 802A6B6C 002A3ACC C0 82 C1 60 */ lfs f4, lbl_805ADE80@sda21(r2) /* 802A6B70 002A3AD0 3A A0 00 00 */ li r21, 0 /* 802A6B74 002A3AD4 EC 41 00 28 */ fsubs f2, f1, f0 /* 802A6B78 002A3AD8 C0 3C 00 0C */ lfs f1, 0xc(r28) /* 802A6B7C 002A3ADC C0 1C 00 00 */ lfs f0, 0(r28) /* 802A6B80 002A3AE0 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802A6B84 002A3AE4 C0 61 00 34 */ lfs f3, 0x34(r1) /* 802A6B88 002A3AE8 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A6B8C 002A3AEC EC A4 00 B2 */ fmuls f5, f4, f2 /* 802A6B90 002A3AF0 C0 41 00 38 */ lfs f2, 0x38(r1) /* 802A6B94 002A3AF4 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 802A6B98 002A3AF8 EC 04 00 32 */ fmuls f0, f4, f0 /* 802A6B9C 002A3AFC D0 61 00 5C */ stfs f3, 0x5c(r1) /* 802A6BA0 002A3B00 3A 80 00 00 */ li r20, 0 /* 802A6BA4 002A3B04 D0 41 00 60 */ stfs f2, 0x60(r1) /* 802A6BA8 002A3B08 D0 21 00 64 */ stfs f1, 0x64(r1) /* 802A6BAC 002A3B0C D0 01 00 50 */ stfs f0, 0x50(r1) /* 802A6BB0 002A3B10 D0 C1 00 54 */ stfs f6, 0x54(r1) /* 802A6BB4 002A3B14 D0 A1 00 58 */ stfs f5, 0x58(r1) /* 802A6BB8 002A3B18 48 00 01 A8 */ b lbl_802A6D60 lbl_802A6BBC: /* 802A6BBC 002A3B1C 7F 83 E3 78 */ mr r3, r28 /* 802A6BC0 002A3B20 7E E4 BB 78 */ mr r4, r23 /* 802A6BC4 002A3B24 48 09 0F C1 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A6BC8 002A3B28 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6BCC 002A3B2C 41 82 01 8C */ beq lbl_802A6D58 /* 802A6BD0 002A3B30 7E E4 BB 78 */ mr r4, r23 /* 802A6BD4 002A3B34 38 61 00 08 */ addi r3, r1, 8 /* 802A6BD8 002A3B38 4B FF C1 65 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A6BDC 002A3B3C 82 C1 00 08 */ lwz r22, 8(r1) /* 802A6BE0 002A3B40 3C 60 80 59 */ lis r3, lbl_80597BAC@ha /* 802A6BE4 002A3B44 83 17 00 1C */ lwz r24, 0x1c(r23) /* 802A6BE8 002A3B48 3B 43 7B AC */ addi r26, r3, lbl_80597BAC@l /* 802A6BEC 002A3B4C A2 76 00 18 */ lhz r19, 0x18(r22) /* 802A6BF0 002A3B50 3A 40 00 00 */ li r18, 0 /* 802A6BF4 002A3B54 48 00 01 5C */ b lbl_802A6D50 lbl_802A6BF8: /* 802A6BF8 002A3B58 80 6D A5 C8 */ lwz r3, lbl_805A9188@sda21(r13) /* 802A6BFC 002A3B5C A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A6C00 002A3B60 38 03 00 01 */ addi r0, r3, 1 /* 802A6C04 002A3B64 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A6C08 002A3B68 A0 B6 00 1A */ lhz r5, 0x1a(r22) /* 802A6C0C 002A3B6C 54 A3 0B FC */ rlwinm r3, r5, 1, 0xf, 0x1e /* 802A6C10 002A3B70 7C 1A 1A 2E */ lhzx r0, r26, r3 /* 802A6C14 002A3B74 7C 04 00 40 */ cmplw r4, r0 /* 802A6C18 002A3B78 40 82 00 14 */ bne lbl_802A6C2C /* 802A6C1C 002A3B7C 80 6D A5 CC */ lwz r3, lbl_805A918C@sda21(r13) /* 802A6C20 002A3B80 38 03 00 01 */ addi r0, r3, 1 /* 802A6C24 002A3B84 90 0D A5 CC */ stw r0, lbl_805A918C@sda21(r13) /* 802A6C28 002A3B88 48 00 01 20 */ b lbl_802A6D48 lbl_802A6C2C: /* 802A6C2C 002A3B8C 7C 9A 1B 2E */ sthx r4, r26, r3 /* 802A6C30 002A3B90 7F 04 C3 78 */ mr r4, r24 /* 802A6C34 002A3B94 38 61 00 80 */ addi r3, r1, 0x80 /* 802A6C38 002A3B98 4B FF BD FD */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A6C3C 002A3B9C 80 A1 00 A4 */ lwz r5, 0xa4(r1) /* 802A6C40 002A3BA0 38 00 00 00 */ li r0, 0 /* 802A6C44 002A3BA4 90 01 00 10 */ stw r0, 0x10(r1) /* 802A6C48 002A3BA8 7F A3 EB 78 */ mr r3, r29 /* 802A6C4C 002A3BAC 3A 21 00 80 */ addi r17, r1, 0x80 /* 802A6C50 002A3BB0 38 81 00 10 */ addi r4, r1, 0x10 /* 802A6C54 002A3BB4 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A6C58 002A3BB8 48 02 E6 F5 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A6C5C 002A3BBC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6C60 002A3BC0 41 82 00 E8 */ beq lbl_802A6D48 /* 802A6C64 002A3BC4 7E 25 8B 78 */ mr r5, r17 /* 802A6C68 002A3BC8 38 61 00 5C */ addi r3, r1, 0x5c /* 802A6C6C 002A3BCC 38 81 00 50 */ addi r4, r1, 0x50 /* 802A6C70 002A3BD0 38 D1 00 0C */ addi r6, r17, 0xc /* 802A6C74 002A3BD4 38 F1 00 18 */ addi r7, r17, 0x18 /* 802A6C78 002A3BD8 48 02 A8 69 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802A6C7C 002A3BDC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A6C80 002A3BE0 28 00 00 01 */ cmplwi r0, 1 /* 802A6C84 002A3BE4 40 82 00 C4 */ bne lbl_802A6D48 /* 802A6C88 002A3BE8 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A6C8C 002A3BEC C0 99 00 04 */ lfs f4, 4(r25) /* 802A6C90 002A3BF0 C0 A3 67 54 */ lfs f5, mskInvertedBox__6CAABox@l(r3) /* 802A6C94 002A3BF4 7E 24 8B 78 */ mr r4, r17 /* 802A6C98 002A3BF8 C0 79 00 08 */ lfs f3, 8(r25) /* 802A6C9C 002A3BFC 38 61 01 08 */ addi r3, r1, 0x108 /* 802A6CA0 002A3C00 C0 59 00 0C */ lfs f2, 0xc(r25) /* 802A6CA4 002A3C04 38 A1 00 68 */ addi r5, r1, 0x68 /* 802A6CA8 002A3C08 C0 39 00 10 */ lfs f1, 0x10(r25) /* 802A6CAC 002A3C0C C0 19 00 14 */ lfs f0, 0x14(r25) /* 802A6CB0 002A3C10 D0 A1 00 68 */ stfs f5, 0x68(r1) /* 802A6CB4 002A3C14 D0 81 00 6C */ stfs f4, 0x6c(r1) /* 802A6CB8 002A3C18 D0 61 00 70 */ stfs f3, 0x70(r1) /* 802A6CBC 002A3C1C D0 41 00 74 */ stfs f2, 0x74(r1) /* 802A6CC0 002A3C20 D0 21 00 78 */ stfs f1, 0x78(r1) /* 802A6CC4 002A3C24 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 802A6CC8 002A3C28 48 00 04 11 */ bl ConvexPolyCollision__20CMetroidAreaColliderFPC6CPlanePC9CVector3fR6CAABox /* 802A6CCC 002A3C2C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6CD0 002A3C30 41 82 00 78 */ beq lbl_802A6D48 /* 802A6CD4 002A3C34 7E 24 8B 78 */ mr r4, r17 /* 802A6CD8 002A3C38 38 61 00 24 */ addi r3, r1, 0x24 /* 802A6CDC 002A3C3C 4B FF B9 59 */ bl GetPlane__17CCollisionSurfaceCFv /* 802A6CE0 002A3C40 C0 C1 00 24 */ lfs f6, 0x24(r1) /* 802A6CE4 002A3C44 7F C5 F3 78 */ mr r5, r30 /* 802A6CE8 002A3C48 C0 A1 00 28 */ lfs f5, 0x28(r1) /* 802A6CEC 002A3C4C 38 61 00 A8 */ addi r3, r1, 0xa8 /* 802A6CF0 002A3C50 C0 81 00 2C */ lfs f4, 0x2c(r1) /* 802A6CF4 002A3C54 FC 40 30 50 */ fneg f2, f6 /* 802A6CF8 002A3C58 FC 20 28 50 */ fneg f1, f5 /* 802A6CFC 002A3C5C C0 61 00 30 */ lfs f3, 0x30(r1) /* 802A6D00 002A3C60 FC 00 20 50 */ fneg f0, f4 /* 802A6D04 002A3C64 D0 C1 00 40 */ stfs f6, 0x40(r1) /* 802A6D08 002A3C68 38 81 00 68 */ addi r4, r1, 0x68 /* 802A6D0C 002A3C6C D0 A1 00 44 */ stfs f5, 0x44(r1) /* 802A6D10 002A3C70 38 C1 00 10 */ addi r6, r1, 0x10 /* 802A6D14 002A3C74 38 E1 00 40 */ addi r7, r1, 0x40 /* 802A6D18 002A3C78 D0 81 00 48 */ stfs f4, 0x48(r1) /* 802A6D1C 002A3C7C 39 01 00 18 */ addi r8, r1, 0x18 /* 802A6D20 002A3C80 D0 61 00 4C */ stfs f3, 0x4c(r1) /* 802A6D24 002A3C84 D0 41 00 18 */ stfs f2, 0x18(r1) /* 802A6D28 002A3C88 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 802A6D2C 002A3C8C D0 01 00 20 */ stfs f0, 0x20(r1) /* 802A6D30 002A3C90 48 02 75 89 */ bl __ct__14CCollisionInfoFRC6CAABoxRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f /* 802A6D34 002A3C94 7C 64 1B 78 */ mr r4, r3 /* 802A6D38 002A3C98 7F E3 FB 78 */ mr r3, r31 /* 802A6D3C 002A3C9C 38 A0 00 00 */ li r5, 0 /* 802A6D40 002A3CA0 4B ED E8 E1 */ bl Add__18CCollisionInfoListFRC14CCollisionInfob /* 802A6D44 002A3CA4 3A A0 00 01 */ li r21, 1 lbl_802A6D48: /* 802A6D48 002A3CA8 3A D6 00 02 */ addi r22, r22, 2 /* 802A6D4C 002A3CAC 3A 52 00 01 */ addi r18, r18, 1 lbl_802A6D50: /* 802A6D50 002A3CB0 7C 12 98 00 */ cmpw r18, r19 /* 802A6D54 002A3CB4 41 80 FE A4 */ blt lbl_802A6BF8 lbl_802A6D58: /* 802A6D58 002A3CB8 3A F7 00 24 */ addi r23, r23, 0x24 /* 802A6D5C 002A3CBC 3A 94 00 01 */ addi r20, r20, 1 lbl_802A6D60: /* 802A6D60 002A3CC0 80 1B 00 04 */ lwz r0, 4(r27) /* 802A6D64 002A3CC4 7C 14 00 00 */ cmpw r20, r0 /* 802A6D68 002A3CC8 41 80 FE 54 */ blt lbl_802A6BBC /* 802A6D6C 002A3CCC 7E A3 AB 78 */ mr r3, r21 /* 802A6D70 002A3CD0 E3 E1 01 C8 */ psq_l f31, 456(r1), 0, qr0 /* 802A6D74 002A3CD4 CB E1 01 C0 */ lfd f31, 0x1c0(r1) /* 802A6D78 002A3CD8 E3 C1 01 B8 */ psq_l f30, 440(r1), 0, qr0 /* 802A6D7C 002A3CDC CB C1 01 B0 */ lfd f30, 0x1b0(r1) /* 802A6D80 002A3CE0 BA 21 01 74 */ lmw r17, 0x174(r1) /* 802A6D84 002A3CE4 80 01 01 D4 */ lwz r0, 0x1d4(r1) /* 802A6D88 002A3CE8 7C 08 03 A6 */ mtlr r0 /* 802A6D8C 002A3CEC 38 21 01 D0 */ addi r1, r1, 0x1d0 /* 802A6D90 002A3CF0 4E 80 00 20 */ blr .global AABoxCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR15CAABoxAreaCache AABoxCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR15CAABoxAreaCache: /* 802A6D94 002A3CF4 94 21 FE 80 */ stwu r1, -0x180(r1) /* 802A6D98 002A3CF8 7C 08 02 A6 */ mflr r0 /* 802A6D9C 002A3CFC 90 01 01 84 */ stw r0, 0x184(r1) /* 802A6DA0 002A3D00 BE A1 01 54 */ stmw r21, 0x154(r1) /* 802A6DA4 002A3D04 7C 77 1B 78 */ mr r23, r3 /* 802A6DA8 002A3D08 7C 95 23 78 */ mr r21, r4 /* 802A6DAC 002A3D0C 3B 60 00 00 */ li r27, 0 /* 802A6DB0 002A3D10 80 03 00 20 */ lwz r0, 0x20(r3) /* 802A6DB4 002A3D14 2C 00 00 01 */ cmpwi r0, 1 /* 802A6DB8 002A3D18 41 82 00 28 */ beq lbl_802A6DE0 /* 802A6DBC 002A3D1C 40 80 00 10 */ bge lbl_802A6DCC /* 802A6DC0 002A3D20 2C 00 00 00 */ cmpwi r0, 0 /* 802A6DC4 002A3D24 40 80 00 14 */ bge lbl_802A6DD8 /* 802A6DC8 002A3D28 48 00 02 60 */ b lbl_802A7028 lbl_802A6DCC: /* 802A6DCC 002A3D2C 2C 00 00 03 */ cmpwi r0, 3 /* 802A6DD0 002A3D30 40 80 02 58 */ bge lbl_802A7028 /* 802A6DD4 002A3D34 48 00 00 BC */ b lbl_802A6E90 lbl_802A6DD8: /* 802A6DD8 002A3D38 38 60 00 00 */ li r3, 0 /* 802A6DDC 002A3D3C 48 00 02 50 */ b lbl_802A702C lbl_802A6DE0: /* 802A6DE0 002A3D40 3A C0 00 00 */ li r22, 0 lbl_802A6DE4: /* 802A6DE4 002A3D44 7E E4 BB 78 */ mr r4, r23 /* 802A6DE8 002A3D48 7E C5 B3 78 */ mr r5, r22 /* 802A6DEC 002A3D4C 38 61 00 9C */ addi r3, r1, 0x9c /* 802A6DF0 002A3D50 4B FF BF 71 */ bl GetChild__Q212CAreaOctTree4NodeCFi /* 802A6DF4 002A3D54 C0 A1 00 9C */ lfs f5, 0x9c(r1) /* 802A6DF8 002A3D58 38 61 00 5C */ addi r3, r1, 0x5c /* 802A6DFC 002A3D5C C0 81 00 A0 */ lfs f4, 0xa0(r1) /* 802A6E00 002A3D60 C0 61 00 A4 */ lfs f3, 0xa4(r1) /* 802A6E04 002A3D64 C0 41 00 A8 */ lfs f2, 0xa8(r1) /* 802A6E08 002A3D68 C0 21 00 AC */ lfs f1, 0xac(r1) /* 802A6E0C 002A3D6C C0 01 00 B0 */ lfs f0, 0xb0(r1) /* 802A6E10 002A3D70 80 A1 00 B4 */ lwz r5, 0xb4(r1) /* 802A6E14 002A3D74 80 81 00 B8 */ lwz r4, 0xb8(r1) /* 802A6E18 002A3D78 80 01 00 BC */ lwz r0, 0xbc(r1) /* 802A6E1C 002A3D7C D0 A1 00 C0 */ stfs f5, 0xc0(r1) /* 802A6E20 002A3D80 D0 81 00 C4 */ stfs f4, 0xc4(r1) /* 802A6E24 002A3D84 D0 61 00 C8 */ stfs f3, 0xc8(r1) /* 802A6E28 002A3D88 D0 41 00 CC */ stfs f2, 0xcc(r1) /* 802A6E2C 002A3D8C D0 21 00 D0 */ stfs f1, 0xd0(r1) /* 802A6E30 002A3D90 D0 01 00 D4 */ stfs f0, 0xd4(r1) /* 802A6E34 002A3D94 90 A1 00 D8 */ stw r5, 0xd8(r1) /* 802A6E38 002A3D98 90 81 00 DC */ stw r4, 0xdc(r1) /* 802A6E3C 002A3D9C 90 01 00 E0 */ stw r0, 0xe0(r1) /* 802A6E40 002A3DA0 D0 A1 00 5C */ stfs f5, 0x5c(r1) /* 802A6E44 002A3DA4 D0 81 00 60 */ stfs f4, 0x60(r1) /* 802A6E48 002A3DA8 D0 61 00 64 */ stfs f3, 0x64(r1) /* 802A6E4C 002A3DAC D0 41 00 68 */ stfs f2, 0x68(r1) /* 802A6E50 002A3DB0 D0 21 00 6C */ stfs f1, 0x6c(r1) /* 802A6E54 002A3DB4 D0 01 00 70 */ stfs f0, 0x70(r1) /* 802A6E58 002A3DB8 80 95 00 00 */ lwz r4, 0(r21) /* 802A6E5C 002A3DBC 48 09 0D 29 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 802A6E60 002A3DC0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6E64 002A3DC4 41 82 00 1C */ beq lbl_802A6E80 /* 802A6E68 002A3DC8 7E A4 AB 78 */ mr r4, r21 /* 802A6E6C 002A3DCC 38 61 00 C0 */ addi r3, r1, 0xc0 /* 802A6E70 002A3DD0 4B FF FF 25 */ bl AABoxCollisionCheck_Internal__20CMetroidAreaColliderFRCQ212CAreaOctTree4NodeR15CAABoxAreaCache /* 802A6E74 002A3DD4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6E78 002A3DD8 41 82 00 08 */ beq lbl_802A6E80 /* 802A6E7C 002A3DDC 3B 60 00 01 */ li r27, 1 lbl_802A6E80: /* 802A6E80 002A3DE0 3A D6 00 01 */ addi r22, r22, 1 /* 802A6E84 002A3DE4 2C 16 00 08 */ cmpwi r22, 8 /* 802A6E88 002A3DE8 41 80 FF 5C */ blt lbl_802A6DE4 /* 802A6E8C 002A3DEC 48 00 01 9C */ b lbl_802A7028 lbl_802A6E90: /* 802A6E90 002A3DF0 7E E4 BB 78 */ mr r4, r23 /* 802A6E94 002A3DF4 38 61 00 08 */ addi r3, r1, 8 /* 802A6E98 002A3DF8 4B FF BE A5 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv /* 802A6E9C 002A3DFC 83 81 00 08 */ lwz r28, 8(r1) /* 802A6EA0 002A3E00 3C 80 80 5A */ lis r4, mskInvertedBox__6CAABox@ha /* 802A6EA4 002A3E04 3C 60 80 59 */ lis r3, lbl_80597BAC@ha /* 802A6EA8 002A3E08 83 B7 00 1C */ lwz r29, 0x1c(r23) /* 802A6EAC 002A3E0C A3 5C 00 18 */ lhz r26, 0x18(r28) /* 802A6EB0 002A3E10 3B C4 67 54 */ addi r30, r4, mskInvertedBox__6CAABox@l /* 802A6EB4 002A3E14 83 35 00 08 */ lwz r25, 8(r21) /* 802A6EB8 002A3E18 3B E3 7B AC */ addi r31, r3, lbl_80597BAC@l /* 802A6EBC 002A3E1C 83 15 00 04 */ lwz r24, 4(r21) /* 802A6EC0 002A3E20 3A E0 00 00 */ li r23, 0 /* 802A6EC4 002A3E24 48 00 01 5C */ b lbl_802A7020 lbl_802A6EC8: /* 802A6EC8 002A3E28 80 6D A5 C8 */ lwz r3, lbl_805A9188@sda21(r13) /* 802A6ECC 002A3E2C A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802A6ED0 002A3E30 38 03 00 01 */ addi r0, r3, 1 /* 802A6ED4 002A3E34 90 0D A5 C8 */ stw r0, lbl_805A9188@sda21(r13) /* 802A6ED8 002A3E38 A0 BC 00 1A */ lhz r5, 0x1a(r28) /* 802A6EDC 002A3E3C 54 A3 0B FC */ rlwinm r3, r5, 1, 0xf, 0x1e /* 802A6EE0 002A3E40 7C 1F 1A 2E */ lhzx r0, r31, r3 /* 802A6EE4 002A3E44 7C 04 00 40 */ cmplw r4, r0 /* 802A6EE8 002A3E48 40 82 00 14 */ bne lbl_802A6EFC /* 802A6EEC 002A3E4C 80 6D A5 CC */ lwz r3, lbl_805A918C@sda21(r13) /* 802A6EF0 002A3E50 38 03 00 01 */ addi r0, r3, 1 /* 802A6EF4 002A3E54 90 0D A5 CC */ stw r0, lbl_805A918C@sda21(r13) /* 802A6EF8 002A3E58 48 00 01 20 */ b lbl_802A7018 lbl_802A6EFC: /* 802A6EFC 002A3E5C 7C 9F 1B 2E */ sthx r4, r31, r3 /* 802A6F00 002A3E60 7F A4 EB 78 */ mr r4, r29 /* 802A6F04 002A3E64 38 61 00 74 */ addi r3, r1, 0x74 /* 802A6F08 002A3E68 4B FF BB 2D */ bl GetMasterListTriangle__12CAreaOctTreeCFUs /* 802A6F0C 002A3E6C 80 A1 00 98 */ lwz r5, 0x98(r1) /* 802A6F10 002A3E70 38 00 00 00 */ li r0, 0 /* 802A6F14 002A3E74 90 01 00 10 */ stw r0, 0x10(r1) /* 802A6F18 002A3E78 7F 23 CB 78 */ mr r3, r25 /* 802A6F1C 002A3E7C 3A C1 00 74 */ addi r22, r1, 0x74 /* 802A6F20 002A3E80 38 81 00 10 */ addi r4, r1, 0x10 /* 802A6F24 002A3E84 90 A1 00 14 */ stw r5, 0x14(r1) /* 802A6F28 002A3E88 48 02 E4 25 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A6F2C 002A3E8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6F30 002A3E90 41 82 00 E8 */ beq lbl_802A7018 /* 802A6F34 002A3E94 7E C5 B3 78 */ mr r5, r22 /* 802A6F38 002A3E98 38 75 00 14 */ addi r3, r21, 0x14 /* 802A6F3C 002A3E9C 38 95 00 20 */ addi r4, r21, 0x20 /* 802A6F40 002A3EA0 38 D6 00 0C */ addi r6, r22, 0xc /* 802A6F44 002A3EA4 38 F6 00 18 */ addi r7, r22, 0x18 /* 802A6F48 002A3EA8 48 02 A5 99 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802A6F4C 002A3EAC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A6F50 002A3EB0 28 00 00 01 */ cmplwi r0, 1 /* 802A6F54 002A3EB4 40 82 00 C4 */ bne lbl_802A7018 /* 802A6F58 002A3EB8 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha /* 802A6F5C 002A3EBC C0 9E 00 04 */ lfs f4, 4(r30) /* 802A6F60 002A3EC0 C0 A3 67 54 */ lfs f5, mskInvertedBox__6CAABox@l(r3) /* 802A6F64 002A3EC4 7F 03 C3 78 */ mr r3, r24 /* 802A6F68 002A3EC8 C0 7E 00 08 */ lfs f3, 8(r30) /* 802A6F6C 002A3ECC 7E C4 B3 78 */ mr r4, r22 /* 802A6F70 002A3ED0 C0 5E 00 0C */ lfs f2, 0xc(r30) /* 802A6F74 002A3ED4 38 A1 00 44 */ addi r5, r1, 0x44 /* 802A6F78 002A3ED8 C0 3E 00 10 */ lfs f1, 0x10(r30) /* 802A6F7C 002A3EDC C0 1E 00 14 */ lfs f0, 0x14(r30) /* 802A6F80 002A3EE0 D0 A1 00 44 */ stfs f5, 0x44(r1) /* 802A6F84 002A3EE4 D0 81 00 48 */ stfs f4, 0x48(r1) /* 802A6F88 002A3EE8 D0 61 00 4C */ stfs f3, 0x4c(r1) /* 802A6F8C 002A3EEC D0 41 00 50 */ stfs f2, 0x50(r1) /* 802A6F90 002A3EF0 D0 21 00 54 */ stfs f1, 0x54(r1) /* 802A6F94 002A3EF4 D0 01 00 58 */ stfs f0, 0x58(r1) /* 802A6F98 002A3EF8 48 00 01 41 */ bl ConvexPolyCollision__20CMetroidAreaColliderFPC6CPlanePC9CVector3fR6CAABox /* 802A6F9C 002A3EFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A6FA0 002A3F00 41 82 00 78 */ beq lbl_802A7018 /* 802A6FA4 002A3F04 7E C4 B3 78 */ mr r4, r22 /* 802A6FA8 002A3F08 38 61 00 24 */ addi r3, r1, 0x24 /* 802A6FAC 002A3F0C 4B FF B6 89 */ bl GetPlane__17CCollisionSurfaceCFv /* 802A6FB0 002A3F10 C0 C1 00 24 */ lfs f6, 0x24(r1) /* 802A6FB4 002A3F14 38 61 00 E8 */ addi r3, r1, 0xe8 /* 802A6FB8 002A3F18 C0 A1 00 28 */ lfs f5, 0x28(r1) /* 802A6FBC 002A3F1C 38 81 00 44 */ addi r4, r1, 0x44 /* 802A6FC0 002A3F20 C0 81 00 2C */ lfs f4, 0x2c(r1) /* 802A6FC4 002A3F24 FC 40 30 50 */ fneg f2, f6 /* 802A6FC8 002A3F28 FC 20 28 50 */ fneg f1, f5 /* 802A6FCC 002A3F2C C0 61 00 30 */ lfs f3, 0x30(r1) /* 802A6FD0 002A3F30 FC 00 20 50 */ fneg f0, f4 /* 802A6FD4 002A3F34 D0 C1 00 34 */ stfs f6, 0x34(r1) /* 802A6FD8 002A3F38 38 C1 00 10 */ addi r6, r1, 0x10 /* 802A6FDC 002A3F3C D0 A1 00 38 */ stfs f5, 0x38(r1) /* 802A6FE0 002A3F40 38 E1 00 34 */ addi r7, r1, 0x34 /* 802A6FE4 002A3F44 39 01 00 18 */ addi r8, r1, 0x18 /* 802A6FE8 002A3F48 D0 81 00 3C */ stfs f4, 0x3c(r1) /* 802A6FEC 002A3F4C D0 61 00 40 */ stfs f3, 0x40(r1) /* 802A6FF0 002A3F50 D0 41 00 18 */ stfs f2, 0x18(r1) /* 802A6FF4 002A3F54 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 802A6FF8 002A3F58 D0 01 00 20 */ stfs f0, 0x20(r1) /* 802A6FFC 002A3F5C 80 B5 00 0C */ lwz r5, 0xc(r21) /* 802A7000 002A3F60 48 02 72 B9 */ bl __ct__14CCollisionInfoFRC6CAABoxRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f /* 802A7004 002A3F64 7C 64 1B 78 */ mr r4, r3 /* 802A7008 002A3F68 80 75 00 10 */ lwz r3, 0x10(r21) /* 802A700C 002A3F6C 38 A0 00 00 */ li r5, 0 /* 802A7010 002A3F70 4B ED E6 11 */ bl Add__18CCollisionInfoListFRC14CCollisionInfob /* 802A7014 002A3F74 3B 60 00 01 */ li r27, 1 lbl_802A7018: /* 802A7018 002A3F78 3B 9C 00 02 */ addi r28, r28, 2 /* 802A701C 002A3F7C 3A F7 00 01 */ addi r23, r23, 1 lbl_802A7020: /* 802A7020 002A3F80 7C 17 D0 00 */ cmpw r23, r26 /* 802A7024 002A3F84 41 80 FE A4 */ blt lbl_802A6EC8 lbl_802A7028: /* 802A7028 002A3F88 7F 63 DB 78 */ mr r3, r27 lbl_802A702C: /* 802A702C 002A3F8C BA A1 01 54 */ lmw r21, 0x154(r1) /* 802A7030 002A3F90 80 01 01 84 */ lwz r0, 0x184(r1) /* 802A7034 002A3F94 7C 08 03 A6 */ mtlr r0 /* 802A7038 002A3F98 38 21 01 80 */ addi r1, r1, 0x180 /* 802A703C 002A3F9C 4E 80 00 20 */ blr .global ResetInternalCounters__20CMetroidAreaColliderFv ResetInternalCounters__20CMetroidAreaColliderFv: /* 802A7040 002A3FA0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A7044 002A3FA4 7C 08 02 A6 */ mflr r0 /* 802A7048 002A3FA8 38 60 00 00 */ li r3, 0 /* 802A704C 002A3FAC 90 01 00 14 */ stw r0, 0x14(r1) /* 802A7050 002A3FB0 A0 0D A5 D0 */ lhz r0, lbl_805A9190@sda21(r13) /* 802A7054 002A3FB4 90 6D A5 C0 */ stw r3, lbl_805A9180@sda21(r13) /* 802A7058 002A3FB8 28 00 FF FF */ cmplwi r0, 0xffff /* 802A705C 002A3FBC 90 6D A5 C4 */ stw r3, lbl_805A9184@sda21(r13) /* 802A7060 002A3FC0 90 6D A5 C8 */ stw r3, lbl_805A9188@sda21(r13) /* 802A7064 002A3FC4 90 6D A5 CC */ stw r3, lbl_805A918C@sda21(r13) /* 802A7068 002A3FC8 40 82 00 54 */ bne lbl_802A70BC /* 802A706C 002A3FCC 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802A7070 002A3FD0 38 80 00 00 */ li r4, 0 /* 802A7074 002A3FD4 38 63 2B AC */ addi r3, r3, lbl_80572BAC@l /* 802A7078 002A3FD8 38 A0 50 00 */ li r5, 0x5000 /* 802A707C 002A3FDC 4B D5 C3 2D */ bl memset /* 802A7080 002A3FE0 3C 60 80 59 */ lis r3, lbl_8058BBAC@ha /* 802A7084 002A3FE4 3C A0 00 01 */ lis r5, 0x0000C000@ha /* 802A7088 002A3FE8 38 63 BB AC */ addi r3, r3, lbl_8058BBAC@l /* 802A708C 002A3FEC 38 80 00 00 */ li r4, 0 /* 802A7090 002A3FF0 38 A5 C0 00 */ addi r5, r5, 0x0000C000@l /* 802A7094 002A3FF4 4B D5 C3 15 */ bl memset /* 802A7098 002A3FF8 3C 60 80 59 */ lis r3, lbl_80597BAC@ha /* 802A709C 002A3FFC 3C A0 00 01 */ lis r5, 0x00008000@ha /* 802A70A0 002A4000 38 63 7B AC */ addi r3, r3, lbl_80597BAC@l /* 802A70A4 002A4004 38 80 00 00 */ li r4, 0 /* 802A70A8 002A4008 38 A5 80 00 */ addi r5, r5, 0x00008000@l /* 802A70AC 002A400C 4B D5 C2 FD */ bl memset /* 802A70B0 002A4010 A0 6D A5 D0 */ lhz r3, lbl_805A9190@sda21(r13) /* 802A70B4 002A4014 38 03 00 01 */ addi r0, r3, 1 /* 802A70B8 002A4018 B0 0D A5 D0 */ sth r0, lbl_805A9190@sda21(r13) lbl_802A70BC: /* 802A70BC 002A401C A0 6D A5 D0 */ lhz r3, lbl_805A9190@sda21(r13) /* 802A70C0 002A4020 38 03 00 01 */ addi r0, r3, 1 /* 802A70C4 002A4024 B0 0D A5 D0 */ sth r0, lbl_805A9190@sda21(r13) /* 802A70C8 002A4028 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A70CC 002A402C 7C 08 03 A6 */ mtlr r0 /* 802A70D0 002A4030 38 21 00 10 */ addi r1, r1, 0x10 /* 802A70D4 002A4034 4E 80 00 20 */ blr .global ConvexPolyCollision__20CMetroidAreaColliderFPC6CPlanePC9CVector3fR6CAABox ConvexPolyCollision__20CMetroidAreaColliderFPC6CPlanePC9CVector3fR6CAABox: /* 802A70D8 002A4038 94 21 FD D0 */ stwu r1, -0x230(r1) /* 802A70DC 002A403C 7C 08 02 A6 */ mflr r0 /* 802A70E0 002A4040 90 01 02 34 */ stw r0, 0x234(r1) /* 802A70E4 002A4044 DB E1 02 20 */ stfd f31, 0x220(r1) /* 802A70E8 002A4048 F3 E1 02 28 */ psq_st f31, 552(r1), 0, qr0 /* 802A70EC 002A404C DB C1 02 10 */ stfd f30, 0x210(r1) /* 802A70F0 002A4050 F3 C1 02 18 */ psq_st f30, 536(r1), 0, qr0 /* 802A70F4 002A4054 93 E1 02 0C */ stw r31, 0x20c(r1) /* 802A70F8 002A4058 93 C1 02 08 */ stw r30, 0x208(r1) /* 802A70FC 002A405C 93 A1 02 04 */ stw r29, 0x204(r1) /* 802A7100 002A4060 93 81 02 00 */ stw r28, 0x200(r1) /* 802A7104 002A4064 39 20 00 00 */ li r9, 0 /* 802A7108 002A4068 81 0D A5 C0 */ lwz r8, lbl_805A9180@sda21(r13) /* 802A710C 002A406C 1C C9 00 0C */ mulli r6, r9, 0xc /* 802A7110 002A4070 80 ED A5 C4 */ lwz r7, lbl_805A9184@sda21(r13) /* 802A7114 002A4074 39 41 00 18 */ addi r10, r1, 0x18 /* 802A7118 002A4078 91 21 00 14 */ stw r9, 0x14(r1) /* 802A711C 002A407C 38 08 00 01 */ addi r0, r8, 1 /* 802A7120 002A4080 38 E7 00 01 */ addi r7, r7, 1 /* 802A7124 002A4084 90 0D A5 C0 */ stw r0, lbl_805A9180@sda21(r13) /* 802A7128 002A4088 7C CA 32 15 */ add. r6, r10, r6 /* 802A712C 002A408C 7C BE 2B 78 */ mr r30, r5 /* 802A7130 002A4090 3B E1 01 08 */ addi r31, r1, 0x108 /* 802A7134 002A4094 91 21 01 08 */ stw r9, 0x108(r1) /* 802A7138 002A4098 38 00 00 00 */ li r0, 0 /* 802A713C 002A409C 38 A0 00 01 */ li r5, 1 /* 802A7140 002A40A0 90 ED A5 C4 */ stw r7, lbl_805A9184@sda21(r13) /* 802A7144 002A40A4 41 82 00 1C */ beq lbl_802A7160 /* 802A7148 002A40A8 C0 04 00 00 */ lfs f0, 0(r4) /* 802A714C 002A40AC C0 24 00 04 */ lfs f1, 4(r4) /* 802A7150 002A40B0 D0 06 00 00 */ stfs f0, 0(r6) /* 802A7154 002A40B4 C0 04 00 08 */ lfs f0, 8(r4) /* 802A7158 002A40B8 D0 26 00 04 */ stfs f1, 4(r6) /* 802A715C 002A40BC D0 06 00 08 */ stfs f0, 8(r6) lbl_802A7160: /* 802A7160 002A40C0 80 E1 00 14 */ lwz r7, 0x14(r1) /* 802A7164 002A40C4 38 E7 00 01 */ addi r7, r7, 1 /* 802A7168 002A40C8 1C C7 00 0C */ mulli r6, r7, 0xc /* 802A716C 002A40CC 90 E1 00 14 */ stw r7, 0x14(r1) /* 802A7170 002A40D0 7C CA 32 15 */ add. r6, r10, r6 /* 802A7174 002A40D4 41 82 00 1C */ beq lbl_802A7190 /* 802A7178 002A40D8 C0 04 00 0C */ lfs f0, 0xc(r4) /* 802A717C 002A40DC C0 24 00 10 */ lfs f1, 0x10(r4) /* 802A7180 002A40E0 D0 06 00 00 */ stfs f0, 0(r6) /* 802A7184 002A40E4 C0 04 00 14 */ lfs f0, 0x14(r4) /* 802A7188 002A40E8 D0 26 00 04 */ stfs f1, 4(r6) /* 802A718C 002A40EC D0 06 00 08 */ stfs f0, 8(r6) lbl_802A7190: /* 802A7190 002A40F0 80 E1 00 14 */ lwz r7, 0x14(r1) /* 802A7194 002A40F4 38 E7 00 01 */ addi r7, r7, 1 /* 802A7198 002A40F8 1C C7 00 0C */ mulli r6, r7, 0xc /* 802A719C 002A40FC 90 E1 00 14 */ stw r7, 0x14(r1) /* 802A71A0 002A4100 7C CA 32 15 */ add. r6, r10, r6 /* 802A71A4 002A4104 41 82 00 1C */ beq lbl_802A71C0 /* 802A71A8 002A4108 C0 04 00 18 */ lfs f0, 0x18(r4) /* 802A71AC 002A410C C0 24 00 1C */ lfs f1, 0x1c(r4) /* 802A71B0 002A4110 D0 06 00 00 */ stfs f0, 0(r6) /* 802A71B4 002A4114 C0 04 00 20 */ lfs f0, 0x20(r4) /* 802A71B8 002A4118 D0 26 00 04 */ stfs f1, 4(r6) /* 802A71BC 002A411C D0 06 00 08 */ stfs f0, 8(r6) lbl_802A71C0: /* 802A71C0 002A4120 80 E1 00 14 */ lwz r7, 0x14(r1) /* 802A71C4 002A4124 38 C0 00 00 */ li r6, 0 /* 802A71C8 002A4128 C1 42 C1 4C */ lfs f10, lbl_805ADE6C@sda21(r2) /* 802A71CC 002A412C 38 E7 00 01 */ addi r7, r7, 1 /* 802A71D0 002A4130 90 E1 00 14 */ stw r7, 0x14(r1) lbl_802A71D4: /* 802A71D4 002A4134 1C 85 00 F4 */ mulli r4, r5, 0xf4 /* 802A71D8 002A4138 39 01 00 14 */ addi r8, r1, 0x14 /* 802A71DC 002A413C 39 20 00 00 */ li r9, 0 /* 802A71E0 002A4140 7D 07 43 78 */ mr r7, r8 /* 802A71E4 002A4144 7D 08 22 14 */ add r8, r8, r4 /* 802A71E8 002A4148 81 68 00 00 */ lwz r11, 0(r8) /* 802A71EC 002A414C 1C 80 00 F4 */ mulli r4, r0, 0xf4 /* 802A71F0 002A4150 2C 0B 00 00 */ cmpwi r11, 0 /* 802A71F4 002A4154 7C E7 22 14 */ add r7, r7, r4 /* 802A71F8 002A4158 40 81 00 44 */ ble lbl_802A723C /* 802A71FC 002A415C 2C 0B 00 08 */ cmpwi r11, 8 /* 802A7200 002A4160 39 4B FF F8 */ addi r10, r11, -8 /* 802A7204 002A4164 40 81 00 20 */ ble lbl_802A7224 /* 802A7208 002A4168 38 8A 00 07 */ addi r4, r10, 7 /* 802A720C 002A416C 54 84 E8 FE */ srwi r4, r4, 3 /* 802A7210 002A4170 7C 89 03 A6 */ mtctr r4 /* 802A7214 002A4174 2C 0A 00 00 */ cmpwi r10, 0 /* 802A7218 002A4178 40 81 00 0C */ ble lbl_802A7224 lbl_802A721C: /* 802A721C 002A417C 39 29 00 08 */ addi r9, r9, 8 /* 802A7220 002A4180 42 00 FF FC */ bdnz lbl_802A721C lbl_802A7224: /* 802A7224 002A4184 7C 89 58 50 */ subf r4, r9, r11 /* 802A7228 002A4188 7C 89 03 A6 */ mtctr r4 /* 802A722C 002A418C 7C 09 58 00 */ cmpw r9, r11 /* 802A7230 002A4190 40 80 00 0C */ bge lbl_802A723C lbl_802A7234: /* 802A7234 002A4194 39 29 00 01 */ addi r9, r9, 1 /* 802A7238 002A4198 42 00 FF FC */ bdnz lbl_802A7234 lbl_802A723C: /* 802A723C 002A419C 39 20 00 00 */ li r9, 0 /* 802A7240 002A41A0 C0 23 00 04 */ lfs f1, 4(r3) /* 802A7244 002A41A4 91 28 00 00 */ stw r9, 0(r8) /* 802A7248 002A41A8 38 87 00 04 */ addi r4, r7, 4 /* 802A724C 002A41AC C0 43 00 00 */ lfs f2, 0(r3) /* 802A7250 002A41B0 C0 07 00 08 */ lfs f0, 8(r7) /* 802A7254 002A41B4 C0 83 00 08 */ lfs f4, 8(r3) /* 802A7258 002A41B8 EC 01 00 32 */ fmuls f0, f1, f0 /* 802A725C 002A41BC C0 27 00 04 */ lfs f1, 4(r7) /* 802A7260 002A41C0 C0 67 00 0C */ lfs f3, 0xc(r7) /* 802A7264 002A41C4 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 802A7268 002A41C8 C0 03 00 0C */ lfs f0, 0xc(r3) /* 802A726C 002A41CC EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 802A7270 002A41D0 EC 01 00 28 */ fsubs f0, f1, f0 /* 802A7274 002A41D4 FC 00 50 40 */ fcmpo cr0, f0, f10 /* 802A7278 002A41D8 4C 41 13 82 */ cror 2, 1, 2 /* 802A727C 002A41DC 7D 20 00 26 */ mfcr r9 /* 802A7280 002A41E0 39 40 00 00 */ li r10, 0 /* 802A7284 002A41E4 55 29 1F FE */ rlwinm r9, r9, 3, 0x1f, 0x1f /* 802A7288 002A41E8 48 00 01 5C */ b lbl_802A73E4 lbl_802A728C: /* 802A728C 002A41EC 3B AB FF FF */ addi r29, r11, -1 /* 802A7290 002A41F0 55 2B 06 3F */ clrlwi. r11, r9, 0x18 /* 802A7294 002A41F4 7F 9D 50 50 */ subf r28, r29, r10 /* 802A7298 002A41F8 39 8A 00 01 */ addi r12, r10, 1 /* 802A729C 002A41FC 7F AA E8 50 */ subf r29, r10, r29 /* 802A72A0 002A4200 7F 8B E8 F8 */ nor r11, r28, r29 /* 802A72A4 002A4204 7D 6B FE 70 */ srawi r11, r11, 0x1f /* 802A72A8 002A4208 7D 8B 58 78 */ andc r11, r12, r11 /* 802A72AC 002A420C 1D 6B 00 0C */ mulli r11, r11, 0xc /* 802A72B0 002A4210 7D 87 5A 14 */ add r12, r7, r11 /* 802A72B4 002A4214 41 82 00 3C */ beq lbl_802A72F0 /* 802A72B8 002A4218 81 68 00 00 */ lwz r11, 0(r8) /* 802A72BC 002A421C 1D 6B 00 0C */ mulli r11, r11, 0xc /* 802A72C0 002A4220 7D 68 5A 14 */ add r11, r8, r11 /* 802A72C4 002A4224 35 6B 00 04 */ addic. r11, r11, 4 /* 802A72C8 002A4228 41 82 00 1C */ beq lbl_802A72E4 /* 802A72CC 002A422C C0 04 00 00 */ lfs f0, 0(r4) /* 802A72D0 002A4230 D0 0B 00 00 */ stfs f0, 0(r11) /* 802A72D4 002A4234 C0 04 00 04 */ lfs f0, 4(r4) /* 802A72D8 002A4238 D0 0B 00 04 */ stfs f0, 4(r11) /* 802A72DC 002A423C C0 04 00 08 */ lfs f0, 8(r4) /* 802A72E0 002A4240 D0 0B 00 08 */ stfs f0, 8(r11) lbl_802A72E4: /* 802A72E4 002A4244 81 68 00 00 */ lwz r11, 0(r8) /* 802A72E8 002A4248 39 6B 00 01 */ addi r11, r11, 1 /* 802A72EC 002A424C 91 68 00 00 */ stw r11, 0(r8) lbl_802A72F0: /* 802A72F0 002A4250 C0 A3 00 04 */ lfs f5, 4(r3) /* 802A72F4 002A4254 C0 2C 00 08 */ lfs f1, 8(r12) /* 802A72F8 002A4258 C1 83 00 00 */ lfs f12, 0(r3) /* 802A72FC 002A425C EC 65 00 72 */ fmuls f3, f5, f1 /* 802A7300 002A4260 C0 0C 00 04 */ lfs f0, 4(r12) /* 802A7304 002A4264 C1 A3 00 08 */ lfs f13, 8(r3) /* 802A7308 002A4268 C0 4C 00 0C */ lfs f2, 0xc(r12) /* 802A730C 002A426C EC 6C 18 3A */ fmadds f3, f12, f0, f3 /* 802A7310 002A4270 C1 63 00 0C */ lfs f11, 0xc(r3) /* 802A7314 002A4274 EC 6D 18 BA */ fmadds f3, f13, f2, f3 /* 802A7318 002A4278 EC 63 58 28 */ fsubs f3, f3, f11 /* 802A731C 002A427C FC 03 50 40 */ fcmpo cr0, f3, f10 /* 802A7320 002A4280 4C 41 13 82 */ cror 2, 1, 2 /* 802A7324 002A4284 7D 60 00 26 */ mfcr r11 /* 802A7328 002A4288 55 29 06 3E */ clrlwi r9, r9, 0x18 /* 802A732C 002A428C 55 6B 1F FE */ rlwinm r11, r11, 3, 0x1f, 0x1f /* 802A7330 002A4290 7D 69 4A 79 */ xor. r9, r11, r9 /* 802A7334 002A4294 41 82 00 A4 */ beq lbl_802A73D8 /* 802A7338 002A4298 C1 24 00 04 */ lfs f9, 4(r4) /* 802A733C 002A429C C0 E4 00 00 */ lfs f7, 0(r4) /* 802A7340 002A42A0 EC 69 01 72 */ fmuls f3, f9, f5 /* 802A7344 002A42A4 C1 04 00 08 */ lfs f8, 8(r4) /* 802A7348 002A42A8 EF C1 48 28 */ fsubs f30, f1, f9 /* 802A734C 002A42AC 81 28 00 00 */ lwz r9, 0(r8) /* 802A7350 002A42B0 EC C0 38 28 */ fsubs f6, f0, f7 /* 802A7354 002A42B4 C0 82 C1 64 */ lfs f4, lbl_805ADE84@sda21(r2) /* 802A7358 002A42B8 EC 67 1B 3A */ fmadds f3, f7, f12, f3 /* 802A735C 002A42BC 1D 29 00 0C */ mulli r9, r9, 0xc /* 802A7360 002A42C0 EC BE 01 72 */ fmuls f5, f30, f5 /* 802A7364 002A42C4 D0 C1 00 08 */ stfs f6, 8(r1) /* 802A7368 002A42C8 EF E2 40 28 */ fsubs f31, f2, f8 /* 802A736C 002A42CC EC 68 1B 7A */ fmadds f3, f8, f13, f3 /* 802A7370 002A42D0 EC A6 2B 3A */ fmadds f5, f6, f12, f5 /* 802A7374 002A42D4 7D 28 4A 14 */ add r9, r8, r9 /* 802A7378 002A42D8 ED 87 00 28 */ fsubs f12, f7, f0 /* 802A737C 002A42DC 35 29 00 04 */ addic. r9, r9, 4 /* 802A7380 002A42E0 EC 63 58 28 */ fsubs f3, f3, f11 /* 802A7384 002A42E4 EC BF 2B 7A */ fmadds f5, f31, f13, f5 /* 802A7388 002A42E8 EC E9 08 28 */ fsubs f7, f9, f1 /* 802A738C 002A42EC D3 C1 00 0C */ stfs f30, 0xc(r1) /* 802A7390 002A42F0 FC 60 18 50 */ fneg f3, f3 /* 802A7394 002A42F4 EC C8 10 28 */ fsubs f6, f8, f2 /* 802A7398 002A42F8 D3 E1 00 10 */ stfs f31, 0x10(r1) /* 802A739C 002A42FC EC 63 28 24 */ fdivs f3, f3, f5 /* 802A73A0 002A4300 EC 64 18 28 */ fsubs f3, f4, f3 /* 802A73A4 002A4304 EC A3 03 32 */ fmuls f5, f3, f12 /* 802A73A8 002A4308 EC 83 01 F2 */ fmuls f4, f3, f7 /* 802A73AC 002A430C EC 63 01 B2 */ fmuls f3, f3, f6 /* 802A73B0 002A4310 EC A5 00 2A */ fadds f5, f5, f0 /* 802A73B4 002A4314 EC 24 08 2A */ fadds f1, f4, f1 /* 802A73B8 002A4318 EC 03 10 2A */ fadds f0, f3, f2 /* 802A73BC 002A431C 41 82 00 10 */ beq lbl_802A73CC /* 802A73C0 002A4320 D0 A9 00 00 */ stfs f5, 0(r9) /* 802A73C4 002A4324 D0 29 00 04 */ stfs f1, 4(r9) /* 802A73C8 002A4328 D0 09 00 08 */ stfs f0, 8(r9) lbl_802A73CC: /* 802A73CC 002A432C 81 28 00 00 */ lwz r9, 0(r8) /* 802A73D0 002A4330 39 29 00 01 */ addi r9, r9, 1 /* 802A73D4 002A4334 91 28 00 00 */ stw r9, 0(r8) lbl_802A73D8: /* 802A73D8 002A4338 7D 69 5B 78 */ mr r9, r11 /* 802A73DC 002A433C 38 84 00 0C */ addi r4, r4, 0xc /* 802A73E0 002A4340 39 4A 00 01 */ addi r10, r10, 1 lbl_802A73E4: /* 802A73E4 002A4344 81 67 00 00 */ lwz r11, 0(r7) /* 802A73E8 002A4348 7C 0A 58 00 */ cmpw r10, r11 /* 802A73EC 002A434C 41 80 FE A0 */ blt lbl_802A728C /* 802A73F0 002A4350 80 88 00 00 */ lwz r4, 0(r8) /* 802A73F4 002A4354 2C 04 00 00 */ cmpwi r4, 0 /* 802A73F8 002A4358 40 82 00 BC */ bne lbl_802A74B4 /* 802A73FC 002A435C 28 1F 00 00 */ cmplwi r31, 0 /* 802A7400 002A4360 41 82 00 58 */ beq lbl_802A7458 /* 802A7404 002A4364 80 A1 01 08 */ lwz r5, 0x108(r1) /* 802A7408 002A4368 38 60 00 00 */ li r3, 0 /* 802A740C 002A436C 2C 05 00 00 */ cmpwi r5, 0 /* 802A7410 002A4370 40 81 00 40 */ ble lbl_802A7450 /* 802A7414 002A4374 2C 05 00 08 */ cmpwi r5, 8 /* 802A7418 002A4378 38 85 FF F8 */ addi r4, r5, -8 /* 802A741C 002A437C 40 81 00 20 */ ble lbl_802A743C /* 802A7420 002A4380 38 04 00 07 */ addi r0, r4, 7 /* 802A7424 002A4384 54 00 E8 FE */ srwi r0, r0, 3 /* 802A7428 002A4388 7C 09 03 A6 */ mtctr r0 /* 802A742C 002A438C 2C 04 00 00 */ cmpwi r4, 0 /* 802A7430 002A4390 40 81 00 0C */ ble lbl_802A743C lbl_802A7434: /* 802A7434 002A4394 38 63 00 08 */ addi r3, r3, 8 /* 802A7438 002A4398 42 00 FF FC */ bdnz lbl_802A7434 lbl_802A743C: /* 802A743C 002A439C 7C 03 28 50 */ subf r0, r3, r5 /* 802A7440 002A43A0 7C 09 03 A6 */ mtctr r0 /* 802A7444 002A43A4 7C 03 28 00 */ cmpw r3, r5 /* 802A7448 002A43A8 40 80 00 08 */ bge lbl_802A7450 lbl_802A744C: /* 802A744C 002A43AC 42 00 00 00 */ bdnz lbl_802A744C lbl_802A7450: /* 802A7450 002A43B0 38 00 00 00 */ li r0, 0 /* 802A7454 002A43B4 90 01 01 08 */ stw r0, 0x108(r1) lbl_802A7458: /* 802A7458 002A43B8 80 A1 00 14 */ lwz r5, 0x14(r1) /* 802A745C 002A43BC 38 60 00 00 */ li r3, 0 /* 802A7460 002A43C0 2C 05 00 00 */ cmpwi r5, 0 /* 802A7464 002A43C4 40 81 00 40 */ ble lbl_802A74A4 /* 802A7468 002A43C8 2C 05 00 08 */ cmpwi r5, 8 /* 802A746C 002A43CC 38 85 FF F8 */ addi r4, r5, -8 /* 802A7470 002A43D0 40 81 00 20 */ ble lbl_802A7490 /* 802A7474 002A43D4 38 04 00 07 */ addi r0, r4, 7 /* 802A7478 002A43D8 54 00 E8 FE */ srwi r0, r0, 3 /* 802A747C 002A43DC 7C 09 03 A6 */ mtctr r0 /* 802A7480 002A43E0 2C 04 00 00 */ cmpwi r4, 0 /* 802A7484 002A43E4 40 81 00 0C */ ble lbl_802A7490 lbl_802A7488: /* 802A7488 002A43E8 38 63 00 08 */ addi r3, r3, 8 /* 802A748C 002A43EC 42 00 FF FC */ bdnz lbl_802A7488 lbl_802A7490: /* 802A7490 002A43F0 7C 03 28 50 */ subf r0, r3, r5 /* 802A7494 002A43F4 7C 09 03 A6 */ mtctr r0 /* 802A7498 002A43F8 7C 03 28 00 */ cmpw r3, r5 /* 802A749C 002A43FC 40 80 00 08 */ bge lbl_802A74A4 lbl_802A74A0: /* 802A74A0 002A4400 42 00 00 00 */ bdnz lbl_802A74A0 lbl_802A74A4: /* 802A74A4 002A4404 38 00 00 00 */ li r0, 0 /* 802A74A8 002A4408 38 60 00 00 */ li r3, 0 /* 802A74AC 002A440C 90 01 00 14 */ stw r0, 0x14(r1) /* 802A74B0 002A4410 48 00 01 1C */ b lbl_802A75CC lbl_802A74B4: /* 802A74B4 002A4414 38 C6 00 01 */ addi r6, r6, 1 /* 802A74B8 002A4418 68 A5 00 01 */ xori r5, r5, 1 /* 802A74BC 002A441C 2C 06 00 06 */ cmpwi r6, 6 /* 802A74C0 002A4420 68 00 00 01 */ xori r0, r0, 1 /* 802A74C4 002A4424 38 63 00 10 */ addi r3, r3, 0x10 /* 802A74C8 002A4428 41 80 FD 0C */ blt lbl_802A71D4 /* 802A74CC 002A442C 68 A0 00 01 */ xori r0, r5, 1 /* 802A74D0 002A4430 3B 81 00 14 */ addi r28, r1, 0x14 /* 802A74D4 002A4434 1C 00 00 F4 */ mulli r0, r0, 0xf4 /* 802A74D8 002A4438 7F 9C 02 14 */ add r28, r28, r0 /* 802A74DC 002A443C 3B BC 00 04 */ addi r29, r28, 4 /* 802A74E0 002A4440 48 00 00 14 */ b lbl_802A74F4 lbl_802A74E4: /* 802A74E4 002A4444 7F C3 F3 78 */ mr r3, r30 /* 802A74E8 002A4448 7F A4 EB 78 */ mr r4, r29 /* 802A74EC 002A444C 48 09 06 1D */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802A74F0 002A4450 3B BD 00 0C */ addi r29, r29, 0xc lbl_802A74F4: /* 802A74F4 002A4454 80 1C 00 00 */ lwz r0, 0(r28) /* 802A74F8 002A4458 1C 00 00 0C */ mulli r0, r0, 0xc /* 802A74FC 002A445C 7C 7C 02 14 */ add r3, r28, r0 /* 802A7500 002A4460 38 03 00 04 */ addi r0, r3, 4 /* 802A7504 002A4464 7C 1D 00 40 */ cmplw r29, r0 /* 802A7508 002A4468 40 82 FF DC */ bne lbl_802A74E4 /* 802A750C 002A446C 80 6D A5 C4 */ lwz r3, lbl_805A9184@sda21(r13) /* 802A7510 002A4470 28 1F 00 00 */ cmplwi r31, 0 /* 802A7514 002A4474 38 03 FF FF */ addi r0, r3, -1 /* 802A7518 002A4478 90 0D A5 C4 */ stw r0, lbl_805A9184@sda21(r13) /* 802A751C 002A447C 41 82 00 58 */ beq lbl_802A7574 /* 802A7520 002A4480 80 A1 01 08 */ lwz r5, 0x108(r1) /* 802A7524 002A4484 38 60 00 00 */ li r3, 0 /* 802A7528 002A4488 2C 05 00 00 */ cmpwi r5, 0 /* 802A752C 002A448C 40 81 00 40 */ ble lbl_802A756C /* 802A7530 002A4490 2C 05 00 08 */ cmpwi r5, 8 /* 802A7534 002A4494 38 85 FF F8 */ addi r4, r5, -8 /* 802A7538 002A4498 40 81 00 20 */ ble lbl_802A7558 /* 802A753C 002A449C 38 04 00 07 */ addi r0, r4, 7 /* 802A7540 002A44A0 54 00 E8 FE */ srwi r0, r0, 3 /* 802A7544 002A44A4 7C 09 03 A6 */ mtctr r0 /* 802A7548 002A44A8 2C 04 00 00 */ cmpwi r4, 0 /* 802A754C 002A44AC 40 81 00 0C */ ble lbl_802A7558 lbl_802A7550: /* 802A7550 002A44B0 38 63 00 08 */ addi r3, r3, 8 /* 802A7554 002A44B4 42 00 FF FC */ bdnz lbl_802A7550 lbl_802A7558: /* 802A7558 002A44B8 7C 03 28 50 */ subf r0, r3, r5 /* 802A755C 002A44BC 7C 09 03 A6 */ mtctr r0 /* 802A7560 002A44C0 7C 03 28 00 */ cmpw r3, r5 /* 802A7564 002A44C4 40 80 00 08 */ bge lbl_802A756C lbl_802A7568: /* 802A7568 002A44C8 42 00 00 00 */ bdnz lbl_802A7568 lbl_802A756C: /* 802A756C 002A44CC 38 00 00 00 */ li r0, 0 /* 802A7570 002A44D0 90 01 01 08 */ stw r0, 0x108(r1) lbl_802A7574: /* 802A7574 002A44D4 80 A1 00 14 */ lwz r5, 0x14(r1) /* 802A7578 002A44D8 38 60 00 00 */ li r3, 0 /* 802A757C 002A44DC 2C 05 00 00 */ cmpwi r5, 0 /* 802A7580 002A44E0 40 81 00 40 */ ble lbl_802A75C0 /* 802A7584 002A44E4 2C 05 00 08 */ cmpwi r5, 8 /* 802A7588 002A44E8 38 85 FF F8 */ addi r4, r5, -8 /* 802A758C 002A44EC 40 81 00 20 */ ble lbl_802A75AC /* 802A7590 002A44F0 38 04 00 07 */ addi r0, r4, 7 /* 802A7594 002A44F4 54 00 E8 FE */ srwi r0, r0, 3 /* 802A7598 002A44F8 7C 09 03 A6 */ mtctr r0 /* 802A759C 002A44FC 2C 04 00 00 */ cmpwi r4, 0 /* 802A75A0 002A4500 40 81 00 0C */ ble lbl_802A75AC lbl_802A75A4: /* 802A75A4 002A4504 38 63 00 08 */ addi r3, r3, 8 /* 802A75A8 002A4508 42 00 FF FC */ bdnz lbl_802A75A4 lbl_802A75AC: /* 802A75AC 002A450C 7C 03 28 50 */ subf r0, r3, r5 /* 802A75B0 002A4510 7C 09 03 A6 */ mtctr r0 /* 802A75B4 002A4514 7C 03 28 00 */ cmpw r3, r5 /* 802A75B8 002A4518 40 80 00 08 */ bge lbl_802A75C0 lbl_802A75BC: /* 802A75BC 002A451C 42 00 00 00 */ bdnz lbl_802A75BC lbl_802A75C0: /* 802A75C0 002A4520 38 00 00 00 */ li r0, 0 /* 802A75C4 002A4524 38 60 00 01 */ li r3, 1 /* 802A75C8 002A4528 90 01 00 14 */ stw r0, 0x14(r1) lbl_802A75CC: /* 802A75CC 002A452C E3 E1 02 28 */ psq_l f31, 552(r1), 0, qr0 /* 802A75D0 002A4530 CB E1 02 20 */ lfd f31, 0x220(r1) /* 802A75D4 002A4534 E3 C1 02 18 */ psq_l f30, 536(r1), 0, qr0 /* 802A75D8 002A4538 CB C1 02 10 */ lfd f30, 0x210(r1) /* 802A75DC 002A453C 83 E1 02 0C */ lwz r31, 0x20c(r1) /* 802A75E0 002A4540 83 C1 02 08 */ lwz r30, 0x208(r1) /* 802A75E4 002A4544 83 A1 02 04 */ lwz r29, 0x204(r1) /* 802A75E8 002A4548 80 01 02 34 */ lwz r0, 0x234(r1) /* 802A75EC 002A454C 83 81 02 00 */ lwz r28, 0x200(r1) /* 802A75F0 002A4550 7C 08 03 A6 */ mtlr r0 /* 802A75F4 002A4554 38 21 02 30 */ addi r1, r1, 0x230 /* 802A75F8 002A4558 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805ADE68 lbl_805ADE68: # ROM: 0x3FA708 .2byte 0x00000101 .global lbl_805ADE6A lbl_805ADE6A: # ROM: 0x3FA70A .2byte 0x00000100 .global lbl_805ADE6C lbl_805ADE6C: # ROM: 0x3FA70C .4byte 0 .global lbl_805ADE70 lbl_805ADE70: # ROM: 0x3FA710 .float 0.25 .4byte 0 .global lbl_805ADE78 lbl_805ADE78: # ROM: 0x3FA718 .4byte 0 .4byte 0 .global lbl_805ADE80 lbl_805ADE80: # ROM: 0x3FA720 .float 0.5 .global lbl_805ADE84 lbl_805ADE84: # ROM: 0x3FA724 .float 1.0 .global lbl_805ADE88 lbl_805ADE88: # ROM: 0x3FA728 .float 2.0 .global lbl_805ADE8C lbl_805ADE8C: # ROM: 0x3FA72C .float 4.0 .global lbl_805ADE90 lbl_805ADE90: # ROM: 0x3FA730 .4byte 0x3FE00000 .4byte 0 .global lbl_805ADE98 lbl_805ADE98: # ROM: 0x3FA738 .4byte 0x40080000 .4byte 0