### RAW ASSEMBLY INSTRUCTIONS:

glabel msg_update_rewind_arrow
/* BCE90 80126790 27BDFF18 */  addiu     $sp, $sp, -0xE8
/* BCE94 80126794 F7BA00D8 */  sdc1      $f26, 0xD8($sp)
/* BCE98 80126798 4480D000 */  mtc1      $zero, $f26
/* BCE9C 8012679C F7BC00E0 */  sdc1      $f28, 0xE0($sp)
/* BCEA0 801267A0 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* BCEA4 801267A4 4481E000 */  mtc1      $at, $f28
/* BCEA8 801267A8 3C05800A */  lui       $a1, %hi(gMainGfxPos)
/* BCEAC 801267AC 24A5A66C */  addiu     $a1, $a1, %lo(gMainGfxPos)
/* BCEB0 801267B0 F7B600C8 */  sdc1      $f22, 0xC8($sp)
/* BCEB4 801267B4 3C01437F */  lui       $at, (0x437F0000 >> 16)
/* BCEB8 801267B8 4481B000 */  mtc1      $at, $f22
/* BCEBC 801267BC 3C02E700 */  lui       $v0, (0xE7000000 >> 16)
/* BCEC0 801267C0 AFBF00B8 */  sw        $ra, 0xB8($sp)
/* BCEC4 801267C4 AFB700B4 */  sw        $s7, 0xB4($sp)
/* BCEC8 801267C8 AFB600B0 */  sw        $s6, 0xB0($sp)
/* BCECC 801267CC AFB500AC */  sw        $s5, 0xAC($sp)
/* BCED0 801267D0 AFB400A8 */  sw        $s4, 0xA8($sp)
/* BCED4 801267D4 AFB300A4 */  sw        $s3, 0xA4($sp)
/* BCED8 801267D8 AFB200A0 */  sw        $s2, 0xA0($sp)
/* BCEDC 801267DC AFB1009C */  sw        $s1, 0x9C($sp)
/* BCEE0 801267E0 AFB00098 */  sw        $s0, 0x98($sp)
/* BCEE4 801267E4 F7B800D0 */  sdc1      $f24, 0xD0($sp)
/* BCEE8 801267E8 F7B400C0 */  sdc1      $f20, 0xC0($sp)
/* BCEEC 801267EC 8CA30000 */  lw        $v1, 0x0($a1)
/* BCEF0 801267F0 4600B606 */  mov.s     $f24, $f22
/* BCEF4 801267F4 0060302D */  daddu     $a2, $v1, $zero
/* BCEF8 801267F8 24630008 */  addiu     $v1, $v1, 0x8
/* BCEFC 801267FC ACA30000 */  sw        $v1, 0x0($a1)
/* BCF00 80126800 ACC20000 */  sw        $v0, 0x0($a2)
/* BCF04 80126804 24620008 */  addiu     $v0, $v1, 0x8
/* BCF08 80126808 ACC00004 */  sw        $zero, 0x4($a2)
/* BCF0C 8012680C ACA20000 */  sw        $v0, 0x0($a1)
/* BCF10 80126810 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* BCF14 80126814 AC620000 */  sw        $v0, 0x0($v1)
/* BCF18 80126818 3C028015 */  lui       $v0, %hi(D_8014C2D8)
/* BCF1C 8012681C 2442C2D8 */  addiu     $v0, $v0, %lo(D_8014C2D8)
/* BCF20 80126820 3C058015 */  lui       $a1, %hi(gMessagePrinters)
/* BCF24 80126824 24A54C30 */  addiu     $a1, $a1, %lo(gMessagePrinters)
/* BCF28 80126828 AC620004 */  sw        $v0, 0x4($v1)
/* BCF2C 8012682C 00041080 */  sll       $v0, $a0, 2
/* BCF30 80126830 00441021 */  addu      $v0, $v0, $a0
/* BCF34 80126834 00021080 */  sll       $v0, $v0, 2
/* BCF38 80126838 00441023 */  subu      $v0, $v0, $a0
/* BCF3C 8012683C 000218C0 */  sll       $v1, $v0, 3
/* BCF40 80126840 00431021 */  addu      $v0, $v0, $v1
/* BCF44 80126844 000210C0 */  sll       $v0, $v0, 3
/* BCF48 80126848 00458821 */  addu      $s1, $v0, $a1
/* BCF4C 8012684C 9223047C */  lbu       $v1, 0x47C($s1)
/* BCF50 80126850 2C620005 */  sltiu     $v0, $v1, 0x5
/* BCF54 80126854 10400071 */  beqz      $v0, .L80126A1C
/* BCF58 80126858 4600B106 */   mov.s    $f4, $f22
/* BCF5C 8012685C 00031080 */  sll       $v0, $v1, 2
/* BCF60 80126860 3C018015 */  lui       $at, %hi(jtbl_801506F8)
/* BCF64 80126864 00220821 */  addu      $at, $at, $v0
/* BCF68 80126868 8C2206F8 */  lw        $v0, %lo(jtbl_801506F8)($at)
/* BCF6C 8012686C 00400008 */  jr        $v0
/* BCF70 80126870 00000000 */   nop
glabel .L80126874
/* BCF74 80126874 24020001 */  addiu     $v0, $zero, 0x1
/* BCF78 80126878 A620047E */  sh        $zero, 0x47E($s1)
/* BCF7C 8012687C A6200480 */  sh        $zero, 0x480($s1)
/* BCF80 80126880 A222047C */  sb        $v0, 0x47C($s1)
glabel .L80126884
/* BCF84 80126884 8622047E */  lh        $v0, 0x47E($s1)
/* BCF88 80126888 3C018015 */  lui       $at, %hi(D_80150710)
/* BCF8C 8012688C D4220710 */  ldc1      $f2, %lo(D_80150710)($at)
/* BCF90 80126890 44820000 */  mtc1      $v0, $f0
/* BCF94 80126894 00000000 */  nop
/* BCF98 80126898 46800020 */  cvt.s.w   $f0, $f0
/* BCF9C 8012689C 46000021 */  cvt.d.s   $f0, $f0
/* BCFA0 801268A0 46220002 */  mul.d     $f0, $f0, $f2
/* BCFA4 801268A4 00000000 */  nop
/* BCFA8 801268A8 9622047E */  lhu       $v0, 0x47E($s1)
/* BCFAC 801268AC 3C013FE0 */  lui       $at, (0x3FE00000 >> 16)
/* BCFB0 801268B0 44811800 */  mtc1      $at, $f3
/* BCFB4 801268B4 44801000 */  mtc1      $zero, $f2
/* BCFB8 801268B8 24420001 */  addiu     $v0, $v0, 0x1
/* BCFBC 801268BC A622047E */  sh        $v0, 0x47E($s1)
/* BCFC0 801268C0 00021400 */  sll       $v0, $v0, 16
/* BCFC4 801268C4 46220000 */  add.d     $f0, $f0, $f2
/* BCFC8 801268C8 00021403 */  sra       $v0, $v0, 16
/* BCFCC 801268CC 28420004 */  slti      $v0, $v0, 0x4
/* BCFD0 801268D0 08049A83 */  j         .L80126A0C
/* BCFD4 801268D4 46200720 */   cvt.s.d  $f28, $f0
glabel .L801268D8
/* BCFD8 801268D8 9622047E */  lhu       $v0, 0x47E($s1)
/* BCFDC 801268DC 24420001 */  addiu     $v0, $v0, 0x1
/* BCFE0 801268E0 A622047E */  sh        $v0, 0x47E($s1)
/* BCFE4 801268E4 00021400 */  sll       $v0, $v0, 16
/* BCFE8 801268E8 00021403 */  sra       $v0, $v0, 16
/* BCFEC 801268EC 28420019 */  slti      $v0, $v0, 0x19
/* BCFF0 801268F0 1440004A */  bnez      $v0, .L80126A1C
/* BCFF4 801268F4 24020003 */   addiu    $v0, $zero, 0x3
/* BCFF8 801268F8 08049A86 */  j         .L80126A18
/* BCFFC 801268FC A620047E */   sh       $zero, 0x47E($s1)
glabel .L80126900
/* BD000 80126900 0000202D */  daddu     $a0, $zero, $zero
/* BD004 80126904 8627047E */  lh        $a3, 0x47E($s1)
/* BD008 80126908 3C01437F */  lui       $at, (0x437F0000 >> 16)
/* BD00C 8012690C 4481A000 */  mtc1      $at, $f20
/* BD010 80126910 3C014360 */  lui       $at, (0x43600000 >> 16)
/* BD014 80126914 4481B000 */  mtc1      $at, $f22
/* BD018 80126918 4405A000 */  mfc1      $a1, $f20
/* BD01C 8012691C 4406B000 */  mfc1      $a2, $f22
/* BD020 80126920 2410000F */  addiu     $s0, $zero, 0xF
/* BD024 80126924 0C00A8ED */  jal       update_lerp
/* BD028 80126928 AFB00010 */   sw       $s0, 0x10($sp)
/* BD02C 8012692C 46000606 */  mov.s     $f24, $f0
/* BD030 80126930 4405A000 */  mfc1      $a1, $f20
/* BD034 80126934 4406B000 */  mfc1      $a2, $f22
/* BD038 80126938 8627047E */  lh        $a3, 0x47E($s1)
/* BD03C 8012693C 0000202D */  daddu     $a0, $zero, $zero
/* BD040 80126940 0C00A8ED */  jal       update_lerp
/* BD044 80126944 AFB00010 */   sw       $s0, 0x10($sp)
/* BD048 80126948 46000586 */  mov.s     $f22, $f0
/* BD04C 8012694C 4405A000 */  mfc1      $a1, $f20
/* BD050 80126950 3C064350 */  lui       $a2, (0x43500000 >> 16)
/* BD054 80126954 8627047E */  lh        $a3, 0x47E($s1)
/* BD058 80126958 0000202D */  daddu     $a0, $zero, $zero
/* BD05C 8012695C 0C00A8ED */  jal       update_lerp
/* BD060 80126960 AFB00010 */   sw       $s0, 0x10($sp)
/* BD064 80126964 9622047E */  lhu       $v0, 0x47E($s1)
/* BD068 80126968 24420001 */  addiu     $v0, $v0, 0x1
/* BD06C 8012696C A622047E */  sh        $v0, 0x47E($s1)
/* BD070 80126970 00021400 */  sll       $v0, $v0, 16
/* BD074 80126974 00021403 */  sra       $v0, $v0, 16
/* BD078 80126978 0050102A */  slt       $v0, $v0, $s0
/* BD07C 8012697C 14400027 */  bnez      $v0, .L80126A1C
/* BD080 80126980 46000106 */   mov.s    $f4, $f0
/* BD084 80126984 08049A85 */  j         .L80126A14
/* BD088 80126988 24020004 */   addiu    $v0, $zero, 0x4
glabel .L8012698C
/* BD08C 8012698C 0000202D */  daddu     $a0, $zero, $zero
/* BD090 80126990 8627047E */  lh        $a3, 0x47E($s1)
/* BD094 80126994 3C014360 */  lui       $at, (0x43600000 >> 16)
/* BD098 80126998 4481B000 */  mtc1      $at, $f22
/* BD09C 8012699C 3C01437F */  lui       $at, (0x437F0000 >> 16)
/* BD0A0 801269A0 4481A000 */  mtc1      $at, $f20
/* BD0A4 801269A4 4405B000 */  mfc1      $a1, $f22
/* BD0A8 801269A8 4406A000 */  mfc1      $a2, $f20
/* BD0AC 801269AC 2410000F */  addiu     $s0, $zero, 0xF
/* BD0B0 801269B0 0C00A8ED */  jal       update_lerp
/* BD0B4 801269B4 AFB00010 */   sw       $s0, 0x10($sp)
/* BD0B8 801269B8 46000606 */  mov.s     $f24, $f0
/* BD0BC 801269BC 4405B000 */  mfc1      $a1, $f22
/* BD0C0 801269C0 4406A000 */  mfc1      $a2, $f20
/* BD0C4 801269C4 8627047E */  lh        $a3, 0x47E($s1)
/* BD0C8 801269C8 0000202D */  daddu     $a0, $zero, $zero
/* BD0CC 801269CC 0C00A8ED */  jal       update_lerp
/* BD0D0 801269D0 AFB00010 */   sw       $s0, 0x10($sp)
/* BD0D4 801269D4 46000586 */  mov.s     $f22, $f0
/* BD0D8 801269D8 3C054350 */  lui       $a1, (0x43500000 >> 16)
/* BD0DC 801269DC 4406A000 */  mfc1      $a2, $f20
/* BD0E0 801269E0 8627047E */  lh        $a3, 0x47E($s1)
/* BD0E4 801269E4 0000202D */  daddu     $a0, $zero, $zero
/* BD0E8 801269E8 0C00A8ED */  jal       update_lerp
/* BD0EC 801269EC AFB00010 */   sw       $s0, 0x10($sp)
/* BD0F0 801269F0 9622047E */  lhu       $v0, 0x47E($s1)
/* BD0F4 801269F4 46000106 */  mov.s     $f4, $f0
/* BD0F8 801269F8 24420001 */  addiu     $v0, $v0, 0x1
/* BD0FC 801269FC A622047E */  sh        $v0, 0x47E($s1)
/* BD100 80126A00 00021400 */  sll       $v0, $v0, 16
/* BD104 80126A04 00021403 */  sra       $v0, $v0, 16
/* BD108 80126A08 0050102A */  slt       $v0, $v0, $s0
.L80126A0C:
/* BD10C 80126A0C 14400003 */  bnez      $v0, .L80126A1C
/* BD110 80126A10 24020002 */   addiu    $v0, $zero, 0x2
.L80126A14:
/* BD114 80126A14 A620047E */  sh        $zero, 0x47E($s1)
.L80126A18:
/* BD118 80126A18 A222047C */  sb        $v0, 0x47C($s1)
.L80126A1C:
/* BD11C 80126A1C 3C03800A */  lui       $v1, %hi(gMainGfxPos)
/* BD120 80126A20 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* BD124 80126A24 8C620000 */  lw        $v0, 0x0($v1)
/* BD128 80126A28 3C014F00 */  lui       $at, (0x4F000000 >> 16)
/* BD12C 80126A2C 44810000 */  mtc1      $at, $f0
/* BD130 80126A30 0040202D */  daddu     $a0, $v0, $zero
/* BD134 80126A34 24420008 */  addiu     $v0, $v0, 0x8
/* BD138 80126A38 AC620000 */  sw        $v0, 0x0($v1)
/* BD13C 80126A3C 3C02FA00 */  lui       $v0, (0xFA000000 >> 16)
/* BD140 80126A40 AC820000 */  sw        $v0, 0x0($a0)
/* BD144 80126A44 4618003E */  c.le.s    $f0, $f24
/* BD148 80126A48 00000000 */  nop
/* BD14C 80126A4C 45010005 */  bc1t      .L80126A64
/* BD150 80126A50 24840004 */   addiu    $a0, $a0, 0x4
/* BD154 80126A54 4600C18D */  trunc.w.s $f6, $f24
/* BD158 80126A58 44033000 */  mfc1      $v1, $f6
/* BD15C 80126A5C 08049AA2 */  j         .L80126A88
/* BD160 80126A60 00032E00 */   sll      $a1, $v1, 24
.L80126A64:
/* BD164 80126A64 4600C001 */  sub.s     $f0, $f24, $f0
/* BD168 80126A68 3C028000 */  lui       $v0, (0x80000000 >> 16)
/* BD16C 80126A6C 4600018D */  trunc.w.s $f6, $f0
/* BD170 80126A70 44033000 */  mfc1      $v1, $f6
/* BD174 80126A74 00000000 */  nop
/* BD178 80126A78 00621825 */  or        $v1, $v1, $v0
/* BD17C 80126A7C 3C014F00 */  lui       $at, (0x4F000000 >> 16)
/* BD180 80126A80 44810000 */  mtc1      $at, $f0
/* BD184 80126A84 00032E00 */  sll       $a1, $v1, 24
.L80126A88:
/* BD188 80126A88 4616003E */  c.le.s    $f0, $f22
/* BD18C 80126A8C 00000000 */  nop
/* BD190 80126A90 45030005 */  bc1tl     .L80126AA8
/* BD194 80126A94 4600B001 */   sub.s    $f0, $f22, $f0
/* BD198 80126A98 4600B18D */  trunc.w.s $f6, $f22
/* BD19C 80126A9C 44033000 */  mfc1      $v1, $f6
/* BD1A0 80126AA0 08049AAF */  j         .L80126ABC
/* BD1A4 80126AA4 00000000 */   nop
.L80126AA8:
/* BD1A8 80126AA8 3C028000 */  lui       $v0, (0x80000000 >> 16)
/* BD1AC 80126AAC 4600018D */  trunc.w.s $f6, $f0
/* BD1B0 80126AB0 44033000 */  mfc1      $v1, $f6
/* BD1B4 80126AB4 00000000 */  nop
/* BD1B8 80126AB8 00621825 */  or        $v1, $v1, $v0
.L80126ABC:
/* BD1BC 80126ABC 3C014F00 */  lui       $at, (0x4F000000 >> 16)
/* BD1C0 80126AC0 44810000 */  mtc1      $at, $f0
/* BD1C4 80126AC4 306200FF */  andi      $v0, $v1, 0xFF
/* BD1C8 80126AC8 00021400 */  sll       $v0, $v0, 16
/* BD1CC 80126ACC 4604003E */  c.le.s    $f0, $f4
/* BD1D0 80126AD0 00000000 */  nop
/* BD1D4 80126AD4 45010005 */  bc1t      .L80126AEC
/* BD1D8 80126AD8 00A22825 */   or       $a1, $a1, $v0
/* BD1DC 80126ADC 4600218D */  trunc.w.s $f6, $f4
/* BD1E0 80126AE0 44033000 */  mfc1      $v1, $f6
/* BD1E4 80126AE4 08049AC2 */  j         .L80126B08
/* BD1E8 80126AE8 306200FF */   andi     $v0, $v1, 0xFF
.L80126AEC:
/* BD1EC 80126AEC 46002001 */  sub.s     $f0, $f4, $f0
/* BD1F0 80126AF0 3C028000 */  lui       $v0, (0x80000000 >> 16)
/* BD1F4 80126AF4 4600018D */  trunc.w.s $f6, $f0
/* BD1F8 80126AF8 44033000 */  mfc1      $v1, $f6
/* BD1FC 80126AFC 00000000 */  nop
/* BD200 80126B00 00621825 */  or        $v1, $v1, $v0
/* BD204 80126B04 306200FF */  andi      $v0, $v1, 0xFF
.L80126B08:
/* BD208 80126B08 00021200 */  sll       $v0, $v0, 8
/* BD20C 80126B0C 00A21025 */  or        $v0, $a1, $v0
/* BD210 80126B10 344200FF */  ori       $v0, $v0, 0xFF
/* BD214 80126B14 AC820000 */  sw        $v0, 0x0($a0)
/* BD218 80126B18 9222047C */  lbu       $v0, 0x47C($s1)
/* BD21C 80126B1C 2442FFFE */  addiu     $v0, $v0, -0x2
/* BD220 80126B20 2C420003 */  sltiu     $v0, $v0, 0x3
/* BD224 80126B24 10400010 */  beqz      $v0, .L80126B68
/* BD228 80126B28 00000000 */   nop
/* BD22C 80126B2C 0C00A4F5 */  jal       cosine
/* BD230 80126B30 86240480 */   lh       $a0, 0x480($s1)
/* BD234 80126B34 96230480 */  lhu       $v1, 0x480($s1)
/* BD238 80126B38 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
/* BD23C 80126B3C 44811000 */  mtc1      $at, $f2
/* BD240 80126B40 2462000F */  addiu     $v0, $v1, 0xF
/* BD244 80126B44 A6220480 */  sh        $v0, 0x480($s1)
/* BD248 80126B48 00021400 */  sll       $v0, $v0, 16
/* BD24C 80126B4C 00021403 */  sra       $v0, $v0, 16
/* BD250 80126B50 28420168 */  slti      $v0, $v0, 0x168
/* BD254 80126B54 46020682 */  mul.s     $f26, $f0, $f2
/* BD258 80126B58 00000000 */  nop
/* BD25C 80126B5C 14400002 */  bnez      $v0, .L80126B68
/* BD260 80126B60 2462FEA7 */   addiu    $v0, $v1, -0x159
/* BD264 80126B64 A6220480 */  sh        $v0, 0x480($s1)
.L80126B68:
/* BD268 80126B68 96220482 */  lhu       $v0, 0x482($s1)
/* BD26C 80126B6C 4480A000 */  mtc1      $zero, $f20
/* BD270 80126B70 2442000C */  addiu     $v0, $v0, 0xC
/* BD274 80126B74 44823000 */  mtc1      $v0, $f6
/* BD278 80126B78 00000000 */  nop
/* BD27C 80126B7C 468031A0 */  cvt.s.w   $f6, $f6
/* BD280 80126B80 44053000 */  mfc1      $a1, $f6
/* BD284 80126B84 96220484 */  lhu       $v0, 0x484($s1)
/* BD288 80126B88 4407A000 */  mfc1      $a3, $f20
/* BD28C 80126B8C 2442000C */  addiu     $v0, $v0, 0xC
/* BD290 80126B90 00021023 */  negu      $v0, $v0
/* BD294 80126B94 44823000 */  mtc1      $v0, $f6
/* BD298 80126B98 00000000 */  nop
/* BD29C 80126B9C 468031A0 */  cvt.s.w   $f6, $f6
/* BD2A0 80126BA0 44063000 */  mfc1      $a2, $f6
/* BD2A4 80126BA4 0C019E40 */  jal       guTranslateF
/* BD2A8 80126BA8 27A40018 */   addiu    $a0, $sp, 0x18
/* BD2AC 80126BAC 44801000 */  mtc1      $zero, $f2
/* BD2B0 80126BB0 44801800 */  mtc1      $zero, $f3
/* BD2B4 80126BB4 4600D021 */  cvt.d.s   $f0, $f26
/* BD2B8 80126BB8 46220032 */  c.eq.d    $f0, $f2
/* BD2BC 80126BBC 00000000 */  nop
/* BD2C0 80126BC0 4501000D */  bc1t      .L80126BF8
/* BD2C4 80126BC4 27B00058 */   addiu    $s0, $sp, 0x58
/* BD2C8 80126BC8 0200202D */  daddu     $a0, $s0, $zero
/* BD2CC 80126BCC 4405D000 */  mfc1      $a1, $f26
/* BD2D0 80126BD0 4406A000 */  mfc1      $a2, $f20
/* BD2D4 80126BD4 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* BD2D8 80126BD8 44810000 */  mtc1      $at, $f0
/* BD2DC 80126BDC 00C0382D */  daddu     $a3, $a2, $zero
/* BD2E0 80126BE0 0C019EC8 */  jal       guRotateF
/* BD2E4 80126BE4 E7A00010 */   swc1     $f0, 0x10($sp)
/* BD2E8 80126BE8 0200202D */  daddu     $a0, $s0, $zero
/* BD2EC 80126BEC 27A50018 */  addiu     $a1, $sp, 0x18
/* BD2F0 80126BF0 0C019D80 */  jal       guMtxCatF
/* BD2F4 80126BF4 00A0302D */   daddu    $a2, $a1, $zero
.L80126BF8:
/* BD2F8 80126BF8 3C013FF0 */  lui       $at, (0x3FF00000 >> 16)
/* BD2FC 80126BFC 44811800 */  mtc1      $at, $f3
/* BD300 80126C00 44801000 */  mtc1      $zero, $f2
/* BD304 80126C04 4600E021 */  cvt.d.s   $f0, $f28
/* BD308 80126C08 46220032 */  c.eq.d    $f0, $f2
/* BD30C 80126C0C 00000000 */  nop
/* BD310 80126C10 4501000C */  bc1t      .L80126C44
/* BD314 80126C14 3C120001 */   lui      $s2, (0x11630 >> 16)
/* BD318 80126C18 27B00058 */  addiu     $s0, $sp, 0x58
/* BD31C 80126C1C 0200202D */  daddu     $a0, $s0, $zero
/* BD320 80126C20 4405E000 */  mfc1      $a1, $f28
/* BD324 80126C24 3C073F80 */  lui       $a3, (0x3F800000 >> 16)
/* BD328 80126C28 0C019DF0 */  jal       guScaleF
/* BD32C 80126C2C 00A0302D */   daddu    $a2, $a1, $zero
/* BD330 80126C30 0200202D */  daddu     $a0, $s0, $zero
/* BD334 80126C34 27A50018 */  addiu     $a1, $sp, 0x18
/* BD338 80126C38 0C019D80 */  jal       guMtxCatF
/* BD33C 80126C3C 00A0302D */   daddu    $a2, $a1, $zero
/* BD340 80126C40 3C120001 */  lui       $s2, (0x11630 >> 16)
.L80126C44:
/* BD344 80126C44 36521630 */  ori       $s2, $s2, (0x11630 & 0xFFFF)
/* BD348 80126C48 27A40018 */  addiu     $a0, $sp, 0x18
/* BD34C 80126C4C 3C108007 */  lui       $s0, %hi(gMatrixListPos)
/* BD350 80126C50 261041F0 */  addiu     $s0, $s0, %lo(gMatrixListPos)
/* BD354 80126C54 3C11800A */  lui       $s1, %hi(gDisplayContext)
/* BD358 80126C58 2631A674 */  addiu     $s1, $s1, %lo(gDisplayContext)
/* BD35C 80126C5C 96050000 */  lhu       $a1, 0x0($s0)
/* BD360 80126C60 8E220000 */  lw        $v0, 0x0($s1)
/* BD364 80126C64 00052980 */  sll       $a1, $a1, 6
/* BD368 80126C68 00B22821 */  addu      $a1, $a1, $s2
/* BD36C 80126C6C 0C019D40 */  jal       guMtxF2L
/* BD370 80126C70 00452821 */   addu     $a1, $v0, $a1
/* BD374 80126C74 3C04DA38 */  lui       $a0, (0xDA380002 >> 16)
/* BD378 80126C78 34840002 */  ori       $a0, $a0, (0xDA380002 & 0xFFFF)
/* BD37C 80126C7C 3C07FD10 */  lui       $a3, (0xFD10000F >> 16)
/* BD380 80126C80 34E7000F */  ori       $a3, $a3, (0xFD10000F & 0xFFFF)
/* BD384 80126C84 3C09F510 */  lui       $t1, (0xF5100800 >> 16)
/* BD388 80126C88 35290800 */  ori       $t1, $t1, (0xF5100800 & 0xFFFF)
/* BD38C 80126C8C 3C080701 */  lui       $t0, (0x7010140 >> 16)
/* BD390 80126C90 35080140 */  ori       $t0, $t0, (0x7010140 & 0xFFFF)
/* BD394 80126C94 3C0A0703 */  lui       $t2, (0x703C044 >> 16)
/* BD398 80126C98 354AC044 */  ori       $t2, $t2, (0x703C044 & 0xFFFF)
/* BD39C 80126C9C 3C0B0001 */  lui       $t3, (0x10140 >> 16)
/* BD3A0 80126CA0 356B0140 */  ori       $t3, $t3, (0x10140 & 0xFFFF)
/* BD3A4 80126CA4 3C0C0003 */  lui       $t4, (0x3C044 >> 16)
/* BD3A8 80126CA8 358CC044 */  ori       $t4, $t4, (0x3C044 & 0xFFFF)
/* BD3AC 80126CAC 3C0DFD88 */  lui       $t5, (0xFD880007 >> 16)
/* BD3B0 80126CB0 35AD0007 */  ori       $t5, $t5, (0xFD880007 & 0xFFFF)
/* BD3B4 80126CB4 3C0FF588 */  lui       $t7, (0xF5880300 >> 16)
/* BD3B8 80126CB8 35EF0300 */  ori       $t7, $t7, (0xF5880300 & 0xFFFF)
/* BD3BC 80126CBC 3C0E0701 */  lui       $t6, (0x7014140 >> 16)
/* BD3C0 80126CC0 35CE4140 */  ori       $t6, $t6, (0x7014140 & 0xFFFF)
/* BD3C4 80126CC4 3C130701 */  lui       $s3, (0x701E048 >> 16)
/* BD3C8 80126CC8 3673E048 */  ori       $s3, $s3, (0x701E048 & 0xFFFF)
/* BD3CC 80126CCC 3C15F580 */  lui       $s5, (0xF5800300 >> 16)
/* BD3D0 80126CD0 36B50300 */  ori       $s5, $s5, (0xF5800300 & 0xFFFF)
/* BD3D4 80126CD4 3C140101 */  lui       $s4, (0x1014140 >> 16)
/* BD3D8 80126CD8 36944140 */  ori       $s4, $s4, (0x1014140 & 0xFFFF)
/* BD3DC 80126CDC 3C160103 */  lui       $s6, (0x103C048 >> 16)
/* BD3E0 80126CE0 36D6C048 */  ori       $s6, $s6, (0x103C048 & 0xFFFF)
/* BD3E4 80126CE4 3C170100 */  lui       $s7, (0x1004008 >> 16)
/* BD3E8 80126CE8 36F74008 */  ori       $s7, $s7, (0x1004008 & 0xFFFF)
/* BD3EC 80126CEC 3C190600 */  lui       $t9, (0x6000402 >> 16)
/* BD3F0 80126CF0 37390402 */  ori       $t9, $t9, (0x6000402 & 0xFFFF)
/* BD3F4 80126CF4 3C180002 */  lui       $t8, (0x20406 >> 16)
/* BD3F8 80126CF8 3C05800A */  lui       $a1, %hi(gMainGfxPos)
/* BD3FC 80126CFC 24A5A66C */  addiu     $a1, $a1, %lo(gMainGfxPos)
/* BD400 80126D00 37180406 */  ori       $t8, $t8, (0x20406 & 0xFFFF)
/* BD404 80126D04 8CA20000 */  lw        $v0, 0x0($a1)
/* BD408 80126D08 96030000 */  lhu       $v1, 0x0($s0)
/* BD40C 80126D0C 0040302D */  daddu     $a2, $v0, $zero
/* BD410 80126D10 24420008 */  addiu     $v0, $v0, 0x8
/* BD414 80126D14 ACA20000 */  sw        $v0, 0x0($a1)
/* BD418 80126D18 ACC40000 */  sw        $a0, 0x0($a2)
/* BD41C 80126D1C 24640001 */  addiu     $a0, $v1, 0x1
/* BD420 80126D20 3063FFFF */  andi      $v1, $v1, 0xFFFF
/* BD424 80126D24 00031980 */  sll       $v1, $v1, 6
/* BD428 80126D28 A6040000 */  sh        $a0, 0x0($s0)
/* BD42C 80126D2C 8E240000 */  lw        $a0, 0x0($s1)
/* BD430 80126D30 00721821 */  addu      $v1, $v1, $s2
/* BD434 80126D34 00832021 */  addu      $a0, $a0, $v1
/* BD438 80126D38 3C038000 */  lui       $v1, (0x80000000 >> 16)
/* BD43C 80126D3C 00832021 */  addu      $a0, $a0, $v1
/* BD440 80126D40 24430008 */  addiu     $v1, $v0, 0x8
/* BD444 80126D44 ACC40004 */  sw        $a0, 0x4($a2)
/* BD448 80126D48 ACA30000 */  sw        $v1, 0x0($a1)
/* BD44C 80126D4C 3C03802F */  lui       $v1, %hi(ui_msg_star_png)
/* BD450 80126D50 2463D690 */  addiu     $v1, $v1, %lo(ui_msg_star_png)
/* BD454 80126D54 AC430004 */  sw        $v1, 0x4($v0)
/* BD458 80126D58 24430010 */  addiu     $v1, $v0, 0x10
/* BD45C 80126D5C AC470000 */  sw        $a3, 0x0($v0)
/* BD460 80126D60 ACA30000 */  sw        $v1, 0x0($a1)
/* BD464 80126D64 24430018 */  addiu     $v1, $v0, 0x18
/* BD468 80126D68 AC48000C */  sw        $t0, 0xC($v0)
/* BD46C 80126D6C 3C08E600 */  lui       $t0, (0xE6000000 >> 16)
/* BD470 80126D70 AC490008 */  sw        $t1, 0x8($v0)
/* BD474 80126D74 ACA30000 */  sw        $v1, 0x0($a1)
/* BD478 80126D78 24430020 */  addiu     $v1, $v0, 0x20
/* BD47C 80126D7C 3C07F400 */  lui       $a3, (0xF4000000 >> 16)
/* BD480 80126D80 AC480010 */  sw        $t0, 0x10($v0)
/* BD484 80126D84 AC400014 */  sw        $zero, 0x14($v0)
/* BD488 80126D88 ACA30000 */  sw        $v1, 0x0($a1)
/* BD48C 80126D8C 24430028 */  addiu     $v1, $v0, 0x28
/* BD490 80126D90 3C06E700 */  lui       $a2, (0xE7000000 >> 16)
/* BD494 80126D94 AC470018 */  sw        $a3, 0x18($v0)
/* BD498 80126D98 AC4A001C */  sw        $t2, 0x1C($v0)
/* BD49C 80126D9C ACA30000 */  sw        $v1, 0x0($a1)
/* BD4A0 80126DA0 24430030 */  addiu     $v1, $v0, 0x30
/* BD4A4 80126DA4 AC460020 */  sw        $a2, 0x20($v0)
/* BD4A8 80126DA8 AC400024 */  sw        $zero, 0x24($v0)
/* BD4AC 80126DAC ACA30000 */  sw        $v1, 0x0($a1)
/* BD4B0 80126DB0 24430038 */  addiu     $v1, $v0, 0x38
/* BD4B4 80126DB4 3C04F200 */  lui       $a0, (0xF2000000 >> 16)
/* BD4B8 80126DB8 AC490028 */  sw        $t1, 0x28($v0)
/* BD4BC 80126DBC AC4B002C */  sw        $t3, 0x2C($v0)
/* BD4C0 80126DC0 ACA30000 */  sw        $v1, 0x0($a1)
/* BD4C4 80126DC4 24430040 */  addiu     $v1, $v0, 0x40
/* BD4C8 80126DC8 AC440030 */  sw        $a0, 0x30($v0)
/* BD4CC 80126DCC AC4C0034 */  sw        $t4, 0x34($v0)
/* BD4D0 80126DD0 ACA30000 */  sw        $v1, 0x0($a1)
/* BD4D4 80126DD4 3C03802F */  lui       $v1, %hi(ui_msg_star_silhouette_png)
/* BD4D8 80126DD8 2463D8D0 */  addiu     $v1, $v1, %lo(ui_msg_star_silhouette_png)
/* BD4DC 80126DDC AC43003C */  sw        $v1, 0x3C($v0)
/* BD4E0 80126DE0 24430048 */  addiu     $v1, $v0, 0x48
/* BD4E4 80126DE4 AC4D0038 */  sw        $t5, 0x38($v0)
/* BD4E8 80126DE8 ACA30000 */  sw        $v1, 0x0($a1)
/* BD4EC 80126DEC 24430050 */  addiu     $v1, $v0, 0x50
/* BD4F0 80126DF0 AC4F0040 */  sw        $t7, 0x40($v0)
/* BD4F4 80126DF4 AC4E0044 */  sw        $t6, 0x44($v0)
/* BD4F8 80126DF8 ACA30000 */  sw        $v1, 0x0($a1)
/* BD4FC 80126DFC 24430058 */  addiu     $v1, $v0, 0x58
/* BD500 80126E00 AC480048 */  sw        $t0, 0x48($v0)
/* BD504 80126E04 AC40004C */  sw        $zero, 0x4C($v0)
/* BD508 80126E08 ACA30000 */  sw        $v1, 0x0($a1)
/* BD50C 80126E0C 24430060 */  addiu     $v1, $v0, 0x60
/* BD510 80126E10 AC470050 */  sw        $a3, 0x50($v0)
/* BD514 80126E14 AC530054 */  sw        $s3, 0x54($v0)
/* BD518 80126E18 ACA30000 */  sw        $v1, 0x0($a1)
/* BD51C 80126E1C 24430068 */  addiu     $v1, $v0, 0x68
/* BD520 80126E20 AC460058 */  sw        $a2, 0x58($v0)
/* BD524 80126E24 AC40005C */  sw        $zero, 0x5C($v0)
/* BD528 80126E28 ACA30000 */  sw        $v1, 0x0($a1)
/* BD52C 80126E2C 24430070 */  addiu     $v1, $v0, 0x70
/* BD530 80126E30 AC550060 */  sw        $s5, 0x60($v0)
/* BD534 80126E34 AC540064 */  sw        $s4, 0x64($v0)
/* BD538 80126E38 ACA30000 */  sw        $v1, 0x0($a1)
/* BD53C 80126E3C 24430078 */  addiu     $v1, $v0, 0x78
/* BD540 80126E40 AC440068 */  sw        $a0, 0x68($v0)
/* BD544 80126E44 AC56006C */  sw        $s6, 0x6C($v0)
/* BD548 80126E48 ACA30000 */  sw        $v1, 0x0($a1)
/* BD54C 80126E4C 3C038015 */  lui       $v1, %hi(gRewindArrowQuad)
/* BD550 80126E50 2463C298 */  addiu     $v1, $v1, %lo(gRewindArrowQuad)
/* BD554 80126E54 AC430074 */  sw        $v1, 0x74($v0)
/* BD558 80126E58 24430080 */  addiu     $v1, $v0, 0x80
/* BD55C 80126E5C AC570070 */  sw        $s7, 0x70($v0)
/* BD560 80126E60 ACA30000 */  sw        $v1, 0x0($a1)
/* BD564 80126E64 AC590078 */  sw        $t9, 0x78($v0)
/* BD568 80126E68 AC58007C */  sw        $t8, 0x7C($v0)
/* BD56C 80126E6C 8FBF00B8 */  lw        $ra, 0xB8($sp)
/* BD570 80126E70 8FB700B4 */  lw        $s7, 0xB4($sp)
/* BD574 80126E74 8FB600B0 */  lw        $s6, 0xB0($sp)
/* BD578 80126E78 8FB500AC */  lw        $s5, 0xAC($sp)
/* BD57C 80126E7C 8FB400A8 */  lw        $s4, 0xA8($sp)
/* BD580 80126E80 8FB300A4 */  lw        $s3, 0xA4($sp)
/* BD584 80126E84 8FB200A0 */  lw        $s2, 0xA0($sp)
/* BD588 80126E88 8FB1009C */  lw        $s1, 0x9C($sp)
/* BD58C 80126E8C 8FB00098 */  lw        $s0, 0x98($sp)
/* BD590 80126E90 D7BC00E0 */  ldc1      $f28, 0xE0($sp)
/* BD594 80126E94 D7BA00D8 */  ldc1      $f26, 0xD8($sp)
/* BD598 80126E98 D7B800D0 */  ldc1      $f24, 0xD0($sp)
/* BD59C 80126E9C D7B600C8 */  ldc1      $f22, 0xC8($sp)
/* BD5A0 80126EA0 D7B400C0 */  ldc1      $f20, 0xC0($sp)
/* BD5A4 80126EA4 03E00008 */  jr        $ra
/* BD5A8 80126EA8 27BD00E8 */   addiu    $sp, $sp, 0xE8

