### RAW ASSEMBLY INSTRUCTIONS:

glabel func_80275F00
/* 1A47E0 80275F00 27BDFFB0 */  addiu     $sp, $sp, -0x50
/* 1A47E4 80275F04 AFB20020 */  sw        $s2, 0x20($sp)
/* 1A47E8 80275F08 3C12800E */  lui       $s2, %hi(gBattleStatus + 0xD8)
/* 1A47EC 80275F0C 8E52C148 */  lw        $s2, %lo(gBattleStatus + 0xD8)($s2)
/* 1A47F0 80275F10 AFB30024 */  sw        $s3, 0x24($sp)
/* 1A47F4 80275F14 0080982D */  daddu     $s3, $a0, $zero
/* 1A47F8 80275F18 AFBF0028 */  sw        $ra, 0x28($sp)
/* 1A47FC 80275F1C AFB1001C */  sw        $s1, 0x1C($sp)
/* 1A4800 80275F20 AFB00018 */  sw        $s0, 0x18($sp)
/* 1A4804 80275F24 F7BA0048 */  sdc1      $f26, 0x48($sp)
/* 1A4808 80275F28 F7B80040 */  sdc1      $f24, 0x40($sp)
/* 1A480C 80275F2C F7B60038 */  sdc1      $f22, 0x38($sp)
/* 1A4810 80275F30 F7B40030 */  sdc1      $f20, 0x30($sp)
/* 1A4814 80275F34 8E71000C */  lw        $s1, 0xC($s3)
/* 1A4818 80275F38 10A0001E */  beqz      $a1, .L80275FB4
/* 1A481C 80275F3C 2650000C */   addiu    $s0, $s2, 0xC
/* 1A4820 80275F40 8E250000 */  lw        $a1, 0x0($s1)
/* 1A4824 80275F44 0C0B1EAF */  jal       evt_get_variable
/* 1A4828 80275F48 26310004 */   addiu    $s1, $s1, 0x4
/* 1A482C 80275F4C A6420070 */  sh        $v0, 0x70($s2)
/* 1A4830 80275F50 8E250000 */  lw        $a1, 0x0($s1)
/* 1A4834 80275F54 0C0B1EAF */  jal       evt_get_variable
/* 1A4838 80275F58 0260202D */   daddu    $a0, $s3, $zero
/* 1A483C 80275F5C A6420072 */  sh        $v0, 0x72($s2)
/* 1A4840 80275F60 AE600074 */  sw        $zero, 0x74($s3)
/* 1A4844 80275F64 AE600070 */  sw        $zero, 0x70($s3)
/* 1A4848 80275F68 86430072 */  lh        $v1, 0x72($s2)
/* 1A484C 80275F6C 24020001 */  addiu     $v0, $zero, 0x1
/* 1A4850 80275F70 14620005 */  bne       $v1, $v0, .L80275F88
/* 1A4854 80275F74 24020003 */   addiu    $v0, $zero, 0x3
/* 1A4858 80275F78 2402000B */  addiu     $v0, $zero, 0xB
/* 1A485C 80275F7C AE620070 */  sw        $v0, 0x70($s3)
/* 1A4860 80275F80 86430072 */  lh        $v1, 0x72($s2)
/* 1A4864 80275F84 24020003 */  addiu     $v0, $zero, 0x3
.L80275F88:
/* 1A4868 80275F88 14620002 */  bne       $v1, $v0, .L80275F94
/* 1A486C 80275F8C 24020014 */   addiu    $v0, $zero, 0x14
/* 1A4870 80275F90 AE620070 */  sw        $v0, 0x70($s3)
.L80275F94:
/* 1A4874 80275F94 86430072 */  lh        $v1, 0x72($s2)
/* 1A4878 80275F98 24020002 */  addiu     $v0, $zero, 0x2
/* 1A487C 80275F9C 10620003 */  beq       $v1, $v0, .L80275FAC
/* 1A4880 80275FA0 24020004 */   addiu    $v0, $zero, 0x4
/* 1A4884 80275FA4 14620003 */  bne       $v1, $v0, .L80275FB4
/* 1A4888 80275FA8 00000000 */   nop
.L80275FAC:
/* 1A488C 80275FAC 2402001E */  addiu     $v0, $zero, 0x1E
/* 1A4890 80275FB0 AE620070 */  sw        $v0, 0x70($s3)
.L80275FB4:
/* 1A4894 80275FB4 8E630070 */  lw        $v1, 0x70($s3)
/* 1A4898 80275FB8 2402000A */  addiu     $v0, $zero, 0xA
/* 1A489C 80275FBC 106200BC */  beq       $v1, $v0, .L802762B0
/* 1A48A0 80275FC0 2862000B */   slti     $v0, $v1, 0xB
/* 1A48A4 80275FC4 10400005 */  beqz      $v0, .L80275FDC
/* 1A48A8 80275FC8 24020014 */   addiu    $v0, $zero, 0x14
/* 1A48AC 80275FCC 10600009 */  beqz      $v1, .L80275FF4
/* 1A48B0 80275FD0 00000000 */   nop
/* 1A48B4 80275FD4 0809DA2C */  j         .L802768B0
/* 1A48B8 80275FD8 00000000 */   nop
.L80275FDC:
/* 1A48BC 80275FDC 10620163 */  beq       $v1, $v0, .L8027656C
/* 1A48C0 80275FE0 2402001E */   addiu    $v0, $zero, 0x1E
/* 1A48C4 80275FE4 1062018F */  beq       $v1, $v0, .L80276624
/* 1A48C8 80275FE8 00000000 */   nop
/* 1A48CC 80275FEC 0809DA2C */  j         .L802768B0
/* 1A48D0 80275FF0 00000000 */   nop
.L80275FF4:
/* 1A48D4 80275FF4 C6400144 */  lwc1      $f0, 0x144($s2)
/* 1A48D8 80275FF8 C618000C */  lwc1      $f24, 0xC($s0)
/* 1A48DC 80275FFC C61A0014 */  lwc1      $f26, 0x14($s0)
/* 1A48E0 80276000 E6000000 */  swc1      $f0, 0x0($s0)
/* 1A48E4 80276004 46000586 */  mov.s     $f22, $f0
/* 1A48E8 80276008 4406C000 */  mfc1      $a2, $f24
/* 1A48EC 8027600C C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A48F0 80276010 4600B306 */  mov.s     $f12, $f22
/* 1A48F4 80276014 E6000004 */  swc1      $f0, 0x4($s0)
/* 1A48F8 80276018 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A48FC 8027601C 4407D000 */  mfc1      $a3, $f26
/* 1A4900 80276020 46000506 */  mov.s     $f20, $f0
/* 1A4904 80276024 46000386 */  mov.s     $f14, $f0
/* 1A4908 80276028 0C00A720 */  jal       atan2
/* 1A490C 8027602C E6140008 */   swc1     $f20, 0x8($s0)
/* 1A4910 80276030 4600B306 */  mov.s     $f12, $f22
/* 1A4914 80276034 4406C000 */  mfc1      $a2, $f24
/* 1A4918 80276038 4407D000 */  mfc1      $a3, $f26
/* 1A491C 8027603C 4600A386 */  mov.s     $f14, $f20
/* 1A4920 80276040 0C00A7B5 */  jal       dist2D
/* 1A4924 80276044 E6000048 */   swc1     $f0, 0x48($s0)
/* 1A4928 80276048 86020064 */  lh        $v0, 0x64($s0)
/* 1A492C 8027604C 46000106 */  mov.s     $f4, $f0
/* 1A4930 80276050 14400012 */  bnez      $v0, .L8027609C
/* 1A4934 80276054 E604004C */   swc1     $f4, 0x4C($s0)
/* 1A4938 80276058 C6000040 */  lwc1      $f0, 0x40($s0)
/* 1A493C 8027605C C6020040 */  lwc1      $f2, 0x40($s0)
/* 1A4940 80276060 46002003 */  div.s     $f0, $f4, $f0
/* 1A4944 80276064 4600028D */  trunc.w.s $f10, $f0
/* 1A4948 80276068 44035000 */  mfc1      $v1, $f10
/* 1A494C 8027606C 00000000 */  nop
/* 1A4950 80276070 00031400 */  sll       $v0, $v1, 16
/* 1A4954 80276074 00021403 */  sra       $v0, $v0, 16
/* 1A4958 80276078 44820000 */  mtc1      $v0, $f0
/* 1A495C 8027607C 00000000 */  nop
/* 1A4960 80276080 46800020 */  cvt.s.w   $f0, $f0
/* 1A4964 80276084 46020002 */  mul.s     $f0, $f0, $f2
/* 1A4968 80276088 00000000 */  nop
/* 1A496C 8027608C 46002086 */  mov.s     $f2, $f4
/* 1A4970 80276090 A6030064 */  sh        $v1, 0x64($s0)
/* 1A4974 80276094 0809D834 */  j         .L802760D0
/* 1A4978 80276098 46001201 */   sub.s    $f8, $f2, $f0
.L8027609C:
/* 1A497C 8027609C 44821000 */  mtc1      $v0, $f2
/* 1A4980 802760A0 00000000 */  nop
/* 1A4984 802760A4 468010A0 */  cvt.s.w   $f2, $f2
/* 1A4988 802760A8 86020064 */  lh        $v0, 0x64($s0)
/* 1A498C 802760AC 46022083 */  div.s     $f2, $f4, $f2
/* 1A4990 802760B0 44820000 */  mtc1      $v0, $f0
/* 1A4994 802760B4 00000000 */  nop
/* 1A4998 802760B8 46800020 */  cvt.s.w   $f0, $f0
/* 1A499C 802760BC 46020002 */  mul.s     $f0, $f0, $f2
/* 1A49A0 802760C0 00000000 */  nop
/* 1A49A4 802760C4 C604004C */  lwc1      $f4, 0x4C($s0)
/* 1A49A8 802760C8 E6020040 */  swc1      $f2, 0x40($s0)
/* 1A49AC 802760CC 46002201 */  sub.s     $f8, $f4, $f0
.L802760D0:
/* 1A49B0 802760D0 86020064 */  lh        $v0, 0x64($s0)
/* 1A49B4 802760D4 3C014049 */  lui       $at, (0x40490FD0 >> 16)
/* 1A49B8 802760D8 34210FD0 */  ori       $at, $at, (0x40490FD0 & 0xFFFF)
/* 1A49BC 802760DC 44812000 */  mtc1      $at, $f4
/* 1A49C0 802760E0 C602000C */  lwc1      $f2, 0xC($s0)
/* 1A49C4 802760E4 44820000 */  mtc1      $v0, $f0
/* 1A49C8 802760E8 00000000 */  nop
/* 1A49CC 802760EC 46800020 */  cvt.s.w   $f0, $f0
/* 1A49D0 802760F0 46002103 */  div.s     $f4, $f4, $f0
/* 1A49D4 802760F4 C6000000 */  lwc1      $f0, 0x0($s0)
/* 1A49D8 802760F8 46001081 */  sub.s     $f2, $f2, $f0
/* 1A49DC 802760FC 8E06005C */  lw        $a2, 0x5C($s0)
/* 1A49E0 80276100 44820000 */  mtc1      $v0, $f0
/* 1A49E4 80276104 00000000 */  nop
/* 1A49E8 80276108 46800020 */  cvt.s.w   $f0, $f0
/* 1A49EC 8027610C 46001083 */  div.s     $f2, $f2, $f0
/* 1A49F0 80276110 C6000010 */  lwc1      $f0, 0x10($s0)
/* 1A49F4 80276114 0000202D */  daddu     $a0, $zero, $zero
/* 1A49F8 80276118 E604003C */  swc1      $f4, 0x3C($s0)
/* 1A49FC 8027611C E6020030 */  swc1      $f2, 0x30($s0)
/* 1A4A00 80276120 C6020004 */  lwc1      $f2, 0x4($s0)
/* 1A4A04 80276124 C6040014 */  lwc1      $f4, 0x14($s0)
/* 1A4A08 80276128 46020001 */  sub.s     $f0, $f0, $f2
/* 1A4A0C 8027612C 44821000 */  mtc1      $v0, $f2
/* 1A4A10 80276130 00000000 */  nop
/* 1A4A14 80276134 468010A0 */  cvt.s.w   $f2, $f2
/* 1A4A18 80276138 46001186 */  mov.s     $f6, $f2
/* 1A4A1C 8027613C 46020003 */  div.s     $f0, $f0, $f2
/* 1A4A20 80276140 C6020008 */  lwc1      $f2, 0x8($s0)
/* 1A4A24 80276144 0080282D */  daddu     $a1, $a0, $zero
/* 1A4A28 80276148 AE000044 */  sw        $zero, 0x44($s0)
/* 1A4A2C 8027614C E6000034 */  swc1      $f0, 0x34($s0)
/* 1A4A30 80276150 46003006 */  mov.s     $f0, $f6
/* 1A4A34 80276154 46022101 */  sub.s     $f4, $f4, $f2
/* 1A4A38 80276158 C6020040 */  lwc1      $f2, 0x40($s0)
/* 1A4A3C 8027615C 46004003 */  div.s     $f0, $f8, $f0
/* 1A4A40 80276160 46001080 */  add.s     $f2, $f2, $f0
/* 1A4A44 80276164 46062103 */  div.s     $f4, $f4, $f6
/* 1A4A48 80276168 E6040038 */  swc1      $f4, 0x38($s0)
/* 1A4A4C 8027616C 0C098F3F */  jal       set_animation
/* 1A4A50 80276170 E6020040 */   swc1     $f2, 0x40($s0)
/* 1A4A54 80276174 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4A58 80276178 24040160 */  addiu     $a0, $zero, 0x160
/* 1A4A5C 8027617C E7A00010 */  swc1      $f0, 0x10($sp)
/* 1A4A60 80276180 8E460144 */  lw        $a2, 0x144($s2)
/* 1A4A64 80276184 8E470148 */  lw        $a3, 0x148($s2)
/* 1A4A68 80276188 0C052757 */  jal       sfx_play_sound_at_position
/* 1A4A6C 8027618C 0000282D */   daddu    $a1, $zero, $zero
/* 1A4A70 80276190 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4A74 80276194 24040147 */  addiu     $a0, $zero, 0x147
/* 1A4A78 80276198 E7A00010 */  swc1      $f0, 0x10($sp)
/* 1A4A7C 8027619C 8E460144 */  lw        $a2, 0x144($s2)
/* 1A4A80 802761A0 8E470148 */  lw        $a3, 0x148($s2)
/* 1A4A84 802761A4 0C052757 */  jal       sfx_play_sound_at_position
/* 1A4A88 802761A8 0000282D */   daddu    $a1, $zero, $zero
/* 1A4A8C 802761AC 86020064 */  lh        $v0, 0x64($s0)
/* 1A4A90 802761B0 24030168 */  addiu     $v1, $zero, 0x168
/* 1A4A94 802761B4 14400002 */  bnez      $v0, .L802761C0
/* 1A4A98 802761B8 0062001A */   div      $zero, $v1, $v0
/* 1A4A9C 802761BC 0007000D */  break     7
.L802761C0:
/* 1A4AA0 802761C0 2401FFFF */  addiu     $at, $zero, -0x1
/* 1A4AA4 802761C4 14410004 */  bne       $v0, $at, .L802761D8
/* 1A4AA8 802761C8 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 1A4AAC 802761CC 14610002 */  bne       $v1, $at, .L802761D8
/* 1A4AB0 802761D0 00000000 */   nop
/* 1A4AB4 802761D4 0006000D */  break     6
.L802761D8:
/* 1A4AB8 802761D8 00001812 */  mflo      $v1
/* 1A4ABC 802761DC C608004C */  lwc1      $f8, 0x4C($s0)
/* 1A4AC0 802761E0 3C014034 */  lui       $at, (0x40340000 >> 16)
/* 1A4AC4 802761E4 44811800 */  mtc1      $at, $f3
/* 1A4AC8 802761E8 44801000 */  mtc1      $zero, $f2
/* 1A4ACC 802761EC C6140044 */  lwc1      $f20, 0x44($s0)
/* 1A4AD0 802761F0 C616003C */  lwc1      $f22, 0x3C($s0)
/* 1A4AD4 802761F4 46004021 */  cvt.d.s   $f0, $f8
/* 1A4AD8 802761F8 46220001 */  sub.d     $f0, $f0, $f2
/* 1A4ADC 802761FC 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
/* 1A4AE0 80276200 44811000 */  mtc1      $at, $f2
/* 1A4AE4 80276204 AE000018 */  sw        $zero, 0x18($s0)
/* 1A4AE8 80276208 AE00001C */  sw        $zero, 0x1C($s0)
/* 1A4AEC 8027620C E6020024 */  swc1      $f2, 0x24($s0)
/* 1A4AF0 80276210 3C014018 */  lui       $at, (0x40180000 >> 16)
/* 1A4AF4 80276214 44811800 */  mtc1      $at, $f3
/* 1A4AF8 80276218 44801000 */  mtc1      $zero, $f2
/* 1A4AFC 8027621C C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A4B00 80276220 46200220 */  cvt.s.d   $f8, $f0
/* 1A4B04 80276224 46004021 */  cvt.d.s   $f0, $f8
/* 1A4B08 80276228 46220003 */  div.d     $f0, $f0, $f2
/* 1A4B0C 8027622C 46200220 */  cvt.s.d   $f8, $f0
/* 1A4B10 80276230 3C01802A */  lui       $at, %hi(D_8029D938)
/* 1A4B14 80276234 D420D938 */  ldc1      $f0, %lo(D_8029D938)($at)
/* 1A4B18 80276238 460040A1 */  cvt.d.s   $f2, $f8
/* 1A4B1C 8027623C 46201080 */  add.d     $f2, $f2, $f0
/* 1A4B20 80276240 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A4B24 80276244 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A4B28 80276248 44810000 */  mtc1      $at, $f0
/* 1A4B2C 8027624C 4600A521 */  cvt.d.s   $f20, $f20
/* 1A4B30 80276250 46006302 */  mul.s     $f12, $f12, $f0
/* 1A4B34 80276254 00000000 */  nop
/* 1A4B38 80276258 4600B5A1 */  cvt.d.s   $f22, $f22
/* 1A4B3C 8027625C 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A4B40 80276260 44810000 */  mtc1      $at, $f0
/* 1A4B44 80276264 46201220 */  cvt.s.d   $f8, $f2
/* 1A4B48 80276268 E6080050 */  swc1      $f8, 0x50($s0)
/* 1A4B4C 8027626C 46006303 */  div.s     $f12, $f12, $f0
/* 1A4B50 80276270 44830000 */  mtc1      $v1, $f0
/* 1A4B54 80276274 00000000 */  nop
/* 1A4B58 80276278 46800020 */  cvt.s.w   $f0, $f0
/* 1A4B5C 8027627C 0C00A85B */  jal       sin_rad
/* 1A4B60 80276280 E6000028 */   swc1     $f0, 0x28($s0)
/* 1A4B64 80276284 3C01802A */  lui       $at, %hi(D_8029D940)
/* 1A4B68 80276288 D422D940 */  ldc1      $f2, %lo(D_8029D940)($at)
/* 1A4B6C 8027628C 46000021 */  cvt.d.s   $f0, $f0
/* 1A4B70 80276290 46220002 */  mul.d     $f0, $f0, $f2
/* 1A4B74 80276294 00000000 */  nop
/* 1A4B78 80276298 46360002 */  mul.d     $f0, $f0, $f22
/* 1A4B7C 8027629C 00000000 */  nop
/* 1A4B80 802762A0 46360000 */  add.d     $f0, $f0, $f22
/* 1A4B84 802762A4 4620A500 */  add.d     $f20, $f20, $f0
/* 1A4B88 802762A8 0809DA29 */  j         .L802768A4
/* 1A4B8C 802762AC 24020001 */   addiu    $v0, $zero, 0x1
.L802762B0:
/* 1A4B90 802762B0 C6400144 */  lwc1      $f0, 0x144($s2)
/* 1A4B94 802762B4 C618000C */  lwc1      $f24, 0xC($s0)
/* 1A4B98 802762B8 C61A0014 */  lwc1      $f26, 0x14($s0)
/* 1A4B9C 802762BC E6000000 */  swc1      $f0, 0x0($s0)
/* 1A4BA0 802762C0 46000586 */  mov.s     $f22, $f0
/* 1A4BA4 802762C4 4406C000 */  mfc1      $a2, $f24
/* 1A4BA8 802762C8 C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A4BAC 802762CC 4600B306 */  mov.s     $f12, $f22
/* 1A4BB0 802762D0 E6000004 */  swc1      $f0, 0x4($s0)
/* 1A4BB4 802762D4 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4BB8 802762D8 4407D000 */  mfc1      $a3, $f26
/* 1A4BBC 802762DC 46000506 */  mov.s     $f20, $f0
/* 1A4BC0 802762E0 4600A386 */  mov.s     $f14, $f20
/* 1A4BC4 802762E4 0C00A720 */  jal       atan2
/* 1A4BC8 802762E8 E6140008 */   swc1     $f20, 0x8($s0)
/* 1A4BCC 802762EC 4600B306 */  mov.s     $f12, $f22
/* 1A4BD0 802762F0 4406C000 */  mfc1      $a2, $f24
/* 1A4BD4 802762F4 4407D000 */  mfc1      $a3, $f26
/* 1A4BD8 802762F8 4600A386 */  mov.s     $f14, $f20
/* 1A4BDC 802762FC 0C00A7B5 */  jal       dist2D
/* 1A4BE0 80276300 E6000048 */   swc1     $f0, 0x48($s0)
/* 1A4BE4 80276304 86020064 */  lh        $v0, 0x64($s0)
/* 1A4BE8 80276308 46000106 */  mov.s     $f4, $f0
/* 1A4BEC 8027630C 14400012 */  bnez      $v0, .L80276358
/* 1A4BF0 80276310 E604004C */   swc1     $f4, 0x4C($s0)
/* 1A4BF4 80276314 C6000040 */  lwc1      $f0, 0x40($s0)
/* 1A4BF8 80276318 C6020040 */  lwc1      $f2, 0x40($s0)
/* 1A4BFC 8027631C 46002003 */  div.s     $f0, $f4, $f0
/* 1A4C00 80276320 4600028D */  trunc.w.s $f10, $f0
/* 1A4C04 80276324 44035000 */  mfc1      $v1, $f10
/* 1A4C08 80276328 00000000 */  nop
/* 1A4C0C 8027632C 00031400 */  sll       $v0, $v1, 16
/* 1A4C10 80276330 00021403 */  sra       $v0, $v0, 16
/* 1A4C14 80276334 44820000 */  mtc1      $v0, $f0
/* 1A4C18 80276338 00000000 */  nop
/* 1A4C1C 8027633C 46800020 */  cvt.s.w   $f0, $f0
/* 1A4C20 80276340 46020002 */  mul.s     $f0, $f0, $f2
/* 1A4C24 80276344 00000000 */  nop
/* 1A4C28 80276348 46002086 */  mov.s     $f2, $f4
/* 1A4C2C 8027634C A6030064 */  sh        $v1, 0x64($s0)
/* 1A4C30 80276350 0809D8E3 */  j         .L8027638C
/* 1A4C34 80276354 46001201 */   sub.s    $f8, $f2, $f0
.L80276358:
/* 1A4C38 80276358 44821000 */  mtc1      $v0, $f2
/* 1A4C3C 8027635C 00000000 */  nop
/* 1A4C40 80276360 468010A0 */  cvt.s.w   $f2, $f2
/* 1A4C44 80276364 86020064 */  lh        $v0, 0x64($s0)
/* 1A4C48 80276368 46022083 */  div.s     $f2, $f4, $f2
/* 1A4C4C 8027636C 44820000 */  mtc1      $v0, $f0
/* 1A4C50 80276370 00000000 */  nop
/* 1A4C54 80276374 46800020 */  cvt.s.w   $f0, $f0
/* 1A4C58 80276378 46020002 */  mul.s     $f0, $f0, $f2
/* 1A4C5C 8027637C 00000000 */  nop
/* 1A4C60 80276380 C604004C */  lwc1      $f4, 0x4C($s0)
/* 1A4C64 80276384 E6020040 */  swc1      $f2, 0x40($s0)
/* 1A4C68 80276388 46002201 */  sub.s     $f8, $f4, $f0
.L8027638C:
/* 1A4C6C 8027638C 86020064 */  lh        $v0, 0x64($s0)
/* 1A4C70 80276390 3C014049 */  lui       $at, (0x40490FD0 >> 16)
/* 1A4C74 80276394 34210FD0 */  ori       $at, $at, (0x40490FD0 & 0xFFFF)
/* 1A4C78 80276398 44812000 */  mtc1      $at, $f4
/* 1A4C7C 8027639C C602000C */  lwc1      $f2, 0xC($s0)
/* 1A4C80 802763A0 44820000 */  mtc1      $v0, $f0
/* 1A4C84 802763A4 00000000 */  nop
/* 1A4C88 802763A8 46800020 */  cvt.s.w   $f0, $f0
/* 1A4C8C 802763AC 46002103 */  div.s     $f4, $f4, $f0
/* 1A4C90 802763B0 C6000000 */  lwc1      $f0, 0x0($s0)
/* 1A4C94 802763B4 46001081 */  sub.s     $f2, $f2, $f0
/* 1A4C98 802763B8 8E060058 */  lw        $a2, 0x58($s0)
/* 1A4C9C 802763BC 44820000 */  mtc1      $v0, $f0
/* 1A4CA0 802763C0 00000000 */  nop
/* 1A4CA4 802763C4 46800020 */  cvt.s.w   $f0, $f0
/* 1A4CA8 802763C8 46001083 */  div.s     $f2, $f2, $f0
/* 1A4CAC 802763CC C6000010 */  lwc1      $f0, 0x10($s0)
/* 1A4CB0 802763D0 0000202D */  daddu     $a0, $zero, $zero
/* 1A4CB4 802763D4 E604003C */  swc1      $f4, 0x3C($s0)
/* 1A4CB8 802763D8 E6020030 */  swc1      $f2, 0x30($s0)
/* 1A4CBC 802763DC C6020004 */  lwc1      $f2, 0x4($s0)
/* 1A4CC0 802763E0 C6040014 */  lwc1      $f4, 0x14($s0)
/* 1A4CC4 802763E4 46020001 */  sub.s     $f0, $f0, $f2
/* 1A4CC8 802763E8 44821000 */  mtc1      $v0, $f2
/* 1A4CCC 802763EC 00000000 */  nop
/* 1A4CD0 802763F0 468010A0 */  cvt.s.w   $f2, $f2
/* 1A4CD4 802763F4 46001186 */  mov.s     $f6, $f2
/* 1A4CD8 802763F8 46020003 */  div.s     $f0, $f0, $f2
/* 1A4CDC 802763FC C6020008 */  lwc1      $f2, 0x8($s0)
/* 1A4CE0 80276400 0080282D */  daddu     $a1, $a0, $zero
/* 1A4CE4 80276404 AE000044 */  sw        $zero, 0x44($s0)
/* 1A4CE8 80276408 E6000034 */  swc1      $f0, 0x34($s0)
/* 1A4CEC 8027640C 46003006 */  mov.s     $f0, $f6
/* 1A4CF0 80276410 46022101 */  sub.s     $f4, $f4, $f2
/* 1A4CF4 80276414 C6020040 */  lwc1      $f2, 0x40($s0)
/* 1A4CF8 80276418 46004003 */  div.s     $f0, $f8, $f0
/* 1A4CFC 8027641C 46001080 */  add.s     $f2, $f2, $f0
/* 1A4D00 80276420 46062103 */  div.s     $f4, $f4, $f6
/* 1A4D04 80276424 E6040038 */  swc1      $f4, 0x38($s0)
/* 1A4D08 80276428 0C098F3F */  jal       set_animation
/* 1A4D0C 8027642C E6020040 */   swc1     $f2, 0x40($s0)
/* 1A4D10 80276430 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4D14 80276434 24040160 */  addiu     $a0, $zero, 0x160
/* 1A4D18 80276438 E7A00010 */  swc1      $f0, 0x10($sp)
/* 1A4D1C 8027643C 8E460144 */  lw        $a2, 0x144($s2)
/* 1A4D20 80276440 8E470148 */  lw        $a3, 0x148($s2)
/* 1A4D24 80276444 0C052757 */  jal       sfx_play_sound_at_position
/* 1A4D28 80276448 0000282D */   daddu    $a1, $zero, $zero
/* 1A4D2C 8027644C C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4D30 80276450 24040147 */  addiu     $a0, $zero, 0x147
/* 1A4D34 80276454 E7A00010 */  swc1      $f0, 0x10($sp)
/* 1A4D38 80276458 8E460144 */  lw        $a2, 0x144($s2)
/* 1A4D3C 8027645C 8E470148 */  lw        $a3, 0x148($s2)
/* 1A4D40 80276460 0C052757 */  jal       sfx_play_sound_at_position
/* 1A4D44 80276464 0000282D */   daddu    $a1, $zero, $zero
/* 1A4D48 80276468 86020064 */  lh        $v0, 0x64($s0)
/* 1A4D4C 8027646C 24030168 */  addiu     $v1, $zero, 0x168
/* 1A4D50 80276470 14400002 */  bnez      $v0, .L8027647C
/* 1A4D54 80276474 0062001A */   div      $zero, $v1, $v0
/* 1A4D58 80276478 0007000D */  break     7
.L8027647C:
/* 1A4D5C 8027647C 2401FFFF */  addiu     $at, $zero, -0x1
/* 1A4D60 80276480 14410004 */  bne       $v0, $at, .L80276494
/* 1A4D64 80276484 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 1A4D68 80276488 14610002 */  bne       $v1, $at, .L80276494
/* 1A4D6C 8027648C 00000000 */   nop
/* 1A4D70 80276490 0006000D */  break     6
.L80276494:
/* 1A4D74 80276494 00001812 */  mflo      $v1
/* 1A4D78 80276498 C608004C */  lwc1      $f8, 0x4C($s0)
/* 1A4D7C 8027649C 3C014034 */  lui       $at, (0x40340000 >> 16)
/* 1A4D80 802764A0 44811800 */  mtc1      $at, $f3
/* 1A4D84 802764A4 44801000 */  mtc1      $zero, $f2
/* 1A4D88 802764A8 C6140044 */  lwc1      $f20, 0x44($s0)
/* 1A4D8C 802764AC C616003C */  lwc1      $f22, 0x3C($s0)
/* 1A4D90 802764B0 46004021 */  cvt.d.s   $f0, $f8
/* 1A4D94 802764B4 46220001 */  sub.d     $f0, $f0, $f2
/* 1A4D98 802764B8 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
/* 1A4D9C 802764BC 44811000 */  mtc1      $at, $f2
/* 1A4DA0 802764C0 AE000018 */  sw        $zero, 0x18($s0)
/* 1A4DA4 802764C4 AE00001C */  sw        $zero, 0x1C($s0)
/* 1A4DA8 802764C8 E6020024 */  swc1      $f2, 0x24($s0)
/* 1A4DAC 802764CC 3C014018 */  lui       $at, (0x40180000 >> 16)
/* 1A4DB0 802764D0 44811800 */  mtc1      $at, $f3
/* 1A4DB4 802764D4 44801000 */  mtc1      $zero, $f2
/* 1A4DB8 802764D8 C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A4DBC 802764DC 46200220 */  cvt.s.d   $f8, $f0
/* 1A4DC0 802764E0 46004021 */  cvt.d.s   $f0, $f8
/* 1A4DC4 802764E4 46220003 */  div.d     $f0, $f0, $f2
/* 1A4DC8 802764E8 46200220 */  cvt.s.d   $f8, $f0
/* 1A4DCC 802764EC 3C01802A */  lui       $at, %hi(D_8029D948)
/* 1A4DD0 802764F0 D420D948 */  ldc1      $f0, %lo(D_8029D948)($at)
/* 1A4DD4 802764F4 460040A1 */  cvt.d.s   $f2, $f8
/* 1A4DD8 802764F8 46201080 */  add.d     $f2, $f2, $f0
/* 1A4DDC 802764FC 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A4DE0 80276500 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A4DE4 80276504 44810000 */  mtc1      $at, $f0
/* 1A4DE8 80276508 4600A521 */  cvt.d.s   $f20, $f20
/* 1A4DEC 8027650C 46006302 */  mul.s     $f12, $f12, $f0
/* 1A4DF0 80276510 00000000 */  nop
/* 1A4DF4 80276514 4600B5A1 */  cvt.d.s   $f22, $f22
/* 1A4DF8 80276518 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A4DFC 8027651C 44810000 */  mtc1      $at, $f0
/* 1A4E00 80276520 46201220 */  cvt.s.d   $f8, $f2
/* 1A4E04 80276524 E6080050 */  swc1      $f8, 0x50($s0)
/* 1A4E08 80276528 46006303 */  div.s     $f12, $f12, $f0
/* 1A4E0C 8027652C 44830000 */  mtc1      $v1, $f0
/* 1A4E10 80276530 00000000 */  nop
/* 1A4E14 80276534 46800020 */  cvt.s.w   $f0, $f0
/* 1A4E18 80276538 0C00A85B */  jal       sin_rad
/* 1A4E1C 8027653C E6000028 */   swc1     $f0, 0x28($s0)
/* 1A4E20 80276540 3C01802A */  lui       $at, %hi(D_8029D950)
/* 1A4E24 80276544 D422D950 */  ldc1      $f2, %lo(D_8029D950)($at)
/* 1A4E28 80276548 46000021 */  cvt.d.s   $f0, $f0
/* 1A4E2C 8027654C 46220002 */  mul.d     $f0, $f0, $f2
/* 1A4E30 80276550 00000000 */  nop
/* 1A4E34 80276554 46360002 */  mul.d     $f0, $f0, $f22
/* 1A4E38 80276558 00000000 */  nop
/* 1A4E3C 8027655C 46360000 */  add.d     $f0, $f0, $f22
/* 1A4E40 80276560 4620A500 */  add.d     $f20, $f20, $f0
/* 1A4E44 80276564 0809DA29 */  j         .L802768A4
/* 1A4E48 80276568 2402000B */   addiu    $v0, $zero, 0xB
.L8027656C:
/* 1A4E4C 8027656C 0000202D */  daddu     $a0, $zero, $zero
/* 1A4E50 80276570 24050001 */  addiu     $a1, $zero, 0x1
/* 1A4E54 80276574 3C060001 */  lui       $a2, (0x1000C >> 16)
/* 1A4E58 80276578 34C6000C */  ori       $a2, $a2, (0x1000C & 0xFFFF)
/* 1A4E5C 8027657C 00A0102D */  daddu     $v0, $a1, $zero
/* 1A4E60 80276580 0C098F3F */  jal       set_animation
/* 1A4E64 80276584 A6020064 */   sh       $v0, 0x64($s0)
/* 1A4E68 80276588 AE400160 */  sw        $zero, 0x160($s2)
/* 1A4E6C 8027658C 86020064 */  lh        $v0, 0x64($s0)
/* 1A4E70 80276590 24030168 */  addiu     $v1, $zero, 0x168
/* 1A4E74 80276594 14400002 */  bnez      $v0, .L802765A0
/* 1A4E78 80276598 0062001A */   div      $zero, $v1, $v0
/* 1A4E7C 8027659C 0007000D */  break     7
.L802765A0:
/* 1A4E80 802765A0 2401FFFF */  addiu     $at, $zero, -0x1
/* 1A4E84 802765A4 14410004 */  bne       $v0, $at, .L802765B8
/* 1A4E88 802765A8 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 1A4E8C 802765AC 14610002 */  bne       $v1, $at, .L802765B8
/* 1A4E90 802765B0 00000000 */   nop
/* 1A4E94 802765B4 0006000D */  break     6
.L802765B8:
/* 1A4E98 802765B8 00001812 */  mflo      $v1
/* 1A4E9C 802765BC C6000018 */  lwc1      $f0, 0x18($s0)
/* 1A4EA0 802765C0 C602001C */  lwc1      $f2, 0x1C($s0)
/* 1A4EA4 802765C4 46020001 */  sub.s     $f0, $f0, $f2
/* 1A4EA8 802765C8 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
/* 1A4EAC 802765CC 44811000 */  mtc1      $at, $f2
/* 1A4EB0 802765D0 00000000 */  nop
/* 1A4EB4 802765D4 E6020024 */  swc1      $f2, 0x24($s0)
/* 1A4EB8 802765D8 3C01802A */  lui       $at, %hi(D_8029D958)
/* 1A4EBC 802765DC D422D958 */  ldc1      $f2, %lo(D_8029D958)($at)
/* 1A4EC0 802765E0 46000005 */  abs.s     $f0, $f0
/* 1A4EC4 802765E4 46000021 */  cvt.d.s   $f0, $f0
/* 1A4EC8 802765E8 46220003 */  div.d     $f0, $f0, $f2
/* 1A4ECC 802765EC 46200020 */  cvt.s.d   $f0, $f0
/* 1A4ED0 802765F0 E6000050 */  swc1      $f0, 0x50($s0)
/* 1A4ED4 802765F4 44830000 */  mtc1      $v1, $f0
/* 1A4ED8 802765F8 00000000 */  nop
/* 1A4EDC 802765FC 46800020 */  cvt.s.w   $f0, $f0
/* 1A4EE0 80276600 E6000028 */  swc1      $f0, 0x28($s0)
/* 1A4EE4 80276604 C6400144 */  lwc1      $f0, 0x144($s2)
/* 1A4EE8 80276608 E6000000 */  swc1      $f0, 0x0($s0)
/* 1A4EEC 8027660C C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A4EF0 80276610 E6000004 */  swc1      $f0, 0x4($s0)
/* 1A4EF4 80276614 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4EF8 80276618 24020015 */  addiu     $v0, $zero, 0x15
/* 1A4EFC 8027661C 0809DA2B */  j         .L802768AC
/* 1A4F00 80276620 E6000008 */   swc1     $f0, 0x8($s0)
.L80276624:
/* 1A4F04 80276624 C6400144 */  lwc1      $f0, 0x144($s2)
/* 1A4F08 80276628 C618000C */  lwc1      $f24, 0xC($s0)
/* 1A4F0C 8027662C C61A0014 */  lwc1      $f26, 0x14($s0)
/* 1A4F10 80276630 E6000000 */  swc1      $f0, 0x0($s0)
/* 1A4F14 80276634 46000586 */  mov.s     $f22, $f0
/* 1A4F18 80276638 4406C000 */  mfc1      $a2, $f24
/* 1A4F1C 8027663C C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A4F20 80276640 4600B306 */  mov.s     $f12, $f22
/* 1A4F24 80276644 E6000004 */  swc1      $f0, 0x4($s0)
/* 1A4F28 80276648 C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A4F2C 8027664C 4407D000 */  mfc1      $a3, $f26
/* 1A4F30 80276650 46000506 */  mov.s     $f20, $f0
/* 1A4F34 80276654 46000386 */  mov.s     $f14, $f0
/* 1A4F38 80276658 0C00A720 */  jal       atan2
/* 1A4F3C 8027665C E6140008 */   swc1     $f20, 0x8($s0)
/* 1A4F40 80276660 4600B306 */  mov.s     $f12, $f22
/* 1A4F44 80276664 4406C000 */  mfc1      $a2, $f24
/* 1A4F48 80276668 4407D000 */  mfc1      $a3, $f26
/* 1A4F4C 8027666C 4600A386 */  mov.s     $f14, $f20
/* 1A4F50 80276670 0C00A7B5 */  jal       dist2D
/* 1A4F54 80276674 E6000048 */   swc1     $f0, 0x48($s0)
/* 1A4F58 80276678 86020064 */  lh        $v0, 0x64($s0)
/* 1A4F5C 8027667C 46000106 */  mov.s     $f4, $f0
/* 1A4F60 80276680 14400012 */  bnez      $v0, .L802766CC
/* 1A4F64 80276684 E604004C */   swc1     $f4, 0x4C($s0)
/* 1A4F68 80276688 C6000040 */  lwc1      $f0, 0x40($s0)
/* 1A4F6C 8027668C C6020040 */  lwc1      $f2, 0x40($s0)
/* 1A4F70 80276690 46002003 */  div.s     $f0, $f4, $f0
/* 1A4F74 80276694 4600028D */  trunc.w.s $f10, $f0
/* 1A4F78 80276698 44035000 */  mfc1      $v1, $f10
/* 1A4F7C 8027669C 00000000 */  nop
/* 1A4F80 802766A0 00031400 */  sll       $v0, $v1, 16
/* 1A4F84 802766A4 00021403 */  sra       $v0, $v0, 16
/* 1A4F88 802766A8 44820000 */  mtc1      $v0, $f0
/* 1A4F8C 802766AC 00000000 */  nop
/* 1A4F90 802766B0 46800020 */  cvt.s.w   $f0, $f0
/* 1A4F94 802766B4 46020002 */  mul.s     $f0, $f0, $f2
/* 1A4F98 802766B8 00000000 */  nop
/* 1A4F9C 802766BC 46002086 */  mov.s     $f2, $f4
/* 1A4FA0 802766C0 A6030064 */  sh        $v1, 0x64($s0)
/* 1A4FA4 802766C4 0809D9C0 */  j         .L80276700
/* 1A4FA8 802766C8 46001201 */   sub.s    $f8, $f2, $f0
.L802766CC:
/* 1A4FAC 802766CC 44821000 */  mtc1      $v0, $f2
/* 1A4FB0 802766D0 00000000 */  nop
/* 1A4FB4 802766D4 468010A0 */  cvt.s.w   $f2, $f2
/* 1A4FB8 802766D8 86020064 */  lh        $v0, 0x64($s0)
/* 1A4FBC 802766DC 46022083 */  div.s     $f2, $f4, $f2
/* 1A4FC0 802766E0 44820000 */  mtc1      $v0, $f0
/* 1A4FC4 802766E4 00000000 */  nop
/* 1A4FC8 802766E8 46800020 */  cvt.s.w   $f0, $f0
/* 1A4FCC 802766EC 46020002 */  mul.s     $f0, $f0, $f2
/* 1A4FD0 802766F0 00000000 */  nop
/* 1A4FD4 802766F4 C604004C */  lwc1      $f4, 0x4C($s0)
/* 1A4FD8 802766F8 E6020040 */  swc1      $f2, 0x40($s0)
/* 1A4FDC 802766FC 46002201 */  sub.s     $f8, $f4, $f0
.L80276700:
/* 1A4FE0 80276700 86020064 */  lh        $v0, 0x64($s0)
/* 1A4FE4 80276704 3C014049 */  lui       $at, (0x40490FD0 >> 16)
/* 1A4FE8 80276708 34210FD0 */  ori       $at, $at, (0x40490FD0 & 0xFFFF)
/* 1A4FEC 8027670C 44812000 */  mtc1      $at, $f4
/* 1A4FF0 80276710 C602000C */  lwc1      $f2, 0xC($s0)
/* 1A4FF4 80276714 24420001 */  addiu     $v0, $v0, 0x1
/* 1A4FF8 80276718 44820000 */  mtc1      $v0, $f0
/* 1A4FFC 8027671C 00000000 */  nop
/* 1A5000 80276720 46800020 */  cvt.s.w   $f0, $f0
/* 1A5004 80276724 46002103 */  div.s     $f4, $f4, $f0
/* 1A5008 80276728 C6000000 */  lwc1      $f0, 0x0($s0)
/* 1A500C 8027672C 86020064 */  lh        $v0, 0x64($s0)
/* 1A5010 80276730 46001081 */  sub.s     $f2, $f2, $f0
/* 1A5014 80276734 8E060058 */  lw        $a2, 0x58($s0)
/* 1A5018 80276738 44820000 */  mtc1      $v0, $f0
/* 1A501C 8027673C 00000000 */  nop
/* 1A5020 80276740 46800020 */  cvt.s.w   $f0, $f0
/* 1A5024 80276744 46001083 */  div.s     $f2, $f2, $f0
/* 1A5028 80276748 C6000010 */  lwc1      $f0, 0x10($s0)
/* 1A502C 8027674C 0000202D */  daddu     $a0, $zero, $zero
/* 1A5030 80276750 E604003C */  swc1      $f4, 0x3C($s0)
/* 1A5034 80276754 E6020030 */  swc1      $f2, 0x30($s0)
/* 1A5038 80276758 C6020004 */  lwc1      $f2, 0x4($s0)
/* 1A503C 8027675C C6040014 */  lwc1      $f4, 0x14($s0)
/* 1A5040 80276760 46020001 */  sub.s     $f0, $f0, $f2
/* 1A5044 80276764 44821000 */  mtc1      $v0, $f2
/* 1A5048 80276768 00000000 */  nop
/* 1A504C 8027676C 468010A0 */  cvt.s.w   $f2, $f2
/* 1A5050 80276770 46001186 */  mov.s     $f6, $f2
/* 1A5054 80276774 46020003 */  div.s     $f0, $f0, $f2
/* 1A5058 80276778 C6020008 */  lwc1      $f2, 0x8($s0)
/* 1A505C 8027677C 0080282D */  daddu     $a1, $a0, $zero
/* 1A5060 80276780 AE000044 */  sw        $zero, 0x44($s0)
/* 1A5064 80276784 E6000034 */  swc1      $f0, 0x34($s0)
/* 1A5068 80276788 46003006 */  mov.s     $f0, $f6
/* 1A506C 8027678C 46022101 */  sub.s     $f4, $f4, $f2
/* 1A5070 80276790 C6020040 */  lwc1      $f2, 0x40($s0)
/* 1A5074 80276794 46004003 */  div.s     $f0, $f8, $f0
/* 1A5078 80276798 46001080 */  add.s     $f2, $f2, $f0
/* 1A507C 8027679C 46062103 */  div.s     $f4, $f4, $f6
/* 1A5080 802767A0 E6040038 */  swc1      $f4, 0x38($s0)
/* 1A5084 802767A4 0C098F3F */  jal       set_animation
/* 1A5088 802767A8 E6020040 */   swc1     $f2, 0x40($s0)
/* 1A508C 802767AC C640014C */  lwc1      $f0, 0x14C($s2)
/* 1A5090 802767B0 24040160 */  addiu     $a0, $zero, 0x160
/* 1A5094 802767B4 E7A00010 */  swc1      $f0, 0x10($sp)
/* 1A5098 802767B8 8E460144 */  lw        $a2, 0x144($s2)
/* 1A509C 802767BC 8E470148 */  lw        $a3, 0x148($s2)
/* 1A50A0 802767C0 0C052757 */  jal       sfx_play_sound_at_position
/* 1A50A4 802767C4 0000282D */   daddu    $a1, $zero, $zero
/* 1A50A8 802767C8 86030064 */  lh        $v1, 0x64($s0)
/* 1A50AC 802767CC 24020168 */  addiu     $v0, $zero, 0x168
/* 1A50B0 802767D0 14600002 */  bnez      $v1, .L802767DC
/* 1A50B4 802767D4 0043001A */   div      $zero, $v0, $v1
/* 1A50B8 802767D8 0007000D */  break     7
.L802767DC:
/* 1A50BC 802767DC 2401FFFF */  addiu     $at, $zero, -0x1
/* 1A50C0 802767E0 14610004 */  bne       $v1, $at, .L802767F4
/* 1A50C4 802767E4 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 1A50C8 802767E8 14410002 */  bne       $v0, $at, .L802767F4
/* 1A50CC 802767EC 00000000 */   nop
/* 1A50D0 802767F0 0006000D */  break     6
.L802767F4:
/* 1A50D4 802767F4 00001012 */  mflo      $v0
/* 1A50D8 802767F8 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
/* 1A50DC 802767FC 44810000 */  mtc1      $at, $f0
/* 1A50E0 80276800 3C014234 */  lui       $at, (0x42340000 >> 16)
/* 1A50E4 80276804 44811000 */  mtc1      $at, $f2
/* 1A50E8 80276808 86030066 */  lh        $v1, 0x66($s0)
/* 1A50EC 8027680C E6000024 */  swc1      $f0, 0x24($s0)
/* 1A50F0 80276810 E6020050 */  swc1      $f2, 0x50($s0)
/* 1A50F4 80276814 44820000 */  mtc1      $v0, $f0
/* 1A50F8 80276818 00000000 */  nop
/* 1A50FC 8027681C 46800020 */  cvt.s.w   $f0, $f0
/* 1A5100 80276820 24020004 */  addiu     $v0, $zero, 0x4
/* 1A5104 80276824 14620005 */  bne       $v1, $v0, .L8027683C
/* 1A5108 80276828 E6000028 */   swc1     $f0, 0x28($s0)
/* 1A510C 8027682C 3C014261 */  lui       $at, (0x42610000 >> 16)
/* 1A5110 80276830 44810000 */  mtc1      $at, $f0
/* 1A5114 80276834 00000000 */  nop
/* 1A5118 80276838 E6000050 */  swc1      $f0, 0x50($s0)
.L8027683C:
/* 1A511C 8027683C C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A5120 80276840 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A5124 80276844 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A5128 80276848 44810000 */  mtc1      $at, $f0
/* 1A512C 8027684C C6140044 */  lwc1      $f20, 0x44($s0)
/* 1A5130 80276850 C616003C */  lwc1      $f22, 0x3C($s0)
/* 1A5134 80276854 AE000018 */  sw        $zero, 0x18($s0)
/* 1A5138 80276858 46006302 */  mul.s     $f12, $f12, $f0
/* 1A513C 8027685C 00000000 */  nop
/* 1A5140 80276860 AE00001C */  sw        $zero, 0x1C($s0)
/* 1A5144 80276864 4600A521 */  cvt.d.s   $f20, $f20
/* 1A5148 80276868 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A514C 8027686C 44810000 */  mtc1      $at, $f0
/* 1A5150 80276870 4600B5A1 */  cvt.d.s   $f22, $f22
/* 1A5154 80276874 0C00A85B */  jal       sin_rad
/* 1A5158 80276878 46006303 */   div.s    $f12, $f12, $f0
/* 1A515C 8027687C 3C01802A */  lui       $at, %hi(D_8029D960)
/* 1A5160 80276880 D422D960 */  ldc1      $f2, %lo(D_8029D960)($at)
/* 1A5164 80276884 46000021 */  cvt.d.s   $f0, $f0
/* 1A5168 80276888 46220002 */  mul.d     $f0, $f0, $f2
/* 1A516C 8027688C 00000000 */  nop
/* 1A5170 80276890 46360002 */  mul.d     $f0, $f0, $f22
/* 1A5174 80276894 00000000 */  nop
/* 1A5178 80276898 46360000 */  add.d     $f0, $f0, $f22
/* 1A517C 8027689C 4620A500 */  add.d     $f20, $f20, $f0
/* 1A5180 802768A0 2402001F */  addiu     $v0, $zero, 0x1F
.L802768A4:
/* 1A5184 802768A4 4620A520 */  cvt.s.d   $f20, $f20
/* 1A5188 802768A8 E6140044 */  swc1      $f20, 0x44($s0)
.L802768AC:
/* 1A518C 802768AC AE620070 */  sw        $v0, 0x70($s3)
.L802768B0:
/* 1A5190 802768B0 8E640070 */  lw        $a0, 0x70($s3)
/* 1A5194 802768B4 2402000B */  addiu     $v0, $zero, 0xB
/* 1A5198 802768B8 10820060 */  beq       $a0, $v0, .L80276A3C
/* 1A519C 802768BC 2882000C */   slti     $v0, $a0, 0xC
/* 1A51A0 802768C0 10400005 */  beqz      $v0, .L802768D8
/* 1A51A4 802768C4 24020001 */   addiu    $v0, $zero, 0x1
/* 1A51A8 802768C8 1082000A */  beq       $a0, $v0, .L802768F4
/* 1A51AC 802768CC 0000102D */   daddu    $v0, $zero, $zero
/* 1A51B0 802768D0 0809DBA2 */  j         .L80276E88
/* 1A51B4 802768D4 00000000 */   nop
.L802768D8:
/* 1A51B8 802768D8 24020015 */  addiu     $v0, $zero, 0x15
/* 1A51BC 802768DC 108200C7 */  beq       $a0, $v0, .L80276BFC
/* 1A51C0 802768E0 2402001F */   addiu    $v0, $zero, 0x1F
/* 1A51C4 802768E4 10820100 */  beq       $a0, $v0, .L80276CE8
/* 1A51C8 802768E8 0000102D */   daddu    $v0, $zero, $zero
/* 1A51CC 802768EC 0809DBA2 */  j         .L80276E88
/* 1A51D0 802768F0 00000000 */   nop
.L802768F4:
/* 1A51D4 802768F4 C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A51D8 802768F8 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A51DC 802768FC 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A51E0 80276900 44810000 */  mtc1      $at, $f0
/* 1A51E4 80276904 C6160044 */  lwc1      $f22, 0x44($s0)
/* 1A51E8 80276908 46006302 */  mul.s     $f12, $f12, $f0
/* 1A51EC 8027690C 00000000 */  nop
/* 1A51F0 80276910 C614003C */  lwc1      $f20, 0x3C($s0)
/* 1A51F4 80276914 4600B5A1 */  cvt.d.s   $f22, $f22
/* 1A51F8 80276918 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A51FC 8027691C 44810000 */  mtc1      $at, $f0
/* 1A5200 80276920 4600A521 */  cvt.d.s   $f20, $f20
/* 1A5204 80276924 0C00A85B */  jal       sin_rad
/* 1A5208 80276928 46006303 */   div.s    $f12, $f12, $f0
/* 1A520C 8027692C 3C01802A */  lui       $at, %hi(D_8029D968)
/* 1A5210 80276930 D422D968 */  ldc1      $f2, %lo(D_8029D968)($at)
/* 1A5214 80276934 46000021 */  cvt.d.s   $f0, $f0
/* 1A5218 80276938 46220002 */  mul.d     $f0, $f0, $f2
/* 1A521C 8027693C 00000000 */  nop
/* 1A5220 80276940 46340002 */  mul.d     $f0, $f0, $f20
/* 1A5224 80276944 00000000 */  nop
/* 1A5228 80276948 C6080000 */  lwc1      $f8, 0x0($s0)
/* 1A522C 8027694C C6020030 */  lwc1      $f2, 0x30($s0)
/* 1A5230 80276950 C6060004 */  lwc1      $f6, 0x4($s0)
/* 1A5234 80276954 46024200 */  add.s     $f8, $f8, $f2
/* 1A5238 80276958 C6020034 */  lwc1      $f2, 0x34($s0)
/* 1A523C 8027695C C6040008 */  lwc1      $f4, 0x8($s0)
/* 1A5240 80276960 46023180 */  add.s     $f6, $f6, $f2
/* 1A5244 80276964 C6020038 */  lwc1      $f2, 0x38($s0)
/* 1A5248 80276968 46022100 */  add.s     $f4, $f4, $f2
/* 1A524C 8027696C 46340000 */  add.d     $f0, $f0, $f20
/* 1A5250 80276970 E6080000 */  swc1      $f8, 0x0($s0)
/* 1A5254 80276974 4620B580 */  add.d     $f22, $f22, $f0
/* 1A5258 80276978 E6060004 */  swc1      $f6, 0x4($s0)
/* 1A525C 8027697C E6040008 */  swc1      $f4, 0x8($s0)
/* 1A5260 80276980 4620B5A0 */  cvt.s.d   $f22, $f22
/* 1A5264 80276984 E6160044 */  swc1      $f22, 0x44($s0)
/* 1A5268 80276988 C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A526C 8027698C 46004086 */  mov.s     $f2, $f8
/* 1A5270 80276990 E6000018 */  swc1      $f0, 0x18($s0)
/* 1A5274 80276994 E6420144 */  swc1      $f2, 0x144($s2)
/* 1A5278 80276998 0C00A85B */  jal       sin_rad
/* 1A527C 8027699C C60C0044 */   lwc1     $f12, 0x44($s0)
/* 1A5280 802769A0 C6020050 */  lwc1      $f2, 0x50($s0)
/* 1A5284 802769A4 46001082 */  mul.s     $f2, $f2, $f0
/* 1A5288 802769A8 00000000 */  nop
/* 1A528C 802769AC C6000004 */  lwc1      $f0, 0x4($s0)
/* 1A5290 802769B0 46020000 */  add.s     $f0, $f0, $f2
/* 1A5294 802769B4 E6400148 */  swc1      $f0, 0x148($s2)
/* 1A5298 802769B8 C6000008 */  lwc1      $f0, 0x8($s0)
/* 1A529C 802769BC E640014C */  swc1      $f0, 0x14C($s2)
/* 1A52A0 802769C0 C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A52A4 802769C4 C6000028 */  lwc1      $f0, 0x28($s0)
/* 1A52A8 802769C8 46006300 */  add.s     $f12, $f12, $f0
/* 1A52AC 802769CC C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A52B0 802769D0 E600001C */  swc1      $f0, 0x1C($s0)
/* 1A52B4 802769D4 0C00A6C9 */  jal       clamp_angle
/* 1A52B8 802769D8 E60C0024 */   swc1     $f12, 0x24($s0)
/* 1A52BC 802769DC E6000024 */  swc1      $f0, 0x24($s0)
/* 1A52C0 802769E0 C64C0160 */  lwc1      $f12, 0x160($s2)
/* 1A52C4 802769E4 3C014305 */  lui       $at, (0x43050000 >> 16)
/* 1A52C8 802769E8 44810000 */  mtc1      $at, $f0
/* 1A52CC 802769EC 00000000 */  nop
/* 1A52D0 802769F0 46006300 */  add.s     $f12, $f12, $f0
/* 1A52D4 802769F4 0C00A6C9 */  jal       clamp_angle
/* 1A52D8 802769F8 E64C0160 */   swc1     $f12, 0x160($s2)
/* 1A52DC 802769FC E6400160 */  swc1      $f0, 0x160($s2)
/* 1A52E0 80276A00 3C02800E */  lui       $v0, %hi(gBattleStatus)
/* 1A52E4 80276A04 8C42C070 */  lw        $v0, %lo(gBattleStatus)($v0)
/* 1A52E8 80276A08 30422000 */  andi      $v0, $v0, 0x2000
/* 1A52EC 80276A0C 1440011E */  bnez      $v0, .L80276E88
/* 1A52F0 80276A10 24020002 */   addiu    $v0, $zero, 0x2
/* 1A52F4 80276A14 96020064 */  lhu       $v0, 0x64($s0)
/* 1A52F8 80276A18 24030004 */  addiu     $v1, $zero, 0x4
/* 1A52FC 80276A1C 2442FFFF */  addiu     $v0, $v0, -0x1
/* 1A5300 80276A20 A6020064 */  sh        $v0, 0x64($s0)
/* 1A5304 80276A24 00021400 */  sll       $v0, $v0, 16
/* 1A5308 80276A28 00021403 */  sra       $v0, $v0, 16
/* 1A530C 80276A2C 14430116 */  bne       $v0, $v1, .L80276E88
/* 1A5310 80276A30 0000102D */   daddu    $v0, $zero, $zero
/* 1A5314 80276A34 0809DBA2 */  j         .L80276E88
/* 1A5318 80276A38 24020001 */   addiu    $v0, $zero, 0x1
.L80276A3C:
/* 1A531C 80276A3C C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A5320 80276A40 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A5324 80276A44 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A5328 80276A48 44810000 */  mtc1      $at, $f0
/* 1A532C 80276A4C C6160044 */  lwc1      $f22, 0x44($s0)
/* 1A5330 80276A50 46006302 */  mul.s     $f12, $f12, $f0
/* 1A5334 80276A54 00000000 */  nop
/* 1A5338 80276A58 C614003C */  lwc1      $f20, 0x3C($s0)
/* 1A533C 80276A5C 4600B5A1 */  cvt.d.s   $f22, $f22
/* 1A5340 80276A60 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A5344 80276A64 44810000 */  mtc1      $at, $f0
/* 1A5348 80276A68 4600A521 */  cvt.d.s   $f20, $f20
/* 1A534C 80276A6C 0C00A85B */  jal       sin_rad
/* 1A5350 80276A70 46006303 */   div.s    $f12, $f12, $f0
/* 1A5354 80276A74 3C01802A */  lui       $at, %hi(D_8029D970)
/* 1A5358 80276A78 D422D970 */  ldc1      $f2, %lo(D_8029D970)($at)
/* 1A535C 80276A7C 46000021 */  cvt.d.s   $f0, $f0
/* 1A5360 80276A80 46220002 */  mul.d     $f0, $f0, $f2
/* 1A5364 80276A84 00000000 */  nop
/* 1A5368 80276A88 46340002 */  mul.d     $f0, $f0, $f20
/* 1A536C 80276A8C 00000000 */  nop
/* 1A5370 80276A90 C6080000 */  lwc1      $f8, 0x0($s0)
/* 1A5374 80276A94 C6020030 */  lwc1      $f2, 0x30($s0)
/* 1A5378 80276A98 C6060004 */  lwc1      $f6, 0x4($s0)
/* 1A537C 80276A9C 46024200 */  add.s     $f8, $f8, $f2
/* 1A5380 80276AA0 C6020034 */  lwc1      $f2, 0x34($s0)
/* 1A5384 80276AA4 C6040008 */  lwc1      $f4, 0x8($s0)
/* 1A5388 80276AA8 46023180 */  add.s     $f6, $f6, $f2
/* 1A538C 80276AAC C6020038 */  lwc1      $f2, 0x38($s0)
/* 1A5390 80276AB0 46022100 */  add.s     $f4, $f4, $f2
/* 1A5394 80276AB4 46340000 */  add.d     $f0, $f0, $f20
/* 1A5398 80276AB8 E6080000 */  swc1      $f8, 0x0($s0)
/* 1A539C 80276ABC 4620B580 */  add.d     $f22, $f22, $f0
/* 1A53A0 80276AC0 E6060004 */  swc1      $f6, 0x4($s0)
/* 1A53A4 80276AC4 E6040008 */  swc1      $f4, 0x8($s0)
/* 1A53A8 80276AC8 4620B5A0 */  cvt.s.d   $f22, $f22
/* 1A53AC 80276ACC E6160044 */  swc1      $f22, 0x44($s0)
/* 1A53B0 80276AD0 C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A53B4 80276AD4 46004086 */  mov.s     $f2, $f8
/* 1A53B8 80276AD8 E6000018 */  swc1      $f0, 0x18($s0)
/* 1A53BC 80276ADC E6420144 */  swc1      $f2, 0x144($s2)
/* 1A53C0 80276AE0 0C00A85B */  jal       sin_rad
/* 1A53C4 80276AE4 C60C0044 */   lwc1     $f12, 0x44($s0)
/* 1A53C8 80276AE8 C6020050 */  lwc1      $f2, 0x50($s0)
/* 1A53CC 80276AEC 46001082 */  mul.s     $f2, $f2, $f0
/* 1A53D0 80276AF0 00000000 */  nop
/* 1A53D4 80276AF4 C6000004 */  lwc1      $f0, 0x4($s0)
/* 1A53D8 80276AF8 46020000 */  add.s     $f0, $f0, $f2
/* 1A53DC 80276AFC E6400148 */  swc1      $f0, 0x148($s2)
/* 1A53E0 80276B00 C6000008 */  lwc1      $f0, 0x8($s0)
/* 1A53E4 80276B04 E640014C */  swc1      $f0, 0x14C($s2)
/* 1A53E8 80276B08 C6020010 */  lwc1      $f2, 0x10($s0)
/* 1A53EC 80276B0C C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A53F0 80276B10 4602003C */  c.lt.s    $f0, $f2
/* 1A53F4 80276B14 00000000 */  nop
/* 1A53F8 80276B18 45000005 */  bc1f      .L80276B30
/* 1A53FC 80276B1C 00000000 */   nop
/* 1A5400 80276B20 86020064 */  lh        $v0, 0x64($s0)
/* 1A5404 80276B24 28420003 */  slti      $v0, $v0, 0x3
/* 1A5408 80276B28 54400001 */  bnel      $v0, $zero, .L80276B30
/* 1A540C 80276B2C E6420148 */   swc1     $f2, 0x148($s2)
.L80276B30:
/* 1A5410 80276B30 C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A5414 80276B34 C6000028 */  lwc1      $f0, 0x28($s0)
/* 1A5418 80276B38 46006300 */  add.s     $f12, $f12, $f0
/* 1A541C 80276B3C C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A5420 80276B40 E600001C */  swc1      $f0, 0x1C($s0)
/* 1A5424 80276B44 0C00A6C9 */  jal       clamp_angle
/* 1A5428 80276B48 E60C0024 */   swc1     $f12, 0x24($s0)
/* 1A542C 80276B4C 0000202D */  daddu     $a0, $zero, $zero
/* 1A5430 80276B50 8E06005C */  lw        $a2, 0x5C($s0)
/* 1A5434 80276B54 0080282D */  daddu     $a1, $a0, $zero
/* 1A5438 80276B58 0C098F3F */  jal       set_animation
/* 1A543C 80276B5C E6000024 */   swc1     $f0, 0x24($s0)
/* 1A5440 80276B60 C64C0160 */  lwc1      $f12, 0x160($s2)
/* 1A5444 80276B64 3C014305 */  lui       $at, (0x43050000 >> 16)
/* 1A5448 80276B68 44810000 */  mtc1      $at, $f0
/* 1A544C 80276B6C 00000000 */  nop
/* 1A5450 80276B70 46006300 */  add.s     $f12, $f12, $f0
/* 1A5454 80276B74 0C00A6C9 */  jal       clamp_angle
/* 1A5458 80276B78 E64C0160 */   swc1     $f12, 0x160($s2)
/* 1A545C 80276B7C E6400160 */  swc1      $f0, 0x160($s2)
/* 1A5460 80276B80 96020064 */  lhu       $v0, 0x64($s0)
/* 1A5464 80276B84 2442FFFF */  addiu     $v0, $v0, -0x1
/* 1A5468 80276B88 A6020064 */  sh        $v0, 0x64($s0)
/* 1A546C 80276B8C 00021400 */  sll       $v0, $v0, 16
/* 1A5470 80276B90 144000BD */  bnez      $v0, .L80276E88
/* 1A5474 80276B94 0000102D */   daddu    $v0, $zero, $zero
/* 1A5478 80276B98 C6000018 */  lwc1      $f0, 0x18($s0)
/* 1A547C 80276B9C C602001C */  lwc1      $f2, 0x1C($s0)
/* 1A5480 80276BA0 3C013FE6 */  lui       $at, (0x3FE66666 >> 16)
/* 1A5484 80276BA4 34216666 */  ori       $at, $at, (0x3FE66666 & 0xFFFF)
/* 1A5488 80276BA8 44812000 */  mtc1      $at, $f4
/* 1A548C 80276BAC 46020001 */  sub.s     $f0, $f0, $f2
/* 1A5490 80276BB0 C6020010 */  lwc1      $f2, 0x10($s0)
/* 1A5494 80276BB4 0000202D */  daddu     $a0, $zero, $zero
/* 1A5498 80276BB8 E604003C */  swc1      $f4, 0x3C($s0)
/* 1A549C 80276BBC 46000007 */  neg.s     $f0, $f0
/* 1A54A0 80276BC0 E6000044 */  swc1      $f0, 0x44($s0)
/* 1A54A4 80276BC4 E6420148 */  swc1      $f2, 0x148($s2)
/* 1A54A8 80276BC8 AE400160 */  sw        $zero, 0x160($s2)
/* 1A54AC 80276BCC 8E060060 */  lw        $a2, 0x60($s0)
/* 1A54B0 80276BD0 0C098F3F */  jal       set_animation
/* 1A54B4 80276BD4 0080282D */   daddu    $a1, $a0, $zero
/* 1A54B8 80276BD8 C640018C */  lwc1      $f0, 0x18C($s2)
/* 1A54BC 80276BDC E7A00010 */  swc1      $f0, 0x10($sp)
/* 1A54C0 80276BE0 8E450144 */  lw        $a1, 0x144($s2)
/* 1A54C4 80276BE4 8E460148 */  lw        $a2, 0x148($s2)
/* 1A54C8 80276BE8 8E47014C */  lw        $a3, 0x14C($s2)
/* 1A54CC 80276BEC 0C0990BC */  jal       play_movement_dust_effects
/* 1A54D0 80276BF0 24040002 */   addiu    $a0, $zero, 0x2
/* 1A54D4 80276BF4 0809DBA2 */  j         .L80276E88
/* 1A54D8 80276BF8 24020001 */   addiu    $v0, $zero, 0x1
.L80276BFC:
/* 1A54DC 80276BFC C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A54E0 80276C00 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A54E4 80276C04 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A54E8 80276C08 4481B000 */  mtc1      $at, $f22
/* 1A54EC 80276C0C 00000000 */  nop
/* 1A54F0 80276C10 46166302 */  mul.s     $f12, $f12, $f22
/* 1A54F4 80276C14 00000000 */  nop
/* 1A54F8 80276C18 C6140000 */  lwc1      $f20, 0x0($s0)
/* 1A54FC 80276C1C 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A5500 80276C20 4481C000 */  mtc1      $at, $f24
/* 1A5504 80276C24 4600A521 */  cvt.d.s   $f20, $f20
/* 1A5508 80276C28 0C00A85B */  jal       sin_rad
/* 1A550C 80276C2C 46186303 */   div.s    $f12, $f12, $f24
/* 1A5510 80276C30 C6020050 */  lwc1      $f2, 0x50($s0)
/* 1A5514 80276C34 46001082 */  mul.s     $f2, $f2, $f0
/* 1A5518 80276C38 00000000 */  nop
/* 1A551C 80276C3C C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A5520 80276C40 46166302 */  mul.s     $f12, $f12, $f22
/* 1A5524 80276C44 00000000 */  nop
/* 1A5528 80276C48 3C01802A */  lui       $at, %hi(D_8029D978)
/* 1A552C 80276C4C D420D978 */  ldc1      $f0, %lo(D_8029D978)($at)
/* 1A5530 80276C50 460010A1 */  cvt.d.s   $f2, $f2
/* 1A5534 80276C54 46201083 */  div.d     $f2, $f2, $f0
/* 1A5538 80276C58 4622A500 */  add.d     $f20, $f20, $f2
/* 1A553C 80276C5C 46186303 */  div.s     $f12, $f12, $f24
/* 1A5540 80276C60 4620A520 */  cvt.s.d   $f20, $f20
/* 1A5544 80276C64 0C00A85B */  jal       sin_rad
/* 1A5548 80276C68 E6140000 */   swc1     $f20, 0x0($s0)
/* 1A554C 80276C6C C6020050 */  lwc1      $f2, 0x50($s0)
/* 1A5550 80276C70 46001082 */  mul.s     $f2, $f2, $f0
/* 1A5554 80276C74 00000000 */  nop
/* 1A5558 80276C78 C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A555C 80276C7C C6000028 */  lwc1      $f0, 0x28($s0)
/* 1A5560 80276C80 46006300 */  add.s     $f12, $f12, $f0
/* 1A5564 80276C84 C6000004 */  lwc1      $f0, 0x4($s0)
/* 1A5568 80276C88 46020001 */  sub.s     $f0, $f0, $f2
/* 1A556C 80276C8C E60C0024 */  swc1      $f12, 0x24($s0)
/* 1A5570 80276C90 0C00A6C9 */  jal       clamp_angle
/* 1A5574 80276C94 E6000004 */   swc1     $f0, 0x4($s0)
/* 1A5578 80276C98 C6020000 */  lwc1      $f2, 0x0($s0)
/* 1A557C 80276C9C E6000024 */  swc1      $f0, 0x24($s0)
/* 1A5580 80276CA0 E6420144 */  swc1      $f2, 0x144($s2)
/* 1A5584 80276CA4 C6000004 */  lwc1      $f0, 0x4($s0)
/* 1A5588 80276CA8 E6400148 */  swc1      $f0, 0x148($s2)
/* 1A558C 80276CAC C6000008 */  lwc1      $f0, 0x8($s0)
/* 1A5590 80276CB0 E640014C */  swc1      $f0, 0x14C($s2)
/* 1A5594 80276CB4 3C02800E */  lui       $v0, %hi(gBattleStatus)
/* 1A5598 80276CB8 8C42C070 */  lw        $v0, %lo(gBattleStatus)($v0)
/* 1A559C 80276CBC 30422000 */  andi      $v0, $v0, 0x2000
/* 1A55A0 80276CC0 14400071 */  bnez      $v0, .L80276E88
/* 1A55A4 80276CC4 24020002 */   addiu    $v0, $zero, 0x2
/* 1A55A8 80276CC8 96020064 */  lhu       $v0, 0x64($s0)
/* 1A55AC 80276CCC 2442FFFF */  addiu     $v0, $v0, -0x1
/* 1A55B0 80276CD0 A6020064 */  sh        $v0, 0x64($s0)
/* 1A55B4 80276CD4 00021400 */  sll       $v0, $v0, 16
/* 1A55B8 80276CD8 1440006B */  bnez      $v0, .L80276E88
/* 1A55BC 80276CDC 0000102D */   daddu    $v0, $zero, $zero
/* 1A55C0 80276CE0 0809DBA2 */  j         .L80276E88
/* 1A55C4 80276CE4 24020001 */   addiu    $v0, $zero, 0x1
.L80276CE8:
/* 1A55C8 80276CE8 C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A55CC 80276CEC 3C0140C9 */  lui       $at, (0x40C90FD0 >> 16)
/* 1A55D0 80276CF0 34210FD0 */  ori       $at, $at, (0x40C90FD0 & 0xFFFF)
/* 1A55D4 80276CF4 44810000 */  mtc1      $at, $f0
/* 1A55D8 80276CF8 C6160044 */  lwc1      $f22, 0x44($s0)
/* 1A55DC 80276CFC 46006302 */  mul.s     $f12, $f12, $f0
/* 1A55E0 80276D00 00000000 */  nop
/* 1A55E4 80276D04 C614003C */  lwc1      $f20, 0x3C($s0)
/* 1A55E8 80276D08 4600B5A1 */  cvt.d.s   $f22, $f22
/* 1A55EC 80276D0C 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 1A55F0 80276D10 44810000 */  mtc1      $at, $f0
/* 1A55F4 80276D14 4600A521 */  cvt.d.s   $f20, $f20
/* 1A55F8 80276D18 0C00A85B */  jal       sin_rad
/* 1A55FC 80276D1C 46006303 */   div.s    $f12, $f12, $f0
/* 1A5600 80276D20 3C01802A */  lui       $at, %hi(D_8029D980)
/* 1A5604 80276D24 D422D980 */  ldc1      $f2, %lo(D_8029D980)($at)
/* 1A5608 80276D28 46000021 */  cvt.d.s   $f0, $f0
/* 1A560C 80276D2C 46220002 */  mul.d     $f0, $f0, $f2
/* 1A5610 80276D30 00000000 */  nop
/* 1A5614 80276D34 46340002 */  mul.d     $f0, $f0, $f20
/* 1A5618 80276D38 00000000 */  nop
/* 1A561C 80276D3C C6080000 */  lwc1      $f8, 0x0($s0)
/* 1A5620 80276D40 C6020030 */  lwc1      $f2, 0x30($s0)
/* 1A5624 80276D44 C6060004 */  lwc1      $f6, 0x4($s0)
/* 1A5628 80276D48 46024200 */  add.s     $f8, $f8, $f2
/* 1A562C 80276D4C C6020034 */  lwc1      $f2, 0x34($s0)
/* 1A5630 80276D50 C6040008 */  lwc1      $f4, 0x8($s0)
/* 1A5634 80276D54 46023180 */  add.s     $f6, $f6, $f2
/* 1A5638 80276D58 C6020038 */  lwc1      $f2, 0x38($s0)
/* 1A563C 80276D5C 46022100 */  add.s     $f4, $f4, $f2
/* 1A5640 80276D60 46340000 */  add.d     $f0, $f0, $f20
/* 1A5644 80276D64 E6080000 */  swc1      $f8, 0x0($s0)
/* 1A5648 80276D68 4620B580 */  add.d     $f22, $f22, $f0
/* 1A564C 80276D6C E6060004 */  swc1      $f6, 0x4($s0)
/* 1A5650 80276D70 E6040008 */  swc1      $f4, 0x8($s0)
/* 1A5654 80276D74 4620B5A0 */  cvt.s.d   $f22, $f22
/* 1A5658 80276D78 E6160044 */  swc1      $f22, 0x44($s0)
/* 1A565C 80276D7C C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A5660 80276D80 46004086 */  mov.s     $f2, $f8
/* 1A5664 80276D84 E6000018 */  swc1      $f0, 0x18($s0)
/* 1A5668 80276D88 E6420144 */  swc1      $f2, 0x144($s2)
/* 1A566C 80276D8C 0C00A85B */  jal       sin_rad
/* 1A5670 80276D90 C60C0044 */   lwc1     $f12, 0x44($s0)
/* 1A5674 80276D94 C6020050 */  lwc1      $f2, 0x50($s0)
/* 1A5678 80276D98 46001082 */  mul.s     $f2, $f2, $f0
/* 1A567C 80276D9C 00000000 */  nop
/* 1A5680 80276DA0 C6000004 */  lwc1      $f0, 0x4($s0)
/* 1A5684 80276DA4 46020000 */  add.s     $f0, $f0, $f2
/* 1A5688 80276DA8 E6400148 */  swc1      $f0, 0x148($s2)
/* 1A568C 80276DAC C6000008 */  lwc1      $f0, 0x8($s0)
/* 1A5690 80276DB0 E640014C */  swc1      $f0, 0x14C($s2)
/* 1A5694 80276DB4 C6020010 */  lwc1      $f2, 0x10($s0)
/* 1A5698 80276DB8 C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A569C 80276DBC 4602003C */  c.lt.s    $f0, $f2
/* 1A56A0 80276DC0 00000000 */  nop
/* 1A56A4 80276DC4 45000005 */  bc1f      .L80276DDC
/* 1A56A8 80276DC8 00000000 */   nop
/* 1A56AC 80276DCC 86020064 */  lh        $v0, 0x64($s0)
/* 1A56B0 80276DD0 28420003 */  slti      $v0, $v0, 0x3
/* 1A56B4 80276DD4 54400001 */  bnel      $v0, $zero, .L80276DDC
/* 1A56B8 80276DD8 E6420148 */   swc1     $f2, 0x148($s2)
.L80276DDC:
/* 1A56BC 80276DDC C60C0024 */  lwc1      $f12, 0x24($s0)
/* 1A56C0 80276DE0 C6000028 */  lwc1      $f0, 0x28($s0)
/* 1A56C4 80276DE4 46006300 */  add.s     $f12, $f12, $f0
/* 1A56C8 80276DE8 C6400148 */  lwc1      $f0, 0x148($s2)
/* 1A56CC 80276DEC E600001C */  swc1      $f0, 0x1C($s0)
/* 1A56D0 80276DF0 0C00A6C9 */  jal       clamp_angle
/* 1A56D4 80276DF4 E60C0024 */   swc1     $f12, 0x24($s0)
/* 1A56D8 80276DF8 0000202D */  daddu     $a0, $zero, $zero
/* 1A56DC 80276DFC 8E06005C */  lw        $a2, 0x5C($s0)
/* 1A56E0 80276E00 0080282D */  daddu     $a1, $a0, $zero
/* 1A56E4 80276E04 0C098F3F */  jal       set_animation
/* 1A56E8 80276E08 E6000024 */   swc1     $f0, 0x24($s0)
/* 1A56EC 80276E0C C64C0160 */  lwc1      $f12, 0x160($s2)
/* 1A56F0 80276E10 3C014305 */  lui       $at, (0x43050000 >> 16)
/* 1A56F4 80276E14 44810000 */  mtc1      $at, $f0
/* 1A56F8 80276E18 00000000 */  nop
/* 1A56FC 80276E1C 46006300 */  add.s     $f12, $f12, $f0
/* 1A5700 80276E20 0C00A6C9 */  jal       clamp_angle
/* 1A5704 80276E24 E64C0160 */   swc1     $f12, 0x160($s2)
/* 1A5708 80276E28 E6400160 */  swc1      $f0, 0x160($s2)
/* 1A570C 80276E2C 96020064 */  lhu       $v0, 0x64($s0)
/* 1A5710 80276E30 2442FFFF */  addiu     $v0, $v0, -0x1
/* 1A5714 80276E34 A6020064 */  sh        $v0, 0x64($s0)
/* 1A5718 80276E38 00021400 */  sll       $v0, $v0, 16
/* 1A571C 80276E3C 14400012 */  bnez      $v0, .L80276E88
/* 1A5720 80276E40 0000102D */   daddu    $v0, $zero, $zero
/* 1A5724 80276E44 C6000010 */  lwc1      $f0, 0x10($s0)
/* 1A5728 80276E48 0000202D */  daddu     $a0, $zero, $zero
/* 1A572C 80276E4C AE400160 */  sw        $zero, 0x160($s2)
/* 1A5730 80276E50 E6400148 */  swc1      $f0, 0x148($s2)
/* 1A5734 80276E54 8E060060 */  lw        $a2, 0x60($s0)
/* 1A5738 80276E58 0C098F3F */  jal       set_animation
/* 1A573C 80276E5C 0080282D */   daddu    $a1, $a0, $zero
/* 1A5740 80276E60 C6020018 */  lwc1      $f2, 0x18($s0)
/* 1A5744 80276E64 C600001C */  lwc1      $f0, 0x1C($s0)
/* 1A5748 80276E68 46001081 */  sub.s     $f2, $f2, $f0
/* 1A574C 80276E6C 3C013FE6 */  lui       $at, (0x3FE66666 >> 16)
/* 1A5750 80276E70 34216666 */  ori       $at, $at, (0x3FE66666 & 0xFFFF)
/* 1A5754 80276E74 44810000 */  mtc1      $at, $f0
/* 1A5758 80276E78 24020001 */  addiu     $v0, $zero, 0x1
/* 1A575C 80276E7C E600003C */  swc1      $f0, 0x3C($s0)
/* 1A5760 80276E80 46001087 */  neg.s     $f2, $f2
/* 1A5764 80276E84 E6020044 */  swc1      $f2, 0x44($s0)
.L80276E88:
/* 1A5768 80276E88 8FBF0028 */  lw        $ra, 0x28($sp)
/* 1A576C 80276E8C 8FB30024 */  lw        $s3, 0x24($sp)
/* 1A5770 80276E90 8FB20020 */  lw        $s2, 0x20($sp)
/* 1A5774 80276E94 8FB1001C */  lw        $s1, 0x1C($sp)
/* 1A5778 80276E98 8FB00018 */  lw        $s0, 0x18($sp)
/* 1A577C 80276E9C D7BA0048 */  ldc1      $f26, 0x48($sp)
/* 1A5780 80276EA0 D7B80040 */  ldc1      $f24, 0x40($sp)
/* 1A5784 80276EA4 D7B60038 */  ldc1      $f22, 0x38($sp)
/* 1A5788 80276EA8 D7B40030 */  ldc1      $f20, 0x30($sp)
/* 1A578C 80276EAC 03E00008 */  jr        $ra
/* 1A5790 80276EB0 27BD0050 */   addiu    $sp, $sp, 0x50

