### RAW ASSEMBLY INSTRUCTIONS:

glabel func_802428C8
/* A2CB08 802428C8 27BDFF98 */  addiu     $sp, $sp, -0x68
D_802428CC:
/* A2CB0C 802428CC AFB30024 */  sw        $s3, 0x24($sp)
glabel func_802428D0
/* A2CB10 802428D0 0080982D */  daddu     $s3, $a0, $zero
D_802428D4:
/* A2CB14 802428D4 AFBF0034 */  sw        $ra, 0x34($sp)
glabel func_802428D8
/* A2CB18 802428D8 AFB60030 */  sw        $s6, 0x30($sp)
glabel .L802428DC
/* A2CB1C 802428DC AFB5002C */  sw        $s5, 0x2C($sp)
mgm_02_BoxModelIDs:
/* A2CB20 802428E0 AFB40028 */  sw        $s4, 0x28($sp)
D_802428E4:
/* A2CB24 802428E4 AFB20020 */  sw        $s2, 0x20($sp)
D_802428E8:
/* A2CB28 802428E8 AFB1001C */  sw        $s1, 0x1C($sp)
.L802428EC:
/* A2CB2C 802428EC AFB00018 */  sw        $s0, 0x18($sp)
D_802428F0:
/* A2CB30 802428F0 F7BE0060 */  sdc1      $f30, 0x60($sp)
glabel func_802428F4
/* A2CB34 802428F4 F7BC0058 */  sdc1      $f28, 0x58($sp)
glabel func_802428F8
/* A2CB38 802428F8 F7BA0050 */  sdc1      $f26, 0x50($sp)
.L802428FC:
/* A2CB3C 802428FC F7B80048 */  sdc1      $f24, 0x48($sp)
glabel func_80242900
/* A2CB40 80242900 F7B60040 */  sdc1      $f22, 0x40($sp)
.L80242904:
/* A2CB44 80242904 F7B40038 */  sdc1      $f20, 0x38($sp)
dgb_03_pad_2908:
/* A2CB48 80242908 8E70000C */  lw        $s0, 0xC($s3)
D_8024290C:
/* A2CB4C 8024290C 8E050000 */  lw        $a1, 0x0($s0)
D_80242910:
/* A2CB50 80242910 0C0B1EAF */  jal       evt_get_variable
D_80242914:
/* A2CB54 80242914 26100004 */   addiu    $s0, $s0, 0x4
D_80242918:
/* A2CB58 80242918 8E050000 */  lw        $a1, 0x0($s0)
D_8024291C:
/* A2CB5C 8024291C 26100004 */  addiu     $s0, $s0, 0x4
.L80242920:
/* A2CB60 80242920 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242924
/* A2CB64 80242924 0C0B210B */  jal       evt_get_float_variable
glabel func_80242928
/* A2CB68 80242928 0040B02D */   daddu    $s6, $v0, $zero
D_8024292C:
/* A2CB6C 8024292C 8E050000 */  lw        $a1, 0x0($s0)
D_80242930:
/* A2CB70 80242930 0260202D */  daddu     $a0, $s3, $zero
D_80242934:
/* A2CB74 80242934 0C0B210B */  jal       evt_get_float_variable
.L80242938:
/* A2CB78 80242938 E7A00010 */   swc1     $f0, 0x10($sp)
glabel func_8024293C
/* A2CB7C 8024293C 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242940
/* A2CB80 80242940 3C05F4AC */  lui       $a1, (0xF4ACD480 >> 16)
.L80242944:
/* A2CB84 80242944 34A5D480 */  ori       $a1, $a1, (0xF4ACD480 & 0xFFFF)
glabel func_80242948
/* A2CB88 80242948 0C0B1EAF */  jal       evt_get_variable
glabel func_8024294C
/* A2CB8C 8024294C 46000706 */   mov.s    $f28, $f0
glabel func_80242950
/* A2CB90 80242950 0040202D */  daddu     $a0, $v0, $zero
.L80242954:
/* A2CB94 80242954 26C3FFFF */  addiu     $v1, $s6, -0x1
glabel func_80242958
/* A2CB98 80242958 2C620006 */  sltiu     $v0, $v1, 0x6
glabel func_8024295C
/* A2CB9C 8024295C 104000CE */  beqz      $v0, .L80242C98
/* A2CBA0 80242960 0080882D */   daddu    $s1, $a0, $zero
D_80242964:
/* A2CBA4 80242964 00031080 */  sll       $v0, $v1, 2
glabel .L80242968
/* A2CBA8 80242968 3C018025 */  lui       $at, %hi(jtbl_8024F1F0)
D_8024296C:
/* A2CBAC 8024296C 00220821 */  addu      $at, $at, $v0
D_80242970:
/* A2CBB0 80242970 8C22F1F0 */  lw        $v0, %lo(jtbl_8024F1F0)($at)
glabel .L80242974
/* A2CBB4 80242974 00400008 */  jr        $v0
glabel func_80242978
/* A2CBB8 80242978 00000000 */   nop
glabel .L8024297C
/* A2CBBC 8024297C 3C108025 */  lui       $s0, %hi(D_8024F3F8)
glabel func_80242980
/* A2CBC0 80242980 2610F3F8 */  addiu     $s0, $s0, %lo(D_8024F3F8)
D_80242984:
/* A2CBC4 80242984 0200902D */  daddu     $s2, $s0, $zero
D_80242988:
/* A2CBC8 80242988 2415001E */  addiu     $s5, $zero, 0x1E
.L8024298C:
/* A2CBCC 8024298C 8E22000C */  lw        $v0, 0xC($s1)
D_80242990:
/* A2CBD0 80242990 8C420014 */  lw        $v0, 0x14($v0)
D_80242994:
/* A2CBD4 80242994 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
D_80242998:
/* A2CBD8 80242998 4481F000 */  mtc1      $at, $f30
glabel dead_11_SpinyAI_Main
/* A2CBDC 8024299C 00551021 */  addu      $v0, $v0, $s5
glabel func_802429A0_EEFAA0
/* A2CBE0 802429A0 44821000 */  mtc1      $v0, $f2
D_802429A4:
/* A2CBE4 802429A4 00000000 */  nop
.L802429A8:
/* A2CBE8 802429A8 468010A1 */  cvt.d.w   $f2, $f2
D_802429AC:
/* A2CBEC 802429AC 04410006 */  bgez      $v0, func_802429C8
.L802429B0:
/* A2CBF0 802429B0 24140003 */   addiu    $s4, $zero, 0x3
/* A2CBF4 802429B4 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
D_802429B8:
/* A2CBF8 802429B8 44810800 */  mtc1      $at, $f1
D_802429BC:
/* A2CBFC 802429BC 44800000 */  mtc1      $zero, $f0
glabel func_802429C0_EA32C0
/* A2CC00 802429C0 00000000 */  nop
glabel func_802429C4
/* A2CC04 802429C4 46201080 */  add.d     $f2, $f2, $f0
glabel func_802429C8
/* A2CC08 802429C8 3C014080 */  lui       $at, (0x40800000 >> 16)
D_802429CC:
/* A2CC0C 802429CC 44810000 */  mtc1      $at, $f0
D_802429D0:
/* A2CC10 802429D0 46201520 */  cvt.s.d   $f20, $f2
D_802429D4:
/* A2CC14 802429D4 4600A502 */  mul.s     $f20, $f20, $f0
.L802429D8:
/* A2CC18 802429D8 00000000 */  nop
.L802429DC:
/* A2CC1C 802429DC 3C018025 */  lui       $at, %hi(D_8024F208)
dead_flo_12_D_802429E0:
/* A2CC20 802429E0 D420F208 */  ldc1      $f0, %lo(D_8024F208)($at)
D_802429E4:
/* A2CC24 802429E4 08090B41 */  j         func_80242D04
D_802429E8:
/* A2CC28 802429E8 4600A521 */   cvt.d.s  $f20, $f20
glabel func_802429EC
/* A2CC2C 802429EC 3C108025 */  lui       $s0, %hi(D_8024F420_C0CCA0)
.L802429F0:
/* A2CC30 802429F0 2610F420 */  addiu     $s0, $s0, %lo(D_8024F420_C0CCA0)
glabel func_802429F4
/* A2CC34 802429F4 0200902D */  daddu     $s2, $s0, $zero
mgm_02_PanelModelIDs:
/* A2CC38 802429F8 2415001E */  addiu     $s5, $zero, 0x1E
D_802429FC:
/* A2CC3C 802429FC 8E22000C */  lw        $v0, 0xC($s1)
D_80242A00:
/* A2CC40 80242A00 8C420014 */  lw        $v0, 0x14($v0)
glabel func_80242A04
/* A2CC44 80242A04 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
glabel func_80242A08
/* A2CC48 80242A08 4481F000 */  mtc1      $at, $f30
/* A2CC4C 80242A0C 00551021 */  addu      $v0, $v0, $s5
glabel func_80242A10
/* A2CC50 80242A10 44821000 */  mtc1      $v0, $f2
glabel func_80242A14
/* A2CC54 80242A14 00000000 */  nop
glabel func_80242A18
/* A2CC58 80242A18 468010A1 */  cvt.d.w   $f2, $f2
glabel func_80242A1C
/* A2CC5C 80242A1C 04410006 */  bgez      $v0, .L80242A38
glabel func_80242A20
/* A2CC60 80242A20 24140003 */   addiu    $s4, $zero, 0x3
D_80242A24:
/* A2CC64 80242A24 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
.L80242A28:
/* A2CC68 80242A28 44810800 */  mtc1      $at, $f1
D_80242A2C:
/* A2CC6C 80242A2C 44800000 */  mtc1      $zero, $f0
glabel func_80242A30
/* A2CC70 80242A30 00000000 */  nop
glabel func_80242A34
/* A2CC74 80242A34 46201080 */  add.d     $f2, $f2, $f0
.L80242A38:
/* A2CC78 80242A38 3C014080 */  lui       $at, (0x40800000 >> 16)
read_sign_instructions:
/* A2CC7C 80242A3C 44810000 */  mtc1      $at, $f0
D_80242A40:
/* A2CC80 80242A40 46201520 */  cvt.s.d   $f20, $f2
.L80242A44:
/* A2CC84 80242A44 4600A502 */  mul.s     $f20, $f20, $f0
.L80242A48:
/* A2CC88 80242A48 00000000 */  nop
glabel func_80242A4C_EA334C
/* A2CC8C 80242A4C 3C018025 */  lui       $at, %hi(D_8024F210)
.L80242A50:
/* A2CC90 80242A50 D420F210 */  ldc1      $f0, %lo(D_8024F210)($at)
glabel .L80242A54
/* A2CC94 80242A54 08090B41 */  j         func_80242D04
.L80242A58:
/* A2CC98 80242A58 4600A521 */   cvt.d.s  $f20, $f20
glabel .L80242A5C
/* A2CC9C 80242A5C 3C108025 */  lui       $s0, %hi(D_8024F448)
/* A2CCA0 80242A60 2610F448 */  addiu     $s0, $s0, %lo(D_8024F448)
glabel func_80242A64
/* A2CCA4 80242A64 0200902D */  daddu     $s2, $s0, $zero
glabel func_80242A68
/* A2CCA8 80242A68 2415001E */  addiu     $s5, $zero, 0x1E
glabel func_80242A6C
/* A2CCAC 80242A6C 8E22000C */  lw        $v0, 0xC($s1)
.L80242A70:
/* A2CCB0 80242A70 8C420014 */  lw        $v0, 0x14($v0)
glabel func_80242A74
/* A2CCB4 80242A74 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
D_80242A78:
/* A2CCB8 80242A78 4481F000 */  mtc1      $at, $f30
glabel func_80242A7C
/* A2CCBC 80242A7C 00551021 */  addu      $v0, $v0, $s5
glabel func_80242A80
/* A2CCC0 80242A80 44821000 */  mtc1      $v0, $f2
.L80242A84:
/* A2CCC4 80242A84 00000000 */  nop
.L80242A88:
/* A2CCC8 80242A88 468010A1 */  cvt.d.w   $f2, $f2
glabel .L80242A8C
/* A2CCCC 80242A8C 04410006 */  bgez      $v0, .L80242AA8
glabel func_80242A90
/* A2CCD0 80242A90 24140003 */   addiu    $s4, $zero, 0x3
D_80242A94:
/* A2CCD4 80242A94 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
.L80242A98:
/* A2CCD8 80242A98 44810800 */  mtc1      $at, $f1
D_80242A9C:
/* A2CCDC 80242A9C 44800000 */  mtc1      $zero, $f0
D_80242AA0:
/* A2CCE0 80242AA0 00000000 */  nop
glabel .L80242AA4
/* A2CCE4 80242AA4 46201080 */  add.d     $f2, $f2, $f0
.L80242AA8:
/* A2CCE8 80242AA8 3C014080 */  lui       $at, (0x40800000 >> 16)
glabel func_80242AAC
/* A2CCEC 80242AAC 44810000 */  mtc1      $at, $f0
D_80242AB0:
/* A2CCF0 80242AB0 46201520 */  cvt.s.d   $f20, $f2
glabel .L80242AB4
/* A2CCF4 80242AB4 4600A502 */  mul.s     $f20, $f20, $f0
.L80242AB8:
/* A2CCF8 80242AB8 00000000 */  nop
glabel func_80242ABC
/* A2CCFC 80242ABC 3C018025 */  lui       $at, %hi(D_8024F218)
glabel func_80242AC0
/* A2CD00 80242AC0 D420F218 */  ldc1      $f0, %lo(D_8024F218)($at)
D_80242AC4:
/* A2CD04 80242AC4 08090B41 */  j         func_80242D04
glabel dgb_15_pad_2AC8
/* A2CD08 80242AC8 4600A521 */   cvt.d.s  $f20, $f20
D_80242ACC:
/* A2CD0C 80242ACC 3C108025 */  lui       $s0, %hi(D_8024F470)
D_80242AD0:
/* A2CD10 80242AD0 2610F470 */  addiu     $s0, $s0, %lo(D_8024F470)
glabel func_80242AD4
/* A2CD14 80242AD4 8E22000C */  lw        $v0, 0xC($s1)
glabel func_80242AD8
/* A2CD18 80242AD8 2415001E */  addiu     $s5, $zero, 0x1E
glabel func_80242ADC
/* A2CD1C 80242ADC 8C420014 */  lw        $v0, 0x14($v0)
/* A2CD20 80242AE0 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
.L80242AE4:
/* A2CD24 80242AE4 4481F000 */  mtc1      $at, $f30
glabel dead_kzn_17_LetterDelivery_Init
/* A2CD28 80242AE8 00551021 */  addu      $v0, $v0, $s5
.L80242AEC:
/* A2CD2C 80242AEC 44821000 */  mtc1      $v0, $f2
glabel dead_flo_13_SpinyAI_Main
/* A2CD30 80242AF0 00000000 */  nop
.L80242AF4:
/* A2CD34 80242AF4 468010A1 */  cvt.d.w   $f2, $f2
D_80242AF8:
/* A2CD38 80242AF8 04410006 */  bgez      $v0, .L80242B14
D_80242AFC:
/* A2CD3C 80242AFC 0200902D */   daddu    $s2, $s0, $zero
/* A2CD40 80242B00 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
glabel func_80242B04
/* A2CD44 80242B04 44810800 */  mtc1      $at, $f1
.L80242B08:
/* A2CD48 80242B08 44800000 */  mtc1      $zero, $f0
D_80242B0C:
/* A2CD4C 80242B0C 00000000 */  nop
glabel func_80242B10
/* A2CD50 80242B10 46201080 */  add.d     $f2, $f2, $f0
glabel .L80242B14
/* A2CD54 80242B14 3C014080 */  lui       $at, (0x40800000 >> 16)
D_80242B18:
/* A2CD58 80242B18 44810000 */  mtc1      $at, $f0
.L80242B1C:
/* A2CD5C 80242B1C 46201520 */  cvt.s.d   $f20, $f2
.L80242B20:
/* A2CD60 80242B20 4600A502 */  mul.s     $f20, $f20, $f0
D_80242B24:
/* A2CD64 80242B24 00000000 */  nop
/* A2CD68 80242B28 3C018025 */  lui       $at, %hi(D_8024F220)
D_80242B2C:
/* A2CD6C 80242B2C D420F220 */  ldc1      $f0, %lo(D_8024F220)($at)
.L80242B30:
/* A2CD70 80242B30 4600A521 */  cvt.d.s   $f20, $f20
glabel .L80242B34
/* A2CD74 80242B34 4620A500 */  add.d     $f20, $f20, $f0
.L80242B38:
/* A2CD78 80242B38 4620A520 */  cvt.s.d   $f20, $f20
glabel func_80242B3C
/* A2CD7C 80242B3C 0C00A8BB */  jal       sin_deg
D_80242B40:
/* A2CD80 80242B40 4600A306 */   mov.s    $f12, $f20
glabel .L80242B44
/* A2CD84 80242B44 4600F306 */  mov.s     $f12, $f30
.L80242B48:
/* A2CD88 80242B48 3C014248 */  lui       $at, (0x42480000 >> 16)
D_80242B4C:
/* A2CD8C 80242B4C 4481B000 */  mtc1      $at, $f22
.L80242B50:
/* A2CD90 80242B50 0C00A8BB */  jal       sin_deg
.L80242B54:
/* A2CD94 80242B54 46000606 */   mov.s    $f24, $f0
D_80242B58:
/* A2CD98 80242B58 46160002 */  mul.s     $f0, $f0, $f22
glabel func_80242B5C
/* A2CD9C 80242B5C 00000000 */  nop
glabel func_80242B60
/* A2CDA0 80242B60 46180002 */  mul.s     $f0, $f0, $f24
.L80242B64:
/* A2CDA4 80242B64 00000000 */  nop
glabel func_80242B68
/* A2CDA8 80242B68 8E22000C */  lw        $v0, 0xC($s1)
/* A2CDAC 80242B6C C4420004 */  lwc1      $f2, 0x4($v0)
glabel func_80242B70
/* A2CDB0 80242B70 46001680 */  add.s     $f26, $f2, $f0
glabel func_80242B74
/* A2CDB4 80242B74 0C00A8D4 */  jal       cos_deg
glabel func_80242B78
/* A2CDB8 80242B78 4600A306 */   mov.s    $f12, $f20
.L80242B7C:
/* A2CDBC 80242B7C 46160002 */  mul.s     $f0, $f0, $f22
.L80242B80:
/* A2CDC0 80242B80 00000000 */  nop
D_80242B84:
/* A2CDC4 80242B84 8E22000C */  lw        $v0, 0xC($s1)
D_80242B88:
/* A2CDC8 80242B88 C4420008 */  lwc1      $f2, 0x8($v0)
.L80242B8C:
/* A2CDCC 80242B8C 46001500 */  add.s     $f20, $f2, $f0
D_80242B90:
/* A2CDD0 80242B90 0C00A8BB */  jal       sin_deg
glabel func_80242B94
/* A2CDD4 80242B94 4600F306 */   mov.s    $f12, $f30
D_80242B98:
/* A2CDD8 80242B98 46160002 */  mul.s     $f0, $f0, $f22
D_80242B9C:
/* A2CDDC 80242B9C 00000000 */  nop
glabel func_80242BA0
/* A2CDE0 80242BA0 46180002 */  mul.s     $f0, $f0, $f24
/* A2CDE4 80242BA4 00000000 */  nop
glabel func_80242BA8
/* A2CDE8 80242BA8 8E22000C */  lw        $v0, 0xC($s1)
glabel func_80242BAC
/* A2CDEC 80242BAC C442000C */  lwc1      $f2, 0xC($v0)
D_80242BB0:
/* A2CDF0 80242BB0 08090B60 */  j         D_80242D80
/* A2CDF4 80242BB4 24140003 */   addiu    $s4, $zero, 0x3
glabel func_80242BB8
/* A2CDF8 80242BB8 3C108025 */  lui       $s0, %hi(D_8024F498)
glabel func_80242BBC
/* A2CDFC 80242BBC 2610F498 */  addiu     $s0, $s0, %lo(D_8024F498)
glabel func_80242BC0
/* A2CE00 80242BC0 0200902D */  daddu     $s2, $s0, $zero
glabel .L80242BC4
/* A2CE04 80242BC4 2415001E */  addiu     $s5, $zero, 0x1E
glabel .L80242BC8
/* A2CE08 80242BC8 8E22000C */  lw        $v0, 0xC($s1)
.L80242BCC:
/* A2CE0C 80242BCC 8C420014 */  lw        $v0, 0x14($v0)
glabel func_80242BD0
/* A2CE10 80242BD0 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
.L80242BD4:
/* A2CE14 80242BD4 4481F000 */  mtc1      $at, $f30
glabel dead_kzn_17_LetterDelivery_CalcLetterPos
/* A2CE18 80242BD8 00551021 */  addu      $v0, $v0, $s5
.L80242BDC:
/* A2CE1C 80242BDC 44821000 */  mtc1      $v0, $f2
D_80242BE0:
/* A2CE20 80242BE0 00000000 */  nop
.L80242BE4:
/* A2CE24 80242BE4 468010A1 */  cvt.d.w   $f2, $f2
.L80242BE8:
/* A2CE28 80242BE8 04410006 */  bgez      $v0, .L80242C04
D_80242BEC:
/* A2CE2C 80242BEC 24140003 */   addiu    $s4, $zero, 0x3
D_80242BF0:
/* A2CE30 80242BF0 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
flo_14_pad_2BF4:
/* A2CE34 80242BF4 44810800 */  mtc1      $at, $f1
D_80242BF8:
/* A2CE38 80242BF8 44800000 */  mtc1      $zero, $f0
.L80242BFC:
/* A2CE3C 80242BFC 00000000 */  nop
D_80242C00:
/* A2CE40 80242C00 46201080 */  add.d     $f2, $f2, $f0
.L80242C04:
/* A2CE44 80242C04 3C014080 */  lui       $at, (0x40800000 >> 16)
D_80242C08:
/* A2CE48 80242C08 44810000 */  mtc1      $at, $f0
glabel func_80242C0C
/* A2CE4C 80242C0C 46201520 */  cvt.s.d   $f20, $f2
/* A2CE50 80242C10 4600A502 */  mul.s     $f20, $f20, $f0
glabel func_80242C14
/* A2CE54 80242C14 00000000 */  nop
.L80242C18:
/* A2CE58 80242C18 3C018025 */  lui       $at, %hi(D_8024F228)
glabel func_80242C1C
/* A2CE5C 80242C1C D420F228 */  ldc1      $f0, %lo(D_8024F228)($at)
glabel .L80242C20
/* A2CE60 80242C20 08090B41 */  j         func_80242D04
glabel func_80242C24
/* A2CE64 80242C24 4600A521 */   cvt.d.s  $f20, $f20
glabel .L80242C28
/* A2CE68 80242C28 3C108025 */  lui       $s0, %hi(D_8024F4C0_C0CD40)
glabel .L80242C2C
/* A2CE6C 80242C2C 2610F4C0 */  addiu     $s0, $s0, %lo(D_8024F4C0_C0CD40)
D_80242C30:
/* A2CE70 80242C30 0200902D */  daddu     $s2, $s0, $zero
.L80242C34:
/* A2CE74 80242C34 2415001E */  addiu     $s5, $zero, 0x1E
D_80242C38:
/* A2CE78 80242C38 8E22000C */  lw        $v0, 0xC($s1)
D_80242C3C:
/* A2CE7C 80242C3C 8C420014 */  lw        $v0, 0x14($v0)
D_80242C40:
/* A2CE80 80242C40 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
glabel func_80242C44
/* A2CE84 80242C44 4481F000 */  mtc1      $at, $f30
D_80242C48:
/* A2CE88 80242C48 00551021 */  addu      $v0, $v0, $s5
.L80242C4C:
/* A2CE8C 80242C4C 44821000 */  mtc1      $v0, $f2
D_80242C50:
/* A2CE90 80242C50 00000000 */  nop
/* A2CE94 80242C54 468010A1 */  cvt.d.w   $f2, $f2
D_80242C58:
/* A2CE98 80242C58 04410006 */  bgez      $v0, .L80242C74
glabel func_80242C5C
/* A2CE9C 80242C5C 24140003 */   addiu    $s4, $zero, 0x3
D_80242C60:
/* A2CEA0 80242C60 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
D_80242C64:
/* A2CEA4 80242C64 44810800 */  mtc1      $at, $f1
glabel func_80242C68
/* A2CEA8 80242C68 44800000 */  mtc1      $zero, $f0
D_80242C6C:
/* A2CEAC 80242C6C 00000000 */  nop
D_80242C70:
/* A2CEB0 80242C70 46201080 */  add.d     $f2, $f2, $f0
.L80242C74:
/* A2CEB4 80242C74 3C014080 */  lui       $at, (0x40800000 >> 16)
glabel func_80242C78
/* A2CEB8 80242C78 44810000 */  mtc1      $at, $f0
/* A2CEBC 80242C7C 46201520 */  cvt.s.d   $f20, $f2
.L80242C80:
/* A2CEC0 80242C80 4600A502 */  mul.s     $f20, $f20, $f0
glabel func_80242C84
/* A2CEC4 80242C84 00000000 */  nop
.L80242C88:
/* A2CEC8 80242C88 3C018025 */  lui       $at, %hi(D_8024F230)
.L80242C8C:
/* A2CECC 80242C8C D420F230 */  ldc1      $f0, %lo(D_8024F230)($at)
.L80242C90:
/* A2CED0 80242C90 08090B41 */  j         func_80242D04
glabel func_80242C94
/* A2CED4 80242C94 4600A521 */   cvt.d.s  $f20, $f20
.L80242C98:
/* A2CED8 80242C98 3C108025 */  lui       $s0, %hi(D_8024F4E8)
/* A2CEDC 80242C9C 2610F4E8 */  addiu     $s0, $s0, %lo(D_8024F4E8)
glabel func_80242CA0
/* A2CEE0 80242CA0 0200902D */  daddu     $s2, $s0, $zero
/* A2CEE4 80242CA4 2415001E */  addiu     $s5, $zero, 0x1E
/* A2CEE8 80242CA8 8C82000C */  lw        $v0, 0xC($a0)
.L80242CAC:
/* A2CEEC 80242CAC 8C420014 */  lw        $v0, 0x14($v0)
.L80242CB0:
/* A2CEF0 80242CB0 3C0142B4 */  lui       $at, (0x42B40000 >> 16)
.L80242CB4:
/* A2CEF4 80242CB4 4481F000 */  mtc1      $at, $f30
.L80242CB8:
/* A2CEF8 80242CB8 00551021 */  addu      $v0, $v0, $s5
.L80242CBC:
/* A2CEFC 80242CBC 44821000 */  mtc1      $v0, $f2
.L80242CC0:
/* A2CF00 80242CC0 00000000 */  nop
.L80242CC4:
/* A2CF04 80242CC4 468010A1 */  cvt.d.w   $f2, $f2
glabel func_80242CC8
/* A2CF08 80242CC8 04410006 */  bgez      $v0, func_80242CE4
.L80242CCC:
/* A2CF0C 80242CCC 24140003 */   addiu    $s4, $zero, 0x3
glabel func_80242CD0
/* A2CF10 80242CD0 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
.L80242CD4:
/* A2CF14 80242CD4 44810800 */  mtc1      $at, $f1
D_80242CD8:
/* A2CF18 80242CD8 44800000 */  mtc1      $zero, $f0
.L80242CDC:
/* A2CF1C 80242CDC 00000000 */  nop
D_80242CE0:
/* A2CF20 80242CE0 46201080 */  add.d     $f2, $f2, $f0
glabel func_80242CE4
/* A2CF24 80242CE4 3C014080 */  lui       $at, (0x40800000 >> 16)
D_80242CE8:
/* A2CF28 80242CE8 44810000 */  mtc1      $at, $f0
glabel func_80242CEC
/* A2CF2C 80242CEC 46201520 */  cvt.s.d   $f20, $f2
glabel func_80242CF0
/* A2CF30 80242CF0 4600A502 */  mul.s     $f20, $f20, $f0
D_80242CF4:
/* A2CF34 80242CF4 00000000 */  nop
glabel func_80242CF8
/* A2CF38 80242CF8 3C018025 */  lui       $at, %hi(D_8024F238)
.L80242CFC:
/* A2CF3C 80242CFC D420F238 */  ldc1      $f0, %lo(D_8024F238)($at)
glabel func_80242D00
/* A2CF40 80242D00 4600A521 */  cvt.d.s   $f20, $f20
glabel func_80242D04
/* A2CF44 80242D04 4620A500 */  add.d     $f20, $f20, $f0
.L80242D08:
/* A2CF48 80242D08 4620A520 */  cvt.s.d   $f20, $f20
glabel func_80242D0C
/* A2CF4C 80242D0C 0C00A8BB */  jal       sin_deg
/* A2CF50 80242D10 4600A306 */   mov.s    $f12, $f20
glabel func_80242D14
/* A2CF54 80242D14 4600F306 */  mov.s     $f12, $f30
.L80242D18:
/* A2CF58 80242D18 3C014248 */  lui       $at, (0x42480000 >> 16)
glabel func_80242D1C
/* A2CF5C 80242D1C 4481B000 */  mtc1      $at, $f22
glabel func_80242D20
/* A2CF60 80242D20 0C00A8BB */  jal       sin_deg
.L80242D24:
/* A2CF64 80242D24 46000606 */   mov.s    $f24, $f0
glabel func_80242D28
/* A2CF68 80242D28 46160002 */  mul.s     $f0, $f0, $f22
glabel func_80242D2C
/* A2CF6C 80242D2C 00000000 */  nop
.L80242D30:
/* A2CF70 80242D30 46180002 */  mul.s     $f0, $f0, $f24
D_80242D34:
/* A2CF74 80242D34 00000000 */  nop
glabel func_80242D38
/* A2CF78 80242D38 8E22000C */  lw        $v0, 0xC($s1)
glabel func_80242D3C
/* A2CF7C 80242D3C C4420004 */  lwc1      $f2, 0x4($v0)
D_80242D40:
/* A2CF80 80242D40 46001680 */  add.s     $f26, $f2, $f0
.L80242D44:
/* A2CF84 80242D44 0C00A8D4 */  jal       cos_deg
glabel func_80242D48
/* A2CF88 80242D48 4600A306 */   mov.s    $f12, $f20
glabel func_80242D4C
/* A2CF8C 80242D4C 46160002 */  mul.s     $f0, $f0, $f22
D_80242D50:
/* A2CF90 80242D50 00000000 */  nop
glabel .L80242D54
/* A2CF94 80242D54 8E22000C */  lw        $v0, 0xC($s1)
glabel func_80242D58
/* A2CF98 80242D58 C4420008 */  lwc1      $f2, 0x8($v0)
.L80242D5C:
/* A2CF9C 80242D5C 46001500 */  add.s     $f20, $f2, $f0
D_80242D60:
/* A2CFA0 80242D60 0C00A8BB */  jal       sin_deg
glabel func_80242D64
/* A2CFA4 80242D64 4600F306 */   mov.s    $f12, $f30
.L80242D68:
/* A2CFA8 80242D68 46160002 */  mul.s     $f0, $f0, $f22
.L80242D6C:
/* A2CFAC 80242D6C 00000000 */  nop
D_80242D70:
/* A2CFB0 80242D70 46180002 */  mul.s     $f0, $f0, $f24
.L80242D74:
/* A2CFB4 80242D74 00000000 */  nop
.L80242D78:
/* A2CFB8 80242D78 8E22000C */  lw        $v0, 0xC($s1)
.L80242D7C:
/* A2CFBC 80242D7C C442000C */  lwc1      $f2, 0xC($v0)
D_80242D80:
/* A2CFC0 80242D80 46001080 */  add.s     $f2, $f2, $f0
.L80242D84:
/* A2CFC4 80242D84 E61A0018 */  swc1      $f26, 0x18($s0)
.L80242D88:
/* A2CFC8 80242D88 E614001C */  swc1      $f20, 0x1C($s0)
glabel func_80242D8C
/* A2CFCC 80242D8C E6020020 */  swc1      $f2, 0x20($s0)
glabel func_80242D90
/* A2CFD0 80242D90 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242D94
/* A2CFD4 80242D94 3C05FE36 */  lui       $a1, (0xFE363C80 >> 16)
glabel func_80242D98
/* A2CFD8 80242D98 0C0B210B */  jal       evt_get_float_variable
.L80242D9C:
/* A2CFDC 80242D9C 34A53C80 */   ori      $a1, $a1, (0xFE363C80 & 0xFFFF)
.L80242DA0:
/* A2CFE0 80242DA0 0260202D */  daddu     $a0, $s3, $zero
.L80242DA4:
/* A2CFE4 80242DA4 3C05FE36 */  lui       $a1, (0xFE363C81 >> 16)
glabel dead_kzn_17_LetterDelivery_RestoreNpcAnim
/* A2CFE8 80242DA8 34A53C81 */  ori       $a1, $a1, (0xFE363C81 & 0xFFFF)
D_80242DAC:
/* A2CFEC 80242DAC 0C0B210B */  jal       evt_get_float_variable
glabel func_80242DB0
/* A2CFF0 80242DB0 E6400000 */   swc1     $f0, 0x0($s2)
.L80242DB4:
/* A2CFF4 80242DB4 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242DB8
/* A2CFF8 80242DB8 3C05FE36 */  lui       $a1, (0xFE363C82 >> 16)
glabel func_80242DBC
/* A2CFFC 80242DBC 34A53C82 */  ori       $a1, $a1, (0xFE363C82 & 0xFFFF)
.L80242DC0:
/* A2D000 80242DC0 0C0B210B */  jal       evt_get_float_variable
D_80242DC4:
/* A2D004 80242DC4 E6400004 */   swc1     $f0, 0x4($s2)
D_80242DC8:
/* A2D008 80242DC8 26510018 */  addiu     $s1, $s2, 0x18
.L80242DCC:
/* A2D00C 80242DCC E6400008 */  swc1      $f0, 0x8($s2)
.L80242DD0:
/* A2D010 80242DD0 24020002 */  addiu     $v0, $zero, 0x2
/* A2D014 80242DD4 12C20028 */  beq       $s6, $v0, func_80242E78
glabel func_80242DD8
/* A2D018 80242DD8 2652000C */   addiu    $s2, $s2, 0xC
.L80242DDC:
/* A2D01C 80242DDC 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242DE0
/* A2D020 80242DE0 3C05FE36 */  lui       $a1, (0xFE363C80 >> 16)
glabel func_80242DE4
/* A2D024 80242DE4 0C0B210B */  jal       evt_get_float_variable
glabel func_80242DE8
/* A2D028 80242DE8 34A53C80 */   ori      $a1, $a1, (0xFE363C80 & 0xFFFF)
glabel func_80242DEC
/* A2D02C 80242DEC 461C0002 */  mul.s     $f0, $f0, $f28
glabel func_80242DF0
/* A2D030 80242DF0 00000000 */  nop
.L80242DF4:
/* A2D034 80242DF4 3C013F80 */  lui       $at, (0x3F800000 >> 16)
.L80242DF8:
/* A2D038 80242DF8 4481A000 */  mtc1      $at, $f20
.L80242DFC:
/* A2D03C 80242DFC 00000000 */  nop
glabel dead_kzn_17_GetActingPartner
/* A2D040 80242E00 461CA501 */  sub.s     $f20, $f20, $f28
.L80242E04:
/* A2D044 80242E04 C6220000 */  lwc1      $f2, 0x0($s1)
.L80242E08:
/* A2D048 80242E08 46141082 */  mul.s     $f2, $f2, $f20
glabel func_80242E0C
/* A2D04C 80242E0C 00000000 */  nop
.L80242E10:
/* A2D050 80242E10 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242E14
/* A2D054 80242E14 46020000 */  add.s     $f0, $f0, $f2
.L80242E18:
/* A2D058 80242E18 3C05FE36 */  lui       $a1, (0xFE363C81 >> 16)
.L80242E1C:
/* A2D05C 80242E1C 34A53C81 */  ori       $a1, $a1, (0xFE363C81 & 0xFFFF)
glabel func_80242E20
/* A2D060 80242E20 0C0B210B */  jal       evt_get_float_variable
.L80242E24:
/* A2D064 80242E24 E6400000 */   swc1     $f0, 0x0($s2)
D_80242E28:
/* A2D068 80242E28 461C0002 */  mul.s     $f0, $f0, $f28
glabel dead_kzn_17_UnkFunc46
/* A2D06C 80242E2C 00000000 */  nop
/* A2D070 80242E30 C6220004 */  lwc1      $f2, 0x4($s1)
/* A2D074 80242E34 46141082 */  mul.s     $f2, $f2, $f20
.L80242E38:
/* A2D078 80242E38 00000000 */  nop
.L80242E3C:
/* A2D07C 80242E3C 46020000 */  add.s     $f0, $f0, $f2
.L80242E40:
/* A2D080 80242E40 C7A40010 */  lwc1      $f4, 0x10($sp)
.L80242E44:
/* A2D084 80242E44 0260202D */  daddu     $a0, $s3, $zero
.L80242E48:
/* A2D088 80242E48 46040000 */  add.s     $f0, $f0, $f4
.L80242E4C:
/* A2D08C 80242E4C 3C05FE36 */  lui       $a1, (0xFE363C82 >> 16)
.L80242E50:
/* A2D090 80242E50 34A53C82 */  ori       $a1, $a1, (0xFE363C82 & 0xFFFF)
glabel func_80242E54
/* A2D094 80242E54 0C0B210B */  jal       evt_get_float_variable
.L80242E58:
/* A2D098 80242E58 E6400004 */   swc1     $f0, 0x4($s2)
.L80242E5C:
/* A2D09C 80242E5C 461C0002 */  mul.s     $f0, $f0, $f28
.L80242E60:
/* A2D0A0 80242E60 00000000 */  nop
.L80242E64:
/* A2D0A4 80242E64 C6220008 */  lwc1      $f2, 0x8($s1)
.L80242E68:
/* A2D0A8 80242E68 46141082 */  mul.s     $f2, $f2, $f20
glabel func_80242E6C
/* A2D0AC 80242E6C 00000000 */  nop
glabel func_80242E70
/* A2D0B0 80242E70 08090BC8 */  j         func_80242F20
.L80242E74:
/* A2D0B4 80242E74 46020000 */   add.s    $f0, $f0, $f2
glabel func_80242E78
/* A2D0B8 80242E78 0260202D */  daddu     $a0, $s3, $zero
.L80242E7C:
/* A2D0BC 80242E7C 3C05FE36 */  lui       $a1, (0xFE363C80 >> 16)
.L80242E80:
/* A2D0C0 80242E80 0C0B210B */  jal       evt_get_float_variable
glabel func_80242E84
/* A2D0C4 80242E84 34A53C80 */   ori      $a1, $a1, (0xFE363C80 & 0xFFFF)
D_80242E88:
/* A2D0C8 80242E88 461C0002 */  mul.s     $f0, $f0, $f28
glabel func_80242E8C
/* A2D0CC 80242E8C 00000000 */  nop
D_80242E90:
/* A2D0D0 80242E90 3C013F80 */  lui       $at, (0x3F800000 >> 16)
glabel .L80242E94
/* A2D0D4 80242E94 4481A000 */  mtc1      $at, $f20
jtbl_80242E98:
/* A2D0D8 80242E98 00000000 */  nop
.L80242E9C:
/* A2D0DC 80242E9C 461CA501 */  sub.s     $f20, $f20, $f28
D_80242EA0:
/* A2D0E0 80242EA0 C6220000 */  lwc1      $f2, 0x0($s1)
.L80242EA4:
/* A2D0E4 80242EA4 46141082 */  mul.s     $f2, $f2, $f20
flo_08_pad_2EA8:
/* A2D0E8 80242EA8 00000000 */  nop
D_80242EAC:
/* A2D0EC 80242EAC 46020000 */  add.s     $f0, $f0, $f2
D_80242EB0:
/* A2D0F0 80242EB0 3C014248 */  lui       $at, (0x42480000 >> 16)
glabel func_80242EB4
/* A2D0F4 80242EB4 4481B000 */  mtc1      $at, $f22
glabel func_80242EB8
/* A2D0F8 80242EB8 0260202D */  daddu     $a0, $s3, $zero
glabel func_80242EBC
/* A2D0FC 80242EBC 46160001 */  sub.s     $f0, $f0, $f22
.L80242EC0:
/* A2D100 80242EC0 3C05FE36 */  lui       $a1, (0xFE363C81 >> 16)
glabel func_80242EC4_EA37C4
/* A2D104 80242EC4 34A53C81 */  ori       $a1, $a1, (0xFE363C81 & 0xFFFF)
.L80242EC8:
/* A2D108 80242EC8 0C0B210B */  jal       evt_get_float_variable
D_80242ECC:
/* A2D10C 80242ECC E6400000 */   swc1     $f0, 0x0($s2)
.L80242ED0:
/* A2D110 80242ED0 461C0002 */  mul.s     $f0, $f0, $f28
.L80242ED4:
/* A2D114 80242ED4 00000000 */  nop
.L80242ED8:
/* A2D118 80242ED8 C6220004 */  lwc1      $f2, 0x4($s1)
.L80242EDC:
/* A2D11C 80242EDC 46141082 */  mul.s     $f2, $f2, $f20
D_80242EE0:
/* A2D120 80242EE0 00000000 */  nop
.L80242EE4:
/* A2D124 80242EE4 46020000 */  add.s     $f0, $f0, $f2
D_80242EE8:
/* A2D128 80242EE8 C7A40010 */  lwc1      $f4, 0x10($sp)
.L80242EEC:
/* A2D12C 80242EEC 0260202D */  daddu     $a0, $s3, $zero
D_80242EF0:
/* A2D130 80242EF0 46040000 */  add.s     $f0, $f0, $f4
.L80242EF4:
/* A2D134 80242EF4 3C05FE36 */  lui       $a1, (0xFE363C82 >> 16)
glabel func_80242EF8
/* A2D138 80242EF8 34A53C82 */  ori       $a1, $a1, (0xFE363C82 & 0xFFFF)
.L80242EFC:
/* A2D13C 80242EFC 0C0B210B */  jal       evt_get_float_variable
D_80242F00:
/* A2D140 80242F00 E6400004 */   swc1     $f0, 0x4($s2)
/* A2D144 80242F04 461C0002 */  mul.s     $f0, $f0, $f28
glabel func_80242F08
/* A2D148 80242F08 00000000 */  nop
.L80242F0C:
/* A2D14C 80242F0C C6220008 */  lwc1      $f2, 0x8($s1)
D_80242F10:
/* A2D150 80242F10 46141082 */  mul.s     $f2, $f2, $f20
glabel func_80242F14
/* A2D154 80242F14 00000000 */  nop
.L80242F18:
/* A2D158 80242F18 46020000 */  add.s     $f0, $f0, $f2
glabel func_80242F1C
/* A2D15C 80242F1C 46160001 */  sub.s     $f0, $f0, $f22
glabel func_80242F20
/* A2D160 80242F20 E6400008 */  swc1      $f0, 0x8($s2)
/* A2D164 80242F24 AE750084 */  sw        $s5, 0x84($s3)
D_80242F28:
/* A2D168 80242F28 AE700088 */  sw        $s0, 0x88($s3)
.L80242F2C:
/* A2D16C 80242F2C AE74008C */  sw        $s4, 0x8C($s3)
D_80242F30:
/* A2D170 80242F30 8FBF0034 */  lw        $ra, 0x34($sp)
D_80242F34:
/* A2D174 80242F34 8FB60030 */  lw        $s6, 0x30($sp)
D_80242F38:
/* A2D178 80242F38 8FB5002C */  lw        $s5, 0x2C($sp)
glabel func_80242F3C
/* A2D17C 80242F3C 8FB40028 */  lw        $s4, 0x28($sp)
D_80242F40:
/* A2D180 80242F40 8FB30024 */  lw        $s3, 0x24($sp)
glabel func_80242F44
/* A2D184 80242F44 8FB20020 */  lw        $s2, 0x20($sp)
.L80242F48:
/* A2D188 80242F48 8FB1001C */  lw        $s1, 0x1C($sp)
.L80242F4C:
/* A2D18C 80242F4C 8FB00018 */  lw        $s0, 0x18($sp)
D_80242F50:
/* A2D190 80242F50 D7BE0060 */  ldc1      $f30, 0x60($sp)
glabel func_80242F54
/* A2D194 80242F54 D7BC0058 */  ldc1      $f28, 0x58($sp)
D_80242F58:
/* A2D198 80242F58 D7BA0050 */  ldc1      $f26, 0x50($sp)
.L80242F5C:
/* A2D19C 80242F5C D7B80048 */  ldc1      $f24, 0x48($sp)
D_80242F60:
/* A2D1A0 80242F60 D7B60040 */  ldc1      $f22, 0x40($sp)
glabel dead_kzn_17_UnkFunc48
/* A2D1A4 80242F64 D7B40038 */  ldc1      $f20, 0x38($sp)
D_80242F68:
/* A2D1A8 80242F68 24020002 */  addiu     $v0, $zero, 0x2
glabel func_80242F6C
/* A2D1AC 80242F6C 03E00008 */  jr        $ra
glabel func_80242F70
/* A2D1B0 80242F70 27BD0068 */   addiu    $sp, $sp, 0x68

