papermario/asm/nonmatchings/code_197F40/func_802752AC.s
2020-10-14 23:49:49 -04:00

835 lines
43 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802752AC
/* 1A3B8C 802752AC 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 1A3B90 802752B0 AFB20020 */ sw $s2, 0x20($sp)
/* 1A3B94 802752B4 3C12800E */ lui $s2, 0x800e
/* 1A3B98 802752B8 8E52C148 */ lw $s2, -0x3eb8($s2)
/* 1A3B9C 802752BC AFB30024 */ sw $s3, 0x24($sp)
/* 1A3BA0 802752C0 0080982D */ daddu $s3, $a0, $zero
/* 1A3BA4 802752C4 AFBF0028 */ sw $ra, 0x28($sp)
/* 1A3BA8 802752C8 AFB1001C */ sw $s1, 0x1c($sp)
/* 1A3BAC 802752CC AFB00018 */ sw $s0, 0x18($sp)
/* 1A3BB0 802752D0 F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 1A3BB4 802752D4 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 1A3BB8 802752D8 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 1A3BBC 802752DC F7B40030 */ sdc1 $f20, 0x30($sp)
/* 1A3BC0 802752E0 8E71000C */ lw $s1, 0xc($s3)
/* 1A3BC4 802752E4 10A00019 */ beqz $a1, .L8027534C
/* 1A3BC8 802752E8 2650000C */ addiu $s0, $s2, 0xc
/* 1A3BCC 802752EC 8E250000 */ lw $a1, ($s1)
/* 1A3BD0 802752F0 0C0B1EAF */ jal get_variable
/* 1A3BD4 802752F4 26310004 */ addiu $s1, $s1, 4
/* 1A3BD8 802752F8 A6420070 */ sh $v0, 0x70($s2)
/* 1A3BDC 802752FC 8E250000 */ lw $a1, ($s1)
/* 1A3BE0 80275300 0C0B1EAF */ jal get_variable
/* 1A3BE4 80275304 0260202D */ daddu $a0, $s3, $zero
/* 1A3BE8 80275308 A6420072 */ sh $v0, 0x72($s2)
/* 1A3BEC 8027530C AE600070 */ sw $zero, 0x70($s3)
/* 1A3BF0 80275310 86430072 */ lh $v1, 0x72($s2)
/* 1A3BF4 80275314 24020001 */ addiu $v0, $zero, 1
/* 1A3BF8 80275318 10620005 */ beq $v1, $v0, .L80275330
/* 1A3BFC 8027531C 24020005 */ addiu $v0, $zero, 5
/* 1A3C00 80275320 10620003 */ beq $v1, $v0, .L80275330
/* 1A3C04 80275324 24020006 */ addiu $v0, $zero, 6
/* 1A3C08 80275328 14620003 */ bne $v1, $v0, .L80275338
/* 1A3C0C 8027532C 00000000 */ nop
.L80275330:
/* 1A3C10 80275330 2402000A */ addiu $v0, $zero, 0xa
/* 1A3C14 80275334 AE620070 */ sw $v0, 0x70($s3)
.L80275338:
/* 1A3C18 80275338 86030066 */ lh $v1, 0x66($s0)
/* 1A3C1C 8027533C 24020002 */ addiu $v0, $zero, 2
/* 1A3C20 80275340 14620002 */ bne $v1, $v0, .L8027534C
/* 1A3C24 80275344 24020014 */ addiu $v0, $zero, 0x14
/* 1A3C28 80275348 AE620070 */ sw $v0, 0x70($s3)
.L8027534C:
/* 1A3C2C 8027534C 8E630070 */ lw $v1, 0x70($s3)
/* 1A3C30 80275350 2402000A */ addiu $v0, $zero, 0xa
/* 1A3C34 80275354 106200C0 */ beq $v1, $v0, .L80275658
/* 1A3C38 80275358 2862000B */ slti $v0, $v1, 0xb
/* 1A3C3C 8027535C 10400005 */ beqz $v0, .L80275374
/* 1A3C40 80275360 24020014 */ addiu $v0, $zero, 0x14
/* 1A3C44 80275364 10600007 */ beqz $v1, .L80275384
/* 1A3C48 80275368 24020002 */ addiu $v0, $zero, 2
/* 1A3C4C 8027536C 0809D679 */ j .L802759E4
/* 1A3C50 80275370 00000000 */ nop
.L80275374:
/* 1A3C54 80275374 10620172 */ beq $v1, $v0, .L80275940
/* 1A3C58 80275378 24020001 */ addiu $v0, $zero, 1
/* 1A3C5C 8027537C 0809D677 */ j .L802759DC
/* 1A3C60 80275380 00000000 */ nop
.L80275384:
/* 1A3C64 80275384 C6400144 */ lwc1 $f0, 0x144($s2)
/* 1A3C68 80275388 C618000C */ lwc1 $f24, 0xc($s0)
/* 1A3C6C 8027538C C61A0014 */ lwc1 $f26, 0x14($s0)
/* 1A3C70 80275390 E6000000 */ swc1 $f0, ($s0)
/* 1A3C74 80275394 46000586 */ mov.s $f22, $f0
/* 1A3C78 80275398 4406C000 */ mfc1 $a2, $f24
/* 1A3C7C 8027539C C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A3C80 802753A0 4600B306 */ mov.s $f12, $f22
/* 1A3C84 802753A4 E6000004 */ swc1 $f0, 4($s0)
/* 1A3C88 802753A8 C640014C */ lwc1 $f0, 0x14c($s2)
/* 1A3C8C 802753AC 4407D000 */ mfc1 $a3, $f26
/* 1A3C90 802753B0 46000506 */ mov.s $f20, $f0
/* 1A3C94 802753B4 4600A386 */ mov.s $f14, $f20
/* 1A3C98 802753B8 0C00A720 */ jal atan2
/* 1A3C9C 802753BC E6140008 */ swc1 $f20, 8($s0)
/* 1A3CA0 802753C0 4600B306 */ mov.s $f12, $f22
/* 1A3CA4 802753C4 4406C000 */ mfc1 $a2, $f24
/* 1A3CA8 802753C8 4407D000 */ mfc1 $a3, $f26
/* 1A3CAC 802753CC 4600A386 */ mov.s $f14, $f20
/* 1A3CB0 802753D0 0C00A7B5 */ jal dist2D
/* 1A3CB4 802753D4 E6000048 */ swc1 $f0, 0x48($s0)
/* 1A3CB8 802753D8 86020064 */ lh $v0, 0x64($s0)
/* 1A3CBC 802753DC 46000106 */ mov.s $f4, $f0
/* 1A3CC0 802753E0 14400012 */ bnez $v0, .L8027542C
/* 1A3CC4 802753E4 E604004C */ swc1 $f4, 0x4c($s0)
/* 1A3CC8 802753E8 C6000040 */ lwc1 $f0, 0x40($s0)
/* 1A3CCC 802753EC C6020040 */ lwc1 $f2, 0x40($s0)
/* 1A3CD0 802753F0 46002003 */ div.s $f0, $f4, $f0
/* 1A3CD4 802753F4 4600028D */ trunc.w.s $f10, $f0
/* 1A3CD8 802753F8 44035000 */ mfc1 $v1, $f10
/* 1A3CDC 802753FC 00000000 */ nop
/* 1A3CE0 80275400 00031400 */ sll $v0, $v1, 0x10
/* 1A3CE4 80275404 00021403 */ sra $v0, $v0, 0x10
/* 1A3CE8 80275408 44820000 */ mtc1 $v0, $f0
/* 1A3CEC 8027540C 00000000 */ nop
/* 1A3CF0 80275410 46800020 */ cvt.s.w $f0, $f0
/* 1A3CF4 80275414 46020002 */ mul.s $f0, $f0, $f2
/* 1A3CF8 80275418 00000000 */ nop
/* 1A3CFC 8027541C 46002086 */ mov.s $f2, $f4
/* 1A3D00 80275420 A6030064 */ sh $v1, 0x64($s0)
/* 1A3D04 80275424 0809D518 */ j .L80275460
/* 1A3D08 80275428 46001201 */ sub.s $f8, $f2, $f0
.L8027542C:
/* 1A3D0C 8027542C 44821000 */ mtc1 $v0, $f2
/* 1A3D10 80275430 00000000 */ nop
/* 1A3D14 80275434 468010A0 */ cvt.s.w $f2, $f2
/* 1A3D18 80275438 86020064 */ lh $v0, 0x64($s0)
/* 1A3D1C 8027543C 46022083 */ div.s $f2, $f4, $f2
/* 1A3D20 80275440 44820000 */ mtc1 $v0, $f0
/* 1A3D24 80275444 00000000 */ nop
/* 1A3D28 80275448 46800020 */ cvt.s.w $f0, $f0
/* 1A3D2C 8027544C 46020002 */ mul.s $f0, $f0, $f2
/* 1A3D30 80275450 00000000 */ nop
/* 1A3D34 80275454 C604004C */ lwc1 $f4, 0x4c($s0)
/* 1A3D38 80275458 E6020040 */ swc1 $f2, 0x40($s0)
/* 1A3D3C 8027545C 46002201 */ sub.s $f8, $f4, $f0
.L80275460:
/* 1A3D40 80275460 86030064 */ lh $v1, 0x64($s0)
/* 1A3D44 80275464 1060029B */ beqz $v1, .L80275ED4
/* 1A3D48 80275468 24020002 */ addiu $v0, $zero, 2
/* 1A3D4C 8027546C 86020064 */ lh $v0, 0x64($s0)
/* 1A3D50 80275470 C602000C */ lwc1 $f2, 0xc($s0)
/* 1A3D54 80275474 3C013FC9 */ lui $at, 0x3fc9
/* 1A3D58 80275478 34210FD0 */ ori $at, $at, 0xfd0
/* 1A3D5C 8027547C 44810000 */ mtc1 $at, $f0
/* 1A3D60 80275480 C6040000 */ lwc1 $f4, ($s0)
/* 1A3D64 80275484 44823000 */ mtc1 $v0, $f6
/* 1A3D68 80275488 00000000 */ nop
/* 1A3D6C 8027548C 468031A0 */ cvt.s.w $f6, $f6
/* 1A3D70 80275490 46060003 */ div.s $f0, $f0, $f6
/* 1A3D74 80275494 46041081 */ sub.s $f2, $f2, $f4
/* 1A3D78 80275498 E600003C */ swc1 $f0, 0x3c($s0)
/* 1A3D7C 8027549C 44830000 */ mtc1 $v1, $f0
/* 1A3D80 802754A0 00000000 */ nop
/* 1A3D84 802754A4 46800020 */ cvt.s.w $f0, $f0
/* 1A3D88 802754A8 46001083 */ div.s $f2, $f2, $f0
/* 1A3D8C 802754AC C6000010 */ lwc1 $f0, 0x10($s0)
/* 1A3D90 802754B0 0000202D */ daddu $a0, $zero, $zero
/* 1A3D94 802754B4 E6020030 */ swc1 $f2, 0x30($s0)
/* 1A3D98 802754B8 C6020004 */ lwc1 $f2, 4($s0)
/* 1A3D9C 802754BC 8E060058 */ lw $a2, 0x58($s0)
/* 1A3DA0 802754C0 46020001 */ sub.s $f0, $f0, $f2
/* 1A3DA4 802754C4 C6040014 */ lwc1 $f4, 0x14($s0)
/* 1A3DA8 802754C8 46003086 */ mov.s $f2, $f6
/* 1A3DAC 802754CC 46020003 */ div.s $f0, $f0, $f2
/* 1A3DB0 802754D0 C6020008 */ lwc1 $f2, 8($s0)
/* 1A3DB4 802754D4 0080282D */ daddu $a1, $a0, $zero
/* 1A3DB8 802754D8 AE000044 */ sw $zero, 0x44($s0)
/* 1A3DBC 802754DC E6000034 */ swc1 $f0, 0x34($s0)
/* 1A3DC0 802754E0 46003006 */ mov.s $f0, $f6
/* 1A3DC4 802754E4 46022101 */ sub.s $f4, $f4, $f2
/* 1A3DC8 802754E8 C6020040 */ lwc1 $f2, 0x40($s0)
/* 1A3DCC 802754EC 46004003 */ div.s $f0, $f8, $f0
/* 1A3DD0 802754F0 46001080 */ add.s $f2, $f2, $f0
/* 1A3DD4 802754F4 46062103 */ div.s $f4, $f4, $f6
/* 1A3DD8 802754F8 E6040038 */ swc1 $f4, 0x38($s0)
/* 1A3DDC 802754FC 0C098F3F */ jal set_animation
/* 1A3DE0 80275500 E6020040 */ swc1 $f2, 0x40($s0)
/* 1A3DE4 80275504 C640014C */ lwc1 $f0, 0x14c($s2)
/* 1A3DE8 80275508 24040160 */ addiu $a0, $zero, 0x160
/* 1A3DEC 8027550C E7A00010 */ swc1 $f0, 0x10($sp)
/* 1A3DF0 80275510 8E460144 */ lw $a2, 0x144($s2)
/* 1A3DF4 80275514 8E470148 */ lw $a3, 0x148($s2)
/* 1A3DF8 80275518 0C052757 */ jal play_sound_at_position
/* 1A3DFC 8027551C 0000282D */ daddu $a1, $zero, $zero
/* 1A3E00 80275520 86030064 */ lh $v1, 0x64($s0)
/* 1A3E04 80275524 24020168 */ addiu $v0, $zero, 0x168
/* 1A3E08 80275528 14600002 */ bnez $v1, .L80275534
/* 1A3E0C 8027552C 0043001A */ div $zero, $v0, $v1
/* 1A3E10 80275530 0007000D */ break 7
.L80275534:
/* 1A3E14 80275534 2401FFFF */ addiu $at, $zero, -1
/* 1A3E18 80275538 14610004 */ bne $v1, $at, .L8027554C
/* 1A3E1C 8027553C 3C018000 */ lui $at, 0x8000
/* 1A3E20 80275540 14410002 */ bne $v0, $at, .L8027554C
/* 1A3E24 80275544 00000000 */ nop
/* 1A3E28 80275548 0006000D */ break 6
.L8027554C:
/* 1A3E2C 8027554C 00001012 */ mflo $v0
/* 1A3E30 80275550 3C0142B4 */ lui $at, 0x42b4
/* 1A3E34 80275554 44810000 */ mtc1 $at, $f0
/* 1A3E38 80275558 3C014234 */ lui $at, 0x4234
/* 1A3E3C 8027555C 44811000 */ mtc1 $at, $f2
/* 1A3E40 80275560 86030066 */ lh $v1, 0x66($s0)
/* 1A3E44 80275564 E6000024 */ swc1 $f0, 0x24($s0)
/* 1A3E48 80275568 E6020050 */ swc1 $f2, 0x50($s0)
/* 1A3E4C 8027556C 44820000 */ mtc1 $v0, $f0
/* 1A3E50 80275570 00000000 */ nop
/* 1A3E54 80275574 46800020 */ cvt.s.w $f0, $f0
/* 1A3E58 80275578 24020004 */ addiu $v0, $zero, 4
/* 1A3E5C 8027557C 14620005 */ bne $v1, $v0, .L80275594
/* 1A3E60 80275580 E6000028 */ swc1 $f0, 0x28($s0)
/* 1A3E64 80275584 3C014261 */ lui $at, 0x4261
/* 1A3E68 80275588 44810000 */ mtc1 $at, $f0
/* 1A3E6C 8027558C 00000000 */ nop
/* 1A3E70 80275590 E6000050 */ swc1 $f0, 0x50($s0)
.L80275594:
/* 1A3E74 80275594 86020066 */ lh $v0, 0x66($s0)
/* 1A3E78 80275598 AE000018 */ sw $zero, 0x18($s0)
/* 1A3E7C 8027559C 14400013 */ bnez $v0, .L802755EC
/* 1A3E80 802755A0 AE00001C */ sw $zero, 0x1c($s0)
/* 1A3E84 802755A4 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A3E88 802755A8 3C0140C9 */ lui $at, 0x40c9
/* 1A3E8C 802755AC 34210FD0 */ ori $at, $at, 0xfd0
/* 1A3E90 802755B0 44810000 */ mtc1 $at, $f0
/* 1A3E94 802755B4 C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A3E98 802755B8 46006302 */ mul.s $f12, $f12, $f0
/* 1A3E9C 802755BC 00000000 */ nop
/* 1A3EA0 802755C0 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A3EA4 802755C4 4600A521 */ cvt.d.s $f20, $f20
/* 1A3EA8 802755C8 3C0143B4 */ lui $at, 0x43b4
/* 1A3EAC 802755CC 44810000 */ mtc1 $at, $f0
/* 1A3EB0 802755D0 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A3EB4 802755D4 0C00A85B */ jal sin_rad
/* 1A3EB8 802755D8 46006303 */ div.s $f12, $f12, $f0
/* 1A3EBC 802755DC 3C01802A */ lui $at, 0x802a
/* 1A3EC0 802755E0 D422D8E8 */ ldc1 $f2, -0x2718($at)
/* 1A3EC4 802755E4 0809D58C */ j .L80275630
/* 1A3EC8 802755E8 46000021 */ cvt.d.s $f0, $f0
.L802755EC:
/* 1A3ECC 802755EC C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A3ED0 802755F0 3C0140C9 */ lui $at, 0x40c9
/* 1A3ED4 802755F4 34210FD0 */ ori $at, $at, 0xfd0
/* 1A3ED8 802755F8 44810000 */ mtc1 $at, $f0
/* 1A3EDC 802755FC C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A3EE0 80275600 46006302 */ mul.s $f12, $f12, $f0
/* 1A3EE4 80275604 00000000 */ nop
/* 1A3EE8 80275608 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A3EEC 8027560C 4600A521 */ cvt.d.s $f20, $f20
/* 1A3EF0 80275610 3C0143B4 */ lui $at, 0x43b4
/* 1A3EF4 80275614 44810000 */ mtc1 $at, $f0
/* 1A3EF8 80275618 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A3EFC 8027561C 0C00A85B */ jal sin_rad
/* 1A3F00 80275620 46006303 */ div.s $f12, $f12, $f0
/* 1A3F04 80275624 3C01802A */ lui $at, 0x802a
/* 1A3F08 80275628 D422D8F0 */ ldc1 $f2, -0x2710($at)
/* 1A3F0C 8027562C 46000021 */ cvt.d.s $f0, $f0
.L80275630:
/* 1A3F10 80275630 46220002 */ mul.d $f0, $f0, $f2
/* 1A3F14 80275634 00000000 */ nop
/* 1A3F18 80275638 46360002 */ mul.d $f0, $f0, $f22
/* 1A3F1C 8027563C 00000000 */ nop
/* 1A3F20 80275640 46360000 */ add.d $f0, $f0, $f22
/* 1A3F24 80275644 4620A500 */ add.d $f20, $f20, $f0
/* 1A3F28 80275648 4620A520 */ cvt.s.d $f20, $f20
/* 1A3F2C 8027564C E6140044 */ swc1 $f20, 0x44($s0)
/* 1A3F30 80275650 0809D676 */ j .L802759D8
/* 1A3F34 80275654 24020001 */ addiu $v0, $zero, 1
.L80275658:
/* 1A3F38 80275658 C6400144 */ lwc1 $f0, 0x144($s2)
/* 1A3F3C 8027565C C618000C */ lwc1 $f24, 0xc($s0)
/* 1A3F40 80275660 C61A0014 */ lwc1 $f26, 0x14($s0)
/* 1A3F44 80275664 E6000000 */ swc1 $f0, ($s0)
/* 1A3F48 80275668 46000586 */ mov.s $f22, $f0
/* 1A3F4C 8027566C 4406C000 */ mfc1 $a2, $f24
/* 1A3F50 80275670 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A3F54 80275674 4600B306 */ mov.s $f12, $f22
/* 1A3F58 80275678 E6000004 */ swc1 $f0, 4($s0)
/* 1A3F5C 8027567C C640014C */ lwc1 $f0, 0x14c($s2)
/* 1A3F60 80275680 4407D000 */ mfc1 $a3, $f26
/* 1A3F64 80275684 46000506 */ mov.s $f20, $f0
/* 1A3F68 80275688 4600A386 */ mov.s $f14, $f20
/* 1A3F6C 8027568C 0C00A720 */ jal atan2
/* 1A3F70 80275690 E6140008 */ swc1 $f20, 8($s0)
/* 1A3F74 80275694 4600B306 */ mov.s $f12, $f22
/* 1A3F78 80275698 4406C000 */ mfc1 $a2, $f24
/* 1A3F7C 8027569C 4407D000 */ mfc1 $a3, $f26
/* 1A3F80 802756A0 4600A386 */ mov.s $f14, $f20
/* 1A3F84 802756A4 0C00A7B5 */ jal dist2D
/* 1A3F88 802756A8 E6000048 */ swc1 $f0, 0x48($s0)
/* 1A3F8C 802756AC 86020064 */ lh $v0, 0x64($s0)
/* 1A3F90 802756B0 46000106 */ mov.s $f4, $f0
/* 1A3F94 802756B4 14400012 */ bnez $v0, .L80275700
/* 1A3F98 802756B8 E604004C */ swc1 $f4, 0x4c($s0)
/* 1A3F9C 802756BC C6000040 */ lwc1 $f0, 0x40($s0)
/* 1A3FA0 802756C0 C6020040 */ lwc1 $f2, 0x40($s0)
/* 1A3FA4 802756C4 46002003 */ div.s $f0, $f4, $f0
/* 1A3FA8 802756C8 4600028D */ trunc.w.s $f10, $f0
/* 1A3FAC 802756CC 44035000 */ mfc1 $v1, $f10
/* 1A3FB0 802756D0 00000000 */ nop
/* 1A3FB4 802756D4 00031400 */ sll $v0, $v1, 0x10
/* 1A3FB8 802756D8 00021403 */ sra $v0, $v0, 0x10
/* 1A3FBC 802756DC 44820000 */ mtc1 $v0, $f0
/* 1A3FC0 802756E0 00000000 */ nop
/* 1A3FC4 802756E4 46800020 */ cvt.s.w $f0, $f0
/* 1A3FC8 802756E8 46020002 */ mul.s $f0, $f0, $f2
/* 1A3FCC 802756EC 00000000 */ nop
/* 1A3FD0 802756F0 46002086 */ mov.s $f2, $f4
/* 1A3FD4 802756F4 A6030064 */ sh $v1, 0x64($s0)
/* 1A3FD8 802756F8 0809D5CD */ j .L80275734
/* 1A3FDC 802756FC 46001201 */ sub.s $f8, $f2, $f0
.L80275700:
/* 1A3FE0 80275700 44821000 */ mtc1 $v0, $f2
/* 1A3FE4 80275704 00000000 */ nop
/* 1A3FE8 80275708 468010A0 */ cvt.s.w $f2, $f2
/* 1A3FEC 8027570C 86020064 */ lh $v0, 0x64($s0)
/* 1A3FF0 80275710 46022083 */ div.s $f2, $f4, $f2
/* 1A3FF4 80275714 44820000 */ mtc1 $v0, $f0
/* 1A3FF8 80275718 00000000 */ nop
/* 1A3FFC 8027571C 46800020 */ cvt.s.w $f0, $f0
/* 1A4000 80275720 46020002 */ mul.s $f0, $f0, $f2
/* 1A4004 80275724 00000000 */ nop
/* 1A4008 80275728 C604004C */ lwc1 $f4, 0x4c($s0)
/* 1A400C 8027572C E6020040 */ swc1 $f2, 0x40($s0)
/* 1A4010 80275730 46002201 */ sub.s $f8, $f4, $f0
.L80275734:
/* 1A4014 80275734 86030064 */ lh $v1, 0x64($s0)
/* 1A4018 80275738 106001DD */ beqz $v1, .L80275EB0
/* 1A401C 8027573C 0000202D */ daddu $a0, $zero, $zero
/* 1A4020 80275740 8E060060 */ lw $a2, 0x60($s0)
/* 1A4024 80275744 3C013FC9 */ lui $at, 0x3fc9
/* 1A4028 80275748 34210FD0 */ ori $at, $at, 0xfd0
/* 1A402C 8027574C 44810000 */ mtc1 $at, $f0
/* 1A4030 80275750 86020064 */ lh $v0, 0x64($s0)
/* 1A4034 80275754 C602000C */ lwc1 $f2, 0xc($s0)
/* 1A4038 80275758 C6040000 */ lwc1 $f4, ($s0)
/* 1A403C 8027575C 24420001 */ addiu $v0, $v0, 1
/* 1A4040 80275760 44823000 */ mtc1 $v0, $f6
/* 1A4044 80275764 00000000 */ nop
/* 1A4048 80275768 468031A0 */ cvt.s.w $f6, $f6
/* 1A404C 8027576C 46041081 */ sub.s $f2, $f2, $f4
/* 1A4050 80275770 E6000044 */ swc1 $f0, 0x44($s0)
/* 1A4054 80275774 3C013F49 */ lui $at, 0x3f49
/* 1A4058 80275778 34210FD0 */ ori $at, $at, 0xfd0
/* 1A405C 8027577C 44810000 */ mtc1 $at, $f0
/* 1A4060 80275780 86020064 */ lh $v0, 0x64($s0)
/* 1A4064 80275784 46060003 */ div.s $f0, $f0, $f6
/* 1A4068 80275788 E600003C */ swc1 $f0, 0x3c($s0)
/* 1A406C 8027578C 44830000 */ mtc1 $v1, $f0
/* 1A4070 80275790 00000000 */ nop
/* 1A4074 80275794 46800020 */ cvt.s.w $f0, $f0
/* 1A4078 80275798 46001083 */ div.s $f2, $f2, $f0
/* 1A407C 8027579C C6000010 */ lwc1 $f0, 0x10($s0)
/* 1A4080 802757A0 E6020030 */ swc1 $f2, 0x30($s0)
/* 1A4084 802757A4 C6020004 */ lwc1 $f2, 4($s0)
/* 1A4088 802757A8 C6040014 */ lwc1 $f4, 0x14($s0)
/* 1A408C 802757AC 46020001 */ sub.s $f0, $f0, $f2
/* 1A4090 802757B0 44821000 */ mtc1 $v0, $f2
/* 1A4094 802757B4 00000000 */ nop
/* 1A4098 802757B8 468010A0 */ cvt.s.w $f2, $f2
/* 1A409C 802757BC 46001186 */ mov.s $f6, $f2
/* 1A40A0 802757C0 46020003 */ div.s $f0, $f0, $f2
/* 1A40A4 802757C4 C6020008 */ lwc1 $f2, 8($s0)
/* 1A40A8 802757C8 0080282D */ daddu $a1, $a0, $zero
/* 1A40AC 802757CC E6000034 */ swc1 $f0, 0x34($s0)
/* 1A40B0 802757D0 46003006 */ mov.s $f0, $f6
/* 1A40B4 802757D4 46022101 */ sub.s $f4, $f4, $f2
/* 1A40B8 802757D8 C6020040 */ lwc1 $f2, 0x40($s0)
/* 1A40BC 802757DC 46004003 */ div.s $f0, $f8, $f0
/* 1A40C0 802757E0 46001080 */ add.s $f2, $f2, $f0
/* 1A40C4 802757E4 46062103 */ div.s $f4, $f4, $f6
/* 1A40C8 802757E8 E6040038 */ swc1 $f4, 0x38($s0)
/* 1A40CC 802757EC 0C098F3F */ jal set_animation
/* 1A40D0 802757F0 E6020040 */ swc1 $f2, 0x40($s0)
/* 1A40D4 802757F4 86030064 */ lh $v1, 0x64($s0)
/* 1A40D8 802757F8 24020168 */ addiu $v0, $zero, 0x168
/* 1A40DC 802757FC 14600002 */ bnez $v1, .L80275808
/* 1A40E0 80275800 0043001A */ div $zero, $v0, $v1
/* 1A40E4 80275804 0007000D */ break 7
.L80275808:
/* 1A40E8 80275808 2401FFFF */ addiu $at, $zero, -1
/* 1A40EC 8027580C 14610004 */ bne $v1, $at, .L80275820
/* 1A40F0 80275810 3C018000 */ lui $at, 0x8000
/* 1A40F4 80275814 14410002 */ bne $v0, $at, .L80275820
/* 1A40F8 80275818 00000000 */ nop
/* 1A40FC 8027581C 0006000D */ break 6
.L80275820:
/* 1A4100 80275820 00001012 */ mflo $v0
/* 1A4104 80275824 3C0142B4 */ lui $at, 0x42b4
/* 1A4108 80275828 44810000 */ mtc1 $at, $f0
/* 1A410C 8027582C 3C014234 */ lui $at, 0x4234
/* 1A4110 80275830 44811000 */ mtc1 $at, $f2
/* 1A4114 80275834 86030066 */ lh $v1, 0x66($s0)
/* 1A4118 80275838 E6000024 */ swc1 $f0, 0x24($s0)
/* 1A411C 8027583C E6020050 */ swc1 $f2, 0x50($s0)
/* 1A4120 80275840 44820000 */ mtc1 $v0, $f0
/* 1A4124 80275844 00000000 */ nop
/* 1A4128 80275848 46800020 */ cvt.s.w $f0, $f0
/* 1A412C 8027584C 24020005 */ addiu $v0, $zero, 5
/* 1A4130 80275850 14620005 */ bne $v1, $v0, .L80275868
/* 1A4134 80275854 E6000028 */ swc1 $f0, 0x28($s0)
/* 1A4138 80275858 3C014261 */ lui $at, 0x4261
/* 1A413C 8027585C 44810000 */ mtc1 $at, $f0
/* 1A4140 80275860 00000000 */ nop
/* 1A4144 80275864 E6000050 */ swc1 $f0, 0x50($s0)
.L80275868:
/* 1A4148 80275868 86030066 */ lh $v1, 0x66($s0)
/* 1A414C 8027586C 24020001 */ addiu $v0, $zero, 1
/* 1A4150 80275870 AE000018 */ sw $zero, 0x18($s0)
/* 1A4154 80275874 14620013 */ bne $v1, $v0, .L802758C4
/* 1A4158 80275878 AE00001C */ sw $zero, 0x1c($s0)
/* 1A415C 8027587C C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A4160 80275880 3C0140C9 */ lui $at, 0x40c9
/* 1A4164 80275884 34210FD0 */ ori $at, $at, 0xfd0
/* 1A4168 80275888 44810000 */ mtc1 $at, $f0
/* 1A416C 8027588C C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A4170 80275890 46006302 */ mul.s $f12, $f12, $f0
/* 1A4174 80275894 00000000 */ nop
/* 1A4178 80275898 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A417C 8027589C 4600A521 */ cvt.d.s $f20, $f20
/* 1A4180 802758A0 3C0143B4 */ lui $at, 0x43b4
/* 1A4184 802758A4 44810000 */ mtc1 $at, $f0
/* 1A4188 802758A8 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A418C 802758AC 0C00A85B */ jal sin_rad
/* 1A4190 802758B0 46006303 */ div.s $f12, $f12, $f0
/* 1A4194 802758B4 3C01802A */ lui $at, 0x802a
/* 1A4198 802758B8 D422D8F8 */ ldc1 $f2, -0x2708($at)
/* 1A419C 802758BC 0809D642 */ j .L80275908
/* 1A41A0 802758C0 46000021 */ cvt.d.s $f0, $f0
.L802758C4:
/* 1A41A4 802758C4 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A41A8 802758C8 3C0140C9 */ lui $at, 0x40c9
/* 1A41AC 802758CC 34210FD0 */ ori $at, $at, 0xfd0
/* 1A41B0 802758D0 44810000 */ mtc1 $at, $f0
/* 1A41B4 802758D4 C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A41B8 802758D8 46006302 */ mul.s $f12, $f12, $f0
/* 1A41BC 802758DC 00000000 */ nop
/* 1A41C0 802758E0 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A41C4 802758E4 4600A521 */ cvt.d.s $f20, $f20
/* 1A41C8 802758E8 3C0143B4 */ lui $at, 0x43b4
/* 1A41CC 802758EC 44810000 */ mtc1 $at, $f0
/* 1A41D0 802758F0 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A41D4 802758F4 0C00A85B */ jal sin_rad
/* 1A41D8 802758F8 46006303 */ div.s $f12, $f12, $f0
/* 1A41DC 802758FC 3C01802A */ lui $at, 0x802a
/* 1A41E0 80275900 D422D900 */ ldc1 $f2, -0x2700($at)
/* 1A41E4 80275904 46000021 */ cvt.d.s $f0, $f0
.L80275908:
/* 1A41E8 80275908 46220002 */ mul.d $f0, $f0, $f2
/* 1A41EC 8027590C 00000000 */ nop
/* 1A41F0 80275910 46360002 */ mul.d $f0, $f0, $f22
/* 1A41F4 80275914 00000000 */ nop
/* 1A41F8 80275918 46360000 */ add.d $f0, $f0, $f22
/* 1A41FC 8027591C 4620A500 */ add.d $f20, $f20, $f0
/* 1A4200 80275920 4620A520 */ cvt.s.d $f20, $f20
/* 1A4204 80275924 E6140044 */ swc1 $f20, 0x44($s0)
/* 1A4208 80275928 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A420C 8027592C C6020050 */ lwc1 $f2, 0x50($s0)
/* 1A4210 80275930 46020001 */ sub.s $f0, $f0, $f2
/* 1A4214 80275934 2402000B */ addiu $v0, $zero, 0xb
/* 1A4218 80275938 0809D676 */ j .L802759D8
/* 1A421C 8027593C E6000004 */ swc1 $f0, 4($s0)
.L80275940:
/* 1A4220 80275940 A6020064 */ sh $v0, 0x64($s0)
/* 1A4224 80275944 86020064 */ lh $v0, 0x64($s0)
/* 1A4228 80275948 24030168 */ addiu $v1, $zero, 0x168
/* 1A422C 8027594C 14400002 */ bnez $v0, .L80275958
/* 1A4230 80275950 0062001A */ div $zero, $v1, $v0
/* 1A4234 80275954 0007000D */ break 7
.L80275958:
/* 1A4238 80275958 2401FFFF */ addiu $at, $zero, -1
/* 1A423C 8027595C 14410004 */ bne $v0, $at, .L80275970
/* 1A4240 80275960 3C018000 */ lui $at, 0x8000
/* 1A4244 80275964 14610002 */ bne $v1, $at, .L80275970
/* 1A4248 80275968 00000000 */ nop
/* 1A424C 8027596C 0006000D */ break 6
.L80275970:
/* 1A4250 80275970 00001812 */ mflo $v1
/* 1A4254 80275974 C6000018 */ lwc1 $f0, 0x18($s0)
/* 1A4258 80275978 C602001C */ lwc1 $f2, 0x1c($s0)
/* 1A425C 8027597C 46020001 */ sub.s $f0, $f0, $f2
/* 1A4260 80275980 3C0142B4 */ lui $at, 0x42b4
/* 1A4264 80275984 44811000 */ mtc1 $at, $f2
/* 1A4268 80275988 00000000 */ nop
/* 1A426C 8027598C E6020024 */ swc1 $f2, 0x24($s0)
/* 1A4270 80275990 3C01802A */ lui $at, 0x802a
/* 1A4274 80275994 D422D908 */ ldc1 $f2, -0x26f8($at)
/* 1A4278 80275998 46000005 */ abs.s $f0, $f0
/* 1A427C 8027599C 46000021 */ cvt.d.s $f0, $f0
/* 1A4280 802759A0 46220003 */ div.d $f0, $f0, $f2
/* 1A4284 802759A4 46200020 */ cvt.s.d $f0, $f0
/* 1A4288 802759A8 E6000050 */ swc1 $f0, 0x50($s0)
/* 1A428C 802759AC 44830000 */ mtc1 $v1, $f0
/* 1A4290 802759B0 00000000 */ nop
/* 1A4294 802759B4 46800020 */ cvt.s.w $f0, $f0
/* 1A4298 802759B8 E6000028 */ swc1 $f0, 0x28($s0)
/* 1A429C 802759BC C6400144 */ lwc1 $f0, 0x144($s2)
/* 1A42A0 802759C0 E6000000 */ swc1 $f0, ($s0)
/* 1A42A4 802759C4 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A42A8 802759C8 E6000004 */ swc1 $f0, 4($s0)
/* 1A42AC 802759CC C640014C */ lwc1 $f0, 0x14c($s2)
/* 1A42B0 802759D0 24020015 */ addiu $v0, $zero, 0x15
/* 1A42B4 802759D4 E6000008 */ swc1 $f0, 8($s0)
.L802759D8:
/* 1A42B8 802759D8 AE620070 */ sw $v0, 0x70($s3)
.L802759DC:
/* 1A42BC 802759DC 8E630070 */ lw $v1, 0x70($s3)
/* 1A42C0 802759E0 24020002 */ addiu $v0, $zero, 2
.L802759E4:
/* 1A42C4 802759E4 10620085 */ beq $v1, $v0, .L80275BFC
/* 1A42C8 802759E8 28620003 */ slti $v0, $v1, 3
/* 1A42CC 802759EC 10400005 */ beqz $v0, .L80275A04
/* 1A42D0 802759F0 24020001 */ addiu $v0, $zero, 1
/* 1A42D4 802759F4 1062000A */ beq $v1, $v0, .L80275A20
/* 1A42D8 802759F8 0000102D */ daddu $v0, $zero, $zero
/* 1A42DC 802759FC 0809D7B5 */ j .L80275ED4
/* 1A42E0 80275A00 00000000 */ nop
.L80275A04:
/* 1A42E4 80275A04 2402000B */ addiu $v0, $zero, 0xb
/* 1A42E8 80275A08 10620090 */ beq $v1, $v0, .L80275C4C
/* 1A42EC 80275A0C 24020015 */ addiu $v0, $zero, 0x15
/* 1A42F0 80275A10 106200F4 */ beq $v1, $v0, .L80275DE4
/* 1A42F4 80275A14 0000102D */ daddu $v0, $zero, $zero
/* 1A42F8 80275A18 0809D7B5 */ j .L80275ED4
/* 1A42FC 80275A1C 00000000 */ nop
.L80275A20:
/* 1A4300 80275A20 86020066 */ lh $v0, 0x66($s0)
/* 1A4304 80275A24 14400013 */ bnez $v0, .L80275A74
/* 1A4308 80275A28 00000000 */ nop
/* 1A430C 80275A2C C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A4310 80275A30 3C0140C9 */ lui $at, 0x40c9
/* 1A4314 80275A34 34210FD0 */ ori $at, $at, 0xfd0
/* 1A4318 80275A38 44810000 */ mtc1 $at, $f0
/* 1A431C 80275A3C C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A4320 80275A40 46006302 */ mul.s $f12, $f12, $f0
/* 1A4324 80275A44 00000000 */ nop
/* 1A4328 80275A48 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A432C 80275A4C 4600A521 */ cvt.d.s $f20, $f20
/* 1A4330 80275A50 3C0143B4 */ lui $at, 0x43b4
/* 1A4334 80275A54 44810000 */ mtc1 $at, $f0
/* 1A4338 80275A58 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A433C 80275A5C 0C00A85B */ jal sin_rad
/* 1A4340 80275A60 46006303 */ div.s $f12, $f12, $f0
/* 1A4344 80275A64 3C01802A */ lui $at, 0x802a
/* 1A4348 80275A68 D422D910 */ ldc1 $f2, -0x26f0($at)
/* 1A434C 80275A6C 0809D6AE */ j .L80275AB8
/* 1A4350 80275A70 46000021 */ cvt.d.s $f0, $f0
.L80275A74:
/* 1A4354 80275A74 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A4358 80275A78 3C0140C9 */ lui $at, 0x40c9
/* 1A435C 80275A7C 34210FD0 */ ori $at, $at, 0xfd0
/* 1A4360 80275A80 44810000 */ mtc1 $at, $f0
/* 1A4364 80275A84 C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A4368 80275A88 46006302 */ mul.s $f12, $f12, $f0
/* 1A436C 80275A8C 00000000 */ nop
/* 1A4370 80275A90 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A4374 80275A94 4600A521 */ cvt.d.s $f20, $f20
/* 1A4378 80275A98 3C0143B4 */ lui $at, 0x43b4
/* 1A437C 80275A9C 44810000 */ mtc1 $at, $f0
/* 1A4380 80275AA0 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A4384 80275AA4 0C00A85B */ jal sin_rad
/* 1A4388 80275AA8 46006303 */ div.s $f12, $f12, $f0
/* 1A438C 80275AAC 3C01802A */ lui $at, 0x802a
/* 1A4390 80275AB0 D422D918 */ ldc1 $f2, -0x26e8($at)
/* 1A4394 80275AB4 46000021 */ cvt.d.s $f0, $f0
.L80275AB8:
/* 1A4398 80275AB8 46220002 */ mul.d $f0, $f0, $f2
/* 1A439C 80275ABC 00000000 */ nop
/* 1A43A0 80275AC0 46360002 */ mul.d $f0, $f0, $f22
/* 1A43A4 80275AC4 00000000 */ nop
/* 1A43A8 80275AC8 46360000 */ add.d $f0, $f0, $f22
/* 1A43AC 80275ACC 4620A500 */ add.d $f20, $f20, $f0
/* 1A43B0 80275AD0 4620A520 */ cvt.s.d $f20, $f20
/* 1A43B4 80275AD4 E6140044 */ swc1 $f20, 0x44($s0)
/* 1A43B8 80275AD8 C6060000 */ lwc1 $f6, ($s0)
/* 1A43BC 80275ADC C6000030 */ lwc1 $f0, 0x30($s0)
/* 1A43C0 80275AE0 C6040004 */ lwc1 $f4, 4($s0)
/* 1A43C4 80275AE4 46003180 */ add.s $f6, $f6, $f0
/* 1A43C8 80275AE8 C6000034 */ lwc1 $f0, 0x34($s0)
/* 1A43CC 80275AEC C6020008 */ lwc1 $f2, 8($s0)
/* 1A43D0 80275AF0 46002100 */ add.s $f4, $f4, $f0
/* 1A43D4 80275AF4 C6000038 */ lwc1 $f0, 0x38($s0)
/* 1A43D8 80275AF8 46001080 */ add.s $f2, $f2, $f0
/* 1A43DC 80275AFC E6060000 */ swc1 $f6, ($s0)
/* 1A43E0 80275B00 E6040004 */ swc1 $f4, 4($s0)
/* 1A43E4 80275B04 E6020008 */ swc1 $f2, 8($s0)
/* 1A43E8 80275B08 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A43EC 80275B0C 46003086 */ mov.s $f2, $f6
/* 1A43F0 80275B10 E6000018 */ swc1 $f0, 0x18($s0)
/* 1A43F4 80275B14 E6420144 */ swc1 $f2, 0x144($s2)
/* 1A43F8 80275B18 C60C0044 */ lwc1 $f12, 0x44($s0)
/* 1A43FC 80275B1C 3C013FC9 */ lui $at, 0x3fc9
/* 1A4400 80275B20 34210FD0 */ ori $at, $at, 0xfd0
/* 1A4404 80275B24 4481A000 */ mtc1 $at, $f20
/* 1A4408 80275B28 0C00A85B */ jal sin_rad
/* 1A440C 80275B2C 00000000 */ nop
/* 1A4410 80275B30 46140302 */ mul.s $f12, $f0, $f20
/* 1A4414 80275B34 0C00A85B */ jal sin_rad
/* 1A4418 80275B38 00000000 */ nop
/* 1A441C 80275B3C 46140302 */ mul.s $f12, $f0, $f20
/* 1A4420 80275B40 0C00A85B */ jal sin_rad
/* 1A4424 80275B44 00000000 */ nop
/* 1A4428 80275B48 C6020050 */ lwc1 $f2, 0x50($s0)
/* 1A442C 80275B4C 46001082 */ mul.s $f2, $f2, $f0
/* 1A4430 80275B50 00000000 */ nop
/* 1A4434 80275B54 C6000004 */ lwc1 $f0, 4($s0)
/* 1A4438 80275B58 46020000 */ add.s $f0, $f0, $f2
/* 1A443C 80275B5C E6400148 */ swc1 $f0, 0x148($s2)
/* 1A4440 80275B60 C6000008 */ lwc1 $f0, 8($s0)
/* 1A4444 80275B64 E640014C */ swc1 $f0, 0x14c($s2)
/* 1A4448 80275B68 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A444C 80275B6C C6000028 */ lwc1 $f0, 0x28($s0)
/* 1A4450 80275B70 46006300 */ add.s $f12, $f12, $f0
/* 1A4454 80275B74 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A4458 80275B78 E600001C */ swc1 $f0, 0x1c($s0)
/* 1A445C 80275B7C 0C00A6C9 */ jal clamp_angle
/* 1A4460 80275B80 E60C0024 */ swc1 $f12, 0x24($s0)
/* 1A4464 80275B84 96020064 */ lhu $v0, 0x64($s0)
/* 1A4468 80275B88 E6000024 */ swc1 $f0, 0x24($s0)
/* 1A446C 80275B8C 2442FFFF */ addiu $v0, $v0, -1
/* 1A4470 80275B90 A6020064 */ sh $v0, 0x64($s0)
/* 1A4474 80275B94 00021400 */ sll $v0, $v0, 0x10
/* 1A4478 80275B98 144000CE */ bnez $v0, .L80275ED4
/* 1A447C 80275B9C 0000102D */ daddu $v0, $zero, $zero
/* 1A4480 80275BA0 C640014C */ lwc1 $f0, 0x14c($s2)
/* 1A4484 80275BA4 24040160 */ addiu $a0, $zero, 0x160
/* 1A4488 80275BA8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1A448C 80275BAC 8E460144 */ lw $a2, 0x144($s2)
/* 1A4490 80275BB0 8E470148 */ lw $a3, 0x148($s2)
/* 1A4494 80275BB4 0C052757 */ jal play_sound_at_position
/* 1A4498 80275BB8 0000282D */ daddu $a1, $zero, $zero
/* 1A449C 80275BBC 0000202D */ daddu $a0, $zero, $zero
/* 1A44A0 80275BC0 8E06005C */ lw $a2, 0x5c($s0)
/* 1A44A4 80275BC4 0C098F3F */ jal set_animation
/* 1A44A8 80275BC8 0080282D */ daddu $a1, $a0, $zero
/* 1A44AC 80275BCC C6420164 */ lwc1 $f2, 0x164($s2)
/* 1A44B0 80275BD0 3C014284 */ lui $at, 0x4284
/* 1A44B4 80275BD4 44810000 */ mtc1 $at, $f0
/* 1A44B8 80275BD8 2402000E */ addiu $v0, $zero, 0xe
/* 1A44BC 80275BDC 46001081 */ sub.s $f2, $f2, $f0
/* 1A44C0 80275BE0 A642016A */ sh $v0, 0x16a($s2)
/* 1A44C4 80275BE4 24020007 */ addiu $v0, $zero, 7
/* 1A44C8 80275BE8 E6420164 */ swc1 $f2, 0x164($s2)
/* 1A44CC 80275BEC A6020064 */ sh $v0, 0x64($s0)
/* 1A44D0 80275BF0 24020002 */ addiu $v0, $zero, 2
/* 1A44D4 80275BF4 0809D7B4 */ j .L80275ED0
/* 1A44D8 80275BF8 AE620070 */ sw $v0, 0x70($s3)
.L80275BFC:
/* 1A44DC 80275BFC C6420164 */ lwc1 $f2, 0x164($s2)
/* 1A44E0 80275C00 3C014284 */ lui $at, 0x4284
/* 1A44E4 80275C04 44810000 */ mtc1 $at, $f0
/* 1A44E8 80275C08 00000000 */ nop
/* 1A44EC 80275C0C 46001081 */ sub.s $f2, $f2, $f0
/* 1A44F0 80275C10 2402000E */ addiu $v0, $zero, 0xe
/* 1A44F4 80275C14 A642016A */ sh $v0, 0x16a($s2)
/* 1A44F8 80275C18 E6420164 */ swc1 $f2, 0x164($s2)
/* 1A44FC 80275C1C 96020064 */ lhu $v0, 0x64($s0)
/* 1A4500 80275C20 2442FFFF */ addiu $v0, $v0, -1
/* 1A4504 80275C24 A6020064 */ sh $v0, 0x64($s0)
/* 1A4508 80275C28 00021400 */ sll $v0, $v0, 0x10
/* 1A450C 80275C2C 144000A9 */ bnez $v0, .L80275ED4
/* 1A4510 80275C30 0000102D */ daddu $v0, $zero, $zero
/* 1A4514 80275C34 0000202D */ daddu $a0, $zero, $zero
/* 1A4518 80275C38 AE400164 */ sw $zero, 0x164($s2)
/* 1A451C 80275C3C A640016A */ sh $zero, 0x16a($s2)
/* 1A4520 80275C40 8E060060 */ lw $a2, 0x60($s0)
/* 1A4524 80275C44 0809D775 */ j .L80275DD4
/* 1A4528 80275C48 0080282D */ daddu $a1, $a0, $zero
.L80275C4C:
/* 1A452C 80275C4C C6060000 */ lwc1 $f6, ($s0)
/* 1A4530 80275C50 C6000030 */ lwc1 $f0, 0x30($s0)
/* 1A4534 80275C54 C6040004 */ lwc1 $f4, 4($s0)
/* 1A4538 80275C58 46003180 */ add.s $f6, $f6, $f0
/* 1A453C 80275C5C C6000034 */ lwc1 $f0, 0x34($s0)
/* 1A4540 80275C60 C6020008 */ lwc1 $f2, 8($s0)
/* 1A4544 80275C64 46002100 */ add.s $f4, $f4, $f0
/* 1A4548 80275C68 C6000038 */ lwc1 $f0, 0x38($s0)
/* 1A454C 80275C6C 46001080 */ add.s $f2, $f2, $f0
/* 1A4550 80275C70 E6060000 */ swc1 $f6, ($s0)
/* 1A4554 80275C74 E6040004 */ swc1 $f4, 4($s0)
/* 1A4558 80275C78 E6020008 */ swc1 $f2, 8($s0)
/* 1A455C 80275C7C C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A4560 80275C80 46003086 */ mov.s $f2, $f6
/* 1A4564 80275C84 E6000018 */ swc1 $f0, 0x18($s0)
/* 1A4568 80275C88 E6420144 */ swc1 $f2, 0x144($s2)
/* 1A456C 80275C8C 0C00A85B */ jal sin_rad
/* 1A4570 80275C90 C60C0044 */ lwc1 $f12, 0x44($s0)
/* 1A4574 80275C94 C6020050 */ lwc1 $f2, 0x50($s0)
/* 1A4578 80275C98 46001082 */ mul.s $f2, $f2, $f0
/* 1A457C 80275C9C 00000000 */ nop
/* 1A4580 80275CA0 C6000004 */ lwc1 $f0, 4($s0)
/* 1A4584 80275CA4 46020000 */ add.s $f0, $f0, $f2
/* 1A4588 80275CA8 E6400148 */ swc1 $f0, 0x148($s2)
/* 1A458C 80275CAC C6000008 */ lwc1 $f0, 8($s0)
/* 1A4590 80275CB0 E640014C */ swc1 $f0, 0x14c($s2)
/* 1A4594 80275CB4 C6020010 */ lwc1 $f2, 0x10($s0)
/* 1A4598 80275CB8 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A459C 80275CBC 4602003C */ c.lt.s $f0, $f2
/* 1A45A0 80275CC0 00000000 */ nop
/* 1A45A4 80275CC4 45030001 */ bc1tl .L80275CCC
/* 1A45A8 80275CC8 E6420148 */ swc1 $f2, 0x148($s2)
.L80275CCC:
/* 1A45AC 80275CCC C6400148 */ lwc1 $f0, 0x148($s2)
/* 1A45B0 80275CD0 86030066 */ lh $v1, 0x66($s0)
/* 1A45B4 80275CD4 24020001 */ addiu $v0, $zero, 1
/* 1A45B8 80275CD8 14620013 */ bne $v1, $v0, .L80275D28
/* 1A45BC 80275CDC E600001C */ swc1 $f0, 0x1c($s0)
/* 1A45C0 80275CE0 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A45C4 80275CE4 3C0140C9 */ lui $at, 0x40c9
/* 1A45C8 80275CE8 34210FD0 */ ori $at, $at, 0xfd0
/* 1A45CC 80275CEC 44810000 */ mtc1 $at, $f0
/* 1A45D0 80275CF0 C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A45D4 80275CF4 46006302 */ mul.s $f12, $f12, $f0
/* 1A45D8 80275CF8 00000000 */ nop
/* 1A45DC 80275CFC C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A45E0 80275D00 4600A521 */ cvt.d.s $f20, $f20
/* 1A45E4 80275D04 3C0143B4 */ lui $at, 0x43b4
/* 1A45E8 80275D08 44810000 */ mtc1 $at, $f0
/* 1A45EC 80275D0C 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A45F0 80275D10 0C00A85B */ jal sin_rad
/* 1A45F4 80275D14 46006303 */ div.s $f12, $f12, $f0
/* 1A45F8 80275D18 3C01802A */ lui $at, 0x802a
/* 1A45FC 80275D1C D422D920 */ ldc1 $f2, -0x26e0($at)
/* 1A4600 80275D20 0809D75B */ j .L80275D6C
/* 1A4604 80275D24 46000021 */ cvt.d.s $f0, $f0
.L80275D28:
/* 1A4608 80275D28 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A460C 80275D2C 3C0140C9 */ lui $at, 0x40c9
/* 1A4610 80275D30 34210FD0 */ ori $at, $at, 0xfd0
/* 1A4614 80275D34 44810000 */ mtc1 $at, $f0
/* 1A4618 80275D38 C6140044 */ lwc1 $f20, 0x44($s0)
/* 1A461C 80275D3C 46006302 */ mul.s $f12, $f12, $f0
/* 1A4620 80275D40 00000000 */ nop
/* 1A4624 80275D44 C616003C */ lwc1 $f22, 0x3c($s0)
/* 1A4628 80275D48 4600A521 */ cvt.d.s $f20, $f20
/* 1A462C 80275D4C 3C0143B4 */ lui $at, 0x43b4
/* 1A4630 80275D50 44810000 */ mtc1 $at, $f0
/* 1A4634 80275D54 4600B5A1 */ cvt.d.s $f22, $f22
/* 1A4638 80275D58 0C00A85B */ jal sin_rad
/* 1A463C 80275D5C 46006303 */ div.s $f12, $f12, $f0
/* 1A4640 80275D60 3C01802A */ lui $at, 0x802a
/* 1A4644 80275D64 D422D928 */ ldc1 $f2, -0x26d8($at)
/* 1A4648 80275D68 46000021 */ cvt.d.s $f0, $f0
.L80275D6C:
/* 1A464C 80275D6C 46220002 */ mul.d $f0, $f0, $f2
/* 1A4650 80275D70 00000000 */ nop
/* 1A4654 80275D74 46360002 */ mul.d $f0, $f0, $f22
/* 1A4658 80275D78 00000000 */ nop
/* 1A465C 80275D7C 46360000 */ add.d $f0, $f0, $f22
/* 1A4660 80275D80 4620A500 */ add.d $f20, $f20, $f0
/* 1A4664 80275D84 4620A520 */ cvt.s.d $f20, $f20
/* 1A4668 80275D88 E6140044 */ swc1 $f20, 0x44($s0)
/* 1A466C 80275D8C C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A4670 80275D90 C6000028 */ lwc1 $f0, 0x28($s0)
/* 1A4674 80275D94 46006300 */ add.s $f12, $f12, $f0
/* 1A4678 80275D98 0C00A6C9 */ jal clamp_angle
/* 1A467C 80275D9C E60C0024 */ swc1 $f12, 0x24($s0)
/* 1A4680 80275DA0 96020064 */ lhu $v0, 0x64($s0)
/* 1A4684 80275DA4 E6000024 */ swc1 $f0, 0x24($s0)
/* 1A4688 80275DA8 2442FFFF */ addiu $v0, $v0, -1
/* 1A468C 80275DAC A6020064 */ sh $v0, 0x64($s0)
/* 1A4690 80275DB0 00021400 */ sll $v0, $v0, 0x10
/* 1A4694 80275DB4 14400047 */ bnez $v0, .L80275ED4
/* 1A4698 80275DB8 0000102D */ daddu $v0, $zero, $zero
/* 1A469C 80275DBC 0000202D */ daddu $a0, $zero, $zero
/* 1A46A0 80275DC0 0080282D */ daddu $a1, $a0, $zero
/* 1A46A4 80275DC4 3C060001 */ lui $a2, 1
/* 1A46A8 80275DC8 C6000010 */ lwc1 $f0, 0x10($s0)
/* 1A46AC 80275DCC 34C6000C */ ori $a2, $a2, 0xc
/* 1A46B0 80275DD0 E6400148 */ swc1 $f0, 0x148($s2)
.L80275DD4:
/* 1A46B4 80275DD4 0C098F3F */ jal set_animation
/* 1A46B8 80275DD8 00000000 */ nop
/* 1A46BC 80275DDC 0809D7B5 */ j .L80275ED4
/* 1A46C0 80275DE0 24020001 */ addiu $v0, $zero, 1
.L80275DE4:
/* 1A46C4 80275DE4 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A46C8 80275DE8 3C0140C9 */ lui $at, 0x40c9
/* 1A46CC 80275DEC 34210FD0 */ ori $at, $at, 0xfd0
/* 1A46D0 80275DF0 4481B000 */ mtc1 $at, $f22
/* 1A46D4 80275DF4 00000000 */ nop
/* 1A46D8 80275DF8 46166302 */ mul.s $f12, $f12, $f22
/* 1A46DC 80275DFC 00000000 */ nop
/* 1A46E0 80275E00 C6140000 */ lwc1 $f20, ($s0)
/* 1A46E4 80275E04 3C0143B4 */ lui $at, 0x43b4
/* 1A46E8 80275E08 4481C000 */ mtc1 $at, $f24
/* 1A46EC 80275E0C 4600A521 */ cvt.d.s $f20, $f20
/* 1A46F0 80275E10 0C00A85B */ jal sin_rad
/* 1A46F4 80275E14 46186303 */ div.s $f12, $f12, $f24
/* 1A46F8 80275E18 C6020050 */ lwc1 $f2, 0x50($s0)
/* 1A46FC 80275E1C 46001082 */ mul.s $f2, $f2, $f0
/* 1A4700 80275E20 00000000 */ nop
/* 1A4704 80275E24 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A4708 80275E28 46166302 */ mul.s $f12, $f12, $f22
/* 1A470C 80275E2C 00000000 */ nop
/* 1A4710 80275E30 3C01802A */ lui $at, 0x802a
/* 1A4714 80275E34 D420D930 */ ldc1 $f0, -0x26d0($at)
/* 1A4718 80275E38 460010A1 */ cvt.d.s $f2, $f2
/* 1A471C 80275E3C 46201083 */ div.d $f2, $f2, $f0
/* 1A4720 80275E40 4622A500 */ add.d $f20, $f20, $f2
/* 1A4724 80275E44 46186303 */ div.s $f12, $f12, $f24
/* 1A4728 80275E48 4620A520 */ cvt.s.d $f20, $f20
/* 1A472C 80275E4C 0C00A85B */ jal sin_rad
/* 1A4730 80275E50 E6140000 */ swc1 $f20, ($s0)
/* 1A4734 80275E54 C6020050 */ lwc1 $f2, 0x50($s0)
/* 1A4738 80275E58 46001082 */ mul.s $f2, $f2, $f0
/* 1A473C 80275E5C 00000000 */ nop
/* 1A4740 80275E60 C60C0024 */ lwc1 $f12, 0x24($s0)
/* 1A4744 80275E64 C6000028 */ lwc1 $f0, 0x28($s0)
/* 1A4748 80275E68 46006300 */ add.s $f12, $f12, $f0
/* 1A474C 80275E6C C6000004 */ lwc1 $f0, 4($s0)
/* 1A4750 80275E70 46020001 */ sub.s $f0, $f0, $f2
/* 1A4754 80275E74 E60C0024 */ swc1 $f12, 0x24($s0)
/* 1A4758 80275E78 0C00A6C9 */ jal clamp_angle
/* 1A475C 80275E7C E6000004 */ swc1 $f0, 4($s0)
/* 1A4760 80275E80 C6020000 */ lwc1 $f2, ($s0)
/* 1A4764 80275E84 E6000024 */ swc1 $f0, 0x24($s0)
/* 1A4768 80275E88 E6420144 */ swc1 $f2, 0x144($s2)
/* 1A476C 80275E8C C6000004 */ lwc1 $f0, 4($s0)
/* 1A4770 80275E90 E6400148 */ swc1 $f0, 0x148($s2)
/* 1A4774 80275E94 C6000008 */ lwc1 $f0, 8($s0)
/* 1A4778 80275E98 E640014C */ swc1 $f0, 0x14c($s2)
/* 1A477C 80275E9C 3C02800E */ lui $v0, %hi(gBattleStatus)
/* 1A4780 80275EA0 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0)
/* 1A4784 80275EA4 30422000 */ andi $v0, $v0, 0x2000
/* 1A4788 80275EA8 10400003 */ beqz $v0, .L80275EB8
/* 1A478C 80275EAC 00000000 */ nop
.L80275EB0:
/* 1A4790 80275EB0 0809D7B5 */ j .L80275ED4
/* 1A4794 80275EB4 24020002 */ addiu $v0, $zero, 2
.L80275EB8:
/* 1A4798 80275EB8 96030064 */ lhu $v1, 0x64($s0)
/* 1A479C 80275EBC 2463FFFF */ addiu $v1, $v1, -1
/* 1A47A0 80275EC0 A6030064 */ sh $v1, 0x64($s0)
/* 1A47A4 80275EC4 00031C00 */ sll $v1, $v1, 0x10
/* 1A47A8 80275EC8 10600002 */ beqz $v1, .L80275ED4
/* 1A47AC 80275ECC 24020001 */ addiu $v0, $zero, 1
.L80275ED0:
/* 1A47B0 80275ED0 0000102D */ daddu $v0, $zero, $zero
.L80275ED4:
/* 1A47B4 80275ED4 8FBF0028 */ lw $ra, 0x28($sp)
/* 1A47B8 80275ED8 8FB30024 */ lw $s3, 0x24($sp)
/* 1A47BC 80275EDC 8FB20020 */ lw $s2, 0x20($sp)
/* 1A47C0 80275EE0 8FB1001C */ lw $s1, 0x1c($sp)
/* 1A47C4 80275EE4 8FB00018 */ lw $s0, 0x18($sp)
/* 1A47C8 80275EE8 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 1A47CC 80275EEC D7B80040 */ ldc1 $f24, 0x40($sp)
/* 1A47D0 80275EF0 D7B60038 */ ldc1 $f22, 0x38($sp)
/* 1A47D4 80275EF4 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 1A47D8 80275EF8 03E00008 */ jr $ra
/* 1A47DC 80275EFC 27BD0050 */ addiu $sp, $sp, 0x50