### RAW ASSEMBLY INSTRUCTIONS:

dlabel func_80255FE0
/* 1848C0 80255FE0 27BDFC30 */  addiu     $sp, $sp, -0x3D0
/* 1848C4 80255FE4 3C03800E */  lui       $v1, %hi(gBattleStatus)
/* 1848C8 80255FE8 2463C070 */  addiu     $v1, $v1, %lo(gBattleStatus)
/* 1848CC 80255FEC 0060102D */  daddu     $v0, $v1, $zero
/* 1848D0 80255FF0 AFBF039C */  sw        $ra, 0x39C($sp)
/* 1848D4 80255FF4 AFBE0398 */  sw        $fp, 0x398($sp)
/* 1848D8 80255FF8 AFB70394 */  sw        $s7, 0x394($sp)
/* 1848DC 80255FFC AFB60390 */  sw        $s6, 0x390($sp)
/* 1848E0 80256000 AFB5038C */  sw        $s5, 0x38C($sp)
/* 1848E4 80256004 AFB40388 */  sw        $s4, 0x388($sp)
/* 1848E8 80256008 AFB30384 */  sw        $s3, 0x384($sp)
/* 1848EC 8025600C AFB20380 */  sw        $s2, 0x380($sp)
/* 1848F0 80256010 AFB1037C */  sw        $s1, 0x37C($sp)
/* 1848F4 80256014 AFB00378 */  sw        $s0, 0x378($sp)
/* 1848F8 80256018 F7BE03C8 */  sdc1      $f30, 0x3C8($sp)
/* 1848FC 8025601C F7BC03C0 */  sdc1      $f28, 0x3C0($sp)
/* 184900 80256020 F7BA03B8 */  sdc1      $f26, 0x3B8($sp)
/* 184904 80256024 F7B803B0 */  sdc1      $f24, 0x3B0($sp)
/* 184908 80256028 F7B603A8 */  sdc1      $f22, 0x3A8($sp)
/* 18490C 8025602C F7B403A0 */  sdc1      $f20, 0x3A0($sp)
/* 184910 80256030 14800005 */  bnez      $a0, .L80256048
/* 184914 80256034 AFA403D0 */   sw       $a0, 0x3D0($sp)
/* 184918 80256038 00051080 */  sll       $v0, $a1, 2
/* 18491C 8025603C 00431021 */  addu      $v0, $v0, $v1
/* 184920 80256040 08095813 */  j         .L8025604C
/* 184924 80256044 8C5200E0 */   lw       $s2, 0xE0($v0)
.L80256048:
/* 184928 80256048 8C5200DC */  lw        $s2, 0xDC($v0)
.L8025604C:
/* 18492C 8025604C 86420150 */  lh        $v0, 0x150($s2)
/* 184930 80256050 C6400144 */  lwc1      $f0, 0x144($s2)
/* 184934 80256054 44821000 */  mtc1      $v0, $f2
/* 184938 80256058 00000000 */  nop
/* 18493C 8025605C 468010A0 */  cvt.s.w   $f2, $f2
/* 184940 80256060 46020000 */  add.s     $f0, $f0, $f2
/* 184944 80256064 8E420000 */  lw        $v0, 0x0($s2)
/* 184948 80256068 30420800 */  andi      $v0, $v0, 0x800
/* 18494C 8025606C 14400009 */  bnez      $v0, .L80256094
/* 184950 80256070 E7A00364 */   swc1     $f0, 0x364($sp)
/* 184954 80256074 86420152 */  lh        $v0, 0x152($s2)
/* 184958 80256078 C6400148 */  lwc1      $f0, 0x148($s2)
/* 18495C 8025607C 44821000 */  mtc1      $v0, $f2
/* 184960 80256080 00000000 */  nop
/* 184964 80256084 468010A0 */  cvt.s.w   $f2, $f2
/* 184968 80256088 8242019A */  lb        $v0, 0x19A($s2)
/* 18496C 8025608C 0809582C */  j         .L802560B0
/* 184970 80256090 46020000 */   add.s    $f0, $f0, $f2
.L80256094:
/* 184974 80256094 86420152 */  lh        $v0, 0x152($s2)
/* 184978 80256098 C6400148 */  lwc1      $f0, 0x148($s2)
/* 18497C 8025609C 44821000 */  mtc1      $v0, $f2
/* 184980 802560A0 00000000 */  nop
dup_mac_00_LetterDelivery_SavedNpcAnim:
/* 184984 802560A4 468010A0 */  cvt.s.w   $f2, $f2
/* 184988 802560A8 8242019A */  lb        $v0, 0x19A($s2)
/* 18498C 802560AC 46020001 */  sub.s     $f0, $f0, $f2
.L802560B0:
/* 184990 802560B0 44821000 */  mtc1      $v0, $f2
D_802560B4:
/* 184994 802560B4 00000000 */  nop
/* 184998 802560B8 468010A0 */  cvt.s.w   $f2, $f2
/* 18499C 802560BC 46020780 */  add.s     $f30, $f0, $f2
/* 1849A0 802560C0 8E420008 */  lw        $v0, 0x8($s2)
/* 1849A4 802560C4 82430194 */  lb        $v1, 0x194($s2)
/* 1849A8 802560C8 80420024 */  lb        $v0, 0x24($v0)
/* 1849AC 802560CC C6420188 */  lwc1      $f2, 0x188($s2)
/* 1849B0 802560D0 00431021 */  addu      $v0, $v0, $v1
/* 1849B4 802560D4 44820000 */  mtc1      $v0, $f0
/* 1849B8 802560D8 00000000 */  nop
/* 1849BC 802560DC 46800020 */  cvt.s.w   $f0, $f0
/* 1849C0 802560E0 46020002 */  mul.s     $f0, $f0, $f2
/* 1849C4 802560E4 00000000 */  nop
/* 1849C8 802560E8 C7AA0364 */  lwc1      $f10, 0x364($sp)
/* 1849CC 802560EC 86440154 */  lh        $a0, 0x154($s2)
/* 1849D0 802560F0 C644014C */  lwc1      $f4, 0x14C($s2)
/* 1849D4 802560F4 8E420440 */  lw        $v0, 0x440($s2)
/* 1849D8 802560F8 46005000 */  add.s     $f0, $f10, $f0
/* 1849DC 802560FC 8C42000C */  lw        $v0, 0xC($v0)
/* 1849E0 80256100 E4400008 */  swc1      $f0, 0x8($v0)
/* 1849E4 80256104 8E420008 */  lw        $v0, 0x8($s2)
/* 1849E8 80256108 82430195 */  lb        $v1, 0x195($s2)
/* 1849EC 8025610C 80420025 */  lb        $v0, 0x25($v0)
/* 1849F0 80256110 C6420188 */  lwc1      $f2, 0x188($s2)
/* 1849F4 80256114 00431021 */  addu      $v0, $v0, $v1
/* 1849F8 80256118 44820000 */  mtc1      $v0, $f0
/* 1849FC 8025611C 00000000 */  nop
/* 184A00 80256120 46800020 */  cvt.s.w   $f0, $f0
/* 184A04 80256124 46020002 */  mul.s     $f0, $f0, $f2
/* 184A08 80256128 00000000 */  nop
/* 184A0C 8025612C 8E420440 */  lw        $v0, 0x440($s2)
/* 184A10 80256130 4600F000 */  add.s     $f0, $f30, $f0
/* 184A14 80256134 8C42000C */  lw        $v0, 0xC($v0)
/* 184A18 80256138 E440000C */  swc1      $f0, 0xC($v0)
/* 184A1C 8025613C 44840000 */  mtc1      $a0, $f0
/* 184A20 80256140 00000000 */  nop
/* 184A24 80256144 46800020 */  cvt.s.w   $f0, $f0
/* 184A28 80256148 46002100 */  add.s     $f4, $f4, $f0
/* 184A2C 8025614C 8E420440 */  lw        $v0, 0x440($s2)
/* 184A30 80256150 E7A40368 */  swc1      $f4, 0x368($sp)
/* 184A34 80256154 8C42000C */  lw        $v0, 0xC($v0)
/* 184A38 80256158 E4440010 */  swc1      $f4, 0x10($v0)
/* 184A3C 8025615C 3C02800E */  lui       $v0, %hi(gBattleStatus)
/* 184A40 80256160 8C42C070 */  lw        $v0, %lo(gBattleStatus)($v0)
/* 184A44 80256164 30420004 */  andi      $v0, $v0, 0x4
/* 184A48 80256168 1440001C */  bnez      $v0, .L802561DC
/* 184A4C 8025616C 3C030800 */   lui      $v1, (0x8000000 >> 16)
/* 184A50 80256170 8E420000 */  lw        $v0, 0x0($s2)
/* 184A54 80256174 00431024 */  and       $v0, $v0, $v1
/* 184A58 80256178 10400018 */  beqz      $v0, .L802561DC
/* 184A5C 8025617C 00000000 */   nop
/* 184A60 80256180 8242021D */  lb        $v0, 0x21D($s2)
/* 184A64 80256184 9244021D */  lbu       $a0, 0x21D($s2)
/* 184A68 80256188 10400008 */  beqz      $v0, .L802561AC
/* 184A6C 8025618C 2482FFFF */   addiu    $v0, $a0, -0x1
/* 184A70 80256190 8E430440 */  lw        $v1, 0x440($s2)
/* 184A74 80256194 3C01C47A */  lui       $at, (0xC47A0000 >> 16)
/* 184A78 80256198 44810000 */  mtc1      $at, $f0
/* 184A7C 8025619C A242021D */  sb        $v0, 0x21D($s2)
/* 184A80 802561A0 8C62000C */  lw        $v0, 0xC($v1)
/* 184A84 802561A4 0809587E */  j         .L802561F8
/* 184A88 802561A8 E440000C */   swc1     $f0, 0xC($v0)
.L802561AC:
/* 184A8C 802561AC C6400188 */  lwc1      $f0, 0x188($s2)
/* 184A90 802561B0 3C013FE8 */  lui       $at, (0x3FE80000 >> 16)
/* 184A94 802561B4 44811800 */  mtc1      $at, $f3
/* 184A98 802561B8 44801000 */  mtc1      $zero, $f2
/* 184A9C 802561BC 46000021 */  cvt.d.s   $f0, $f0
/* 184AA0 802561C0 46220002 */  mul.d     $f0, $f0, $f2
/* 184AA4 802561C4 00000000 */  nop
/* 184AA8 802561C8 8E420440 */  lw        $v0, 0x440($s2)
/* 184AAC 802561CC 8C42000C */  lw        $v0, 0xC($v0)
/* 184AB0 802561D0 46200020 */  cvt.s.d   $f0, $f0
/* 184AB4 802561D4 0809587E */  j         .L802561F8
/* 184AB8 802561D8 E4400034 */   swc1     $f0, 0x34($v0)
.L802561DC:
/* 184ABC 802561DC 8E420440 */  lw        $v0, 0x440($s2)
/* 184AC0 802561E0 3C01C47A */  lui       $at, (0xC47A0000 >> 16)
/* 184AC4 802561E4 44810000 */  mtc1      $at, $f0
/* 184AC8 802561E8 8C42000C */  lw        $v0, 0xC($v0)
/* 184ACC 802561EC E440000C */  swc1      $f0, 0xC($v0)
/* 184AD0 802561F0 2402000A */  addiu     $v0, $zero, 0xA
/* 184AD4 802561F4 A242021D */  sb        $v0, 0x21D($s2)
.L802561F8:
/* 184AD8 802561F8 82430210 */  lb        $v1, 0x210($s2)
/* 184ADC 802561FC 24020007 */  addiu     $v0, $zero, 0x7
/* 184AE0 80256200 1462002C */  bne       $v1, $v0, .L802562B4
/* 184AE4 80256204 00000000 */   nop
/* 184AE8 80256208 8E440228 */  lw        $a0, 0x228($s2)
/* 184AEC 8025620C 10800030 */  beqz      $a0, .L802562D0
/* 184AF0 80256210 00000000 */   nop
/* 184AF4 80256214 3C03800E */  lui       $v1, %hi(gBattleStatus)
/* 184AF8 80256218 8C63C070 */  lw        $v1, %lo(gBattleStatus)($v1)
/* 184AFC 8025621C 30620008 */  andi      $v0, $v1, 0x8
/* 184B00 80256220 14400007 */  bnez      $v0, .L80256240
/* 184B04 80256224 30620004 */   andi     $v0, $v1, 0x4
/* 184B08 80256228 14400019 */  bnez      $v0, .L80256290
/* 184B0C 8025622C 3C030800 */   lui      $v1, (0x8000000 >> 16)
/* 184B10 80256230 8E420000 */  lw        $v0, 0x0($s2)
/* 184B14 80256234 00431024 */  and       $v0, $v0, $v1
/* 184B18 80256238 10400015 */  beqz      $v0, .L80256290
/* 184B1C 8025623C 00000000 */   nop
.L80256240:
/* 184B20 80256240 8C82000C */  lw        $v0, 0xC($a0)
/* 184B24 80256244 C7AA0364 */  lwc1      $f10, 0x364($sp)
/* 184B28 80256248 E44A0004 */  swc1      $f10, 0x4($v0)
/* 184B2C 8025624C 8C82000C */  lw        $v0, 0xC($a0)
/* 184B30 80256250 E45E0008 */  swc1      $f30, 0x8($v0)
/* 184B34 80256254 8C82000C */  lw        $v0, 0xC($a0)
/* 184B38 80256258 C7AA0368 */  lwc1      $f10, 0x368($sp)
/* 184B3C 8025625C E44A000C */  swc1      $f10, 0xC($v0)
/* 184B40 80256260 92420191 */  lbu       $v0, 0x191($s2)
/* 184B44 80256264 3C014038 */  lui       $at, (0x40380000 >> 16)
/* 184B48 80256268 44811800 */  mtc1      $at, $f3
/* 184B4C 8025626C 44801000 */  mtc1      $zero, $f2
/* 184B50 80256270 44820000 */  mtc1      $v0, $f0
/* 184B54 80256274 00000000 */  nop
/* 184B58 80256278 46800021 */  cvt.d.w   $f0, $f0
/* 184B5C 8025627C 46220003 */  div.d     $f0, $f0, $f2
/* 184B60 80256280 8C82000C */  lw        $v0, 0xC($a0)
/* 184B64 80256284 46200020 */  cvt.s.d   $f0, $f0
/* 184B68 80256288 080958B4 */  j         .L802562D0
/* 184B6C 8025628C E4400020 */   swc1     $f0, 0x20($v0)
.L80256290:
/* 184B70 80256290 8C82000C */  lw        $v0, 0xC($a0)
/* 184B74 80256294 3C01C47A */  lui       $at, (0xC47A0000 >> 16)
/* 184B78 80256298 44810000 */  mtc1      $at, $f0
/* 184B7C 8025629C AC400004 */  sw        $zero, 0x4($v0)
/* 184B80 802562A0 8C82000C */  lw        $v0, 0xC($a0)
/* 184B84 802562A4 E4400008 */  swc1      $f0, 0x8($v0)
/* 184B88 802562A8 8C82000C */  lw        $v0, 0xC($a0)
/* 184B8C 802562AC 080958B4 */  j         .L802562D0
/* 184B90 802562B0 AC40000C */   sw       $zero, 0xC($v0)
.L802562B4:
/* 184B94 802562B4 8E440228 */  lw        $a0, 0x228($s2)
/* 184B98 802562B8 10800005 */  beqz      $a0, .L802562D0
/* 184B9C 802562BC 00000000 */   nop
/* 184BA0 802562C0 8C820000 */  lw        $v0, 0x0($a0)
/* 184BA4 802562C4 34420010 */  ori       $v0, $v0, 0x10
/* 184BA8 802562C8 AC820000 */  sw        $v0, 0x0($a0)
/* 184BAC 802562CC AE400228 */  sw        $zero, 0x228($s2)
.L802562D0:
/* 184BB0 802562D0 8E420008 */  lw        $v0, 0x8($s2)
/* 184BB4 802562D4 82430194 */  lb        $v1, 0x194($s2)
/* 184BB8 802562D8 80420024 */  lb        $v0, 0x24($v0)
/* 184BBC 802562DC C6420188 */  lwc1      $f2, 0x188($s2)
/* 184BC0 802562E0 00431021 */  addu      $v0, $v0, $v1
/* 184BC4 802562E4 44820000 */  mtc1      $v0, $f0
/* 184BC8 802562E8 00000000 */  nop
/* 184BCC 802562EC 46800020 */  cvt.s.w   $f0, $f0
/* 184BD0 802562F0 46020002 */  mul.s     $f0, $f0, $f2
/* 184BD4 802562F4 00000000 */  nop
/* 184BD8 802562F8 86440436 */  lh        $a0, 0x436($s2)
/* 184BDC 802562FC 4600028D */  trunc.w.s $f10, $f0
/* 184BE0 80256300 E7AA0010 */  swc1      $f10, 0x10($sp)
/* 184BE4 80256304 8E420008 */  lw        $v0, 0x8($s2)
/* 184BE8 80256308 82430195 */  lb        $v1, 0x195($s2)
/* 184BEC 8025630C 80420025 */  lb        $v0, 0x25($v0)
/* 184BF0 80256310 C6420188 */  lwc1      $f2, 0x188($s2)
/* 184BF4 80256314 00431021 */  addu      $v0, $v0, $v1
/* 184BF8 80256318 44820000 */  mtc1      $v0, $f0
/* 184BFC 8025631C 00000000 */  nop
/* 184C00 80256320 46800020 */  cvt.s.w   $f0, $f0
/* 184C04 80256324 46020002 */  mul.s     $f0, $f0, $f2
/* 184C08 80256328 00000000 */  nop
/* 184C0C 8025632C 4600028D */  trunc.w.s $f10, $f0
/* 184C10 80256330 E7AA0014 */  swc1      $f10, 0x14($sp)
/* 184C14 80256334 8E420008 */  lw        $v0, 0x8($s2)
/* 184C18 80256338 82430196 */  lb        $v1, 0x196($s2)
/* 184C1C 8025633C 80420026 */  lb        $v0, 0x26($v0)
/* 184C20 80256340 C6420188 */  lwc1      $f2, 0x188($s2)
/* 184C24 80256344 00431021 */  addu      $v0, $v0, $v1
/* 184C28 80256348 44820000 */  mtc1      $v0, $f0
/* 184C2C 8025634C 00000000 */  nop
/* 184C30 80256350 46800020 */  cvt.s.w   $f0, $f0
/* 184C34 80256354 46020002 */  mul.s     $f0, $f0, $f2
/* 184C38 80256358 00000000 */  nop
/* 184C3C 8025635C 4600028D */  trunc.w.s $f10, $f0
/* 184C40 80256360 E7AA0018 */  swc1      $f10, 0x18($sp)
/* 184C44 80256364 8E420008 */  lw        $v0, 0x8($s2)
/* 184C48 80256368 82430197 */  lb        $v1, 0x197($s2)
/* 184C4C 8025636C 80420027 */  lb        $v0, 0x27($v0)
/* 184C50 80256370 C6420188 */  lwc1      $f2, 0x188($s2)
/* 184C54 80256374 00431021 */  addu      $v0, $v0, $v1
/* 184C58 80256378 44820000 */  mtc1      $v0, $f0
/* 184C5C 8025637C 00000000 */  nop
/* 184C60 80256380 46800020 */  cvt.s.w   $f0, $f0
/* 184C64 80256384 46020002 */  mul.s     $f0, $f0, $f2
/* 184C68 80256388 00000000 */  nop
/* 184C6C 8025638C 8FA50364 */  lw        $a1, 0x364($sp)
/* 184C70 80256390 4406F000 */  mfc1      $a2, $f30
/* 184C74 80256394 8FA70368 */  lw        $a3, 0x368($sp)
/* 184C78 80256398 4600028D */  trunc.w.s $f10, $f0
/* 184C7C 8025639C 0C011DE3 */  jal       set_status_icons_properties
/* 184C80 802563A0 E7AA001C */   swc1     $f10, 0x1C($sp)
/* 184C84 802563A4 8E420000 */  lw        $v0, 0x0($s2)
/* 184C88 802563A8 30420800 */  andi      $v0, $v0, 0x800
/* 184C8C 802563AC 14400010 */  bnez      $v0, .L802563F0
/* 184C90 802563B0 00000000 */   nop
/* 184C94 802563B4 92420191 */  lbu       $v0, 0x191($s2)
/* 184C98 802563B8 080958FF */  j         .L802563FC
/* 184C9C 802563BC C6440188 */   lwc1     $f4, 0x188($s2)
.L802563C0:
/* 184CA0 802563C0 C6400188 */  lwc1      $f0, 0x188($s2)
/* 184CA4 802563C4 3C01802A */  lui       $at, %hi(D_8029D368)
/* 184CA8 802563C8 D422D368 */  ldc1      $f2, %lo(D_8029D368)($at)
/* 184CAC 802563CC 46000021 */  cvt.d.s   $f0, $f0
/* 184CB0 802563D0 46201081 */  sub.d     $f2, $f2, $f0
/* 184CB4 802563D4 3C014018 */  lui       $at, (0x40180000 >> 16)
/* 184CB8 802563D8 44812800 */  mtc1      $at, $f5
/* 184CBC 802563DC 44802000 */  mtc1      $zero, $f4
/* 184CC0 802563E0 00000000 */  nop
/* 184CC4 802563E4 46241083 */  div.d     $f2, $f2, $f4
/* 184CC8 802563E8 08095921 */  j         .L80256484
/* 184CCC 802563EC 46220000 */   add.d    $f0, $f0, $f2
.L802563F0:
/* 184CD0 802563F0 92420191 */  lbu       $v0, 0x191($s2)
/* 184CD4 802563F4 C6440188 */  lwc1      $f4, 0x188($s2)
/* 184CD8 802563F8 00021023 */  negu      $v0, $v0
.L802563FC:
/* 184CDC 802563FC 44821000 */  mtc1      $v0, $f2
/* 184CE0 80256400 00000000 */  nop
/* 184CE4 80256404 468010A0 */  cvt.s.w   $f2, $f2
/* 184CE8 80256408 46041082 */  mul.s     $f2, $f2, $f4
/* 184CEC 8025640C 00000000 */  nop
/* 184CF0 80256410 92420190 */  lbu       $v0, 0x190($s2)
/* 184CF4 80256414 44820000 */  mtc1      $v0, $f0
/* 184CF8 80256418 00000000 */  nop
/* 184CFC 8025641C 46800020 */  cvt.s.w   $f0, $f0
/* 184D00 80256420 46040002 */  mul.s     $f0, $f0, $f4
/* 184D04 80256424 00000000 */  nop
/* 184D08 80256428 86440436 */  lh        $a0, 0x436($s2)
/* 184D0C 8025642C 4600128D */  trunc.w.s $f10, $f2
/* 184D10 80256430 44055000 */  mfc1      $a1, $f10
/* 184D14 80256434 4600028D */  trunc.w.s $f10, $f0
/* 184D18 80256438 44065000 */  mfc1      $a2, $f10
/* 184D1C 8025643C 0C011DFD */  jal       set_status_icons_offset
/* 184D20 80256440 00000000 */   nop
/* 184D24 80256444 82430210 */  lb        $v1, 0x210($s2)
/* 184D28 80256448 2402000A */  addiu     $v0, $zero, 0xA
/* 184D2C 8025644C 1062FFDC */  beq       $v1, $v0, .L802563C0
/* 184D30 80256450 00000000 */   nop
/* 184D34 80256454 C6400188 */  lwc1      $f0, 0x188($s2)
/* 184D38 80256458 3C013FF0 */  lui       $at, (0x3FF00000 >> 16)
/* 184D3C 8025645C 44812800 */  mtc1      $at, $f5
/* 184D40 80256460 44802000 */  mtc1      $zero, $f4
/* 184D44 80256464 46000021 */  cvt.d.s   $f0, $f0
/* 184D48 80256468 46202101 */  sub.d     $f4, $f4, $f0
/* 184D4C 8025646C 3C014018 */  lui       $at, (0x40180000 >> 16)
/* 184D50 80256470 44811800 */  mtc1      $at, $f3
/* 184D54 80256474 44801000 */  mtc1      $zero, $f2
/* 184D58 80256478 00000000 */  nop
/* 184D5C 8025647C 46222103 */  div.d     $f4, $f4, $f2
/* 184D60 80256480 46240000 */  add.d     $f0, $f0, $f4
.L80256484:
/* 184D64 80256484 46200020 */  cvt.s.d   $f0, $f0
/* 184D68 80256488 E6400188 */  swc1      $f0, 0x188($s2)
/* 184D6C 8025648C 8E420000 */  lw        $v0, 0x0($s2)
/* 184D70 80256490 30420800 */  andi      $v0, $v0, 0x800
/* 184D74 80256494 14400025 */  bnez      $v0, .L8025652C
/* 184D78 80256498 00000000 */   nop
/* 184D7C 8025649C 86420168 */  lh        $v0, 0x168($s2)
/* 184D80 802564A0 C6420188 */  lwc1      $f2, 0x188($s2)
/* 184D84 802564A4 00021023 */  negu      $v0, $v0
/* 184D88 802564A8 44820000 */  mtc1      $v0, $f0
/* 184D8C 802564AC 00000000 */  nop
/* 184D90 802564B0 46800020 */  cvt.s.w   $f0, $f0
/* 184D94 802564B4 46020002 */  mul.s     $f0, $f0, $f2
/* 184D98 802564B8 00000000 */  nop
/* 184D9C 802564BC 8642016A */  lh        $v0, 0x16A($s2)
D_802564C0:
/* 184DA0 802564C0 00021023 */  negu      $v0, $v0
/* 184DA4 802564C4 44050000 */  mfc1      $a1, $f0
/* 184DA8 802564C8 44820000 */  mtc1      $v0, $f0
/* 184DAC 802564CC 00000000 */  nop
/* 184DB0 802564D0 46800020 */  cvt.s.w   $f0, $f0
/* 184DB4 802564D4 46020002 */  mul.s     $f0, $f0, $f2
/* 184DB8 802564D8 00000000 */  nop
/* 184DBC 802564DC 8642016C */  lh        $v0, 0x16C($s2)
/* 184DC0 802564E0 00021023 */  negu      $v0, $v0
/* 184DC4 802564E4 44060000 */  mfc1      $a2, $f0
/* 184DC8 802564E8 44820000 */  mtc1      $v0, $f0
/* 184DCC 802564EC 00000000 */  nop
/* 184DD0 802564F0 46800020 */  cvt.s.w   $f0, $f0
/* 184DD4 802564F4 46020002 */  mul.s     $f0, $f0, $f2
/* 184DD8 802564F8 00000000 */  nop
/* 184DDC 802564FC 44070000 */  mfc1      $a3, $f0
/* 184DE0 80256500 0C019E40 */  jal       guTranslateF
/* 184DE4 80256504 27A401A0 */   addiu    $a0, $sp, 0x1A0
/* 184DE8 80256508 86420168 */  lh        $v0, 0x168($s2)
/* 184DEC 8025650C C6420188 */  lwc1      $f2, 0x188($s2)
/* 184DF0 80256510 44820000 */  mtc1      $v0, $f0
/* 184DF4 80256514 00000000 */  nop
/* 184DF8 80256518 46800020 */  cvt.s.w   $f0, $f0
/* 184DFC 8025651C 46020002 */  mul.s     $f0, $f0, $f2
/* 184E00 80256520 00000000 */  nop
/* 184E04 80256524 0809596E */  j         .L802565B8
/* 184E08 80256528 8642016A */   lh       $v0, 0x16A($s2)
.L8025652C:
/* 184E0C 8025652C 86420168 */  lh        $v0, 0x168($s2)
/* 184E10 80256530 C6420188 */  lwc1      $f2, 0x188($s2)
/* 184E14 80256534 00021023 */  negu      $v0, $v0
/* 184E18 80256538 44820000 */  mtc1      $v0, $f0
/* 184E1C 8025653C 00000000 */  nop
/* 184E20 80256540 46800020 */  cvt.s.w   $f0, $f0
/* 184E24 80256544 46020002 */  mul.s     $f0, $f0, $f2
/* 184E28 80256548 00000000 */  nop
/* 184E2C 8025654C 8642016A */  lh        $v0, 0x16A($s2)
/* 184E30 80256550 44050000 */  mfc1      $a1, $f0
/* 184E34 80256554 44820000 */  mtc1      $v0, $f0
/* 184E38 80256558 00000000 */  nop
/* 184E3C 8025655C 46800020 */  cvt.s.w   $f0, $f0
/* 184E40 80256560 46020002 */  mul.s     $f0, $f0, $f2
/* 184E44 80256564 00000000 */  nop
/* 184E48 80256568 8642016C */  lh        $v0, 0x16C($s2)
/* 184E4C 8025656C 00021023 */  negu      $v0, $v0
/* 184E50 80256570 44060000 */  mfc1      $a2, $f0
/* 184E54 80256574 44820000 */  mtc1      $v0, $f0
/* 184E58 80256578 00000000 */  nop
/* 184E5C 8025657C 46800020 */  cvt.s.w   $f0, $f0
/* 184E60 80256580 46020002 */  mul.s     $f0, $f0, $f2
/* 184E64 80256584 00000000 */  nop
/* 184E68 80256588 44070000 */  mfc1      $a3, $f0
/* 184E6C 8025658C 0C019E40 */  jal       guTranslateF
/* 184E70 80256590 27A401A0 */   addiu    $a0, $sp, 0x1A0
/* 184E74 80256594 86420168 */  lh        $v0, 0x168($s2)
/* 184E78 80256598 C6420188 */  lwc1      $f2, 0x188($s2)
/* 184E7C 8025659C 44820000 */  mtc1      $v0, $f0
/* 184E80 802565A0 00000000 */  nop
/* 184E84 802565A4 46800020 */  cvt.s.w   $f0, $f0
/* 184E88 802565A8 46020002 */  mul.s     $f0, $f0, $f2
/* 184E8C 802565AC 00000000 */  nop
/* 184E90 802565B0 8642016A */  lh        $v0, 0x16A($s2)
/* 184E94 802565B4 00021023 */  negu      $v0, $v0
.L802565B8:
/* 184E98 802565B8 44050000 */  mfc1      $a1, $f0
/* 184E9C 802565BC 44820000 */  mtc1      $v0, $f0
/* 184EA0 802565C0 00000000 */  nop
/* 184EA4 802565C4 46800020 */  cvt.s.w   $f0, $f0
/* 184EA8 802565C8 46020002 */  mul.s     $f0, $f0, $f2
/* 184EAC 802565CC 00000000 */  nop
/* 184EB0 802565D0 8642016C */  lh        $v0, 0x16C($s2)
/* 184EB4 802565D4 44060000 */  mfc1      $a2, $f0
/* 184EB8 802565D8 44820000 */  mtc1      $v0, $f0
/* 184EBC 802565DC 00000000 */  nop
/* 184EC0 802565E0 46800020 */  cvt.s.w   $f0, $f0
/* 184EC4 802565E4 46020002 */  mul.s     $f0, $f0, $f2
/* 184EC8 802565E8 00000000 */  nop
/* 184ECC 802565EC 44070000 */  mfc1      $a3, $f0
/* 184ED0 802565F0 0C019E40 */  jal       guTranslateF
/* 184ED4 802565F4 27A401E0 */   addiu    $a0, $sp, 0x1E0
/* 184ED8 802565F8 4480A000 */  mtc1      $zero, $f20
/* 184EDC 802565FC 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 184EE0 80256600 4481B000 */  mtc1      $at, $f22
/* 184EE4 80256604 E7B40010 */  swc1      $f20, 0x10($sp)
/* 184EE8 80256608 8E45015C */  lw        $a1, 0x15C($s2)
/* 184EEC 8025660C 4406B000 */  mfc1      $a2, $f22
/* 184EF0 80256610 4407A000 */  mfc1      $a3, $f20
/* 184EF4 80256614 0C019EC8 */  jal       guRotateF
/* 184EF8 80256618 27A40020 */   addiu    $a0, $sp, 0x20
/* 184EFC 8025661C 27B50060 */  addiu     $s5, $sp, 0x60
/* 184F00 80256620 E7B40010 */  swc1      $f20, 0x10($sp)
/* 184F04 80256624 8E450160 */  lw        $a1, 0x160($s2)
/* 184F08 80256628 4406A000 */  mfc1      $a2, $f20
/* 184F0C 8025662C 4407B000 */  mfc1      $a3, $f22
/* 184F10 80256630 0C019EC8 */  jal       guRotateF
/* 184F14 80256634 02A0202D */   daddu    $a0, $s5, $zero
/* 184F18 80256638 27B000A0 */  addiu     $s0, $sp, 0xA0
/* 184F1C 8025663C E7B60010 */  swc1      $f22, 0x10($sp)
/* 184F20 80256640 8E450164 */  lw        $a1, 0x164($s2)
/* 184F24 80256644 4406A000 */  mfc1      $a2, $f20
/* 184F28 80256648 4407A000 */  mfc1      $a3, $f20
/* 184F2C 8025664C 0C019EC8 */  jal       guRotateF
/* 184F30 80256650 0200202D */   daddu    $a0, $s0, $zero
/* 184F34 80256654 02A0202D */  daddu     $a0, $s5, $zero
/* 184F38 80256658 27A50020 */  addiu     $a1, $sp, 0x20
/* 184F3C 8025665C 27B30260 */  addiu     $s3, $sp, 0x260
/* 184F40 80256660 0C019D80 */  jal       guMtxCatF
/* 184F44 80256664 0260302D */   daddu    $a2, $s3, $zero
/* 184F48 80256668 0260202D */  daddu     $a0, $s3, $zero
/* 184F4C 8025666C 0200282D */  daddu     $a1, $s0, $zero
/* 184F50 80256670 27B400E0 */  addiu     $s4, $sp, 0xE0
/* 184F54 80256674 0C019D80 */  jal       guMtxCatF
/* 184F58 80256678 0280302D */   daddu    $a2, $s4, $zero
/* 184F5C 8025667C C6440170 */  lwc1      $f4, 0x170($s2)
/* 184F60 80256680 3C01802A */  lui       $at, %hi(D_8029D370)
D_80256684:
/* 184F64 80256684 D428D370 */  ldc1      $f8, %lo(D_8029D370)($at)
/* 184F68 80256688 46002121 */  cvt.d.s   $f4, $f4
/* 184F6C 8025668C 46282102 */  mul.d     $f4, $f4, $f8
/* 184F70 80256690 00000000 */  nop
/* 184F74 80256694 C6400174 */  lwc1      $f0, 0x174($s2)
/* 184F78 80256698 46000021 */  cvt.d.s   $f0, $f0
/* 184F7C 8025669C 46280002 */  mul.d     $f0, $f0, $f8
/* 184F80 802566A0 00000000 */  nop
D_802566A4:
/* 184F84 802566A4 C6420178 */  lwc1      $f2, 0x178($s2)
/* 184F88 802566A8 460010A1 */  cvt.d.s   $f2, $f2
/* 184F8C 802566AC 46281082 */  mul.d     $f2, $f2, $f8
/* 184F90 802566B0 00000000 */  nop
/* 184F94 802566B4 C6460188 */  lwc1      $f6, 0x188($s2)
/* 184F98 802566B8 460031A1 */  cvt.d.s   $f6, $f6
/* 184F9C 802566BC 46262102 */  mul.d     $f4, $f4, $f6
/* 184FA0 802566C0 00000000 */  nop
/* 184FA4 802566C4 46260002 */  mul.d     $f0, $f0, $f6
/* 184FA8 802566C8 00000000 */  nop
/* 184FAC 802566CC 27B00120 */  addiu     $s0, $sp, 0x120
D_802566D0:
/* 184FB0 802566D0 462010A0 */  cvt.s.d   $f2, $f2
/* 184FB4 802566D4 44071000 */  mfc1      $a3, $f2
/* 184FB8 802566D8 46202120 */  cvt.s.d   $f4, $f4
/* 184FBC 802566DC 46200020 */  cvt.s.d   $f0, $f0
/* 184FC0 802566E0 44052000 */  mfc1      $a1, $f4
/* 184FC4 802566E4 44060000 */  mfc1      $a2, $f0
/* 184FC8 802566E8 0C019DF0 */  jal       guScaleF
/* 184FCC 802566EC 0200202D */   daddu    $a0, $s0, $zero
/* 184FD0 802566F0 27B10160 */  addiu     $s1, $sp, 0x160
/* 184FD4 802566F4 8E45017C */  lw        $a1, 0x17C($s2)
/* 184FD8 802566F8 8E460180 */  lw        $a2, 0x180($s2)
D_802566FC:
/* 184FDC 802566FC 8E470184 */  lw        $a3, 0x184($s2)
/* 184FE0 80256700 0C019DF0 */  jal       guScaleF
/* 184FE4 80256704 0220202D */   daddu    $a0, $s1, $zero
/* 184FE8 80256708 27A401A0 */  addiu     $a0, $sp, 0x1A0
/* 184FEC 8025670C 0200282D */  daddu     $a1, $s0, $zero
/* 184FF0 80256710 0C019D80 */  jal       guMtxCatF
/* 184FF4 80256714 0260302D */   daddu    $a2, $s3, $zero
/* 184FF8 80256718 0260202D */  daddu     $a0, $s3, $zero
/* 184FFC 8025671C 0220282D */  daddu     $a1, $s1, $zero
/* 185000 80256720 0C019D80 */  jal       guMtxCatF
/* 185004 80256724 0200302D */   daddu    $a2, $s0, $zero
/* 185008 80256728 0200202D */  daddu     $a0, $s0, $zero
/* 18500C 8025672C 0280282D */  daddu     $a1, $s4, $zero
/* 185010 80256730 27B002E0 */  addiu     $s0, $sp, 0x2E0
/* 185014 80256734 0C019D80 */  jal       guMtxCatF
/* 185018 80256738 0200302D */   daddu    $a2, $s0, $zero
/* 18501C 8025673C 0200202D */  daddu     $a0, $s0, $zero
/* 185020 80256740 27A501E0 */  addiu     $a1, $sp, 0x1E0
/* 185024 80256744 0C019D80 */  jal       guMtxCatF
/* 185028 80256748 27A602A0 */   addiu    $a2, $sp, 0x2A0
/* 18502C 8025674C 824801F3 */  lb        $t0, 0x1F3($s2)
/* 185030 80256750 AFA80360 */  sw        $t0, 0x360($sp)
/* 185034 80256754 8E5101F4 */  lw        $s1, 0x1F4($s2)
/* 185038 80256758 19000293 */  blez      $t0, .L802571A8
/* 18503C 8025675C 0000B82D */   daddu    $s7, $zero, $zero
/* 185040 80256760 4600A706 */  mov.s     $f28, $f20
/* 185044 80256764 0260B02D */  daddu     $s6, $s3, $zero
/* 185048 80256768 AFB5036C */  sw        $s5, 0x36C($sp)
/* 18504C 8025676C 0200A82D */  daddu     $s5, $s0, $zero
/* 185050 80256770 AFB40370 */  sw        $s4, 0x370($sp)
.L80256774:
/* 185054 80256774 8E220000 */  lw        $v0, 0x0($s1)
/* 185058 80256778 3C030010 */  lui       $v1, (0x100000 >> 16)
/* 18505C 8025677C 00431024 */  and       $v0, $v0, $v1
/* 185060 80256780 14400033 */  bnez      $v0, .L80256850
/* 185064 80256784 27A40320 */   addiu    $a0, $sp, 0x320
/* 185068 80256788 86220014 */  lh        $v0, 0x14($s1)
/* 18506C 8025678C C7AA0364 */  lwc1      $f10, 0x364($sp)
/* 185070 80256790 44820000 */  mtc1      $v0, $f0
/* 185074 80256794 00000000 */  nop
/* 185078 80256798 46800020 */  cvt.s.w   $f0, $f0
/* 18507C 8025679C 8622001A */  lh        $v0, 0x1A($s1)
/* 185080 802567A0 46005000 */  add.s     $f0, $f10, $f0
/* 185084 802567A4 44821000 */  mtc1      $v0, $f2
/* 185088 802567A8 00000000 */  nop
/* 18508C 802567AC 468010A0 */  cvt.s.w   $f2, $f2
/* 185090 802567B0 8E420000 */  lw        $v0, 0x0($s2)
/* 185094 802567B4 30420800 */  andi      $v0, $v0, 0x800
/* 185098 802567B8 1440000C */  bnez      $v0, .L802567EC
/* 18509C 802567BC 46020680 */   add.s    $f26, $f0, $f2
/* 1850A0 802567C0 86220016 */  lh        $v0, 0x16($s1)
/* 1850A4 802567C4 44821000 */  mtc1      $v0, $f2
/* 1850A8 802567C8 00000000 */  nop
/* 1850AC 802567CC 468010A0 */  cvt.s.w   $f2, $f2
/* 1850B0 802567D0 8622001C */  lh        $v0, 0x1C($s1)
/* 1850B4 802567D4 4602F080 */  add.s     $f2, $f30, $f2
/* 1850B8 802567D8 44820000 */  mtc1      $v0, $f0
/* 1850BC 802567DC 00000000 */  nop
/* 1850C0 802567E0 46800020 */  cvt.s.w   $f0, $f0
/* 1850C4 802567E4 08095A05 */  j         .L80256814
/* 1850C8 802567E8 46001500 */   add.s    $f20, $f2, $f0
.L802567EC:
/* 1850CC 802567EC 86220016 */  lh        $v0, 0x16($s1)
/* 1850D0 802567F0 44821000 */  mtc1      $v0, $f2
/* 1850D4 802567F4 00000000 */  nop
/* 1850D8 802567F8 468010A0 */  cvt.s.w   $f2, $f2
/* 1850DC 802567FC 8622001C */  lh        $v0, 0x1C($s1)
/* 1850E0 80256800 4602F081 */  sub.s     $f2, $f30, $f2
/* 1850E4 80256804 44820000 */  mtc1      $v0, $f0
/* 1850E8 80256808 00000000 */  nop
/* 1850EC 8025680C 46800020 */  cvt.s.w   $f0, $f0
/* 1850F0 80256810 46001501 */  sub.s     $f20, $f2, $f0
.L80256814:
/* 1850F4 80256814 C640018C */  lwc1      $f0, 0x18C($s2)
/* 1850F8 80256818 86220018 */  lh        $v0, 0x18($s1)
/* 1850FC 8025681C C7AA0368 */  lwc1      $f10, 0x368($sp)
/* 185100 80256820 46000606 */  mov.s     $f24, $f0
/* 185104 80256824 44821000 */  mtc1      $v0, $f2
/* 185108 80256828 00000000 */  nop
/* 18510C 8025682C 468010A0 */  cvt.s.w   $f2, $f2
/* 185110 80256830 8622001E */  lh        $v0, 0x1E($s1)
/* 185114 80256834 46025080 */  add.s     $f2, $f10, $f2
/* 185118 80256838 E6380064 */  swc1      $f24, 0x64($s1)
/* 18511C 8025683C 44820000 */  mtc1      $v0, $f0
/* 185120 80256840 00000000 */  nop
/* 185124 80256844 46800020 */  cvt.s.w   $f0, $f0
/* 185128 80256848 08095A3C */  j         .L802568F0
/* 18512C 8025684C 46001580 */   add.s    $f22, $f2, $f0
.L80256850:
/* 185130 80256850 C6480170 */  lwc1      $f8, 0x170($s2)
/* 185134 80256854 3C01802A */  lui       $at, %hi(D_8029D378)
/* 185138 80256858 D420D378 */  ldc1      $f0, %lo(D_8029D378)($at)
/* 18513C 8025685C 46004221 */  cvt.d.s   $f8, $f8
/* 185140 80256860 46204202 */  mul.d     $f8, $f8, $f0
/* 185144 80256864 00000000 */  nop
/* 185148 80256868 C6460174 */  lwc1      $f6, 0x174($s2)
/* 18514C 8025686C 460031A1 */  cvt.d.s   $f6, $f6
/* 185150 80256870 46203182 */  mul.d     $f6, $f6, $f0
/* 185154 80256874 00000000 */  nop
/* 185158 80256878 C6420178 */  lwc1      $f2, 0x178($s2)
/* 18515C 8025687C 460010A1 */  cvt.d.s   $f2, $f2
/* 185160 80256880 46201082 */  mul.d     $f2, $f2, $f0
/* 185164 80256884 00000000 */  nop
/* 185168 80256888 8622001A */  lh        $v0, 0x1A($s1)
/* 18516C 8025688C C624002C */  lwc1      $f4, 0x2C($s1)
/* 185170 80256890 44820000 */  mtc1      $v0, $f0
/* 185174 80256894 00000000 */  nop
/* 185178 80256898 46800020 */  cvt.s.w   $f0, $f0
/* 18517C 8025689C 46002680 */  add.s     $f26, $f4, $f0
/* 185180 802568A0 8622001C */  lh        $v0, 0x1C($s1)
/* 185184 802568A4 C6240030 */  lwc1      $f4, 0x30($s1)
/* 185188 802568A8 44820000 */  mtc1      $v0, $f0
/* 18518C 802568AC 00000000 */  nop
/* 185190 802568B0 46800020 */  cvt.s.w   $f0, $f0
/* 185194 802568B4 46002500 */  add.s     $f20, $f4, $f0
/* 185198 802568B8 8622001E */  lh        $v0, 0x1E($s1)
/* 18519C 802568BC C6240034 */  lwc1      $f4, 0x34($s1)
/* 1851A0 802568C0 44820000 */  mtc1      $v0, $f0
/* 1851A4 802568C4 00000000 */  nop
/* 1851A8 802568C8 46800020 */  cvt.s.w   $f0, $f0
/* 1851AC 802568CC 46204220 */  cvt.s.d   $f8, $f8
/* 1851B0 802568D0 462031A0 */  cvt.s.d   $f6, $f6
/* 1851B4 802568D4 462010A0 */  cvt.s.d   $f2, $f2
/* 1851B8 802568D8 44054000 */  mfc1      $a1, $f8
/* 1851BC 802568DC 44063000 */  mfc1      $a2, $f6
/* 1851C0 802568E0 44071000 */  mfc1      $a3, $f2
/* 1851C4 802568E4 0C019DF0 */  jal       guScaleF
/* 1851C8 802568E8 46002580 */   add.s    $f22, $f4, $f0
/* 1851CC 802568EC C6380064 */  lwc1      $f24, 0x64($s1)
.L802568F0:
/* 1851D0 802568F0 8E240000 */  lw        $a0, 0x0($s1)
/* 1851D4 802568F4 E63A0058 */  swc1      $f26, 0x58($s1)
/* 1851D8 802568F8 E634005C */  swc1      $f20, 0x5C($s1)
/* 1851DC 802568FC 30820001 */  andi      $v0, $a0, 0x1
/* 1851E0 80256900 14400223 */  bnez      $v0, .L80257190
/* 1851E4 80256904 E6360060 */   swc1     $f22, 0x60($s1)
/* 1851E8 80256908 8E220094 */  lw        $v0, 0x94($s1)
/* 1851EC 8025690C 10400220 */  beqz      $v0, .L80257190
/* 1851F0 80256910 2402000E */   addiu    $v0, $zero, 0xE
/* 1851F4 80256914 82430218 */  lb        $v1, 0x218($s2)
/* 1851F8 80256918 14620003 */  bne       $v1, $v0, .L80256928
/* 1851FC 8025691C 2402FEFF */   addiu    $v0, $zero, -0x101
/* 185200 80256920 08095A4B */  j         .L8025692C
/* 185204 80256924 34820100 */   ori      $v0, $a0, 0x100
.L80256928:
/* 185208 80256928 00821024 */  and       $v0, $a0, $v0
.L8025692C:
/* 18520C 8025692C AE220000 */  sw        $v0, 0x0($s1)
/* 185210 80256930 0000982D */  daddu     $s3, $zero, $zero
/* 185214 80256934 0260802D */  daddu     $s0, $s3, $zero
/* 185218 80256938 8E3E0088 */  lw        $fp, 0x88($s1)
/* 18521C 8025693C 8FA803D0 */  lw        $t0, 0x3D0($sp)
/* 185220 80256940 11000027 */  beqz      $t0, .L802569E0
/* 185224 80256944 0260A02D */   daddu    $s4, $s3, $zero
/* 185228 80256948 3C02800E */  lui       $v0, %hi(gBattleStatus + 0x4)
/* 18522C 8025694C 8C42C074 */  lw        $v0, %lo(gBattleStatus + 0x4)($v0)
/* 185230 80256950 24030004 */  addiu     $v1, $zero, 0x4
/* 185234 80256954 30420014 */  andi      $v0, $v0, 0x14
/* 185238 80256958 14430015 */  bne       $v0, $v1, .L802569B0
/* 18523C 8025695C 00000000 */   nop
/* 185240 80256960 82420216 */  lb        $v0, 0x216($s2)
/* 185244 80256964 14400009 */  bnez      $v0, .L8025698C
/* 185248 80256968 24050012 */   addiu    $a1, $zero, 0x12
/* 18524C 8025696C 8E240094 */  lw        $a0, 0x94($s1)
/* 185250 80256970 0C09973A */  jal       get_npc_anim_for_status
/* 185254 80256974 24130001 */   addiu    $s3, $zero, 0x1
/* 185258 80256978 8E240084 */  lw        $a0, 0x84($s1)
/* 18525C 8025697C 8E260090 */  lw        $a2, 0x90($s1)
/* 185260 80256980 0040282D */  daddu     $a1, $v0, $zero
/* 185264 80256984 0C0B78AB */  jal       spr_update_sprite
/* 185268 80256988 AE250088 */   sw       $a1, 0x88($s1)
.L8025698C:
/* 18526C 8025698C 0240202D */  daddu     $a0, $s2, $zero
/* 185270 80256990 0C099B6B */  jal       set_actor_pal_adjustment
/* 185274 80256994 2405000C */   addiu    $a1, $zero, 0xC
/* 185278 80256998 24100001 */  addiu     $s0, $zero, 0x1
/* 18527C 8025699C 0240202D */  daddu     $a0, $s2, $zero
/* 185280 802569A0 0C099BBA */  jal       func_80266EE8
/* 185284 802569A4 0000282D */   daddu    $a1, $zero, $zero
/* 185288 802569A8 0200A02D */  daddu     $s4, $s0, $zero
/* 18528C 802569AC 8FA803D0 */  lw        $t0, 0x3D0($sp)
.L802569B0:
/* 185290 802569B0 1100000B */  beqz      $t0, .L802569E0
/* 185294 802569B4 24020006 */   addiu    $v0, $zero, 0x6
/* 185298 802569B8 3C038011 */  lui       $v1, %hi(gPlayerData + 0x12)
/* 18529C 802569BC 8063F2A2 */  lb        $v1, %lo(gPlayerData + 0x12)($v1)
/* 1852A0 802569C0 14620007 */  bne       $v1, $v0, .L802569E0
/* 1852A4 802569C4 00000000 */   nop
/* 1852A8 802569C8 16000005 */  bnez      $s0, .L802569E0
/* 1852AC 802569CC 24100001 */   addiu    $s0, $zero, 0x1
/* 1852B0 802569D0 0240202D */  daddu     $a0, $s2, $zero
/* 1852B4 802569D4 0C099B6B */  jal       set_actor_pal_adjustment
/* 1852B8 802569D8 24050009 */   addiu    $a1, $zero, 0x9
/* 1852BC 802569DC 24100001 */  addiu     $s0, $zero, 0x1
.L802569E0:
/* 1852C0 802569E0 82420220 */  lb        $v0, 0x220($s2)
/* 1852C4 802569E4 10400007 */  beqz      $v0, .L80256A04
/* 1852C8 802569E8 00000000 */   nop
/* 1852CC 802569EC 16800005 */  bnez      $s4, .L80256A04
/* 1852D0 802569F0 24140001 */   addiu    $s4, $zero, 0x1
/* 1852D4 802569F4 0240202D */  daddu     $a0, $s2, $zero
/* 1852D8 802569F8 0C099BBA */  jal       func_80266EE8
/* 1852DC 802569FC 2405000B */   addiu    $a1, $zero, 0xB
/* 1852E0 80256A00 24140001 */  addiu     $s4, $zero, 0x1
.L80256A04:
/* 1852E4 80256A04 82430210 */  lb        $v1, 0x210($s2)
/* 1852E8 80256A08 24020009 */  addiu     $v0, $zero, 0x9
/* 1852EC 80256A0C 14620009 */  bne       $v1, $v0, .L80256A34
/* 1852F0 80256A10 24020005 */   addiu    $v0, $zero, 0x5
/* 1852F4 80256A14 16000007 */  bnez      $s0, .L80256A34
/* 1852F8 80256A18 24100001 */   addiu    $s0, $zero, 0x1
/* 1852FC 80256A1C 0240202D */  daddu     $a0, $s2, $zero
/* 185300 80256A20 0C099B6B */  jal       set_actor_pal_adjustment
/* 185304 80256A24 24050006 */   addiu    $a1, $zero, 0x6
/* 185308 80256A28 24100001 */  addiu     $s0, $zero, 0x1
/* 18530C 80256A2C 82430210 */  lb        $v1, 0x210($s2)
/* 185310 80256A30 24020005 */  addiu     $v0, $zero, 0x5
.L80256A34:
/* 185314 80256A34 14620007 */  bne       $v1, $v0, .L80256A54
/* 185318 80256A38 00000000 */   nop
/* 18531C 80256A3C 16000005 */  bnez      $s0, .L80256A54
/* 185320 80256A40 24100001 */   addiu    $s0, $zero, 0x1
/* 185324 80256A44 0240202D */  daddu     $a0, $s2, $zero
/* 185328 80256A48 0C099B6B */  jal       set_actor_pal_adjustment
/* 18532C 80256A4C 24050007 */   addiu    $a1, $zero, 0x7
/* 185330 80256A50 24100001 */  addiu     $s0, $zero, 0x1
.L80256A54:
/* 185334 80256A54 82430210 */  lb        $v1, 0x210($s2)
/* 185338 80256A58 24020003 */  addiu     $v0, $zero, 0x3
/* 18533C 80256A5C 14620007 */  bne       $v1, $v0, .L80256A7C
/* 185340 80256A60 00000000 */   nop
/* 185344 80256A64 16000005 */  bnez      $s0, .L80256A7C
/* 185348 80256A68 24100001 */   addiu    $s0, $zero, 0x1
/* 18534C 80256A6C 0240202D */  daddu     $a0, $s2, $zero
/* 185350 80256A70 0C099B6B */  jal       set_actor_pal_adjustment
/* 185354 80256A74 24050005 */   addiu    $a1, $zero, 0x5
/* 185358 80256A78 24100001 */  addiu     $s0, $zero, 0x1
.L80256A7C:
/* 18535C 80256A7C 82430212 */  lb        $v1, 0x212($s2)
/* 185360 80256A80 2402000B */  addiu     $v0, $zero, 0xB
/* 185364 80256A84 14620007 */  bne       $v1, $v0, .L80256AA4
/* 185368 80256A88 00000000 */   nop
/* 18536C 80256A8C 16000005 */  bnez      $s0, .L80256AA4
/* 185370 80256A90 24100001 */   addiu    $s0, $zero, 0x1
/* 185374 80256A94 0240202D */  daddu     $a0, $s2, $zero
/* 185378 80256A98 0C099B6B */  jal       set_actor_pal_adjustment
/* 18537C 80256A9C 24050004 */   addiu    $a1, $zero, 0x4
/* 185380 80256AA0 24100001 */  addiu     $s0, $zero, 0x1
.L80256AA4:
/* 185384 80256AA4 16000007 */  bnez      $s0, .L80256AC4
/* 185388 80256AA8 3C030100 */   lui      $v1, (0x1000000 >> 16)
/* 18538C 80256AAC 8E220000 */  lw        $v0, 0x0($s1)
/* 185390 80256AB0 00431024 */  and       $v0, $v0, $v1
/* 185394 80256AB4 14400003 */  bnez      $v0, .L80256AC4
/* 185398 80256AB8 0240202D */   daddu    $a0, $s2, $zero
/* 18539C 80256ABC 0C099B6B */  jal       set_actor_pal_adjustment
/* 1853A0 80256AC0 0000282D */   daddu    $a1, $zero, $zero
.L80256AC4:
/* 1853A4 80256AC4 16800007 */  bnez      $s4, .L80256AE4
/* 1853A8 80256AC8 3C030100 */   lui      $v1, (0x1000000 >> 16)
/* 1853AC 80256ACC 8E220000 */  lw        $v0, 0x0($s1)
/* 1853B0 80256AD0 00431024 */  and       $v0, $v0, $v1
/* 1853B4 80256AD4 14400003 */  bnez      $v0, .L80256AE4
/* 1853B8 80256AD8 0240202D */   daddu    $a0, $s2, $zero
D_80256ADC:
/* 1853BC 80256ADC 0C099BBA */  jal       func_80266EE8
/* 1853C0 80256AE0 0000282D */   daddu    $a1, $zero, $zero
.L80256AE4:
/* 1853C4 80256AE4 8E420000 */  lw        $v0, 0x0($s2)
/* 1853C8 80256AE8 3C030400 */  lui       $v1, (0x4000000 >> 16)
D_80256AEC:
/* 1853CC 80256AEC 00431024 */  and       $v0, $v0, $v1
/* 1853D0 80256AF0 10400070 */  beqz      $v0, .L80256CB4
/* 1853D4 80256AF4 3C032000 */   lui      $v1, (0x20000000 >> 16)
/* 1853D8 80256AF8 8E220000 */  lw        $v0, 0x0($s1)
/* 1853DC 80256AFC 00431024 */  and       $v0, $v0, $v1
/* 1853E0 80256B00 1440006C */  bnez      $v0, .L80256CB4
/* 1853E4 80256B04 24020007 */   addiu    $v0, $zero, 0x7
/* 1853E8 80256B08 82430210 */  lb        $v1, 0x210($s2)
/* 1853EC 80256B0C 10620012 */  beq       $v1, $v0, .L80256B58
/* 1853F0 80256B10 00000000 */   nop
/* 1853F4 80256B14 2402000A */  addiu     $v0, $zero, 0xA
/* 1853F8 80256B18 10620015 */  beq       $v1, $v0, .L80256B70
/* 1853FC 80256B1C 24020009 */   addiu    $v0, $zero, 0x9
/* 185400 80256B20 1062000D */  beq       $v1, $v0, .L80256B58
/* 185404 80256B24 00000000 */   nop
/* 185408 80256B28 24020004 */  addiu     $v0, $zero, 0x4
/* 18540C 80256B2C 1062000A */  beq       $v1, $v0, .L80256B58
/* 185410 80256B30 00000000 */   nop
/* 185414 80256B34 24020003 */  addiu     $v0, $zero, 0x3
/* 185418 80256B38 10620007 */  beq       $v1, $v0, .L80256B58
/* 18541C 80256B3C 00000000 */   nop
/* 185420 80256B40 24020006 */  addiu     $v0, $zero, 0x6
/* 185424 80256B44 10620004 */  beq       $v1, $v0, .L80256B58
/* 185428 80256B48 00000000 */   nop
/* 18542C 80256B4C 24020005 */  addiu     $v0, $zero, 0x5
/* 185430 80256B50 14620007 */  bne       $v1, $v0, .L80256B70
/* 185434 80256B54 00000000 */   nop
.L80256B58:
/* 185438 80256B58 16600005 */  bnez      $s3, .L80256B70
/* 18543C 80256B5C 0040282D */   daddu    $a1, $v0, $zero
/* 185440 80256B60 8E240094 */  lw        $a0, 0x94($s1)
/* 185444 80256B64 0C09973A */  jal       get_npc_anim_for_status
/* 185448 80256B68 24130001 */   addiu    $s3, $zero, 0x1
/* 18544C 80256B6C AE220088 */  sw        $v0, 0x88($s1)
.L80256B70:
/* 185450 80256B70 82430212 */  lb        $v1, 0x212($s2)
/* 185454 80256B74 2402000B */  addiu     $v0, $zero, 0xB
/* 185458 80256B78 14620007 */  bne       $v1, $v0, .L80256B98
/* 18545C 80256B7C 00000000 */   nop
/* 185460 80256B80 16600005 */  bnez      $s3, .L80256B98
/* 185464 80256B84 0040282D */   daddu    $a1, $v0, $zero
/* 185468 80256B88 8E240094 */  lw        $a0, 0x94($s1)
/* 18546C 80256B8C 0C09973A */  jal       get_npc_anim_for_status
/* 185470 80256B90 24130001 */   addiu    $s3, $zero, 0x1
/* 185474 80256B94 AE220088 */  sw        $v0, 0x88($s1)
.L80256B98:
/* 185478 80256B98 16600005 */  bnez      $s3, .L80256BB0
/* 18547C 80256B9C 00000000 */   nop
/* 185480 80256BA0 8E240094 */  lw        $a0, 0x94($s1)
/* 185484 80256BA4 0C09973A */  jal       get_npc_anim_for_status
/* 185488 80256BA8 24050001 */   addiu    $a1, $zero, 0x1
/* 18548C 80256BAC AE220088 */  sw        $v0, 0x88($s1)
.L80256BB0:
/* 185490 80256BB0 8FA803D0 */  lw        $t0, 0x3D0($sp)
/* 185494 80256BB4 11000014 */  beqz      $t0, .L80256C08
/* 185498 80256BB8 2402000D */   addiu    $v0, $zero, 0xD
/* 18549C 80256BBC 82430216 */  lb        $v1, 0x216($s2)
/* 1854A0 80256BC0 14620004 */  bne       $v1, $v0, .L80256BD4
/* 1854A4 80256BC4 0040282D */   daddu    $a1, $v0, $zero
/* 1854A8 80256BC8 8E240094 */  lw        $a0, 0x94($s1)
/* 1854AC 80256BCC 08095AFF */  j         .L80256BFC
/* 1854B0 80256BD0 24130001 */   addiu    $s3, $zero, 0x1
.L80256BD4:
/* 1854B4 80256BD4 8E240094 */  lw        $a0, 0x94($s1)
/* 1854B8 80256BD8 0C09973A */  jal       get_npc_anim_for_status
/* 1854BC 80256BDC 24050001 */   addiu    $a1, $zero, 0x1
/* 1854C0 80256BE0 0040802D */  daddu     $s0, $v0, $zero
/* 1854C4 80256BE4 8E240094 */  lw        $a0, 0x94($s1)
/* 1854C8 80256BE8 0C09973A */  jal       get_npc_anim_for_status
/* 1854CC 80256BEC 2405000D */   addiu    $a1, $zero, 0xD
/* 1854D0 80256BF0 16020005 */  bne       $s0, $v0, .L80256C08
/* 1854D4 80256BF4 24050001 */   addiu    $a1, $zero, 0x1
/* 1854D8 80256BF8 8E240094 */  lw        $a0, 0x94($s1)
.L80256BFC:
/* 1854DC 80256BFC 0C09973A */  jal       get_npc_anim_for_status
/* 1854E0 80256C00 00000000 */   nop
/* 1854E4 80256C04 AE220088 */  sw        $v0, 0x88($s1)
.L80256C08:
/* 1854E8 80256C08 82430210 */  lb        $v1, 0x210($s2)
/* 1854EC 80256C0C 24020008 */  addiu     $v0, $zero, 0x8
/* 1854F0 80256C10 14620019 */  bne       $v1, $v0, .L80256C78
/* 1854F4 80256C14 00000000 */   nop
/* 1854F8 80256C18 8E240094 */  lw        $a0, 0x94($s1)
/* 1854FC 80256C1C 0C09973A */  jal       get_npc_anim_for_status
/* 185500 80256C20 0040282D */   daddu    $a1, $v0, $zero
/* 185504 80256C24 AE220088 */  sw        $v0, 0x88($s1)
/* 185508 80256C28 86440436 */  lh        $a0, 0x436($s2)
/* 18550C 80256C2C 0C011E08 */  jal       create_status_debuff
/* 185510 80256C30 24050008 */   addiu    $a1, $zero, 0x8
/* 185514 80256C34 08095B2D */  j         .L80256CB4
/* 185518 80256C38 00000000 */   nop
.L80256C3C:
/* 18551C 80256C3C 86440436 */  lh        $a0, 0x436($s2)
/* 185520 80256C40 08095B44 */  j         .L80256D10
/* 185524 80256C44 24050009 */   addiu    $a1, $zero, 0x9
.L80256C48:
/* 185528 80256C48 86440436 */  lh        $a0, 0x436($s2)
/* 18552C 80256C4C 08095B44 */  j         .L80256D10
/* 185530 80256C50 24050004 */   addiu    $a1, $zero, 0x4
.L80256C54:
/* 185534 80256C54 86440436 */  lh        $a0, 0x436($s2)
D_80256C58:
/* 185538 80256C58 08095B44 */  j         .L80256D10
/* 18553C 80256C5C 24050006 */   addiu    $a1, $zero, 0x6
.L80256C60:
/* 185540 80256C60 86440436 */  lh        $a0, 0x436($s2)
/* 185544 80256C64 08095B44 */  j         .L80256D10
/* 185548 80256C68 24050005 */   addiu    $a1, $zero, 0x5
.L80256C6C:
/* 18554C 80256C6C 86440436 */  lh        $a0, 0x436($s2)
/* 185550 80256C70 08095B44 */  j         .L80256D10
/* 185554 80256C74 2405000A */   addiu    $a1, $zero, 0xA
.L80256C78:
/* 185558 80256C78 1660000E */  bnez      $s3, .L80256CB4
/* 18555C 80256C7C 00000000 */   nop
/* 185560 80256C80 8E240094 */  lw        $a0, 0x94($s1)
/* 185564 80256C84 0C09973A */  jal       get_npc_anim_for_status
/* 185568 80256C88 24050001 */   addiu    $a1, $zero, 0x1
/* 18556C 80256C8C 0040802D */  daddu     $s0, $v0, $zero
/* 185570 80256C90 8E240094 */  lw        $a0, 0x94($s1)
/* 185574 80256C94 0C09973A */  jal       get_npc_anim_for_status
/* 185578 80256C98 24050008 */   addiu    $a1, $zero, 0x8
/* 18557C 80256C9C 16020005 */  bne       $s0, $v0, .L80256CB4
/* 185580 80256CA0 00000000 */   nop
/* 185584 80256CA4 8E240094 */  lw        $a0, 0x94($s1)
/* 185588 80256CA8 0C09973A */  jal       get_npc_anim_for_status
/* 18558C 80256CAC 24050001 */   addiu    $a1, $zero, 0x1
/* 185590 80256CB0 AE220088 */  sw        $v0, 0x88($s1)
.L80256CB4:
/* 185594 80256CB4 3C02800E */  lui       $v0, %hi(gBattleStatus)
/* 185598 80256CB8 8C42C070 */  lw        $v0, %lo(gBattleStatus)($v0)
/* 18559C 80256CBC 30420004 */  andi      $v0, $v0, 0x4
/* 1855A0 80256CC0 1440002E */  bnez      $v0, .L80256D7C
/* 1855A4 80256CC4 3C030800 */   lui      $v1, (0x8000000 >> 16)
/* 1855A8 80256CC8 8E420000 */  lw        $v0, 0x0($s2)
/* 1855AC 80256CCC 00431024 */  and       $v0, $v0, $v1
/* 1855B0 80256CD0 1040002A */  beqz      $v0, .L80256D7C
/* 1855B4 80256CD4 24020009 */   addiu    $v0, $zero, 0x9
/* 1855B8 80256CD8 82430210 */  lb        $v1, 0x210($s2)
/* 1855BC 80256CDC 1062FFD7 */  beq       $v1, $v0, .L80256C3C
/* 1855C0 80256CE0 24020004 */   addiu    $v0, $zero, 0x4
/* 1855C4 80256CE4 1062FFD8 */  beq       $v1, $v0, .L80256C48
/* 1855C8 80256CE8 24020006 */   addiu    $v0, $zero, 0x6
/* 1855CC 80256CEC 1062FFD9 */  beq       $v1, $v0, .L80256C54
/* 1855D0 80256CF0 24020005 */   addiu    $v0, $zero, 0x5
/* 1855D4 80256CF4 1062FFDA */  beq       $v1, $v0, .L80256C60
/* 1855D8 80256CF8 2402000A */   addiu    $v0, $zero, 0xA
/* 1855DC 80256CFC 1062FFDB */  beq       $v1, $v0, .L80256C6C
/* 1855E0 80256D00 24020007 */   addiu    $v0, $zero, 0x7
/* 1855E4 80256D04 14620004 */  bne       $v1, $v0, .L80256D18
/* 1855E8 80256D08 0040282D */   daddu    $a1, $v0, $zero
/* 1855EC 80256D0C 86440436 */  lh        $a0, 0x436($s2)
.L80256D10:
/* 1855F0 80256D10 0C011E08 */  jal       create_status_debuff
/* 1855F4 80256D14 00000000 */   nop
.L80256D18:
/* 1855F8 80256D18 82430212 */  lb        $v1, 0x212($s2)
/* 1855FC 80256D1C 2402000B */  addiu     $v0, $zero, 0xB
/* 185600 80256D20 14620004 */  bne       $v1, $v0, .L80256D34
/* 185604 80256D24 00000000 */   nop
/* 185608 80256D28 86440436 */  lh        $a0, 0x436($s2)
/* 18560C 80256D2C 0C011E4A */  jal       create_status_static
/* 185610 80256D30 0040282D */   daddu    $a1, $v0, $zero
.L80256D34:
/* 185614 80256D34 82430218 */  lb        $v1, 0x218($s2)
/* 185618 80256D38 2402000E */  addiu     $v0, $zero, 0xE
/* 18561C 80256D3C 10620005 */  beq       $v1, $v0, .L80256D54
/* 185620 80256D40 00000000 */   nop
/* 185624 80256D44 8E220000 */  lw        $v0, 0x0($s1)
/* 185628 80256D48 30420100 */  andi      $v0, $v0, 0x100
/* 18562C 80256D4C 10400004 */  beqz      $v0, .L80256D60
/* 185630 80256D50 00000000 */   nop
.L80256D54:
/* 185634 80256D54 86440436 */  lh        $a0, 0x436($s2)
/* 185638 80256D58 0C011E8C */  jal       create_status_transparent
/* 18563C 80256D5C 2405000E */   addiu    $a1, $zero, 0xE
.L80256D60:
/* 185640 80256D60 82420223 */  lb        $v0, 0x223($s2)
/* 185644 80256D64 1040000D */  beqz      $v0, .L80256D9C
/* 185648 80256D68 00000000 */   nop
/* 18564C 80256D6C 0C011ECE */  jal       create_status_chill_out
/* 185650 80256D70 86440436 */   lh       $a0, 0x436($s2)
/* 185654 80256D74 08095B67 */  j         .L80256D9C
/* 185658 80256D78 00000000 */   nop
.L80256D7C:
/* 18565C 80256D7C 0C011E3E */  jal       enable_status_debuff
/* 185660 80256D80 86440436 */   lh       $a0, 0x436($s2)
/* 185664 80256D84 0C011E80 */  jal       enable_status_2
/* 185668 80256D88 86440436 */   lh       $a0, 0x436($s2)
/* 18566C 80256D8C 0C011EC2 */  jal       enable_status_transparent
/* 185670 80256D90 86440436 */   lh       $a0, 0x436($s2)
/* 185674 80256D94 0C011EF9 */  jal       enable_status_chill_out
/* 185678 80256D98 86440436 */   lh       $a0, 0x436($s2)
.L80256D9C:
/* 18567C 80256D9C 8E240084 */  lw        $a0, 0x84($s1)
/* 185680 80256DA0 04800009 */  bltz      $a0, .L80256DC8
/* 185684 80256DA4 00000000 */   nop
/* 185688 80256DA8 8E250088 */  lw        $a1, 0x88($s1)
/* 18568C 80256DAC 13C50006 */  beq       $fp, $a1, .L80256DC8
/* 185690 80256DB0 00000000 */   nop
/* 185694 80256DB4 0C0B78AB */  jal       spr_update_sprite
/* 185698 80256DB8 8E260090 */   lw       $a2, 0x90($s1)
/* 18569C 80256DBC 0C0B7972 */  jal       spr_get_notify_value
/* 1856A0 80256DC0 8E240084 */   lw       $a0, 0x84($s1)
/* 1856A4 80256DC4 AE22008C */  sw        $v0, 0x8C($s1)
.L80256DC8:
/* 1856A8 80256DC8 8E420000 */  lw        $v0, 0x0($s2)
/* 1856AC 80256DCC 30420800 */  andi      $v0, $v0, 0x800
/* 1856B0 80256DD0 14400025 */  bnez      $v0, .L80256E68
/* 1856B4 80256DD4 00000000 */   nop
/* 1856B8 80256DD8 86220044 */  lh        $v0, 0x44($s1)
D_80256DDC:
/* 1856BC 80256DDC C6420188 */  lwc1      $f2, 0x188($s2)
/* 1856C0 80256DE0 00021023 */  negu      $v0, $v0
/* 1856C4 80256DE4 44820000 */  mtc1      $v0, $f0
/* 1856C8 80256DE8 00000000 */  nop
/* 1856CC 80256DEC 46800020 */  cvt.s.w   $f0, $f0
/* 1856D0 80256DF0 46020002 */  mul.s     $f0, $f0, $f2
/* 1856D4 80256DF4 00000000 */  nop
/* 1856D8 80256DF8 86220046 */  lh        $v0, 0x46($s1)
/* 1856DC 80256DFC 00021023 */  negu      $v0, $v0
/* 1856E0 80256E00 44050000 */  mfc1      $a1, $f0
/* 1856E4 80256E04 44820000 */  mtc1      $v0, $f0
/* 1856E8 80256E08 00000000 */  nop
/* 1856EC 80256E0C 46800020 */  cvt.s.w   $f0, $f0
/* 1856F0 80256E10 46020002 */  mul.s     $f0, $f0, $f2
/* 1856F4 80256E14 00000000 */  nop
/* 1856F8 80256E18 86220048 */  lh        $v0, 0x48($s1)
/* 1856FC 80256E1C 00021023 */  negu      $v0, $v0
/* 185700 80256E20 44060000 */  mfc1      $a2, $f0
/* 185704 80256E24 44820000 */  mtc1      $v0, $f0
/* 185708 80256E28 00000000 */  nop
/* 18570C 80256E2C 46800020 */  cvt.s.w   $f0, $f0
/* 185710 80256E30 46020002 */  mul.s     $f0, $f0, $f2
/* 185714 80256E34 00000000 */  nop
/* 185718 80256E38 44070000 */  mfc1      $a3, $f0
/* 18571C 80256E3C 0C019E40 */  jal       guTranslateF
/* 185720 80256E40 27A401A0 */   addiu    $a0, $sp, 0x1A0
/* 185724 80256E44 86220044 */  lh        $v0, 0x44($s1)
/* 185728 80256E48 C6420188 */  lwc1      $f2, 0x188($s2)
/* 18572C 80256E4C 44820000 */  mtc1      $v0, $f0
/* 185730 80256E50 00000000 */  nop
/* 185734 80256E54 46800020 */  cvt.s.w   $f0, $f0
/* 185738 80256E58 46020002 */  mul.s     $f0, $f0, $f2
/* 18573C 80256E5C 00000000 */  nop
/* 185740 80256E60 08095BBD */  j         .L80256EF4
/* 185744 80256E64 86220046 */   lh       $v0, 0x46($s1)
.L80256E68:
/* 185748 80256E68 86220044 */  lh        $v0, 0x44($s1)
/* 18574C 80256E6C C6420188 */  lwc1      $f2, 0x188($s2)
/* 185750 80256E70 00021023 */  negu      $v0, $v0
/* 185754 80256E74 44820000 */  mtc1      $v0, $f0
/* 185758 80256E78 00000000 */  nop
/* 18575C 80256E7C 46800020 */  cvt.s.w   $f0, $f0
/* 185760 80256E80 46020002 */  mul.s     $f0, $f0, $f2
/* 185764 80256E84 00000000 */  nop
/* 185768 80256E88 86220046 */  lh        $v0, 0x46($s1)
/* 18576C 80256E8C 44050000 */  mfc1      $a1, $f0
/* 185770 80256E90 44820000 */  mtc1      $v0, $f0
/* 185774 80256E94 00000000 */  nop
/* 185778 80256E98 46800020 */  cvt.s.w   $f0, $f0
/* 18577C 80256E9C 46020002 */  mul.s     $f0, $f0, $f2
/* 185780 80256EA0 00000000 */  nop
/* 185784 80256EA4 86220048 */  lh        $v0, 0x48($s1)
/* 185788 80256EA8 00021023 */  negu      $v0, $v0
/* 18578C 80256EAC 44060000 */  mfc1      $a2, $f0
/* 185790 80256EB0 44820000 */  mtc1      $v0, $f0
/* 185794 80256EB4 00000000 */  nop
/* 185798 80256EB8 46800020 */  cvt.s.w   $f0, $f0
/* 18579C 80256EBC 46020002 */  mul.s     $f0, $f0, $f2
/* 1857A0 80256EC0 00000000 */  nop
/* 1857A4 80256EC4 44070000 */  mfc1      $a3, $f0
/* 1857A8 80256EC8 0C019E40 */  jal       guTranslateF
/* 1857AC 80256ECC 27A401A0 */   addiu    $a0, $sp, 0x1A0
/* 1857B0 80256ED0 86220044 */  lh        $v0, 0x44($s1)
/* 1857B4 80256ED4 C6420188 */  lwc1      $f2, 0x188($s2)
/* 1857B8 80256ED8 44820000 */  mtc1      $v0, $f0
/* 1857BC 80256EDC 00000000 */  nop
/* 1857C0 80256EE0 46800020 */  cvt.s.w   $f0, $f0
/* 1857C4 80256EE4 46020002 */  mul.s     $f0, $f0, $f2
/* 1857C8 80256EE8 00000000 */  nop
/* 1857CC 80256EEC 86220046 */  lh        $v0, 0x46($s1)
/* 1857D0 80256EF0 00021023 */  negu      $v0, $v0
.L80256EF4:
/* 1857D4 80256EF4 44050000 */  mfc1      $a1, $f0
/* 1857D8 80256EF8 44820000 */  mtc1      $v0, $f0
/* 1857DC 80256EFC 00000000 */  nop
/* 1857E0 80256F00 46800020 */  cvt.s.w   $f0, $f0
/* 1857E4 80256F04 46020002 */  mul.s     $f0, $f0, $f2
/* 1857E8 80256F08 00000000 */  nop
/* 1857EC 80256F0C 86220048 */  lh        $v0, 0x48($s1)
/* 1857F0 80256F10 44060000 */  mfc1      $a2, $f0
/* 1857F4 80256F14 44820000 */  mtc1      $v0, $f0
/* 1857F8 80256F18 00000000 */  nop
/* 1857FC 80256F1C 46800020 */  cvt.s.w   $f0, $f0
/* 185800 80256F20 46020002 */  mul.s     $f0, $f0, $f2
/* 185804 80256F24 00000000 */  nop
/* 185808 80256F28 44070000 */  mfc1      $a3, $f0
/* 18580C 80256F2C 0C019E40 */  jal       guTranslateF
/* 185810 80256F30 27A401E0 */   addiu    $a0, $sp, 0x1E0
/* 185814 80256F34 86220068 */  lh        $v0, 0x68($s1)
/* 185818 80256F38 44820000 */  mtc1      $v0, $f0
/* 18581C 80256F3C 00000000 */  nop
/* 185820 80256F40 46800020 */  cvt.s.w   $f0, $f0
/* 185824 80256F44 4600D000 */  add.s     $f0, $f26, $f0
/* 185828 80256F48 8622006A */  lh        $v0, 0x6A($s1)
/* 18582C 80256F4C 44050000 */  mfc1      $a1, $f0
/* 185830 80256F50 44820000 */  mtc1      $v0, $f0
/* 185834 80256F54 00000000 */  nop
/* 185838 80256F58 46800020 */  cvt.s.w   $f0, $f0
/* 18583C 80256F5C 4600A000 */  add.s     $f0, $f20, $f0
/* 185840 80256F60 4407B000 */  mfc1      $a3, $f22
/* 185844 80256F64 44060000 */  mfc1      $a2, $f0
/* 185848 80256F68 0C019E40 */  jal       guTranslateF
/* 18584C 80256F6C 27A40220 */   addiu    $a0, $sp, 0x220
/* 185850 80256F70 E7BC0010 */  swc1      $f28, 0x10($sp)
/* 185854 80256F74 8E250038 */  lw        $a1, 0x38($s1)
/* 185858 80256F78 3C063F80 */  lui       $a2, (0x3F800000 >> 16)
/* 18585C 80256F7C 4407E000 */  mfc1      $a3, $f28
/* 185860 80256F80 0C019EC8 */  jal       guRotateF
/* 185864 80256F84 27A40020 */   addiu    $a0, $sp, 0x20
/* 185868 80256F88 E7BC0010 */  swc1      $f28, 0x10($sp)
/* 18586C 80256F8C 8E25003C */  lw        $a1, 0x3C($s1)
/* 185870 80256F90 4406E000 */  mfc1      $a2, $f28
/* 185874 80256F94 3C073F80 */  lui       $a3, (0x3F800000 >> 16)
/* 185878 80256F98 0C019EC8 */  jal       guRotateF
/* 18587C 80256F9C 8FA4036C */   lw       $a0, 0x36C($sp)
D_80256FA0:
/* 185880 80256FA0 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 185884 80256FA4 44815000 */  mtc1      $at, $f10
/* 185888 80256FA8 4406E000 */  mfc1      $a2, $f28
/* 18588C 80256FAC 4407E000 */  mfc1      $a3, $f28
/* 185890 80256FB0 27B000A0 */  addiu     $s0, $sp, 0xA0
/* 185894 80256FB4 E7AA0010 */  swc1      $f10, 0x10($sp)
/* 185898 80256FB8 8E250040 */  lw        $a1, 0x40($s1)
/* 18589C 80256FBC 0C019EC8 */  jal       guRotateF
/* 1858A0 80256FC0 0200202D */   daddu    $a0, $s0, $zero
/* 1858A4 80256FC4 27A50020 */  addiu     $a1, $sp, 0x20
/* 1858A8 80256FC8 8FA4036C */  lw        $a0, 0x36C($sp)
/* 1858AC 80256FCC 0C019D80 */  jal       guMtxCatF
/* 1858B0 80256FD0 02C0302D */   daddu    $a2, $s6, $zero
/* 1858B4 80256FD4 02C0202D */  daddu     $a0, $s6, $zero
/* 1858B8 80256FD8 8FA60370 */  lw        $a2, 0x370($sp)
/* 1858BC 80256FDC 0C019D80 */  jal       guMtxCatF
/* 1858C0 80256FE0 0200282D */   daddu    $a1, $s0, $zero
/* 1858C4 80256FE4 82220074 */  lb        $v0, 0x74($s1)
/* 1858C8 80256FE8 C6220050 */  lwc1      $f2, 0x50($s1)
/* 1858CC 80256FEC 44820000 */  mtc1      $v0, $f0
/* 1858D0 80256FF0 00000000 */  nop
/* 1858D4 80256FF4 46800020 */  cvt.s.w   $f0, $f0
/* 1858D8 80256FF8 46001082 */  mul.s     $f2, $f2, $f0
/* 1858DC 80256FFC 00000000 */  nop
/* 1858E0 80257000 27B00120 */  addiu     $s0, $sp, 0x120
/* 1858E4 80257004 8E25004C */  lw        $a1, 0x4C($s1)
/* 1858E8 80257008 8E270054 */  lw        $a3, 0x54($s1)
/* 1858EC 8025700C 44061000 */  mfc1      $a2, $f2
/* 1858F0 80257010 0C019DF0 */  jal       guScaleF
/* 1858F4 80257014 0200202D */   daddu    $a0, $s0, $zero
/* 1858F8 80257018 0200202D */  daddu     $a0, $s0, $zero
/* 1858FC 8025701C 27A501A0 */  addiu     $a1, $sp, 0x1A0
/* 185900 80257020 0C019D80 */  jal       guMtxCatF
/* 185904 80257024 02A0302D */   daddu    $a2, $s5, $zero
/* 185908 80257028 02A0202D */  daddu     $a0, $s5, $zero
/* 18590C 8025702C 8FA50370 */  lw        $a1, 0x370($sp)
/* 185910 80257030 0C019D80 */  jal       guMtxCatF
/* 185914 80257034 02C0302D */   daddu    $a2, $s6, $zero
/* 185918 80257038 02C0202D */  daddu     $a0, $s6, $zero
/* 18591C 8025703C 27A501E0 */  addiu     $a1, $sp, 0x1E0
/* 185920 80257040 0C019D80 */  jal       guMtxCatF
/* 185924 80257044 02A0302D */   daddu    $a2, $s5, $zero
/* 185928 80257048 8E220000 */  lw        $v0, 0x0($s1)
/* 18592C 8025704C 3C030010 */  lui       $v1, (0x100000 >> 16)
/* 185930 80257050 00431024 */  and       $v0, $v0, $v1
/* 185934 80257054 14400003 */  bnez      $v0, .L80257064
/* 185938 80257058 02A0202D */   daddu    $a0, $s5, $zero
/* 18593C 8025705C 08095C1A */  j         .L80257068
/* 185940 80257060 27A502A0 */   addiu    $a1, $sp, 0x2A0
.L80257064:
/* 185944 80257064 27A50320 */  addiu     $a1, $sp, 0x320
.L80257068:
/* 185948 80257068 0C019D80 */  jal       guMtxCatF
/* 18594C 8025706C 02C0302D */   daddu    $a2, $s6, $zero
/* 185950 80257070 27A40260 */  addiu     $a0, $sp, 0x260
/* 185954 80257074 27A50220 */  addiu     $a1, $sp, 0x220
/* 185958 80257078 0C019D80 */  jal       guMtxCatF
/* 18595C 8025707C 02A0302D */   daddu    $a2, $s5, $zero
/* 185960 80257080 86220068 */  lh        $v0, 0x68($s1)
/* 185964 80257084 44821000 */  mtc1      $v0, $f2
/* 185968 80257088 00000000 */  nop
/* 18596C 8025708C 468010A0 */  cvt.s.w   $f2, $f2
/* 185970 80257090 8622006A */  lh        $v0, 0x6A($s1)
/* 185974 80257094 4602D080 */  add.s     $f2, $f26, $f2
/* 185978 80257098 44820000 */  mtc1      $v0, $f0
/* 18597C 8025709C 00000000 */  nop
/* 185980 802570A0 46800020 */  cvt.s.w   $f0, $f0
/* 185984 802570A4 8E220084 */  lw        $v0, 0x84($s1)
/* 185988 802570A8 4600A000 */  add.s     $f0, $f20, $f0
/* 18598C 802570AC E6360060 */  swc1      $f22, 0x60($s1)
/* 185990 802570B0 E6220058 */  swc1      $f2, 0x58($s1)
/* 185994 802570B4 04400036 */  bltz      $v0, .L80257190
/* 185998 802570B8 E620005C */   swc1     $f0, 0x5C($s1)
/* 18599C 802570BC 8FA803D0 */  lw        $t0, 0x3D0($sp)
/* 1859A0 802570C0 15000013 */  bnez      $t0, .L80257110
/* 1859A4 802570C4 0220282D */   daddu    $a1, $s1, $zero
/* 1859A8 802570C8 24040001 */  addiu     $a0, $zero, 0x1
/* 1859AC 802570CC 4600C28D */  trunc.w.s $f10, $f24
/* 1859B0 802570D0 44105000 */  mfc1      $s0, $f10
/* 1859B4 802570D4 00000000 */  nop
/* 1859B8 802570D8 0200302D */  daddu     $a2, $s0, $zero
/* 1859BC 802570DC 0C097210 */  jal       func_8025C840
/* 1859C0 802570E0 0000382D */   daddu    $a3, $zero, $zero
/* 1859C4 802570E4 24040001 */  addiu     $a0, $zero, 0x1
/* 1859C8 802570E8 0220282D */  daddu     $a1, $s1, $zero
/* 1859CC 802570EC 0200302D */  daddu     $a2, $s0, $zero
/* 1859D0 802570F0 0C097332 */  jal       func_8025CCC8
/* 1859D4 802570F4 0000382D */   daddu    $a3, $zero, $zero
/* 1859D8 802570F8 AFA00010 */  sw        $zero, 0x10($sp)
/* 1859DC 802570FC 24040001 */  addiu     $a0, $zero, 0x1
/* 1859E0 80257100 0220282D */  daddu     $a1, $s1, $zero
/* 1859E4 80257104 0200302D */  daddu     $a2, $s0, $zero
/* 1859E8 80257108 08095C60 */  j         .L80257180
/* 1859EC 8025710C 02A0382D */   daddu    $a3, $s5, $zero
.L80257110:
/* 1859F0 80257110 3C014334 */  lui       $at, (0x43340000 >> 16)
/* 1859F4 80257114 4481A000 */  mtc1      $at, $f20
D_80257118:
/* 1859F8 80257118 00000000 */  nop
/* 1859FC 8025711C 4618A501 */  sub.s     $f20, $f20, $f24
/* 185A00 80257120 0C00A6C9 */  jal       clamp_angle
/* 185A04 80257124 4600A306 */   mov.s    $f12, $f20
/* 185A08 80257128 24040001 */  addiu     $a0, $zero, 0x1
/* 185A0C 8025712C 0220282D */  daddu     $a1, $s1, $zero
/* 185A10 80257130 4600028D */  trunc.w.s $f10, $f0
/* 185A14 80257134 44065000 */  mfc1      $a2, $f10
/* 185A18 80257138 0C097210 */  jal       func_8025C840
/* 185A1C 8025713C 0000382D */   daddu    $a3, $zero, $zero
/* 185A20 80257140 0C00A6C9 */  jal       clamp_angle
/* 185A24 80257144 4600A306 */   mov.s    $f12, $f20
/* 185A28 80257148 24040001 */  addiu     $a0, $zero, 0x1
/* 185A2C 8025714C 0220282D */  daddu     $a1, $s1, $zero
/* 185A30 80257150 4600028D */  trunc.w.s $f10, $f0
/* 185A34 80257154 44065000 */  mfc1      $a2, $f10
/* 185A38 80257158 0C097332 */  jal       func_8025CCC8
/* 185A3C 8025715C 0000382D */   daddu    $a3, $zero, $zero
/* 185A40 80257160 0C00A6C9 */  jal       clamp_angle
/* 185A44 80257164 4600A306 */   mov.s    $f12, $f20
/* 185A48 80257168 24040001 */  addiu     $a0, $zero, 0x1
/* 185A4C 8025716C 0220282D */  daddu     $a1, $s1, $zero
/* 185A50 80257170 4600028D */  trunc.w.s $f10, $f0
/* 185A54 80257174 44065000 */  mfc1      $a2, $f10
/* 185A58 80257178 02A0382D */  daddu     $a3, $s5, $zero
/* 185A5C 8025717C AFA00010 */  sw        $zero, 0x10($sp)
.L80257180:
/* 185A60 80257180 0C09647B */  jal       func_802591EC
/* 185A64 80257184 00000000 */   nop
/* 185A68 80257188 0C0973B2 */  jal       func_8025CEC8
/* 185A6C 8025718C 0220202D */   daddu    $a0, $s1, $zero
.L80257190:
/* 185A70 80257190 8E31000C */  lw        $s1, 0xC($s1)
/* 185A74 80257194 8FA80360 */  lw        $t0, 0x360($sp)
/* 185A78 80257198 26F70001 */  addiu     $s7, $s7, 0x1
/* 185A7C 8025719C 02E8102A */  slt       $v0, $s7, $t0
/* 185A80 802571A0 1440FD74 */  bnez      $v0, .L80256774
/* 185A84 802571A4 00000000 */   nop
.L802571A8:
/* 185A88 802571A8 8FBF039C */  lw        $ra, 0x39C($sp)
/* 185A8C 802571AC 8FBE0398 */  lw        $fp, 0x398($sp)
/* 185A90 802571B0 8FB70394 */  lw        $s7, 0x394($sp)
/* 185A94 802571B4 8FB60390 */  lw        $s6, 0x390($sp)
/* 185A98 802571B8 8FB5038C */  lw        $s5, 0x38C($sp)
/* 185A9C 802571BC 8FB40388 */  lw        $s4, 0x388($sp)
/* 185AA0 802571C0 8FB30384 */  lw        $s3, 0x384($sp)
/* 185AA4 802571C4 8FB20380 */  lw        $s2, 0x380($sp)
/* 185AA8 802571C8 8FB1037C */  lw        $s1, 0x37C($sp)
/* 185AAC 802571CC 8FB00378 */  lw        $s0, 0x378($sp)
/* 185AB0 802571D0 D7BE03C8 */  ldc1      $f30, 0x3C8($sp)
/* 185AB4 802571D4 D7BC03C0 */  ldc1      $f28, 0x3C0($sp)
/* 185AB8 802571D8 D7BA03B8 */  ldc1      $f26, 0x3B8($sp)
/* 185ABC 802571DC D7B803B0 */  ldc1      $f24, 0x3B0($sp)
D_802571E0:
/* 185AC0 802571E0 D7B603A8 */  ldc1      $f22, 0x3A8($sp)
/* 185AC4 802571E4 D7B403A0 */  ldc1      $f20, 0x3A0($sp)
/* 185AC8 802571E8 03E00008 */  jr        $ra
/* 185ACC 802571EC 27BD03D0 */   addiu    $sp, $sp, 0x3D0

