.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80274A18 /* 1A32F8 80274A18 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 1A32FC 80274A1C AFB30024 */ sw $s3, 0x24($sp) /* 1A3300 80274A20 0080982D */ daddu $s3, $a0, $zero /* 1A3304 80274A24 AFB40028 */ sw $s4, 0x28($sp) /* 1A3308 80274A28 3C14800E */ lui $s4, %hi(gBattleStatus) /* 1A330C 80274A2C 2694C070 */ addiu $s4, $s4, %lo(gBattleStatus) /* 1A3310 80274A30 AFBF002C */ sw $ra, 0x2c($sp) /* 1A3314 80274A34 AFB20020 */ sw $s2, 0x20($sp) /* 1A3318 80274A38 AFB1001C */ sw $s1, 0x1c($sp) /* 1A331C 80274A3C AFB00018 */ sw $s0, 0x18($sp) /* 1A3320 80274A40 F7BA0048 */ sdc1 $f26, 0x48($sp) /* 1A3324 80274A44 F7B80040 */ sdc1 $f24, 0x40($sp) /* 1A3328 80274A48 F7B60038 */ sdc1 $f22, 0x38($sp) /* 1A332C 80274A4C F7B40030 */ sdc1 $f20, 0x30($sp) /* 1A3330 80274A50 8E9200D8 */ lw $s2, 0xd8($s4) /* 1A3334 80274A54 8E71000C */ lw $s1, 0xc($s3) /* 1A3338 80274A58 10A00010 */ beqz $a1, .L80274A9C /* 1A333C 80274A5C 2650000C */ addiu $s0, $s2, 0xc /* 1A3340 80274A60 8E250000 */ lw $a1, ($s1) /* 1A3344 80274A64 0C0B1EAF */ jal get_variable /* 1A3348 80274A68 26310004 */ addiu $s1, $s1, 4 /* 1A334C 80274A6C A6420070 */ sh $v0, 0x70($s2) /* 1A3350 80274A70 8E250000 */ lw $a1, ($s1) /* 1A3354 80274A74 0C0B1EAF */ jal get_variable /* 1A3358 80274A78 0260202D */ daddu $a0, $s3, $zero /* 1A335C 80274A7C A6420072 */ sh $v0, 0x72($s2) /* 1A3360 80274A80 AE600074 */ sw $zero, 0x74($s3) /* 1A3364 80274A84 AE600070 */ sw $zero, 0x70($s3) /* 1A3368 80274A88 86430072 */ lh $v1, 0x72($s2) /* 1A336C 80274A8C 24020001 */ addiu $v0, $zero, 1 /* 1A3370 80274A90 14620002 */ bne $v1, $v0, .L80274A9C /* 1A3374 80274A94 24020002 */ addiu $v0, $zero, 2 /* 1A3378 80274A98 AE620070 */ sw $v0, 0x70($s3) .L80274A9C: /* 1A337C 80274A9C 8E620070 */ lw $v0, 0x70($s3) /* 1A3380 80274AA0 144000FC */ bnez $v0, .L80274E94 /* 1A3384 80274AA4 00000000 */ nop /* 1A3388 80274AA8 C6400144 */ lwc1 $f0, 0x144($s2) /* 1A338C 80274AAC C618000C */ lwc1 $f24, 0xc($s0) /* 1A3390 80274AB0 C61A0014 */ lwc1 $f26, 0x14($s0) /* 1A3394 80274AB4 E6000000 */ swc1 $f0, ($s0) /* 1A3398 80274AB8 C6400148 */ lwc1 $f0, 0x148($s2) /* 1A339C 80274ABC 4406C000 */ mfc1 $a2, $f24 /* 1A33A0 80274AC0 4407D000 */ mfc1 $a3, $f26 /* 1A33A4 80274AC4 C6160000 */ lwc1 $f22, ($s0) /* 1A33A8 80274AC8 E6000004 */ swc1 $f0, 4($s0) /* 1A33AC 80274ACC C654014C */ lwc1 $f20, 0x14c($s2) /* 1A33B0 80274AD0 4600B306 */ mov.s $f12, $f22 /* 1A33B4 80274AD4 4600A386 */ mov.s $f14, $f20 /* 1A33B8 80274AD8 0C00A720 */ jal atan2 /* 1A33BC 80274ADC E6140008 */ swc1 $f20, 8($s0) /* 1A33C0 80274AE0 4600B306 */ mov.s $f12, $f22 /* 1A33C4 80274AE4 4406C000 */ mfc1 $a2, $f24 /* 1A33C8 80274AE8 4407D000 */ mfc1 $a3, $f26 /* 1A33CC 80274AEC 4600A386 */ mov.s $f14, $f20 /* 1A33D0 80274AF0 0C00A7B5 */ jal dist2D /* 1A33D4 80274AF4 E6000048 */ swc1 $f0, 0x48($s0) /* 1A33D8 80274AF8 86020064 */ lh $v0, 0x64($s0) /* 1A33DC 80274AFC 46000106 */ mov.s $f4, $f0 /* 1A33E0 80274B00 14400012 */ bnez $v0, .L80274B4C /* 1A33E4 80274B04 E604004C */ swc1 $f4, 0x4c($s0) /* 1A33E8 80274B08 C6000040 */ lwc1 $f0, 0x40($s0) /* 1A33EC 80274B0C C6020040 */ lwc1 $f2, 0x40($s0) /* 1A33F0 80274B10 46002003 */ div.s $f0, $f4, $f0 /* 1A33F4 80274B14 4600028D */ trunc.w.s $f10, $f0 /* 1A33F8 80274B18 44035000 */ mfc1 $v1, $f10 /* 1A33FC 80274B1C 00000000 */ nop /* 1A3400 80274B20 00031400 */ sll $v0, $v1, 0x10 /* 1A3404 80274B24 00021403 */ sra $v0, $v0, 0x10 /* 1A3408 80274B28 44820000 */ mtc1 $v0, $f0 /* 1A340C 80274B2C 00000000 */ nop /* 1A3410 80274B30 46800020 */ cvt.s.w $f0, $f0 /* 1A3414 80274B34 46020002 */ mul.s $f0, $f0, $f2 /* 1A3418 80274B38 00000000 */ nop /* 1A341C 80274B3C 46002086 */ mov.s $f2, $f4 /* 1A3420 80274B40 A6030064 */ sh $v1, 0x64($s0) /* 1A3424 80274B44 0809D2E0 */ j .L80274B80 /* 1A3428 80274B48 46001201 */ sub.s $f8, $f2, $f0 .L80274B4C: /* 1A342C 80274B4C 44821000 */ mtc1 $v0, $f2 /* 1A3430 80274B50 00000000 */ nop /* 1A3434 80274B54 468010A0 */ cvt.s.w $f2, $f2 /* 1A3438 80274B58 86020064 */ lh $v0, 0x64($s0) /* 1A343C 80274B5C 46022083 */ div.s $f2, $f4, $f2 /* 1A3440 80274B60 44820000 */ mtc1 $v0, $f0 /* 1A3444 80274B64 00000000 */ nop /* 1A3448 80274B68 46800020 */ cvt.s.w $f0, $f0 /* 1A344C 80274B6C 46020002 */ mul.s $f0, $f0, $f2 /* 1A3450 80274B70 00000000 */ nop /* 1A3454 80274B74 C604004C */ lwc1 $f4, 0x4c($s0) /* 1A3458 80274B78 E6020040 */ swc1 $f2, 0x40($s0) /* 1A345C 80274B7C 46002201 */ sub.s $f8, $f4, $f0 .L80274B80: /* 1A3460 80274B80 86030064 */ lh $v1, 0x64($s0) /* 1A3464 80274B84 106001BD */ beqz $v1, .L8027527C /* 1A3468 80274B88 24020002 */ addiu $v0, $zero, 2 /* 1A346C 80274B8C 86020064 */ lh $v0, 0x64($s0) /* 1A3470 80274B90 C602000C */ lwc1 $f2, 0xc($s0) /* 1A3474 80274B94 3C014049 */ lui $at, 0x4049 /* 1A3478 80274B98 34210FD0 */ ori $at, $at, 0xfd0 /* 1A347C 80274B9C 44810000 */ mtc1 $at, $f0 /* 1A3480 80274BA0 C6040000 */ lwc1 $f4, ($s0) /* 1A3484 80274BA4 44823000 */ mtc1 $v0, $f6 /* 1A3488 80274BA8 00000000 */ nop /* 1A348C 80274BAC 468031A0 */ cvt.s.w $f6, $f6 /* 1A3490 80274BB0 46060003 */ div.s $f0, $f0, $f6 /* 1A3494 80274BB4 46041081 */ sub.s $f2, $f2, $f4 /* 1A3498 80274BB8 E600003C */ swc1 $f0, 0x3c($s0) /* 1A349C 80274BBC 44830000 */ mtc1 $v1, $f0 /* 1A34A0 80274BC0 00000000 */ nop /* 1A34A4 80274BC4 46800020 */ cvt.s.w $f0, $f0 /* 1A34A8 80274BC8 46001083 */ div.s $f2, $f2, $f0 /* 1A34AC 80274BCC C6000010 */ lwc1 $f0, 0x10($s0) /* 1A34B0 80274BD0 E6020030 */ swc1 $f2, 0x30($s0) /* 1A34B4 80274BD4 C6020004 */ lwc1 $f2, 4($s0) /* 1A34B8 80274BD8 AE000044 */ sw $zero, 0x44($s0) /* 1A34BC 80274BDC 46020001 */ sub.s $f0, $f0, $f2 /* 1A34C0 80274BE0 C6040014 */ lwc1 $f4, 0x14($s0) /* 1A34C4 80274BE4 46003086 */ mov.s $f2, $f6 /* 1A34C8 80274BE8 46020003 */ div.s $f0, $f0, $f2 /* 1A34CC 80274BEC E6000034 */ swc1 $f0, 0x34($s0) /* 1A34D0 80274BF0 46003006 */ mov.s $f0, $f6 /* 1A34D4 80274BF4 46004003 */ div.s $f0, $f8, $f0 /* 1A34D8 80274BF8 C6020008 */ lwc1 $f2, 8($s0) /* 1A34DC 80274BFC 86020066 */ lh $v0, 0x66($s0) /* 1A34E0 80274C00 46022101 */ sub.s $f4, $f4, $f2 /* 1A34E4 80274C04 C6020040 */ lwc1 $f2, 0x40($s0) /* 1A34E8 80274C08 28420003 */ slti $v0, $v0, 3 /* 1A34EC 80274C0C 46001080 */ add.s $f2, $f2, $f0 /* 1A34F0 80274C10 46062103 */ div.s $f4, $f4, $f6 /* 1A34F4 80274C14 E6040038 */ swc1 $f4, 0x38($s0) /* 1A34F8 80274C18 10400045 */ beqz $v0, .L80274D30 /* 1A34FC 80274C1C E6020040 */ swc1 $f2, 0x40($s0) /* 1A3500 80274C20 86020064 */ lh $v0, 0x64($s0) /* 1A3504 80274C24 24030168 */ addiu $v1, $zero, 0x168 /* 1A3508 80274C28 14400002 */ bnez $v0, .L80274C34 /* 1A350C 80274C2C 0062001A */ div $zero, $v1, $v0 /* 1A3510 80274C30 0007000D */ break 7 .L80274C34: /* 1A3514 80274C34 2401FFFF */ addiu $at, $zero, -1 /* 1A3518 80274C38 14410004 */ bne $v0, $at, .L80274C4C /* 1A351C 80274C3C 3C018000 */ lui $at, 0x8000 /* 1A3520 80274C40 14610002 */ bne $v1, $at, .L80274C4C /* 1A3524 80274C44 00000000 */ nop /* 1A3528 80274C48 0006000D */ break 6 .L80274C4C: /* 1A352C 80274C4C 00001812 */ mflo $v1 /* 1A3530 80274C50 C608004C */ lwc1 $f8, 0x4c($s0) /* 1A3534 80274C54 3C014034 */ lui $at, 0x4034 /* 1A3538 80274C58 44811800 */ mtc1 $at, $f3 /* 1A353C 80274C5C 44801000 */ mtc1 $zero, $f2 /* 1A3540 80274C60 46004021 */ cvt.d.s $f0, $f8 /* 1A3544 80274C64 46220001 */ sub.d $f0, $f0, $f2 /* 1A3548 80274C68 3C014018 */ lui $at, 0x4018 /* 1A354C 80274C6C 44811800 */ mtc1 $at, $f3 /* 1A3550 80274C70 44801000 */ mtc1 $zero, $f2 /* 1A3554 80274C74 46200220 */ cvt.s.d $f8, $f0 /* 1A3558 80274C78 46004021 */ cvt.d.s $f0, $f8 /* 1A355C 80274C7C 46220003 */ div.d $f0, $f0, $f2 /* 1A3560 80274C80 46200220 */ cvt.s.d $f8, $f0 /* 1A3564 80274C84 3C01802A */ lui $at, %hi(D_8029D8A0) /* 1A3568 80274C88 D422D8A0 */ ldc1 $f2, %lo(D_8029D8A0)($at) /* 1A356C 80274C8C 46004021 */ cvt.d.s $f0, $f8 /* 1A3570 80274C90 46220000 */ add.d $f0, $f0, $f2 /* 1A3574 80274C94 3C0142B4 */ lui $at, 0x42b4 /* 1A3578 80274C98 44811000 */ mtc1 $at, $f2 /* 1A357C 80274C9C 46200220 */ cvt.s.d $f8, $f0 /* 1A3580 80274CA0 44830000 */ mtc1 $v1, $f0 /* 1A3584 80274CA4 00000000 */ nop /* 1A3588 80274CA8 46800020 */ cvt.s.w $f0, $f0 /* 1A358C 80274CAC 86030066 */ lh $v1, 0x66($s0) /* 1A3590 80274CB0 24020002 */ addiu $v0, $zero, 2 /* 1A3594 80274CB4 E6020024 */ swc1 $f2, 0x24($s0) /* 1A3598 80274CB8 E6080050 */ swc1 $f8, 0x50($s0) /* 1A359C 80274CBC 14620008 */ bne $v1, $v0, .L80274CE0 /* 1A35A0 80274CC0 E6000028 */ swc1 $f0, 0x28($s0) /* 1A35A4 80274CC4 3C01802A */ lui $at, %hi(D_8029D8A8) /* 1A35A8 80274CC8 D422D8A8 */ ldc1 $f2, %lo(D_8029D8A8)($at) /* 1A35AC 80274CCC 46004021 */ cvt.d.s $f0, $f8 /* 1A35B0 80274CD0 46220002 */ mul.d $f0, $f0, $f2 /* 1A35B4 80274CD4 00000000 */ nop /* 1A35B8 80274CD8 46200020 */ cvt.s.d $f0, $f0 /* 1A35BC 80274CDC E6000050 */ swc1 $f0, 0x50($s0) .L80274CE0: /* 1A35C0 80274CE0 C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A35C4 80274CE4 3C0140C9 */ lui $at, 0x40c9 /* 1A35C8 80274CE8 34210FD0 */ ori $at, $at, 0xfd0 /* 1A35CC 80274CEC 44810000 */ mtc1 $at, $f0 /* 1A35D0 80274CF0 C6140044 */ lwc1 $f20, 0x44($s0) /* 1A35D4 80274CF4 C616003C */ lwc1 $f22, 0x3c($s0) /* 1A35D8 80274CF8 AE000018 */ sw $zero, 0x18($s0) /* 1A35DC 80274CFC 46006302 */ mul.s $f12, $f12, $f0 /* 1A35E0 80274D00 00000000 */ nop /* 1A35E4 80274D04 AE00001C */ sw $zero, 0x1c($s0) /* 1A35E8 80274D08 4600A521 */ cvt.d.s $f20, $f20 /* 1A35EC 80274D0C 3C0143B4 */ lui $at, 0x43b4 /* 1A35F0 80274D10 44810000 */ mtc1 $at, $f0 /* 1A35F4 80274D14 4600B5A1 */ cvt.d.s $f22, $f22 /* 1A35F8 80274D18 0C00A85B */ jal sin_rad /* 1A35FC 80274D1C 46006303 */ div.s $f12, $f12, $f0 /* 1A3600 80274D20 3C01802A */ lui $at, %hi(D_8029D8B0) /* 1A3604 80274D24 D422D8B0 */ ldc1 $f2, %lo(D_8029D8B0)($at) /* 1A3608 80274D28 0809D390 */ j .L80274E40 /* 1A360C 80274D2C 46000021 */ cvt.d.s $f0, $f0 .L80274D30: /* 1A3610 80274D30 86020064 */ lh $v0, 0x64($s0) /* 1A3614 80274D34 24030168 */ addiu $v1, $zero, 0x168 /* 1A3618 80274D38 14400002 */ bnez $v0, .L80274D44 /* 1A361C 80274D3C 0062001A */ div $zero, $v1, $v0 /* 1A3620 80274D40 0007000D */ break 7 .L80274D44: /* 1A3624 80274D44 2401FFFF */ addiu $at, $zero, -1 /* 1A3628 80274D48 14410004 */ bne $v0, $at, .L80274D5C /* 1A362C 80274D4C 3C018000 */ lui $at, 0x8000 /* 1A3630 80274D50 14610002 */ bne $v1, $at, .L80274D5C /* 1A3634 80274D54 00000000 */ nop /* 1A3638 80274D58 0006000D */ break 6 .L80274D5C: /* 1A363C 80274D5C 00001812 */ mflo $v1 /* 1A3640 80274D60 C608004C */ lwc1 $f8, 0x4c($s0) /* 1A3644 80274D64 3C014034 */ lui $at, 0x4034 /* 1A3648 80274D68 44811800 */ mtc1 $at, $f3 /* 1A364C 80274D6C 44801000 */ mtc1 $zero, $f2 /* 1A3650 80274D70 46004021 */ cvt.d.s $f0, $f8 /* 1A3654 80274D74 46220001 */ sub.d $f0, $f0, $f2 /* 1A3658 80274D78 3C014018 */ lui $at, 0x4018 /* 1A365C 80274D7C 44811800 */ mtc1 $at, $f3 /* 1A3660 80274D80 44801000 */ mtc1 $zero, $f2 /* 1A3664 80274D84 46200220 */ cvt.s.d $f8, $f0 /* 1A3668 80274D88 46004021 */ cvt.d.s $f0, $f8 /* 1A366C 80274D8C 46220003 */ div.d $f0, $f0, $f2 /* 1A3670 80274D90 46200220 */ cvt.s.d $f8, $f0 /* 1A3674 80274D94 3C01802A */ lui $at, %hi(D_8029D8B8) /* 1A3678 80274D98 D422D8B8 */ ldc1 $f2, %lo(D_8029D8B8)($at) /* 1A367C 80274D9C 46004021 */ cvt.d.s $f0, $f8 /* 1A3680 80274DA0 46220000 */ add.d $f0, $f0, $f2 /* 1A3684 80274DA4 3C0142B4 */ lui $at, 0x42b4 /* 1A3688 80274DA8 44811000 */ mtc1 $at, $f2 /* 1A368C 80274DAC 46200220 */ cvt.s.d $f8, $f0 /* 1A3690 80274DB0 44830000 */ mtc1 $v1, $f0 /* 1A3694 80274DB4 00000000 */ nop /* 1A3698 80274DB8 46800020 */ cvt.s.w $f0, $f0 /* 1A369C 80274DBC 86030066 */ lh $v1, 0x66($s0) /* 1A36A0 80274DC0 24020004 */ addiu $v0, $zero, 4 /* 1A36A4 80274DC4 E6020024 */ swc1 $f2, 0x24($s0) /* 1A36A8 80274DC8 E6080050 */ swc1 $f8, 0x50($s0) /* 1A36AC 80274DCC 14620009 */ bne $v1, $v0, .L80274DF4 /* 1A36B0 80274DD0 E6000028 */ swc1 $f0, 0x28($s0) /* 1A36B4 80274DD4 3C013FF4 */ lui $at, 0x3ff4 /* 1A36B8 80274DD8 44811800 */ mtc1 $at, $f3 /* 1A36BC 80274DDC 44801000 */ mtc1 $zero, $f2 /* 1A36C0 80274DE0 46004021 */ cvt.d.s $f0, $f8 /* 1A36C4 80274DE4 46220002 */ mul.d $f0, $f0, $f2 /* 1A36C8 80274DE8 00000000 */ nop /* 1A36CC 80274DEC 46200020 */ cvt.s.d $f0, $f0 /* 1A36D0 80274DF0 E6000050 */ swc1 $f0, 0x50($s0) .L80274DF4: /* 1A36D4 80274DF4 C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A36D8 80274DF8 3C0140C9 */ lui $at, 0x40c9 /* 1A36DC 80274DFC 34210FD0 */ ori $at, $at, 0xfd0 /* 1A36E0 80274E00 44810000 */ mtc1 $at, $f0 /* 1A36E4 80274E04 C6140044 */ lwc1 $f20, 0x44($s0) /* 1A36E8 80274E08 C616003C */ lwc1 $f22, 0x3c($s0) /* 1A36EC 80274E0C AE000018 */ sw $zero, 0x18($s0) /* 1A36F0 80274E10 46006302 */ mul.s $f12, $f12, $f0 /* 1A36F4 80274E14 00000000 */ nop /* 1A36F8 80274E18 AE00001C */ sw $zero, 0x1c($s0) /* 1A36FC 80274E1C 4600A521 */ cvt.d.s $f20, $f20 /* 1A3700 80274E20 3C0143B4 */ lui $at, 0x43b4 /* 1A3704 80274E24 44810000 */ mtc1 $at, $f0 /* 1A3708 80274E28 4600B5A1 */ cvt.d.s $f22, $f22 /* 1A370C 80274E2C 0C00A85B */ jal sin_rad /* 1A3710 80274E30 46006303 */ div.s $f12, $f12, $f0 /* 1A3714 80274E34 3C01802A */ lui $at, %hi(D_8029D8C0) /* 1A3718 80274E38 D422D8C0 */ ldc1 $f2, %lo(D_8029D8C0)($at) /* 1A371C 80274E3C 46000021 */ cvt.d.s $f0, $f0 .L80274E40: /* 1A3720 80274E40 46220002 */ mul.d $f0, $f0, $f2 /* 1A3724 80274E44 00000000 */ nop /* 1A3728 80274E48 46360002 */ mul.d $f0, $f0, $f22 /* 1A372C 80274E4C 00000000 */ nop /* 1A3730 80274E50 46360000 */ add.d $f0, $f0, $f22 /* 1A3734 80274E54 4620A500 */ add.d $f20, $f20, $f0 /* 1A3738 80274E58 4620A520 */ cvt.s.d $f20, $f20 /* 1A373C 80274E5C E6140044 */ swc1 $f20, 0x44($s0) /* 1A3740 80274E60 0000202D */ daddu $a0, $zero, $zero /* 1A3744 80274E64 8E060058 */ lw $a2, 0x58($s0) /* 1A3748 80274E68 0C098F3F */ jal set_animation /* 1A374C 80274E6C 0080282D */ daddu $a1, $a0, $zero /* 1A3750 80274E70 C640014C */ lwc1 $f0, 0x14c($s2) /* 1A3754 80274E74 24040160 */ addiu $a0, $zero, 0x160 /* 1A3758 80274E78 E7A00010 */ swc1 $f0, 0x10($sp) /* 1A375C 80274E7C 8E460144 */ lw $a2, 0x144($s2) /* 1A3760 80274E80 8E470148 */ lw $a3, 0x148($s2) /* 1A3764 80274E84 0C052757 */ jal play_sound_at_position /* 1A3768 80274E88 0000282D */ daddu $a1, $zero, $zero /* 1A376C 80274E8C 24020001 */ addiu $v0, $zero, 1 /* 1A3770 80274E90 AE620070 */ sw $v0, 0x70($s3) .L80274E94: /* 1A3774 80274E94 8E630070 */ lw $v1, 0x70($s3) /* 1A3778 80274E98 24020002 */ addiu $v0, $zero, 2 /* 1A377C 80274E9C 10620089 */ beq $v1, $v0, .L802750C4 /* 1A3780 80274EA0 28620003 */ slti $v0, $v1, 3 /* 1A3784 80274EA4 10400005 */ beqz $v0, .L80274EBC /* 1A3788 80274EA8 24020001 */ addiu $v0, $zero, 1 /* 1A378C 80274EAC 10620008 */ beq $v1, $v0, .L80274ED0 /* 1A3790 80274EB0 0000102D */ daddu $v0, $zero, $zero /* 1A3794 80274EB4 0809D49F */ j .L8027527C /* 1A3798 80274EB8 00000000 */ nop .L80274EBC: /* 1A379C 80274EBC 24020003 */ addiu $v0, $zero, 3 /* 1A37A0 80274EC0 106200B2 */ beq $v1, $v0, .L8027518C /* 1A37A4 80274EC4 0000102D */ daddu $v0, $zero, $zero /* 1A37A8 80274EC8 0809D49F */ j .L8027527C /* 1A37AC 80274ECC 00000000 */ nop .L80274ED0: /* 1A37B0 80274ED0 C6020044 */ lwc1 $f2, 0x44($s0) /* 1A37B4 80274ED4 3C013FC9 */ lui $at, 0x3fc9 /* 1A37B8 80274ED8 34210FD0 */ ori $at, $at, 0xfd0 /* 1A37BC 80274EDC 44810000 */ mtc1 $at, $f0 /* 1A37C0 80274EE0 00000000 */ nop /* 1A37C4 80274EE4 4602003C */ c.lt.s $f0, $f2 /* 1A37C8 80274EE8 00000000 */ nop /* 1A37CC 80274EEC 45000004 */ bc1f .L80274F00 /* 1A37D0 80274EF0 0000202D */ daddu $a0, $zero, $zero /* 1A37D4 80274EF4 8E06005C */ lw $a2, 0x5c($s0) /* 1A37D8 80274EF8 0C098F3F */ jal set_animation /* 1A37DC 80274EFC 0080282D */ daddu $a1, $a0, $zero .L80274F00: /* 1A37E0 80274F00 C6060000 */ lwc1 $f6, ($s0) /* 1A37E4 80274F04 C6000030 */ lwc1 $f0, 0x30($s0) /* 1A37E8 80274F08 C6040004 */ lwc1 $f4, 4($s0) /* 1A37EC 80274F0C 46003180 */ add.s $f6, $f6, $f0 /* 1A37F0 80274F10 C6000034 */ lwc1 $f0, 0x34($s0) /* 1A37F4 80274F14 C6020008 */ lwc1 $f2, 8($s0) /* 1A37F8 80274F18 46002100 */ add.s $f4, $f4, $f0 /* 1A37FC 80274F1C C6000038 */ lwc1 $f0, 0x38($s0) /* 1A3800 80274F20 46001080 */ add.s $f2, $f2, $f0 /* 1A3804 80274F24 E6060000 */ swc1 $f6, ($s0) /* 1A3808 80274F28 E6040004 */ swc1 $f4, 4($s0) /* 1A380C 80274F2C E6020008 */ swc1 $f2, 8($s0) /* 1A3810 80274F30 C6400148 */ lwc1 $f0, 0x148($s2) /* 1A3814 80274F34 46003086 */ mov.s $f2, $f6 /* 1A3818 80274F38 E6000018 */ swc1 $f0, 0x18($s0) /* 1A381C 80274F3C E6420144 */ swc1 $f2, 0x144($s2) /* 1A3820 80274F40 0C00A85B */ jal sin_rad /* 1A3824 80274F44 C60C0044 */ lwc1 $f12, 0x44($s0) /* 1A3828 80274F48 C6020050 */ lwc1 $f2, 0x50($s0) /* 1A382C 80274F4C 46001082 */ mul.s $f2, $f2, $f0 /* 1A3830 80274F50 00000000 */ nop /* 1A3834 80274F54 C6000004 */ lwc1 $f0, 4($s0) /* 1A3838 80274F58 46020000 */ add.s $f0, $f0, $f2 /* 1A383C 80274F5C E6400148 */ swc1 $f0, 0x148($s2) /* 1A3840 80274F60 C6000008 */ lwc1 $f0, 8($s0) /* 1A3844 80274F64 E640014C */ swc1 $f0, 0x14c($s2) /* 1A3848 80274F68 C6020010 */ lwc1 $f2, 0x10($s0) /* 1A384C 80274F6C C6400148 */ lwc1 $f0, 0x148($s2) /* 1A3850 80274F70 4602003C */ c.lt.s $f0, $f2 /* 1A3854 80274F74 00000000 */ nop /* 1A3858 80274F78 45000005 */ bc1f .L80274F90 /* 1A385C 80274F7C 00000000 */ nop /* 1A3860 80274F80 86020064 */ lh $v0, 0x64($s0) /* 1A3864 80274F84 28420003 */ slti $v0, $v0, 3 /* 1A3868 80274F88 54400001 */ bnel $v0, $zero, .L80274F90 /* 1A386C 80274F8C E6420148 */ swc1 $f2, 0x148($s2) .L80274F90: /* 1A3870 80274F90 86020066 */ lh $v0, 0x66($s0) /* 1A3874 80274F94 C6400148 */ lwc1 $f0, 0x148($s2) /* 1A3878 80274F98 28420003 */ slti $v0, $v0, 3 /* 1A387C 80274F9C 10400013 */ beqz $v0, .L80274FEC /* 1A3880 80274FA0 E600001C */ swc1 $f0, 0x1c($s0) /* 1A3884 80274FA4 C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A3888 80274FA8 3C0140C9 */ lui $at, 0x40c9 /* 1A388C 80274FAC 34210FD0 */ ori $at, $at, 0xfd0 /* 1A3890 80274FB0 44810000 */ mtc1 $at, $f0 /* 1A3894 80274FB4 C6140044 */ lwc1 $f20, 0x44($s0) /* 1A3898 80274FB8 46006302 */ mul.s $f12, $f12, $f0 /* 1A389C 80274FBC 00000000 */ nop /* 1A38A0 80274FC0 C616003C */ lwc1 $f22, 0x3c($s0) /* 1A38A4 80274FC4 4600A521 */ cvt.d.s $f20, $f20 /* 1A38A8 80274FC8 3C0143B4 */ lui $at, 0x43b4 /* 1A38AC 80274FCC 44810000 */ mtc1 $at, $f0 /* 1A38B0 80274FD0 4600B5A1 */ cvt.d.s $f22, $f22 /* 1A38B4 80274FD4 0C00A85B */ jal sin_rad /* 1A38B8 80274FD8 46006303 */ div.s $f12, $f12, $f0 /* 1A38BC 80274FDC 3C01802A */ lui $at, %hi(D_8029D8C8) /* 1A38C0 80274FE0 D422D8C8 */ ldc1 $f2, %lo(D_8029D8C8)($at) /* 1A38C4 80274FE4 0809D40C */ j .L80275030 /* 1A38C8 80274FE8 46000021 */ cvt.d.s $f0, $f0 .L80274FEC: /* 1A38CC 80274FEC C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A38D0 80274FF0 3C0140C9 */ lui $at, 0x40c9 /* 1A38D4 80274FF4 34210FD0 */ ori $at, $at, 0xfd0 /* 1A38D8 80274FF8 44810000 */ mtc1 $at, $f0 /* 1A38DC 80274FFC C6140044 */ lwc1 $f20, 0x44($s0) /* 1A38E0 80275000 46006302 */ mul.s $f12, $f12, $f0 /* 1A38E4 80275004 00000000 */ nop /* 1A38E8 80275008 C616003C */ lwc1 $f22, 0x3c($s0) /* 1A38EC 8027500C 4600A521 */ cvt.d.s $f20, $f20 /* 1A38F0 80275010 3C0143B4 */ lui $at, 0x43b4 /* 1A38F4 80275014 44810000 */ mtc1 $at, $f0 /* 1A38F8 80275018 4600B5A1 */ cvt.d.s $f22, $f22 /* 1A38FC 8027501C 0C00A85B */ jal sin_rad /* 1A3900 80275020 46006303 */ div.s $f12, $f12, $f0 /* 1A3904 80275024 3C01802A */ lui $at, %hi(D_8029D8D0) /* 1A3908 80275028 D422D8D0 */ ldc1 $f2, %lo(D_8029D8D0)($at) /* 1A390C 8027502C 46000021 */ cvt.d.s $f0, $f0 .L80275030: /* 1A3910 80275030 46220002 */ mul.d $f0, $f0, $f2 /* 1A3914 80275034 00000000 */ nop /* 1A3918 80275038 46360002 */ mul.d $f0, $f0, $f22 /* 1A391C 8027503C 00000000 */ nop /* 1A3920 80275040 46360000 */ add.d $f0, $f0, $f22 /* 1A3924 80275044 4620A500 */ add.d $f20, $f20, $f0 /* 1A3928 80275048 4620A520 */ cvt.s.d $f20, $f20 /* 1A392C 8027504C E6140044 */ swc1 $f20, 0x44($s0) /* 1A3930 80275050 C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A3934 80275054 C6000028 */ lwc1 $f0, 0x28($s0) /* 1A3938 80275058 46006300 */ add.s $f12, $f12, $f0 /* 1A393C 8027505C 0C00A6C9 */ jal clamp_angle /* 1A3940 80275060 E60C0024 */ swc1 $f12, 0x24($s0) /* 1A3944 80275064 96020064 */ lhu $v0, 0x64($s0) /* 1A3948 80275068 E6000024 */ swc1 $f0, 0x24($s0) /* 1A394C 8027506C 2442FFFF */ addiu $v0, $v0, -1 /* 1A3950 80275070 A6020064 */ sh $v0, 0x64($s0) /* 1A3954 80275074 00021400 */ sll $v0, $v0, 0x10 /* 1A3958 80275078 14400080 */ bnez $v0, .L8027527C /* 1A395C 8027507C 0000102D */ daddu $v0, $zero, $zero /* 1A3960 80275080 C6000010 */ lwc1 $f0, 0x10($s0) /* 1A3964 80275084 0000202D */ daddu $a0, $zero, $zero /* 1A3968 80275088 E6400148 */ swc1 $f0, 0x148($s2) /* 1A396C 8027508C C6000018 */ lwc1 $f0, 0x18($s0) /* 1A3970 80275090 C602001C */ lwc1 $f2, 0x1c($s0) /* 1A3974 80275094 8E060060 */ lw $a2, 0x60($s0) /* 1A3978 80275098 46020001 */ sub.s $f0, $f0, $f2 /* 1A397C 8027509C 3C013FE6 */ lui $at, 0x3fe6 /* 1A3980 802750A0 34216666 */ ori $at, $at, 0x6666 /* 1A3984 802750A4 44811000 */ mtc1 $at, $f2 /* 1A3988 802750A8 0080282D */ daddu $a1, $a0, $zero /* 1A398C 802750AC E602003C */ swc1 $f2, 0x3c($s0) /* 1A3990 802750B0 46000007 */ neg.s $f0, $f0 /* 1A3994 802750B4 0C098F3F */ jal set_animation /* 1A3998 802750B8 E6000044 */ swc1 $f0, 0x44($s0) /* 1A399C 802750BC 0809D49F */ j .L8027527C /* 1A39A0 802750C0 24020001 */ addiu $v0, $zero, 1 .L802750C4: /* 1A39A4 802750C4 82820083 */ lb $v0, 0x83($s4) /* 1A39A8 802750C8 10400063 */ beqz $v0, .L80275258 /* 1A39AC 802750CC 24020001 */ addiu $v0, $zero, 1 /* 1A39B0 802750D0 A6020064 */ sh $v0, 0x64($s0) /* 1A39B4 802750D4 86020064 */ lh $v0, 0x64($s0) /* 1A39B8 802750D8 24030168 */ addiu $v1, $zero, 0x168 /* 1A39BC 802750DC 14400002 */ bnez $v0, .L802750E8 /* 1A39C0 802750E0 0062001A */ div $zero, $v1, $v0 /* 1A39C4 802750E4 0007000D */ break 7 .L802750E8: /* 1A39C8 802750E8 2401FFFF */ addiu $at, $zero, -1 /* 1A39CC 802750EC 14410004 */ bne $v0, $at, .L80275100 /* 1A39D0 802750F0 3C018000 */ lui $at, 0x8000 /* 1A39D4 802750F4 14610002 */ bne $v1, $at, .L80275100 /* 1A39D8 802750F8 00000000 */ nop /* 1A39DC 802750FC 0006000D */ break 6 .L80275100: /* 1A39E0 80275100 00001812 */ mflo $v1 /* 1A39E4 80275104 C6020018 */ lwc1 $f2, 0x18($s0) /* 1A39E8 80275108 C600001C */ lwc1 $f0, 0x1c($s0) /* 1A39EC 8027510C 3C013FE6 */ lui $at, 0x3fe6 /* 1A39F0 80275110 34216666 */ ori $at, $at, 0x6666 /* 1A39F4 80275114 44814000 */ mtc1 $at, $f8 /* 1A39F8 80275118 C604001C */ lwc1 $f4, 0x1c($s0) /* 1A39FC 8027511C 46001081 */ sub.s $f2, $f2, $f0 /* 1A3A00 80275120 C6000018 */ lwc1 $f0, 0x18($s0) /* 1A3A04 80275124 3C0142B4 */ lui $at, 0x42b4 /* 1A3A08 80275128 44813000 */ mtc1 $at, $f6 /* 1A3A0C 8027512C 46040001 */ sub.s $f0, $f0, $f4 /* 1A3A10 80275130 E608003C */ swc1 $f8, 0x3c($s0) /* 1A3A14 80275134 E6060024 */ swc1 $f6, 0x24($s0) /* 1A3A18 80275138 46001087 */ neg.s $f2, $f2 /* 1A3A1C 8027513C E6020044 */ swc1 $f2, 0x44($s0) /* 1A3A20 80275140 3C01802A */ lui $at, %hi(D_8029D8D8) /* 1A3A24 80275144 D422D8D8 */ ldc1 $f2, %lo(D_8029D8D8)($at) /* 1A3A28 80275148 46000005 */ abs.s $f0, $f0 /* 1A3A2C 8027514C 46000021 */ cvt.d.s $f0, $f0 /* 1A3A30 80275150 46220003 */ div.d $f0, $f0, $f2 /* 1A3A34 80275154 46200020 */ cvt.s.d $f0, $f0 /* 1A3A38 80275158 E6000050 */ swc1 $f0, 0x50($s0) /* 1A3A3C 8027515C 44830000 */ mtc1 $v1, $f0 /* 1A3A40 80275160 00000000 */ nop /* 1A3A44 80275164 46800020 */ cvt.s.w $f0, $f0 /* 1A3A48 80275168 E6000028 */ swc1 $f0, 0x28($s0) /* 1A3A4C 8027516C C6400144 */ lwc1 $f0, 0x144($s2) /* 1A3A50 80275170 E6000000 */ swc1 $f0, ($s0) /* 1A3A54 80275174 C6400148 */ lwc1 $f0, 0x148($s2) /* 1A3A58 80275178 E6000004 */ swc1 $f0, 4($s0) /* 1A3A5C 8027517C C640014C */ lwc1 $f0, 0x14c($s2) /* 1A3A60 80275180 24020003 */ addiu $v0, $zero, 3 /* 1A3A64 80275184 E6000008 */ swc1 $f0, 8($s0) /* 1A3A68 80275188 AE620070 */ sw $v0, 0x70($s3) .L8027518C: /* 1A3A6C 8027518C C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A3A70 80275190 3C0140C9 */ lui $at, 0x40c9 /* 1A3A74 80275194 34210FD0 */ ori $at, $at, 0xfd0 /* 1A3A78 80275198 4481B000 */ mtc1 $at, $f22 /* 1A3A7C 8027519C 00000000 */ nop /* 1A3A80 802751A0 46166302 */ mul.s $f12, $f12, $f22 /* 1A3A84 802751A4 00000000 */ nop /* 1A3A88 802751A8 C6140000 */ lwc1 $f20, ($s0) /* 1A3A8C 802751AC 3C0143B4 */ lui $at, 0x43b4 /* 1A3A90 802751B0 4481C000 */ mtc1 $at, $f24 /* 1A3A94 802751B4 4600A521 */ cvt.d.s $f20, $f20 /* 1A3A98 802751B8 0C00A85B */ jal sin_rad /* 1A3A9C 802751BC 46186303 */ div.s $f12, $f12, $f24 /* 1A3AA0 802751C0 C6020050 */ lwc1 $f2, 0x50($s0) /* 1A3AA4 802751C4 46001082 */ mul.s $f2, $f2, $f0 /* 1A3AA8 802751C8 00000000 */ nop /* 1A3AAC 802751CC C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A3AB0 802751D0 46166302 */ mul.s $f12, $f12, $f22 /* 1A3AB4 802751D4 00000000 */ nop /* 1A3AB8 802751D8 3C01802A */ lui $at, %hi(D_8029D8E0) /* 1A3ABC 802751DC D420D8E0 */ ldc1 $f0, %lo(D_8029D8E0)($at) /* 1A3AC0 802751E0 460010A1 */ cvt.d.s $f2, $f2 /* 1A3AC4 802751E4 46201083 */ div.d $f2, $f2, $f0 /* 1A3AC8 802751E8 4622A500 */ add.d $f20, $f20, $f2 /* 1A3ACC 802751EC 46186303 */ div.s $f12, $f12, $f24 /* 1A3AD0 802751F0 4620A520 */ cvt.s.d $f20, $f20 /* 1A3AD4 802751F4 0C00A85B */ jal sin_rad /* 1A3AD8 802751F8 E6140000 */ swc1 $f20, ($s0) /* 1A3ADC 802751FC C6020050 */ lwc1 $f2, 0x50($s0) /* 1A3AE0 80275200 46001082 */ mul.s $f2, $f2, $f0 /* 1A3AE4 80275204 00000000 */ nop /* 1A3AE8 80275208 C60C0024 */ lwc1 $f12, 0x24($s0) /* 1A3AEC 8027520C C6000028 */ lwc1 $f0, 0x28($s0) /* 1A3AF0 80275210 46006300 */ add.s $f12, $f12, $f0 /* 1A3AF4 80275214 C6000004 */ lwc1 $f0, 4($s0) /* 1A3AF8 80275218 46020001 */ sub.s $f0, $f0, $f2 /* 1A3AFC 8027521C E60C0024 */ swc1 $f12, 0x24($s0) /* 1A3B00 80275220 0C00A6C9 */ jal clamp_angle /* 1A3B04 80275224 E6000004 */ swc1 $f0, 4($s0) /* 1A3B08 80275228 C6020000 */ lwc1 $f2, ($s0) /* 1A3B0C 8027522C E6000024 */ swc1 $f0, 0x24($s0) /* 1A3B10 80275230 E6420144 */ swc1 $f2, 0x144($s2) /* 1A3B14 80275234 C6000004 */ lwc1 $f0, 4($s0) /* 1A3B18 80275238 E6400148 */ swc1 $f0, 0x148($s2) /* 1A3B1C 8027523C C6000008 */ lwc1 $f0, 8($s0) /* 1A3B20 80275240 E640014C */ swc1 $f0, 0x14c($s2) /* 1A3B24 80275244 3C02800E */ lui $v0, %hi(gBattleStatus) /* 1A3B28 80275248 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0) /* 1A3B2C 8027524C 30422000 */ andi $v0, $v0, 0x2000 /* 1A3B30 80275250 10400003 */ beqz $v0, .L80275260 /* 1A3B34 80275254 00000000 */ nop .L80275258: /* 1A3B38 80275258 0809D49F */ j .L8027527C /* 1A3B3C 8027525C 24020002 */ addiu $v0, $zero, 2 .L80275260: /* 1A3B40 80275260 96030064 */ lhu $v1, 0x64($s0) /* 1A3B44 80275264 2463FFFF */ addiu $v1, $v1, -1 /* 1A3B48 80275268 A6030064 */ sh $v1, 0x64($s0) /* 1A3B4C 8027526C 00031C00 */ sll $v1, $v1, 0x10 /* 1A3B50 80275270 10600002 */ beqz $v1, .L8027527C /* 1A3B54 80275274 24020001 */ addiu $v0, $zero, 1 /* 1A3B58 80275278 0000102D */ daddu $v0, $zero, $zero .L8027527C: /* 1A3B5C 8027527C 8FBF002C */ lw $ra, 0x2c($sp) /* 1A3B60 80275280 8FB40028 */ lw $s4, 0x28($sp) /* 1A3B64 80275284 8FB30024 */ lw $s3, 0x24($sp) /* 1A3B68 80275288 8FB20020 */ lw $s2, 0x20($sp) /* 1A3B6C 8027528C 8FB1001C */ lw $s1, 0x1c($sp) /* 1A3B70 80275290 8FB00018 */ lw $s0, 0x18($sp) /* 1A3B74 80275294 D7BA0048 */ ldc1 $f26, 0x48($sp) /* 1A3B78 80275298 D7B80040 */ ldc1 $f24, 0x40($sp) /* 1A3B7C 8027529C D7B60038 */ ldc1 $f22, 0x38($sp) /* 1A3B80 802752A0 D7B40030 */ ldc1 $f20, 0x30($sp) /* 1A3B84 802752A4 03E00008 */ jr $ra /* 1A3B88 802752A8 27BD0050 */ addiu $sp, $sp, 0x50