### DECOMPILED C INSTRUCTIONS:

API_CALLABLE(func_802428C8_A2CB08) {
    Bytecode* args = script->ptrReadPos;
    s32 arg0 = evt_get_variable(script, *args++);
    f32 arg1 = evt_get_float_variable(script, *args++);
    f32 arg2 = evt_get_float_variable(script, *args++);
    EffectInstance* arrayVar0;
    f32 xPos, yPos, zPos;
    EffectInstance* effect;
    UnkHos05Path* path;
    Vec3f* point;
    Vec3f* endPoint;
    s32 numPoints;
    s32 pathTime;
    s32 i;

    arrayVar0 = (EffectInstance*) evt_get_variable(script, ArrayVar(0));
    effect = arrayVar0;

    // set endPoint
    switch (arg0) {
        case 1:
            path = &N(D_8024F3F8)[0];
            i = 1;
            point = &path->startPoint;
            pathTime = 30;
            numPoints = 3;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                // @bug should be `zPos = effect->data.somethingRotating->pos.z + cos_deg(angle) * radius * temp_f24;`
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
        case 2:
            path = &N(D_8024F3F8)[1];
            i = 7;
            point = &path->startPoint;
            pathTime = 30;
            numPoints = 3;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
        case 3:
            path = &N(D_8024F3F8)[2];
            i = 3;
            point = &path->startPoint;
            pathTime = 30;
            numPoints = 3;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
        case 4:
            path = &N(D_8024F3F8)[3];
            i = 4;
            point = &path->startPoint;
            pathTime = 30;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                numPoints = 3;
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
        case 5:
            path = &N(D_8024F3F8)[4];
            i = 6;
            point = &path->startPoint;
            pathTime = 30;
            numPoints = 3;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
        case 6:
            path = &N(D_8024F3F8)[5];
            i = 2;
            point = &path->startPoint;
            pathTime = 30;
            numPoints = 3;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
        default:
            path = &N(D_8024F3F8)[6];
            i = 5;
            point = &path->startPoint;
            pathTime = 30;
            numPoints = 3;
            {
                f32 angle = 90.0f;
                u32 unk_14 = effect->data.somethingRotating->unk_14 + 30;
                f32 angle3 = unk_14 * 4.0f + (f32) i * 51.43;
                f32 radius = 50.0f;
                f32 temp_f24 = sin_deg(angle3);
                xPos = effect->data.somethingRotating->pos.x + sin_deg(angle) * radius * temp_f24 ;
                yPos = effect->data.somethingRotating->pos.y + cos_deg(angle3) * radius;
                zPos = effect->data.somethingRotating->pos.z + sin_deg(angle) * radius * temp_f24;
                path->endPoint.x = xPos;
                path->endPoint.y = yPos;
                path->endPoint.z = zPos;
            }
            break;
    }

    // set startPoint
    point->x = evt_get_float_variable(script, LVar0);
    point->y = evt_get_float_variable(script, LVar1);
    point->z = evt_get_float_variable(script, LVar2);

    endPoint = &point[2];
    point++;

    // set midPoint
    if (arg0 != 2) {
        point->x = (evt_get_float_variable(script, LVar0) * arg2) + (endPoint->x * (1.0f - arg2));
        point->y = (evt_get_float_variable(script, LVar1) * arg2) + (endPoint->y * (1.0f - arg2)) + arg1;
        point->z = (evt_get_float_variable(script, LVar2) * arg2) + (endPoint->z * (1.0f - arg2));
    } else {
        point->x = ((evt_get_float_variable(script, LVar0) * arg2) + (endPoint->x * (1.0f - arg2))) - 50.0f;
        point->y = (evt_get_float_variable(script, LVar1) * arg2) + (endPoint->y * (1.0f - arg2)) + arg1;
        point->z = ((evt_get_float_variable(script, LVar2) * arg2) + (endPoint->z * (1.0f - arg2))) - 50.0f;
    }

    script->varTable[0] = pathTime;
    script->varTablePtr[1] = path;
    script->varTable[2] = numPoints;
    return ApiStatus_DONE2;
}