### DECOMPILED C INSTRUCTIONS:

void msg_update_rewind_arrow(s32 printerIndex) {
    MessagePrintState* printer = &gMessagePrinters[printerIndex];
    f32 angle = 0.0f;
    f32 scale = 1.0f;
    f32 colorG = 255.0f;
    f32 colorR = 255.0f;
    f32 colorB = 255.0f;
    Matrix4f sp18;
    Matrix4f sp58;
    f32 temp;

    gDPPipeSync(gMainGfxPos++);
    gSPDisplayList(gMainGfxPos++, D_8014C2D8);

    switch (printer->rewindArrowAnimState) {
        case REWIND_ARROW_STATE_INIT:
            printer->rewindArrowCounter = 0;
            printer->rewindArrowSwingPhase = 0;
            printer->rewindArrowAnimState = REWIND_ARROW_STATE_GROW;
            // fallthrough
        case REWIND_ARROW_STATE_GROW:
            temp = printer->rewindArrowCounter;
            scale = temp * 0.2 + 0.5;
            if (++printer->rewindArrowCounter >= 4) {
                printer->rewindArrowCounter = 0;
                printer->rewindArrowAnimState = REWIND_ARROW_STATE_NEUTRAL;
            }
            break;
        case REWIND_ARROW_STATE_NEUTRAL:
            if (++printer->rewindArrowCounter >= 25) {
                printer->rewindArrowCounter = 0;
                printer->rewindArrowAnimState = REWIND_ARROW_STATE_CHANGE_COLOR;
            }
            break;
        case REWIND_ARROW_STATE_CHANGE_COLOR:
            colorR = update_lerp(EASING_LINEAR, 255.0f, 224.0f, printer->rewindArrowCounter, 15);
            colorG = update_lerp(EASING_LINEAR, 255.0f, 224.0f, printer->rewindArrowCounter, 15);
            colorB = update_lerp(EASING_LINEAR, 255.0f, 208.0f, printer->rewindArrowCounter, 15);
            if (++printer->rewindArrowCounter >= 15) {
                printer->rewindArrowCounter = 0;
                printer->rewindArrowAnimState = REWIND_ARROW_STATE_CHANGE_COLOR_BACK;
            }
            break;
        case REWIND_ARROW_STATE_CHANGE_COLOR_BACK:
            colorR = update_lerp(EASING_LINEAR, 224.0f, 255.0f, printer->rewindArrowCounter, 15);
            colorG = update_lerp(EASING_LINEAR, 224.0f, 255.0f, printer->rewindArrowCounter, 15);
            colorB = update_lerp(EASING_LINEAR, 208.0f, 255.0f, printer->rewindArrowCounter, 15);
            if (++printer->rewindArrowCounter >= 15) {
                printer->rewindArrowCounter = 0;
                printer->rewindArrowAnimState = REWIND_ARROW_STATE_NEUTRAL;
            }
            break;
    }

    gDPSetPrimColor(gMainGfxPos++, 0, 0, colorR, colorG, colorB, 255);

    if (printer->rewindArrowAnimState == REWIND_ARROW_STATE_NEUTRAL ||
        printer->rewindArrowAnimState == REWIND_ARROW_STATE_CHANGE_COLOR ||
        printer->rewindArrowAnimState == REWIND_ARROW_STATE_CHANGE_COLOR_BACK) {
        angle = cosine(printer->rewindArrowSwingPhase) * 30.0f;
        printer->rewindArrowSwingPhase += 15;
        if (printer->rewindArrowSwingPhase >= 360) {
            printer->rewindArrowSwingPhase -= 360;
        }
    }

    guTranslateF(sp18, printer->rewindArrowPos.x + 12, -(printer->rewindArrowPos.y + 12), 0);
    if (angle != 0.0) {
        guRotateF(sp58, angle, 0, 0, 1.0f);
        guMtxCatF(sp58, sp18, sp18);
    }
    if (scale != 1.0) {
        guScaleF(sp58, scale, scale, 1.0f);
        guMtxCatF(sp58, sp18, sp18);
    }

    guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
    gSPMatrix(gMainGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
    gDPLoadTextureTile(gMainGfxPos++, ui_msg_star_png, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, 15, 17, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD);
    gDPLoadMultiTile_4b(gMainGfxPos++, ui_msg_star_silhouette_png, 0x0100, 1, G_IM_FMT_I, 16, 0, 0, 0, 15, 18, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 4, 5, G_TX_NOLOD, G_TX_NOLOD);
    gSPVertex(gMainGfxPos++, gRewindArrowQuad, 4, 0);
    gSP2Triangles(gMainGfxPos++, 0, 2, 1, 0, 1, 2, 3, 0);
}


### RAW ASSEMBLY INSTRUCTIONS:

dlabel func_8025BAA0
/* 18A380 8025BAA0 27BDFFC8 */  addiu     $sp, $sp, -0x38
/* 18A384 8025BAA4 AFB40020 */  sw        $s4, 0x20($sp)
/* 18A388 8025BAA8 0080A02D */  daddu     $s4, $a0, $zero
/* 18A38C 8025BAAC AFB20018 */  sw        $s2, 0x18($sp)
/* 18A390 8025BAB0 00A0902D */  daddu     $s2, $a1, $zero
/* 18A394 8025BAB4 AFB50024 */  sw        $s5, 0x24($sp)
/* 18A398 8025BAB8 00C0A82D */  daddu     $s5, $a2, $zero
/* 18A39C 8025BABC AFB3001C */  sw        $s3, 0x1C($sp)
/* 18A3A0 8025BAC0 AFBF0030 */  sw        $ra, 0x30($sp)
/* 18A3A4 8025BAC4 AFB7002C */  sw        $s7, 0x2C($sp)
/* 18A3A8 8025BAC8 AFB60028 */  sw        $s6, 0x28($sp)
/* 18A3AC 8025BACC AFB10014 */  sw        $s1, 0x14($sp)
/* 18A3B0 8025BAD0 AFB00010 */  sw        $s0, 0x10($sp)
/* 18A3B4 8025BAD4 8E5000C0 */  lw        $s0, 0xC0($s2)
/* 18A3B8 8025BAD8 8FB60048 */  lw        $s6, 0x48($sp)
/* 18A3BC 8025BADC 820206C1 */  lb        $v0, 0x6C1($s0)
/* 18A3C0 8025BAE0 8FB1004C */  lw        $s1, 0x4C($sp)
/* 18A3C4 8025BAE4 1040005A */  beqz      $v0, .L8025BC50
/* 18A3C8 8025BAE8 00E0982D */   daddu    $s3, $a3, $zero
/* 18A3CC 8025BAEC 16800016 */  bnez      $s4, .L8025BB48
/* 18A3D0 8025BAF0 00000000 */   nop
/* 18A3D4 8025BAF4 0C0B7830 */  jal       spr_get_player_palettes
/* 18A3D8 8025BAF8 96440088 */   lhu      $a0, 0x88($s2)
/* 18A3DC 8025BAFC AE0206D0 */  sw        $v0, 0x6D0($s0)
/* 18A3E0 8025BB00 0040202D */  daddu     $a0, $v0, $zero
/* 18A3E4 8025BB04 A20006CD */  sb        $zero, 0x6CD($s0)
/* 18A3E8 8025BB08 8C830000 */  lw        $v1, 0x0($a0)
/* 18A3EC 8025BB0C 2402FFFF */  addiu     $v0, $zero, -0x1
/* 18A3F0 8025BB10 10620020 */  beq       $v1, $v0, .L8025BB94
/* 18A3F4 8025BB14 0080182D */   daddu    $v1, $a0, $zero
/* 18A3F8 8025BB18 0040202D */  daddu     $a0, $v0, $zero
.L8025BB1C:
/* 18A3FC 8025BB1C 920206CD */  lbu       $v0, 0x6CD($s0)
/* 18A400 8025BB20 24420001 */  addiu     $v0, $v0, 0x1
/* 18A404 8025BB24 A20206CD */  sb        $v0, 0x6CD($s0)
/* 18A408 8025BB28 00021600 */  sll       $v0, $v0, 24
/* 18A40C 8025BB2C 00021583 */  sra       $v0, $v0, 22
/* 18A410 8025BB30 00431021 */  addu      $v0, $v0, $v1
/* 18A414 8025BB34 8C420000 */  lw        $v0, 0x0($v0)
/* 18A418 8025BB38 10440016 */  beq       $v0, $a0, .L8025BB94
/* 18A41C 8025BB3C 00000000 */   nop
/* 18A420 8025BB40 08096EC7 */  j         .L8025BB1C
/* 18A424 8025BB44 00000000 */   nop
.L8025BB48:
/* 18A428 8025BB48 0C0B7A90 */  jal       spr_get_npc_palettes
/* 18A42C 8025BB4C 96440088 */   lhu      $a0, 0x88($s2)
/* 18A430 8025BB50 AE0206D0 */  sw        $v0, 0x6D0($s0)
/* 18A434 8025BB54 0040202D */  daddu     $a0, $v0, $zero
/* 18A438 8025BB58 A20006CD */  sb        $zero, 0x6CD($s0)
/* 18A43C 8025BB5C 8C830000 */  lw        $v1, 0x0($a0)
/* 18A440 8025BB60 2402FFFF */  addiu     $v0, $zero, -0x1
/* 18A444 8025BB64 1062000B */  beq       $v1, $v0, .L8025BB94
/* 18A448 8025BB68 0080182D */   daddu    $v1, $a0, $zero
/* 18A44C 8025BB6C 0040202D */  daddu     $a0, $v0, $zero
.L8025BB70:
/* 18A450 8025BB70 920206CD */  lbu       $v0, 0x6CD($s0)
/* 18A454 8025BB74 24420001 */  addiu     $v0, $v0, 0x1
/* 18A458 8025BB78 A20206CD */  sb        $v0, 0x6CD($s0)
/* 18A45C 8025BB7C 00021600 */  sll       $v0, $v0, 24
D_8025BB80:
/* 18A460 8025BB80 00021583 */  sra       $v0, $v0, 22
/* 18A464 8025BB84 00431021 */  addu      $v0, $v0, $v1
/* 18A468 8025BB88 8C420000 */  lw        $v0, 0x0($v0)
/* 18A46C 8025BB8C 1444FFF8 */  bne       $v0, $a0, .L8025BB70
/* 18A470 8025BB90 00000000 */   nop
.L8025BB94:
/* 18A474 8025BB94 820306C1 */  lb        $v1, 0x6C1($s0)
/* 18A478 8025BB98 24020001 */  addiu     $v0, $zero, 0x1
/* 18A47C 8025BB9C 14620004 */  bne       $v1, $v0, .L8025BBB0
/* 18A480 8025BBA0 240200FF */   addiu    $v0, $zero, 0xFF
/* 18A484 8025BBA4 A20006C2 */  sb        $zero, 0x6C2($s0)
/* 18A488 8025BBA8 08096EEE */  j         .L8025BBB8
/* 18A48C 8025BBAC A60006CA */   sh       $zero, 0x6CA($s0)
.L8025BBB0:
/* 18A490 8025BBB0 A20006C2 */  sb        $zero, 0x6C2($s0)
/* 18A494 8025BBB4 A60206CA */  sh        $v0, 0x6CA($s0)
.L8025BBB8:
/* 18A498 8025BBB8 820206CD */  lb        $v0, 0x6CD($s0)
/* 18A49C 8025BBBC 18400017 */  blez      $v0, .L8025BC1C
/* 18A4A0 8025BBC0 0000202D */   daddu    $a0, $zero, $zero
/* 18A4A4 8025BBC4 0200282D */  daddu     $a1, $s0, $zero
.L8025BBC8:
/* 18A4A8 8025BBC8 8E0206D0 */  lw        $v0, 0x6D0($s0)
/* 18A4AC 8025BBCC 00041880 */  sll       $v1, $a0, 2
/* 18A4B0 8025BBD0 00621821 */  addu      $v1, $v1, $v0
/* 18A4B4 8025BBD4 00041140 */  sll       $v0, $a0, 5
/* 18A4B8 8025BBD8 8C6A0000 */  lw        $t2, 0x0($v1)
/* 18A4BC 8025BBDC 02024821 */  addu      $t1, $s0, $v0
/* 18A4C0 8025BBE0 11400009 */  beqz      $t2, .L8025BC08
/* 18A4C4 8025BBE4 ACA906D4 */   sw       $t1, 0x6D4($a1)
/* 18A4C8 8025BBE8 0000582D */  daddu     $t3, $zero, $zero
.L8025BBEC:
/* 18A4CC 8025BBEC 95420000 */  lhu       $v0, 0x0($t2)
/* 18A4D0 8025BBF0 254A0002 */  addiu     $t2, $t2, 0x2
/* 18A4D4 8025BBF4 256B0001 */  addiu     $t3, $t3, 0x1
/* 18A4D8 8025BBF8 A5220000 */  sh        $v0, 0x0($t1)
/* 18A4DC 8025BBFC 29620010 */  slti      $v0, $t3, 0x10
/* 18A4E0 8025BC00 1440FFFA */  bnez      $v0, .L8025BBEC
/* 18A4E4 8025BC04 25290002 */   addiu    $t1, $t1, 0x2
.L8025BC08:
/* 18A4E8 8025BC08 820206CD */  lb        $v0, 0x6CD($s0)
/* 18A4EC 8025BC0C 24840001 */  addiu     $a0, $a0, 0x1
/* 18A4F0 8025BC10 0082102A */  slt       $v0, $a0, $v0
/* 18A4F4 8025BC14 1440FFEC */  bnez      $v0, .L8025BBC8
/* 18A4F8 8025BC18 24A50004 */   addiu    $a1, $a1, 0x4
.L8025BC1C:
/* 18A4FC 8025BC1C 16600007 */  bnez      $s3, .L8025BC3C
/* 18A500 8025BC20 00000000 */   nop
/* 18A504 8025BC24 96020744 */  lhu       $v0, 0x744($s0)
/* 18A508 8025BC28 A6000744 */  sh        $zero, 0x744($s0)
/* 18A50C 8025BC2C A6020746 */  sh        $v0, 0x746($s0)
/* 18A510 8025BC30 0040182D */  daddu     $v1, $v0, $zero
/* 18A514 8025BC34 A6020748 */  sh        $v0, 0x748($s0)
/* 18A518 8025BC38 A603074A */  sh        $v1, 0x74A($s0)
.L8025BC3C:
/* 18A51C 8025BC3C 96020744 */  lhu       $v0, 0x744($s0)
/* 18A520 8025BC40 A60006CA */  sh        $zero, 0x6CA($s0)
/* 18A524 8025BC44 A20006C2 */  sb        $zero, 0x6C2($s0)
/* 18A528 8025BC48 A20006C1 */  sb        $zero, 0x6C1($s0)
/* 18A52C 8025BC4C A60206C8 */  sh        $v0, 0x6C8($s0)
.L8025BC50:
/* 18A530 8025BC50 820306C2 */  lb        $v1, 0x6C2($s0)
/* 18A534 8025BC54 10600005 */  beqz      $v1, .L8025BC6C
/* 18A538 8025BC58 24020001 */   addiu    $v0, $zero, 0x1
/* 18A53C 8025BC5C 1062000E */  beq       $v1, $v0, .L8025BC98
/* 18A540 8025BC60 24020002 */   addiu    $v0, $zero, 0x2
/* 18A544 8025BC64 08096FA3 */  j         .L8025BE8C
/* 18A548 8025BC68 00000000 */   nop
.L8025BC6C:
/* 18A54C 8025BC6C 16200085 */  bnez      $s1, .L8025BE84
/* 18A550 8025BC70 00000000 */   nop
/* 18A554 8025BC74 860206C8 */  lh        $v0, 0x6C8($s0)
/* 18A558 8025BC78 960306C8 */  lhu       $v1, 0x6C8($s0)
/* 18A55C 8025BC7C 10400003 */  beqz      $v0, .L8025BC8C
/* 18A560 8025BC80 2462FFFF */   addiu    $v0, $v1, -0x1
/* 18A564 8025BC84 08096FA1 */  j         .L8025BE84
/* 18A568 8025BC88 A60206C8 */   sh       $v0, 0x6C8($s0)
.L8025BC8C:
/* 18A56C 8025BC8C 24020001 */  addiu     $v0, $zero, 0x1
/* 18A570 8025BC90 A60006CA */  sh        $zero, 0x6CA($s0)
/* 18A574 8025BC94 A20206C2 */  sb        $v0, 0x6C2($s0)
.L8025BC98:
/* 18A578 8025BC98 16200018 */  bnez      $s1, .L8025BCFC
/* 18A57C 8025BC9C 3C0651EB */   lui      $a2, (0x51EB851F >> 16)
/* 18A580 8025BCA0 86020746 */  lh        $v0, 0x746($s0)
/* 18A584 8025BCA4 24036400 */  addiu     $v1, $zero, 0x6400
/* 18A588 8025BCA8 14400002 */  bnez      $v0, .L8025BCB4
/* 18A58C 8025BCAC 0062001A */   div      $zero, $v1, $v0
/* 18A590 8025BCB0 0007000D */  break     7
.L8025BCB4:
/* 18A594 8025BCB4 2401FFFF */  addiu     $at, $zero, -0x1
/* 18A598 8025BCB8 14410004 */  bne       $v0, $at, .L8025BCCC
/* 18A59C 8025BCBC 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 18A5A0 8025BCC0 14610002 */  bne       $v1, $at, .L8025BCCC
/* 18A5A4 8025BCC4 00000000 */   nop
/* 18A5A8 8025BCC8 0006000D */  break     6
.L8025BCCC:
/* 18A5AC 8025BCCC 00001812 */  mflo      $v1
/* 18A5B0 8025BCD0 960206CA */  lhu       $v0, 0x6CA($s0)
/* 18A5B4 8025BCD4 00431021 */  addu      $v0, $v0, $v1
/* 18A5B8 8025BCD8 A60206CA */  sh        $v0, 0x6CA($s0)
/* 18A5BC 8025BCDC 00021400 */  sll       $v0, $v0, 16
/* 18A5C0 8025BCE0 00021403 */  sra       $v0, $v0, 16
/* 18A5C4 8025BCE4 2842639D */  slti      $v0, $v0, 0x639D
/* 18A5C8 8025BCE8 14400005 */  bnez      $v0, .L8025BD00
/* 18A5CC 8025BCEC 34C6851F */   ori      $a2, $a2, (0x51EB851F & 0xFFFF)
/* 18A5D0 8025BCF0 2402639C */  addiu     $v0, $zero, 0x639C
/* 18A5D4 8025BCF4 A60206CA */  sh        $v0, 0x6CA($s0)
/* 18A5D8 8025BCF8 3C0651EB */  lui       $a2, (0x51EB851F >> 16)
.L8025BCFC:
/* 18A5DC 8025BCFC 34C6851F */  ori       $a2, $a2, (0x51EB851F & 0xFFFF)
.L8025BD00:
/* 18A5E0 8025BD00 0200682D */  daddu     $t5, $s0, $zero
/* 18A5E4 8025BD04 0000582D */  daddu     $t3, $zero, $zero
/* 18A5E8 8025BD08 3C0F8080 */  lui       $t7, (0x80808081 >> 16)
/* 18A5EC 8025BD0C 35EF8081 */  ori       $t7, $t7, (0x80808081 & 0xFFFF)
/* 18A5F0 8025BD10 86020740 */  lh        $v0, 0x740($s0)
/* 18A5F4 8025BD14 8E0506D0 */  lw        $a1, 0x6D0($s0)
/* 18A5F8 8025BD18 960306CA */  lhu       $v1, 0x6CA($s0)
/* 18A5FC 8025BD1C 00021080 */  sll       $v0, $v0, 2
/* 18A600 8025BD20 00451021 */  addu      $v0, $v0, $a1
/* 18A604 8025BD24 00031C00 */  sll       $v1, $v1, 16
/* 18A608 8025BD28 00032403 */  sra       $a0, $v1, 16
/* 18A60C 8025BD2C 8C4A0000 */  lw        $t2, 0x0($v0)
/* 18A610 8025BD30 86020742 */  lh        $v0, 0x742($s0)
/* 18A614 8025BD34 00860018 */  mult      $a0, $a2
/* 18A618 8025BD38 00021080 */  sll       $v0, $v0, 2
/* 18A61C 8025BD3C 00451021 */  addu      $v0, $v0, $a1
/* 18A620 8025BD40 8C490000 */  lw        $t1, 0x0($v0)
/* 18A624 8025BD44 00031FC3 */  sra       $v1, $v1, 31
/* 18A628 8025BD48 AE1006D4 */  sw        $s0, 0x6D4($s0)
/* 18A62C 8025BD4C 0000C810 */  mfhi      $t9
/* 18A630 8025BD50 00191143 */  sra       $v0, $t9, 5
/* 18A634 8025BD54 0043C023 */  subu      $t8, $v0, $v1
/* 18A638 8025BD58 330C00FF */  andi      $t4, $t8, 0xFF
/* 18A63C 8025BD5C 240200FF */  addiu     $v0, $zero, 0xFF
/* 18A640 8025BD60 004C7023 */  subu      $t6, $v0, $t4
.L8025BD64:
/* 18A644 8025BD64 95430000 */  lhu       $v1, 0x0($t2)
/* 18A648 8025BD68 000312C2 */  srl       $v0, $v1, 11
/* 18A64C 8025BD6C 004E0018 */  mult      $v0, $t6
/* 18A650 8025BD70 95240000 */  lhu       $a0, 0x0($t1)
/* 18A654 8025BD74 00002812 */  mflo      $a1
/* 18A658 8025BD78 000412C2 */  srl       $v0, $a0, 11
/* 18A65C 8025BD7C 00000000 */  nop
/* 18A660 8025BD80 004C0018 */  mult      $v0, $t4
/* 18A664 8025BD84 00004012 */  mflo      $t0
/* 18A668 8025BD88 00A82821 */  addu      $a1, $a1, $t0
/* 18A66C 8025BD8C 00000000 */  nop
/* 18A670 8025BD90 00AF0018 */  mult      $a1, $t7
/* 18A674 8025BD94 00009810 */  mfhi      $s3
/* 18A678 8025BD98 00031182 */  srl       $v0, $v1, 6
/* 18A67C 8025BD9C 3042001F */  andi      $v0, $v0, 0x1F
/* 18A680 8025BDA0 004E0018 */  mult      $v0, $t6
/* 18A684 8025BDA4 00004012 */  mflo      $t0
/* 18A688 8025BDA8 00041182 */  srl       $v0, $a0, 6
/* 18A68C 8025BDAC 3042001F */  andi      $v0, $v0, 0x1F
/* 18A690 8025BDB0 004C0018 */  mult      $v0, $t4
/* 18A694 8025BDB4 00003812 */  mflo      $a3
/* 18A698 8025BDB8 00031842 */  srl       $v1, $v1, 1
/* 18A69C 8025BDBC 3063001F */  andi      $v1, $v1, 0x1F
/* 18A6A0 8025BDC0 006E0018 */  mult      $v1, $t6
/* 18A6A4 8025BDC4 00001812 */  mflo      $v1
/* 18A6A8 8025BDC8 00042042 */  srl       $a0, $a0, 1
/* 18A6AC 8025BDCC 3084001F */  andi      $a0, $a0, 0x1F
/* 18A6B0 8025BDD0 008C0018 */  mult      $a0, $t4
/* 18A6B4 8025BDD4 254A0002 */  addiu     $t2, $t2, 0x2
/* 18A6B8 8025BDD8 91260001 */  lbu       $a2, 0x1($t1)
D_8025BDDC:
/* 18A6BC 8025BDDC 25290002 */  addiu     $t1, $t1, 0x2
/* 18A6C0 8025BDE0 0000B812 */  mflo      $s7
/* 18A6C4 8025BDE4 256B0001 */  addiu     $t3, $t3, 0x1
/* 18A6C8 8025BDE8 01072021 */  addu      $a0, $t0, $a3
/* 18A6CC 8025BDEC 008F0018 */  mult      $a0, $t7
/* 18A6D0 8025BDF0 30C60001 */  andi      $a2, $a2, 0x1
/* 18A6D4 8025BDF4 02651021 */  addu      $v0, $s3, $a1
/* 18A6D8 8025BDF8 000211C3 */  sra       $v0, $v0, 7
/* 18A6DC 8025BDFC 00052FC3 */  sra       $a1, $a1, 31
/* 18A6E0 8025BE00 00004010 */  mfhi      $t0
/* 18A6E4 8025BE04 00453823 */  subu      $a3, $v0, $a1
/* 18A6E8 8025BE08 00771821 */  addu      $v1, $v1, $s7
/* 18A6EC 8025BE0C 006F0018 */  mult      $v1, $t7
/* 18A6F0 8025BE10 01041021 */  addu      $v0, $t0, $a0
/* 18A6F4 8025BE14 000211C3 */  sra       $v0, $v0, 7
/* 18A6F8 8025BE18 000427C3 */  sra       $a0, $a0, 31
/* 18A6FC 8025BE1C 00442823 */  subu      $a1, $v0, $a0
/* 18A700 8025BE20 00009810 */  mfhi      $s3
/* 18A704 8025BE24 02631021 */  addu      $v0, $s3, $v1
/* 18A708 8025BE28 000211C3 */  sra       $v0, $v0, 7
/* 18A70C 8025BE2C 00031FC3 */  sra       $v1, $v1, 31
/* 18A710 8025BE30 00432023 */  subu      $a0, $v0, $v1
/* 18A714 8025BE34 30E300FF */  andi      $v1, $a3, 0xFF
/* 18A718 8025BE38 00031AC0 */  sll       $v1, $v1, 11
/* 18A71C 8025BE3C 30A200FF */  andi      $v0, $a1, 0xFF
/* 18A720 8025BE40 00021180 */  sll       $v0, $v0, 6
/* 18A724 8025BE44 00621825 */  or        $v1, $v1, $v0
/* 18A728 8025BE48 308200FF */  andi      $v0, $a0, 0xFF
/* 18A72C 8025BE4C 00021040 */  sll       $v0, $v0, 1
/* 18A730 8025BE50 00621825 */  or        $v1, $v1, $v0
/* 18A734 8025BE54 00C33025 */  or        $a2, $a2, $v1
/* 18A738 8025BE58 A5A60000 */  sh        $a2, 0x0($t5)
/* 18A73C 8025BE5C 29620010 */  slti      $v0, $t3, 0x10
/* 18A740 8025BE60 1440FFC0 */  bnez      $v0, .L8025BD64
/* 18A744 8025BE64 25AD0002 */   addiu    $t5, $t5, 0x2
/* 18A748 8025BE68 330300FF */  andi      $v1, $t8, 0xFF
D_8025BE6C:
/* 18A74C 8025BE6C 240200FF */  addiu     $v0, $zero, 0xFF
/* 18A750 8025BE70 14620004 */  bne       $v1, $v0, .L8025BE84
/* 18A754 8025BE74 24020002 */   addiu    $v0, $zero, 0x2
/* 18A758 8025BE78 96030748 */  lhu       $v1, 0x748($s0)
/* 18A75C 8025BE7C A20206C2 */  sb        $v0, 0x6C2($s0)
/* 18A760 8025BE80 A60306C8 */  sh        $v1, 0x6C8($s0)
.L8025BE84:
/* 18A764 8025BE84 820306C2 */  lb        $v1, 0x6C2($s0)
/* 18A768 8025BE88 24020002 */  addiu     $v0, $zero, 0x2
.L8025BE8C:
/* 18A76C 8025BE8C 10620005 */  beq       $v1, $v0, .L8025BEA4
/* 18A770 8025BE90 24020003 */   addiu    $v0, $zero, 0x3
/* 18A774 8025BE94 1062000C */  beq       $v1, $v0, .L8025BEC8
/* 18A778 8025BE98 00000000 */   nop
/* 18A77C 8025BE9C 0809702D */  j         .L8025C0B4
/* 18A780 8025BEA0 00000000 */   nop
.L8025BEA4:
/* 18A784 8025BEA4 16200083 */  bnez      $s1, .L8025C0B4
/* 18A788 8025BEA8 00000000 */   nop
/* 18A78C 8025BEAC 860206C8 */  lh        $v0, 0x6C8($s0)
/* 18A790 8025BEB0 960306C8 */  lhu       $v1, 0x6C8($s0)
/* 18A794 8025BEB4 1440007E */  bnez      $v0, .L8025C0B0
/* 18A798 8025BEB8 2462FFFF */   addiu    $v0, $v1, -0x1
/* 18A79C 8025BEBC 24020003 */  addiu     $v0, $zero, 0x3
/* 18A7A0 8025BEC0 A60006CA */  sh        $zero, 0x6CA($s0)
/* 18A7A4 8025BEC4 A20206C2 */  sb        $v0, 0x6C2($s0)
.L8025BEC8:
/* 18A7A8 8025BEC8 16200018 */  bnez      $s1, .L8025BF2C
/* 18A7AC 8025BECC 3C0651EB */   lui      $a2, (0x51EB851F >> 16)
/* 18A7B0 8025BED0 8602074A */  lh        $v0, 0x74A($s0)
/* 18A7B4 8025BED4 24036400 */  addiu     $v1, $zero, 0x6400
/* 18A7B8 8025BED8 14400002 */  bnez      $v0, .L8025BEE4
/* 18A7BC 8025BEDC 0062001A */   div      $zero, $v1, $v0
/* 18A7C0 8025BEE0 0007000D */  break     7
.L8025BEE4:
/* 18A7C4 8025BEE4 2401FFFF */  addiu     $at, $zero, -0x1
/* 18A7C8 8025BEE8 14410004 */  bne       $v0, $at, .L8025BEFC
/* 18A7CC 8025BEEC 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 18A7D0 8025BEF0 14610002 */  bne       $v1, $at, .L8025BEFC
/* 18A7D4 8025BEF4 00000000 */   nop
/* 18A7D8 8025BEF8 0006000D */  break     6
.L8025BEFC:
/* 18A7DC 8025BEFC 00001812 */  mflo      $v1
/* 18A7E0 8025BF00 960206CA */  lhu       $v0, 0x6CA($s0)
/* 18A7E4 8025BF04 00431021 */  addu      $v0, $v0, $v1
/* 18A7E8 8025BF08 A60206CA */  sh        $v0, 0x6CA($s0)
/* 18A7EC 8025BF0C 00021400 */  sll       $v0, $v0, 16
/* 18A7F0 8025BF10 00021403 */  sra       $v0, $v0, 16
/* 18A7F4 8025BF14 2842639D */  slti      $v0, $v0, 0x639D
/* 18A7F8 8025BF18 14400005 */  bnez      $v0, .L8025BF30
/* 18A7FC 8025BF1C 34C6851F */   ori      $a2, $a2, (0x51EB851F & 0xFFFF)
/* 18A800 8025BF20 2402639C */  addiu     $v0, $zero, 0x639C
/* 18A804 8025BF24 A60206CA */  sh        $v0, 0x6CA($s0)
/* 18A808 8025BF28 3C0651EB */  lui       $a2, (0x51EB851F >> 16)
.L8025BF2C:
/* 18A80C 8025BF2C 34C6851F */  ori       $a2, $a2, (0x51EB851F & 0xFFFF)
.L8025BF30:
/* 18A810 8025BF30 0200682D */  daddu     $t5, $s0, $zero
/* 18A814 8025BF34 0000582D */  daddu     $t3, $zero, $zero
/* 18A818 8025BF38 3C0F8080 */  lui       $t7, (0x80808081 >> 16)
/* 18A81C 8025BF3C 35EF8081 */  ori       $t7, $t7, (0x80808081 & 0xFFFF)
/* 18A820 8025BF40 86020742 */  lh        $v0, 0x742($s0)
/* 18A824 8025BF44 8E0506D0 */  lw        $a1, 0x6D0($s0)
/* 18A828 8025BF48 960306CA */  lhu       $v1, 0x6CA($s0)
/* 18A82C 8025BF4C 00021080 */  sll       $v0, $v0, 2
/* 18A830 8025BF50 00451021 */  addu      $v0, $v0, $a1
/* 18A834 8025BF54 00031C00 */  sll       $v1, $v1, 16
/* 18A838 8025BF58 00032403 */  sra       $a0, $v1, 16
/* 18A83C 8025BF5C 8C4A0000 */  lw        $t2, 0x0($v0)
/* 18A840 8025BF60 86020740 */  lh        $v0, 0x740($s0)
/* 18A844 8025BF64 00860018 */  mult      $a0, $a2
/* 18A848 8025BF68 00021080 */  sll       $v0, $v0, 2
/* 18A84C 8025BF6C 00451021 */  addu      $v0, $v0, $a1
/* 18A850 8025BF70 8C490000 */  lw        $t1, 0x0($v0)
/* 18A854 8025BF74 00031FC3 */  sra       $v1, $v1, 31
D_8025BF78:
/* 18A858 8025BF78 AE1006D4 */  sw        $s0, 0x6D4($s0)
/* 18A85C 8025BF7C 0000C810 */  mfhi      $t9
/* 18A860 8025BF80 00191143 */  sra       $v0, $t9, 5
/* 18A864 8025BF84 0043C023 */  subu      $t8, $v0, $v1
/* 18A868 8025BF88 330C00FF */  andi      $t4, $t8, 0xFF
/* 18A86C 8025BF8C 240200FF */  addiu     $v0, $zero, 0xFF
/* 18A870 8025BF90 004C7023 */  subu      $t6, $v0, $t4
.L8025BF94:
/* 18A874 8025BF94 95430000 */  lhu       $v1, 0x0($t2)
/* 18A878 8025BF98 000312C2 */  srl       $v0, $v1, 11
/* 18A87C 8025BF9C 004E0018 */  mult      $v0, $t6
/* 18A880 8025BFA0 95240000 */  lhu       $a0, 0x0($t1)
/* 18A884 8025BFA4 00002812 */  mflo      $a1
/* 18A888 8025BFA8 000412C2 */  srl       $v0, $a0, 11
/* 18A88C 8025BFAC 00000000 */  nop
/* 18A890 8025BFB0 004C0018 */  mult      $v0, $t4
/* 18A894 8025BFB4 00004012 */  mflo      $t0
/* 18A898 8025BFB8 00A82821 */  addu      $a1, $a1, $t0
/* 18A89C 8025BFBC 00000000 */  nop
/* 18A8A0 8025BFC0 00AF0018 */  mult      $a1, $t7
/* 18A8A4 8025BFC4 00008810 */  mfhi      $s1
/* 18A8A8 8025BFC8 00031182 */  srl       $v0, $v1, 6
/* 18A8AC 8025BFCC 3042001F */  andi      $v0, $v0, 0x1F
/* 18A8B0 8025BFD0 004E0018 */  mult      $v0, $t6
/* 18A8B4 8025BFD4 00004012 */  mflo      $t0
/* 18A8B8 8025BFD8 00041182 */  srl       $v0, $a0, 6
/* 18A8BC 8025BFDC 3042001F */  andi      $v0, $v0, 0x1F
/* 18A8C0 8025BFE0 004C0018 */  mult      $v0, $t4
/* 18A8C4 8025BFE4 00003812 */  mflo      $a3
/* 18A8C8 8025BFE8 00031842 */  srl       $v1, $v1, 1
/* 18A8CC 8025BFEC 3063001F */  andi      $v1, $v1, 0x1F
/* 18A8D0 8025BFF0 006E0018 */  mult      $v1, $t6
/* 18A8D4 8025BFF4 00001812 */  mflo      $v1
/* 18A8D8 8025BFF8 00042042 */  srl       $a0, $a0, 1
/* 18A8DC 8025BFFC 3084001F */  andi      $a0, $a0, 0x1F
/* 18A8E0 8025C000 008C0018 */  mult      $a0, $t4
/* 18A8E4 8025C004 254A0002 */  addiu     $t2, $t2, 0x2
/* 18A8E8 8025C008 91260001 */  lbu       $a2, 0x1($t1)
/* 18A8EC 8025C00C 25290002 */  addiu     $t1, $t1, 0x2
/* 18A8F0 8025C010 00009812 */  mflo      $s3
/* 18A8F4 8025C014 256B0001 */  addiu     $t3, $t3, 0x1
/* 18A8F8 8025C018 01072021 */  addu      $a0, $t0, $a3
/* 18A8FC 8025C01C 008F0018 */  mult      $a0, $t7
/* 18A900 8025C020 30C60001 */  andi      $a2, $a2, 0x1
/* 18A904 8025C024 02251021 */  addu      $v0, $s1, $a1
/* 18A908 8025C028 000211C3 */  sra       $v0, $v0, 7
/* 18A90C 8025C02C 00052FC3 */  sra       $a1, $a1, 31
/* 18A910 8025C030 00004010 */  mfhi      $t0
/* 18A914 8025C034 00453823 */  subu      $a3, $v0, $a1
/* 18A918 8025C038 00731821 */  addu      $v1, $v1, $s3
/* 18A91C 8025C03C 006F0018 */  mult      $v1, $t7
/* 18A920 8025C040 01041021 */  addu      $v0, $t0, $a0
/* 18A924 8025C044 000211C3 */  sra       $v0, $v0, 7
/* 18A928 8025C048 000427C3 */  sra       $a0, $a0, 31
/* 18A92C 8025C04C 00442823 */  subu      $a1, $v0, $a0
/* 18A930 8025C050 00008810 */  mfhi      $s1
/* 18A934 8025C054 02231021 */  addu      $v0, $s1, $v1
/* 18A938 8025C058 000211C3 */  sra       $v0, $v0, 7
/* 18A93C 8025C05C 00031FC3 */  sra       $v1, $v1, 31
/* 18A940 8025C060 00432023 */  subu      $a0, $v0, $v1
/* 18A944 8025C064 30E300FF */  andi      $v1, $a3, 0xFF
/* 18A948 8025C068 00031AC0 */  sll       $v1, $v1, 11
/* 18A94C 8025C06C 30A200FF */  andi      $v0, $a1, 0xFF
/* 18A950 8025C070 00021180 */  sll       $v0, $v0, 6
/* 18A954 8025C074 00621825 */  or        $v1, $v1, $v0
/* 18A958 8025C078 308200FF */  andi      $v0, $a0, 0xFF
/* 18A95C 8025C07C 00021040 */  sll       $v0, $v0, 1
/* 18A960 8025C080 00621825 */  or        $v1, $v1, $v0
/* 18A964 8025C084 00C33025 */  or        $a2, $a2, $v1
/* 18A968 8025C088 A5A60000 */  sh        $a2, 0x0($t5)
/* 18A96C 8025C08C 29620010 */  slti      $v0, $t3, 0x10
/* 18A970 8025C090 1440FFC0 */  bnez      $v0, .L8025BF94
/* 18A974 8025C094 25AD0002 */   addiu    $t5, $t5, 0x2
/* 18A978 8025C098 330300FF */  andi      $v1, $t8, 0xFF
/* 18A97C 8025C09C 240200FF */  addiu     $v0, $zero, 0xFF
/* 18A980 8025C0A0 14620004 */  bne       $v1, $v0, .L8025C0B4
/* 18A984 8025C0A4 00000000 */   nop
/* 18A988 8025C0A8 96020744 */  lhu       $v0, 0x744($s0)
/* 18A98C 8025C0AC A20006C2 */  sb        $zero, 0x6C2($s0)
.L8025C0B0:
/* 18A990 8025C0B0 A60206C8 */  sh        $v0, 0x6C8($s0)
.L8025C0B4:
/* 18A994 8025C0B4 820306C2 */  lb        $v1, 0x6C2($s0)
/* 18A998 8025C0B8 28620004 */  slti      $v0, $v1, 0x4
/* 18A99C 8025C0BC 1040000D */  beqz      $v0, .L8025C0F4
/* 18A9A0 8025C0C0 00000000 */   nop
/* 18A9A4 8025C0C4 0460000B */  bltz      $v1, .L8025C0F4
/* 18A9A8 8025C0C8 00000000 */   nop
/* 18A9AC 8025C0CC 16800006 */  bnez      $s4, .L8025C0E8
D_8025C0D0:
/* 18A9B0 8025C0D0 0240202D */   daddu    $a0, $s2, $zero
/* 18A9B4 8025C0D4 02A0282D */  daddu     $a1, $s5, $zero
/* 18A9B8 8025C0D8 0C096657 */  jal       func_8025995C
/* 18A9BC 8025C0DC 02C0302D */   daddu    $a2, $s6, $zero
/* 18A9C0 8025C0E0 0809703D */  j         .L8025C0F4
D_8025C0E4:
/* 18A9C4 8025C0E4 00000000 */   nop
.L8025C0E8:
/* 18A9C8 8025C0E8 02A0282D */  daddu     $a1, $s5, $zero
/* 18A9CC 8025C0EC 0C0965B0 */  jal       func_802596C0
/* 18A9D0 8025C0F0 02C0302D */   daddu    $a2, $s6, $zero
.L8025C0F4:
/* 18A9D4 8025C0F4 8FBF0030 */  lw        $ra, 0x30($sp)
/* 18A9D8 8025C0F8 8FB7002C */  lw        $s7, 0x2C($sp)
/* 18A9DC 8025C0FC 8FB60028 */  lw        $s6, 0x28($sp)
/* 18A9E0 8025C100 8FB50024 */  lw        $s5, 0x24($sp)
/* 18A9E4 8025C104 8FB40020 */  lw        $s4, 0x20($sp)
/* 18A9E8 8025C108 8FB3001C */  lw        $s3, 0x1C($sp)
/* 18A9EC 8025C10C 8FB20018 */  lw        $s2, 0x18($sp)
/* 18A9F0 8025C110 8FB10014 */  lw        $s1, 0x14($sp)
/* 18A9F4 8025C114 8FB00010 */  lw        $s0, 0x10($sp)
/* 18A9F8 8025C118 03E00008 */  jr        $ra
/* 18A9FC 8025C11C 27BD0038 */   addiu    $sp, $sp, 0x38

### DECOMPILED C INSTRUCTIONS:

void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 hasDifferentIntervals, Matrix4f mtx, b32 skipAnimation) {
    DecorationTable* decor = part->decorationTable;
    PAL_PTR color1;
    PAL_PTR color2;
    PAL_PTR outColor;
    s32 i, j;
    u8 blendAlpha;
    u8 r2, g2, b2, a1;
    u8 r1, g1, b1;

    if (decor->resetPalAdjust != 0) {
        if (isNpcSprite == SPRITE_MODE_PLAYER) {
            decor->originalPalettesList = spr_get_player_palettes(part->currentAnimation >> 16);
            decor->originalPalettesCount = 0;
            while ((s32)decor->originalPalettesList[decor->originalPalettesCount] != -1) {
                decor->originalPalettesCount++;
            }
        } else {
            decor->originalPalettesList = spr_get_npc_palettes(part->currentAnimation >> 16);
            decor->originalPalettesCount = 0;
            while ((s32)decor->originalPalettesList[decor->originalPalettesCount] != -1) {
                decor->originalPalettesCount++;
            }
        }

        if (decor->resetPalAdjust == 1) {
            decor->palAnimState = 0;
            decor->palBlendAlpha = 0;
        } else {
            decor->palAnimState = 0;
            decor->palBlendAlpha = 255;
        }

        for (i = 0; i < decor->originalPalettesCount; i++) {
            color2 = decor->originalPalettesList[i];
            color1 = decor->copiedPalettes[0][i];
            decor->adjustedPalettes[i] = color1;
            if (color2 != NULL) {
                for (j = 0; j < SPR_PAL_SIZE; j++) {
                    *color1++ = *color2++;
                }
            }
        }

        if (!hasDifferentIntervals) {
            decor->palswapTimeAtoB = decor->palswapTimeHoldA;
            decor->palswapTimeHoldB = decor->palswapTimeAtoB;
            decor->palswapTimeBtoA = decor->palswapTimeAtoB;
            decor->palswapTimeHoldA = 0;
        }

        decor->nextPalTime = decor->palswapTimeHoldA;
        decor->palBlendAlpha = 0;
        decor->palAnimState = PAL_SWAP_HOLD_A;
        decor->resetPalAdjust = FALSE;
    }

    // blending from A -> B
    switch (decor->palAnimState) {
        case PAL_SWAP_HOLD_A:
            if (skipAnimation) {
                break;
            }
            if (decor->nextPalTime != 0) {
                decor->nextPalTime--;
                break;
            }
            decor->palBlendAlpha = 0;
            decor->palAnimState = PAL_SWAP_A_TO_B;
            // fallthrough
        case PAL_SWAP_A_TO_B:
            if (!skipAnimation) {
                decor->palBlendAlpha += 25600 / decor->palswapTimeAtoB;
                if (decor->palBlendAlpha > 255 * 100) {
                    decor->palBlendAlpha = 255 * 100;
                }
            }
            blendAlpha = decor->palBlendAlpha / 100;
            // blend two palettes
            color2 = decor->originalPalettesList[decor->blendPalA];
            color1 = decor->originalPalettesList[decor->blendPalB];
            outColor = decor->adjustedPalettes[0] = decor->copiedPalettes[0][0];

            for (j = 0; j < SPR_PAL_SIZE; j++) {
                r2 = UNPACK_PAL_R(*color2);
                g2 = UNPACK_PAL_G(*color2);
                b2 = UNPACK_PAL_B(*color2);
                r1 = UNPACK_PAL_R(*color1);
                g1 = UNPACK_PAL_G(*color1);
                b1 = UNPACK_PAL_B(*color1);
                a1 = UNPACK_PAL_A(*color1);
                color2++;
                color1++;

                r1 = LERP_COMPONENT(r2, r1, blendAlpha);
                g1 = LERP_COMPONENT(g2, g1, blendAlpha);
                b1 = LERP_COMPONENT(b2, b1, blendAlpha);

                *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1);
            }
            if (blendAlpha == 255) {
                decor->palAnimState = PAL_SWAP_HOLD_B;
                decor->nextPalTime = decor->palswapTimeHoldB;
            }
            break;
    }

    // blending from B -> A
    switch (decor->palAnimState) {
        case PAL_SWAP_HOLD_B:
            if (skipAnimation) {
                break;
            }
            if (decor->nextPalTime != 0) {
                decor->nextPalTime--;
                break;
            }
            decor->palBlendAlpha = 0;
            decor->palAnimState = PAL_SWAP_B_TO_A;
            // fallthrough
        case PAL_SWAP_B_TO_A:
            if (!skipAnimation) {
                decor->palBlendAlpha += 25600 / decor->palswapTimeBtoA;
                if (decor->palBlendAlpha > 255 * 100) {
                    decor->palBlendAlpha = 255 * 100;
                }
            }
            blendAlpha = decor->palBlendAlpha / 100;
            // blend two palettes
            color2 = decor->originalPalettesList[decor->blendPalB];
            color1 = decor->originalPalettesList[decor->blendPalA];
            outColor = decor->copiedPalettes[0][0];
            decor->adjustedPalettes[0] = outColor;

            for (j = 0; j < SPR_PAL_SIZE; j++) {
                r2 = UNPACK_PAL_R(*color2);
                g2 = UNPACK_PAL_G(*color2);
                b2 = UNPACK_PAL_B(*color2);
                r1 = UNPACK_PAL_R(*color1);
                g1 = UNPACK_PAL_G(*color1);
                b1 = UNPACK_PAL_B(*color1);
                a1 = UNPACK_PAL_A(*color1);
                color2++;
                color1++;

                r1 = LERP_COMPONENT(r2, r1, blendAlpha);
                g1 = LERP_COMPONENT(g2, g1, blendAlpha);
                b1 = LERP_COMPONENT(b2, b1, blendAlpha);

                *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1);
            }
            if (blendAlpha == 255) {
                decor->palAnimState = PAL_SWAP_HOLD_A;
                decor->nextPalTime = decor->palswapTimeHoldA;
            }
            break;
    }

    switch (decor->palAnimState) {
        case PAL_SWAP_HOLD_A:
        case PAL_SWAP_A_TO_B:
        case PAL_SWAP_HOLD_B:
        case PAL_SWAP_B_TO_A:
            if (isNpcSprite == SPRITE_MODE_PLAYER) {
                func_8025995C(part, yaw, mtx);
            } else {
                func_802596C0(part, yaw, mtx);
            }
            break;
    }
}