### DECOMPILED C INSTRUCTIONS:

ApiStatus func_80275F00(Evt* script, s32 isInitialCall) {
    Bytecode* args = script->ptrReadPos;
    Actor* player = gBattleStatus.playerActor;
    ActorState* playerState = &player->state;
    f32 posX, posY, posZ;
    f32 goalX, goalZ;
    f32 speed;
    f32 temp;

    f64 temp_f20;
    f64 temp_f20_2;
    f64 temp_f20_4;
    f64 temp_f20_5;
    f64 temp_f20_6;
    f64 temp_f20_7;

    f64 temp_f22;
    f64 temp_f22_2;
    f64 temp_f22_3;
    f64 temp_f22_4;
    f64 temp_f22_5;
    f64 temp_f22_6;
    f64 temp_f22_7;

    if (isInitialCall) {
        player->state.moveTime = evt_get_variable(script, *args++);
        player->state.moveArcAmplitude = evt_get_variable(script, *args++);
        script->functionTemp[1] = 0;
        script->functionTemp[0] = 0;
        if (player->state.moveArcAmplitude == 1) {
            script->functionTemp[0] = 11;
        }
        if (player->state.moveArcAmplitude == 3) {
            script->functionTemp[0] = 20;
        }
        if (player->state.moveArcAmplitude == 2 || player->state.moveArcAmplitude == 4) {
            script->functionTemp[0] = 30;
        }
    }

    switch (script->functionTemp[0]) {
        case 0:
            playerState->currentPos.x = player->currentPos.x;
            playerState->currentPos.y = player->currentPos.y;
            playerState->currentPos.z = player->currentPos.z;
            goalX = playerState->goalPos.x;
            goalZ = playerState->goalPos.z;
            posX = playerState->currentPos.x;
            posY = playerState->currentPos.y;
            posZ = playerState->currentPos.z;
            playerState->angle = atan2(posX, posZ, goalX, goalZ);
            playerState->distance = dist2D(posX, posZ, goalX, goalZ);
            if (playerState->moveTime == 0) {
                playerState->moveTime = playerState->distance / playerState->speed;
                temp = playerState->distance - (playerState->moveTime * playerState->speed);
            } else {
                playerState->speed = playerState->distance / playerState->moveTime;
                temp = playerState->distance - (playerState->moveTime * playerState->speed);
            }
            playerState->acceleration = PI_S / playerState->moveTime;
            playerState->velocity = 0.0f;
            playerState->unk_30.x = (playerState->goalPos.x - playerState->currentPos.x) / playerState->moveTime;
            playerState->unk_30.y = (playerState->goalPos.y - playerState->currentPos.y) / playerState->moveTime;
            playerState->unk_30.z = (playerState->goalPos.z - playerState->currentPos.z) / playerState->moveTime;
            playerState->speed += temp / playerState->moveTime;
            set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall);
            sfx_play_sound_at_position(SOUND_160, SOUND_SPACE_MODE_0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
            sfx_play_sound_at_position(SOUND_TORNADO_JUMP, SOUND_SPACE_MODE_0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
            playerState->unk_18.x = 0.0f;
            playerState->unk_18.y = 0.0f;
            playerState->unk_24 = 90.0f;

            temp = playerState->distance;
            temp -= 20.0;
            temp /= 6.0;
            temp += 47.0;
            playerState->bounceDivisor = temp;

            temp_f20 = playerState->velocity;
            temp_f22 = playerState->acceleration;
            playerState->unk_28 = 360 / playerState->moveTime;
            playerState->velocity = temp_f20 + (((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53) * temp_f22) + temp_f22);
            script->functionTemp[0] = 1;
            break;
        case 10:
            playerState->currentPos.x = player->currentPos.x;
            playerState->currentPos.y = player->currentPos.y;
            playerState->currentPos.z = player->currentPos.z;
            goalX = playerState->goalPos.x;
            goalZ = playerState->goalPos.z;
            posX = playerState->currentPos.x;
            posY = playerState->currentPos.y;
            posZ = playerState->currentPos.z;
            playerState->angle = atan2(posX, posZ, goalX, goalZ);
            playerState->distance = dist2D(posX, posZ, goalX, goalZ);
            if (playerState->moveTime == 0) {
                playerState->moveTime = playerState->distance / playerState->speed;
                temp = playerState->distance - (playerState->moveTime * playerState->speed);
            } else {
                speed = playerState->distance / playerState->moveTime;
                playerState->speed = speed;
                temp = playerState->distance - (playerState->moveTime * speed);
            }
            playerState->acceleration = PI_S / playerState->moveTime;
            playerState->velocity = 0.0f;
            playerState->unk_30.x = (playerState->goalPos.x - playerState->currentPos.x) / playerState->moveTime;
            playerState->unk_30.y = (playerState->goalPos.y - playerState->currentPos.y) / playerState->moveTime;
            playerState->unk_30.z = (playerState->goalPos.z - playerState->currentPos.z) / playerState->moveTime;
            playerState->speed += temp / playerState->moveTime;
            set_animation(ACTOR_PLAYER, 0, playerState->animJumpRise);
            sfx_play_sound_at_position(SOUND_160, SOUND_SPACE_MODE_0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
            sfx_play_sound_at_position(SOUND_TORNADO_JUMP, SOUND_SPACE_MODE_0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
            playerState->unk_18.x = 0.0f;
            playerState->unk_18.y = 0.0f;
            playerState->unk_24 = 90.0f;
            temp_f20_2 = playerState->velocity;
            temp_f22_2 = playerState->acceleration;

            temp = playerState->distance;
            temp -= 20.0;
            temp /= 6.0;
            temp += 47.0;
            playerState->bounceDivisor = temp;

            playerState->unk_28 = 360 / playerState->moveTime;
            playerState->velocity = temp_f20_2 + (((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53) * temp_f22_2) + temp_f22_2);
            script->functionTemp[0] = 11;
            break;
        case 20:
            playerState->moveTime = 1;
            set_animation(ACTOR_PLAYER, 1, 0x1000C);
            player->rotation.y = 0.0f;
            playerState->unk_24 = 90.0f;
            playerState->bounceDivisor = fabsf(playerState->unk_18.x - playerState->unk_18.y) / 16.5;
            playerState->unk_28 = 360 / playerState->moveTime;
            playerState->currentPos.x = player->currentPos.x;
            playerState->currentPos.y = player->currentPos.y;
            playerState->currentPos.z = player->currentPos.z;
            script->functionTemp[0] = 21;
            break;
        case 30:
            playerState->currentPos.x = player->currentPos.x;
            playerState->currentPos.y = player->currentPos.y;
            playerState->currentPos.z = player->currentPos.z;
            goalX = playerState->goalPos.x;
            goalZ = playerState->goalPos.z;
            posX = playerState->currentPos.x;
            posY = playerState->currentPos.y;
            posZ = playerState->currentPos.z;
            playerState->angle = atan2(posX, posZ, goalX, goalZ);
            playerState->distance = dist2D(posX, posZ, goalX, goalZ);
            if (playerState->moveTime == 0) {
                playerState->moveTime = playerState->distance / playerState->speed;
                temp = playerState->distance - (playerState->moveTime * playerState->speed);
            } else {
                playerState->speed = playerState->distance / playerState->moveTime;
                temp = playerState->distance - (playerState->moveTime * playerState->speed);
            }
            playerState->acceleration = PI_S / (playerState->moveTime + 1);
            playerState->velocity = 0.0f;
            playerState->unk_30.x = (playerState->goalPos.x - playerState->currentPos.x) / playerState->moveTime;
            playerState->unk_30.y = (playerState->goalPos.y - playerState->currentPos.y) / playerState->moveTime;
            playerState->unk_30.z = (playerState->goalPos.z - playerState->currentPos.z) / playerState->moveTime;
            playerState->speed += temp / playerState->moveTime;
            set_animation(ACTOR_PLAYER, 0, playerState->animJumpRise);
            sfx_play_sound_at_position(SOUND_160, SOUND_SPACE_MODE_0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
            playerState->unk_24 = 90.0f;
            playerState->bounceDivisor = 45.0f;
            playerState->unk_28 = 360 / playerState->moveTime;
            if (playerState->moveArcAmplitude == 4) {
                playerState->bounceDivisor = 56.25f;
            }
            playerState->unk_18.x = 0.0f;
            playerState->unk_18.y = 0.0f;
            temp_f22_3 = playerState->acceleration;
            temp_f22_7 = playerState->velocity;
            temp_f22_7 = temp_f22_7 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f22_3) + temp_f22_3);
            playerState->velocity = temp_f22_7;
            script->functionTemp[0] = 31;
            break;
    }

    switch (script->functionTemp[0]) {
        case 1:
            temp_f22_4 = playerState->velocity;
            temp_f20_4 = playerState->acceleration;
            playerState->velocity = temp_f22_4 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f20_4) + temp_f20_4);
            playerState->currentPos.x += playerState->unk_30.x;
            playerState->currentPos.y += playerState->unk_30.y;
            playerState->currentPos.z += playerState->unk_30.z;
            playerState->unk_18.x = player->currentPos.y;
            player->currentPos.x = playerState->currentPos.x;
            player->currentPos.y = playerState->currentPos.y + (playerState->bounceDivisor * sin_rad(playerState->velocity));
            player->currentPos.z = playerState->currentPos.z;
            playerState->unk_18.y = player->currentPos.y;
            playerState->unk_24 += playerState->unk_28;
            playerState->unk_24 = clamp_angle(playerState->unk_24);
            player->rotation.y += 133.0f;
            player->rotation.y = clamp_angle(player->rotation.y);
            if (gBattleStatus.flags1 & BS_FLAGS1_2000) {
                return ApiStatus_DONE2;
            }
            playerState->moveTime--;
            if (playerState->moveTime == 4) {
                return ApiStatus_DONE1;
            }
            break;
        case 11:
            temp_f22_6 = playerState->velocity;
            temp_f20_7 = playerState->acceleration;
            playerState->velocity = temp_f22_6 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f20_7) + temp_f20_7);
            playerState->currentPos.x += playerState->unk_30.x;
            playerState->currentPos.y += playerState->unk_30.y;
            playerState->currentPos.z += playerState->unk_30.z;
            playerState->unk_18.x = player->currentPos.y;
            player->currentPos.x = playerState->currentPos.x;
            player->currentPos.y = playerState->currentPos.y + (playerState->bounceDivisor * sin_rad(playerState->velocity));
            player->currentPos.z = playerState->currentPos.z;
            if (playerState->goalPos.y > player->currentPos.y && playerState->moveTime < 3) {
                player->currentPos.y = playerState->goalPos.y;
            }
            playerState->unk_18.y = player->currentPos.y;
            playerState->unk_24 += playerState->unk_28;
            playerState->unk_24 = clamp_angle(playerState->unk_24);
            set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall);
            player->rotation.y += 133.0f;
            player->rotation.y = clamp_angle(player->rotation.y);
            playerState->moveTime--;
            if (playerState->moveTime == 0) {
                playerState->acceleration = 1.8f;
                playerState->velocity = -(playerState->unk_18.x - playerState->unk_18.y);
                player->currentPos.y = playerState->goalPos.y;
                player->rotation.y = 0.0f;
                set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand);
                play_movement_dust_effects(2, player->currentPos.x, player->currentPos.y, player->currentPos.z, player->yaw);
                return ApiStatus_DONE1;
            }
            break;
        case 21:
            temp_f20_5 = playerState->currentPos.x;
            temp_f20_5 += (playerState->bounceDivisor * sin_rad(DEG_TO_RAD(playerState->unk_24))) / 33.0;
            playerState->currentPos.x = temp_f20_5;
            playerState->currentPos.y -= playerState->bounceDivisor * sin_rad(DEG_TO_RAD(playerState->unk_24));
            playerState->unk_24 += playerState->unk_28;
            playerState->unk_24 = clamp_angle(playerState->unk_24);
            player->currentPos.x = playerState->currentPos.x;
            player->currentPos.y = playerState->currentPos.y;
            player->currentPos.z = playerState->currentPos.z;
            if (gBattleStatus.flags1 & BS_FLAGS1_2000) {
               return ApiStatus_DONE2;
            }
            playerState->moveTime--;
            if (playerState->moveTime == 0) {
                return ApiStatus_DONE1;
            }
            break;
        case 31:
            temp_f22_5 = playerState->velocity;
            temp_f20_6 = playerState->acceleration;
            playerState->velocity = temp_f22_5 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f20_6) + temp_f20_6);
            playerState->currentPos.x += playerState->unk_30.x;
            playerState->currentPos.y += playerState->unk_30.y;
            playerState->currentPos.z += playerState->unk_30.z;
            playerState->unk_18.x = player->currentPos.y;
            player->currentPos.x = playerState->currentPos.x;
            player->currentPos.y = playerState->currentPos.y + (playerState->bounceDivisor * sin_rad(playerState->velocity));
            player->currentPos.z = playerState->currentPos.z;
            if (playerState->goalPos.y > player->currentPos.y && playerState->moveTime < 3) {
                player->currentPos.y = playerState->goalPos.y;
            }
            playerState->unk_18.y = player->currentPos.y;
            playerState->unk_24 += playerState->unk_28;
            playerState->unk_24 = clamp_angle(playerState->unk_24);
            set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall);
            player->rotation.y += 133.0f;
            player->rotation.y = clamp_angle(player->rotation.y);
            playerState->moveTime--;
            if (playerState->moveTime == 0) {
                player->currentPos.y = playerState->goalPos.y;
                player->rotation.y = 0.0f;
                set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand);
                playerState->acceleration = 1.8f;
                playerState->velocity = -(playerState->unk_18.x - playerState->unk_18.y);
                return ApiStatus_DONE1;
            }
            break;
    }

    return ApiStatus_BLOCK;
}