Files
smb-decomp/asm/mouse.s
camthesaxman d8e12db822 more labeling
2022-01-27 19:38:33 -06:00

377 lines
19 KiB
ArmAsm

.include "macros.inc"
.section .text
.global ev_mouse_init
ev_mouse_init:
/* 80094CD4 00090BF4 3C 60 80 2C */ lis r3, lbl_802BA190@ha
/* 80094CD8 00090BF8 38 83 A1 90 */ addi r4, r3, lbl_802BA190@l
/* 80094CDC 00090BFC 38 00 01 40 */ li r0, 0x140
/* 80094CE0 00090C00 B0 04 00 00 */ sth r0, 0(r4)
/* 80094CE4 00090C04 38 60 00 F0 */ li r3, 0xf0
/* 80094CE8 00090C08 38 00 FF FF */ li r0, -1
/* 80094CEC 00090C0C B0 64 00 02 */ sth r3, 2(r4)
/* 80094CF0 00090C10 B0 04 00 0C */ sth r0, 0xc(r4)
/* 80094CF4 00090C14 4E 80 00 20 */ blr
.global ev_mouse_main
ev_mouse_main:
/* 80094CF8 00090C18 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 80094CFC 00090C1C 3C 60 80 2C */ lis r3, lbl_802BA190@ha
/* 80094D00 00090C20 38 63 A1 90 */ addi r3, r3, lbl_802BA190@l
/* 80094D04 00090C24 80 0D 9C C8 */ lwz r0, lbl_802F1EA8@sda21(r13)
/* 80094D08 00090C28 28 00 00 00 */ cmplwi r0, 0
/* 80094D0C 00090C2C 40 82 03 0C */ bne lbl_80095018
/* 80094D10 00090C30 80 0D 9C FC */ lwz r0, dipSwitches@sda21(r13)
/* 80094D14 00090C34 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 80094D18 00090C38 40 82 03 00 */ bne lbl_80095018
/* 80094D1C 00090C3C A8 03 00 00 */ lha r0, 0(r3)
/* 80094D20 00090C40 3C E0 80 1F */ lis r7, analogButtonInfo@ha
/* 80094D24 00090C44 38 A3 00 04 */ addi r5, r3, 4
/* 80094D28 00090C48 B0 03 00 04 */ sth r0, 4(r3)
/* 80094D2C 00090C4C 38 83 00 02 */ addi r4, r3, 2
/* 80094D30 00090C50 38 C3 00 06 */ addi r6, r3, 6
/* 80094D34 00090C54 A8 03 00 02 */ lha r0, 2(r3)
/* 80094D38 00090C58 39 00 00 01 */ li r8, 1
/* 80094D3C 00090C5C B0 03 00 06 */ sth r0, 6(r3)
/* 80094D40 00090C60 A0 07 3D 50 */ lhz r0, analogButtonInfo@l(r7)
/* 80094D44 00090C64 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 80094D48 00090C68 41 82 00 08 */ beq lbl_80094D50
/* 80094D4C 00090C6C 39 00 00 08 */ li r8, 8
lbl_80094D50:
/* 80094D50 00090C70 3C E0 80 1F */ lis r7, controllerInfo@ha
/* 80094D54 00090C74 38 E7 3B 70 */ addi r7, r7, controllerInfo@l
/* 80094D58 00090C78 A0 E7 00 30 */ lhz r7, 0x30(r7)
/* 80094D5C 00090C7C 54 E0 07 39 */ rlwinm. r0, r7, 0, 0x1c, 0x1c
/* 80094D60 00090C80 41 82 00 10 */ beq lbl_80094D70
/* 80094D64 00090C84 A8 04 00 00 */ lha r0, 0(r4)
/* 80094D68 00090C88 7C 08 00 50 */ subf r0, r8, r0
/* 80094D6C 00090C8C B0 04 00 00 */ sth r0, 0(r4)
lbl_80094D70:
/* 80094D70 00090C90 54 E0 07 7B */ rlwinm. r0, r7, 0, 0x1d, 0x1d
/* 80094D74 00090C94 41 82 00 10 */ beq lbl_80094D84
/* 80094D78 00090C98 A8 04 00 00 */ lha r0, 0(r4)
/* 80094D7C 00090C9C 7C 00 42 14 */ add r0, r0, r8
/* 80094D80 00090CA0 B0 04 00 00 */ sth r0, 0(r4)
lbl_80094D84:
/* 80094D84 00090CA4 54 E0 07 FF */ clrlwi. r0, r7, 0x1f
/* 80094D88 00090CA8 41 82 00 10 */ beq lbl_80094D98
/* 80094D8C 00090CAC A8 03 00 00 */ lha r0, 0(r3)
/* 80094D90 00090CB0 7C 08 00 50 */ subf r0, r8, r0
/* 80094D94 00090CB4 B0 03 00 00 */ sth r0, 0(r3)
lbl_80094D98:
/* 80094D98 00090CB8 54 E0 07 BD */ rlwinm. r0, r7, 0, 0x1e, 0x1e
/* 80094D9C 00090CBC 41 82 00 10 */ beq lbl_80094DAC
/* 80094DA0 00090CC0 A8 03 00 00 */ lha r0, 0(r3)
/* 80094DA4 00090CC4 7C 00 42 14 */ add r0, r0, r8
/* 80094DA8 00090CC8 B0 03 00 00 */ sth r0, 0(r3)
lbl_80094DAC:
/* 80094DAC 00090CCC 3C E0 80 1F */ lis r7, controllerInfo@ha
/* 80094DB0 00090CD0 A9 03 00 00 */ lha r8, 0(r3)
/* 80094DB4 00090CD4 38 E7 3B 70 */ addi r7, r7, controllerInfo@l
/* 80094DB8 00090CD8 C8 62 B0 50 */ lfd f3, lbl_802F5850@sda21(r2)
/* 80094DBC 00090CDC 88 07 00 02 */ lbz r0, 2(r7)
/* 80094DC0 00090CE0 6D 09 80 00 */ xoris r9, r8, 0x8000
/* 80094DC4 00090CE4 3D 00 43 30 */ lis r8, 0x4330
/* 80094DC8 00090CE8 91 21 00 34 */ stw r9, 0x34(r1)
/* 80094DCC 00090CEC 7C 00 07 74 */ extsb r0, r0
/* 80094DD0 00090CF0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80094DD4 00090CF4 91 01 00 30 */ stw r8, 0x30(r1)
/* 80094DD8 00090CF8 C8 42 B0 48 */ lfd f2, lbl_802F5848@sda21(r2)
/* 80094DDC 00090CFC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80094DE0 00090D00 C8 01 00 30 */ lfd f0, 0x30(r1)
/* 80094DE4 00090D04 91 01 00 28 */ stw r8, 0x28(r1)
/* 80094DE8 00090D08 FC 20 18 28 */ fsub f1, f0, f3
/* 80094DEC 00090D0C C8 01 00 28 */ lfd f0, 0x28(r1)
/* 80094DF0 00090D10 FC 00 18 28 */ fsub f0, f0, f3
/* 80094DF4 00090D14 FC 02 00 32 */ fmul f0, f2, f0
/* 80094DF8 00090D18 FC 01 00 2A */ fadd f0, f1, f0
/* 80094DFC 00090D1C FC 00 00 1E */ fctiwz f0, f0
/* 80094E00 00090D20 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 80094E04 00090D24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80094E08 00090D28 B0 03 00 00 */ sth r0, 0(r3)
/* 80094E0C 00090D2C 88 07 00 03 */ lbz r0, 3(r7)
/* 80094E10 00090D30 A8 E4 00 00 */ lha r7, 0(r4)
/* 80094E14 00090D34 7C 00 07 74 */ extsb r0, r0
/* 80094E18 00090D38 7C 00 00 D0 */ neg r0, r0
/* 80094E1C 00090D3C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80094E20 00090D40 90 01 00 14 */ stw r0, 0x14(r1)
/* 80094E24 00090D44 6C E0 80 00 */ xoris r0, r7, 0x8000
/* 80094E28 00090D48 91 01 00 10 */ stw r8, 0x10(r1)
/* 80094E2C 00090D4C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80094E30 00090D50 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80094E34 00090D54 91 01 00 18 */ stw r8, 0x18(r1)
/* 80094E38 00090D58 FC 00 18 28 */ fsub f0, f0, f3
/* 80094E3C 00090D5C C8 21 00 18 */ lfd f1, 0x18(r1)
/* 80094E40 00090D60 FC 02 00 32 */ fmul f0, f2, f0
/* 80094E44 00090D64 FC 21 18 28 */ fsub f1, f1, f3
/* 80094E48 00090D68 FC 01 00 2A */ fadd f0, f1, f0
/* 80094E4C 00090D6C FC 00 00 1E */ fctiwz f0, f0
/* 80094E50 00090D70 D8 01 00 08 */ stfd f0, 8(r1)
/* 80094E54 00090D74 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80094E58 00090D78 B0 04 00 00 */ sth r0, 0(r4)
/* 80094E5C 00090D7C A8 03 00 00 */ lha r0, 0(r3)
/* 80094E60 00090D80 2C 00 00 00 */ cmpwi r0, 0
/* 80094E64 00090D84 40 80 00 0C */ bge lbl_80094E70
/* 80094E68 00090D88 38 00 00 00 */ li r0, 0
/* 80094E6C 00090D8C B0 03 00 00 */ sth r0, 0(r3)
lbl_80094E70:
/* 80094E70 00090D90 A8 03 00 00 */ lha r0, 0(r3)
/* 80094E74 00090D94 2C 00 02 70 */ cmpwi r0, 0x270
/* 80094E78 00090D98 40 81 00 0C */ ble lbl_80094E84
/* 80094E7C 00090D9C 38 00 02 70 */ li r0, 0x270
/* 80094E80 00090DA0 B0 03 00 00 */ sth r0, 0(r3)
lbl_80094E84:
/* 80094E84 00090DA4 A8 04 00 00 */ lha r0, 0(r4)
/* 80094E88 00090DA8 2C 00 00 00 */ cmpwi r0, 0
/* 80094E8C 00090DAC 40 80 00 0C */ bge lbl_80094E98
/* 80094E90 00090DB0 38 00 00 00 */ li r0, 0
/* 80094E94 00090DB4 B0 04 00 00 */ sth r0, 0(r4)
lbl_80094E98:
/* 80094E98 00090DB8 A8 04 00 00 */ lha r0, 0(r4)
/* 80094E9C 00090DBC 2C 00 01 D0 */ cmpwi r0, 0x1d0
/* 80094EA0 00090DC0 40 81 00 0C */ ble lbl_80094EAC
/* 80094EA4 00090DC4 38 00 01 D0 */ li r0, 0x1d0
/* 80094EA8 00090DC8 B0 04 00 00 */ sth r0, 0(r4)
lbl_80094EAC:
/* 80094EAC 00090DCC A9 25 00 00 */ lha r9, 0(r5)
/* 80094EB0 00090DD0 3D 00 80 1F */ lis r8, controllerInfo@ha
/* 80094EB4 00090DD4 A8 03 00 00 */ lha r0, 0(r3)
/* 80094EB8 00090DD8 39 08 3B 70 */ addi r8, r8, controllerInfo@l
/* 80094EBC 00090DDC 38 A3 00 08 */ addi r5, r3, 8
/* 80094EC0 00090DE0 7C 09 00 50 */ subf r0, r9, r0
/* 80094EC4 00090DE4 B0 03 00 08 */ sth r0, 8(r3)
/* 80094EC8 00090DE8 38 E3 00 0A */ addi r7, r3, 0xa
/* 80094ECC 00090DEC A8 C6 00 00 */ lha r6, 0(r6)
/* 80094ED0 00090DF0 A8 04 00 00 */ lha r0, 0(r4)
/* 80094ED4 00090DF4 7C 06 00 50 */ subf r0, r6, r0
/* 80094ED8 00090DF8 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80094EDC 00090DFC A0 08 00 18 */ lhz r0, 0x18(r8)
/* 80094EE0 00090E00 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 80094EE4 00090E04 41 82 00 B4 */ beq lbl_80094F98
/* 80094EE8 00090E08 39 43 00 0C */ addi r10, r3, 0xc
/* 80094EEC 00090E0C A8 03 00 0C */ lha r0, 0xc(r3)
/* 80094EF0 00090E10 2C 00 00 00 */ cmpwi r0, 0
/* 80094EF4 00090E14 41 80 00 10 */ blt lbl_80094F04
/* 80094EF8 00090E18 38 00 FF FF */ li r0, -1
/* 80094EFC 00090E1C B0 0A 00 00 */ sth r0, 0(r10)
/* 80094F00 00090E20 48 00 00 98 */ b lbl_80094F98
lbl_80094F04:
/* 80094F04 00090E24 38 00 FF FF */ li r0, -1
/* 80094F08 00090E28 B0 0A 00 00 */ sth r0, 0(r10)
/* 80094F0C 00090E2C 3C C0 80 20 */ lis r6, spritePoolInfo@ha
/* 80094F10 00090E30 38 C6 59 88 */ addi r6, r6, spritePoolInfo@l
/* 80094F14 00090E34 81 26 00 38 */ lwz r9, 0x38(r6)
/* 80094F18 00090E38 3D 00 80 29 */ lis r8, spriteInfo@ha
/* 80094F1C 00090E3C 38 08 CF 58 */ addi r0, r8, spriteInfo@l
/* 80094F20 00090E40 81 66 00 3C */ lwz r11, 0x3c(r6)
/* 80094F24 00090E44 2C 09 00 00 */ cmpwi r9, 0
/* 80094F28 00090E48 7D 29 03 A6 */ mtctr r9
/* 80094F2C 00090E4C A8 C3 00 00 */ lha r6, 0(r3)
/* 80094F30 00090E50 A8 84 00 00 */ lha r4, 0(r4)
/* 80094F34 00090E54 7C 08 03 78 */ mr r8, r0
/* 80094F38 00090E58 39 20 00 00 */ li r9, 0
/* 80094F3C 00090E5C 40 81 00 5C */ ble lbl_80094F98
lbl_80094F40:
/* 80094F40 00090E60 88 0B 00 00 */ lbz r0, 0(r11)
/* 80094F44 00090E64 7C 00 07 75 */ extsb. r0, r0
/* 80094F48 00090E68 41 82 00 40 */ beq lbl_80094F88
/* 80094F4C 00090E6C 80 08 00 58 */ lwz r0, 0x58(r8)
/* 80094F50 00090E70 7C 06 00 00 */ cmpw r6, r0
/* 80094F54 00090E74 41 80 00 34 */ blt lbl_80094F88
/* 80094F58 00090E78 80 08 00 60 */ lwz r0, 0x60(r8)
/* 80094F5C 00090E7C 7C 06 00 00 */ cmpw r6, r0
/* 80094F60 00090E80 41 81 00 28 */ bgt lbl_80094F88
/* 80094F64 00090E84 80 08 00 5C */ lwz r0, 0x5c(r8)
/* 80094F68 00090E88 7C 04 00 00 */ cmpw r4, r0
/* 80094F6C 00090E8C 41 80 00 1C */ blt lbl_80094F88
/* 80094F70 00090E90 80 08 00 64 */ lwz r0, 0x64(r8)
/* 80094F74 00090E94 7C 04 00 00 */ cmpw r4, r0
/* 80094F78 00090E98 41 81 00 10 */ bgt lbl_80094F88
/* 80094F7C 00090E9C 7D 20 07 34 */ extsh r0, r9
/* 80094F80 00090EA0 B0 0A 00 00 */ sth r0, 0(r10)
/* 80094F84 00090EA4 48 00 00 14 */ b lbl_80094F98
lbl_80094F88:
/* 80094F88 00090EA8 39 29 00 01 */ addi r9, r9, 1
/* 80094F8C 00090EAC 39 08 00 BC */ addi r8, r8, 0xbc
/* 80094F90 00090EB0 39 6B 00 01 */ addi r11, r11, 1
/* 80094F94 00090EB4 42 00 FF AC */ bdnz lbl_80094F40
lbl_80094F98:
/* 80094F98 00090EB8 A8 63 00 0C */ lha r3, 0xc(r3)
/* 80094F9C 00090EBC 7C 60 07 35 */ extsh. r0, r3
/* 80094FA0 00090EC0 41 80 00 78 */ blt lbl_80095018
/* 80094FA4 00090EC4 1C 83 00 BC */ mulli r4, r3, 0xbc
/* 80094FA8 00090EC8 3C 60 80 29 */ lis r3, spriteInfo@ha
/* 80094FAC 00090ECC 38 03 CF 58 */ addi r0, r3, spriteInfo@l
/* 80094FB0 00090ED0 7C 80 22 14 */ add r4, r0, r4
/* 80094FB4 00090ED4 48 00 00 08 */ b lbl_80094FBC
lbl_80094FB8:
/* 80094FB8 00090ED8 7C 04 03 78 */ mr r4, r0
lbl_80094FBC:
/* 80094FBC 00090EDC 80 04 00 50 */ lwz r0, 0x50(r4)
/* 80094FC0 00090EE0 28 00 00 00 */ cmplwi r0, 0
/* 80094FC4 00090EE4 40 82 FF F4 */ bne lbl_80094FB8
/* 80094FC8 00090EE8 A8 05 00 00 */ lha r0, 0(r5)
/* 80094FCC 00090EEC 3C 60 43 30 */ lis r3, 0x4330
/* 80094FD0 00090EF0 C8 42 B0 50 */ lfd f2, lbl_802F5850@sda21(r2)
/* 80094FD4 00090EF4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80094FD8 00090EF8 C0 24 00 04 */ lfs f1, 4(r4)
/* 80094FDC 00090EFC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80094FE0 00090F00 90 61 00 08 */ stw r3, 8(r1)
/* 80094FE4 00090F04 C8 01 00 08 */ lfd f0, 8(r1)
/* 80094FE8 00090F08 EC 00 10 28 */ fsubs f0, f0, f2
/* 80094FEC 00090F0C EC 01 00 2A */ fadds f0, f1, f0
/* 80094FF0 00090F10 D0 04 00 04 */ stfs f0, 4(r4)
/* 80094FF4 00090F14 A8 07 00 00 */ lha r0, 0(r7)
/* 80094FF8 00090F18 C0 24 00 08 */ lfs f1, 8(r4)
/* 80094FFC 00090F1C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80095000 00090F20 90 01 00 14 */ stw r0, 0x14(r1)
/* 80095004 00090F24 90 61 00 10 */ stw r3, 0x10(r1)
/* 80095008 00090F28 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8009500C 00090F2C EC 00 10 28 */ fsubs f0, f0, f2
/* 80095010 00090F30 EC 01 00 2A */ fadds f0, f1, f0
/* 80095014 00090F34 D0 04 00 08 */ stfs f0, 8(r4)
lbl_80095018:
/* 80095018 00090F38 38 21 00 38 */ addi r1, r1, 0x38
/* 8009501C 00090F3C 4E 80 00 20 */ blr
.global ev_mouse_dest
ev_mouse_dest:
/* 80095020 00090F40 4E 80 00 20 */ blr
.global func_80095024
func_80095024:
/* 80095024 00090F44 7C 08 02 A6 */ mflr r0
/* 80095028 00090F48 3C 60 80 2C */ lis r3, lbl_802BA190@ha
/* 8009502C 00090F4C 90 01 00 04 */ stw r0, 4(r1)
/* 80095030 00090F50 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80095034 00090F54 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 80095038 00090F58 93 C1 00 98 */ stw r30, 0x98(r1)
/* 8009503C 00090F5C 3B C3 A1 90 */ addi r30, r3, lbl_802BA190@l
/* 80095040 00090F60 80 0D 9C C8 */ lwz r0, lbl_802F1EA8@sda21(r13)
/* 80095044 00090F64 28 00 00 00 */ cmplwi r0, 0
/* 80095048 00090F68 40 82 01 DC */ bne lbl_80095224
/* 8009504C 00090F6C 80 0D 9C FC */ lwz r0, dipSwitches@sda21(r13)
/* 80095050 00090F70 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 80095054 00090F74 40 82 01 D0 */ bne lbl_80095224
/* 80095058 00090F78 38 00 00 01 */ li r0, 1
/* 8009505C 00090F7C C8 82 B0 50 */ lfd f4, lbl_802F5850@sda21(r2)
/* 80095060 00090F80 90 01 00 08 */ stw r0, 8(r1)
/* 80095064 00090F84 3F E0 43 30 */ lis r31, 0x4330
/* 80095068 00090F88 C0 42 B0 58 */ lfs f2, lbl_802F5858@sda21(r2)
/* 8009506C 00090F8C 38 A0 00 00 */ li r5, 0
/* 80095070 00090F90 A8 1E 00 00 */ lha r0, 0(r30)
/* 80095074 00090F94 C0 22 B0 5C */ lfs f1, lbl_802F585C@sda21(r2)
/* 80095078 00090F98 38 80 FF FF */ li r4, -1
/* 8009507C 00090F9C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80095080 00090FA0 C0 02 B0 60 */ lfs f0, lbl_802F5860@sda21(r2)
/* 80095084 00090FA4 90 01 00 94 */ stw r0, 0x94(r1)
/* 80095088 00090FA8 38 00 00 05 */ li r0, 5
/* 8009508C 00090FAC 93 E1 00 90 */ stw r31, 0x90(r1)
/* 80095090 00090FB0 38 61 00 08 */ addi r3, r1, 8
/* 80095094 00090FB4 C8 61 00 90 */ lfd f3, 0x90(r1)
/* 80095098 00090FB8 EC 63 20 28 */ fsubs f3, f3, f4
/* 8009509C 00090FBC D0 61 00 0C */ stfs f3, 0xc(r1)
/* 800950A0 00090FC0 A8 DE 00 02 */ lha r6, 2(r30)
/* 800950A4 00090FC4 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 800950A8 00090FC8 90 C1 00 8C */ stw r6, 0x8c(r1)
/* 800950AC 00090FCC 93 E1 00 88 */ stw r31, 0x88(r1)
/* 800950B0 00090FD0 C8 61 00 88 */ lfd f3, 0x88(r1)
/* 800950B4 00090FD4 EC 63 20 28 */ fsubs f3, f3, f4
/* 800950B8 00090FD8 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 800950BC 00090FDC D0 41 00 14 */ stfs f2, 0x14(r1)
/* 800950C0 00090FE0 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 800950C4 00090FE4 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 800950C8 00090FE8 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 800950CC 00090FEC D0 01 00 24 */ stfs f0, 0x24(r1)
/* 800950D0 00090FF0 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 800950D4 00090FF4 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 800950D8 00090FF8 90 A1 00 30 */ stw r5, 0x30(r1)
/* 800950DC 00090FFC D0 21 00 34 */ stfs f1, 0x34(r1)
/* 800950E0 00091000 90 81 00 38 */ stw r4, 0x38(r1)
/* 800950E4 00091004 90 01 00 3C */ stw r0, 0x3c(r1)
/* 800950E8 00091008 90 81 00 40 */ stw r4, 0x40(r1)
/* 800950EC 0009100C 90 A1 00 44 */ stw r5, 0x44(r1)
/* 800950F0 00091010 4B FD E7 39 */ bl draw_naomi_sprite
/* 800950F4 00091014 A8 7E 00 0C */ lha r3, 0xc(r30)
/* 800950F8 00091018 7C 60 07 35 */ extsh. r0, r3
/* 800950FC 0009101C 41 80 01 28 */ blt lbl_80095224
/* 80095100 00091020 1C 83 00 BC */ mulli r4, r3, 0xbc
/* 80095104 00091024 3C 60 80 29 */ lis r3, spriteInfo@ha
/* 80095108 00091028 38 03 CF 58 */ addi r0, r3, spriteInfo@l
/* 8009510C 0009102C 7F C0 22 14 */ add r30, r0, r4
/* 80095110 00091030 4B FD C9 7D */ bl func_80071A8C
/* 80095114 00091034 80 9E 00 58 */ lwz r4, 0x58(r30)
/* 80095118 00091038 80 7E 00 5C */ lwz r3, 0x5c(r30)
/* 8009511C 0009103C 38 84 FF F8 */ addi r4, r4, -8
/* 80095120 00091040 C8 42 B0 50 */ lfd f2, lbl_802F5850@sda21(r2)
/* 80095124 00091044 38 03 FF F8 */ addi r0, r3, -8
/* 80095128 00091048 6C 83 80 00 */ xoris r3, r4, 0x8000
/* 8009512C 0009104C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80095130 00091050 90 61 00 8C */ stw r3, 0x8c(r1)
/* 80095134 00091054 90 01 00 94 */ stw r0, 0x94(r1)
/* 80095138 00091058 93 E1 00 88 */ stw r31, 0x88(r1)
/* 8009513C 0009105C 93 E1 00 90 */ stw r31, 0x90(r1)
/* 80095140 00091060 C8 21 00 88 */ lfd f1, 0x88(r1)
/* 80095144 00091064 C8 01 00 90 */ lfd f0, 0x90(r1)
/* 80095148 00091068 EC 21 10 28 */ fsubs f1, f1, f2
/* 8009514C 0009106C EC 40 10 28 */ fsubs f2, f0, f2
/* 80095150 00091070 4B FD CA 11 */ bl func_80071B60
/* 80095154 00091074 38 6D 91 80 */ addi r3, r13, lbl_802F1360@sda21
/* 80095158 00091078 4B FD CD 01 */ bl func_80071E58
/* 8009515C 0009107C 80 7E 00 58 */ lwz r3, 0x58(r30)
/* 80095160 00091080 80 1E 00 64 */ lwz r0, 0x64(r30)
/* 80095164 00091084 38 63 FF F8 */ addi r3, r3, -8
/* 80095168 00091088 C8 42 B0 50 */ lfd f2, lbl_802F5850@sda21(r2)
/* 8009516C 0009108C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80095170 00091090 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80095174 00091094 90 61 00 84 */ stw r3, 0x84(r1)
/* 80095178 00091098 90 01 00 7C */ stw r0, 0x7c(r1)
/* 8009517C 0009109C 93 E1 00 80 */ stw r31, 0x80(r1)
/* 80095180 000910A0 93 E1 00 78 */ stw r31, 0x78(r1)
/* 80095184 000910A4 C8 21 00 80 */ lfd f1, 0x80(r1)
/* 80095188 000910A8 C8 01 00 78 */ lfd f0, 0x78(r1)
/* 8009518C 000910AC EC 21 10 28 */ fsubs f1, f1, f2
/* 80095190 000910B0 EC 40 10 28 */ fsubs f2, f0, f2
/* 80095194 000910B4 4B FD C9 CD */ bl func_80071B60
/* 80095198 000910B8 38 6D 91 80 */ addi r3, r13, lbl_802F1360@sda21
/* 8009519C 000910BC 4B FD CC BD */ bl func_80071E58
/* 800951A0 000910C0 80 7E 00 5C */ lwz r3, 0x5c(r30)
/* 800951A4 000910C4 80 9E 00 60 */ lwz r4, 0x60(r30)
/* 800951A8 000910C8 38 03 FF F8 */ addi r0, r3, -8
/* 800951AC 000910CC C8 42 B0 50 */ lfd f2, lbl_802F5850@sda21(r2)
/* 800951B0 000910D0 6C 83 80 00 */ xoris r3, r4, 0x8000
/* 800951B4 000910D4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800951B8 000910D8 90 61 00 74 */ stw r3, 0x74(r1)
/* 800951BC 000910DC 90 01 00 6C */ stw r0, 0x6c(r1)
/* 800951C0 000910E0 93 E1 00 70 */ stw r31, 0x70(r1)
/* 800951C4 000910E4 93 E1 00 68 */ stw r31, 0x68(r1)
/* 800951C8 000910E8 C8 21 00 70 */ lfd f1, 0x70(r1)
/* 800951CC 000910EC C8 01 00 68 */ lfd f0, 0x68(r1)
/* 800951D0 000910F0 EC 21 10 28 */ fsubs f1, f1, f2
/* 800951D4 000910F4 EC 40 10 28 */ fsubs f2, f0, f2
/* 800951D8 000910F8 4B FD C9 89 */ bl func_80071B60
/* 800951DC 000910FC 38 6D 91 80 */ addi r3, r13, lbl_802F1360@sda21
/* 800951E0 00091100 4B FD CC 79 */ bl func_80071E58
/* 800951E4 00091104 80 7E 00 60 */ lwz r3, 0x60(r30)
/* 800951E8 00091108 80 1E 00 64 */ lwz r0, 0x64(r30)
/* 800951EC 0009110C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 800951F0 00091110 C8 42 B0 50 */ lfd f2, lbl_802F5850@sda21(r2)
/* 800951F4 00091114 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800951F8 00091118 90 61 00 64 */ stw r3, 0x64(r1)
/* 800951FC 0009111C 90 01 00 5C */ stw r0, 0x5c(r1)
/* 80095200 00091120 93 E1 00 60 */ stw r31, 0x60(r1)
/* 80095204 00091124 93 E1 00 58 */ stw r31, 0x58(r1)
/* 80095208 00091128 C8 21 00 60 */ lfd f1, 0x60(r1)
/* 8009520C 0009112C C8 01 00 58 */ lfd f0, 0x58(r1)
/* 80095210 00091130 EC 21 10 28 */ fsubs f1, f1, f2
/* 80095214 00091134 EC 40 10 28 */ fsubs f2, f0, f2
/* 80095218 00091138 4B FD C9 49 */ bl func_80071B60
/* 8009521C 0009113C 38 6D 91 80 */ addi r3, r13, lbl_802F1360@sda21
/* 80095220 00091140 4B FD CC 39 */ bl func_80071E58
lbl_80095224:
/* 80095224 00091144 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80095228 00091148 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 8009522C 0009114C 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 80095230 00091150 7C 08 03 A6 */ mtlr r0
/* 80095234 00091154 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80095238 00091158 4E 80 00 20 */ blr