### RAW ASSEMBLY INSTRUCTIONS:

glabel star_outline_appendGfx
/* 41384C E01264EC 27BDFF20 */  addiu     $sp, $sp, -0xE0
/* 413850 E01264F0 0080302D */  daddu     $a2, $a0, $zero
/* 413854 E01264F4 AFBF00D4 */  sw        $ra, 0xD4($sp)
/* 413858 E01264F8 AFBE00D0 */  sw        $fp, 0xD0($sp)
/* 41385C E01264FC AFB700CC */  sw        $s7, 0xCC($sp)
/* 413860 E0126500 AFB600C8 */  sw        $s6, 0xC8($sp)
/* 413864 E0126504 AFB500C4 */  sw        $s5, 0xC4($sp)
/* 413868 E0126508 AFB400C0 */  sw        $s4, 0xC0($sp)
/* 41386C E012650C AFB300BC */  sw        $s3, 0xBC($sp)
/* 413870 E0126510 AFB200B8 */  sw        $s2, 0xB8($sp)
/* 413874 E0126514 AFB100B4 */  sw        $s1, 0xB4($sp)
/* 413878 E0126518 AFB000B0 */  sw        $s0, 0xB0($sp)
/* 41387C E012651C F7B400D8 */  sdc1      $f20, 0xD8($sp)
/* 413880 E0126520 8CD3000C */  lw        $s3, 0xC($a2)
/* 413884 E0126524 8E690024 */  lw        $t1, 0x24($s3)
/* 413888 E0126528 8E760018 */  lw        $s6, 0x18($s3)
/* 41388C E012652C 8E77001C */  lw        $s7, 0x1C($s3)
/* 413890 E0126530 8E7E0020 */  lw        $fp, 0x20($s3)
/* 413894 E0126534 AFA900A0 */  sw        $t1, 0xA0($sp)
/* 413898 E0126538 8E690028 */  lw        $t1, 0x28($s3)
/* 41389C E012653C AFA900A4 */  sw        $t1, 0xA4($sp)
/* 4138A0 E0126540 8E69002C */  lw        $t1, 0x2C($s3)
/* 4138A4 E0126544 AFA900A8 */  sw        $t1, 0xA8($sp)
/* 4138A8 E0126548 8E690030 */  lw        $t1, 0x30($s3)
/* 4138AC E012654C 2AC20100 */  slti      $v0, $s6, 0x100
/* 4138B0 E0126550 AFA900AC */  sw        $t1, 0xAC($sp)
/* 4138B4 E0126554 8E750034 */  lw        $s5, 0x34($s3)
/* 4138B8 E0126558 50400001 */  beql      $v0, $zero, .LE0126560
/* 4138BC E012655C 241600FF */   addiu    $s6, $zero, 0xFF
.LE0126560:
/* 4138C0 E0126560 2AE20100 */  slti      $v0, $s7, 0x100
/* 4138C4 E0126564 50400001 */  beql      $v0, $zero, .LE012656C
/* 4138C8 E0126568 241700FF */   addiu    $s7, $zero, 0xFF
.LE012656C:
/* 4138CC E012656C 2BC20100 */  slti      $v0, $fp, 0x100
/* 4138D0 E0126570 50400001 */  beql      $v0, $zero, .LE0126578
/* 4138D4 E0126574 241E00FF */   addiu    $fp, $zero, 0xFF
.LE0126578:
/* 4138D8 E0126578 8FA900A0 */  lw        $t1, 0xA0($sp)
/* 4138DC E012657C 29220100 */  slti      $v0, $t1, 0x100
/* 4138E0 E0126580 14400002 */  bnez      $v0, .LE012658C
/* 4138E4 E0126584 240900FF */   addiu    $t1, $zero, 0xFF
/* 4138E8 E0126588 AFA900A0 */  sw        $t1, 0xA0($sp)
.LE012658C:
/* 4138EC E012658C 8FA900A4 */  lw        $t1, 0xA4($sp)
/* 4138F0 E0126590 29220100 */  slti      $v0, $t1, 0x100
/* 4138F4 E0126594 14400002 */  bnez      $v0, .LE01265A0
/* 4138F8 E0126598 240900FF */   addiu    $t1, $zero, 0xFF
/* 4138FC E012659C AFA900A4 */  sw        $t1, 0xA4($sp)
.LE01265A0:
/* 413900 E01265A0 8FA900A8 */  lw        $t1, 0xA8($sp)
/* 413904 E01265A4 29220100 */  slti      $v0, $t1, 0x100
/* 413908 E01265A8 14400002 */  bnez      $v0, .LE01265B4
/* 41390C E01265AC 240900FF */   addiu    $t1, $zero, 0xFF
/* 413910 E01265B0 AFA900A8 */  sw        $t1, 0xA8($sp)
.LE01265B4:
/* 413914 E01265B4 8FA900AC */  lw        $t1, 0xAC($sp)
/* 413918 E01265B8 29220100 */  slti      $v0, $t1, 0x100
/* 41391C E01265BC 14400003 */  bnez      $v0, .LE01265CC
/* 413920 E01265C0 2AA20100 */   slti     $v0, $s5, 0x100
/* 413924 E01265C4 240900FF */  addiu     $t1, $zero, 0xFF
/* 413928 E01265C8 AFA900AC */  sw        $t1, 0xAC($sp)
.LE01265CC:
/* 41392C E01265CC 50400001 */  beql      $v0, $zero, .LE01265D4
/* 413930 E01265D0 241500FF */   addiu    $s5, $zero, 0xFF
.LE01265D4:
/* 413934 E01265D4 06C20001 */  bltzl     $s6, .LE01265DC
/* 413938 E01265D8 0000B02D */   daddu    $s6, $zero, $zero
.LE01265DC:
/* 41393C E01265DC 06E20001 */  bltzl     $s7, .LE01265E4
/* 413940 E01265E0 0000B82D */   daddu    $s7, $zero, $zero
.LE01265E4:
/* 413944 E01265E4 07C20001 */  bltzl     $fp, .LE01265EC
/* 413948 E01265E8 0000F02D */   daddu    $fp, $zero, $zero
.LE01265EC:
/* 41394C E01265EC 8FA900A0 */  lw        $t1, 0xA0($sp)
/* 413950 E01265F0 05220001 */  bltzl     $t1, .LE01265F8
/* 413954 E01265F4 AFA000A0 */   sw       $zero, 0xA0($sp)
.LE01265F8:
/* 413958 E01265F8 8FA900A4 */  lw        $t1, 0xA4($sp)
/* 41395C E01265FC 05220001 */  bltzl     $t1, .LE0126604
/* 413960 E0126600 AFA000A4 */   sw       $zero, 0xA4($sp)
.LE0126604:
/* 413964 E0126604 8FA900A8 */  lw        $t1, 0xA8($sp)
/* 413968 E0126608 05220001 */  bltzl     $t1, .LE0126610
/* 41396C E012660C AFA000A8 */   sw       $zero, 0xA8($sp)
.LE0126610:
/* 413970 E0126610 8FA900AC */  lw        $t1, 0xAC($sp)
/* 413974 E0126614 05220001 */  bltzl     $t1, .LE012661C
/* 413978 E0126618 AFA000AC */   sw       $zero, 0xAC($sp)
.LE012661C:
/* 41397C E012661C 06A20001 */  bltzl     $s5, .LE0126624
/* 413980 E0126620 0000A82D */   daddu    $s5, $zero, $zero
.LE0126624:
/* 413984 E0126624 3C05DB06 */  lui       $a1, (0xDB060024 >> 16)
/* 413988 E0126628 3C14800A */  lui       $s4, %hi(gMainGfxPos)
/* 41398C E012662C 2694A66C */  addiu     $s4, $s4, %lo(gMainGfxPos)
/* 413990 E0126630 34A50024 */  ori       $a1, $a1, (0xDB060024 & 0xFFFF)
/* 413994 E0126634 8E840000 */  lw        $a0, 0x0($s4)
/* 413998 E0126638 3C02E700 */  lui       $v0, (0xE7000000 >> 16)
/* 41399C E012663C 0080182D */  daddu     $v1, $a0, $zero
/* 4139A0 E0126640 24840008 */  addiu     $a0, $a0, 0x8
/* 4139A4 E0126644 AE840000 */  sw        $a0, 0x0($s4)
/* 4139A8 E0126648 AC620000 */  sw        $v0, 0x0($v1)
/* 4139AC E012664C AC600004 */  sw        $zero, 0x4($v1)
/* 4139B0 E0126650 AC850000 */  sw        $a1, 0x0($a0)
/* 4139B4 E0126654 8CC30010 */  lw        $v1, 0x10($a2)
/* 4139B8 E0126658 24820008 */  addiu     $v0, $a0, 0x8
/* 4139BC E012665C AE820000 */  sw        $v0, 0x0($s4)
/* 4139C0 E0126660 8C63001C */  lw        $v1, 0x1C($v1)
/* 4139C4 E0126664 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* 4139C8 E0126668 AC820008 */  sw        $v0, 0x8($a0)
/* 4139CC E012666C 3C028000 */  lui       $v0, (0x80000000 >> 16)
/* 4139D0 E0126670 00621821 */  addu      $v1, $v1, $v0
/* 4139D4 E0126674 AC830004 */  sw        $v1, 0x4($a0)
/* 4139D8 E0126678 3C03E012 */  lui       $v1, (0xE0126BC8 >> 16)
/* 4139DC E012667C 8C636BC8 */  lw        $v1, (0xE0126BC8 & 0xFFFF)($v1)
/* 4139E0 E0126680 24820010 */  addiu     $v0, $a0, 0x10
/* 4139E4 E0126684 AE820000 */  sw        $v0, 0x0($s4)
/* 4139E8 E0126688 12A0008F */  beqz      $s5, .LE01268C8
/* 4139EC E012668C AC83000C */   sw       $v1, 0xC($a0)
/* 4139F0 E0126690 4480A000 */  mtc1      $zero, $f20
/* 4139F4 E0126694 3C038007 */  lui       $v1, %hi(gCurrentCameraID)
/* 4139F8 E0126698 8C637410 */  lw        $v1, %lo(gCurrentCameraID)($v1)
/* 4139FC E012669C C6600054 */  lwc1      $f0, 0x54($s3)
/* 413A00 E01266A0 3C01E012 */  lui       $at, (0xE0126C30 >> 16)
/* 413A04 E01266A4 D4226C30 */  ldc1      $f2, (0xE0126C30 & 0xFFFF)($at)
/* 413A08 E01266A8 00031080 */  sll       $v0, $v1, 2
/* 413A0C E01266AC 46000021 */  cvt.d.s   $f0, $f0
/* 413A10 E01266B0 00431021 */  addu      $v0, $v0, $v1
/* 413A14 E01266B4 00021080 */  sll       $v0, $v0, 2
/* 413A18 E01266B8 46220002 */  mul.d     $f0, $f0, $f2
/* 413A1C E01266BC 00000000 */  nop
/* 413A20 E01266C0 00431023 */  subu      $v0, $v0, $v1
/* 413A24 E01266C4 000218C0 */  sll       $v1, $v0, 3
/* 413A28 E01266C8 00431021 */  addu      $v0, $v0, $v1
/* 413A2C E01266CC 000210C0 */  sll       $v0, $v0, 3
/* 413A30 E01266D0 4405A000 */  mfc1      $a1, $f20
/* 413A34 E01266D4 3C01800B */  lui       $at, %hi(gCameras + 0x6C)
/* 413A38 E01266D8 00220821 */  addu      $at, $at, $v0
/* 413A3C E01266DC C4221DEC */  lwc1      $f2, %lo(gCameras + 0x6C)($at)
/* 413A40 E01266E0 4407A000 */  mfc1      $a3, $f20
/* 413A44 E01266E4 46001087 */  neg.s     $f2, $f2
/* 413A48 E01266E8 44061000 */  mfc1      $a2, $f2
/* 413A4C E01266EC 46200020 */  cvt.s.d   $f0, $f0
/* 413A50 E01266F0 E7A00010 */  swc1      $f0, 0x10($sp)
/* 413A54 E01266F4 C6600004 */  lwc1      $f0, 0x4($s3)
/* 413A58 E01266F8 E7A00014 */  swc1      $f0, 0x14($sp)
/* 413A5C E01266FC C6600008 */  lwc1      $f0, 0x8($s3)
/* 413A60 E0126700 27A40020 */  addiu     $a0, $sp, 0x20
/* 413A64 E0126704 E7A00018 */  swc1      $f0, 0x18($sp)
/* 413A68 E0126708 C660000C */  lwc1      $f0, 0xC($s3)
/* 413A6C E012670C 3C120001 */  lui       $s2, (0x11630 >> 16)
/* 413A70 E0126710 0C080180 */  jal       shim_guPositionF
/* 413A74 E0126714 E7A0001C */   swc1     $f0, 0x1C($sp)
/* 413A78 E0126718 36521630 */  ori       $s2, $s2, (0x11630 & 0xFFFF)
/* 413A7C E012671C 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 413A80 E0126720 44810000 */  mtc1      $at, $f0
/* 413A84 E0126724 27B00060 */  addiu     $s0, $sp, 0x60
/* 413A88 E0126728 E7B40014 */  swc1      $f20, 0x14($sp)
/* 413A8C E012672C E7B40018 */  swc1      $f20, 0x18($sp)
/* 413A90 E0126730 E7B4001C */  swc1      $f20, 0x1C($sp)
/* 413A94 E0126734 E7A00010 */  swc1      $f0, 0x10($sp)
/* 413A98 E0126738 8E650048 */  lw        $a1, 0x48($s3)
/* 413A9C E012673C 8E66004C */  lw        $a2, 0x4C($s3)
/* 413AA0 E0126740 8E670050 */  lw        $a3, 0x50($s3)
/* 413AA4 E0126744 0C080180 */  jal       shim_guPositionF
/* 413AA8 E0126748 0200202D */   daddu    $a0, $s0, $zero
/* 413AAC E012674C 0200202D */  daddu     $a0, $s0, $zero
/* 413AB0 E0126750 27A50020 */  addiu     $a1, $sp, 0x20
/* 413AB4 E0126754 0C080114 */  jal       shim_guMtxCatF
/* 413AB8 E0126758 00A0302D */   daddu    $a2, $a1, $zero
/* 413ABC E012675C 27A40020 */  addiu     $a0, $sp, 0x20
/* 413AC0 E0126760 3C108007 */  lui       $s0, %hi(gMatrixListPos)
/* 413AC4 E0126764 261041F0 */  addiu     $s0, $s0, %lo(gMatrixListPos)
/* 413AC8 E0126768 3C11800A */  lui       $s1, %hi(gDisplayContext)
/* 413ACC E012676C 2631A674 */  addiu     $s1, $s1, %lo(gDisplayContext)
/* 413AD0 E0126770 96050000 */  lhu       $a1, 0x0($s0)
/* 413AD4 E0126774 8E220000 */  lw        $v0, 0x0($s1)
/* 413AD8 E0126778 00052980 */  sll       $a1, $a1, 6
/* 413ADC E012677C 00B22821 */  addu      $a1, $a1, $s2
/* 413AE0 E0126780 0C080118 */  jal       shim_guMtxF2L
/* 413AE4 E0126784 00452821 */   addu     $a1, $v0, $a1
/* 413AE8 E0126788 3C02DA38 */  lui       $v0, (0xDA380002 >> 16)
/* 413AEC E012678C 34420002 */  ori       $v0, $v0, (0xDA380002 & 0xFFFF)
/* 413AF0 E0126790 8E860000 */  lw        $a2, 0x0($s4)
/* 413AF4 E0126794 96040000 */  lhu       $a0, 0x0($s0)
/* 413AF8 E0126798 00C0282D */  daddu     $a1, $a2, $zero
/* 413AFC E012679C 24C60008 */  addiu     $a2, $a2, 0x8
/* 413B00 E01267A0 AE860000 */  sw        $a2, 0x0($s4)
/* 413B04 E01267A4 ACA20000 */  sw        $v0, 0x0($a1)
/* 413B08 E01267A8 3082FFFF */  andi      $v0, $a0, 0xFFFF
/* 413B0C E01267AC 00021180 */  sll       $v0, $v0, 6
/* 413B10 E01267B0 8E230000 */  lw        $v1, 0x0($s1)
/* 413B14 E01267B4 00521021 */  addu      $v0, $v0, $s2
/* 413B18 E01267B8 00621821 */  addu      $v1, $v1, $v0
/* 413B1C E01267BC ACA30004 */  sw        $v1, 0x4($a1)
/* 413B20 E01267C0 86620000 */  lh        $v0, 0x0($s3)
/* 413B24 E01267C4 24840001 */  addiu     $a0, $a0, 0x1
/* 413B28 E01267C8 14400006 */  bnez      $v0, .LE01267E4
/* 413B2C E01267CC A6040000 */   sh       $a0, 0x0($s0)
/* 413B30 E01267D0 3C04E200 */  lui       $a0, (0xE200001C >> 16)
/* 413B34 E01267D4 3484001C */  ori       $a0, $a0, (0xE200001C & 0xFFFF)
/* 413B38 E01267D8 3C030050 */  lui       $v1, (0x504340 >> 16)
/* 413B3C E01267DC 080499FD */  j         .LE01267F4
/* 413B40 E01267E0 34634340 */   ori      $v1, $v1, (0x504340 & 0xFFFF)
.LE01267E4:
/* 413B44 E01267E4 3C04E200 */  lui       $a0, (0xE200001C >> 16)
/* 413B48 E01267E8 3484001C */  ori       $a0, $a0, (0xE200001C & 0xFFFF)
/* 413B4C E01267EC 3C030050 */  lui       $v1, (0x504B50 >> 16)
/* 413B50 E01267F0 34634B50 */  ori       $v1, $v1, (0x504B50 & 0xFFFF)
.LE01267F4:
/* 413B54 E01267F4 24C20008 */  addiu     $v0, $a2, 0x8
/* 413B58 E01267F8 AE820000 */  sw        $v0, 0x0($s4)
/* 413B5C E01267FC ACC40000 */  sw        $a0, 0x0($a2)
/* 413B60 E0126800 ACC30004 */  sw        $v1, 0x4($a2)
/* 413B64 E0126804 3C06800A */  lui       $a2, %hi(gMainGfxPos)
/* 413B68 E0126808 24C6A66C */  addiu     $a2, $a2, %lo(gMainGfxPos)
/* 413B6C E012680C 3C02FA00 */  lui       $v0, (0xFA000000 >> 16)
/* 413B70 E0126810 00161E00 */  sll       $v1, $s6, 24
/* 413B74 E0126814 00152843 */  sra       $a1, $s5, 1
/* 413B78 E0126818 8CC40000 */  lw        $a0, 0x0($a2)
/* 413B7C E012681C 30A500FF */  andi      $a1, $a1, 0xFF
/* 413B80 E0126820 0080382D */  daddu     $a3, $a0, $zero
/* 413B84 E0126824 24840008 */  addiu     $a0, $a0, 0x8
/* 413B88 E0126828 ACC40000 */  sw        $a0, 0x0($a2)
/* 413B8C E012682C ACE20000 */  sw        $v0, 0x0($a3)
/* 413B90 E0126830 32E200FF */  andi      $v0, $s7, 0xFF
/* 413B94 E0126834 00021400 */  sll       $v0, $v0, 16
/* 413B98 E0126838 00621825 */  or        $v1, $v1, $v0
/* 413B9C E012683C 33C200FF */  andi      $v0, $fp, 0xFF
/* 413BA0 E0126840 00021200 */  sll       $v0, $v0, 8
/* 413BA4 E0126844 00621825 */  or        $v1, $v1, $v0
/* 413BA8 E0126848 00651825 */  or        $v1, $v1, $a1
/* 413BAC E012684C 24820008 */  addiu     $v0, $a0, 0x8
/* 413BB0 E0126850 ACE30004 */  sw        $v1, 0x4($a3)
/* 413BB4 E0126854 ACC20000 */  sw        $v0, 0x0($a2)
/* 413BB8 E0126858 3C02FB00 */  lui       $v0, (0xFB000000 >> 16)
/* 413BBC E012685C AC820000 */  sw        $v0, 0x0($a0)
/* 413BC0 E0126860 8FA900A4 */  lw        $t1, 0xA4($sp)
/* 413BC4 E0126864 3C08D838 */  lui       $t0, (0xD8380002 >> 16)
/* 413BC8 E0126868 00091E00 */  sll       $v1, $t1, 24
/* 413BCC E012686C 8FA900A8 */  lw        $t1, 0xA8($sp)
/* 413BD0 E0126870 35080002 */  ori       $t0, $t0, (0xD8380002 & 0xFFFF)
/* 413BD4 E0126874 312200FF */  andi      $v0, $t1, 0xFF
/* 413BD8 E0126878 00021400 */  sll       $v0, $v0, 16
/* 413BDC E012687C 8FA900AC */  lw        $t1, 0xAC($sp)
/* 413BE0 E0126880 00621825 */  or        $v1, $v1, $v0
/* 413BE4 E0126884 312200FF */  andi      $v0, $t1, 0xFF
/* 413BE8 E0126888 00021200 */  sll       $v0, $v0, 8
/* 413BEC E012688C 00621825 */  or        $v1, $v1, $v0
/* 413BF0 E0126890 00651825 */  or        $v1, $v1, $a1
/* 413BF4 E0126894 24820010 */  addiu     $v0, $a0, 0x10
/* 413BF8 E0126898 AC830004 */  sw        $v1, 0x4($a0)
/* 413BFC E012689C ACC20000 */  sw        $v0, 0x0($a2)
/* 413C00 E01268A0 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* 413C04 E01268A4 AC820008 */  sw        $v0, 0x8($a0)
/* 413C08 E01268A8 3C03E012 */  lui       $v1, (0xE0126BC4 >> 16)
/* 413C0C E01268AC 8C636BC4 */  lw        $v1, (0xE0126BC4 & 0xFFFF)($v1)
/* 413C10 E01268B0 24820018 */  addiu     $v0, $a0, 0x18
/* 413C14 E01268B4 ACC20000 */  sw        $v0, 0x0($a2)
/* 413C18 E01268B8 24020040 */  addiu     $v0, $zero, 0x40
/* 413C1C E01268BC AC880010 */  sw        $t0, 0x10($a0)
/* 413C20 E01268C0 AC820014 */  sw        $v0, 0x14($a0)
/* 413C24 E01268C4 AC83000C */  sw        $v1, 0xC($a0)
.LE01268C8:
/* 413C28 E01268C8 4480A000 */  mtc1      $zero, $f20
/* 413C2C E01268CC 3C038007 */  lui       $v1, %hi(gCurrentCameraID)
/* 413C30 E01268D0 8C637410 */  lw        $v1, %lo(gCurrentCameraID)($v1)
/* 413C34 E01268D4 C6600038 */  lwc1      $f0, 0x38($s3)
/* 413C38 E01268D8 3C01E012 */  lui       $at, (0xE0126C38 >> 16)
/* 413C3C E01268DC D4226C38 */  ldc1      $f2, (0xE0126C38 & 0xFFFF)($at)
/* 413C40 E01268E0 00031080 */  sll       $v0, $v1, 2
/* 413C44 E01268E4 46000021 */  cvt.d.s   $f0, $f0
/* 413C48 E01268E8 00431021 */  addu      $v0, $v0, $v1
/* 413C4C E01268EC 00021080 */  sll       $v0, $v0, 2
/* 413C50 E01268F0 46220002 */  mul.d     $f0, $f0, $f2
/* 413C54 E01268F4 00000000 */  nop
/* 413C58 E01268F8 00431023 */  subu      $v0, $v0, $v1
/* 413C5C E01268FC 000218C0 */  sll       $v1, $v0, 3
/* 413C60 E0126900 00431021 */  addu      $v0, $v0, $v1
/* 413C64 E0126904 000210C0 */  sll       $v0, $v0, 3
/* 413C68 E0126908 4405A000 */  mfc1      $a1, $f20
/* 413C6C E012690C 3C01800B */  lui       $at, %hi(gCameras + 0x6C)
/* 413C70 E0126910 00220821 */  addu      $at, $at, $v0
/* 413C74 E0126914 C4221DEC */  lwc1      $f2, %lo(gCameras + 0x6C)($at)
/* 413C78 E0126918 4407A000 */  mfc1      $a3, $f20
/* 413C7C E012691C 46001087 */  neg.s     $f2, $f2
/* 413C80 E0126920 44061000 */  mfc1      $a2, $f2
/* 413C84 E0126924 46200020 */  cvt.s.d   $f0, $f0
/* 413C88 E0126928 E7A00010 */  swc1      $f0, 0x10($sp)
/* 413C8C E012692C C6600004 */  lwc1      $f0, 0x4($s3)
/* 413C90 E0126930 E7A00014 */  swc1      $f0, 0x14($sp)
/* 413C94 E0126934 C6600008 */  lwc1      $f0, 0x8($s3)
/* 413C98 E0126938 27A40020 */  addiu     $a0, $sp, 0x20
/* 413C9C E012693C E7A00018 */  swc1      $f0, 0x18($sp)
/* 413CA0 E0126940 C660000C */  lwc1      $f0, 0xC($s3)
/* 413CA4 E0126944 3C120001 */  lui       $s2, (0x11630 >> 16)
/* 413CA8 E0126948 0C080180 */  jal       shim_guPositionF
/* 413CAC E012694C E7A0001C */   swc1     $f0, 0x1C($sp)
/* 413CB0 E0126950 36521630 */  ori       $s2, $s2, (0x11630 & 0xFFFF)
/* 413CB4 E0126954 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 413CB8 E0126958 44810000 */  mtc1      $at, $f0
/* 413CBC E012695C 27B00060 */  addiu     $s0, $sp, 0x60
/* 413CC0 E0126960 E7B40014 */  swc1      $f20, 0x14($sp)
/* 413CC4 E0126964 E7B40018 */  swc1      $f20, 0x18($sp)
/* 413CC8 E0126968 E7B4001C */  swc1      $f20, 0x1C($sp)
/* 413CCC E012696C E7A00010 */  swc1      $f0, 0x10($sp)
/* 413CD0 E0126970 8E65003C */  lw        $a1, 0x3C($s3)
/* 413CD4 E0126974 8E660040 */  lw        $a2, 0x40($s3)
/* 413CD8 E0126978 8E670044 */  lw        $a3, 0x44($s3)
/* 413CDC E012697C 0C080180 */  jal       shim_guPositionF
/* 413CE0 E0126980 0200202D */   daddu    $a0, $s0, $zero
/* 413CE4 E0126984 0200202D */  daddu     $a0, $s0, $zero
/* 413CE8 E0126988 27A50020 */  addiu     $a1, $sp, 0x20
/* 413CEC E012698C 0C080114 */  jal       shim_guMtxCatF
/* 413CF0 E0126990 00A0302D */   daddu    $a2, $a1, $zero
/* 413CF4 E0126994 27A40020 */  addiu     $a0, $sp, 0x20
/* 413CF8 E0126998 3C108007 */  lui       $s0, %hi(gMatrixListPos)
/* 413CFC E012699C 261041F0 */  addiu     $s0, $s0, %lo(gMatrixListPos)
/* 413D00 E01269A0 3C11800A */  lui       $s1, %hi(gDisplayContext)
/* 413D04 E01269A4 2631A674 */  addiu     $s1, $s1, %lo(gDisplayContext)
/* 413D08 E01269A8 96050000 */  lhu       $a1, 0x0($s0)
/* 413D0C E01269AC 8E220000 */  lw        $v0, 0x0($s1)
/* 413D10 E01269B0 00052980 */  sll       $a1, $a1, 6
/* 413D14 E01269B4 00B22821 */  addu      $a1, $a1, $s2
/* 413D18 E01269B8 0C080118 */  jal       shim_guMtxF2L
/* 413D1C E01269BC 00452821 */   addu     $a1, $v0, $a1
/* 413D20 E01269C0 3C03DA38 */  lui       $v1, (0xDA380002 >> 16)
/* 413D24 E01269C4 3C06800A */  lui       $a2, %hi(gMainGfxPos)
/* 413D28 E01269C8 24C6A66C */  addiu     $a2, $a2, %lo(gMainGfxPos)
/* 413D2C E01269CC 34630002 */  ori       $v1, $v1, (0xDA380002 & 0xFFFF)
/* 413D30 E01269D0 8CC50000 */  lw        $a1, 0x0($a2)
/* 413D34 E01269D4 96020000 */  lhu       $v0, 0x0($s0)
/* 413D38 E01269D8 00A0202D */  daddu     $a0, $a1, $zero
/* 413D3C E01269DC 24A50008 */  addiu     $a1, $a1, 0x8
/* 413D40 E01269E0 ACC50000 */  sw        $a1, 0x0($a2)
/* 413D44 E01269E4 AC830000 */  sw        $v1, 0x0($a0)
/* 413D48 E01269E8 24430001 */  addiu     $v1, $v0, 0x1
/* 413D4C E01269EC 3042FFFF */  andi      $v0, $v0, 0xFFFF
/* 413D50 E01269F0 00021180 */  sll       $v0, $v0, 6
/* 413D54 E01269F4 A6030000 */  sh        $v1, 0x0($s0)
/* 413D58 E01269F8 8E230000 */  lw        $v1, 0x0($s1)
/* 413D5C E01269FC 00521021 */  addu      $v0, $v0, $s2
/* 413D60 E0126A00 00621821 */  addu      $v1, $v1, $v0
/* 413D64 E0126A04 12A0001A */  beqz      $s5, .LE0126A70
/* 413D68 E0126A08 AC830004 */   sw       $v1, 0x4($a0)
/* 413D6C E0126A0C 86620000 */  lh        $v0, 0x0($s3)
/* 413D70 E0126A10 14400005 */  bnez      $v0, .LE0126A28
/* 413D74 E0126A14 3C04E200 */   lui      $a0, (0xE200001C >> 16)
/* 413D78 E0126A18 3484001C */  ori       $a0, $a0, (0xE200001C & 0xFFFF)
/* 413D7C E0126A1C 3C030050 */  lui       $v1, (0x504340 >> 16)
/* 413D80 E0126A20 08049A8D */  j         .LE0126A34
/* 413D84 E0126A24 34634340 */   ori      $v1, $v1, (0x504340 & 0xFFFF)
.LE0126A28:
/* 413D88 E0126A28 3484001C */  ori       $a0, $a0, (0xE200001C & 0xFFFF)
/* 413D8C E0126A2C 3C030050 */  lui       $v1, (0x504B50 >> 16)
/* 413D90 E0126A30 34634B50 */  ori       $v1, $v1, (0x504B50 & 0xFFFF)
.LE0126A34:
/* 413D94 E0126A34 24A20008 */  addiu     $v0, $a1, 0x8
/* 413D98 E0126A38 ACC20000 */  sw        $v0, 0x0($a2)
/* 413D9C E0126A3C ACA40000 */  sw        $a0, 0x0($a1)
/* 413DA0 E0126A40 ACA30004 */  sw        $v1, 0x4($a1)
/* 413DA4 E0126A44 3C05800A */  lui       $a1, %hi(gMainGfxPos)
/* 413DA8 E0126A48 24A5A66C */  addiu     $a1, $a1, %lo(gMainGfxPos)
/* 413DAC E0126A4C 8CA30000 */  lw        $v1, 0x0($a1)
/* 413DB0 E0126A50 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* 413DB4 E0126A54 0060202D */  daddu     $a0, $v1, $zero
/* 413DB8 E0126A58 AC820000 */  sw        $v0, 0x0($a0)
/* 413DBC E0126A5C 3C02E012 */  lui       $v0, (0xE0126BC4 >> 16)
/* 413DC0 E0126A60 8C426BC4 */  lw        $v0, (0xE0126BC4 & 0xFFFF)($v0)
/* 413DC4 E0126A64 24630008 */  addiu     $v1, $v1, 0x8
/* 413DC8 E0126A68 ACA30000 */  sw        $v1, 0x0($a1)
/* 413DCC E0126A6C AC820004 */  sw        $v0, 0x4($a0)
.LE0126A70:
/* 413DD0 E0126A70 86620000 */  lh        $v0, 0x0($s3)
/* 413DD4 E0126A74 14400008 */  bnez      $v0, .LE0126A98
/* 413DD8 E0126A78 3C06E200 */   lui      $a2, (0xE200001C >> 16)
/* 413DDC E0126A7C 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* 413DE0 E0126A80 3C050050 */  lui       $a1, (0x5041C8 >> 16)
/* 413DE4 E0126A84 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* 413DE8 E0126A88 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* 413DEC E0126A8C 8C820000 */  lw        $v0, 0x0($a0)
/* 413DF0 E0126A90 08049AAC */  j         .LE0126AB0
/* 413DF4 E0126A94 34A541C8 */   ori      $a1, $a1, (0x5041C8 & 0xFFFF)
.LE0126A98:
/* 413DF8 E0126A98 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* 413DFC E0126A9C 3C050050 */  lui       $a1, (0x5049D8 >> 16)
/* 413E00 E0126AA0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* 413E04 E0126AA4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* 413E08 E0126AA8 8C820000 */  lw        $v0, 0x0($a0)
/* 413E0C E0126AAC 34A549D8 */  ori       $a1, $a1, (0x5049D8 & 0xFFFF)
.LE0126AB0:
/* 413E10 E0126AB0 0040182D */  daddu     $v1, $v0, $zero
/* 413E14 E0126AB4 24420008 */  addiu     $v0, $v0, 0x8
/* 413E18 E0126AB8 AC820000 */  sw        $v0, 0x0($a0)
/* 413E1C E0126ABC AC660000 */  sw        $a2, 0x0($v1)
/* 413E20 E0126AC0 AC650004 */  sw        $a1, 0x4($v1)
/* 413E24 E0126AC4 3C05800A */  lui       $a1, %hi(gMainGfxPos)
/* 413E28 E0126AC8 24A5A66C */  addiu     $a1, $a1, %lo(gMainGfxPos)
/* 413E2C E0126ACC 3C02FA00 */  lui       $v0, (0xFA000000 >> 16)
/* 413E30 E0126AD0 8CA40000 */  lw        $a0, 0x0($a1)
/* 413E34 E0126AD4 00161E00 */  sll       $v1, $s6, 24
/* 413E38 E0126AD8 0080302D */  daddu     $a2, $a0, $zero
/* 413E3C E0126ADC 24840008 */  addiu     $a0, $a0, 0x8
/* 413E40 E0126AE0 ACA40000 */  sw        $a0, 0x0($a1)
/* 413E44 E0126AE4 ACC20000 */  sw        $v0, 0x0($a2)
/* 413E48 E0126AE8 32E200FF */  andi      $v0, $s7, 0xFF
/* 413E4C E0126AEC 00021400 */  sll       $v0, $v0, 16
/* 413E50 E0126AF0 00621825 */  or        $v1, $v1, $v0
/* 413E54 E0126AF4 33C200FF */  andi      $v0, $fp, 0xFF
/* 413E58 E0126AF8 00021200 */  sll       $v0, $v0, 8
/* 413E5C E0126AFC 00621825 */  or        $v1, $v1, $v0
/* 413E60 E0126B00 8FA900A0 */  lw        $t1, 0xA0($sp)
/* 413E64 E0126B04 24820008 */  addiu     $v0, $a0, 0x8
/* 413E68 E0126B08 312700FF */  andi      $a3, $t1, 0xFF
/* 413E6C E0126B0C 00671825 */  or        $v1, $v1, $a3
/* 413E70 E0126B10 ACC30004 */  sw        $v1, 0x4($a2)
/* 413E74 E0126B14 ACA20000 */  sw        $v0, 0x0($a1)
/* 413E78 E0126B18 3C02FB00 */  lui       $v0, (0xFB000000 >> 16)
/* 413E7C E0126B1C AC820000 */  sw        $v0, 0x0($a0)
/* 413E80 E0126B20 8FA900A4 */  lw        $t1, 0xA4($sp)
/* 413E84 E0126B24 3C08D838 */  lui       $t0, (0xD8380002 >> 16)
/* 413E88 E0126B28 00091E00 */  sll       $v1, $t1, 24
/* 413E8C E0126B2C 8FA900A8 */  lw        $t1, 0xA8($sp)
/* 413E90 E0126B30 35080002 */  ori       $t0, $t0, (0xD8380002 & 0xFFFF)
/* 413E94 E0126B34 312200FF */  andi      $v0, $t1, 0xFF
/* 413E98 E0126B38 00021400 */  sll       $v0, $v0, 16
/* 413E9C E0126B3C 8FA900AC */  lw        $t1, 0xAC($sp)
/* 413EA0 E0126B40 00621825 */  or        $v1, $v1, $v0
/* 413EA4 E0126B44 312200FF */  andi      $v0, $t1, 0xFF
/* 413EA8 E0126B48 00021200 */  sll       $v0, $v0, 8
/* 413EAC E0126B4C 00621825 */  or        $v1, $v1, $v0
/* 413EB0 E0126B50 00671825 */  or        $v1, $v1, $a3
/* 413EB4 E0126B54 24820010 */  addiu     $v0, $a0, 0x10
/* 413EB8 E0126B58 AC830004 */  sw        $v1, 0x4($a0)
/* 413EBC E0126B5C ACA20000 */  sw        $v0, 0x0($a1)
/* 413EC0 E0126B60 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* 413EC4 E0126B64 AC820008 */  sw        $v0, 0x8($a0)
/* 413EC8 E0126B68 3C03E012 */  lui       $v1, (0xE0126BC0 >> 16)
/* 413ECC E0126B6C 8C636BC0 */  lw        $v1, (0xE0126BC0 & 0xFFFF)($v1)
/* 413ED0 E0126B70 24820018 */  addiu     $v0, $a0, 0x18
/* 413ED4 E0126B74 ACA20000 */  sw        $v0, 0x0($a1)
/* 413ED8 E0126B78 24020040 */  addiu     $v0, $zero, 0x40
/* 413EDC E0126B7C AC880010 */  sw        $t0, 0x10($a0)
/* 413EE0 E0126B80 AC820014 */  sw        $v0, 0x14($a0)
/* 413EE4 E0126B84 AC83000C */  sw        $v1, 0xC($a0)
/* 413EE8 E0126B88 8FBF00D4 */  lw        $ra, 0xD4($sp)
/* 413EEC E0126B8C 8FBE00D0 */  lw        $fp, 0xD0($sp)
/* 413EF0 E0126B90 8FB700CC */  lw        $s7, 0xCC($sp)
/* 413EF4 E0126B94 8FB600C8 */  lw        $s6, 0xC8($sp)
/* 413EF8 E0126B98 8FB500C4 */  lw        $s5, 0xC4($sp)
/* 413EFC E0126B9C 8FB400C0 */  lw        $s4, 0xC0($sp)
/* 413F00 E0126BA0 8FB300BC */  lw        $s3, 0xBC($sp)
/* 413F04 E0126BA4 8FB200B8 */  lw        $s2, 0xB8($sp)
/* 413F08 E0126BA8 8FB100B4 */  lw        $s1, 0xB4($sp)
/* 413F0C E0126BAC 8FB000B0 */  lw        $s0, 0xB0($sp)
/* 413F10 E0126BB0 D7B400D8 */  ldc1      $f20, 0xD8($sp)
/* 413F14 E0126BB4 03E00008 */  jr        $ra
/* 413F18 E0126BB8 27BD00E0 */   addiu    $sp, $sp, 0xE0
/* 413F1C E0126BBC 00000000 */  nop

