Files
tp/asm/d/cc/d_cc_uty.s
T
0cf65151b3 Split SComponent (#45)
* split c_math

* split c_angle

* split c_API_controller_pad

* split c_API_graphic

* split c_bg_s_chk

* c_bg_s_gnd_chk split

* more c_bg split

* split c_cc_d

* delete asm

* split c_cc_s

* split c_lib

* split c_m2d and c_m3d_g_aab

* split c_m3d_g_cir

* split c_m3d_g_cps

* split rest of c_m3d_g

* split c_m3d

* split c_malloc

* split c_request

* split c_sxyz

* split and partly decompile c_xyz

* format

* c_angle.h

* begin c_angle decomp

* c_angle

* progress adding stub classes for SComponent

* more c_m3d

* remove some asm and format

* more m3d headers

* more c_angle decomp

* c_lib headers

* add public to classes

* fix csXyz member names

* c_sxyz partly OK

* move Zero csXyz to c_sxyz header

* c_API_graphic

* delete some unused asm

* move math extern data, decompile some functions

* delete unused asm

* fix duplicated c_angle.h

* fix an inlined function name, add more inlined functions for c_angle.h (currently unused)

* format

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:04:53 -05:00

1024 lines
47 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 800873b0
/* 800873B0 000842F0 2C 03 00 3A */ cmpwi r3, 0x3a
/* 800873B4 000842F4 41 80 00 0C */ blt lbl_800873C0
/* 800873B8 000842F8 38 60 00 00 */ li r3, 0
/* 800873BC 000842FC 4E 80 00 20 */ blr
lbl_800873C0:
/* 800873C0 00084300 54 60 10 3A */ slwi r0, r3, 2
/* 800873C4 00084304 3C 60 80 3B */ lis r3, lbl_803AC418@ha
/* 800873C8 00084308 38 63 C4 18 */ addi r3, r3, lbl_803AC418@l
/* 800873CC 0008430C 7C 63 00 2E */ lwzx r3, r3, r0
/* 800873D0 00084310 4E 80 00 20 */ blr
.global cc_pl_cut_bit_get
cc_pl_cut_bit_get:
/* 800873D4 00084314 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 800873D8 00084318 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 800873DC 0008431C 80 83 5D AC */ lwz r4, 0x5dac(r3)
/* 800873E0 00084320 38 60 00 00 */ li r3, 0
/* 800873E4 00084324 88 04 05 68 */ lbz r0, 0x568(r4)
/* 800873E8 00084328 28 00 00 01 */ cmplwi r0, 1
/* 800873EC 0008432C 40 82 00 0C */ bne lbl_800873F8
/* 800873F0 00084330 38 60 00 01 */ li r3, 1
/* 800873F4 00084334 4E 80 00 20 */ blr
lbl_800873F8:
/* 800873F8 00084338 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800873FC 0008433C 28 00 00 02 */ cmplwi r0, 2
/* 80087400 00084340 40 82 00 0C */ bne lbl_8008740C
/* 80087404 00084344 38 60 00 02 */ li r3, 2
/* 80087408 00084348 4E 80 00 20 */ blr
lbl_8008740C:
/* 8008740C 0008434C 28 00 00 21 */ cmplwi r0, 0x21
/* 80087410 00084350 40 82 00 0C */ bne lbl_8008741C
/* 80087414 00084354 38 60 02 00 */ li r3, 0x200
/* 80087418 00084358 4E 80 00 20 */ blr
lbl_8008741C:
/* 8008741C 0008435C 28 00 00 03 */ cmplwi r0, 3
/* 80087420 00084360 40 82 00 0C */ bne lbl_8008742C
/* 80087424 00084364 38 60 00 04 */ li r3, 4
/* 80087428 00084368 4E 80 00 20 */ blr
lbl_8008742C:
/* 8008742C 0008436C 28 00 00 04 */ cmplwi r0, 4
/* 80087430 00084370 40 82 00 0C */ bne lbl_8008743C
/* 80087434 00084374 38 60 00 08 */ li r3, 8
/* 80087438 00084378 4E 80 00 20 */ blr
lbl_8008743C:
/* 8008743C 0008437C 28 00 00 06 */ cmplwi r0, 6
/* 80087440 00084380 40 82 00 0C */ bne lbl_8008744C
/* 80087444 00084384 38 60 00 20 */ li r3, 0x20
/* 80087448 00084388 4E 80 00 20 */ blr
lbl_8008744C:
/* 8008744C 0008438C 28 00 00 07 */ cmplwi r0, 7
/* 80087450 00084390 40 82 00 0C */ bne lbl_8008745C
/* 80087454 00084394 38 60 00 40 */ li r3, 0x40
/* 80087458 00084398 4E 80 00 20 */ blr
lbl_8008745C:
/* 8008745C 0008439C 28 00 00 08 */ cmplwi r0, 8
/* 80087460 000843A0 41 82 00 1C */ beq lbl_8008747C
/* 80087464 000843A4 28 00 00 09 */ cmplwi r0, 9
/* 80087468 000843A8 41 82 00 14 */ beq lbl_8008747C
/* 8008746C 000843AC 28 00 00 2B */ cmplwi r0, 0x2b
/* 80087470 000843B0 41 82 00 0C */ beq lbl_8008747C
/* 80087474 000843B4 28 00 00 18 */ cmplwi r0, 0x18
/* 80087478 000843B8 40 82 00 0C */ bne lbl_80087484
lbl_8008747C:
/* 8008747C 000843BC 38 60 00 80 */ li r3, 0x80
/* 80087480 000843C0 4E 80 00 20 */ blr
lbl_80087484:
/* 80087484 000843C4 28 00 00 16 */ cmplwi r0, 0x16
/* 80087488 000843C8 41 82 00 0C */ beq lbl_80087494
/* 8008748C 000843CC 28 00 00 17 */ cmplwi r0, 0x17
/* 80087490 000843D0 40 82 00 0C */ bne lbl_8008749C
lbl_80087494:
/* 80087494 000843D4 38 60 08 00 */ li r3, 0x800
/* 80087498 000843D8 4E 80 00 20 */ blr
lbl_8008749C:
/* 8008749C 000843DC 28 00 00 0A */ cmplwi r0, 0xa
/* 800874A0 000843E0 40 82 00 0C */ bne lbl_800874AC
/* 800874A4 000843E4 38 60 01 00 */ li r3, 0x100
/* 800874A8 000843E8 4E 80 00 20 */ blr
lbl_800874AC:
/* 800874AC 000843EC 28 00 00 28 */ cmplwi r0, 0x28
/* 800874B0 000843F0 41 82 00 0C */ beq lbl_800874BC
/* 800874B4 000843F4 28 00 00 29 */ cmplwi r0, 0x29
/* 800874B8 000843F8 4C 82 00 20 */ bnelr
lbl_800874BC:
/* 800874BC 000843FC 38 60 04 00 */ li r3, 0x400
/* 800874C0 00084400 4E 80 00 20 */ blr
.global getMapInfo
getMapInfo:
/* 800874C4 00084404 38 80 00 1E */ li r4, 0x1e
/* 800874C8 00084408 7C 60 07 74 */ extsb r0, r3
/* 800874CC 0008440C 2C 00 00 01 */ cmpwi r0, 1
/* 800874D0 00084410 40 82 00 0C */ bne lbl_800874DC
/* 800874D4 00084414 38 80 00 1F */ li r4, 0x1f
/* 800874D8 00084418 48 00 00 10 */ b lbl_800874E8
lbl_800874DC:
/* 800874DC 0008441C 2C 00 00 02 */ cmpwi r0, 2
/* 800874E0 00084420 40 82 00 08 */ bne lbl_800874E8
/* 800874E4 00084424 38 80 00 20 */ li r4, 0x20
lbl_800874E8:
/* 800874E8 00084428 7C 83 23 78 */ mr r3, r4
/* 800874EC 0008442C 4E 80 00 20 */ blr
.global getHitId
getHitId:
/* 800874F0 00084430 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800874F4 00084434 7C 08 02 A6 */ mflr r0
/* 800874F8 00084438 90 01 00 14 */ stw r0, 0x14(r1)
/* 800874FC 0008443C 88 63 00 74 */ lbz r3, 0x74(r3)
/* 80087500 00084440 4B FF D0 B1 */ bl dCcD_GObjInf_NS_getHitSeID
/* 80087504 00084444 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80087508 00084448 7C 08 03 A6 */ mtlr r0
/* 8008750C 0008444C 38 21 00 10 */ addi r1, r1, 0x10
/* 80087510 00084450 4E 80 00 20 */ blr
/* 80087514 00084454 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80087518 00084458 7C 08 02 A6 */ mflr r0
/* 8008751C 0008445C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80087520 00084460 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80087524 00084464 93 C1 00 08 */ stw r30, 8(r1)
/* 80087528 00084468 7C 7E 1B 79 */ or. r30, r3, r3
/* 8008752C 0008446C 7C BF 2B 78 */ mr r31, r5
/* 80087530 00084470 41 82 00 4C */ beq lbl_8008757C
/* 80087534 00084474 28 06 00 00 */ cmplwi r6, 0
/* 80087538 00084478 41 82 00 18 */ beq lbl_80087550
/* 8008753C 0008447C 80 06 04 9C */ lwz r0, 0x49c(r6)
/* 80087540 00084480 74 00 00 28 */ andis. r0, r0, 0x28
/* 80087544 00084484 41 82 00 0C */ beq lbl_80087550
/* 80087548 00084488 38 00 00 00 */ li r0, 0
/* 8008754C 0008448C 48 00 00 08 */ b lbl_80087554
lbl_80087550:
/* 80087550 00084490 38 00 00 01 */ li r0, 1
lbl_80087554:
/* 80087554 00084494 7C 83 23 78 */ mr r3, r4
/* 80087558 00084498 7C 04 03 78 */ mr r4, r0
/* 8008755C 0008449C 4B FF FF 95 */ bl getHitId
/* 80087560 000844A0 7C 64 1B 78 */ mr r4, r3
/* 80087564 000844A4 7F C3 F3 78 */ mr r3, r30
/* 80087568 000844A8 7F E5 FB 78 */ mr r5, r31
/* 8008756C 000844AC 81 9E 00 00 */ lwz r12, 0(r30)
/* 80087570 000844B0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80087574 000844B4 7D 89 03 A6 */ mtctr r12
/* 80087578 000844B8 4E 80 04 21 */ bctrl
lbl_8008757C:
/* 8008757C 000844BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80087580 000844C0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80087584 000844C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80087588 000844C8 7C 08 03 A6 */ mtlr r0
/* 8008758C 000844CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80087590 000844D0 4E 80 00 20 */ blr
.global at_power_get
at_power_get:
/* 80087594 000844D4 80 A3 00 00 */ lwz r5, 0(r3)
/* 80087598 000844D8 88 85 00 14 */ lbz r4, 0x14(r5)
/* 8008759C 000844DC 7C 80 23 78 */ mr r0, r4
/* 800875A0 000844E0 88 63 00 1E */ lbz r3, 0x1e(r3)
/* 800875A4 000844E4 28 03 00 00 */ cmplwi r3, 0
/* 800875A8 000844E8 40 82 00 70 */ bne lbl_80087618
/* 800875AC 000844EC 80 65 00 10 */ lwz r3, 0x10(r5)
/* 800875B0 000844F0 54 63 00 C7 */ rlwinm. r3, r3, 0, 3, 3
/* 800875B4 000844F4 41 82 00 0C */ beq lbl_800875C0
/* 800875B8 000844F8 38 00 00 00 */ li r0, 0
/* 800875BC 000844FC 48 00 04 94 */ b lbl_80087A50
lbl_800875C0:
/* 800875C0 00084500 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 800875C4 00084504 28 03 00 01 */ cmplwi r3, 1
/* 800875C8 00084508 40 82 00 0C */ bne lbl_800875D4
/* 800875CC 0008450C 38 00 00 01 */ li r0, 1
/* 800875D0 00084510 48 00 04 80 */ b lbl_80087A50
lbl_800875D4:
/* 800875D4 00084514 28 03 00 02 */ cmplwi r3, 2
/* 800875D8 00084518 40 82 00 0C */ bne lbl_800875E4
/* 800875DC 0008451C 38 00 00 0A */ li r0, 0xa
/* 800875E0 00084520 48 00 04 70 */ b lbl_80087A50
lbl_800875E4:
/* 800875E4 00084524 28 03 00 03 */ cmplwi r3, 3
/* 800875E8 00084528 40 82 00 10 */ bne lbl_800875F8
/* 800875EC 0008452C 1C 04 00 0A */ mulli r0, r4, 0xa
/* 800875F0 00084530 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800875F4 00084534 48 00 04 5C */ b lbl_80087A50
lbl_800875F8:
/* 800875F8 00084538 28 03 00 06 */ cmplwi r3, 6
/* 800875FC 0008453C 40 82 00 0C */ bne lbl_80087608
/* 80087600 00084540 38 00 00 50 */ li r0, 0x50
/* 80087604 00084544 48 00 04 4C */ b lbl_80087A50
lbl_80087608:
/* 80087608 00084548 28 03 00 04 */ cmplwi r3, 4
/* 8008760C 0008454C 41 80 04 44 */ blt lbl_80087A50
/* 80087610 00084550 38 00 00 C8 */ li r0, 0xc8
/* 80087614 00084554 48 00 04 3C */ b lbl_80087A50
lbl_80087618:
/* 80087618 00084558 28 03 00 06 */ cmplwi r3, 6
/* 8008761C 0008455C 40 82 00 60 */ bne lbl_8008767C
/* 80087620 00084560 80 65 00 10 */ lwz r3, 0x10(r5)
/* 80087624 00084564 54 63 00 C7 */ rlwinm. r3, r3, 0, 3, 3
/* 80087628 00084568 41 82 00 0C */ beq lbl_80087634
/* 8008762C 0008456C 38 00 00 00 */ li r0, 0
/* 80087630 00084570 48 00 04 20 */ b lbl_80087A50
lbl_80087634:
/* 80087634 00084574 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80087638 00084578 28 03 00 01 */ cmplwi r3, 1
/* 8008763C 0008457C 40 82 00 0C */ bne lbl_80087648
/* 80087640 00084580 38 00 00 01 */ li r0, 1
/* 80087644 00084584 48 00 04 0C */ b lbl_80087A50
lbl_80087648:
/* 80087648 00084588 28 03 00 02 */ cmplwi r3, 2
/* 8008764C 0008458C 40 82 00 0C */ bne lbl_80087658
/* 80087650 00084590 38 00 00 0A */ li r0, 0xa
/* 80087654 00084594 48 00 03 FC */ b lbl_80087A50
lbl_80087658:
/* 80087658 00084598 28 03 00 06 */ cmplwi r3, 6
/* 8008765C 0008459C 40 82 00 0C */ bne lbl_80087668
/* 80087660 000845A0 38 00 00 50 */ li r0, 0x50
/* 80087664 000845A4 48 00 03 EC */ b lbl_80087A50
lbl_80087668:
/* 80087668 000845A8 28 03 00 03 */ cmplwi r3, 3
/* 8008766C 000845AC 41 80 03 E4 */ blt lbl_80087A50
/* 80087670 000845B0 1C 04 00 0A */ mulli r0, r4, 0xa
/* 80087674 000845B4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80087678 000845B8 48 00 03 D8 */ b lbl_80087A50
lbl_8008767C:
/* 8008767C 000845BC 28 03 00 04 */ cmplwi r3, 4
/* 80087680 000845C0 40 82 00 80 */ bne lbl_80087700
/* 80087684 000845C4 80 A5 00 10 */ lwz r5, 0x10(r5)
/* 80087688 000845C8 54 A3 02 53 */ rlwinm. r3, r5, 0, 9, 9
/* 8008768C 000845CC 41 82 00 0C */ beq lbl_80087698
/* 80087690 000845D0 38 00 00 C8 */ li r0, 0xc8
/* 80087694 000845D4 48 00 03 BC */ b lbl_80087A50
lbl_80087698:
/* 80087698 000845D8 54 A3 00 C7 */ rlwinm. r3, r5, 0, 3, 3
/* 8008769C 000845DC 41 82 00 0C */ beq lbl_800876A8
/* 800876A0 000845E0 38 00 00 00 */ li r0, 0
/* 800876A4 000845E4 48 00 03 AC */ b lbl_80087A50
lbl_800876A8:
/* 800876A8 000845E8 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 800876AC 000845EC 28 03 00 01 */ cmplwi r3, 1
/* 800876B0 000845F0 40 82 00 0C */ bne lbl_800876BC
/* 800876B4 000845F4 38 00 00 01 */ li r0, 1
/* 800876B8 000845F8 48 00 03 98 */ b lbl_80087A50
lbl_800876BC:
/* 800876BC 000845FC 28 03 00 02 */ cmplwi r3, 2
/* 800876C0 00084600 40 82 00 0C */ bne lbl_800876CC
/* 800876C4 00084604 38 00 00 0A */ li r0, 0xa
/* 800876C8 00084608 48 00 03 88 */ b lbl_80087A50
lbl_800876CC:
/* 800876CC 0008460C 28 03 00 03 */ cmplwi r3, 3
/* 800876D0 00084610 41 80 00 10 */ blt lbl_800876E0
/* 800876D4 00084614 1C 04 00 0A */ mulli r0, r4, 0xa
/* 800876D8 00084618 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800876DC 0008461C 48 00 03 74 */ b lbl_80087A50
lbl_800876E0:
/* 800876E0 00084620 28 03 00 06 */ cmplwi r3, 6
/* 800876E4 00084624 40 82 00 0C */ bne lbl_800876F0
/* 800876E8 00084628 38 00 00 50 */ li r0, 0x50
/* 800876EC 0008462C 48 00 03 64 */ b lbl_80087A50
lbl_800876F0:
/* 800876F0 00084630 28 03 00 04 */ cmplwi r3, 4
/* 800876F4 00084634 41 80 03 5C */ blt lbl_80087A50
/* 800876F8 00084638 38 00 00 C8 */ li r0, 0xc8
/* 800876FC 0008463C 48 00 03 54 */ b lbl_80087A50
lbl_80087700:
/* 80087700 00084640 28 03 00 05 */ cmplwi r3, 5
/* 80087704 00084644 40 82 00 4C */ bne lbl_80087750
/* 80087708 00084648 80 65 00 10 */ lwz r3, 0x10(r5)
/* 8008770C 0008464C 54 63 04 A5 */ rlwinm. r3, r3, 0, 0x12, 0x12
/* 80087710 00084650 41 82 00 0C */ beq lbl_8008771C
/* 80087714 00084654 38 00 00 00 */ li r0, 0
/* 80087718 00084658 48 00 03 38 */ b lbl_80087A50
lbl_8008771C:
/* 8008771C 0008465C 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80087720 00084660 28 03 00 01 */ cmplwi r3, 1
/* 80087724 00084664 40 82 00 0C */ bne lbl_80087730
/* 80087728 00084668 38 00 00 01 */ li r0, 1
/* 8008772C 0008466C 48 00 03 24 */ b lbl_80087A50
lbl_80087730:
/* 80087730 00084670 28 03 00 02 */ cmplwi r3, 2
/* 80087734 00084674 40 82 00 0C */ bne lbl_80087740
/* 80087738 00084678 38 00 00 03 */ li r0, 3
/* 8008773C 0008467C 48 00 03 14 */ b lbl_80087A50
lbl_80087740:
/* 80087740 00084680 28 03 00 03 */ cmplwi r3, 3
/* 80087744 00084684 41 80 03 0C */ blt lbl_80087A50
/* 80087748 00084688 38 00 00 04 */ li r0, 4
/* 8008774C 0008468C 48 00 03 04 */ b lbl_80087A50
lbl_80087750:
/* 80087750 00084690 28 03 00 02 */ cmplwi r3, 2
/* 80087754 00084694 40 82 00 6C */ bne lbl_800877C0
/* 80087758 00084698 80 65 00 10 */ lwz r3, 0x10(r5)
/* 8008775C 0008469C 54 63 02 53 */ rlwinm. r3, r3, 0, 9, 9
/* 80087760 000846A0 41 82 00 0C */ beq lbl_8008776C
/* 80087764 000846A4 38 00 00 C8 */ li r0, 0xc8
/* 80087768 000846A8 48 00 02 E8 */ b lbl_80087A50
lbl_8008776C:
/* 8008776C 000846AC 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80087770 000846B0 28 03 00 01 */ cmplwi r3, 1
/* 80087774 000846B4 40 82 00 0C */ bne lbl_80087780
/* 80087778 000846B8 38 00 00 01 */ li r0, 1
/* 8008777C 000846BC 48 00 02 D4 */ b lbl_80087A50
lbl_80087780:
/* 80087780 000846C0 28 03 00 02 */ cmplwi r3, 2
/* 80087784 000846C4 40 82 00 0C */ bne lbl_80087790
/* 80087788 000846C8 38 00 00 0A */ li r0, 0xa
/* 8008778C 000846CC 48 00 02 C4 */ b lbl_80087A50
lbl_80087790:
/* 80087790 000846D0 28 03 00 03 */ cmplwi r3, 3
/* 80087794 000846D4 40 82 00 0C */ bne lbl_800877A0
/* 80087798 000846D8 38 00 00 14 */ li r0, 0x14
/* 8008779C 000846DC 48 00 02 B4 */ b lbl_80087A50
lbl_800877A0:
/* 800877A0 000846E0 28 03 00 06 */ cmplwi r3, 6
/* 800877A4 000846E4 40 82 00 0C */ bne lbl_800877B0
/* 800877A8 000846E8 38 00 00 50 */ li r0, 0x50
/* 800877AC 000846EC 48 00 02 A4 */ b lbl_80087A50
lbl_800877B0:
/* 800877B0 000846F0 28 03 00 04 */ cmplwi r3, 4
/* 800877B4 000846F4 41 80 02 9C */ blt lbl_80087A50
/* 800877B8 000846F8 38 00 00 C8 */ li r0, 0xc8
/* 800877BC 000846FC 48 00 02 94 */ b lbl_80087A50
lbl_800877C0:
/* 800877C0 00084700 28 03 00 01 */ cmplwi r3, 1
/* 800877C4 00084704 40 82 00 30 */ bne lbl_800877F4
/* 800877C8 00084708 80 05 00 10 */ lwz r0, 0x10(r5)
/* 800877CC 0008470C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9
/* 800877D0 00084710 40 82 00 10 */ bne lbl_800877E0
/* 800877D4 00084714 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 800877D8 00084718 28 00 00 04 */ cmplwi r0, 4
/* 800877DC 0008471C 41 80 00 0C */ blt lbl_800877E8
lbl_800877E0:
/* 800877E0 00084720 38 00 00 C8 */ li r0, 0xc8
/* 800877E4 00084724 48 00 02 6C */ b lbl_80087A50
lbl_800877E8:
/* 800877E8 00084728 1C 04 00 0A */ mulli r0, r4, 0xa
/* 800877EC 0008472C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800877F0 00084730 48 00 02 60 */ b lbl_80087A50
lbl_800877F4:
/* 800877F4 00084734 28 03 00 03 */ cmplwi r3, 3
/* 800877F8 00084738 40 82 00 54 */ bne lbl_8008784C
/* 800877FC 0008473C 80 65 00 10 */ lwz r3, 0x10(r5)
/* 80087800 00084740 54 63 02 53 */ rlwinm. r3, r3, 0, 9, 9
/* 80087804 00084744 40 82 00 10 */ bne lbl_80087814
/* 80087808 00084748 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 8008780C 0008474C 28 03 00 04 */ cmplwi r3, 4
/* 80087810 00084750 41 80 00 0C */ blt lbl_8008781C
lbl_80087814:
/* 80087814 00084754 38 00 00 C8 */ li r0, 0xc8
/* 80087818 00084758 48 00 02 38 */ b lbl_80087A50
lbl_8008781C:
/* 8008781C 0008475C 28 03 00 01 */ cmplwi r3, 1
/* 80087820 00084760 40 82 00 0C */ bne lbl_8008782C
/* 80087824 00084764 38 00 00 0A */ li r0, 0xa
/* 80087828 00084768 48 00 02 28 */ b lbl_80087A50
lbl_8008782C:
/* 8008782C 0008476C 28 03 00 02 */ cmplwi r3, 2
/* 80087830 00084770 40 82 00 0C */ bne lbl_8008783C
/* 80087834 00084774 38 00 00 14 */ li r0, 0x14
/* 80087838 00084778 48 00 02 18 */ b lbl_80087A50
lbl_8008783C:
/* 8008783C 0008477C 28 03 00 03 */ cmplwi r3, 3
/* 80087840 00084780 41 80 02 10 */ blt lbl_80087A50
/* 80087844 00084784 38 00 00 28 */ li r0, 0x28
/* 80087848 00084788 48 00 02 08 */ b lbl_80087A50
lbl_8008784C:
/* 8008784C 0008478C 28 03 00 07 */ cmplwi r3, 7
/* 80087850 00084790 40 82 00 88 */ bne lbl_800878D8
/* 80087854 00084794 80 A5 00 10 */ lwz r5, 0x10(r5)
/* 80087858 00084798 3C 60 00 42 */ lis r3, 0x00420008@ha
/* 8008785C 0008479C 38 63 00 08 */ addi r3, r3, 0x00420008@l
/* 80087860 000847A0 7C A3 18 39 */ and. r3, r5, r3
/* 80087864 000847A4 41 82 00 0C */ beq lbl_80087870
/* 80087868 000847A8 38 00 00 32 */ li r0, 0x32
/* 8008786C 000847AC 48 00 01 E4 */ b lbl_80087A50
lbl_80087870:
/* 80087870 000847B0 54 A3 04 A5 */ rlwinm. r3, r5, 0, 0x12, 0x12
/* 80087874 000847B4 41 82 00 0C */ beq lbl_80087880
/* 80087878 000847B8 38 00 00 1B */ li r0, 0x1b
/* 8008787C 000847BC 48 00 01 D4 */ b lbl_80087A50
lbl_80087880:
/* 80087880 000847C0 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80087884 000847C4 28 03 00 01 */ cmplwi r3, 1
/* 80087888 000847C8 40 82 00 0C */ bne lbl_80087894
/* 8008788C 000847CC 38 00 00 01 */ li r0, 1
/* 80087890 000847D0 48 00 01 C0 */ b lbl_80087A50
lbl_80087894:
/* 80087894 000847D4 28 03 00 02 */ cmplwi r3, 2
/* 80087898 000847D8 40 82 00 0C */ bne lbl_800878A4
/* 8008789C 000847DC 38 00 00 0A */ li r0, 0xa
/* 800878A0 000847E0 48 00 01 B0 */ b lbl_80087A50
lbl_800878A4:
/* 800878A4 000847E4 28 03 00 03 */ cmplwi r3, 3
/* 800878A8 000847E8 40 82 00 10 */ bne lbl_800878B8
/* 800878AC 000847EC 1C 04 00 0A */ mulli r0, r4, 0xa
/* 800878B0 000847F0 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800878B4 000847F4 48 00 01 9C */ b lbl_80087A50
lbl_800878B8:
/* 800878B8 000847F8 28 03 00 06 */ cmplwi r3, 6
/* 800878BC 000847FC 40 82 00 0C */ bne lbl_800878C8
/* 800878C0 00084800 38 00 00 50 */ li r0, 0x50
/* 800878C4 00084804 48 00 01 8C */ b lbl_80087A50
lbl_800878C8:
/* 800878C8 00084808 28 03 00 04 */ cmplwi r3, 4
/* 800878CC 0008480C 41 80 01 84 */ blt lbl_80087A50
/* 800878D0 00084810 38 00 00 C8 */ li r0, 0xc8
/* 800878D4 00084814 48 00 01 7C */ b lbl_80087A50
lbl_800878D8:
/* 800878D8 00084818 28 03 00 08 */ cmplwi r3, 8
/* 800878DC 0008481C 40 82 00 4C */ bne lbl_80087928
/* 800878E0 00084820 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 800878E4 00084824 28 03 00 01 */ cmplwi r3, 1
/* 800878E8 00084828 40 82 00 0C */ bne lbl_800878F4
/* 800878EC 0008482C 38 00 00 03 */ li r0, 3
/* 800878F0 00084830 48 00 01 60 */ b lbl_80087A50
lbl_800878F4:
/* 800878F4 00084834 28 03 00 02 */ cmplwi r3, 2
/* 800878F8 00084838 40 82 00 0C */ bne lbl_80087904
/* 800878FC 0008483C 38 00 00 0A */ li r0, 0xa
/* 80087900 00084840 48 00 01 50 */ b lbl_80087A50
lbl_80087904:
/* 80087904 00084844 28 03 00 06 */ cmplwi r3, 6
/* 80087908 00084848 40 82 00 0C */ bne lbl_80087914
/* 8008790C 0008484C 38 00 00 50 */ li r0, 0x50
/* 80087910 00084850 48 00 01 40 */ b lbl_80087A50
lbl_80087914:
/* 80087914 00084854 28 03 00 03 */ cmplwi r3, 3
/* 80087918 00084858 41 80 01 38 */ blt lbl_80087A50
/* 8008791C 0008485C 1C 04 00 0A */ mulli r0, r4, 0xa
/* 80087920 00084860 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80087924 00084864 48 00 01 2C */ b lbl_80087A50
lbl_80087928:
/* 80087928 00084868 28 03 00 09 */ cmplwi r3, 9
/* 8008792C 0008486C 41 82 00 0C */ beq lbl_80087938
/* 80087930 00084870 28 03 00 0A */ cmplwi r3, 0xa
/* 80087934 00084874 40 82 00 78 */ bne lbl_800879AC
lbl_80087938:
/* 80087938 00084878 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8008793C 0008487C 54 83 04 63 */ rlwinm. r3, r4, 0, 0x11, 0x11
/* 80087940 00084880 41 82 00 08 */ beq lbl_80087948
/* 80087944 00084884 38 00 00 00 */ li r0, 0
lbl_80087948:
/* 80087948 00084888 54 83 02 53 */ rlwinm. r3, r4, 0, 9, 9
/* 8008794C 0008488C 41 82 00 08 */ beq lbl_80087954
/* 80087950 00084890 38 00 00 13 */ li r0, 0x13
lbl_80087954:
/* 80087954 00084894 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80087958 00084898 28 03 00 01 */ cmplwi r3, 1
/* 8008795C 0008489C 40 82 00 0C */ bne lbl_80087968
/* 80087960 000848A0 38 00 00 04 */ li r0, 4
/* 80087964 000848A4 48 00 00 EC */ b lbl_80087A50
lbl_80087968:
/* 80087968 000848A8 28 03 00 02 */ cmplwi r3, 2
/* 8008796C 000848AC 40 82 00 0C */ bne lbl_80087978
/* 80087970 000848B0 38 00 00 08 */ li r0, 8
/* 80087974 000848B4 48 00 00 DC */ b lbl_80087A50
lbl_80087978:
/* 80087978 000848B8 28 03 00 03 */ cmplwi r3, 3
/* 8008797C 000848BC 40 82 00 10 */ bne lbl_8008798C
/* 80087980 000848C0 1C 00 00 0A */ mulli r0, r0, 0xa
/* 80087984 000848C4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80087988 000848C8 48 00 00 C8 */ b lbl_80087A50
lbl_8008798C:
/* 8008798C 000848CC 28 03 00 06 */ cmplwi r3, 6
/* 80087990 000848D0 40 82 00 0C */ bne lbl_8008799C
/* 80087994 000848D4 38 00 00 50 */ li r0, 0x50
/* 80087998 000848D8 48 00 00 B8 */ b lbl_80087A50
lbl_8008799C:
/* 8008799C 000848DC 28 03 00 04 */ cmplwi r3, 4
/* 800879A0 000848E0 41 80 00 B0 */ blt lbl_80087A50
/* 800879A4 000848E4 38 00 00 C8 */ li r0, 0xc8
/* 800879A8 000848E8 48 00 00 A8 */ b lbl_80087A50
lbl_800879AC:
/* 800879AC 000848EC 28 03 00 0B */ cmplwi r3, 0xb
/* 800879B0 000848F0 40 82 00 58 */ bne lbl_80087A08
/* 800879B4 000848F4 80 65 00 10 */ lwz r3, 0x10(r5)
/* 800879B8 000848F8 54 63 04 63 */ rlwinm. r3, r3, 0, 0x11, 0x11
/* 800879BC 000848FC 41 82 00 08 */ beq lbl_800879C4
/* 800879C0 00084900 38 00 00 00 */ li r0, 0
lbl_800879C4:
/* 800879C4 00084904 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 800879C8 00084908 28 03 00 01 */ cmplwi r3, 1
/* 800879CC 0008490C 40 82 00 0C */ bne lbl_800879D8
/* 800879D0 00084910 38 00 00 0A */ li r0, 0xa
/* 800879D4 00084914 48 00 00 7C */ b lbl_80087A50
lbl_800879D8:
/* 800879D8 00084918 28 03 00 02 */ cmplwi r3, 2
/* 800879DC 0008491C 40 82 00 0C */ bne lbl_800879E8
/* 800879E0 00084920 38 00 00 14 */ li r0, 0x14
/* 800879E4 00084924 48 00 00 6C */ b lbl_80087A50
lbl_800879E8:
/* 800879E8 00084928 28 03 00 03 */ cmplwi r3, 3
/* 800879EC 0008492C 40 82 00 0C */ bne lbl_800879F8
/* 800879F0 00084930 38 00 00 1E */ li r0, 0x1e
/* 800879F4 00084934 48 00 00 5C */ b lbl_80087A50
lbl_800879F8:
/* 800879F8 00084938 28 03 00 04 */ cmplwi r3, 4
/* 800879FC 0008493C 41 80 00 54 */ blt lbl_80087A50
/* 80087A00 00084940 38 00 00 64 */ li r0, 0x64
/* 80087A04 00084944 48 00 00 4C */ b lbl_80087A50
lbl_80087A08:
/* 80087A08 00084948 28 03 00 0C */ cmplwi r3, 0xc
/* 80087A0C 0008494C 40 82 00 44 */ bne lbl_80087A50
/* 80087A10 00084950 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80087A14 00084954 28 03 00 01 */ cmplwi r3, 1
/* 80087A18 00084958 40 82 00 0C */ bne lbl_80087A24
/* 80087A1C 0008495C 38 00 00 0A */ li r0, 0xa
/* 80087A20 00084960 48 00 00 30 */ b lbl_80087A50
lbl_80087A24:
/* 80087A24 00084964 28 03 00 02 */ cmplwi r3, 2
/* 80087A28 00084968 40 82 00 0C */ bne lbl_80087A34
/* 80087A2C 0008496C 38 00 00 14 */ li r0, 0x14
/* 80087A30 00084970 48 00 00 20 */ b lbl_80087A50
lbl_80087A34:
/* 80087A34 00084974 28 03 00 03 */ cmplwi r3, 3
/* 80087A38 00084978 40 82 00 0C */ bne lbl_80087A44
/* 80087A3C 0008497C 38 00 00 1E */ li r0, 0x1e
/* 80087A40 00084980 48 00 00 10 */ b lbl_80087A50
lbl_80087A44:
/* 80087A44 00084984 28 03 00 04 */ cmplwi r3, 4
/* 80087A48 00084988 41 80 00 08 */ blt lbl_80087A50
/* 80087A4C 0008498C 38 00 00 64 */ li r0, 0x64
lbl_80087A50:
/* 80087A50 00084990 7C 03 03 78 */ mr r3, r0
/* 80087A54 00084994 4E 80 00 20 */ blr
.global at_power_check
at_power_check:
/* 80087A58 00084998 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80087A5C 0008499C 7C 08 02 A6 */ mflr r0
/* 80087A60 000849A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80087A64 000849A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80087A68 000849A8 7C 7F 1B 78 */ mr r31, r3
/* 80087A6C 000849AC 80 63 00 00 */ lwz r3, 0(r3)
/* 80087A70 000849B0 28 03 00 00 */ cmplwi r3, 0
/* 80087A74 000849B4 40 82 00 0C */ bne lbl_80087A80
/* 80087A78 000849B8 38 60 00 00 */ li r3, 0
/* 80087A7C 000849BC 48 00 01 74 */ b lbl_80087BF0
lbl_80087A80:
/* 80087A80 000849C0 48 1D BF C9 */ bl GetAc__8cCcD_ObjFv
/* 80087A84 000849C4 90 7F 00 04 */ stw r3, 4(r31)
/* 80087A88 000849C8 38 00 00 0C */ li r0, 0xc
/* 80087A8C 000849CC 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087A90 000849D0 38 00 00 00 */ li r0, 0
/* 80087A94 000849D4 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 80087A98 000849D8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80087A9C 000849DC 80 1F 00 04 */ lwz r0, 4(r31)
/* 80087AA0 000849E0 28 00 00 00 */ cmplwi r0, 0
/* 80087AA4 000849E4 41 82 00 B4 */ beq lbl_80087B58
/* 80087AA8 000849E8 7F E3 FB 78 */ mr r3, r31
/* 80087AAC 000849EC 4B FF FA E9 */ bl at_power_get
/* 80087AB0 000849F0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80087AB4 000849F4 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 80087AB8 000849F8 80 7F 00 04 */ lwz r3, 4(r31)
/* 80087ABC 000849FC A8 03 00 08 */ lha r0, 8(r3)
/* 80087AC0 00084A00 2C 00 00 FD */ cmpwi r0, 0xfd
/* 80087AC4 00084A04 41 82 00 08 */ beq lbl_80087ACC
/* 80087AC8 00084A08 40 82 00 40 */ bne lbl_80087B08
lbl_80087ACC:
/* 80087ACC 00084A0C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80087AD0 00084A10 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80087AD4 00084A14 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10
/* 80087AD8 00084A18 40 82 00 0C */ bne lbl_80087AE4
/* 80087ADC 00084A1C 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9
/* 80087AE0 00084A20 41 82 00 10 */ beq lbl_80087AF0
lbl_80087AE4:
/* 80087AE4 00084A24 38 00 00 09 */ li r0, 9
/* 80087AE8 00084A28 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087AEC 00084A2C 48 00 00 6C */ b lbl_80087B58
lbl_80087AF0:
/* 80087AF0 00084A30 38 00 00 01 */ li r0, 1
/* 80087AF4 00084A34 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087AF8 00084A38 4B FF F8 DD */ bl cc_pl_cut_bit_get
/* 80087AFC 00084A3C 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80087B00 00084A40 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80087B04 00084A44 48 00 00 54 */ b lbl_80087B58
lbl_80087B08:
/* 80087B08 00084A48 2C 00 02 21 */ cmpwi r0, 0x221
/* 80087B0C 00084A4C 40 82 00 18 */ bne lbl_80087B24
/* 80087B10 00084A50 38 00 00 02 */ li r0, 2
/* 80087B14 00084A54 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087B18 00084A58 3C 00 10 00 */ lis r0, 0x1000
/* 80087B1C 00084A5C 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80087B20 00084A60 48 00 00 38 */ b lbl_80087B58
lbl_80087B24:
/* 80087B24 00084A64 2C 00 00 FE */ cmpwi r0, 0xfe
/* 80087B28 00084A68 40 82 00 18 */ bne lbl_80087B40
/* 80087B2C 00084A6C 38 00 00 0A */ li r0, 0xa
/* 80087B30 00084A70 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087B34 00084A74 3C 00 40 00 */ lis r0, 0x4000
/* 80087B38 00084A78 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80087B3C 00084A7C 48 00 00 1C */ b lbl_80087B58
lbl_80087B40:
/* 80087B40 00084A80 2C 00 03 08 */ cmpwi r0, 0x308
/* 80087B44 00084A84 40 82 00 14 */ bne lbl_80087B58
/* 80087B48 00084A88 38 00 00 0F */ li r0, 0xf
/* 80087B4C 00084A8C 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087B50 00084A90 3C 00 80 00 */ lis r0, 0x8000
/* 80087B54 00084A94 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_80087B58:
/* 80087B58 00084A98 38 00 00 00 */ li r0, 0
/* 80087B5C 00084A9C 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 80087B60 00084AA0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80087B64 00084AA4 80 83 00 10 */ lwz r4, 0x10(r3)
/* 80087B68 00084AA8 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19
/* 80087B6C 00084AAC 40 82 00 1C */ bne lbl_80087B88
/* 80087B70 00084AB0 54 80 03 DF */ rlwinm. r0, r4, 0, 0xf, 0xf
/* 80087B74 00084AB4 40 82 00 14 */ bne lbl_80087B88
/* 80087B78 00084AB8 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
/* 80087B7C 00084ABC 40 82 00 0C */ bne lbl_80087B88
/* 80087B80 00084AC0 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 80087B84 00084AC4 41 82 00 10 */ beq lbl_80087B94
lbl_80087B88:
/* 80087B88 00084AC8 38 00 00 10 */ li r0, 0x10
/* 80087B8C 00084ACC 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80087B90 00084AD0 48 00 00 5C */ b lbl_80087BEC
lbl_80087B94:
/* 80087B94 00084AD4 54 80 04 63 */ rlwinm. r0, r4, 0, 0x11, 0x11
/* 80087B98 00084AD8 41 82 00 10 */ beq lbl_80087BA8
/* 80087B9C 00084ADC 38 00 10 00 */ li r0, 0x1000
/* 80087BA0 00084AE0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80087BA4 00084AE4 48 00 00 48 */ b lbl_80087BEC
lbl_80087BA8:
/* 80087BA8 00084AE8 80 9F 00 04 */ lwz r4, 4(r31)
/* 80087BAC 00084AEC A8 04 00 08 */ lha r0, 8(r4)
/* 80087BB0 00084AF0 2C 00 00 FD */ cmpwi r0, 0xfd
/* 80087BB4 00084AF4 41 82 00 08 */ beq lbl_80087BBC
/* 80087BB8 00084AF8 40 82 00 20 */ bne lbl_80087BD8
lbl_80087BBC:
/* 80087BBC 00084AFC 4B FF CB E1 */ bl dCcD_GetGObjInf
/* 80087BC0 00084B00 88 03 00 77 */ lbz r0, 0x77(r3)
/* 80087BC4 00084B04 2C 00 00 01 */ cmpwi r0, 1
/* 80087BC8 00084B08 40 82 00 24 */ bne lbl_80087BEC
/* 80087BCC 00084B0C 38 00 00 01 */ li r0, 1
/* 80087BD0 00084B10 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 80087BD4 00084B14 48 00 00 18 */ b lbl_80087BEC
lbl_80087BD8:
/* 80087BD8 00084B18 A0 1F 00 1C */ lhz r0, 0x1c(r31)
/* 80087BDC 00084B1C 28 00 00 03 */ cmplwi r0, 3
/* 80087BE0 00084B20 41 80 00 0C */ blt lbl_80087BEC
/* 80087BE4 00084B24 38 00 00 01 */ li r0, 1
/* 80087BE8 00084B28 98 1F 00 1F */ stb r0, 0x1f(r31)
lbl_80087BEC:
/* 80087BEC 00084B2C 80 7F 00 04 */ lwz r3, 4(r31)
lbl_80087BF0:
/* 80087BF0 00084B30 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80087BF4 00084B34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80087BF8 00084B38 7C 08 03 A6 */ mtlr r0
/* 80087BFC 00084B3C 38 21 00 10 */ addi r1, r1, 0x10
/* 80087C00 00084B40 4E 80 00 20 */ blr
/* 80087C04 00084B44 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80087C08 00084B48 7C 08 02 A6 */ mflr r0
/* 80087C0C 00084B4C 90 01 00 64 */ stw r0, 0x64(r1)
/* 80087C10 00084B50 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 80087C14 00084B54 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80087C18 00084B58 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 80087C1C 00084B5C F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 80087C20 00084B60 39 61 00 40 */ addi r11, r1, 0x40
/* 80087C24 00084B64 48 2D A5 A9 */ bl _savegpr_25
/* 80087C28 00084B68 7C 7B 1B 78 */ mr r27, r3
/* 80087C2C 00084B6C 7C 9C 23 78 */ mr r28, r4
/* 80087C30 00084B70 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80087C34 00084B74 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l
/* 80087C38 00084B78 83 DF 5D AC */ lwz r30, 0x5dac(r31)
/* 80087C3C 00084B7C 7F 83 E3 78 */ mr r3, r28
/* 80087C40 00084B80 4B FF FE 19 */ bl at_power_check
/* 80087C44 00084B84 90 7C 00 04 */ stw r3, 4(r28)
/* 80087C48 00084B88 80 7C 00 04 */ lwz r3, 4(r28)
/* 80087C4C 00084B8C 28 03 00 00 */ cmplwi r3, 0
/* 80087C50 00084B90 41 82 04 B8 */ beq lbl_80088108
/* 80087C54 00084B94 C0 03 04 F8 */ lfs f0, 0x4f8(r3)
/* 80087C58 00084B98 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80087C5C 00084B9C C0 03 04 FC */ lfs f0, 0x4fc(r3)
/* 80087C60 00084BA0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80087C64 00084BA4 C0 03 05 00 */ lfs f0, 0x500(r3)
/* 80087C68 00084BA8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80087C6C 00084BAC C0 02 8D 98 */ lfs f0, lbl_80452798-_SDA2_BASE_(r2)
/* 80087C70 00084BB0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80087C74 00084BB4 38 61 00 0C */ addi r3, r1, 0xc
/* 80087C78 00084BB8 48 2B F4 C1 */ bl PSVECSquareMag
/* 80087C7C 00084BBC C0 02 8D 98 */ lfs f0, lbl_80452798-_SDA2_BASE_(r2)
/* 80087C80 00084BC0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80087C84 00084BC4 40 81 00 58 */ ble lbl_80087CDC
/* 80087C88 00084BC8 FC 00 08 34 */ frsqrte f0, f1
/* 80087C8C 00084BCC C8 82 8D A0 */ lfd f4, lbl_804527A0-_SDA2_BASE_(r2)
/* 80087C90 00084BD0 FC 44 00 32 */ fmul f2, f4, f0
/* 80087C94 00084BD4 C8 62 8D A8 */ lfd f3, lbl_804527A8-_SDA2_BASE_(r2)
/* 80087C98 00084BD8 FC 00 00 32 */ fmul f0, f0, f0
/* 80087C9C 00084BDC FC 01 00 32 */ fmul f0, f1, f0
/* 80087CA0 00084BE0 FC 03 00 28 */ fsub f0, f3, f0
/* 80087CA4 00084BE4 FC 02 00 32 */ fmul f0, f2, f0
/* 80087CA8 00084BE8 FC 44 00 32 */ fmul f2, f4, f0
/* 80087CAC 00084BEC FC 00 00 32 */ fmul f0, f0, f0
/* 80087CB0 00084BF0 FC 01 00 32 */ fmul f0, f1, f0
/* 80087CB4 00084BF4 FC 03 00 28 */ fsub f0, f3, f0
/* 80087CB8 00084BF8 FC 02 00 32 */ fmul f0, f2, f0
/* 80087CBC 00084BFC FC 44 00 32 */ fmul f2, f4, f0
/* 80087CC0 00084C00 FC 00 00 32 */ fmul f0, f0, f0
/* 80087CC4 00084C04 FC 01 00 32 */ fmul f0, f1, f0
/* 80087CC8 00084C08 FC 03 00 28 */ fsub f0, f3, f0
/* 80087CCC 00084C0C FC 02 00 32 */ fmul f0, f2, f0
/* 80087CD0 00084C10 FC 21 00 32 */ fmul f1, f1, f0
/* 80087CD4 00084C14 FC 20 08 18 */ frsp f1, f1
/* 80087CD8 00084C18 48 00 00 88 */ b lbl_80087D60
lbl_80087CDC:
/* 80087CDC 00084C1C C8 02 8D B0 */ lfd f0, lbl_804527B0-_SDA2_BASE_(r2)
/* 80087CE0 00084C20 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80087CE4 00084C24 40 80 00 10 */ bge lbl_80087CF4
/* 80087CE8 00084C28 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80087CEC 00084C2C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
/* 80087CF0 00084C30 48 00 00 70 */ b lbl_80087D60
lbl_80087CF4:
/* 80087CF4 00084C34 D0 21 00 08 */ stfs f1, 8(r1)
/* 80087CF8 00084C38 80 81 00 08 */ lwz r4, 8(r1)
/* 80087CFC 00084C3C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80087D00 00084C40 3C 00 7F 80 */ lis r0, 0x7f80
/* 80087D04 00084C44 7C 03 00 00 */ cmpw r3, r0
/* 80087D08 00084C48 41 82 00 14 */ beq lbl_80087D1C
/* 80087D0C 00084C4C 40 80 00 40 */ bge lbl_80087D4C
/* 80087D10 00084C50 2C 03 00 00 */ cmpwi r3, 0
/* 80087D14 00084C54 41 82 00 20 */ beq lbl_80087D34
/* 80087D18 00084C58 48 00 00 34 */ b lbl_80087D4C
lbl_80087D1C:
/* 80087D1C 00084C5C 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80087D20 00084C60 41 82 00 0C */ beq lbl_80087D2C
/* 80087D24 00084C64 38 00 00 01 */ li r0, 1
/* 80087D28 00084C68 48 00 00 28 */ b lbl_80087D50
lbl_80087D2C:
/* 80087D2C 00084C6C 38 00 00 02 */ li r0, 2
/* 80087D30 00084C70 48 00 00 20 */ b lbl_80087D50
lbl_80087D34:
/* 80087D34 00084C74 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80087D38 00084C78 41 82 00 0C */ beq lbl_80087D44
/* 80087D3C 00084C7C 38 00 00 05 */ li r0, 5
/* 80087D40 00084C80 48 00 00 10 */ b lbl_80087D50
lbl_80087D44:
/* 80087D44 00084C84 38 00 00 03 */ li r0, 3
/* 80087D48 00084C88 48 00 00 08 */ b lbl_80087D50
lbl_80087D4C:
/* 80087D4C 00084C8C 38 00 00 04 */ li r0, 4
lbl_80087D50:
/* 80087D50 00084C90 2C 00 00 01 */ cmpwi r0, 1
/* 80087D54 00084C94 40 82 00 0C */ bne lbl_80087D60
/* 80087D58 00084C98 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80087D5C 00084C9C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
lbl_80087D60:
/* 80087D60 00084CA0 C0 02 8D B8 */ lfs f0, lbl_804527B8-_SDA2_BASE_(r2)
/* 80087D64 00084CA4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80087D68 00084CA8 40 81 00 3C */ ble lbl_80087DA4
/* 80087D6C 00084CAC 80 7C 00 04 */ lwz r3, 4(r28)
/* 80087D70 00084CB0 C3 C3 04 F8 */ lfs f30, 0x4f8(r3)
/* 80087D74 00084CB4 C3 E3 05 00 */ lfs f31, 0x500(r3)
/* 80087D78 00084CB8 C0 22 8D BC */ lfs f1, lbl_804527BC-_SDA2_BASE_(r2)
/* 80087D7C 00084CBC 48 1D FC 11 */ bl cM_rndFX__Ff
/* 80087D80 00084CC0 FC 00 08 1E */ fctiwz f0, f1
/* 80087D84 00084CC4 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80087D88 00084CC8 83 41 00 1C */ lwz r26, 0x1c(r1)
/* 80087D8C 00084CCC FC 20 F0 50 */ fneg f1, f30
/* 80087D90 00084CD0 FC 40 F8 50 */ fneg f2, f31
/* 80087D94 00084CD4 48 1D F8 E1 */ bl cM_atan2s__Fff
/* 80087D98 00084CD8 7C 03 D2 14 */ add r0, r3, r26
/* 80087D9C 00084CDC B0 1C 00 0E */ sth r0, 0xe(r28)
/* 80087DA0 00084CE0 48 00 00 80 */ b lbl_80087E20
lbl_80087DA4:
/* 80087DA4 00084CE4 80 7C 00 04 */ lwz r3, 4(r28)
/* 80087DA8 00084CE8 A8 03 00 08 */ lha r0, 8(r3)
/* 80087DAC 00084CEC 2C 00 00 FE */ cmpwi r0, 0xfe
/* 80087DB0 00084CF0 40 82 00 48 */ bne lbl_80087DF8
/* 80087DB4 00084CF4 C0 3B 04 D0 */ lfs f1, 0x4d0(r27)
/* 80087DB8 00084CF8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80087DBC 00084CFC EF E1 00 28 */ fsubs f31, f1, f0
/* 80087DC0 00084D00 C0 3B 04 D8 */ lfs f1, 0x4d8(r27)
/* 80087DC4 00084D04 C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 80087DC8 00084D08 EF C1 00 28 */ fsubs f30, f1, f0
/* 80087DCC 00084D0C C0 22 8D C0 */ lfs f1, lbl_804527C0-_SDA2_BASE_(r2)
/* 80087DD0 00084D10 48 1D FB BD */ bl cM_rndFX__Ff
/* 80087DD4 00084D14 FC 00 08 1E */ fctiwz f0, f1
/* 80087DD8 00084D18 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80087DDC 00084D1C 83 41 00 1C */ lwz r26, 0x1c(r1)
/* 80087DE0 00084D20 FC 20 F8 50 */ fneg f1, f31
/* 80087DE4 00084D24 FC 40 F0 50 */ fneg f2, f30
/* 80087DE8 00084D28 48 1D F8 8D */ bl cM_atan2s__Fff
/* 80087DEC 00084D2C 7C 03 D2 14 */ add r0, r3, r26
/* 80087DF0 00084D30 B0 1C 00 0E */ sth r0, 0xe(r28)
/* 80087DF4 00084D34 48 00 00 2C */ b lbl_80087E20
lbl_80087DF8:
/* 80087DF8 00084D38 C0 3B 04 D0 */ lfs f1, 0x4d0(r27)
/* 80087DFC 00084D3C C0 03 04 D0 */ lfs f0, 0x4d0(r3)
/* 80087E00 00084D40 EC 41 00 28 */ fsubs f2, f1, f0
/* 80087E04 00084D44 C0 3B 04 D8 */ lfs f1, 0x4d8(r27)
/* 80087E08 00084D48 C0 03 04 D8 */ lfs f0, 0x4d8(r3)
/* 80087E0C 00084D4C EC 01 00 28 */ fsubs f0, f1, f0
/* 80087E10 00084D50 FC 20 10 50 */ fneg f1, f2
/* 80087E14 00084D54 FC 40 00 50 */ fneg f2, f0
/* 80087E18 00084D58 48 1D F8 5D */ bl cM_atan2s__Fff
/* 80087E1C 00084D5C B0 7C 00 0E */ sth r3, 0xe(r28)
lbl_80087E20:
/* 80087E20 00084D60 88 1C 00 20 */ lbz r0, 0x20(r28)
/* 80087E24 00084D64 28 00 00 01 */ cmplwi r0, 1
/* 80087E28 00084D68 40 82 00 18 */ bne lbl_80087E40
/* 80087E2C 00084D6C 88 1E 05 68 */ lbz r0, 0x568(r30)
/* 80087E30 00084D70 28 00 00 05 */ cmplwi r0, 5
/* 80087E34 00084D74 40 82 00 0C */ bne lbl_80087E40
/* 80087E38 00084D78 A8 1E 04 E6 */ lha r0, 0x4e6(r30)
/* 80087E3C 00084D7C B0 1C 00 0E */ sth r0, 0xe(r28)
lbl_80087E40:
/* 80087E40 00084D80 80 7C 00 00 */ lwz r3, 0(r28)
/* 80087E44 00084D84 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80087E48 00084D88 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 80087E4C 00084D8C 41 82 00 18 */ beq lbl_80087E64
/* 80087E50 00084D90 80 1B 04 9C */ lwz r0, 0x49c(r27)
/* 80087E54 00084D94 54 00 02 99 */ rlwinm. r0, r0, 0, 0xa, 0xc
/* 80087E58 00084D98 41 82 00 0C */ beq lbl_80087E64
/* 80087E5C 00084D9C 38 00 00 00 */ li r0, 0
/* 80087E60 00084DA0 B0 1C 00 1C */ sth r0, 0x1c(r28)
lbl_80087E64:
/* 80087E64 00084DA4 80 7C 00 00 */ lwz r3, 0(r28)
/* 80087E68 00084DA8 88 03 00 75 */ lbz r0, 0x75(r3)
/* 80087E6C 00084DAC 28 00 00 04 */ cmplwi r0, 4
/* 80087E70 00084DB0 40 82 00 2C */ bne lbl_80087E9C
/* 80087E74 00084DB4 A8 1B 00 08 */ lha r0, 8(r27)
/* 80087E78 00084DB8 2C 00 02 0E */ cmpwi r0, 0x20e
/* 80087E7C 00084DBC 40 82 00 10 */ bne lbl_80087E8C
/* 80087E80 00084DC0 38 00 00 00 */ li r0, 0
/* 80087E84 00084DC4 B0 1C 00 1C */ sth r0, 0x1c(r28)
/* 80087E88 00084DC8 48 00 00 14 */ b lbl_80087E9C
lbl_80087E8C:
/* 80087E8C 00084DCC 2C 00 00 F9 */ cmpwi r0, 0xf9
/* 80087E90 00084DD0 41 82 00 0C */ beq lbl_80087E9C
/* 80087E94 00084DD4 38 00 00 64 */ li r0, 0x64
/* 80087E98 00084DD8 B0 1C 00 1C */ sth r0, 0x1c(r28)
lbl_80087E9C:
/* 80087E9C 00084DDC 88 1C 00 20 */ lbz r0, 0x20(r28)
/* 80087EA0 00084DE0 28 00 00 01 */ cmplwi r0, 1
/* 80087EA4 00084DE4 40 82 00 78 */ bne lbl_80087F1C
/* 80087EA8 00084DE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80087EAC 00084DEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80087EB0 00084DF0 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 80087EB4 00084DF4 80 03 05 74 */ lwz r0, 0x574(r3)
/* 80087EB8 00084DF8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
/* 80087EBC 00084DFC 40 82 00 40 */ bne lbl_80087EFC
/* 80087EC0 00084E00 48 0D 74 D9 */ bl daPy_py_c_NS_checkMasterSwordEquip
/* 80087EC4 00084E04 2C 03 00 00 */ cmpwi r3, 0
/* 80087EC8 00084E08 41 82 00 10 */ beq lbl_80087ED8
/* 80087ECC 00084E0C A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 80087ED0 00084E10 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e
/* 80087ED4 00084E14 B0 1C 00 1C */ sth r0, 0x1c(r28)
lbl_80087ED8:
/* 80087ED8 00084E18 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80087EDC 00084E1C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80087EE0 00084E20 88 03 00 14 */ lbz r0, 0x14(r3)
/* 80087EE4 00084E24 28 00 00 3F */ cmplwi r0, 0x3f
/* 80087EE8 00084E28 40 82 00 14 */ bne lbl_80087EFC
/* 80087EEC 00084E2C A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 80087EF0 00084E30 7C 00 0E 70 */ srawi r0, r0, 1
/* 80087EF4 00084E34 7C 00 01 94 */ addze r0, r0
/* 80087EF8 00084E38 B0 1C 00 1C */ sth r0, 0x1c(r28)
lbl_80087EFC:
/* 80087EFC 00084E3C A0 1E 05 6E */ lhz r0, 0x56e(r30)
/* 80087F00 00084E40 28 00 00 00 */ cmplwi r0, 0
/* 80087F04 00084E44 41 82 00 18 */ beq lbl_80087F1C
/* 80087F08 00084E48 A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 80087F0C 00084E4C 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e
/* 80087F10 00084E50 B0 1C 00 1C */ sth r0, 0x1c(r28)
/* 80087F14 00084E54 38 00 00 01 */ li r0, 1
/* 80087F18 00084E58 98 1C 00 1F */ stb r0, 0x1f(r28)
lbl_80087F1C:
/* 80087F1C 00084E5C A0 7C 00 1C */ lhz r3, 0x1c(r28)
/* 80087F20 00084E60 28 03 00 00 */ cmplwi r3, 0
/* 80087F24 00084E64 41 82 00 10 */ beq lbl_80087F34
/* 80087F28 00084E68 A8 1B 05 62 */ lha r0, 0x562(r27)
/* 80087F2C 00084E6C 7C 03 00 50 */ subf r0, r3, r0
/* 80087F30 00084E70 B0 1B 05 62 */ sth r0, 0x562(r27)
lbl_80087F34:
/* 80087F34 00084E74 3B A0 00 00 */ li r29, 0
/* 80087F38 00084E78 A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 80087F3C 00084E7C 28 00 00 00 */ cmplwi r0, 0
/* 80087F40 00084E80 41 82 00 20 */ beq lbl_80087F60
/* 80087F44 00084E84 A8 1B 05 62 */ lha r0, 0x562(r27)
/* 80087F48 00084E88 2C 00 00 00 */ cmpwi r0, 0
/* 80087F4C 00084E8C 41 81 00 14 */ bgt lbl_80087F60
/* 80087F50 00084E90 38 00 00 02 */ li r0, 2
/* 80087F54 00084E94 98 1C 00 1F */ stb r0, 0x1f(r28)
/* 80087F58 00084E98 38 00 00 00 */ li r0, 0
/* 80087F5C 00084E9C B0 1B 05 62 */ sth r0, 0x562(r27)
lbl_80087F60:
/* 80087F60 00084EA0 80 7C 00 00 */ lwz r3, 0(r28)
/* 80087F64 00084EA4 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80087F68 00084EA8 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 80087F6C 00084EAC 41 82 00 18 */ beq lbl_80087F84
/* 80087F70 00084EB0 80 1B 04 9C */ lwz r0, 0x49c(r27)
/* 80087F74 00084EB4 74 00 00 28 */ andis. r0, r0, 0x28
/* 80087F78 00084EB8 40 82 00 0C */ bne lbl_80087F84
/* 80087F7C 00084EBC 3B 20 00 01 */ li r25, 1
/* 80087F80 00084EC0 48 00 00 08 */ b lbl_80087F88
lbl_80087F84:
/* 80087F84 00084EC4 3B 20 00 00 */ li r25, 0
lbl_80087F88:
/* 80087F88 00084EC8 80 1C 00 08 */ lwz r0, 8(r28)
/* 80087F8C 00084ECC 28 00 00 00 */ cmplwi r0, 0
/* 80087F90 00084ED0 41 82 00 6C */ beq lbl_80087FFC
/* 80087F94 00084ED4 83 5C 00 18 */ lwz r26, 0x18(r28)
/* 80087F98 00084ED8 28 1A 00 00 */ cmplwi r26, 0
/* 80087F9C 00084EDC 41 82 00 2C */ beq lbl_80087FC8
/* 80087FA0 00084EE0 7F 24 CB 78 */ mr r4, r25
/* 80087FA4 00084EE4 4B FF F5 4D */ bl getHitId
/* 80087FA8 00084EE8 7C 64 1B 78 */ mr r4, r3
/* 80087FAC 00084EEC 80 7C 00 08 */ lwz r3, 8(r28)
/* 80087FB0 00084EF0 7F 45 D3 78 */ mr r5, r26
/* 80087FB4 00084EF4 81 83 00 00 */ lwz r12, 0(r3)
/* 80087FB8 00084EF8 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80087FBC 00084EFC 7D 89 03 A6 */ mtctr r12
/* 80087FC0 00084F00 4E 80 04 21 */ bctrl
/* 80087FC4 00084F04 48 00 00 38 */ b lbl_80087FFC
lbl_80087FC8:
/* 80087FC8 00084F08 88 7C 00 1F */ lbz r3, 0x1f(r28)
/* 80087FCC 00084F0C 4B FF F4 F9 */ bl getMapInfo
/* 80087FD0 00084F10 7C 7A 1B 78 */ mr r26, r3
/* 80087FD4 00084F14 80 7C 00 00 */ lwz r3, 0(r28)
/* 80087FD8 00084F18 7F 24 CB 78 */ mr r4, r25
/* 80087FDC 00084F1C 4B FF F5 15 */ bl getHitId
/* 80087FE0 00084F20 7C 64 1B 78 */ mr r4, r3
/* 80087FE4 00084F24 80 7C 00 08 */ lwz r3, 8(r28)
/* 80087FE8 00084F28 7F 45 D3 78 */ mr r5, r26
/* 80087FEC 00084F2C 81 83 00 00 */ lwz r12, 0(r3)
/* 80087FF0 00084F30 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80087FF4 00084F34 7D 89 03 A6 */ mtctr r12
/* 80087FF8 00084F38 4E 80 04 21 */ bctrl
lbl_80087FFC:
/* 80087FFC 00084F3C 88 1C 00 1F */ lbz r0, 0x1f(r28)
/* 80088000 00084F40 7C 00 07 75 */ extsb. r0, r0
/* 80088004 00084F44 41 82 00 0C */ beq lbl_80088010
/* 80088008 00084F48 3B A0 00 05 */ li r29, 5
/* 8008800C 00084F4C 48 00 00 14 */ b lbl_80088020
lbl_80088010:
/* 80088010 00084F50 A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 80088014 00084F54 28 00 00 01 */ cmplwi r0, 1
/* 80088018 00084F58 40 81 00 08 */ ble lbl_80088020
/* 8008801C 00084F5C 3B A0 00 02 */ li r29, 2
lbl_80088020:
/* 80088020 00084F60 80 7C 00 00 */ lwz r3, 0(r28)
/* 80088024 00084F64 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80088028 00084F68 54 00 01 09 */ rlwinm. r0, r0, 0, 4, 4
/* 8008802C 00084F6C 40 82 00 20 */ bne lbl_8008804C
/* 80088030 00084F70 80 7F 5D AC */ lwz r3, 0x5dac(r31)
/* 80088034 00084F74 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80088038 00084F78 81 8C 01 88 */ lwz r12, 0x188(r12)
/* 8008803C 00084F7C 7D 89 03 A6 */ mtctr r12
/* 80088040 00084F80 4E 80 04 21 */ bctrl
/* 80088044 00084F84 28 03 00 00 */ cmplwi r3, 0
/* 80088048 00084F88 41 82 00 30 */ beq lbl_80088078
lbl_8008804C:
/* 8008804C 00084F8C A8 7B 00 08 */ lha r3, 8(r27)
/* 80088050 00084F90 2C 03 01 D4 */ cmpwi r3, 0x1d4
/* 80088054 00084F94 40 82 00 10 */ bne lbl_80088064
/* 80088058 00084F98 88 1B 12 9A */ lbz r0, 0x129a(r27)
/* 8008805C 00084F9C 7C 00 07 75 */ extsb. r0, r0
/* 80088060 00084FA0 40 82 00 0C */ bne lbl_8008806C
lbl_80088064:
/* 80088064 00084FA4 2C 03 02 0E */ cmpwi r3, 0x20e
/* 80088068 00084FA8 40 82 00 0C */ bne lbl_80088074
lbl_8008806C:
/* 8008806C 00084FAC 3B A0 00 03 */ li r29, 3
/* 80088070 00084FB0 48 00 00 08 */ b lbl_80088078
lbl_80088074:
/* 80088074 00084FB4 3B A0 00 00 */ li r29, 0
lbl_80088078:
/* 80088078 00084FB8 A8 1B 00 08 */ lha r0, 8(r27)
/* 8008807C 00084FBC 2C 00 01 B7 */ cmpwi r0, 0x1b7
/* 80088080 00084FC0 41 82 00 34 */ beq lbl_800880B4
/* 80088084 00084FC4 2C 00 01 BE */ cmpwi r0, 0x1be
/* 80088088 00084FC8 41 82 00 2C */ beq lbl_800880B4
/* 8008808C 00084FCC 2C 00 01 EA */ cmpwi r0, 0x1ea
/* 80088090 00084FD0 41 82 00 24 */ beq lbl_800880B4
/* 80088094 00084FD4 2C 00 01 F9 */ cmpwi r0, 0x1f9
/* 80088098 00084FD8 41 82 00 1C */ beq lbl_800880B4
/* 8008809C 00084FDC 2C 00 01 FB */ cmpwi r0, 0x1fb
/* 800880A0 00084FE0 41 82 00 14 */ beq lbl_800880B4
/* 800880A4 00084FE4 2C 00 01 BB */ cmpwi r0, 0x1bb
/* 800880A8 00084FE8 41 82 00 0C */ beq lbl_800880B4
/* 800880AC 00084FEC 2C 00 01 E7 */ cmpwi r0, 0x1e7
/* 800880B0 00084FF0 40 82 00 08 */ bne lbl_800880B8
lbl_800880B4:
/* 800880B4 00084FF4 3B A0 00 00 */ li r29, 0
lbl_800880B8:
/* 800880B8 00084FF8 88 1C 00 20 */ lbz r0, 0x20(r28)
/* 800880BC 00084FFC 28 00 00 01 */ cmplwi r0, 1
/* 800880C0 00085000 41 82 00 14 */ beq lbl_800880D4
/* 800880C4 00085004 80 7C 00 00 */ lwz r3, 0(r28)
/* 800880C8 00085008 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800880CC 0008500C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 800880D0 00085010 41 82 00 38 */ beq lbl_80088108
lbl_800880D4:
/* 800880D4 00085014 7F C3 F3 78 */ mr r3, r30
/* 800880D8 00085018 81 9E 06 28 */ lwz r12, 0x628(r30)
/* 800880DC 0008501C 81 8C 01 3C */ lwz r12, 0x13c(r12)
/* 800880E0 00085020 7D 89 03 A6 */ mtctr r12
/* 800880E4 00085024 4E 80 04 21 */ bctrl
/* 800880E8 00085028 2C 03 00 00 */ cmpwi r3, 0
/* 800880EC 0008502C 40 82 00 1C */ bne lbl_80088108
/* 800880F0 00085030 80 7C 00 00 */ lwz r3, 0(r28)
/* 800880F4 00085034 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800880F8 00085038 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 800880FC 0008503C 41 82 00 08 */ beq lbl_80088104
/* 80088100 00085040 3B A0 00 04 */ li r29, 4
lbl_80088104:
/* 80088104 00085044 9B AD 8B A5 */ stb r29, lbl_80451125-_SDA_BASE_(r13)
lbl_80088108:
/* 80088108 00085048 80 7C 00 04 */ lwz r3, 4(r28)
/* 8008810C 0008504C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80088110 00085050 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80088114 00085054 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 80088118 00085058 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 8008811C 0008505C 39 61 00 40 */ addi r11, r1, 0x40
/* 80088120 00085060 48 2D A0 F9 */ bl _restgpr_25
/* 80088124 00085064 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80088128 00085068 7C 08 03 A6 */ mtlr r0
/* 8008812C 0008506C 38 21 00 60 */ addi r1, r1, 0x60
/* 80088130 00085070 4E 80 00 20 */ blr
/* 80088134 00085074 38 60 00 00 */ li r3, 0
/* 80088138 00085078 4E 80 00 20 */ blr