### DECOMPILED C INSTRUCTIONS:

void appendGfx_npc_actor(s32 isPartner, s32 actorIndex) {
    BattleStatus* battleStatus = &gBattleStatus;
    Matrix4f mtxRotX, mtxRotY, mtxRotZ, mtxRotation;
    Matrix4f mtxScale, mtxScaleMod;
    Matrix4f mtxPivotOn, mtxPivotOff, mtxTranslate;
    Matrix4f mtxTemp, mtxActor, mtxTransform, mtxPartScale;
    Actor* actor;
    ActorPart* part;
    EffectInstance* effect;
    s32 numParts;
    f32 actorPosX, actorPosY, actorPosZ;
    f32 partPosX, partPosY, partPosZ, partYaw;
    u32 lastAnim;
    s32 animChanged;
    s32 palChanged;
    s32 decorChanged;
    s32 i;

    if (!isPartner) {
        actor = battleStatus->enemyActors[actorIndex];
    } else {
        actor = battleStatus->partnerActor;
    }
    actorPosX = actor->currentPos.x + actor->headOffset.x;
    if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) {
        actorPosY = actor->currentPos.y + actor->headOffset.y + actor->verticalRenderOffset;
    } else {
        actorPosY = actor->currentPos.y - actor->headOffset.y + actor->verticalRenderOffset;
    }
    actorPosZ = actor->currentPos.z + actor->headOffset.z;

    actor->disableEffect->data.disableX->pos.x = actorPosX +
        (actor->actorBlueprint->statusIconOffset.x + actor->statusIconOffset.x) * actor->scalingFactor;
    actor->disableEffect->data.disableX->pos.y = actorPosY +
        (actor->actorBlueprint->statusIconOffset.y + actor->statusIconOffset.y) * actor->scalingFactor;
    actor->disableEffect->data.disableX->pos.z = actorPosZ;

    if (!(gBattleStatus.flags1 & ACTOR_PART_FLAG_4) && (actor->flags & ACTOR_FLAG_8000000)) {
        if (actor->disableDismissTimer != 0) {
            actor->disableDismissTimer--;
            actor->disableEffect->data.disableX->pos.y = NPC_DISPOSE_POS_Y;
        } else {
            actor->disableEffect->data.disableX->scale = (actor->scalingFactor * 0.75);
        }
    } else {
        actor->disableEffect->data.disableX->pos.y = NPC_DISPOSE_POS_Y;
        actor->disableDismissTimer = 10;
    }
    if (actor->debuff == STATUS_KEY_FROZEN) {
        effect = actor->icePillarEffect;
        if (actor->icePillarEffect != NULL) {
            if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) ||
                (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_8000000)))
            {
                effect->data.icePillar->pos.x = actorPosX;
                effect->data.icePillar->pos.y = actorPosY;
                effect->data.icePillar->pos.z = actorPosZ;
                effect->data.icePillar->scale = actor->size.y / 24.0;
            } else {
                effect->data.icePillar->pos.x = NPC_DISPOSE_POS_X;
                effect->data.icePillar->pos.y = NPC_DISPOSE_POS_Y;
                effect->data.icePillar->pos.z = NPC_DISPOSE_POS_Z;
            }
        }
    } else {
        effect = actor->icePillarEffect;
        if (effect != NULL) {
            effect->flags |= FX_INSTANCE_FLAG_DISMISS;
            actor->icePillarEffect = NULL;
        }
    }
    set_status_icons_properties(actor->hudElementDataIndex, actorPosX, actorPosY, actorPosZ,
        (actor->actorBlueprint->statusIconOffset.x + actor->statusIconOffset.x) * actor->scalingFactor,
        (actor->actorBlueprint->statusIconOffset.y + actor->statusIconOffset.y) * actor->scalingFactor,
        (actor->actorBlueprint->statusTextOffset.x + actor->statusTextOffset.x) * actor->scalingFactor,
        (actor->actorBlueprint->statusTextOffset.y + actor->statusTextOffset.y) * actor->scalingFactor);

    if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) {
        set_status_icons_offset(actor->hudElementDataIndex,
            actor->size.y * actor->scalingFactor,
            actor->size.x * actor->scalingFactor);
    } else {
        set_status_icons_offset(actor->hudElementDataIndex,
            -actor->size.y * actor->scalingFactor,
             actor->size.x * actor->scalingFactor);
    }

    do {
        if (actor->debuff == STATUS_KEY_SHRINK) {
            actor->scalingFactor += ((0.4 - actor->scalingFactor) / 6.0);
        } else {
            actor->scalingFactor += ((1.0 - actor->scalingFactor) / 6.0);
        }
    } while (0); // required to match

    if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) {
        guTranslateF(mtxPivotOn,
            -actor->rotationPivotOffset.x * actor->scalingFactor,
            -actor->rotationPivotOffset.y * actor->scalingFactor,
            -actor->rotationPivotOffset.z * actor->scalingFactor);
        guTranslateF(mtxPivotOff,
            actor->rotationPivotOffset.x * actor->scalingFactor,
            actor->rotationPivotOffset.y * actor->scalingFactor,
            actor->rotationPivotOffset.z * actor->scalingFactor);
    } else {
        guTranslateF(mtxPivotOn,
            -actor->rotationPivotOffset.x * actor->scalingFactor,
             actor->rotationPivotOffset.y * actor->scalingFactor,
            -actor->rotationPivotOffset.z * actor->scalingFactor);
        guTranslateF(mtxPivotOff,
             actor->rotationPivotOffset.x * actor->scalingFactor,
            -actor->rotationPivotOffset.y * actor->scalingFactor,
             actor->rotationPivotOffset.z * actor->scalingFactor);
    }
    guRotateF(mtxRotX, actor->rotation.x, 1.0f, 0.0f, 0.0f);
    guRotateF(mtxRotY, actor->rotation.y, 0.0f, 1.0f, 0.0f);
    guRotateF(mtxRotZ, actor->rotation.z, 0.0f, 0.0f, 1.0f);
    guMtxCatF(mtxRotY, mtxRotX, mtxTemp);
    guMtxCatF(mtxTemp, mtxRotZ, mtxRotation);
    guScaleF(mtxScale,
        actor->scale.x * SPRITE_WORLD_SCALE_D * actor->scalingFactor,
        actor->scale.y * SPRITE_WORLD_SCALE_D * actor->scalingFactor,
        actor->scale.z * SPRITE_WORLD_SCALE_D);
    guScaleF(mtxScaleMod, actor->scaleModifier.x, actor->scaleModifier.y, actor->scaleModifier.z);
    guMtxCatF(mtxPivotOn, mtxScale, mtxTemp);
    guMtxCatF(mtxTemp, mtxScaleMod, mtxScale);
    guMtxCatF(mtxScale, mtxRotation, mtxTransform);
    guMtxCatF(mtxTransform, mtxPivotOff, mtxActor);

    part = actor->partsTable;
    numParts = actor->numParts;
    for (i = 0; i < numParts; i++) {
        if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
            partPosX = actorPosX + part->partOffset.x + part->visualOffset.x;
            if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) {
                partPosY = actorPosY + part->partOffset.y + part->visualOffset.y;
            } else {
                partPosY = (actorPosY - part->partOffset.y) - part->visualOffset.y;
            }
            partPosZ = actorPosZ + part->partOffset.z + part->visualOffset.z;
            partYaw = part->yaw = actor->yaw;
        } else {
            partPosX = part->absolutePosition.x + part->visualOffset.x;
            partPosY = part->absolutePosition.y + part->visualOffset.y;
            partPosZ = part->absolutePosition.z + part->visualOffset.z;
            guScaleF(mtxPartScale,
                actor->scale.x * SPRITE_WORLD_SCALE_D,
                actor->scale.y * SPRITE_WORLD_SCALE_D,
                actor->scale.z * SPRITE_WORLD_SCALE_D);
            partYaw = part->yaw;
        }
        part->currentPos.x = partPosX;
        part->currentPos.y = partPosY;
        part->currentPos.z = partPosZ;

        if (part->flags & ACTOR_PART_FLAG_INVISIBLE) {
            part = part->nextPart;
            continue;
        }
        if (part->idleAnimations == NULL) {
            part = part->nextPart;
            continue;
        }

        if (actor->transparentStatus == STATUS_KEY_TRANSPARENT) {
            part->flags |= ACTOR_PART_FLAG_100;
        } else {
            part->flags &= ~ACTOR_PART_FLAG_100;
        }

        do {
            lastAnim = part->currentAnimation;
            animChanged = FALSE;
            palChanged = FALSE;
            decorChanged = FALSE;
        } while (0); // required to match

        if (isPartner) {
            if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_4)) == BS_FLAGS2_4) {
                do {
                    if (actor->koStatus == 0) {
                        part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_INACTIVE);
                        spr_update_sprite(part->spriteInstanceID, part->currentAnimation, part->animationRate);
                        animChanged = TRUE;
                    }
                } while (0); // required to match
                set_actor_pal_adjustment(actor, PAL_ADJUST_PLAYER_DEBUFF);
                palChanged = TRUE;
                func_80266EE8(actor, UNK_PAL_EFFECT_0);
                decorChanged = TRUE;
            }
            if (isPartner && (gPlayerData.currentPartner == PARTNER_WATT)) {
                if (!palChanged) {
                    set_actor_pal_adjustment(actor, PAL_ADJUST_WATT_IDLE);
                }
                palChanged = TRUE;
            }
        }
        if (actor->isGlowing) {
            if (!decorChanged) {
                func_80266EE8(actor, UNK_PAL_EFFECT_11);
            }
            decorChanged = TRUE;
        }
        if (actor->debuff == STATUS_KEY_POISON) {
            if (!palChanged) {
                set_actor_pal_adjustment(actor, PAL_ADJUST_POISON);
            }
            palChanged = TRUE;
        }
        if (actor->debuff == STATUS_KEY_PARALYZE) {
            if (!palChanged) {
                set_actor_pal_adjustment(actor, PAL_ADJUST_PARALYZE);
            }
            palChanged = TRUE;
        }
        if (actor->debuff == STATUS_KEY_FEAR) {
            if (!palChanged) {
                set_actor_pal_adjustment(actor, PAL_ADJUST_FEAR);
            }
            palChanged = TRUE;
        }
        if (actor->staticStatus == STATUS_KEY_STATIC) {
            if (!palChanged) {
                set_actor_pal_adjustment(actor, PAL_ADJUST_STATIC);
            }
            palChanged = TRUE;
        }
        if ((!palChanged) && !(part->flags & ACTOR_PART_FLAG_1000000)) {
            set_actor_pal_adjustment(actor, PAL_ADJUST_NONE);
        }
        if ((!decorChanged) && !(part->flags & ACTOR_PART_FLAG_1000000)) {
            func_80266EE8(actor, UNK_PAL_EFFECT_0);
        }
        if (actor->flags & ACTOR_FLAG_4000000) {
            if (!(part->flags & ACTOR_PART_FLAG_20000000)) {
                if (actor->debuff == STATUS_KEY_FROZEN) {
                    if (!animChanged) {
                        part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_FROZEN);
                        animChanged = TRUE;
                    }
                } else if (actor->debuff != STATUS_KEY_SHRINK) {
                    if (actor->debuff == STATUS_KEY_POISON) {
                        if (!animChanged) {
                            part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_POISON);
                            animChanged = TRUE;
                        }
                    } else if (actor->debuff == STATUS_KEY_DIZZY) {
                        if (!animChanged) {
                            part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_DIZZY);
                            animChanged = TRUE;
                        }
                    } else if (actor->debuff == STATUS_KEY_FEAR) {
                        if (!animChanged) {
                            part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_FEAR);
                            animChanged = TRUE;
                        }
                    } else if (actor->debuff == STATUS_KEY_SLEEP) {
                        if (!animChanged) {
                            part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_SLEEP);
                            animChanged = TRUE;
                        }
                    } else if (actor->debuff == STATUS_KEY_PARALYZE) {
                        if (!animChanged) {
                            part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_PARALYZE);
                            animChanged = TRUE;
                        }
                    }
                }

                if (actor->staticStatus == STATUS_KEY_STATIC) {
                    if (!animChanged) {
                        part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_STATIC);
                        animChanged = TRUE;
                    }

                    do {} while (0); // required to match
                }
                if (!animChanged) {
                    part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, 1);
                }

                if (isPartner) {
                    if (actor->koStatus == STATUS_KEY_DAZE) {
                        part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_DAZE);
                        animChanged = TRUE;
                    } else {
                        s32 temp = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL);
                        do {
                            if (temp == get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_DAZE)) {
                                part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL);
                            }
                        } while (0); // required to match
                    }
                }
                if (actor->debuff == STATUS_KEY_STOP) {
                    part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_STOP);
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_STOP);
                } else if (!animChanged) {
                    s32 temp = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL);
                    do {
                        if (temp == get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_STOP)) {
                            part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_NORMAL);
                        }
                    } while (0); // required to match
                }
            }
        }

        if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_8000000)) {
            do {
                if (actor->debuff == STATUS_KEY_POISON) {
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_POISON);
                } else if (actor->debuff == STATUS_KEY_DIZZY) {
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_DIZZY);
                } else if (actor->debuff == STATUS_KEY_SLEEP) {
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_SLEEP);
                } else if (actor->debuff == STATUS_KEY_PARALYZE) {
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_PARALYZE);
                } else if (actor->debuff == STATUS_KEY_SHRINK) {
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_SHRINK);
                } else if (actor->debuff == STATUS_KEY_FROZEN) {
                    create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_FROZEN);
                }
            } while (0); // required to match

            if (actor->staticStatus == STATUS_KEY_STATIC) {
                create_status_static(actor->hudElementDataIndex, STATUS_KEY_STATIC);
            }
            if ((actor->transparentStatus == STATUS_KEY_TRANSPARENT) || (part->flags & ACTOR_PART_FLAG_100)) {
                create_status_transparent(actor->hudElementDataIndex, STATUS_KEY_TRANSPARENT);
            }
            if (actor->chillOutAmount != 0) {
                create_status_chill_out(actor->hudElementDataIndex);
            }
        } else {
            enable_status_debuff(actor->hudElementDataIndex);
            enable_status_2(actor->hudElementDataIndex);
            enable_status_transparent(actor->hudElementDataIndex);
            enable_status_chill_out(actor->hudElementDataIndex);
        }
        if (part->spriteInstanceID >= 0) {
            if (lastAnim != part->currentAnimation) {
                spr_update_sprite(part->spriteInstanceID, part->currentAnimation, part->animationRate);
                part->animNotifyValue = spr_get_notify_value(part->spriteInstanceID);
            }
        }
        if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) {
            guTranslateF(mtxPivotOn,
                -part->rotationPivotOffset.x * actor->scalingFactor,
                -part->rotationPivotOffset.y * actor->scalingFactor,
                -part->rotationPivotOffset.z * actor->scalingFactor);
            guTranslateF(mtxPivotOff,
                part->rotationPivotOffset.x * actor->scalingFactor,
                part->rotationPivotOffset.y * actor->scalingFactor,
                part->rotationPivotOffset.z * actor->scalingFactor);
        } else {
            guTranslateF(mtxPivotOn,
                -part->rotationPivotOffset.x * actor->scalingFactor,
                 part->rotationPivotOffset.y * actor->scalingFactor,
                -part->rotationPivotOffset.z * actor->scalingFactor);
            guTranslateF(mtxPivotOff,
                 part->rotationPivotOffset.x * actor->scalingFactor,
                -part->rotationPivotOffset.y * actor->scalingFactor,
                 part->rotationPivotOffset.z * actor->scalingFactor);
        }
        guTranslateF(mtxTranslate,
            partPosX + part->palAnimPosOffset[0],
            partPosY + part->palAnimPosOffset[1],
            partPosZ);
        guRotateF(mtxRotX, part->rotation.x, 1.0f, 0.0f, 0.0f);
        guRotateF(mtxRotY, part->rotation.y, 0.0f, 1.0f, 0.0f);
        guRotateF(mtxRotZ, part->rotation.z, 0.0f, 0.0f, 1.0f);
        guMtxCatF(mtxRotY, mtxRotX, mtxTemp);
        guMtxCatF(mtxTemp, mtxRotZ, mtxRotation);
        guScaleF(mtxScale, part->scale.x, part->scale.y * part->verticalStretch, part->scale.z);
        guMtxCatF(mtxScale, mtxPivotOn, mtxTransform);
        guMtxCatF(mtxTransform, mtxRotation, mtxTemp);
        guMtxCatF(mtxTemp, mtxPivotOff, mtxTransform);

        if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) {
            guMtxCatF(mtxTransform, mtxActor, mtxTemp);
        } else {
            guMtxCatF(mtxTransform, mtxPartScale, mtxTemp);
        }
        guMtxCatF(mtxTemp, mtxTranslate, mtxTransform);

        part->currentPos.x = partPosX + part->palAnimPosOffset[0];
        part->currentPos.y = partPosY + part->palAnimPosOffset[1];
        part->currentPos.z = partPosZ;

        if (part->spriteInstanceID >= 0) {
            if (!isPartner) {
                func_8025C840(1, part, partYaw, 0);
                func_8025CCC8(1, part, partYaw, 0);
                render_with_adjusted_palettes(SPRITE_MODE_NPC, part, partYaw, mtxTransform, 0);
            } else {
                func_8025C840(1, part, clamp_angle(180.0f - partYaw), 0);
                func_8025CCC8(1, part, clamp_angle(180.0f - partYaw), 0);
                render_with_adjusted_palettes(SPRITE_MODE_NPC, part, clamp_angle(180.0f - partYaw), mtxTransform, 0);
            }

            _add_part_decoration(part);
        }

        part = part->nextPart;
    }
}