### RAW ASSEMBLY INSTRUCTIONS:

dlabel func_802A3C98_7AB638
/* 418A28 802A3C98 3C02802B */  lui       $v0, %hi(battle_menu_moveState)
/* 418A2C 802A3C9C 9042D108 */  lbu       $v0, %lo(battle_menu_moveState)($v0)
/* 418A30 802A3CA0 27BDFFB8 */  addiu     $sp, $sp, -0x48
/* 418A34 802A3CA4 AFBF0044 */  sw        $ra, 0x44($sp)
/* 418A38 802A3CA8 AFBE0040 */  sw        $fp, 0x40($sp)
/* 418A3C 802A3CAC AFB7003C */  sw        $s7, 0x3C($sp)
/* 418A40 802A3CB0 AFB60038 */  sw        $s6, 0x38($sp)
/* 418A44 802A3CB4 AFB50034 */  sw        $s5, 0x34($sp)
/* 418A48 802A3CB8 AFB40030 */  sw        $s4, 0x30($sp)
/* 418A4C 802A3CBC AFB3002C */  sw        $s3, 0x2C($sp)
/* 418A50 802A3CC0 AFB20028 */  sw        $s2, 0x28($sp)
/* 418A54 802A3CC4 AFB10024 */  sw        $s1, 0x24($sp)
/* 418A58 802A3CC8 AFB00020 */  sw        $s0, 0x20($sp)
/* 418A5C 802A3CCC AFA5004C */  sw        $a1, 0x4C($sp)
/* 418A60 802A3CD0 24420001 */  addiu     $v0, $v0, 0x1
/* 418A64 802A3CD4 00021600 */  sll       $v0, $v0, 24
/* 418A68 802A3CD8 00021E03 */  sra       $v1, $v0, 24
/* 418A6C 802A3CDC 2C62002B */  sltiu     $v0, $v1, 0x2B
/* 418A70 802A3CE0 104001B2 */  beqz      $v0, .L802A43AC_7ABD4C
/* 418A74 802A3CE4 AFA60050 */   sw       $a2, 0x50($sp)
/* 418A78 802A3CE8 00031080 */  sll       $v0, $v1, 2
/* 418A7C 802A3CEC 3C01802B */  lui       $at, %hi(jtbl_802AB8C0_7B3260)
D_802A3CF0_7AB690:
/* 418A80 802A3CF0 00220821 */  addu      $at, $at, $v0
/* 418A84 802A3CF4 8C22B8C0 */  lw        $v0, %lo(jtbl_802AB8C0_7B3260)($at)
/* 418A88 802A3CF8 00400008 */  jr        $v0
/* 418A8C 802A3CFC 00000000 */   nop
glabel .L802A3D00_7AB6A0
/* 418A90 802A3D00 3C03802B */  lui       $v1, %hi(battle_menu_moveScrollLine)
/* 418A94 802A3D04 8063D10C */  lb        $v1, %lo(battle_menu_moveScrollLine)($v1)
/* 418A98 802A3D08 3C08802B */  lui       $t0, %hi(battle_menu_moveScrollOffset)
/* 418A9C 802A3D0C 8508D110 */  lh        $t0, %lo(battle_menu_moveScrollOffset)($t0)
/* 418AA0 802A3D10 3C013FE0 */  lui       $at, (0x3FE00000 >> 16)
/* 418AA4 802A3D14 44811800 */  mtc1      $at, $f3
/* 418AA8 802A3D18 44801000 */  mtc1      $zero, $f2
D_802A3D1C_7AB6BC:
/* 418AAC 802A3D1C 00031823 */  negu      $v1, $v1
/* 418AB0 802A3D20 00031040 */  sll       $v0, $v1, 1
/* 418AB4 802A3D24 00431021 */  addu      $v0, $v0, $v1
/* 418AB8 802A3D28 00021080 */  sll       $v0, $v0, 2
/* 418ABC 802A3D2C 00438821 */  addu      $s1, $v0, $v1
/* 418AC0 802A3D30 02281023 */  subu      $v0, $s1, $t0
/* 418AC4 802A3D34 44820000 */  mtc1      $v0, $f0
D_802A3D38_7AB6D8:
/* 418AC8 802A3D38 00000000 */  nop
/* 418ACC 802A3D3C 46800021 */  cvt.d.w   $f0, $f0
/* 418AD0 802A3D40 46220002 */  mul.d     $f0, $f0, $f2
/* 418AD4 802A3D44 00000000 */  nop
/* 418AD8 802A3D48 4620018D */  trunc.w.d $f6, $f0
/* 418ADC 802A3D4C 44023000 */  mfc1      $v0, $f6
/* 418AE0 802A3D50 00000000 */  nop
/* 418AE4 802A3D54 14400002 */  bnez      $v0, .L802A3D60_7AB700
/* 418AE8 802A3D58 01024021 */   addu     $t0, $t0, $v0
/* 418AEC 802A3D5C 0220402D */  daddu     $t0, $s1, $zero
.L802A3D60_7AB700:
/* 418AF0 802A3D60 0000982D */  daddu     $s3, $zero, $zero
/* 418AF4 802A3D64 3C06800A */  lui       $a2, %hi(gMainGfxPos)
/* 418AF8 802A3D68 24C6A66C */  addiu     $a2, $a2, %lo(gMainGfxPos)
/* 418AFC 802A3D6C 3C05802B */  lui       $a1, %hi(battle_menu_moveScrollOffset)
/* 418B00 802A3D70 24A5D110 */  addiu     $a1, $a1, %lo(battle_menu_moveScrollOffset)
/* 418B04 802A3D74 8FA9004C */  lw        $t1, 0x4C($sp)
/* 418B08 802A3D78 8CC40000 */  lw        $a0, 0x0($a2)
/* 418B0C 802A3D7C 3C03802B */  lui       $v1, %hi(D_802AD10E)
/* 418B10 802A3D80 8063D10E */  lb        $v1, %lo(D_802AD10E)($v1)
/* 418B14 802A3D84 3C014080 */  lui       $at, (0x40800000 >> 16)
/* 418B18 802A3D88 44812000 */  mtc1      $at, $f4
/* 418B1C 802A3D8C 25350002 */  addiu     $s5, $t1, 0x2
/* 418B20 802A3D90 44951000 */  mtc1      $s5, $f2
/* 418B24 802A3D94 00000000 */  nop
/* 418B28 802A3D98 468010A0 */  cvt.s.w   $f2, $f2
/* 418B2C 802A3D9C 00031040 */  sll       $v0, $v1, 1
/* 418B30 802A3DA0 00431021 */  addu      $v0, $v0, $v1
/* 418B34 802A3DA4 00021080 */  sll       $v0, $v0, 2
/* 418B38 802A3DA8 00431021 */  addu      $v0, $v0, $v1
/* 418B3C 802A3DAC 24420001 */  addiu     $v0, $v0, 0x1
/* 418B40 802A3DB0 0080382D */  daddu     $a3, $a0, $zero
/* 418B44 802A3DB4 8FA90050 */  lw        $t1, 0x50($sp)
/* 418B48 802A3DB8 46041082 */  mul.s     $f2, $f2, $f4
/* 418B4C 802A3DBC 00000000 */  nop
/* 418B50 802A3DC0 25310012 */  addiu     $s1, $t1, 0x12
/* 418B54 802A3DC4 8FA9004C */  lw        $t1, 0x4C($sp)
/* 418B58 802A3DC8 24840008 */  addiu     $a0, $a0, 0x8
/* 418B5C 802A3DCC A4A80000 */  sh        $t0, 0x0($a1)
/* 418B60 802A3DD0 02224021 */  addu      $t0, $s1, $v0
/* 418B64 802A3DD4 44910000 */  mtc1      $s1, $f0
/* 418B68 802A3DD8 00000000 */  nop
/* 418B6C 802A3DDC 46800020 */  cvt.s.w   $f0, $f0
/* 418B70 802A3DE0 46040002 */  mul.s     $f0, $f0, $f4
/* 418B74 802A3DE4 00000000 */  nop
/* 418B78 802A3DE8 84A20000 */  lh        $v0, 0x0($a1)
/* 418B7C 802A3DEC 2535001F */  addiu     $s5, $t1, 0x1F
/* 418B80 802A3DF0 8FA90050 */  lw        $t1, 0x50($sp)
/* 418B84 802A3DF4 24420013 */  addiu     $v0, $v0, 0x13
/* 418B88 802A3DF8 ACC40000 */  sw        $a0, 0x0($a2)
/* 418B8C 802A3DFC 01228821 */  addu      $s1, $t1, $v0
/* 418B90 802A3E00 4600118D */  trunc.w.s $f6, $f2
/* 418B94 802A3E04 44033000 */  mfc1      $v1, $f6
/* 418B98 802A3E08 00000000 */  nop
/* 418B9C 802A3E0C 30630FFF */  andi      $v1, $v1, 0xFFF
/* 418BA0 802A3E10 00031B00 */  sll       $v1, $v1, 12
/* 418BA4 802A3E14 4600018D */  trunc.w.s $f6, $f0
/* 418BA8 802A3E18 44043000 */  mfc1      $a0, $f6
/* 418BAC 802A3E1C 00000000 */  nop
/* 418BB0 802A3E20 30840FFF */  andi      $a0, $a0, 0xFFF
/* 418BB4 802A3E24 8FA9004C */  lw        $t1, 0x4C($sp)
/* 418BB8 802A3E28 44880000 */  mtc1      $t0, $f0
/* 418BBC 802A3E2C 00000000 */  nop
/* 418BC0 802A3E30 46800020 */  cvt.s.w   $f0, $f0
/* 418BC4 802A3E34 25220099 */  addiu     $v0, $t1, 0x99
/* 418BC8 802A3E38 44821000 */  mtc1      $v0, $f2
/* 418BCC 802A3E3C 00000000 */  nop
/* 418BD0 802A3E40 468010A0 */  cvt.s.w   $f2, $f2
/* 418BD4 802A3E44 46041082 */  mul.s     $f2, $f2, $f4
/* 418BD8 802A3E48 00000000 */  nop
/* 418BDC 802A3E4C 3C02ED00 */  lui       $v0, (0xED000000 >> 16)
/* 418BE0 802A3E50 00822025 */  or        $a0, $a0, $v0
/* 418BE4 802A3E54 00641825 */  or        $v1, $v1, $a0
/* 418BE8 802A3E58 3C04802B */  lui       $a0, %hi(BattleMenu_Moves_OptionCount)
D_802A3E5C_7AB7FC:
/* 418BEC 802A3E5C 8C84D4A4 */  lw        $a0, %lo(BattleMenu_Moves_OptionCount)($a0)
/* 418BF0 802A3E60 46040002 */  mul.s     $f0, $f0, $f4
/* 418BF4 802A3E64 00000000 */  nop
/* 418BF8 802A3E68 ACE30000 */  sw        $v1, 0x0($a3)
/* 418BFC 802A3E6C 4600118D */  trunc.w.s $f6, $f2
/* 418C00 802A3E70 44023000 */  mfc1      $v0, $f6
/* 418C04 802A3E74 00000000 */  nop
/* 418C08 802A3E78 30420FFF */  andi      $v0, $v0, 0xFFF
/* 418C0C 802A3E7C 00021300 */  sll       $v0, $v0, 12
/* 418C10 802A3E80 4600018D */  trunc.w.s $f6, $f0
/* 418C14 802A3E84 44033000 */  mfc1      $v1, $f6
D_802A3E88_7AB828:
/* 418C18 802A3E88 00000000 */  nop
/* 418C1C 802A3E8C 30630FFF */  andi      $v1, $v1, 0xFFF
D_802A3E90_7AB830:
/* 418C20 802A3E90 00431025 */  or        $v0, $v0, $v1
/* 418C24 802A3E94 188000BC */  blez      $a0, .L802A4188_7ABB28
/* 418C28 802A3E98 ACE20004 */   sw       $v0, 0x4($a3)
/* 418C2C 802A3E9C 3C16802B */  lui       $s6, %hi(BattleMenu_Moves_OptionEnabled)
/* 418C30 802A3EA0 26D6D510 */  addiu     $s6, $s6, %lo(BattleMenu_Moves_OptionEnabled)
/* 418C34 802A3EA4 3C1E802B */  lui       $fp, %hi(battle_menu_moveOptionDisplayCosts)
/* 418C38 802A3EA8 27DED320 */  addiu     $fp, $fp, %lo(battle_menu_moveOptionDisplayCosts)
/* 418C3C 802A3EAC 3C14802B */  lui       $s4, %hi(BattleMenu_Moves_OptionIndexMap)
/* 418C40 802A3EB0 2694D1F8 */  addiu     $s4, $s4, %lo(BattleMenu_Moves_OptionIndexMap)
/* 418C44 802A3EB4 0260B82D */  daddu     $s7, $s3, $zero
.L802A3EB8_7AB858:
/* 418C48 802A3EB8 3C03802B */  lui       $v1, %hi(battle_menu_moveScrollLine)
/* 418C4C 802A3EBC 8063D10C */  lb        $v1, %lo(battle_menu_moveScrollLine)($v1)
/* 418C50 802A3EC0 2462FFFF */  addiu     $v0, $v1, -0x1
/* 418C54 802A3EC4 0262102A */  slt       $v0, $s3, $v0
/* 418C58 802A3EC8 544000A7 */  bnel      $v0, $zero, .L802A4168_7ABB08
/* 418C5C 802A3ECC 2631000D */   addiu    $s1, $s1, 0xD
/* 418C60 802A3ED0 3C02802B */  lui       $v0, %hi(D_802AD10E)
/* 418C64 802A3ED4 8042D10E */  lb        $v0, %lo(D_802AD10E)($v0)
/* 418C68 802A3ED8 00621021 */  addu      $v0, $v1, $v0
/* 418C6C 802A3EDC 0053102A */  slt       $v0, $v0, $s3
/* 418C70 802A3EE0 544000A1 */  bnel      $v0, $zero, .L802A4168_7ABB08
/* 418C74 802A3EE4 2631000D */   addiu    $s1, $s1, 0xD
/* 418C78 802A3EE8 8E820000 */  lw        $v0, 0x0($s4)
/* 418C7C 802A3EEC 00022080 */  sll       $a0, $v0, 2
/* 418C80 802A3EF0 00961021 */  addu      $v0, $a0, $s6
/* 418C84 802A3EF4 8C420000 */  lw        $v0, 0x0($v0)
/* 418C88 802A3EF8 3C08802B */  lui       $t0, %hi(BattleMenu_Moves_TextColor)
/* 418C8C 802A3EFC 8508D114 */  lh        $t0, %lo(BattleMenu_Moves_TextColor)($t0)
D_802A3F00_7AB8A0:
/* 418C90 802A3F00 58400001 */  blezl     $v0, .L802A3F08_7AB8A8
/* 418C94 802A3F04 2408000B */   addiu    $t0, $zero, 0xB
.L802A3F08_7AB8A8:
/* 418C98 802A3F08 3C02802B */  lui       $v0, %hi(battle_menu_moveOptionNames)
/* 418C9C 802A3F0C 2442D2C0 */  addiu     $v0, $v0, %lo(battle_menu_moveOptionNames)
/* 418CA0 802A3F10 00822021 */  addu      $a0, $a0, $v0
/* 418CA4 802A3F14 8C820000 */  lw        $v0, 0x0($a0)
/* 418CA8 802A3F18 04400009 */  bltz      $v0, .L802A3F40_7AB8E0
/* 418CAC 802A3F1C 02A0282D */   daddu    $a1, $s5, $zero
/* 418CB0 802A3F20 3C07802B */  lui       $a3, %hi(BattleMenu_Moves_TextAlpha)
/* 418CB4 802A3F24 84E7D116 */  lh        $a3, %lo(BattleMenu_Moves_TextAlpha)($a3)
D_802A3F28_7AB8C8:
/* 418CB8 802A3F28 24020001 */  addiu     $v0, $zero, 0x1
/* 418CBC 802A3F2C AFA80010 */  sw        $t0, 0x10($sp)
/* 418CC0 802A3F30 AFA20014 */  sw        $v0, 0x14($sp)
/* 418CC4 802A3F34 8C840000 */  lw        $a0, 0x0($a0)
/* 418CC8 802A3F38 0C04993B */  jal       draw_msg
/* 418CCC 802A3F3C 0220302D */   daddu    $a2, $s1, $zero
.L802A3F40_7AB8E0:
/* 418CD0 802A3F40 8E820000 */  lw        $v0, 0x0($s4)
/* 418CD4 802A3F44 00021880 */  sll       $v1, $v0, 2
/* 418CD8 802A3F48 3C04802B */  lui       $a0, %hi(battle_menu_moveOptionDisplayCostReductions)
/* 418CDC 802A3F4C 00832021 */  addu      $a0, $a0, $v1
D_802A3F50_7AB8F0:
/* 418CE0 802A3F50 8C84D380 */  lw        $a0, %lo(battle_menu_moveOptionDisplayCostReductions)($a0)
/* 418CE4 802A3F54 007E1021 */  addu      $v0, $v1, $fp
D_802A3F58_7AB8F8:
/* 418CE8 802A3F58 8C420000 */  lw        $v0, 0x0($v0)
/* 418CEC 802A3F5C 10400003 */  beqz      $v0, .L802A3F6C_7AB90C
/* 418CF0 802A3F60 00449023 */   subu     $s2, $v0, $a0
/* 418CF4 802A3F64 5A400001 */  blezl     $s2, .L802A3F6C_7AB90C
/* 418CF8 802A3F68 24120001 */   addiu    $s2, $zero, 0x1
.L802A3F6C_7AB90C:
/* 418CFC 802A3F6C 3C02802B */  lui       $v0, %hi(BattleMenu_UsingSpiritsSubmenu)
/* 418D00 802A3F70 8C42D4A0 */  lw        $v0, %lo(BattleMenu_UsingSpiritsSubmenu)($v0)
/* 418D04 802A3F74 14400015 */  bnez      $v0, .L802A3FCC_7AB96C
/* 418D08 802A3F78 00000000 */   nop
/* 418D0C 802A3F7C 3C02802B */  lui       $v0, %hi(battle_menu_moveCursorPos)
/* 418D10 802A3F80 8042D109 */  lb        $v0, %lo(battle_menu_moveCursorPos)($v0)
/* 418D14 802A3F84 16620025 */  bne       $s3, $v0, .L802A401C_7AB9BC
D_802A3F88_7AB928:
/* 418D18 802A3F88 00131080 */   sll      $v0, $s3, 2
/* 418D1C 802A3F8C 12400007 */  beqz      $s2, .L802A3FAC_7AB94C
/* 418D20 802A3F90 00000000 */   nop
/* 418D24 802A3F94 8E820000 */  lw        $v0, 0x0($s4)
/* 418D28 802A3F98 00021080 */  sll       $v0, $v0, 2
/* 418D2C 802A3F9C 00561021 */  addu      $v0, $v0, $s6
/* 418D30 802A3FA0 8C420000 */  lw        $v0, 0x0($v0)
/* 418D34 802A3FA4 1C400005 */  bgtz      $v0, .L802A3FBC_7AB95C
/* 418D38 802A3FA8 00000000 */   nop
.L802A3FAC_7AB94C:
/* 418D3C 802A3FAC 0C03A674 */  jal       status_bar_stop_blinking_fp
/* 418D40 802A3FB0 00000000 */   nop
/* 418D44 802A3FB4 080A9007 */  j         .L802A401C_7AB9BC
/* 418D48 802A3FB8 00131080 */   sll      $v0, $s3, 2
.L802A3FBC_7AB95C:
/* 418D4C 802A3FBC 0C03A663 */  jal       status_bar_start_blinking_fp
/* 418D50 802A3FC0 00000000 */   nop
/* 418D54 802A3FC4 080A9007 */  j         .L802A401C_7AB9BC
/* 418D58 802A3FC8 00131080 */   sll      $v0, $s3, 2
.L802A3FCC_7AB96C:
/* 418D5C 802A3FCC 3C02802B */  lui       $v0, %hi(battle_menu_moveCursorPos)
/* 418D60 802A3FD0 8042D109 */  lb        $v0, %lo(battle_menu_moveCursorPos)($v0)
/* 418D64 802A3FD4 16620011 */  bne       $s3, $v0, .L802A401C_7AB9BC
/* 418D68 802A3FD8 00131080 */   sll      $v0, $s3, 2
/* 418D6C 802A3FDC 12400007 */  beqz      $s2, .L802A3FFC_7AB99C
D_802A3FE0_7AB980:
/* 418D70 802A3FE0 00000000 */   nop
/* 418D74 802A3FE4 8E820000 */  lw        $v0, 0x0($s4)
/* 418D78 802A3FE8 00021880 */  sll       $v1, $v0, 2
/* 418D7C 802A3FEC 00761021 */  addu      $v0, $v1, $s6
/* 418D80 802A3FF0 8C420000 */  lw        $v0, 0x0($v0)
D_802A3FF4_7AB994:
/* 418D84 802A3FF4 1C400005 */  bgtz      $v0, .L802A400C_7AB9AC
/* 418D88 802A3FF8 007E1021 */   addu     $v0, $v1, $fp
.L802A3FFC_7AB99C:
/* 418D8C 802A3FFC 0C03A6A5 */  jal       status_bar_stop_blinking_sp
/* 418D90 802A4000 00000000 */   nop
/* 418D94 802A4004 080A9007 */  j         .L802A401C_7AB9BC
/* 418D98 802A4008 00131080 */   sll      $v0, $s3, 2
.L802A400C_7AB9AC:
/* 418D9C 802A400C 8C440000 */  lw        $a0, 0x0($v0)
/* 418DA0 802A4010 0C03A6AE */  jal       status_bar_start_blinking_sp_bars
/* 418DA4 802A4014 00000000 */   nop
D_802A4018_7AB9B8:
/* 418DA8 802A4018 00131080 */  sll       $v0, $s3, 2
.L802A401C_7AB9BC:
/* 418DAC 802A401C 3C03802B */  lui       $v1, %hi(battle_menu_moveOptionDisplayCostReductionColors)
D_802A4020_7AB9C0:
/* 418DB0 802A4020 00621821 */  addu      $v1, $v1, $v0
/* 418DB4 802A4024 8C63D3E0 */  lw        $v1, %lo(battle_menu_moveOptionDisplayCostReductionColors)($v1)
/* 418DB8 802A4028 10600005 */  beqz      $v1, .L802A4040_7AB9E0
/* 418DBC 802A402C 24020001 */   addiu    $v0, $zero, 0x1
/* 418DC0 802A4030 10620005 */  beq       $v1, $v0, .L802A4048_7AB9E8
/* 418DC4 802A4034 24080038 */   addiu    $t0, $zero, 0x38
/* 418DC8 802A4038 080A9013 */  j         .L802A404C_7AB9EC
/* 418DCC 802A403C 00000000 */   nop
.L802A4040_7AB9E0:
/* 418DD0 802A4040 080A9013 */  j         .L802A404C_7AB9EC
/* 418DD4 802A4044 2408000A */   addiu    $t0, $zero, 0xA
.L802A4048_7AB9E8:
/* 418DD8 802A4048 24080037 */  addiu     $t0, $zero, 0x37
.L802A404C_7AB9EC:
/* 418DDC 802A404C 8E820000 */  lw        $v0, 0x0($s4)
/* 418DE0 802A4050 00021880 */  sll       $v1, $v0, 2
/* 418DE4 802A4054 00761021 */  addu      $v0, $v1, $s6
/* 418DE8 802A4058 8C420000 */  lw        $v0, 0x0($v0)
/* 418DEC 802A405C 58400001 */  blezl     $v0, .L802A4064_7ABA04
/* 418DF0 802A4060 2408000B */   addiu    $t0, $zero, 0xB
.L802A4064_7ABA04:
/* 418DF4 802A4064 007E1021 */  addu      $v0, $v1, $fp
/* 418DF8 802A4068 8C420000 */  lw        $v0, 0x0($v0)
/* 418DFC 802A406C 5040003E */  beql      $v0, $zero, .L802A4168_7ABB08
/* 418E00 802A4070 2631000D */   addiu    $s1, $s1, 0xD
/* 418E04 802A4074 3C02802B */  lui       $v0, %hi(BattleMenu_UsingSpiritsSubmenu)
/* 418E08 802A4078 8C42D4A0 */  lw        $v0, %lo(BattleMenu_UsingSpiritsSubmenu)($v0)
/* 418E0C 802A407C 3C10802B */  lui       $s0, %hi(BattleMenu_Moves_OptionCostUnitIDs)
/* 418E10 802A4080 02178021 */  addu      $s0, $s0, $s7
/* 418E14 802A4084 8E10D190 */  lw        $s0, %lo(BattleMenu_Moves_OptionCostUnitIDs)($s0)
/* 418E18 802A4088 14400018 */  bnez      $v0, .L802A40EC_7ABA8C
/* 418E1C 802A408C 0240202D */   daddu    $a0, $s2, $zero
/* 418E20 802A4090 26A5006C */  addiu     $a1, $s5, 0x6C
/* 418E24 802A4094 0220302D */  daddu     $a2, $s1, $zero
/* 418E28 802A4098 24070001 */  addiu     $a3, $zero, 0x1
/* 418E2C 802A409C 3C03802B */  lui       $v1, %hi(BattleMenu_Moves_TextAlpha)
/* 418E30 802A40A0 8463D116 */  lh        $v1, %lo(BattleMenu_Moves_TextAlpha)($v1)
/* 418E34 802A40A4 24020003 */  addiu     $v0, $zero, 0x3
/* 418E38 802A40A8 AFA80010 */  sw        $t0, 0x10($sp)
/* 418E3C 802A40AC AFA20018 */  sw        $v0, 0x18($sp)
/* 418E40 802A40B0 0C049DA7 */  jal       draw_number
/* 418E44 802A40B4 AFA30014 */   sw       $v1, 0x14($sp)
/* 418E48 802A40B8 8E820000 */  lw        $v0, 0x0($s4)
/* 418E4C 802A40BC 00021080 */  sll       $v0, $v0, 2
/* 418E50 802A40C0 00561021 */  addu      $v0, $v0, $s6
/* 418E54 802A40C4 8C420000 */  lw        $v0, 0x0($v0)
/* 418E58 802A40C8 5C400006 */  bgtzl     $v0, .L802A40E4_7ABA84
/* 418E5C 802A40CC 0200202D */   daddu    $a0, $s0, $zero
/* 418E60 802A40D0 3C058010 */  lui       $a1, %hi(HES_NotEnoughFP)
/* 418E64 802A40D4 24A576BC */  addiu     $a1, $a1, %lo(HES_NotEnoughFP)
/* 418E68 802A40D8 0C0511FF */  jal       hud_element_set_script
/* 418E6C 802A40DC 0200202D */   daddu    $a0, $s0, $zero
/* 418E70 802A40E0 0200202D */  daddu     $a0, $s0, $zero
.L802A40E4_7ABA84:
/* 418E74 802A40E4 080A9051 */  j         .L802A4144_7ABAE4
/* 418E78 802A40E8 26A50074 */   addiu    $a1, $s5, 0x74
.L802A40EC_7ABA8C:
/* 418E7C 802A40EC 26A5005D */  addiu     $a1, $s5, 0x5D
/* 418E80 802A40F0 0220302D */  daddu     $a2, $s1, $zero
/* 418E84 802A40F4 24070001 */  addiu     $a3, $zero, 0x1
/* 418E88 802A40F8 3C03802B */  lui       $v1, %hi(BattleMenu_Moves_TextAlpha)
/* 418E8C 802A40FC 8463D116 */  lh        $v1, %lo(BattleMenu_Moves_TextAlpha)($v1)
/* 418E90 802A4100 24020003 */  addiu     $v0, $zero, 0x3
/* 418E94 802A4104 AFA80010 */  sw        $t0, 0x10($sp)
/* 418E98 802A4108 AFA20018 */  sw        $v0, 0x18($sp)
/* 418E9C 802A410C 0C049DA7 */  jal       draw_number
/* 418EA0 802A4110 AFA30014 */   sw       $v1, 0x14($sp)
/* 418EA4 802A4114 8E820000 */  lw        $v0, 0x0($s4)
/* 418EA8 802A4118 00021080 */  sll       $v0, $v0, 2
/* 418EAC 802A411C 00561021 */  addu      $v0, $v0, $s6
/* 418EB0 802A4120 8C420000 */  lw        $v0, 0x0($v0)
/* 418EB4 802A4124 5C400006 */  bgtzl     $v0, .L802A4140_7ABAE0
/* 418EB8 802A4128 0200202D */   daddu    $a0, $s0, $zero
/* 418EBC 802A412C 3C058010 */  lui       $a1, %hi(HES_NotEnoughPOW)
/* 418EC0 802A4130 24A5776C */  addiu     $a1, $a1, %lo(HES_NotEnoughPOW)
/* 418EC4 802A4134 0C0511FF */  jal       hud_element_set_script
/* 418EC8 802A4138 0200202D */   daddu    $a0, $s0, $zero
/* 418ECC 802A413C 0200202D */  daddu     $a0, $s0, $zero
.L802A4140_7ABAE0:
/* 418ED0 802A4140 26A50066 */  addiu     $a1, $s5, 0x66
.L802A4144_7ABAE4:
/* 418ED4 802A4144 0C051261 */  jal       hud_element_set_render_pos
/* 418ED8 802A4148 26260007 */   addiu    $a2, $s1, 0x7
/* 418EDC 802A414C 3C05802B */  lui       $a1, %hi(BattleMenu_Moves_TextAlpha)
/* 418EE0 802A4150 84A5D116 */  lh        $a1, %lo(BattleMenu_Moves_TextAlpha)($a1)
/* 418EE4 802A4154 0C0513AC */  jal       hud_element_set_alpha
/* 418EE8 802A4158 0200202D */   daddu    $a0, $s0, $zero
/* 418EEC 802A415C 0C0511F8 */  jal       hud_element_draw_without_clipping
/* 418EF0 802A4160 0200202D */   daddu    $a0, $s0, $zero
D_802A4164_7ABB04:
/* 418EF4 802A4164 2631000D */  addiu     $s1, $s1, 0xD
.L802A4168_7ABB08:
/* 418EF8 802A4168 26730001 */  addiu     $s3, $s3, 0x1
/* 418EFC 802A416C 26940004 */  addiu     $s4, $s4, 0x4
/* 418F00 802A4170 3C02802B */  lui       $v0, %hi(BattleMenu_Moves_OptionCount)
/* 418F04 802A4174 8C42D4A4 */  lw        $v0, %lo(BattleMenu_Moves_OptionCount)($v0)
/* 418F08 802A4178 0262102A */  slt       $v0, $s3, $v0
/* 418F0C 802A417C 1440FF4E */  bnez      $v0, .L802A3EB8_7AB858
/* 418F10 802A4180 26F70004 */   addiu    $s7, $s7, 0x4
/* 418F14 802A4184 0000982D */  daddu     $s3, $zero, $zero
.L802A4188_7ABB28:
/* 418F18 802A4188 8FA9004C */  lw        $t1, 0x4C($sp)
/* 418F1C 802A418C 3C02802B */  lui       $v0, %hi(battle_menu_moveScrollOffset)
/* 418F20 802A4190 8442D110 */  lh        $v0, %lo(battle_menu_moveScrollOffset)($v0)
/* 418F24 802A4194 25350018 */  addiu     $s5, $t1, 0x18
/* 418F28 802A4198 8FA90050 */  lw        $t1, 0x50($sp)
/* 418F2C 802A419C 3C03802B */  lui       $v1, %hi(BattleMenu_Moves_OptionCount)
/* 418F30 802A41A0 8C63D4A4 */  lw        $v1, %lo(BattleMenu_Moves_OptionCount)($v1)
/* 418F34 802A41A4 00491021 */  addu      $v0, $v0, $t1
/* 418F38 802A41A8 18600022 */  blez      $v1, .L802A4234_7ABBD4
/* 418F3C 802A41AC 24510018 */   addiu    $s1, $v0, 0x18
/* 418F40 802A41B0 3C12802B */  lui       $s2, %hi(BattleMenu_Moves_OptionIDs)
/* 418F44 802A41B4 2652D128 */  addiu     $s2, $s2, %lo(BattleMenu_Moves_OptionIDs)
.L802A41B8_7ABB58:
/* 418F48 802A41B8 3C03802B */  lui       $v1, %hi(battle_menu_moveScrollLine)
/* 418F4C 802A41BC 8063D10C */  lb        $v1, %lo(battle_menu_moveScrollLine)($v1)
/* 418F50 802A41C0 2462FFFF */  addiu     $v0, $v1, -0x1
/* 418F54 802A41C4 0262102A */  slt       $v0, $s3, $v0
/* 418F58 802A41C8 54400014 */  bnel      $v0, $zero, .L802A421C_7ABBBC
/* 418F5C 802A41CC 2631000D */   addiu    $s1, $s1, 0xD
/* 418F60 802A41D0 3C02802B */  lui       $v0, %hi(D_802AD10E)
/* 418F64 802A41D4 8042D10E */  lb        $v0, %lo(D_802AD10E)($v0)
/* 418F68 802A41D8 00621021 */  addu      $v0, $v1, $v0
/* 418F6C 802A41DC 0053102A */  slt       $v0, $v0, $s3
/* 418F70 802A41E0 10400003 */  beqz      $v0, .L802A41F0_7ABB90
/* 418F74 802A41E4 02A0282D */   daddu    $a1, $s5, $zero
/* 418F78 802A41E8 080A9087 */  j         .L802A421C_7ABBBC
/* 418F7C 802A41EC 2631000D */   addiu    $s1, $s1, 0xD
.L802A41F0_7ABB90:
/* 418F80 802A41F0 0220302D */  daddu     $a2, $s1, $zero
/* 418F84 802A41F4 8E500000 */  lw        $s0, 0x0($s2)
/* 418F88 802A41F8 2631000D */  addiu     $s1, $s1, 0xD
/* 418F8C 802A41FC 0C051261 */  jal       hud_element_set_render_pos
/* 418F90 802A4200 0200202D */   daddu    $a0, $s0, $zero
/* 418F94 802A4204 3C05802B */  lui       $a1, %hi(BattleMenu_Moves_TextAlpha)
/* 418F98 802A4208 84A5D116 */  lh        $a1, %lo(BattleMenu_Moves_TextAlpha)($a1)
/* 418F9C 802A420C 0C0513AC */  jal       hud_element_set_alpha
/* 418FA0 802A4210 0200202D */   daddu    $a0, $s0, $zero
/* 418FA4 802A4214 0C0511F8 */  jal       hud_element_draw_without_clipping
/* 418FA8 802A4218 0200202D */   daddu    $a0, $s0, $zero
.L802A421C_7ABBBC:
/* 418FAC 802A421C 26730001 */  addiu     $s3, $s3, 0x1
/* 418FB0 802A4220 3C02802B */  lui       $v0, %hi(BattleMenu_Moves_OptionCount)
/* 418FB4 802A4224 8C42D4A4 */  lw        $v0, %lo(BattleMenu_Moves_OptionCount)($v0)
/* 418FB8 802A4228 0262102A */  slt       $v0, $s3, $v0
/* 418FBC 802A422C 1440FFE2 */  bnez      $v0, .L802A41B8_7ABB58
/* 418FC0 802A4230 26520004 */   addiu    $s2, $s2, 0x4
.L802A4234_7ABBD4:
/* 418FC4 802A4234 8FA9004C */  lw        $t1, 0x4C($sp)
/* 418FC8 802A4238 3C03802B */  lui       $v1, %hi(battle_menu_moveCursorPos)
/* 418FCC 802A423C 8063D109 */  lb        $v1, %lo(battle_menu_moveCursorPos)($v1)
/* 418FD0 802A4240 3C02802B */  lui       $v0, %hi(battle_menu_moveScrollLine)
/* 418FD4 802A4244 8042D10C */  lb        $v0, %lo(battle_menu_moveScrollLine)($v0)
/* 418FD8 802A4248 3C08802B */  lui       $t0, %hi(D_802AD112)
/* 418FDC 802A424C 8508D112 */  lh        $t0, %lo(D_802AD112)($t0)
/* 418FE0 802A4250 2535000A */  addiu     $s5, $t1, 0xA
/* 418FE4 802A4254 00621823 */  subu      $v1, $v1, $v0
/* 418FE8 802A4258 00031040 */  sll       $v0, $v1, 1
/* 418FEC 802A425C 00431021 */  addu      $v0, $v0, $v1
/* 418FF0 802A4260 00021080 */  sll       $v0, $v0, 2
/* 418FF4 802A4264 00438821 */  addu      $s1, $v0, $v1
/* 418FF8 802A4268 02281023 */  subu      $v0, $s1, $t0
/* 418FFC 802A426C 44820000 */  mtc1      $v0, $f0
/* 419000 802A4270 00000000 */  nop
/* 419004 802A4274 46800021 */  cvt.d.w   $f0, $f0
/* 419008 802A4278 4620018D */  trunc.w.d $f6, $f0
/* 41900C 802A427C 44023000 */  mfc1      $v0, $f6
/* 419010 802A4280 00000000 */  nop
/* 419014 802A4284 14400002 */  bnez      $v0, .L802A4290_7ABC30
/* 419018 802A4288 01024021 */   addu     $t0, $t0, $v0
/* 41901C 802A428C 0220402D */  daddu     $t0, $s1, $zero
.L802A4290_7ABC30:
/* 419020 802A4290 02A0282D */  daddu     $a1, $s5, $zero
/* 419024 802A4294 00083400 */  sll       $a2, $t0, 16
/* 419028 802A4298 00063403 */  sra       $a2, $a2, 16
/* 41902C 802A429C 3C10802B */  lui       $s0, %hi(BattleMenu_Moves_CursorID)
/* 419030 802A42A0 8E10D118 */  lw        $s0, %lo(BattleMenu_Moves_CursorID)($s0)
/* 419034 802A42A4 8FA90050 */  lw        $t1, 0x50($sp)
/* 419038 802A42A8 24C6001A */  addiu     $a2, $a2, 0x1A
/* 41903C 802A42AC 3C01802B */  lui       $at, %hi(D_802AD112)
/* 419040 802A42B0 A428D112 */  sh        $t0, %lo(D_802AD112)($at)
/* 419044 802A42B4 01263021 */  addu      $a2, $t1, $a2
/* 419048 802A42B8 0C051261 */  jal       hud_element_set_render_pos
/* 41904C 802A42BC 0200202D */   daddu    $a0, $s0, $zero
/* 419050 802A42C0 3C11802B */  lui       $s1, %hi(BattleMenu_Moves_TextAlpha)
/* 419054 802A42C4 2631D116 */  addiu     $s1, $s1, %lo(BattleMenu_Moves_TextAlpha)
/* 419058 802A42C8 86250000 */  lh        $a1, 0x0($s1)
/* 41905C 802A42CC 0C0513AC */  jal       hud_element_set_alpha
/* 419060 802A42D0 0200202D */   daddu    $a0, $s0, $zero
/* 419064 802A42D4 0C0511F8 */  jal       hud_element_draw_without_clipping
/* 419068 802A42D8 0200202D */   daddu    $a0, $s0, $zero
/* 41906C 802A42DC 3C02802B */  lui       $v0, %hi(battle_menu_moveScrollLine)
/* 419070 802A42E0 8042D10C */  lb        $v0, %lo(battle_menu_moveScrollLine)($v0)
/* 419074 802A42E4 1840000E */  blez      $v0, .L802A4320_7ABCC0
D_802A42E8_7ABC88:
/* 419078 802A42E8 00000000 */   nop
/* 41907C 802A42EC 8FA9004C */  lw        $t1, 0x4C($sp)
/* 419080 802A42F0 3C10802B */  lui       $s0, %hi(BattleMenu_Moves_UpArrowID)
/* 419084 802A42F4 8E10D11C */  lw        $s0, %lo(BattleMenu_Moves_UpArrowID)($s0)
/* 419088 802A42F8 25250048 */  addiu     $a1, $t1, 0x48
/* 41908C 802A42FC 8FA90050 */  lw        $t1, 0x50($sp)
/* 419090 802A4300 0200202D */  daddu     $a0, $s0, $zero
/* 419094 802A4304 0C051261 */  jal       hud_element_set_render_pos
/* 419098 802A4308 2526000F */   addiu    $a2, $t1, 0xF
/* 41909C 802A430C 86250000 */  lh        $a1, 0x0($s1)
/* 4190A0 802A4310 0C0513AC */  jal       hud_element_set_alpha
/* 4190A4 802A4314 0200202D */   daddu    $a0, $s0, $zero
/* 4190A8 802A4318 0C0511EA */  jal       hud_element_draw_clipped
/* 4190AC 802A431C 0200202D */   daddu    $a0, $s0, $zero
.L802A4320_7ABCC0:
/* 4190B0 802A4320 3C02802B */  lui       $v0, %hi(D_802AD10D)
/* 4190B4 802A4324 8042D10D */  lb        $v0, %lo(D_802AD10D)($v0)
/* 4190B8 802A4328 3C03802B */  lui       $v1, %hi(BattleMenu_Moves_OptionCount)
/* 4190BC 802A432C 8C63D4A4 */  lw        $v1, %lo(BattleMenu_Moves_OptionCount)($v1)
/* 4190C0 802A4330 0043102A */  slt       $v0, $v0, $v1
/* 4190C4 802A4334 1040000E */  beqz      $v0, .L802A4370_7ABD10
/* 4190C8 802A4338 00000000 */   nop
/* 4190CC 802A433C 8FA9004C */  lw        $t1, 0x4C($sp)
D_802A4340_7ABCE0:
/* 4190D0 802A4340 3C10802B */  lui       $s0, %hi(BattleMenu_Moves_DownArrowID)
/* 4190D4 802A4344 8E10D120 */  lw        $s0, %lo(BattleMenu_Moves_DownArrowID)($s0)
/* 4190D8 802A4348 25250048 */  addiu     $a1, $t1, 0x48
/* 4190DC 802A434C 8FA90050 */  lw        $t1, 0x50($sp)
D_802A4350_7ABCF0:
/* 4190E0 802A4350 0200202D */  daddu     $a0, $s0, $zero
/* 4190E4 802A4354 0C051261 */  jal       hud_element_set_render_pos
/* 4190E8 802A4358 25260064 */   addiu    $a2, $t1, 0x64
/* 4190EC 802A435C 86250000 */  lh        $a1, 0x0($s1)
/* 4190F0 802A4360 0C0513AC */  jal       hud_element_set_alpha
/* 4190F4 802A4364 0200202D */   daddu    $a0, $s0, $zero
/* 4190F8 802A4368 0C0511EA */  jal       hud_element_draw_clipped
/* 4190FC 802A436C 0200202D */   daddu    $a0, $s0, $zero
.L802A4370_7ABD10:
/* 419100 802A4370 3C03802B */  lui       $v1, %hi(battle_menu_moveState)
/* 419104 802A4374 8063D108 */  lb        $v1, %lo(battle_menu_moveState)($v1)
/* 419108 802A4378 2402FFFF */  addiu     $v0, $zero, -0x1
/* 41910C 802A437C 1462000B */  bne       $v1, $v0, .L802A43AC_7ABD4C
/* 419110 802A4380 00000000 */   nop
/* 419114 802A4384 3C02802B */  lui       $v0, %hi(BattleMenu_UsingSpiritsSubmenu)
/* 419118 802A4388 8C42D4A0 */  lw        $v0, %lo(BattleMenu_UsingSpiritsSubmenu)($v0)
/* 41911C 802A438C 14400005 */  bnez      $v0, .L802A43A4_7ABD44
/* 419120 802A4390 00000000 */   nop
/* 419124 802A4394 0C03A674 */  jal       status_bar_stop_blinking_fp
/* 419128 802A4398 00000000 */   nop
/* 41912C 802A439C 080A90EB */  j         .L802A43AC_7ABD4C
/* 419130 802A43A0 00000000 */   nop
.L802A43A4_7ABD44:
/* 419134 802A43A4 0C03A6A5 */  jal       status_bar_stop_blinking_sp
/* 419138 802A43A8 00000000 */   nop
glabel .L802A43AC_7ABD4C
/* 41913C 802A43AC 8FBF0044 */  lw        $ra, 0x44($sp)
/* 419140 802A43B0 8FBE0040 */  lw        $fp, 0x40($sp)
/* 419144 802A43B4 8FB7003C */  lw        $s7, 0x3C($sp)
D_802A43B8_7ABD58:
/* 419148 802A43B8 8FB60038 */  lw        $s6, 0x38($sp)
/* 41914C 802A43BC 8FB50034 */  lw        $s5, 0x34($sp)
/* 419150 802A43C0 8FB40030 */  lw        $s4, 0x30($sp)
/* 419154 802A43C4 8FB3002C */  lw        $s3, 0x2C($sp)
/* 419158 802A43C8 8FB20028 */  lw        $s2, 0x28($sp)
/* 41915C 802A43CC 8FB10024 */  lw        $s1, 0x24($sp)
D_802A43D0_7ABD70:
/* 419160 802A43D0 8FB00020 */  lw        $s0, 0x20($sp)
/* 419164 802A43D4 03E00008 */  jr        $ra
/* 419168 802A43D8 27BD0048 */   addiu    $sp, $sp, 0x48