### DECOMPILED C INSTRUCTIONS:

void star_outline_appendGfx(void* effect) {
    StarOutlineFXData* data = ((EffectInstance*)effect)->data.starOutline;
    s32 unk_18 = data->unk_18;
    s32 unk_1C = data->unk_1C;
    s32 unk_20 = data->unk_20;
    s32 unk_24 = data->unk_24;
    s32 unk_28 = data->unk_28;
    s32 unk_2C = data->unk_2C;
    s32 unk_30 = data->unk_30;
    s32 unk_34 = data->unk_34;
    Matrix4f sp20;
    Matrix4f sp60;

    if (unk_18 > 255) {
        unk_18 = 255;
    }
    if (unk_1C > 255) {
        unk_1C = 255;
    }
    if (unk_20 > 255) {
        unk_20 = 255;
    }
    if (unk_24 > 255) {
        unk_24 = 255;
    }
    if (unk_28 > 255) {
        unk_28 = 255;
    }
    if (unk_2C > 255) {
        unk_2C = 255;
    }
    if (unk_30 > 255) {
        unk_30 = 255;
    }
    if (unk_34 > 255) {
        unk_34 = 255;
    }
    if (unk_18 < 0) {
        unk_18 = 0;
    }
    if (unk_1C < 0) {
        unk_1C = 0;
    }
    if (unk_20 < 0) {
        unk_20 = 0;
    }
    if (unk_24 < 0) {
        unk_24 = 0;
    }
    if (unk_28 < 0) {
        unk_28 = 0;
    }
    if (unk_2C < 0) {
        unk_2C = 0;
    }
    if (unk_30 < 0) {
        unk_30 = 0;
    }
    if (unk_34 < 0) {
        unk_34 = 0;
    }

    gDPPipeSync(gMainGfxPos++);
    gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
    gSPDisplayList(gMainGfxPos++, D_E0126BC8[0]);

    if (unk_34 != 0) {
        shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, (f32) ((f64) data->unk_54 * 0.4), data->pos.x, data->pos.y, data->pos.z);
        shim_guPositionF(sp60, data->unk_48, data->unk_4C, data->unk_50, 1.0f, 0.0f, 0.0f, 0.0f);
        shim_guMtxCatF(sp60, sp20, sp20);
        shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);

        gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);

        if (data->unk_00 == 0) {
            gDPSetRenderMode(gMainGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
        } else {
            gDPSetRenderMode(gMainGfxPos++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
        }

        gDPSetPrimColor(gMainGfxPos++, 0, 0, unk_18, unk_1C, unk_20, unk_34 >> 1);
        gDPSetEnvColor(gMainGfxPos++, unk_28, unk_2C, unk_30, unk_34 >> 1);
        gSPDisplayList(gMainGfxPos++, D_E0126BC4[0]);
        gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
    }

    shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_38 * 0.4, data->pos.x, data->pos.y, data->pos.z);
    shim_guPositionF(sp60, data->unk_3C.x, data->unk_3C.y, data->unk_3C.z, 1.0f, 0.0f, 0.0f, 0.0f);
    shim_guMtxCatF(sp60, sp20, sp20);
    shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);

    gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);

    if (unk_34 != 0) {
        if (data->unk_00 == 0) {
            gDPSetRenderMode(gMainGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
        } else {
            gDPSetRenderMode(gMainGfxPos++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
        }
        gSPDisplayList(gMainGfxPos++, D_E0126BC4[0]);
    }

    if (data->unk_00 == 0) {
        gDPSetRenderMode(gMainGfxPos++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
    } else {
        gDPSetRenderMode(gMainGfxPos++, G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2);
    }

    gDPSetPrimColor(gMainGfxPos++, 0, 0, unk_18, unk_1C, unk_20, unk_24);
    gDPSetEnvColor(gMainGfxPos++, unk_28, unk_2C, unk_30, unk_24);
    gSPDisplayList(gMainGfxPos++, D_E0126BC0[0]);
    gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}