### DECOMPILED C INSTRUCTIONS:

void func_802A3C98(void* data, s32 x, s32 y) {
    s32 var_t0;
    s32 temp_f6;
    s32 xPos, yPos;
    s32 yRenderPos;
    s32 palette;
    s32 num;
    s32 v0;
    s32 a0;
    s32 idx;
    s32 id;
    s32 i;

    switch (battle_menu_moveState) {
        case -1:
        case 1:
        case 10:
        case 20:
        case 30:
        case 40:
        case 41:
            yPos = -battle_menu_moveScrollLine * 13;
            var_t0 = battle_menu_moveScrollOffset;
            temp_f6 = (yPos - var_t0) * 0.5;
            if (temp_f6 == 0) {
                var_t0 = yPos;
            } else {
                var_t0 += temp_f6;
            }
            battle_menu_moveScrollOffset = var_t0;

            xPos = x + 2;
            yPos = y + 18;
            var_t0 = yPos + 1 + (D_802AD10E * 13);
            gDPSetScissor(
                gMainGfxPos++, G_SC_NON_INTERLACE,
                xPos,
                yPos,
                x + 153,
                var_t0
            );

            xPos = x + 31;
            yPos = y + 19 + battle_menu_moveScrollOffset;

            idx = 0;
            for (i = 0; i < BattleMenu_Moves_OptionCount; i++, idx++) {
                if (i >= battle_menu_moveScrollLine - 1 && battle_menu_moveScrollLine + D_802AD10E >= i) {
                    palette = BattleMenu_Moves_TextColor;

                    if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                        palette = MSG_PAL_0B;
                    }

                    if (battle_menu_moveOptionNames[BattleMenu_Moves_OptionIndexMap[idx]] >= 0) {
                        draw_msg(
                            battle_menu_moveOptionNames[BattleMenu_Moves_OptionIndexMap[idx]],
                            xPos, yPos, BattleMenu_Moves_TextAlpha, palette, 1
                        );
                    }

                    if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                        a0 = battle_menu_moveOptionDisplayCostReductions[BattleMenu_Moves_OptionIndexMap[idx]];
                        do {} while (0);
                        v0 = battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]];
                    } else {
                        a0 = battle_menu_moveOptionDisplayCostReductions[BattleMenu_Moves_OptionIndexMap[idx]];
                        do {} while (0);
                        v0 = battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]];
                    }
                    num = v0 - a0;

                    if (v0 != 0 && num <= 0) {
                        num = 1;
                    }

                    if (!BattleMenu_UsingSpiritsSubmenu ) {
                        if (i == battle_menu_moveCursorPos) {
                            if (num == 0 || BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                                status_bar_stop_blinking_fp();
                            } else {
                                status_bar_start_blinking_fp();
                            }
                        }
                    } else {
                        if (i == battle_menu_moveCursorPos) {
                            if (num == 0 || BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                                status_bar_stop_blinking_sp();
                            } else {
                                a0 = battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]];
                                status_bar_start_blinking_sp_bars(
                                    battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]]
                                );
                            }
                        }
                    }

                    switch (battle_menu_moveOptionDisplayCostReductionColors[i]) {
                        case 0:
                            palette = MSG_PAL_STANDARD;
                            break;
                        case 1:
                            palette = MSG_PAL_37;
                            break;
                        default:
                            palette = MSG_PAL_38;
                            break;
                    }

                    if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                        palette = MSG_PAL_0B;
                    }

                    if (battle_menu_moveOptionDisplayCosts[BattleMenu_Moves_OptionIndexMap[idx]] != 0) {
                        id = BattleMenu_Moves_OptionCostUnitIDs[idx];

                        if (!BattleMenu_UsingSpiritsSubmenu) {
                            draw_number(
                                num, xPos + 108, yPos, DRAW_NUMBER_CHARSET_THIN, palette, BattleMenu_Moves_TextAlpha,
                                DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT
                            );
                            if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                                hud_element_set_script(id, &HES_NotEnoughFP);
                            }
                            yRenderPos = yPos + 7;
                            hud_element_set_render_pos(id, xPos + 116, yRenderPos);
                        } else {
                            draw_number(
                                num, xPos + 93, yPos, DRAW_NUMBER_CHARSET_THIN, palette, BattleMenu_Moves_TextAlpha,
                                DRAW_NUMBER_STYLE_MONOSPACE | DRAW_NUMBER_STYLE_ALIGN_RIGHT
                            );
                            if (BattleMenu_Moves_OptionEnabled[BattleMenu_Moves_OptionIndexMap[idx]] <= 0) {
                                hud_element_set_script(id, &HES_NotEnoughPOW);
                            }
                            yRenderPos = yPos + 7;
                            hud_element_set_render_pos(id, xPos + 102, yRenderPos);
                        }
                        hud_element_set_alpha(id, BattleMenu_Moves_TextAlpha);
                        hud_element_draw_without_clipping(id);
                    }
                }
                yPos += 13;
            }

            xPos = x + 24;
            yPos = battle_menu_moveScrollOffset + y + 24;

            idx = 0;
            for (i = 0; i < BattleMenu_Moves_OptionCount; i++, idx++) {
                if (i < battle_menu_moveScrollLine - 1) {
                    yPos += 13;
                } else if (battle_menu_moveScrollLine + D_802AD10E < i) {
                    yPos += 13;
                } else {
                    id = BattleMenu_Moves_OptionIDs[idx];
                    hud_element_set_render_pos(id, xPos, yPos);
                    hud_element_set_alpha(id, BattleMenu_Moves_TextAlpha);
                    hud_element_draw_without_clipping(id);
                    yPos += 13;
                }
            }

            yPos = (battle_menu_moveCursorPos - battle_menu_moveScrollLine) * 13;
            var_t0 = D_802AD112;
            temp_f6 = (yPos - D_802AD112) * 1.0;
            xPos = x + 10;
            if (temp_f6 == 0) {
                var_t0 = yPos;
            } else {
                var_t0 += temp_f6;
            }
            D_802AD112 = var_t0;
            yPos =  y + 26 + D_802AD112;

            id = BattleMenu_Moves_CursorID;
            hud_element_set_render_pos(id, xPos, yPos);
            hud_element_set_alpha(id, BattleMenu_Moves_TextAlpha);
            hud_element_draw_without_clipping(id);

            if (battle_menu_moveScrollLine > 0) {
                id = BattleMenu_Moves_UpArrowID;
                hud_element_set_render_pos(id, x + 72, y + 15);
                hud_element_set_alpha(id, BattleMenu_Moves_TextAlpha);
                hud_element_draw_clipped(id);
            }

            if (D_802AD10D < BattleMenu_Moves_OptionCount) {
                id = BattleMenu_Moves_DownArrowID;
                hud_element_set_render_pos(id, x + 72, y + 100);
                hud_element_set_alpha(id, BattleMenu_Moves_TextAlpha);
                hud_element_draw_clipped(id);
            }

            if (battle_menu_moveState == -1) {
                if (!BattleMenu_UsingSpiritsSubmenu) {
                    status_bar_stop_blinking_fp();
                } else {
                    status_bar_stop_blinking_sp();
                }
            }
            break;
    }
}