### RAW ASSEMBLY INSTRUCTIONS:

dlabel func_8024AEF8
/* 13E238 8024AEF8 27BDFE78 */  addiu     $sp, $sp, -0x188
/* 13E23C 8024AEFC 3C08DC08 */  lui       $t0, (0xDC080008 >> 16)
/* 13E240 8024AF00 35080008 */  ori       $t0, $t0, (0xDC080008 & 0xFFFF)
/* 13E244 8024AF04 27A40050 */  addiu     $a0, $sp, 0x50
/* 13E248 8024AF08 AFB30144 */  sw        $s3, 0x144($sp)
/* 13E24C 8024AF0C 3C130001 */  lui       $s3, (0x11630 >> 16)
/* 13E250 8024AF10 36731630 */  ori       $s3, $s3, (0x11630 & 0xFFFF)
/* 13E254 8024AF14 AFB1013C */  sw        $s1, 0x13C($sp)
/* 13E258 8024AF18 3C11800A */  lui       $s1, %hi(gMainGfxPos)
/* 13E25C 8024AF1C 2631A66C */  addiu     $s1, $s1, %lo(gMainGfxPos)
/* 13E260 8024AF20 AFBF015C */  sw        $ra, 0x15C($sp)
/* 13E264 8024AF24 AFBE0158 */  sw        $fp, 0x158($sp)
/* 13E268 8024AF28 AFB70154 */  sw        $s7, 0x154($sp)
/* 13E26C 8024AF2C AFB60150 */  sw        $s6, 0x150($sp)
/* 13E270 8024AF30 AFB5014C */  sw        $s5, 0x14C($sp)
/* 13E274 8024AF34 AFB40148 */  sw        $s4, 0x148($sp)
/* 13E278 8024AF38 AFB20140 */  sw        $s2, 0x140($sp)
/* 13E27C 8024AF3C AFB00138 */  sw        $s0, 0x138($sp)
/* 13E280 8024AF40 F7BC0180 */  sdc1      $f28, 0x180($sp)
/* 13E284 8024AF44 F7BA0178 */  sdc1      $f26, 0x178($sp)
/* 13E288 8024AF48 F7B80170 */  sdc1      $f24, 0x170($sp)
/* 13E28C 8024AF4C F7B60168 */  sdc1      $f22, 0x168($sp)
/* 13E290 8024AF50 F7B40160 */  sdc1      $f20, 0x160($sp)
/* 13E294 8024AF54 AFA5018C */  sw        $a1, 0x18C($sp)
/* 13E298 8024AF58 AFA60190 */  sw        $a2, 0x190($sp)
/* 13E29C 8024AF5C AFA70194 */  sw        $a3, 0x194($sp)
/* 13E2A0 8024AF60 8E220000 */  lw        $v0, 0x0($s1)
/* 13E2A4 8024AF64 3C0643A0 */  lui       $a2, (0x43A00000 >> 16)
/* 13E2A8 8024AF68 4480A000 */  mtc1      $zero, $f20
/* 13E2AC 8024AF6C 3C074370 */  lui       $a3, (0x43700000 >> 16)
/* 13E2B0 8024AF70 3C01C2C8 */  lui       $at, (0xC2C80000 >> 16)
/* 13E2B4 8024AF74 44810000 */  mtc1      $at, $f0
/* 13E2B8 8024AF78 3C0142C8 */  lui       $at, (0x42C80000 >> 16)
/* 13E2BC 8024AF7C 44811000 */  mtc1      $at, $f2
/* 13E2C0 8024AF80 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 13E2C4 8024AF84 44812000 */  mtc1      $at, $f4
/* 13E2C8 8024AF88 0040182D */  daddu     $v1, $v0, $zero
/* 13E2CC 8024AF8C 4405A000 */  mfc1      $a1, $f20
/* 13E2D0 8024AF90 24420008 */  addiu     $v0, $v0, 0x8
/* 13E2D4 8024AF94 AE220000 */  sw        $v0, 0x0($s1)
/* 13E2D8 8024AF98 3C028025 */  lui       $v0, %hi(D_8024F620)
/* 13E2DC 8024AF9C 2442F620 */  addiu     $v0, $v0, %lo(D_8024F620)
/* 13E2E0 8024AFA0 AC680000 */  sw        $t0, 0x0($v1)
/* 13E2E4 8024AFA4 AC620004 */  sw        $v0, 0x4($v1)
/* 13E2E8 8024AFA8 E7B40010 */  swc1      $f20, 0x10($sp)
/* 13E2EC 8024AFAC E7A00014 */  swc1      $f0, 0x14($sp)
/* 13E2F0 8024AFB0 E7A20018 */  swc1      $f2, 0x18($sp)
.L8024AFB4:
/* 13E2F4 8024AFB4 0C018E44 */  jal       guOrthoF
/* 13E2F8 8024AFB8 E7A4001C */   swc1     $f4, 0x1C($sp)
.L8024AFBC:
/* 13E2FC 8024AFBC 27A40050 */  addiu     $a0, $sp, 0x50
/* 13E300 8024AFC0 3C108007 */  lui       $s0, %hi(gMatrixListPos)
/* 13E304 8024AFC4 261041F0 */  addiu     $s0, $s0, %lo(gMatrixListPos)
/* 13E308 8024AFC8 3C12800A */  lui       $s2, %hi(gDisplayContext)
/* 13E30C 8024AFCC 2652A674 */  addiu     $s2, $s2, %lo(gDisplayContext)
/* 13E310 8024AFD0 96050000 */  lhu       $a1, 0x0($s0)
/* 13E314 8024AFD4 8E420000 */  lw        $v0, 0x0($s2)
/* 13E318 8024AFD8 00052980 */  sll       $a1, $a1, 6
/* 13E31C 8024AFDC 00B32821 */  addu      $a1, $a1, $s3
/* 13E320 8024AFE0 0C019D40 */  jal       guMtxF2L
glabel func_8024AFE4
/* 13E324 8024AFE4 00452821 */   addu     $a1, $v0, $a1
/* 13E328 8024AFE8 3C09DA38 */  lui       $t1, (0xDA380007 >> 16)
/* 13E32C 8024AFEC 35290007 */  ori       $t1, $t1, (0xDA380007 & 0xFFFF)
/* 13E330 8024AFF0 27A40050 */  addiu     $a0, $sp, 0x50
/* 13E334 8024AFF4 8E230000 */  lw        $v1, 0x0($s1)
/* 13E338 8024AFF8 4405A000 */  mfc1      $a1, $f20
/* 13E33C 8024AFFC 4406A000 */  mfc1      $a2, $f20
/* 13E340 8024B000 4407A000 */  mfc1      $a3, $f20
/* 13E344 8024B004 96020000 */  lhu       $v0, 0x0($s0)
/* 13E348 8024B008 0060402D */  daddu     $t0, $v1, $zero
/* 13E34C 8024B00C 24630008 */  addiu     $v1, $v1, 0x8
/* 13E350 8024B010 AE230000 */  sw        $v1, 0x0($s1)
/* 13E354 8024B014 24430001 */  addiu     $v1, $v0, 0x1
/* 13E358 8024B018 3042FFFF */  andi      $v0, $v0, 0xFFFF
/* 13E35C 8024B01C 00021180 */  sll       $v0, $v0, 6
/* 13E360 8024B020 AD090000 */  sw        $t1, 0x0($t0)
/* 13E364 8024B024 A6030000 */  sh        $v1, 0x0($s0)
/* 13E368 8024B028 8E430000 */  lw        $v1, 0x0($s2)
/* 13E36C 8024B02C 00531021 */  addu      $v0, $v0, $s3
/* 13E370 8024B030 00621821 */  addu      $v1, $v1, $v0
/* 13E374 8024B034 0C019E40 */  jal       guTranslateF
/* 13E378 8024B038 AD030004 */   sw       $v1, 0x4($t0)
/* 13E37C 8024B03C 27A40050 */  addiu     $a0, $sp, 0x50
/* 13E380 8024B040 96050000 */  lhu       $a1, 0x0($s0)
/* 13E384 8024B044 8E420000 */  lw        $v0, 0x0($s2)
/* 13E388 8024B048 00052980 */  sll       $a1, $a1, 6
.L8024B04C:
/* 13E38C 8024B04C 00B32821 */  addu      $a1, $a1, $s3
/* 13E390 8024B050 0C019D40 */  jal       guMtxF2L
/* 13E394 8024B054 00452821 */   addu     $a1, $v0, $a1
/* 13E398 8024B058 3C04DA38 */  lui       $a0, (0xDA380002 >> 16)
.L8024B05C:
/* 13E39C 8024B05C 34840002 */  ori       $a0, $a0, (0xDA380002 & 0xFFFF)
/* 13E3A0 8024B060 3C068027 */  lui       $a2, %hi(gPausePartnersNumPartners)
/* 13E3A4 8024B064 24C606B0 */  addiu     $a2, $a2, %lo(gPausePartnersNumPartners)
/* 13E3A8 8024B068 8E230000 */  lw        $v1, 0x0($s1)
/* 13E3AC 8024B06C 96020000 */  lhu       $v0, 0x0($s0)
/* 13E3B0 8024B070 0060282D */  daddu     $a1, $v1, $zero
/* 13E3B4 8024B074 24630008 */  addiu     $v1, $v1, 0x8
/* 13E3B8 8024B078 AE230000 */  sw        $v1, 0x0($s1)
/* 13E3BC 8024B07C 24430001 */  addiu     $v1, $v0, 0x1
/* 13E3C0 8024B080 3042FFFF */  andi      $v0, $v0, 0xFFFF
/* 13E3C4 8024B084 00021180 */  sll       $v0, $v0, 6
/* 13E3C8 8024B088 ACA40000 */  sw        $a0, 0x0($a1)
/* 13E3CC 8024B08C A6030000 */  sh        $v1, 0x0($s0)
/* 13E3D0 8024B090 8E430000 */  lw        $v1, 0x0($s2)
/* 13E3D4 8024B094 00531021 */  addu      $v0, $v0, $s3
/* 13E3D8 8024B098 00621821 */  addu      $v1, $v1, $v0
/* 13E3DC 8024B09C ACA30004 */  sw        $v1, 0x4($a1)
D_8024B0A0:
/* 13E3E0 8024B0A0 8CC20000 */  lw        $v0, 0x0($a2)
/* 13E3E4 8024B0A4 18400042 */  blez      $v0, .L8024B1B0
/* 13E3E8 8024B0A8 0000802D */   daddu    $s0, $zero, $zero
/* 13E3EC 8024B0AC 3C0141A0 */  lui       $at, (0x41A00000 >> 16)
/* 13E3F0 8024B0B0 4481B000 */  mtc1      $at, $f22
/* 13E3F4 8024B0B4 27B200D0 */  addiu     $s2, $sp, 0xD0
/* 13E3F8 8024B0B8 0200982D */  daddu     $s3, $s0, $zero
.L8024B0BC:
/* 13E3FC 8024B0BC 8CC20000 */  lw        $v0, 0x0($a2)
/* 13E400 8024B0C0 14400002 */  bnez      $v0, .L8024B0CC
/* 13E404 8024B0C4 0262001A */   div      $zero, $s3, $v0
.L8024B0C8:
/* 13E408 8024B0C8 0007000D */  break     7
.L8024B0CC:
/* 13E40C 8024B0CC 2401FFFF */  addiu     $at, $zero, -0x1
/* 13E410 8024B0D0 14410004 */  bne       $v0, $at, .L8024B0E4
.L8024B0D4:
/* 13E414 8024B0D4 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 13E418 8024B0D8 16610002 */  bne       $s3, $at, .L8024B0E4
/* 13E41C 8024B0DC 00000000 */   nop
.L8024B0E0:
/* 13E420 8024B0E0 0006000D */  break     6
.L8024B0E4:
/* 13E424 8024B0E4 00001012 */  mflo      $v0
/* 13E428 8024B0E8 3C018027 */  lui       $at, %hi(gPausePartnersRotAngle)
/* 13E42C 8024B0EC C42006A8 */  lwc1      $f0, %lo(gPausePartnersRotAngle)($at)
/* 13E430 8024B0F0 44826000 */  mtc1      $v0, $f12
/* 13E434 8024B0F4 00000000 */  nop
/* 13E438 8024B0F8 46806320 */  cvt.s.w   $f12, $f12
/* 13E43C 8024B0FC 0C00A8D4 */  jal       cos_deg
/* 13E440 8024B100 46006301 */   sub.s    $f12, $f12, $f0
/* 13E444 8024B104 46160002 */  mul.s     $f0, $f0, $f22
/* 13E448 8024B108 00000000 */  nop
/* 13E44C 8024B10C 0000882D */  daddu     $s1, $zero, $zero
/* 13E450 8024B110 1A00000B */  blez      $s0, .L8024B140
D_8024B114:
/* 13E454 8024B114 46140080 */   add.s    $f2, $f0, $f20
/* 13E458 8024B118 0240182D */  daddu     $v1, $s2, $zero
.L8024B11C:
/* 13E45C 8024B11C C4600000 */  lwc1      $f0, 0x0($v1)
/* 13E460 8024B120 4600103C */  c.lt.s    $f2, $f0
/* 13E464 8024B124 00000000 */  nop
.L8024B128:
/* 13E468 8024B128 45010005 */  bc1t      .L8024B140
/* 13E46C 8024B12C 00000000 */   nop
/* 13E470 8024B130 26310001 */  addiu     $s1, $s1, 0x1
/* 13E474 8024B134 0230102A */  slt       $v0, $s1, $s0
/* 13E478 8024B138 1440FFF8 */  bnez      $v0, .L8024B11C
/* 13E47C 8024B13C 24630008 */   addiu    $v1, $v1, 0x8
.L8024B140:
/* 13E480 8024B140 3C028027 */  lui       $v0, %hi(gPausePartnersNumPartners)
/* 13E484 8024B144 8C4206B0 */  lw        $v0, %lo(gPausePartnersNumPartners)($v0)
/* 13E488 8024B148 2444FFFF */  addiu     $a0, $v0, -0x1
/* 13E48C 8024B14C 0224102A */  slt       $v0, $s1, $a0
/* 13E490 8024B150 1040000C */  beqz      $v0, .L8024B184
/* 13E494 8024B154 000418C0 */   sll      $v1, $a0, 3
.L8024B158:
/* 13E498 8024B158 02431821 */  addu      $v1, $s2, $v1
/* 13E49C 8024B15C 2484FFFF */  addiu     $a0, $a0, -0x1
/* 13E4A0 8024B160 000410C0 */  sll       $v0, $a0, 3
/* 13E4A4 8024B164 02421021 */  addu      $v0, $s2, $v0
/* 13E4A8 8024B168 8C4C0000 */  lw        $t4, 0x0($v0)
/* 13E4AC 8024B16C 8C4D0004 */  lw        $t5, 0x4($v0)
/* 13E4B0 8024B170 AC6C0000 */  sw        $t4, 0x0($v1)
/* 13E4B4 8024B174 AC6D0004 */  sw        $t5, 0x4($v1)
/* 13E4B8 8024B178 0224102A */  slt       $v0, $s1, $a0
.L8024B17C:
/* 13E4BC 8024B17C 1440FFF6 */  bnez      $v0, .L8024B158
/* 13E4C0 8024B180 000418C0 */   sll      $v1, $a0, 3
.L8024B184:
/* 13E4C4 8024B184 3C068027 */  lui       $a2, %hi(gPausePartnersNumPartners)
/* 13E4C8 8024B188 24C606B0 */  addiu     $a2, $a2, %lo(gPausePartnersNumPartners)
D_8024B18C:
/* 13E4CC 8024B18C 001110C0 */  sll       $v0, $s1, 3
/* 13E4D0 8024B190 02421021 */  addu      $v0, $s2, $v0
D_8024B194:
/* 13E4D4 8024B194 AC500004 */  sw        $s0, 0x4($v0)
/* 13E4D8 8024B198 E4420000 */  swc1      $f2, 0x0($v0)
/* 13E4DC 8024B19C 8CC20000 */  lw        $v0, 0x0($a2)
/* 13E4E0 8024B1A0 26100001 */  addiu     $s0, $s0, 0x1
/* 13E4E4 8024B1A4 0202102A */  slt       $v0, $s0, $v0
/* 13E4E8 8024B1A8 1440FFC4 */  bnez      $v0, .L8024B0BC
/* 13E4EC 8024B1AC 26730168 */   addiu    $s3, $s3, 0x168
.L8024B1B0:
/* 13E4F0 8024B1B0 3C048027 */  lui       $a0, %hi(gPausePartnersNumPartners)
/* 13E4F4 8024B1B4 248406B0 */  addiu     $a0, $a0, %lo(gPausePartnersNumPartners)
/* 13E4F8 8024B1B8 8C820000 */  lw        $v0, 0x0($a0)
/* 13E4FC 8024B1BC 184000A8 */  blez      $v0, .L8024B460
/* 13E500 8024B1C0 0000882D */   daddu    $s1, $zero, $zero
/* 13E504 8024B1C4 27B20090 */  addiu     $s2, $sp, 0x90
/* 13E508 8024B1C8 3C138027 */  lui       $s3, %hi(gPausePartnersSpriteIDs)
/* 13E50C 8024B1CC 26730660 */  addiu     $s3, $s3, %lo(gPausePartnersSpriteIDs)
.L8024B1D0:
/* 13E510 8024B1D0 4480D000 */  mtc1      $zero, $f26
/* 13E514 8024B1D4 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 13E518 8024B1D8 4481E000 */  mtc1      $at, $f28
/* 13E51C 8024B1DC 001118C0 */  sll       $v1, $s1, 3
.L8024B1E0:
/* 13E520 8024B1E0 27A200D0 */  addiu     $v0, $sp, 0xD0
/* 13E524 8024B1E4 00431021 */  addu      $v0, $v0, $v1
/* 13E528 8024B1E8 8C500004 */  lw        $s0, 0x4($v0)
/* 13E52C 8024B1EC 8C840000 */  lw        $a0, 0x0($a0)
/* 13E530 8024B1F0 00101840 */  sll       $v1, $s0, 1
/* 13E534 8024B1F4 00701821 */  addu      $v1, $v1, $s0
/* 13E538 8024B1F8 00031100 */  sll       $v0, $v1, 4
/* 13E53C 8024B1FC 00431023 */  subu      $v0, $v0, $v1
D_8024B200:
/* 13E540 8024B200 000210C0 */  sll       $v0, $v0, 3
/* 13E544 8024B204 14800002 */  bnez      $a0, .L8024B210
/* 13E548 8024B208 0044001A */   div      $zero, $v0, $a0
D_8024B20C:
/* 13E54C 8024B20C 0007000D */  break     7
.L8024B210:
/* 13E550 8024B210 2401FFFF */  addiu     $at, $zero, -0x1
/* 13E554 8024B214 14810004 */  bne       $a0, $at, .L8024B228
/* 13E558 8024B218 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 13E55C 8024B21C 14410002 */  bne       $v0, $at, .L8024B228
/* 13E560 8024B220 00000000 */   nop
/* 13E564 8024B224 0006000D */  break     6
.L8024B228:
/* 13E568 8024B228 00001012 */  mflo      $v0
/* 13E56C 8024B22C 3C018027 */  lui       $at, %hi(gPausePartnersRotAngle)
/* 13E570 8024B230 C42006A8 */  lwc1      $f0, %lo(gPausePartnersRotAngle)($at)
/* 13E574 8024B234 4482A000 */  mtc1      $v0, $f20
/* 13E578 8024B238 00000000 */  nop
/* 13E57C 8024B23C 4680A520 */  cvt.s.w   $f20, $f20
/* 13E580 8024B240 00041040 */  sll       $v0, $a0, 1
/* 13E584 8024B244 00441021 */  addu      $v0, $v0, $a0
/* 13E588 8024B248 4600A501 */  sub.s     $f20, $f20, $f0
/* 13E58C 8024B24C 24420011 */  addiu     $v0, $v0, 0x11
/* 13E590 8024B250 4482B000 */  mtc1      $v0, $f22
.L8024B254:
/* 13E594 8024B254 00000000 */  nop
D_8024B258:
/* 13E598 8024B258 4680B5A0 */  cvt.s.w   $f22, $f22
/* 13E59C 8024B25C 0C00A8BB */  jal       sin_deg
/* 13E5A0 8024B260 4600A306 */   mov.s    $f12, $f20
/* 13E5A4 8024B264 4600B582 */  mul.s     $f22, $f22, $f0
/* 13E5A8 8024B268 00000000 */  nop
/* 13E5AC 8024B26C 3C014228 */  lui       $at, (0x42280000 >> 16)
/* 13E5B0 8024B270 44810000 */  mtc1      $at, $f0
/* 13E5B4 8024B274 4600A306 */  mov.s     $f12, $f20
/* 13E5B8 8024B278 0C00A8D4 */  jal       cos_deg
/* 13E5BC 8024B27C 4600B580 */   add.s    $f22, $f22, $f0
.L8024B280:
/* 13E5C0 8024B280 3C0141F0 */  lui       $at, (0x41F00000 >> 16)
D_8024B284:
/* 13E5C4 8024B284 44811000 */  mtc1      $at, $f2
/* 13E5C8 8024B288 00000000 */  nop
/* 13E5CC 8024B28C 46020002 */  mul.s     $f0, $f0, $f2
/* 13E5D0 8024B290 00000000 */  nop
/* 13E5D4 8024B294 4600A306 */  mov.s     $f12, $f20
/* 13E5D8 8024B298 0C00A8D4 */  jal       cos_deg
/* 13E5DC 8024B29C 46001601 */   sub.s    $f24, $f2, $f0
/* 13E5E0 8024B2A0 3C0141A0 */  lui       $at, (0x41A00000 >> 16)
/* 13E5E4 8024B2A4 44811000 */  mtc1      $at, $f2
/* 13E5E8 8024B2A8 00000000 */  nop
/* 13E5EC 8024B2AC 46020002 */  mul.s     $f0, $f0, $f2
D_8024B2B0:
/* 13E5F0 8024B2B0 00000000 */  nop
/* 13E5F4 8024B2B4 8FAC018C */  lw        $t4, 0x18C($sp)
/* 13E5F8 8024B2B8 25820016 */  addiu     $v0, $t4, 0x16
/* 13E5FC 8024B2BC 44821000 */  mtc1      $v0, $f2
/* 13E600 8024B2C0 00000000 */  nop
/* 13E604 8024B2C4 468010A0 */  cvt.s.w   $f2, $f2
/* 13E608 8024B2C8 46161080 */  add.s     $f2, $f2, $f22
/* 13E60C 8024B2CC 44051000 */  mfc1      $a1, $f2
/* 13E610 8024B2D0 3C014270 */  lui       $at, (0x42700000 >> 16)
/* 13E614 8024B2D4 44811000 */  mtc1      $at, $f2
/* 13E618 8024B2D8 27A40050 */  addiu     $a0, $sp, 0x50
.L8024B2DC:
/* 13E61C 8024B2DC 4602C080 */  add.s     $f2, $f24, $f2
/* 13E620 8024B2E0 8FAD0190 */  lw        $t5, 0x190($sp)
/* 13E624 8024B2E4 3C01403E */  lui       $at, (0x403E0000 >> 16)
/* 13E628 8024B2E8 4481A800 */  mtc1      $at, $f21
/* 13E62C 8024B2EC 4480A000 */  mtc1      $zero, $f20
/* 13E630 8024B2F0 461A0000 */  add.s     $f0, $f0, $f26
/* 13E634 8024B2F4 25A20051 */  addiu     $v0, $t5, 0x51
/* 13E638 8024B2F8 44822000 */  mtc1      $v0, $f4
/* 13E63C 8024B2FC 00000000 */  nop
/* 13E640 8024B300 46802120 */  cvt.s.w   $f4, $f4
/* 13E644 8024B304 4600C287 */  neg.s     $f10, $f24
D_8024B308:
/* 13E648 8024B308 460010A1 */  cvt.d.s   $f2, $f2
/* 13E64C 8024B30C 46002100 */  add.s     $f4, $f4, $f0
/* 13E650 8024B310 3C013FE0 */  lui       $at, (0x3FE00000 >> 16)
/* 13E654 8024B314 44810800 */  mtc1      $at, $f1
/* 13E658 8024B318 44800000 */  mtc1      $zero, $f0
/* 13E65C 8024B31C 4622A503 */  div.d     $f20, $f20, $f2
/* 13E660 8024B320 4620A500 */  add.d     $f20, $f20, $f0
/* 13E664 8024B324 44075000 */  mfc1      $a3, $f10
.L8024B328:
/* 13E668 8024B328 44062000 */  mfc1      $a2, $f4
/* 13E66C 8024B32C 0C019E40 */  jal       guTranslateF
/* 13E670 8024B330 4620A520 */   cvt.s.d  $f20, $f20
D_8024B334:
/* 13E674 8024B334 3C054334 */  lui       $a1, (0x43340000 >> 16)
/* 13E678 8024B338 4406D000 */  mfc1      $a2, $f26
/* 13E67C 8024B33C 4407D000 */  mfc1      $a3, $f26
/* 13E680 8024B340 0240202D */  daddu     $a0, $s2, $zero
/* 13E684 8024B344 0C019EC8 */  jal       guRotateF
/* 13E688 8024B348 E7BC0010 */   swc1     $f28, 0x10($sp)
/* 13E68C 8024B34C 0240202D */  daddu     $a0, $s2, $zero
/* 13E690 8024B350 27A50050 */  addiu     $a1, $sp, 0x50
/* 13E694 8024B354 0C019D80 */  jal       guMtxCatF
/* 13E698 8024B358 00A0302D */   daddu    $a2, $a1, $zero
/* 13E69C 8024B35C 0240202D */  daddu     $a0, $s2, $zero
D_8024B360:
/* 13E6A0 8024B360 4405A000 */  mfc1      $a1, $f20
/* 13E6A4 8024B364 4407E000 */  mfc1      $a3, $f28
/* 13E6A8 8024B368 0C019DF0 */  jal       guScaleF
/* 13E6AC 8024B36C 00A0302D */   daddu    $a2, $a1, $zero
/* 13E6B0 8024B370 0240202D */  daddu     $a0, $s2, $zero
/* 13E6B4 8024B374 27A50050 */  addiu     $a1, $sp, 0x50
/* 13E6B8 8024B378 0C019D80 */  jal       guMtxCatF
/* 13E6BC 8024B37C 00A0302D */   daddu    $a2, $a1, $zero
/* 13E6C0 8024B380 3C014100 */  lui       $at, (0x41000000 >> 16)
/* 13E6C4 8024B384 44810000 */  mtc1      $at, $f0
D_8024B388:
/* 13E6C8 8024B388 00000000 */  nop
D_8024B38C:
/* 13E6CC 8024B38C 4618003C */  c.lt.s    $f0, $f24
/* 13E6D0 8024B390 00000000 */  nop
/* 13E6D4 8024B394 45010011 */  bc1t      .L8024B3DC
D_8024B398:
/* 13E6D8 8024B398 240600A0 */   addiu    $a2, $zero, 0xA0
/* 13E6DC 8024B39C 3C0142BE */  lui       $at, (0x42BE0000 >> 16)
/* 13E6E0 8024B3A0 44811000 */  mtc1      $at, $f2
/* 13E6E4 8024B3A4 00000000 */  nop
/* 13E6E8 8024B3A8 4602C082 */  mul.s     $f2, $f24, $f2
/* 13E6EC 8024B3AC 00000000 */  nop
/* 13E6F0 8024B3B0 3C013E00 */  lui       $at, (0x3E000000 >> 16)
/* 13E6F4 8024B3B4 44810000 */  mtc1      $at, $f0
D_8024B3B8:
/* 13E6F8 8024B3B8 00000000 */  nop
/* 13E6FC 8024B3BC 46001082 */  mul.s     $f2, $f2, $f0
/* 13E700 8024B3C0 00000000 */  nop
/* 13E704 8024B3C4 3C01437F */  lui       $at, (0x437F0000 >> 16)
/* 13E708 8024B3C8 44810000 */  mtc1      $at, $f0
/* 13E70C 8024B3CC 00000000 */  nop
.L8024B3D0:
/* 13E710 8024B3D0 46020001 */  sub.s     $f0, $f0, $f2
/* 13E714 8024B3D4 4600028D */  trunc.w.s $f10, $f0
/* 13E718 8024B3D8 44065000 */  mfc1      $a2, $f10
.L8024B3DC:
/* 13E71C 8024B3DC 24050006 */  addiu     $a1, $zero, 0x6
/* 13E720 8024B3E0 3C028027 */  lui       $v0, %hi(gPausePartnersPartnerIdx)
D_8024B3E4:
/* 13E724 8024B3E4 24420680 */  addiu     $v0, $v0, %lo(gPausePartnersPartnerIdx)
/* 13E728 8024B3E8 00108080 */  sll       $s0, $s0, 2
/* 13E72C 8024B3EC 02028021 */  addu      $s0, $s0, $v0
/* 13E730 8024B3F0 8E030000 */  lw        $v1, 0x0($s0)
/* 13E734 8024B3F4 240200FF */  addiu     $v0, $zero, 0xFF
/* 13E738 8024B3F8 AFA20014 */  sw        $v0, 0x14($sp)
.L8024B3FC:
/* 13E73C 8024B3FC 24020040 */  addiu     $v0, $zero, 0x40
D_8024B400:
/* 13E740 8024B400 AFA60010 */  sw        $a2, 0x10($sp)
/* 13E744 8024B404 AFA20018 */  sw        $v0, 0x18($sp)
/* 13E748 8024B408 00031880 */  sll       $v1, $v1, 2
/* 13E74C 8024B40C 00731821 */  addu      $v1, $v1, $s3
D_8024B410:
/* 13E750 8024B410 8C640000 */  lw        $a0, 0x0($v1)
/* 13E754 8024B414 0C0B7A25 */  jal       set_npc_imgfx_all
/* 13E758 8024B418 00C0382D */   daddu    $a3, $a2, $zero
/* 13E75C 8024B41C 0000282D */  daddu     $a1, $zero, $zero
/* 13E760 8024B420 00A0302D */  daddu     $a2, $a1, $zero
/* 13E764 8024B424 8E030000 */  lw        $v1, 0x0($s0)
/* 13E768 8024B428 27A20050 */  addiu     $v0, $sp, 0x50
/* 13E76C 8024B42C AFA20010 */  sw        $v0, 0x10($sp)
/* 13E770 8024B430 00031880 */  sll       $v1, $v1, 2
/* 13E774 8024B434 00731821 */  addu      $v1, $v1, $s3
/* 13E778 8024B438 8C640000 */  lw        $a0, 0x0($v1)
D_8024B43C:
/* 13E77C 8024B43C 0C0B78F6 */  jal       spr_draw_npc_sprite
/* 13E780 8024B440 00A0382D */   daddu    $a3, $a1, $zero
/* 13E784 8024B444 3C048027 */  lui       $a0, %hi(gPausePartnersNumPartners)
/* 13E788 8024B448 248406B0 */  addiu     $a0, $a0, %lo(gPausePartnersNumPartners)
/* 13E78C 8024B44C 8C820000 */  lw        $v0, 0x0($a0)
/* 13E790 8024B450 26310001 */  addiu     $s1, $s1, 0x1
/* 13E794 8024B454 0222102A */  slt       $v0, $s1, $v0
/* 13E798 8024B458 1440FF61 */  bnez      $v0, .L8024B1E0
/* 13E79C 8024B45C 001118C0 */   sll      $v1, $s1, 3
.L8024B460:
/* 13E7A0 8024B460 3C05D838 */  lui       $a1, (0xD8380002 >> 16)
D_8024B464:
/* 13E7A4 8024B464 3C03800A */  lui       $v1, %hi(gMainGfxPos)
D_8024B468:
/* 13E7A8 8024B468 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* 13E7AC 8024B46C 34A50002 */  ori       $a1, $a1, (0xD8380002 & 0xFFFF)
/* 13E7B0 8024B470 8C620000 */  lw        $v0, 0x0($v1)
/* 13E7B4 8024B474 3C128027 */  lui       $s2, %hi(gPauseMenuCurrentTab)
/* 13E7B8 8024B478 265200D4 */  addiu     $s2, $s2, %lo(gPauseMenuCurrentTab)
D_8024B47C:
/* 13E7BC 8024B47C 0040202D */  daddu     $a0, $v0, $zero
/* 13E7C0 8024B480 24420008 */  addiu     $v0, $v0, 0x8
/* 13E7C4 8024B484 AC620000 */  sw        $v0, 0x0($v1)
/* 13E7C8 8024B488 24020040 */  addiu     $v0, $zero, 0x40
/* 13E7CC 8024B48C AC850000 */  sw        $a1, 0x0($a0)
/* 13E7D0 8024B490 AC820004 */  sw        $v0, 0x4($a0)
D_8024B494:
/* 13E7D4 8024B494 82500000 */  lb        $s0, 0x0($s2)
/* 13E7D8 8024B498 24020004 */  addiu     $v0, $zero, 0x4
/* 13E7DC 8024B49C 16020014 */  bne       $s0, $v0, .L8024B4F0
D_8024B4A0:
/* 13E7E0 8024B4A0 00000000 */   nop
/* 13E7E4 8024B4A4 3C118027 */  lui       $s1, %hi(gPausePartnersLevel)
/* 13E7E8 8024B4A8 263106AC */  addiu     $s1, $s1, %lo(gPausePartnersLevel)
/* 13E7EC 8024B4AC 8E220000 */  lw        $v0, 0x0($s1)
/* 13E7F0 8024B4B0 14400006 */  bnez      $v0, .L8024B4CC
/* 13E7F4 8024B4B4 24040022 */   addiu    $a0, $zero, 0x22
/* 13E7F8 8024B4B8 8FAD018C */  lw        $t5, 0x18C($sp)
/* 13E7FC 8024B4BC 8FAF0190 */  lw        $t7, 0x190($sp)
D_8024B4C0:
/* 13E800 8024B4C0 25A5002A */  addiu     $a1, $t5, 0x2A
/* 13E804 8024B4C4 0C090B41 */  jal       func_80242D04
/* 13E808 8024B4C8 25E60058 */   addiu    $a2, $t7, 0x58
.L8024B4CC:
/* 13E80C 8024B4CC 82420000 */  lb        $v0, 0x0($s2)
/* 13E810 8024B4D0 14500007 */  bne       $v0, $s0, .L8024B4F0
/* 13E814 8024B4D4 00000000 */   nop
/* 13E818 8024B4D8 8E220000 */  lw        $v0, 0x0($s1)
/* 13E81C 8024B4DC 14400004 */  bnez      $v0, .L8024B4F0
/* 13E820 8024B4E0 24040008 */   addiu    $a0, $zero, 0x8
/* 13E824 8024B4E4 24050012 */  addiu     $a1, $zero, 0x12
/* 13E828 8024B4E8 0C093BA5 */  jal       func_8024EE94
D_8024B4EC:
/* 13E82C 8024B4EC 2406009E */   addiu    $a2, $zero, 0x9E
.L8024B4F0:
/* 13E830 8024B4F0 8FB8018C */  lw        $t8, 0x18C($sp)
/* 13E834 8024B4F4 8FAC0190 */  lw        $t4, 0x190($sp)
/* 13E838 8024B4F8 27050082 */  addiu     $a1, $t8, 0x82
D_8024B4FC:
/* 13E83C 8024B4FC 25890018 */  addiu     $t1, $t4, 0x18
/* 13E840 8024B500 270A0118 */  addiu     $t2, $t8, 0x118
/* 13E844 8024B504 1CA00002 */  bgtz      $a1, .L8024B510
/* 13E848 8024B508 258B0081 */   addiu    $t3, $t4, 0x81
/* 13E84C 8024B50C 24050001 */  addiu     $a1, $zero, 0x1
.L8024B510:
/* 13E850 8024B510 59200001 */  blezl     $t1, .L8024B518
/* 13E854 8024B514 24090001 */   addiu    $t1, $zero, 0x1
.L8024B518:
/* 13E858 8024B518 19400193 */  blez      $t2, .L8024BB68
/* 13E85C 8024B51C 00000000 */   nop
/* 13E860 8024B520 19600191 */  blez      $t3, .L8024BB68
/* 13E864 8024B524 28A2013F */   slti     $v0, $a1, 0x13F
/* 13E868 8024B528 1040018F */  beqz      $v0, .L8024BB68
/* 13E86C 8024B52C 292200EF */   slti     $v0, $t1, 0xEF
D_8024B530:
/* 13E870 8024B530 1040018D */  beqz      $v0, .L8024BB68
/* 13E874 8024B534 2942013F */   slti     $v0, $t2, 0x13F
/* 13E878 8024B538 50400001 */  beql      $v0, $zero, .L8024B540
/* 13E87C 8024B53C 240A013F */   addiu    $t2, $zero, 0x13F
.L8024B540:
/* 13E880 8024B540 296200EF */  slti      $v0, $t3, 0xEF
/* 13E884 8024B544 50400001 */  beql      $v0, $zero, .L8024B54C
/* 13E888 8024B548 240B00EF */   addiu    $t3, $zero, 0xEF
.L8024B54C:
/* 13E88C 8024B54C 3C018027 */  lui       $at, %hi(gPausePartnersRotAngle)
D_8024B550:
/* 13E890 8024B550 C42006A8 */  lwc1      $f0, %lo(gPausePartnersRotAngle)($at)
/* 13E894 8024B554 3C0143B4 */  lui       $at, (0x43B40000 >> 16)
/* 13E898 8024B558 44812000 */  mtc1      $at, $f4
/* 13E89C 8024B55C 00000000 */  nop
/* 13E8A0 8024B560 46040000 */  add.s     $f0, $f0, $f4
/* 13E8A4 8024B564 3C01466A */  lui       $at, (0x466A6000 >> 16)
/* 13E8A8 8024B568 34216000 */  ori       $at, $at, (0x466A6000 & 0xFFFF)
/* 13E8AC 8024B56C 44811000 */  mtc1      $at, $f2
/* 13E8B0 8024B570 00000000 */  nop
/* 13E8B4 8024B574 46020002 */  mul.s     $f0, $f0, $f2
/* 13E8B8 8024B578 00000000 */  nop
/* 13E8BC 8024B57C 3C038027 */  lui       $v1, %hi(gPausePartnersNumPartners)
/* 13E8C0 8024B580 8C6306B0 */  lw        $v1, %lo(gPausePartnersNumPartners)($v1)
/* 13E8C4 8024B584 44831000 */  mtc1      $v1, $f2
/* 13E8C8 8024B588 00000000 */  nop
/* 13E8CC 8024B58C 468010A0 */  cvt.s.w   $f2, $f2
D_8024B590:
/* 13E8D0 8024B590 46020002 */  mul.s     $f0, $f0, $f2
/* 13E8D4 8024B594 00000000 */  nop
/* 13E8D8 8024B598 3C0245E7 */  lui       $v0, (0x45E7B273 >> 16)
/* 13E8DC 8024B59C 3442B273 */  ori       $v0, $v0, (0x45E7B273 & 0xFFFF)
D_8024B5A0:
/* 13E8E0 8024B5A0 46040003 */  div.s     $f0, $f0, $f4
/* 13E8E4 8024B5A4 4600028D */  trunc.w.s $f10, $f0
/* 13E8E8 8024B5A8 44075000 */  mfc1      $a3, $f10
/* 13E8EC 8024B5AC 00000000 */  nop
D_8024B5B0:
/* 13E8F0 8024B5B0 00E20018 */  mult      $a3, $v0
D_8024B5B4:
/* 13E8F4 8024B5B4 000717C3 */  sra       $v0, $a3, 31
/* 13E8F8 8024B5B8 00004010 */  mfhi      $t0
/* 13E8FC 8024B5BC 00083303 */  sra       $a2, $t0, 12
/* 13E900 8024B5C0 00C23023 */  subu      $a2, $a2, $v0
/* 13E904 8024B5C4 14600002 */  bnez      $v1, .L8024B5D0
/* 13E908 8024B5C8 00C3001A */   div      $zero, $a2, $v1
.L8024B5CC:
/* 13E90C 8024B5CC 0007000D */  break     7
.L8024B5D0:
/* 13E910 8024B5D0 2401FFFF */  addiu     $at, $zero, -0x1
.L8024B5D4:
/* 13E914 8024B5D4 14610004 */  bne       $v1, $at, .L8024B5E8
/* 13E918 8024B5D8 3C018000 */   lui      $at, (0x80000000 >> 16)
/* 13E91C 8024B5DC 14C10002 */  bne       $a2, $at, .L8024B5E8
/* 13E920 8024B5E0 00000000 */   nop
D_8024B5E4:
/* 13E924 8024B5E4 0006000D */  break     6
.L8024B5E8:
/* 13E928 8024B5E8 00002010 */  mfhi      $a0
/* 13E92C 8024B5EC 3C014080 */  lui       $at, (0x40800000 >> 16)
/* 13E930 8024B5F0 44814000 */  mtc1      $at, $f8
/* 13E934 8024B5F4 448B3000 */  mtc1      $t3, $f6
/* 13E938 8024B5F8 00000000 */  nop
glabel func_8024B5FC
/* 13E93C 8024B5FC 468031A0 */  cvt.s.w   $f6, $f6
D_8024B600:
/* 13E940 8024B600 46083182 */  mul.s     $f6, $f6, $f8
/* 13E944 8024B604 00000000 */  nop
/* 13E948 8024B608 3C19E700 */  lui       $t9, (0xE7000000 >> 16)
/* 13E94C 8024B60C 3C1E8025 */  lui       $fp, %hi(D_8024F73C)
/* 13E950 8024B610 27DEF73C */  addiu     $fp, $fp, %lo(D_8024F73C)
D_8024B614:
/* 13E954 8024B614 44851000 */  mtc1      $a1, $f2
/* 13E958 8024B618 00000000 */  nop
/* 13E95C 8024B61C 468010A0 */  cvt.s.w   $f2, $f2
/* 13E960 8024B620 3C05ED00 */  lui       $a1, (0xED000000 >> 16)
/* 13E964 8024B624 46081082 */  mul.s     $f2, $f2, $f8
/* 13E968 8024B628 00000000 */  nop
/* 13E96C 8024B62C 3C0CF548 */  lui       $t4, (0xF5482600 >> 16)
/* 13E970 8024B630 358C2600 */  ori       $t4, $t4, (0xF5482600 & 0xFFFF)
/* 13E974 8024B634 44890000 */  mtc1      $t1, $f0
/* 13E978 8024B638 00000000 */  nop
/* 13E97C 8024B63C 46800020 */  cvt.s.w   $f0, $f0
/* 13E980 8024B640 448A2000 */  mtc1      $t2, $f4
/* 13E984 8024B644 00000000 */  nop
/* 13E988 8024B648 46802120 */  cvt.s.w   $f4, $f4
/* 13E98C 8024B64C 46080002 */  mul.s     $f0, $f0, $f8
/* 13E990 8024B650 00000000 */  nop
/* 13E994 8024B654 AFAC0110 */  sw        $t4, 0x110($sp)
/* 13E998 8024B658 3C02800A */  lui       $v0, %hi(gMainGfxPos)
/* 13E99C 8024B65C 2442A66C */  addiu     $v0, $v0, %lo(gMainGfxPos)
/* 13E9A0 8024B660 0040882D */  daddu     $s1, $v0, $zero
D_8024B664:
/* 13E9A4 8024B664 8E220000 */  lw        $v0, 0x0($s1)
/* 13E9A8 8024B668 46082102 */  mul.s     $f4, $f4, $f8
/* 13E9AC 8024B66C 00000000 */  nop
/* 13E9B0 8024B670 AFA00114 */  sw        $zero, 0x114($sp)
/* 13E9B4 8024B674 0040402D */  daddu     $t0, $v0, $zero
/* 13E9B8 8024B678 24420008 */  addiu     $v0, $v0, 0x8
/* 13E9BC 8024B67C AE220000 */  sw        $v0, 0x0($s1)
/* 13E9C0 8024B680 4600128D */  trunc.w.s $f10, $f2
/* 13E9C4 8024B684 44025000 */  mfc1      $v0, $f10
/* 13E9C8 8024B688 00000000 */  nop
/* 13E9CC 8024B68C 30420FFF */  andi      $v0, $v0, 0xFFF
/* 13E9D0 8024B690 00021300 */  sll       $v0, $v0, 12
/* 13E9D4 8024B694 4600028D */  trunc.w.s $f10, $f0
/* 13E9D8 8024B698 44035000 */  mfc1      $v1, $f10
.L8024B69C:
/* 13E9DC 8024B69C 00000000 */  nop
/* 13E9E0 8024B6A0 30630FFF */  andi      $v1, $v1, 0xFFF
/* 13E9E4 8024B6A4 00651825 */  or        $v1, $v1, $a1
/* 13E9E8 8024B6A8 00431025 */  or        $v0, $v0, $v1
/* 13E9EC 8024B6AC AD020000 */  sw        $v0, 0x0($t0)
D_8024B6B0:
/* 13E9F0 8024B6B0 00061140 */  sll       $v0, $a2, 5
D_8024B6B4:
/* 13E9F4 8024B6B4 00461023 */  subu      $v0, $v0, $a2
/* 13E9F8 8024B6B8 00021080 */  sll       $v0, $v0, 2
/* 13E9FC 8024B6BC 00461021 */  addu      $v0, $v0, $a2
/* 13EA00 8024B6C0 00021900 */  sll       $v1, $v0, 4
/* 13EA04 8024B6C4 00621823 */  subu      $v1, $v1, $v0
/* 13EA08 8024B6C8 000318C0 */  sll       $v1, $v1, 3
/* 13EA0C 8024B6CC 0067B823 */  subu      $s7, $v1, $a3
D_8024B6D0:
/* 13EA10 8024B6D0 44971000 */  mtc1      $s7, $f2
/* 13EA14 8024B6D4 00000000 */  nop
/* 13EA18 8024B6D8 468010A1 */  cvt.d.w   $f2, $f2
/* 13EA1C 8024B6DC 3C018027 */  lui       $at, %hi(D_80270040)
/* 13EA20 8024B6E0 D4200040 */  ldc1      $f0, %lo(D_80270040)($at)
/* 13EA24 8024B6E4 4600228D */  trunc.w.s $f10, $f4
.L8024B6E8:
/* 13EA28 8024B6E8 44025000 */  mfc1      $v0, $f10
/* 13EA2C 8024B6EC 46201082 */  mul.d     $f2, $f2, $f0
dgb_01_img7_gfx:
/* 13EA30 8024B6F0 00000000 */  nop
/* 13EA34 8024B6F4 30420FFF */  andi      $v0, $v0, 0xFFF
/* 13EA38 8024B6F8 00021300 */  sll       $v0, $v0, 12
/* 13EA3C 8024B6FC 4600328D */  trunc.w.s $f10, $f6
/* 13EA40 8024B700 44035000 */  mfc1      $v1, $f10
/* 13EA44 8024B704 00000000 */  nop
D_8024B708:
/* 13EA48 8024B708 30630FFF */  andi      $v1, $v1, 0xFFF
/* 13EA4C 8024B70C 00431025 */  or        $v0, $v0, $v1
/* 13EA50 8024B710 AD020004 */  sw        $v0, 0x4($t0)
/* 13EA54 8024B714 4620128D */  trunc.w.d $f10, $f2
/* 13EA58 8024B718 44175000 */  mfc1      $s7, $f10
/* 13EA5C 8024B71C 0C092B78 */  jal       func_8024ADE0
/* 13EA60 8024B720 AFB90120 */   sw       $t9, 0x120($sp)
/* 13EA64 8024B724 8FB90120 */  lw        $t9, 0x120($sp)
.L8024B728:
/* 13EA68 8024B728 3C05F500 */  lui       $a1, (0xF5000100 >> 16)
/* 13EA6C 8024B72C 34A50100 */  ori       $a1, $a1, (0xF5000100 & 0xFFFF)
D_8024B730:
/* 13EA70 8024B730 3C06073F */  lui       $a2, (0x73FC000 >> 16)
/* 13EA74 8024B734 34C6C000 */  ori       $a2, $a2, (0x73FC000 & 0xFFFF)
D_8024B738:
/* 13EA78 8024B738 0000802D */  daddu     $s0, $zero, $zero
D_8024B73C:
/* 13EA7C 8024B73C 26E20082 */  addiu     $v0, $s7, 0x82
D_8024B740:
/* 13EA80 8024B740 2413000C */  addiu     $s3, $zero, 0xC
/* 13EA84 8024B744 0200B02D */  daddu     $s6, $s0, $zero
D_8024B748:
/* 13EA88 8024B748 24150018 */  addiu     $s5, $zero, 0x18
D_8024B74C:
/* 13EA8C 8024B74C 8FAD018C */  lw        $t5, 0x18C($sp)
/* 13EA90 8024B750 0200A02D */  daddu     $s4, $s0, $zero
/* 13EA94 8024B754 01A21021 */  addu      $v0, $t5, $v0
/* 13EA98 8024B758 AFA20128 */  sw        $v0, 0x128($sp)
/* 13EA9C 8024B75C 26E20118 */  addiu     $v0, $s7, 0x118
D_8024B760:
/* 13EAA0 8024B760 01A21021 */  addu      $v0, $t5, $v0
/* 13EAA4 8024B764 AFA20124 */  sw        $v0, 0x124($sp)
/* 13EAA8 8024B768 8E230000 */  lw        $v1, 0x0($s1)
/* 13EAAC 8024B76C 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
D_8024B770_C08FF0:
/* 13EAB0 8024B770 0060202D */  daddu     $a0, $v1, $zero
/* 13EAB4 8024B774 24630008 */  addiu     $v1, $v1, 0x8
/* 13EAB8 8024B778 AE230000 */  sw        $v1, 0x0($s1)
/* 13EABC 8024B77C AC820000 */  sw        $v0, 0x0($a0)
/* 13EAC0 8024B780 3C028025 */  lui       $v0, %hi(D_8024F750)
/* 13EAC4 8024B784 2442F750 */  addiu     $v0, $v0, %lo(D_8024F750)
/* 13EAC8 8024B788 AC820004 */  sw        $v0, 0x4($a0)
/* 13EACC 8024B78C 24620008 */  addiu     $v0, $v1, 0x8
.L8024B790:
/* 13EAD0 8024B790 AE220000 */  sw        $v0, 0x0($s1)
/* 13EAD4 8024B794 3C02FD10 */  lui       $v0, (0xFD100000 >> 16)
/* 13EAD8 8024B798 AC620000 */  sw        $v0, 0x0($v1)
/* 13EADC 8024B79C 24620010 */  addiu     $v0, $v1, 0x10
/* 13EAE0 8024B7A0 AE220000 */  sw        $v0, 0x0($s1)
/* 13EAE4 8024B7A4 8FAF0114 */  lw        $t7, 0x114($sp)
/* 13EAE8 8024B7A8 0200902D */  daddu     $s2, $s0, $zero
/* 13EAEC 8024B7AC 3C048025 */  lui       $a0, %hi(D_8024F744)
D_8024B7B0:
/* 13EAF0 8024B7B0 008F2021 */  addu      $a0, $a0, $t7
/* 13EAF4 8024B7B4 8C84F744 */  lw        $a0, %lo(D_8024F744)($a0)
/* 13EAF8 8024B7B8 3C02E800 */  lui       $v0, (0xE8000000 >> 16)
.L8024B7BC:
/* 13EAFC 8024B7BC AC620008 */  sw        $v0, 0x8($v1)
/* 13EB00 8024B7C0 00751021 */  addu      $v0, $v1, $s5
/* 13EB04 8024B7C4 AC60000C */  sw        $zero, 0xC($v1)
D_8024B7C8:
/* 13EB08 8024B7C8 AE220000 */  sw        $v0, 0x0($s1)
D_8024B7CC:
/* 13EB0C 8024B7CC 3C020700 */  lui       $v0, (0x7000000 >> 16)
D_8024B7D0:
/* 13EB10 8024B7D0 AC620014 */  sw        $v0, 0x14($v1)
D_8024B7D4:
/* 13EB14 8024B7D4 24620020 */  addiu     $v0, $v1, 0x20
D_8024B7D8:
/* 13EB18 8024B7D8 3C18E600 */  lui       $t8, (0xE6000000 >> 16)
/* 13EB1C 8024B7DC AC650010 */  sw        $a1, 0x10($v1)
/* 13EB20 8024B7E0 AE220000 */  sw        $v0, 0x0($s1)
/* 13EB24 8024B7E4 24620028 */  addiu     $v0, $v1, 0x28
D_8024B7E8:
/* 13EB28 8024B7E8 AC780018 */  sw        $t8, 0x18($v1)
/* 13EB2C 8024B7EC AC60001C */  sw        $zero, 0x1C($v1)
D_8024B7F0:
/* 13EB30 8024B7F0 AE220000 */  sw        $v0, 0x0($s1)
/* 13EB34 8024B7F4 3C02F000 */  lui       $v0, (0xF0000000 >> 16)
/* 13EB38 8024B7F8 AC620020 */  sw        $v0, 0x20($v1)
/* 13EB3C 8024B7FC 24620030 */  addiu     $v0, $v1, 0x30
/* 13EB40 8024B800 AC660024 */  sw        $a2, 0x24($v1)
/* 13EB44 8024B804 AE220000 */  sw        $v0, 0x0($s1)
D_8024B808:
/* 13EB48 8024B808 AC790028 */  sw        $t9, 0x28($v1)
/* 13EB4C 8024B80C AC60002C */  sw        $zero, 0x2C($v1)
/* 13EB50 8024B810 AC640004 */  sw        $a0, 0x4($v1)
.L8024B814:
/* 13EB54 8024B814 2A62006A */  slti      $v0, $s3, 0x6A
/* 13EB58 8024B818 14400003 */  bnez      $v0, .L8024B828
D_8024B81C:
/* 13EB5C 8024B81C 240E000C */   addiu    $t6, $zero, 0xC
/* 13EB60 8024B820 2402006A */  addiu     $v0, $zero, 0x6A
/* 13EB64 8024B824 00527023 */  subu      $t6, $v0, $s2
.L8024B828:
/* 13EB68 8024B828 3C02FD48 */  lui       $v0, (0xFD480095 >> 16)
/* 13EB6C 8024B82C 34420095 */  ori       $v0, $v0, (0xFD480095 & 0xFFFF)
D_8024B830:
/* 13EB70 8024B830 3C0B0708 */  lui       $t3, (0x7080200 >> 16)
/* 13EB74 8024B834 356B0200 */  ori       $t3, $t3, (0x7080200 & 0xFFFF)
/* 13EB78 8024B838 3C0A0725 */  lui       $t2, (0x7254000 >> 16)
/* 13EB7C 8024B83C 354A4000 */  ori       $t2, $t2, (0x7254000 & 0xFFFF)
/* 13EB80 8024B840 3C0C0008 */  lui       $t4, (0x80200 >> 16)
D_8024B844:
/* 13EB84 8024B844 358C0200 */  ori       $t4, $t4, (0x80200 & 0xFFFF)
D_8024B848:
/* 13EB88 8024B848 8FAF0128 */  lw        $t7, 0x128($sp)
/* 13EB8C 8024B84C 8FB80190 */  lw        $t8, 0x190($sp)
D_8024B850:
/* 13EB90 8024B850 3C0D0025 */  lui       $t5, (0x254000 >> 16)
/* 13EB94 8024B854 AFAC012C */  sw        $t4, 0x12C($sp)
/* 13EB98 8024B858 8FAC0124 */  lw        $t4, 0x124($sp)
D_8024B85C:
/* 13EB9C 8024B85C 35AD4000 */  ori       $t5, $t5, (0x254000 & 0xFFFF)
/* 13EBA0 8024B860 AFAD0130 */  sw        $t5, 0x130($sp)
/* 13EBA4 8024B864 8E280000 */  lw        $t0, 0x0($s1)
D_8024B868:
/* 13EBA8 8024B868 000F2080 */  sll       $a0, $t7, 2
/* 13EBAC 8024B86C 03153821 */  addu      $a3, $t8, $s5
D_8024B870:
/* 13EBB0 8024B870 00072880 */  sll       $a1, $a3, 2
/* 13EBB4 8024B874 000C3080 */  sll       $a2, $t4, 2
/* 13EBB8 8024B878 00EE3821 */  addu      $a3, $a3, $t6
D_8024B87C:
/* 13EBBC 8024B87C 00073880 */  sll       $a3, $a3, 2
/* 13EBC0 8024B880 0100482D */  daddu     $t1, $t0, $zero
/* 13EBC4 8024B884 25080008 */  addiu     $t0, $t0, 0x8
D_8024B888:
/* 13EBC8 8024B888 AE280000 */  sw        $t0, 0x0($s1)
D_8024B88C:
/* 13EBCC 8024B88C AD220000 */  sw        $v0, 0x0($t1)
D_8024B890:
/* 13EBD0 8024B890 25020008 */  addiu     $v0, $t0, 0x8
D_8024B894:
/* 13EBD4 8024B894 AE220000 */  sw        $v0, 0x0($s1)
D_8024B898:
/* 13EBD8 8024B898 25020010 */  addiu     $v0, $t0, 0x10
D_8024B89C:
/* 13EBDC 8024B89C AE220000 */  sw        $v0, 0x0($s1)
D_8024B8A0:
/* 13EBE0 8024B8A0 25020018 */  addiu     $v0, $t0, 0x18
/* 13EBE4 8024B8A4 AE220000 */  sw        $v0, 0x0($s1)
/* 13EBE8 8024B8A8 25020020 */  addiu     $v0, $t0, 0x20
/* 13EBEC 8024B8AC AE220000 */  sw        $v0, 0x0($s1)
D_8024B8B0:
/* 13EBF0 8024B8B0 25020028 */  addiu     $v0, $t0, 0x28
D_8024B8B4:
/* 13EBF4 8024B8B4 AE220000 */  sw        $v0, 0x0($s1)
/* 13EBF8 8024B8B8 8FC30000 */  lw        $v1, 0x0($fp)
/* 13EBFC 8024B8BC 25020030 */  addiu     $v0, $t0, 0x30
D_8024B8C0:
/* 13EC00 8024B8C0 AE220000 */  sw        $v0, 0x0($s1)
/* 13EC04 8024B8C4 3C02F400 */  lui       $v0, (0xF4000000 >> 16)
/* 13EC08 8024B8C8 AD230004 */  sw        $v1, 0x4($t1)
/* 13EC0C 8024B8CC 3C0FE600 */  lui       $t7, (0xE6000000 >> 16)
D_8024B8D0:
/* 13EC10 8024B8D0 32890FFF */  andi      $t1, $s4, 0xFFF
D_8024B8D4:
/* 13EC14 8024B8D4 01221025 */  or        $v0, $t1, $v0
D_8024B8D8:
/* 13EC18 8024B8D8 024E1821 */  addu      $v1, $s2, $t6
/* 13EC1C 8024B8DC 2463FFFF */  addiu     $v1, $v1, -0x1
D_8024B8E0:
/* 13EC20 8024B8E0 00031880 */  sll       $v1, $v1, 2
/* 13EC24 8024B8E4 30630FFF */  andi      $v1, $v1, 0xFFF
/* 13EC28 8024B8E8 8FAD0110 */  lw        $t5, 0x110($sp)
/* 13EC2C 8024B8EC 006A5025 */  or        $t2, $v1, $t2
D_8024B8F0:
/* 13EC30 8024B8F0 AD020010 */  sw        $v0, 0x10($t0)
D_8024B8F4:
/* 13EC34 8024B8F4 3C02F200 */  lui       $v0, (0xF2000000 >> 16)
D_8024B8F8_C09178:
/* 13EC38 8024B8F8 AD0B0004 */  sw        $t3, 0x4($t0)
/* 13EC3C 8024B8FC AD0F0008 */  sw        $t7, 0x8($t0)
/* 13EC40 8024B900 AD00000C */  sw        $zero, 0xC($t0)
/* 13EC44 8024B904 AD0A0014 */  sw        $t2, 0x14($t0)
/* 13EC48 8024B908 AD190018 */  sw        $t9, 0x18($t0)
/* 13EC4C 8024B90C AD00001C */  sw        $zero, 0x1C($t0)
D_8024B910:
/* 13EC50 8024B910 AD0D0000 */  sw        $t5, 0x0($t0)
/* 13EC54 8024B914 AD0D0020 */  sw        $t5, 0x20($t0)
/* 13EC58 8024B918 8FB8012C */  lw        $t8, 0x12C($sp)
/* 13EC5C 8024B91C 01224825 */  or        $t1, $t1, $v0
D_8024B920:
/* 13EC60 8024B920 AD180024 */  sw        $t8, 0x24($t0)
/* 13EC64 8024B924 AD090028 */  sw        $t1, 0x28($t0)
D_8024B928:
/* 13EC68 8024B928 8FAC0130 */  lw        $t4, 0x130($sp)
/* 13EC6C 8024B92C 24020400 */  addiu     $v0, $zero, 0x400
/* 13EC70 8024B930 006C1825 */  or        $v1, $v1, $t4
/* 13EC74 8024B934 AD03002C */  sw        $v1, 0x2C($t0)
/* 13EC78 8024B938 AFA00010 */  sw        $zero, 0x10($sp)
D_8024B93C:
/* 13EC7C 8024B93C AFA00014 */  sw        $zero, 0x14($sp)
D_8024B940:
/* 13EC80 8024B940 AFB60018 */  sw        $s6, 0x18($sp)
/* 13EC84 8024B944 AFA2001C */  sw        $v0, 0x1C($sp)
/* 13EC88 8024B948 AFA20020 */  sw        $v0, 0x20($sp)
D_8024B94C:
/* 13EC8C 8024B94C 0C091216 */  jal       func_80244858
D_8024B950:
/* 13EC90 8024B950 AFB90120 */   sw       $t9, 0x120($sp)
/* 13EC94 8024B954 8E220000 */  lw        $v0, 0x0($s1)
/* 13EC98 8024B958 0040182D */  daddu     $v1, $v0, $zero
/* 13EC9C 8024B95C 24420008 */  addiu     $v0, $v0, 0x8
/* 13ECA0 8024B960 AE220000 */  sw        $v0, 0x0($s1)
D_8024B964:
/* 13ECA4 8024B964 8FB90120 */  lw        $t9, 0x120($sp)
/* 13ECA8 8024B968 2A620069 */  slti      $v0, $s3, 0x69
/* 13ECAC 8024B96C AC600004 */  sw        $zero, 0x4($v1)
.L8024B970:
/* 13ECB0 8024B970 10400009 */  beqz      $v0, .L8024B998
.L8024B974:
/* 13ECB4 8024B974 AC790000 */   sw       $t9, 0x0($v1)
D_8024B978:
/* 13ECB8 8024B978 2673000C */  addiu     $s3, $s3, 0xC
/* 13ECBC 8024B97C 26D60180 */  addiu     $s6, $s6, 0x180
/* 13ECC0 8024B980 26B5000C */  addiu     $s5, $s5, 0xC
/* 13ECC4 8024B984 26940030 */  addiu     $s4, $s4, 0x30
/* 13ECC8 8024B988 26100001 */  addiu     $s0, $s0, 0x1
/* 13ECCC 8024B98C 2A020014 */  slti      $v0, $s0, 0x14

### DECOMPILED C INSTRUCTIONS:

void pause_partners_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
    Matrix4f matrix;
    Matrix4f matrix2;
    PartnerPosition partnerPositions[8];
    s32 i, j, k, index;
    s32 x1, y1, x2, y2;
    f32 currentPos, angle, scale;
    f32 offsetX, offsetY, offsetZ;
    s32 color;
    s8 currentTab;
    s32 portraitScrollPos;
    s32 portraitScrollIndex;
    s32 tileHeight;
    s32 portraitOffsetX;
    s32 portraitIndex;

    gSPViewport(gMainGfxPos++, &gPausePartnersViewport);
    guOrthoF(matrix, 0.0f, 320.0f, 240.0f, 0.0f, -100.0f, 100.0f, 1.0f);
    guMtxF2L(matrix, &gDisplayContext->matrixStack[gMatrixListPos]);
    gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
    guTranslateF(matrix, 0.0f, 0.0f, 0.0f);
    guMtxF2L(matrix, &gDisplayContext->matrixStack[gMatrixListPos]);
    gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);

    for (i = 0; i < gPausePartnersNumPartners; i++) {
        currentPos = cos_deg(i * 360 / gPausePartnersNumPartners - gPausePartnersRotAngle) * 20.0f + 0.0f;

        for (j = 0; j < i; j++) {
            if (currentPos < partnerPositions[j].pos) {
                break;
            }
        }

        for (k = gPausePartnersNumPartners - 1; k > j; k--) {
            partnerPositions[k] = partnerPositions[k-1];
        }

        partnerPositions[j].index = i;
        partnerPositions[j].pos = currentPos;
    }

    for (j = 0; j < gPausePartnersNumPartners; j++) {
        portraitIndex = gPausePartnersNumPartners;
        index = partnerPositions[j].index;
        angle = index * 360 / gPausePartnersNumPartners - gPausePartnersRotAngle;
        offsetX = gPausePartnersNumPartners * 3 + 17;
        offsetX *= sin_deg(angle);
        offsetX += 42.0f;
        offsetZ = 30.0f - cos_deg(angle) * 30.0f;
        offsetY = cos_deg(angle) * 20.0f + 0.0f;
        scale = 30.0 / (offsetZ + 60.0f) + 0.5;

        guTranslateF(matrix, baseX + 22 + offsetX, baseY + 81 + offsetY, -offsetZ);
        guRotateF(matrix2, 180.0f, 0.0f, 0.0f, 1.0f);
        guMtxCatF(matrix2, matrix, matrix);
        guScaleF(matrix2, scale, scale, 1.0f);
        guMtxCatF(matrix2, matrix, matrix);

        if (offsetZ > 8.0f) {
            color = 160;
        } else {
            color = 255.0f - offsetZ * 95.0f * 0.125f;
        }
        set_npc_imgfx_all(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], IMGFX_SET_COLOR, color, color, color, 255, 64);
        spr_draw_npc_sprite(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], 0, 0, NULL, matrix);
    }

    gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);

    currentTab = gPauseMenuCurrentTab;
    if (currentTab == 4) {
        if (gPausePartnersLevel == 0) {
            pause_set_cursor_pos(WINDOW_ID_PAUSE_PARTNERS, baseX + 42, baseY + 88);
        }

        if (gPauseMenuCurrentTab == currentTab && gPausePartnersLevel == 0) {
            pause_draw_menu_label(PAUSE_LBL_ABILITIES, 18, 158);
        }
    }

    x1 = baseX + 130;
    y1 = baseY + 24;
    x2 = baseX + 280;
    y2 = baseY + 129;

    if (x1 <= 0) {
        x1 = 1;
    }
    if (y1 <= 0) {
        y1 = 1;
    }

    if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
        return;
    }

    if (x2 >= SCREEN_WIDTH - 1) {
        x2 = SCREEN_WIDTH - 1;
    }
    if (y2 >= SCREEN_HEIGHT - 1) {
        y2 = SCREEN_HEIGHT - 1;
    }

    portraitScrollPos = (gPausePartnersRotAngle + 360.0f) * 15000.0f * gPausePartnersNumPartners / 360.0f;
    portraitScrollIndex = portraitScrollPos / 15000;
    gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
    portraitOffsetX = (portraitScrollIndex * 15000 - portraitScrollPos);
    portraitOffsetX *= 0.01;
    portraitIndex = portraitScrollIndex;
    pause_partners_load_portrait(portraitIndex % gPausePartnersNumPartners);
    for (i = 0; i < 2; portraitOffsetX += 150, i++) {
        gSPDisplayList(gMainGfxPos++, &gPausePartnersDL);
        gDPLoadTLUT_pal256(gMainGfxPos++, gPausePartnersPaletteBuffers[i]);

        for (index = 0; index < 20; index++) {
            if (12 * index + 12 <= 105) {
                tileHeight = 12;
            } else {
                tileHeight = 106 - 12 * index;
            }

            gDPLoadTextureTile(gMainGfxPos++, gPausePartnersImageBuffers[i], G_IM_FMT_CI, G_IM_SIZ_8b, 150, 0,
                                0, 12 * index, 149, 12 * index + tileHeight - 1, 0,
                                G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
            pause_draw_rect((baseX + 130 + portraitOffsetX) * 4, (baseY + 24 + 12 * index) * 4, (baseX + 280 + portraitOffsetX) * 4, (baseY + 24 + 12 * index + tileHeight) * 4, 0, 0,
                            12 * index * 32, 0x400, 0x400);
            gDPPipeSync(gMainGfxPos++);
            if (12 * index + 12 >= 105) {
                break;
            }
        }
    }
    {
        s32 x1, y1, x2, y2;
        x1 = baseX + 122;
        y1 = baseY + 16;
        x2 = baseX + 288;
        y2 = baseY + 137;

        if (x1 <= 0) {
            x1 = 1;
        }
        if (y1 <= 0) {
            y1 = 1;
        }

        if (x2 <= 0 || y2 <= 0 || x1 >= SCREEN_WIDTH - 1 || y1 >= SCREEN_HEIGHT - 1) {
            return;
        }

        if (x2 >= SCREEN_WIDTH - 1) {
            x2 = SCREEN_WIDTH - 1;
        }
        if (y2 >= SCREEN_HEIGHT - 1) {
            y2 = SCREEN_HEIGHT - 1;
        }

        gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
    }
    draw_box(0, &gPauseWS_21, baseX + 122, baseY + 16, 0, 166, 121, opacity, darkening, 1.0f, 1.0f, 0, 0, 0, 0, 0, 0, width, height, 0);
}


### RAW ASSEMBLY INSTRUCTIONS:

glabel gfx_draw_background
/* 3210 80027E10 27BDFFB8 */  addiu     $sp, $sp, -0x48
/* 3214 80027E14 3C040050 */  lui       $a0, (0x5003C0 >> 16)
/* 3218 80027E18 3C0C800A */  lui       $t4, %hi(gMainGfxPos)
/* 321C 80027E1C 258CA66C */  addiu     $t4, $t4, %lo(gMainGfxPos)
/* 3220 80027E20 348403C0 */  ori       $a0, $a0, (0x5003C0 & 0xFFFF)
/* 3224 80027E24 3C02ED00 */  lui       $v0, (0xED000000 >> 16)
/* 3228 80027E28 AFBF0044 */  sw        $ra, 0x44($sp)
/* 322C 80027E2C AFBE0040 */  sw        $fp, 0x40($sp)
/* 3230 80027E30 AFB7003C */  sw        $s7, 0x3C($sp)
/* 3234 80027E34 AFB60038 */  sw        $s6, 0x38($sp)
/* 3238 80027E38 AFB50034 */  sw        $s5, 0x34($sp)
/* 323C 80027E3C AFB40030 */  sw        $s4, 0x30($sp)
/* 3240 80027E40 AFB3002C */  sw        $s3, 0x2C($sp)
/* 3244 80027E44 AFB20028 */  sw        $s2, 0x28($sp)
/* 3248 80027E48 AFB10024 */  sw        $s1, 0x24($sp)
/* 324C 80027E4C AFB00020 */  sw        $s0, 0x20($sp)
/* 3250 80027E50 8D8B0000 */  lw        $t3, 0x0($t4)
/* 3254 80027E54 3C108007 */  lui       $s0, %hi(gGameStatusPtr)
/* 3258 80027E58 2610419C */  addiu     $s0, $s0, %lo(gGameStatusPtr)
/* 325C 80027E5C 0160182D */  daddu     $v1, $t3, $zero
/* 3260 80027E60 256B0008 */  addiu     $t3, $t3, 0x8
/* 3264 80027E64 AD8B0000 */  sw        $t3, 0x0($t4)
/* 3268 80027E68 AC640004 */  sw        $a0, 0x4($v1)
/* 326C 80027E6C 3C04800B */  lui       $a0, %hi(gCameras)
/* 3270 80027E70 24841D80 */  addiu     $a0, $a0, %lo(gCameras)
/* 3274 80027E74 AC620000 */  sw        $v0, 0x0($v1)
/* 3278 80027E78 3C038007 */  lui       $v1, %hi(gCurrentCameraID)
/* 327C 80027E7C 8C637410 */  lw        $v1, %lo(gCurrentCameraID)($v1)
/* 3280 80027E80 8E0D0000 */  lw        $t5, 0x0($s0)
/* 3284 80027E84 00031080 */  sll       $v0, $v1, 2
/* 3288 80027E88 00431021 */  addu      $v0, $v0, $v1
/* 328C 80027E8C 00021080 */  sll       $v0, $v0, 2
/* 3290 80027E90 00431023 */  subu      $v0, $v0, $v1
/* 3294 80027E94 000218C0 */  sll       $v1, $v0, 3
/* 3298 80027E98 00431021 */  addu      $v0, $v0, $v1
/* 329C 80027E9C 000210C0 */  sll       $v0, $v0, 3
/* 32A0 80027EA0 00449821 */  addu      $s3, $v0, $a0
/* 32A4 80027EA4 95A30148 */  lhu       $v1, 0x148($t5)
/* 32A8 80027EA8 24020020 */  addiu     $v0, $zero, 0x20
/* 32AC 80027EAC 306300F0 */  andi      $v1, $v1, 0xF0
/* 32B0 80027EB0 1062004E */  beq       $v1, $v0, .L80027FEC
/* 32B4 80027EB4 28620021 */   slti     $v0, $v1, 0x21
/* 32B8 80027EB8 10400005 */  beqz      $v0, .L80027ED0
/* 32BC 80027EBC 24020010 */   addiu    $v0, $zero, 0x10
/* 32C0 80027EC0 10620008 */  beq       $v1, $v0, .L80027EE4
/* 32C4 80027EC4 3C03FF10 */   lui      $v1, (0xFF10013F >> 16)
/* 32C8 80027EC8 0800A0CB */  j         .L8002832C
/* 32CC 80027ECC 00000000 */   nop
.L80027ED0:
/* 32D0 80027ED0 24020030 */  addiu     $v0, $zero, 0x30
/* 32D4 80027ED4 10620053 */  beq       $v1, $v0, .L80028024
/* 32D8 80027ED8 00000000 */   nop
/* 32DC 80027EDC 0800A0CB */  j         .L8002832C
/* 32E0 80027EE0 00000000 */   nop
.L80027EE4:
/* 32E4 80027EE4 3463013F */  ori       $v1, $v1, (0xFF10013F & 0xFFFF)
/* 32E8 80027EE8 3C06E300 */  lui       $a2, (0xE3000A01 >> 16)
/* 32EC 80027EEC 34C60A01 */  ori       $a2, $a2, (0xE3000A01 & 0xFFFF)
/* 32F0 80027EF0 3C078080 */  lui       $a3, (0x808080FF >> 16)
/* 32F4 80027EF4 34E780FF */  ori       $a3, $a3, (0x808080FF & 0xFFFF)
/* 32F8 80027EF8 3C05E200 */  lui       $a1, (0xE2001D00 >> 16)
/* 32FC 80027EFC 34A51D00 */  ori       $a1, $a1, (0xE2001D00 & 0xFFFF)
/* 3300 80027F00 3C0AE200 */  lui       $t2, (0xE200001C >> 16)
/* 3304 80027F04 354A001C */  ori       $t2, $t2, (0xE200001C & 0xFFFF)
/* 3308 80027F08 3C090FA5 */  lui       $t1, (0xFA54040 >> 16)
/* 330C 80027F0C 35294040 */  ori       $t1, $t1, (0xFA54040 & 0xFFFF)
/* 3310 80027F10 3C08F650 */  lui       $t0, (0xF65003C0 >> 16)
/* 3314 80027F14 350803C0 */  ori       $t0, $t0, (0xF65003C0 & 0xFFFF)
/* 3318 80027F18 25620008 */  addiu     $v0, $t3, 0x8
/* 331C 80027F1C 3C04E700 */  lui       $a0, (0xE7000000 >> 16)
/* 3320 80027F20 AD820000 */  sw        $v0, 0x0($t4)
/* 3324 80027F24 25620010 */  addiu     $v0, $t3, 0x10
/* 3328 80027F28 AD640000 */  sw        $a0, 0x0($t3)
/* 332C 80027F2C AD600004 */  sw        $zero, 0x4($t3)
/* 3330 80027F30 AD820000 */  sw        $v0, 0x0($t4)
/* 3334 80027F34 25620018 */  addiu     $v0, $t3, 0x18
/* 3338 80027F38 AD630008 */  sw        $v1, 0x8($t3)
/* 333C 80027F3C AD820000 */  sw        $v0, 0x0($t4)
/* 3340 80027F40 25620020 */  addiu     $v0, $t3, 0x20
/* 3344 80027F44 AD820000 */  sw        $v0, 0x0($t4)
/* 3348 80027F48 25620028 */  addiu     $v0, $t3, 0x28
/* 334C 80027F4C AD820000 */  sw        $v0, 0x0($t4)
/* 3350 80027F50 25620030 */  addiu     $v0, $t3, 0x30
/* 3354 80027F54 AD820000 */  sw        $v0, 0x0($t4)
/* 3358 80027F58 25620038 */  addiu     $v0, $t3, 0x38
/* 335C 80027F5C AD820000 */  sw        $v0, 0x0($t4)
/* 3360 80027F60 3C03800A */  lui       $v1, %hi(nuGfxCfb)
/* 3364 80027F64 8C63A658 */  lw        $v1, %lo(nuGfxCfb)($v1)
/* 3368 80027F68 25620040 */  addiu     $v0, $t3, 0x40
/* 336C 80027F6C AD820000 */  sw        $v0, 0x0($t4)
/* 3370 80027F70 8C630004 */  lw        $v1, 0x4($v1)
/* 3374 80027F74 25620048 */  addiu     $v0, $t3, 0x48
/* 3378 80027F78 AD820000 */  sw        $v0, 0x0($t4)
/* 337C 80027F7C 3C02F900 */  lui       $v0, (0xF9000000 >> 16)
/* 3380 80027F80 AD620018 */  sw        $v0, 0x18($t3)
/* 3384 80027F84 3C02EE00 */  lui       $v0, (0xEE000000 >> 16)
/* 3388 80027F88 AD620020 */  sw        $v0, 0x20($t3)
/* 338C 80027F8C 2402FFFF */  addiu     $v0, $zero, -0x1
/* 3390 80027F90 AD620024 */  sw        $v0, 0x24($t3)
/* 3394 80027F94 24020004 */  addiu     $v0, $zero, 0x4
/* 3398 80027F98 AD660010 */  sw        $a2, 0x10($t3)
/* 339C 80027F9C AD600014 */  sw        $zero, 0x14($t3)
/* 33A0 80027FA0 AD67001C */  sw        $a3, 0x1C($t3)
/* 33A4 80027FA4 AD650028 */  sw        $a1, 0x28($t3)
/* 33A8 80027FA8 AD62002C */  sw        $v0, 0x2C($t3)
/* 33AC 80027FAC AD6A0030 */  sw        $t2, 0x30($t3)
/* 33B0 80027FB0 AD690034 */  sw        $t1, 0x34($t3)
/* 33B4 80027FB4 AD680038 */  sw        $t0, 0x38($t3)
/* 33B8 80027FB8 AD60003C */  sw        $zero, 0x3C($t3)
/* 33BC 80027FBC AD640040 */  sw        $a0, 0x40($t3)
/* 33C0 80027FC0 AD600044 */  sw        $zero, 0x44($t3)
/* 33C4 80027FC4 AD650048 */  sw        $a1, 0x48($t3)
/* 33C8 80027FC8 AD60004C */  sw        $zero, 0x4C($t3)
/* 33CC 80027FCC AD63000C */  sw        $v1, 0xC($t3)
/* 33D0 80027FD0 95A20148 */  lhu       $v0, 0x148($t5)
/* 33D4 80027FD4 25630050 */  addiu     $v1, $t3, 0x50
/* 33D8 80027FD8 AD830000 */  sw        $v1, 0x0($t4)
/* 33DC 80027FDC 3042FF0F */  andi      $v0, $v0, 0xFF0F
/* 33E0 80027FE0 34420020 */  ori       $v0, $v0, 0x20
/* 33E4 80027FE4 0800A1E4 */  j         .L80028790
/* 33E8 80027FE8 A5A20148 */   sh       $v0, 0x148($t5)
.L80027FEC:
/* 33EC 80027FEC 3C02800A */  lui       $v0, %hi(nuGfxCfb)
/* 33F0 80027FF0 8C42A658 */  lw        $v0, %lo(nuGfxCfb)($v0)
/* 33F4 80027FF4 3C06800A */  lui       $a2, %hi(nuGfxZBuffer)
/* 33F8 80027FF8 8CC6A5DC */  lw        $a2, %lo(nuGfxZBuffer)($a2)
/* 33FC 80027FFC 8C440000 */  lw        $a0, 0x0($v0)
/* 3400 80028000 0C009E6D */  jal       gfx_transfer_frame_to_depth
/* 3404 80028004 8C450004 */   lw       $a1, 0x4($v0)
/* 3408 80028008 8E030000 */  lw        $v1, 0x0($s0)
/* 340C 8002800C 94620148 */  lhu       $v0, 0x148($v1)
/* 3410 80028010 3C018007 */  lui       $at, %hi(gPauseBackgroundFade)
/* 3414 80028014 AC2041F8 */  sw        $zero, %lo(gPauseBackgroundFade)($at)
/* 3418 80028018 3042FF0F */  andi      $v0, $v0, 0xFF0F
/* 341C 8002801C 34420030 */  ori       $v0, $v0, 0x30
/* 3420 80028020 A4620148 */  sh        $v0, 0x148($v1)
.L80028024:
/* 3424 80028024 3C168007 */  lui       $s6, %hi(gPauseBackgroundFade)
/* 3428 80028028 26D641F8 */  addiu     $s6, $s6, %lo(gPauseBackgroundFade)
/* 342C 8002802C 8EC20000 */  lw        $v0, 0x0($s6)
/* 3430 80028030 24420010 */  addiu     $v0, $v0, 0x10
/* 3434 80028034 AEC20000 */  sw        $v0, 0x0($s6)
/* 3438 80028038 28420081 */  slti      $v0, $v0, 0x81
/* 343C 8002803C 14400003 */  bnez      $v0, .L8002804C
/* 3440 80028040 3C060050 */   lui      $a2, (0x5003C0 >> 16)
/* 3444 80028044 24020080 */  addiu     $v0, $zero, 0x80
/* 3448 80028048 AEC20000 */  sw        $v0, 0x0($s6)
.L8002804C:
/* 344C 8002804C 34C603C0 */  ori       $a2, $a2, (0x5003C0 & 0xFFFF)
/* 3450 80028050 3C05E300 */  lui       $a1, (0xE3000A01 >> 16)
/* 3454 80028054 34A50A01 */  ori       $a1, $a1, (0xE3000A01 & 0xFFFF)
/* 3458 80028058 3C07E200 */  lui       $a3, (0xE200001C >> 16)
/* 345C 8002805C 34E7001C */  ori       $a3, $a3, (0xE200001C & 0xFFFF)
/* 3460 80028060 3C08FF10 */  lui       $t0, (0xFF10013F >> 16)
/* 3464 80028064 3508013F */  ori       $t0, $t0, (0xFF10013F & 0xFFFF)
/* 3468 80028068 3C090001 */  lui       $t1, (0x10001 >> 16)
/* 346C 8002806C 35290001 */  ori       $t1, $t1, (0x10001 & 0xFFFF)
/* 3470 80028070 3C0AF64F */  lui       $t2, (0xF64FC3BC >> 16)
/* 3474 80028074 354AC3BC */  ori       $t2, $t2, (0xF64FC3BC & 0xFFFF)
/* 3478 80028078 3C0BE300 */  lui       $t3, (0xE3000C00 >> 16)
/* 347C 8002807C 356B0C00 */  ori       $t3, $t3, (0xE3000C00 & 0xFFFF)
/* 3480 80028080 3C0CE300 */  lui       $t4, (0xE3001001 >> 16)
/* 3484 80028084 358C1001 */  ori       $t4, $t4, (0xE3001001 & 0xFFFF)
/* 3488 80028088 3C0D0F0A */  lui       $t5, (0xF0A4000 >> 16)
/* 348C 8002808C 35AD4000 */  ori       $t5, $t5, (0xF0A4000 & 0xFFFF)
/* 3490 80028090 3C0FFC35 */  lui       $t7, (0xFC357E6A >> 16)
/* 3494 80028094 35EF7E6A */  ori       $t7, $t7, (0xFC357E6A & 0xFFFF)
/* 3498 80028098 3C0E12FC */  lui       $t6, (0x12FCFCBE >> 16)
/* 349C 8002809C 35CEFCBE */  ori       $t6, $t6, (0x12FCFCBE & 0xFFFF)
/* 34A0 800280A0 3C112828 */  lui       $s1, (0x28282800 >> 16)
/* 34A4 800280A4 36312800 */  ori       $s1, $s1, (0x28282800 & 0xFFFF)
/* 34A8 800280A8 3C10E300 */  lui       $s0, (0xE3001201 >> 16)
/* 34AC 800280AC 36101201 */  ori       $s0, $s0, (0xE3001201 & 0xFFFF)
/* 34B0 800280B0 0000C82D */  daddu     $t9, $zero, $zero
/* 34B4 800280B4 3C02800A */  lui       $v0, %hi(gMainGfxPos)
/* 34B8 800280B8 2442A66C */  addiu     $v0, $v0, %lo(gMainGfxPos)
/* 34BC 800280BC 0040902D */  daddu     $s2, $v0, $zero
/* 34C0 800280C0 AFAE0018 */  sw        $t6, 0x18($sp)
/* 34C4 800280C4 3C0EFD10 */  lui       $t6, (0xFD10013F >> 16)
/* 34C8 800280C8 35CE013F */  ori       $t6, $t6, (0xFD10013F & 0xFFFF)
/* 34CC 800280CC 3C15F510 */  lui       $s5, (0xF510A000 >> 16)
/* 34D0 800280D0 36B5A000 */  ori       $s5, $s5, (0xF510A000 & 0xFFFF)
/* 34D4 800280D4 AFAE0010 */  sw        $t6, 0x10($sp)
/* 34D8 800280D8 3C0E074F */  lui       $t6, (0x74FC014 >> 16)
/* 34DC 800280DC 35CEC014 */  ori       $t6, $t6, (0x74FC014 & 0xFFFF)
/* 34E0 800280E0 3C17E700 */  lui       $s7, (0xE7000000 >> 16)
/* 34E4 800280E4 3C1E004F */  lui       $fp, (0x4FC014 >> 16)
/* 34E8 800280E8 37DEC014 */  ori       $fp, $fp, (0x4FC014 & 0xFFFF)
/* 34EC 800280EC 0320C02D */  daddu     $t8, $t9, $zero
/* 34F0 800280F0 24140018 */  addiu     $s4, $zero, 0x18
/* 34F4 800280F4 0320982D */  daddu     $s3, $t9, $zero
/* 34F8 800280F8 AFAE0014 */  sw        $t6, 0x14($sp)
/* 34FC 800280FC 8E420000 */  lw        $v0, 0x0($s2)
/* 3500 80028100 02E0182D */  daddu     $v1, $s7, $zero
/* 3504 80028104 0040202D */  daddu     $a0, $v0, $zero
/* 3508 80028108 24420008 */  addiu     $v0, $v0, 0x8
/* 350C 8002810C AE420000 */  sw        $v0, 0x0($s2)
/* 3510 80028110 AC830000 */  sw        $v1, 0x0($a0)
/* 3514 80028114 24430008 */  addiu     $v1, $v0, 0x8
/* 3518 80028118 AC800004 */  sw        $zero, 0x4($a0)
/* 351C 8002811C AE430000 */  sw        $v1, 0x0($s2)
/* 3520 80028120 3C03ED00 */  lui       $v1, (0xED000000 >> 16)
/* 3524 80028124 AC430000 */  sw        $v1, 0x0($v0)
/* 3528 80028128 24430010 */  addiu     $v1, $v0, 0x10
/* 352C 8002812C AC460004 */  sw        $a2, 0x4($v0)
/* 3530 80028130 AE430000 */  sw        $v1, 0x0($s2)
/* 3534 80028134 3C030030 */  lui       $v1, (0x300000 >> 16)
/* 3538 80028138 AC43000C */  sw        $v1, 0xC($v0)
/* 353C 8002813C 00541821 */  addu      $v1, $v0, $s4
/* 3540 80028140 AC450008 */  sw        $a1, 0x8($v0)
/* 3544 80028144 AE430000 */  sw        $v1, 0x0($s2)
/* 3548 80028148 3C04800A */  lui       $a0, %hi(nuGfxCfb_ptr)
/* 354C 8002814C 8C84A64C */  lw        $a0, %lo(nuGfxCfb_ptr)($a0)
/* 3550 80028150 24430020 */  addiu     $v1, $v0, 0x20
/* 3554 80028154 AC470010 */  sw        $a3, 0x10($v0)
/* 3558 80028158 AC400014 */  sw        $zero, 0x14($v0)
/* 355C 8002815C AE430000 */  sw        $v1, 0x0($s2)
/* 3560 80028160 24430028 */  addiu     $v1, $v0, 0x28
/* 3564 80028164 AC480018 */  sw        $t0, 0x18($v0)
/* 3568 80028168 AC44001C */  sw        $a0, 0x1C($v0)
/* 356C 8002816C AE430000 */  sw        $v1, 0x0($s2)
/* 3570 80028170 3C03F700 */  lui       $v1, (0xF7000000 >> 16)
/* 3574 80028174 AC430020 */  sw        $v1, 0x20($v0)
/* 3578 80028178 24430030 */  addiu     $v1, $v0, 0x30
/* 357C 8002817C AC490024 */  sw        $t1, 0x24($v0)
/* 3580 80028180 AE430000 */  sw        $v1, 0x0($s2)
/* 3584 80028184 24430038 */  addiu     $v1, $v0, 0x38
/* 3588 80028188 AC4A0028 */  sw        $t2, 0x28($v0)
/* 358C 8002818C AC40002C */  sw        $zero, 0x2C($v0)
/* 3590 80028190 AE430000 */  sw        $v1, 0x0($s2)
/* 3594 80028194 24430040 */  addiu     $v1, $v0, 0x40
/* 3598 80028198 AC450030 */  sw        $a1, 0x30($v0)
/* 359C 8002819C AC400034 */  sw        $zero, 0x34($v0)
/* 35A0 800281A0 AE430000 */  sw        $v1, 0x0($s2)
/* 35A4 800281A4 24430048 */  addiu     $v1, $v0, 0x48
/* 35A8 800281A8 AC4B0038 */  sw        $t3, 0x38($v0)
/* 35AC 800281AC AC40003C */  sw        $zero, 0x3C($v0)
/* 35B0 800281B0 AE430000 */  sw        $v1, 0x0($s2)
/* 35B4 800281B4 24430050 */  addiu     $v1, $v0, 0x50
/* 35B8 800281B8 AC4C0040 */  sw        $t4, 0x40($v0)
/* 35BC 800281BC AC400044 */  sw        $zero, 0x44($v0)
/* 35C0 800281C0 AE430000 */  sw        $v1, 0x0($s2)
/* 35C4 800281C4 24430058 */  addiu     $v1, $v0, 0x58
/* 35C8 800281C8 AC470048 */  sw        $a3, 0x48($v0)
/* 35CC 800281CC AC4D004C */  sw        $t5, 0x4C($v0)
/* 35D0 800281D0 AE430000 */  sw        $v1, 0x0($s2)
/* 35D4 800281D4 AC4F0050 */  sw        $t7, 0x50($v0)
/* 35D8 800281D8 8FAE0018 */  lw        $t6, 0x18($sp)
/* 35DC 800281DC 24430060 */  addiu     $v1, $v0, 0x60
/* 35E0 800281E0 AC4E0054 */  sw        $t6, 0x54($v0)
/* 35E4 800281E4 AE430000 */  sw        $v1, 0x0($s2)
/* 35E8 800281E8 3C03FA00 */  lui       $v1, (0xFA000000 >> 16)
/* 35EC 800281EC AC430058 */  sw        $v1, 0x58($v0)
/* 35F0 800281F0 92C40003 */  lbu       $a0, 0x3($s6)
/* 35F4 800281F4 24430068 */  addiu     $v1, $v0, 0x68
/* 35F8 800281F8 AE430000 */  sw        $v1, 0x0($s2)
/* 35FC 800281FC AC500060 */  sw        $s0, 0x60($v0)
/* 3600 80028200 AC400064 */  sw        $zero, 0x64($v0)
/* 3604 80028204 00912025 */  or        $a0, $a0, $s1
/* 3608 80028208 AC44005C */  sw        $a0, 0x5C($v0)
.L8002820C:
/* 360C 8002820C 3C070400 */  lui       $a3, (0x4000400 >> 16)
/* 3610 80028210 34E70400 */  ori       $a3, $a3, (0x4000400 & 0xFFFF)
/* 3614 80028214 33060FFF */  andi      $a2, $t8, 0xFFF
/* 3618 80028218 27180018 */  addiu     $t8, $t8, 0x18
/* 361C 8002821C 32850FFF */  andi      $a1, $s4, 0xFFF
/* 3620 80028220 26940018 */  addiu     $s4, $s4, 0x18
/* 3624 80028224 27390001 */  addiu     $t9, $t9, 0x1
/* 3628 80028228 8E430000 */  lw        $v1, 0x0($s2)
/* 362C 8002822C 3C02800A */  lui       $v0, %hi(nuGfxZBuffer)
/* 3630 80028230 8C42A5DC */  lw        $v0, %lo(nuGfxZBuffer)($v0)
/* 3634 80028234 0060202D */  daddu     $a0, $v1, $zero
/* 3638 80028238 24630008 */  addiu     $v1, $v1, 0x8
/* 363C 8002823C 00531021 */  addu      $v0, $v0, $s3
/* 3640 80028240 AE430000 */  sw        $v1, 0x0($s2)
/* 3644 80028244 8FAE0010 */  lw        $t6, 0x10($sp)
/* 3648 80028248 26730F00 */  addiu     $s3, $s3, 0xF00
/* 364C 8002824C AC820004 */  sw        $v0, 0x4($a0)
/* 3650 80028250 24620008 */  addiu     $v0, $v1, 0x8
/* 3654 80028254 AC8E0000 */  sw        $t6, 0x0($a0)
/* 3658 80028258 3C0E0700 */  lui       $t6, (0x7000000 >> 16)
/* 365C 8002825C AE420000 */  sw        $v0, 0x0($s2)
/* 3660 80028260 24620010 */  addiu     $v0, $v1, 0x10
/* 3664 80028264 AC6E0004 */  sw        $t6, 0x4($v1)
/* 3668 80028268 3C0EE600 */  lui       $t6, (0xE6000000 >> 16)
/* 366C 8002826C AC750000 */  sw        $s5, 0x0($v1)
/* 3670 80028270 AE420000 */  sw        $v0, 0x0($s2)
/* 3674 80028274 24620018 */  addiu     $v0, $v1, 0x18
/* 3678 80028278 AC6E0008 */  sw        $t6, 0x8($v1)
/* 367C 8002827C 3C0EF400 */  lui       $t6, (0xF4000000 >> 16)
/* 3680 80028280 AC60000C */  sw        $zero, 0xC($v1)
/* 3684 80028284 AE420000 */  sw        $v0, 0x0($s2)
/* 3688 80028288 AC6E0010 */  sw        $t6, 0x10($v1)
/* 368C 8002828C 8FAE0014 */  lw        $t6, 0x14($sp)
/* 3690 80028290 24620020 */  addiu     $v0, $v1, 0x20
/* 3694 80028294 AC6E0014 */  sw        $t6, 0x14($v1)
/* 3698 80028298 AE420000 */  sw        $v0, 0x0($s2)
/* 369C 8002829C 24620028 */  addiu     $v0, $v1, 0x28
/* 36A0 800282A0 AC770018 */  sw        $s7, 0x18($v1)
/* 36A4 800282A4 AC60001C */  sw        $zero, 0x1C($v1)
/* 36A8 800282A8 AE420000 */  sw        $v0, 0x0($s2)
/* 36AC 800282AC 24620030 */  addiu     $v0, $v1, 0x30
/* 36B0 800282B0 3C0EF200 */  lui       $t6, (0xF2000000 >> 16)
/* 36B4 800282B4 AC750020 */  sw        $s5, 0x20($v1)
/* 36B8 800282B8 AC600024 */  sw        $zero, 0x24($v1)
/* 36BC 800282BC AE420000 */  sw        $v0, 0x0($s2)
/* 36C0 800282C0 24620038 */  addiu     $v0, $v1, 0x38
/* 36C4 800282C4 AC6E0028 */  sw        $t6, 0x28($v1)
/* 36C8 800282C8 3C0EE450 */  lui       $t6, (0xE4500000 >> 16)
/* 36CC 800282CC 00AE2825 */  or        $a1, $a1, $t6
/* 36D0 800282D0 AC7E002C */  sw        $fp, 0x2C($v1)
/* 36D4 800282D4 AE420000 */  sw        $v0, 0x0($s2)
/* 36D8 800282D8 24620040 */  addiu     $v0, $v1, 0x40
/* 36DC 800282DC AC650030 */  sw        $a1, 0x30($v1)
/* 36E0 800282E0 AC660034 */  sw        $a2, 0x34($v1)
/* 36E4 800282E4 AE420000 */  sw        $v0, 0x0($s2)
/* 36E8 800282E8 3C02E100 */  lui       $v0, (0xE1000000 >> 16)
/* 36EC 800282EC AC620038 */  sw        $v0, 0x38($v1)
/* 36F0 800282F0 3C02FFE0 */  lui       $v0, (0xFFE00000 >> 16)
/* 36F4 800282F4 AC62003C */  sw        $v0, 0x3C($v1)
/* 36F8 800282F8 24620048 */  addiu     $v0, $v1, 0x48
/* 36FC 800282FC AE420000 */  sw        $v0, 0x0($s2)
/* 3700 80028300 3C02F100 */  lui       $v0, (0xF1000000 >> 16)
/* 3704 80028304 AC620040 */  sw        $v0, 0x40($v1)
/* 3708 80028308 24620050 */  addiu     $v0, $v1, 0x50
/* 370C 8002830C AC670044 */  sw        $a3, 0x44($v1)
/* 3710 80028310 AE420000 */  sw        $v0, 0x0($s2)
/* 3714 80028314 2B220028 */  slti      $v0, $t9, 0x28
/* 3718 80028318 AC770048 */  sw        $s7, 0x48($v1)
/* 371C 8002831C 1440FFBB */  bnez      $v0, .L8002820C
/* 3720 80028320 AC60004C */   sw       $zero, 0x4C($v1)
/* 3724 80028324 0800A1E4 */  j         .L80028790
/* 3728 80028328 00000000 */   nop
.L8002832C:
/* 372C 8002832C 3C02800A */  lui       $v0, %hi(gOverrideFlags)
/* 3730 80028330 8C42A650 */  lw        $v0, %lo(gOverrideFlags)($v0)
/* 3734 80028334 30420008 */  andi      $v0, $v0, 0x8
/* 3738 80028338 1040000E */  beqz      $v0, .L80028374
/* 373C 8002833C 3C05FF10 */   lui      $a1, (0xFF10013F >> 16)
/* 3740 80028340 34A5013F */  ori       $a1, $a1, (0xFF10013F & 0xFFFF)
/* 3744 80028344 3C03800A */  lui       $v1, %hi(gMainGfxPos)
/* 3748 80028348 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* 374C 8002834C 8C620000 */  lw        $v0, 0x0($v1)
/* 3750 80028350 3C04800A */  lui       $a0, %hi(nuGfxCfb_ptr)
/* 3754 80028354 8C84A64C */  lw        $a0, %lo(nuGfxCfb_ptr)($a0)
/* 3758 80028358 0040802D */  daddu     $s0, $v0, $zero
/* 375C 8002835C 24420008 */  addiu     $v0, $v0, 0x8
/* 3760 80028360 AC620000 */  sw        $v0, 0x0($v1)
/* 3764 80028364 0C0187A4 */  jal       osVirtualToPhysical
/* 3768 80028368 AE050000 */   sw       $a1, 0x0($s0)
/* 376C 8002836C 0800A1ED */  j         .L800287B4
/* 3770 80028370 AE020004 */   sw       $v0, 0x4($s0)
.L80028374:
/* 3774 80028374 3C06E300 */  lui       $a2, (0xE3000A01 >> 16)
/* 3778 80028378 34C60A01 */  ori       $a2, $a2, (0xE3000A01 & 0xFFFF)
/* 377C 8002837C 3C07E200 */  lui       $a3, (0xE200001C >> 16)
/* 3780 80028380 34E7001C */  ori       $a3, $a3, (0xE200001C & 0xFFFF)
/* 3784 80028384 3C08FF10 */  lui       $t0, (0xFF10013F >> 16)
/* 3788 80028388 3508013F */  ori       $t0, $t0, (0xFF10013F & 0xFFFF)
/* 378C 8002838C 3C09FFFC */  lui       $t1, (0xFFFCFFFC >> 16)
/* 3790 80028390 3529FFFC */  ori       $t1, $t1, (0xFFFCFFFC & 0xFFFF)
/* 3794 80028394 3C0AF64F */  lui       $t2, (0xF64FC3BC >> 16)
/* 3798 80028398 354AC3BC */  ori       $t2, $t2, (0xF64FC3BC & 0xFFFF)
/* 379C 8002839C 3C11800A */  lui       $s1, %hi(gMainGfxPos)
/* 37A0 800283A0 2631A66C */  addiu     $s1, $s1, %lo(gMainGfxPos)
/* 37A4 800283A4 3C02FE00 */  lui       $v0, (0xFE000000 >> 16)
/* 37A8 800283A8 8E300000 */  lw        $s0, 0x0($s1)
/* 37AC 800283AC 3C04800A */  lui       $a0, %hi(nuGfxCfb_ptr)
/* 37B0 800283B0 8C84A64C */  lw        $a0, %lo(nuGfxCfb_ptr)($a0)
/* 37B4 800283B4 0200282D */  daddu     $a1, $s0, $zero
/* 37B8 800283B8 26100008 */  addiu     $s0, $s0, 0x8
/* 37BC 800283BC AE300000 */  sw        $s0, 0x0($s1)
/* 37C0 800283C0 3C03800A */  lui       $v1, %hi(nuGfxZBuffer)
/* 37C4 800283C4 8C63A5DC */  lw        $v1, %lo(nuGfxZBuffer)($v1)
/* 37C8 800283C8 3C12F700 */  lui       $s2, (0xF7000000 >> 16)
/* 37CC 800283CC ACA20000 */  sw        $v0, 0x0($a1)
/* 37D0 800283D0 3C028000 */  lui       $v0, (0x80000000 >> 16)
/* 37D4 800283D4 00621821 */  addu      $v1, $v1, $v0
/* 37D8 800283D8 26020008 */  addiu     $v0, $s0, 0x8
/* 37DC 800283DC ACA30004 */  sw        $v1, 0x4($a1)
/* 37E0 800283E0 AE220000 */  sw        $v0, 0x0($s1)
/* 37E4 800283E4 3C020030 */  lui       $v0, (0x300000 >> 16)
/* 37E8 800283E8 AE020004 */  sw        $v0, 0x4($s0)
/* 37EC 800283EC 26020010 */  addiu     $v0, $s0, 0x10
/* 37F0 800283F0 AE060000 */  sw        $a2, 0x0($s0)
/* 37F4 800283F4 AE220000 */  sw        $v0, 0x0($s1)
/* 37F8 800283F8 26020018 */  addiu     $v0, $s0, 0x18
/* 37FC 800283FC AE070008 */  sw        $a3, 0x8($s0)
/* 3800 80028400 AE00000C */  sw        $zero, 0xC($s0)
/* 3804 80028404 AE220000 */  sw        $v0, 0x0($s1)
/* 3808 80028408 26020020 */  addiu     $v0, $s0, 0x20
/* 380C 8002840C AE080010 */  sw        $t0, 0x10($s0)
/* 3810 80028410 AE030014 */  sw        $v1, 0x14($s0)
/* 3814 80028414 AE220000 */  sw        $v0, 0x0($s1)
/* 3818 80028418 26020028 */  addiu     $v0, $s0, 0x28
/* 381C 8002841C AE120018 */  sw        $s2, 0x18($s0)
/* 3820 80028420 AE09001C */  sw        $t1, 0x1C($s0)
/* 3824 80028424 AE220000 */  sw        $v0, 0x0($s1)
/* 3828 80028428 26020030 */  addiu     $v0, $s0, 0x30
/* 382C 8002842C AE0A0020 */  sw        $t2, 0x20($s0)
/* 3830 80028430 AE000024 */  sw        $zero, 0x24($s0)
/* 3834 80028434 AE220000 */  sw        $v0, 0x0($s1)
/* 3838 80028438 3C02E700 */  lui       $v0, (0xE7000000 >> 16)
/* 383C 8002843C AE020028 */  sw        $v0, 0x28($s0)
/* 3840 80028440 26020038 */  addiu     $v0, $s0, 0x38
/* 3844 80028444 AE00002C */  sw        $zero, 0x2C($s0)
/* 3848 80028448 AE220000 */  sw        $v0, 0x0($s1)
/* 384C 8002844C 0C0187A4 */  jal       osVirtualToPhysical
/* 3850 80028450 AE080030 */   sw       $t0, 0x30($s0)
/* 3854 80028454 8E230000 */  lw        $v1, 0x0($s1)
/* 3858 80028458 AE020034 */  sw        $v0, 0x34($s0)
/* 385C 8002845C 0060282D */  daddu     $a1, $v1, $zero
/* 3860 80028460 ACB20000 */  sw        $s2, 0x0($a1)
/* 3864 80028464 8664002C */  lh        $a0, 0x2C($s3)
/* 3868 80028468 24630008 */  addiu     $v1, $v1, 0x8
/* 386C 8002846C AE230000 */  sw        $v1, 0x0($s1)
/* 3870 80028470 8663002E */  lh        $v1, 0x2E($s3)
/* 3874 80028474 96620030 */  lhu       $v0, 0x30($s3)
/* 3878 80028478 00042200 */  sll       $a0, $a0, 8
/* 387C 8002847C 3084F800 */  andi      $a0, $a0, 0xF800
/* 3880 80028480 000318C0 */  sll       $v1, $v1, 3
/* 3884 80028484 306307C0 */  andi      $v1, $v1, 0x7C0
/* 3888 80028488 00832025 */  or        $a0, $a0, $v1
/* 388C 8002848C 00021082 */  srl       $v0, $v0, 2
/* 3890 80028490 3042003E */  andi      $v0, $v0, 0x3E
/* 3894 80028494 00822025 */  or        $a0, $a0, $v0
/* 3898 80028498 34820001 */  ori       $v0, $a0, 0x1
/* 389C 8002849C 00021400 */  sll       $v0, $v0, 16
/* 38A0 800284A0 34420001 */  ori       $v0, $v0, 0x1
/* 38A4 800284A4 3C038007 */  lui       $v1, %hi(gGameStatusPtr)
/* 38A8 800284A8 8C63419C */  lw        $v1, %lo(gGameStatusPtr)($v1)
/* 38AC 800284AC 00441025 */  or        $v0, $v0, $a0
/* 38B0 800284B0 ACA20004 */  sw        $v0, 0x4($a1)
/* 38B4 800284B4 8470014A */  lh        $s0, 0x14A($v1)
/* 38B8 800284B8 8462014E */  lh        $v0, 0x14E($v1)
/* 38BC 800284BC 8471014C */  lh        $s1, 0x14C($v1)
/* 38C0 800284C0 0202A021 */  addu      $s4, $s0, $v0
/* 38C4 800284C4 84620150 */  lh        $v0, 0x150($v1)
/* 38C8 800284C8 8663000E */  lh        $v1, 0xE($s3)
/* 38CC 800284CC 02229021 */  addu      $s2, $s1, $v0
/* 38D0 800284D0 0203102A */  slt       $v0, $s0, $v1
/* 38D4 800284D4 54400001 */  bnel      $v0, $zero, .L800284DC
/* 38D8 800284D8 0060802D */   daddu    $s0, $v1, $zero
.L800284DC:
/* 38DC 800284DC 86640010 */  lh        $a0, 0x10($s3)
/* 38E0 800284E0 0224102A */  slt       $v0, $s1, $a0
/* 38E4 800284E4 54400001 */  bnel      $v0, $zero, .L800284EC
/* 38E8 800284E8 0080882D */   daddu    $s1, $a0, $zero
.L800284EC:
/* 38EC 800284EC 8662000A */  lh        $v0, 0xA($s3)
/* 38F0 800284F0 00621821 */  addu      $v1, $v1, $v0
/* 38F4 800284F4 0074102A */  slt       $v0, $v1, $s4
/* 38F8 800284F8 54400001 */  bnel      $v0, $zero, .L80028500
/* 38FC 800284FC 0060A02D */   daddu    $s4, $v1, $zero
.L80028500:
/* 3900 80028500 8662000C */  lh        $v0, 0xC($s3)
/* 3904 80028504 00821821 */  addu      $v1, $a0, $v0
/* 3908 80028508 0072102A */  slt       $v0, $v1, $s2
/* 390C 8002850C 54400001 */  bnel      $v0, $zero, .L80028514
/* 3910 80028510 0060902D */   daddu    $s2, $v1, $zero
.L80028514:
/* 3914 80028514 06020001 */  bltzl     $s0, .L8002851C
/* 3918 80028518 0000802D */   daddu    $s0, $zero, $zero
.L8002851C:
/* 391C 8002851C 06220001 */  bltzl     $s1, .L80028524
/* 3920 80028520 0000882D */   daddu    $s1, $zero, $zero
.L80028524:
/* 3924 80028524 5A800001 */  blezl     $s4, .L8002852C
/* 3928 80028528 24140001 */   addiu    $s4, $zero, 0x1
.L8002852C:
/* 392C 8002852C 5A400001 */  blezl     $s2, .L80028534
/* 3930 80028530 24120001 */   addiu    $s2, $zero, 0x1
.L80028534:
/* 3934 80028534 2A020140 */  slti      $v0, $s0, 0x140
/* 3938 80028538 50400001 */  beql      $v0, $zero, .L80028540
/* 393C 8002853C 2410013F */   addiu    $s0, $zero, 0x13F
.L80028540:
/* 3940 80028540 2A2200F0 */  slti      $v0, $s1, 0xF0
/* 3944 80028544 50400001 */  beql      $v0, $zero, .L8002854C
/* 3948 80028548 241100EF */   addiu    $s1, $zero, 0xEF
.L8002854C:
/* 394C 8002854C 2A820141 */  slti      $v0, $s4, 0x141
/* 3950 80028550 50400001 */  beql      $v0, $zero, .L80028558
/* 3954 80028554 24140140 */   addiu    $s4, $zero, 0x140
.L80028558:
/* 3958 80028558 2A4200F1 */  slti      $v0, $s2, 0xF1
/* 395C 8002855C 50400001 */  beql      $v0, $zero, .L80028564
/* 3960 80028560 241200F0 */   addiu    $s2, $zero, 0xF0
.L80028564:
/* 3964 80028564 3C028007 */  lui       $v0, %hi(gGameStatusPtr)
/* 3968 80028568 8C42419C */  lw        $v0, %lo(gGameStatusPtr)($v0)
/* 396C 8002856C 94420148 */  lhu       $v0, 0x148($v0)
/* 3970 80028570 30420001 */  andi      $v0, $v0, 0x1
/* 3974 80028574 14400017 */  bnez      $v0, .L800285D4
/* 3978 80028578 3C04F600 */   lui      $a0, (0xF6000000 >> 16)
/* 397C 8002857C 3C03800A */  lui       $v1, %hi(gMainGfxPos)
/* 3980 80028580 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* 3984 80028584 8C620000 */  lw        $v0, 0x0($v1)
/* 3988 80028588 0040282D */  daddu     $a1, $v0, $zero
/* 398C 8002858C 24420008 */  addiu     $v0, $v0, 0x8
/* 3990 80028590 AC620000 */  sw        $v0, 0x0($v1)
/* 3994 80028594 2683FFFF */  addiu     $v1, $s4, -0x1
/* 3998 80028598 306303FF */  andi      $v1, $v1, 0x3FF
/* 399C 8002859C 00031B80 */  sll       $v1, $v1, 14
/* 39A0 800285A0 2642FFFF */  addiu     $v0, $s2, -0x1
/* 39A4 800285A4 304203FF */  andi      $v0, $v0, 0x3FF
/* 39A8 800285A8 00021080 */  sll       $v0, $v0, 2
/* 39AC 800285AC 00441025 */  or        $v0, $v0, $a0
/* 39B0 800285B0 00621825 */  or        $v1, $v1, $v0
/* 39B4 800285B4 ACA30000 */  sw        $v1, 0x0($a1)
/* 39B8 800285B8 320303FF */  andi      $v1, $s0, 0x3FF
/* 39BC 800285BC 00031B80 */  sll       $v1, $v1, 14
/* 39C0 800285C0 322203FF */  andi      $v0, $s1, 0x3FF
/* 39C4 800285C4 00021080 */  sll       $v0, $v0, 2
/* 39C8 800285C8 00621825 */  or        $v1, $v1, $v0
/* 39CC 800285CC 0800A177 */  j         .L800285DC
/* 39D0 800285D0 ACA30004 */   sw       $v1, 0x4($a1)
.L800285D4:
/* 39D4 800285D4 0C0517B0 */  jal       appendGfx_background_texture
/* 39D8 800285D8 00000000 */   nop
.L800285DC:
/* 39DC 800285DC 3C04E300 */  lui       $a0, (0xE3000A01 >> 16)
/* 39E0 800285E0 34840A01 */  ori       $a0, $a0, (0xE3000A01 & 0xFFFF)
/* 39E4 800285E4 3C05E200 */  lui       $a1, (0xE200001C >> 16)
/* 39E8 800285E8 34A5001C */  ori       $a1, $a1, (0xE200001C & 0xFFFF)
/* 39EC 800285EC 3C060001 */  lui       $a2, (0x10001 >> 16)
/* 39F0 800285F0 3C08800A */  lui       $t0, %hi(gMainGfxPos)
/* 39F4 800285F4 2508A66C */  addiu     $t0, $t0, %lo(gMainGfxPos)
/* 39F8 800285F8 34C60001 */  ori       $a2, $a2, (0x10001 & 0xFFFF)
/* 39FC 800285FC 8D070000 */  lw        $a3, 0x0($t0)
/* 3A00 80028600 3C03E700 */  lui       $v1, (0xE7000000 >> 16)
/* 3A04 80028604 00E0102D */  daddu     $v0, $a3, $zero
/* 3A08 80028608 24E70008 */  addiu     $a3, $a3, 0x8
/* 3A0C 8002860C AD070000 */  sw        $a3, 0x0($t0)
/* 3A10 80028610 AC430000 */  sw        $v1, 0x0($v0)
/* 3A14 80028614 AC400004 */  sw        $zero, 0x4($v0)
/* 3A18 80028618 24E20008 */  addiu     $v0, $a3, 0x8
/* 3A1C 8002861C AD020000 */  sw        $v0, 0x0($t0)
/* 3A20 80028620 3C020030 */  lui       $v0, (0x300000 >> 16)
/* 3A24 80028624 ACE20004 */  sw        $v0, 0x4($a3)
/* 3A28 80028628 24E20010 */  addiu     $v0, $a3, 0x10
/* 3A2C 8002862C ACE40000 */  sw        $a0, 0x0($a3)
/* 3A30 80028630 AD020000 */  sw        $v0, 0x0($t0)
/* 3A34 80028634 24E20018 */  addiu     $v0, $a3, 0x18
/* 3A38 80028638 ACE50008 */  sw        $a1, 0x8($a3)
/* 3A3C 8002863C ACE0000C */  sw        $zero, 0xC($a3)
/* 3A40 80028640 AD020000 */  sw        $v0, 0x0($t0)
/* 3A44 80028644 3C02F700 */  lui       $v0, (0xF7000000 >> 16)
/* 3A48 80028648 ACE20010 */  sw        $v0, 0x10($a3)
/* 3A4C 8002864C 24E20020 */  addiu     $v0, $a3, 0x20
/* 3A50 80028650 ACE60014 */  sw        $a2, 0x14($a3)
/* 3A54 80028654 AD020000 */  sw        $v0, 0x0($t0)
/* 3A58 80028658 ACE30018 */  sw        $v1, 0x18($a3)
/* 3A5C 8002865C 1A20000F */  blez      $s1, .L8002869C
/* 3A60 80028660 ACE0001C */   sw       $zero, 0x1C($a3)
/* 3A64 80028664 3C03F64F */  lui       $v1, (0xF64FC000 >> 16)
/* 3A68 80028668 3463C000 */  ori       $v1, $v1, (0xF64FC000 & 0xFFFF)
/* 3A6C 8002866C 24E20028 */  addiu     $v0, $a3, 0x28
/* 3A70 80028670 AD020000 */  sw        $v0, 0x0($t0)
/* 3A74 80028674 2622FFFF */  addiu     $v0, $s1, -0x1
/* 3A78 80028678 304203FF */  andi      $v0, $v0, 0x3FF
/* 3A7C 8002867C 00021080 */  sll       $v0, $v0, 2
/* 3A80 80028680 00431025 */  or        $v0, $v0, $v1
/* 3A84 80028684 ACE20020 */  sw        $v0, 0x20($a3)
/* 3A88 80028688 24E20030 */  addiu     $v0, $a3, 0x30
/* 3A8C 8002868C ACE00024 */  sw        $zero, 0x24($a3)
/* 3A90 80028690 AD020000 */  sw        $v0, 0x0($t0)
/* 3A94 80028694 ACE00028 */  sw        $zero, 0x28($a3)
/* 3A98 80028698 ACE0002C */  sw        $zero, 0x2C($a3)
.L8002869C:
/* 3A9C 8002869C 1A000015 */  blez      $s0, .L800286F4
/* 3AA0 800286A0 2603FFFF */   addiu    $v1, $s0, -0x1
/* 3AA4 800286A4 306303FF */  andi      $v1, $v1, 0x3FF
/* 3AA8 800286A8 00031B80 */  sll       $v1, $v1, 14
/* 3AAC 800286AC 2642FFFF */  addiu     $v0, $s2, -0x1
/* 3AB0 800286B0 304203FF */  andi      $v0, $v0, 0x3FF
/* 3AB4 800286B4 00021080 */  sll       $v0, $v0, 2
/* 3AB8 800286B8 3C04F600 */  lui       $a0, (0xF6000000 >> 16)
/* 3ABC 800286BC 00441025 */  or        $v0, $v0, $a0
/* 3AC0 800286C0 00621825 */  or        $v1, $v1, $v0
/* 3AC4 800286C4 322203FF */  andi      $v0, $s1, 0x3FF
/* 3AC8 800286C8 8D050000 */  lw        $a1, 0x0($t0)
/* 3ACC 800286CC 00021080 */  sll       $v0, $v0, 2
/* 3AD0 800286D0 00A0302D */  daddu     $a2, $a1, $zero
/* 3AD4 800286D4 24A50008 */  addiu     $a1, $a1, 0x8
/* 3AD8 800286D8 AD050000 */  sw        $a1, 0x0($t0)
/* 3ADC 800286DC ACC20004 */  sw        $v0, 0x4($a2)
/* 3AE0 800286E0 24A20008 */  addiu     $v0, $a1, 0x8
/* 3AE4 800286E4 ACC30000 */  sw        $v1, 0x0($a2)
/* 3AE8 800286E8 AD020000 */  sw        $v0, 0x0($t0)
/* 3AEC 800286EC ACA00000 */  sw        $zero, 0x0($a1)
/* 3AF0 800286F0 ACA00004 */  sw        $zero, 0x4($a1)
.L800286F4:
/* 3AF4 800286F4 2A820140 */  slti      $v0, $s4, 0x140
/* 3AF8 800286F8 10400015 */  beqz      $v0, .L80028750
/* 3AFC 800286FC 3C03F64F */   lui      $v1, (0xF64FC000 >> 16)
/* 3B00 80028700 3463C000 */  ori       $v1, $v1, (0xF64FC000 & 0xFFFF)
/* 3B04 80028704 2642FFFF */  addiu     $v0, $s2, -0x1
/* 3B08 80028708 304203FF */  andi      $v0, $v0, 0x3FF
/* 3B0C 8002870C 00021080 */  sll       $v0, $v0, 2
/* 3B10 80028710 00431025 */  or        $v0, $v0, $v1
/* 3B14 80028714 328303FF */  andi      $v1, $s4, 0x3FF
/* 3B18 80028718 8D040000 */  lw        $a0, 0x0($t0)
/* 3B1C 8002871C 00031B80 */  sll       $v1, $v1, 14
/* 3B20 80028720 0080282D */  daddu     $a1, $a0, $zero
/* 3B24 80028724 24840008 */  addiu     $a0, $a0, 0x8
/* 3B28 80028728 AD040000 */  sw        $a0, 0x0($t0)
/* 3B2C 8002872C ACA20000 */  sw        $v0, 0x0($a1)
/* 3B30 80028730 322203FF */  andi      $v0, $s1, 0x3FF
/* 3B34 80028734 00021080 */  sll       $v0, $v0, 2
/* 3B38 80028738 00621825 */  or        $v1, $v1, $v0
/* 3B3C 8002873C 24820008 */  addiu     $v0, $a0, 0x8
/* 3B40 80028740 ACA30004 */  sw        $v1, 0x4($a1)
/* 3B44 80028744 AD020000 */  sw        $v0, 0x0($t0)
/* 3B48 80028748 AC800000 */  sw        $zero, 0x0($a0)
/* 3B4C 8002874C AC800004 */  sw        $zero, 0x4($a0)
.L80028750:
/* 3B50 80028750 2A4200F0 */  slti      $v0, $s2, 0xF0
/* 3B54 80028754 1040000E */  beqz      $v0, .L80028790
/* 3B58 80028758 3C02F64F */   lui      $v0, (0xF64FC3BC >> 16)
/* 3B5C 8002875C 8D030000 */  lw        $v1, 0x0($t0)
/* 3B60 80028760 3442C3BC */  ori       $v0, $v0, (0xF64FC3BC & 0xFFFF)
/* 3B64 80028764 0060202D */  daddu     $a0, $v1, $zero
/* 3B68 80028768 24630008 */  addiu     $v1, $v1, 0x8
/* 3B6C 8002876C AD030000 */  sw        $v1, 0x0($t0)
/* 3B70 80028770 AC820000 */  sw        $v0, 0x0($a0)
/* 3B74 80028774 324203FF */  andi      $v0, $s2, 0x3FF
/* 3B78 80028778 00021080 */  sll       $v0, $v0, 2
/* 3B7C 8002877C AC820004 */  sw        $v0, 0x4($a0)
/* 3B80 80028780 24620008 */  addiu     $v0, $v1, 0x8
/* 3B84 80028784 AD020000 */  sw        $v0, 0x0($t0)
/* 3B88 80028788 AC600000 */  sw        $zero, 0x0($v1)
/* 3B8C 8002878C AC600004 */  sw        $zero, 0x4($v1)
.L80028790:
/* 3B90 80028790 3C03800A */  lui       $v1, %hi(gMainGfxPos)
/* 3B94 80028794 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* 3B98 80028798 8C620000 */  lw        $v0, 0x0($v1)
/* 3B9C 8002879C 0040202D */  daddu     $a0, $v0, $zero
/* 3BA0 800287A0 24420008 */  addiu     $v0, $v0, 0x8
/* 3BA4 800287A4 AC620000 */  sw        $v0, 0x0($v1)
/* 3BA8 800287A8 3C02E700 */  lui       $v0, (0xE7000000 >> 16)
/* 3BAC 800287AC AC820000 */  sw        $v0, 0x0($a0)
/* 3BB0 800287B0 AC800004 */  sw        $zero, 0x4($a0)
.L800287B4:
/* 3BB4 800287B4 8FBF0044 */  lw        $ra, 0x44($sp)
/* 3BB8 800287B8 8FBE0040 */  lw        $fp, 0x40($sp)
/* 3BBC 800287BC 8FB7003C */  lw        $s7, 0x3C($sp)
/* 3BC0 800287C0 8FB60038 */  lw        $s6, 0x38($sp)
/* 3BC4 800287C4 8FB50034 */  lw        $s5, 0x34($sp)
/* 3BC8 800287C8 8FB40030 */  lw        $s4, 0x30($sp)
/* 3BCC 800287CC 8FB3002C */  lw        $s3, 0x2C($sp)
/* 3BD0 800287D0 8FB20028 */  lw        $s2, 0x28($sp)
/* 3BD4 800287D4 8FB10024 */  lw        $s1, 0x24($sp)
/* 3BD8 800287D8 8FB00020 */  lw        $s0, 0x20($sp)
/* 3BDC 800287DC 03E00008 */  jr        $ra
/* 3BE0 800287E0 27BD0048 */   addiu    $sp, $sp, 0x48
/* 3BE4 800287E4 00000000 */  nop
/* 3BE8 800287E8 00000000 */  nop
/* 3BEC 800287EC 00000000 */  nop

### DECOMPILED C INSTRUCTIONS:

void gfx_draw_background(void) {
    Camera* camera;
    s32 bgFlags;
    s32 backgroundMinX;
    s32 backgroundMaxX;
    s32 backgroundMinY;
    s32 backgroundMaxY;
    s32 viewportStartX;
    s32 i;
    s32 a = SCREEN_COPY_TILE_HEIGHT << 2;

    gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);

    camera = &gCameras[gCurrentCameraID];
    bgFlags = gGameStatusPtr->backgroundFlags & BACKGROUND_RENDER_STATE_MASK;

    switch (bgFlags) {
        case BACKGROUND_RENDER_STATE_1:
            // Save coverage to nunGfxCfb[1] using the VISCVG render mode
            gDPPipeSync(gMainGfxPos++);
            gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb[1]);
            gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
            gDPSetBlendColor(gMainGfxPos++, 0x80, 0x80, 0x80, 0xFF);
            gDPSetPrimDepth(gMainGfxPos++, 0xFFFF, 0xFFFF);
            gDPSetDepthSource(gMainGfxPos++, G_ZS_PRIM);
            gDPSetRenderMode(gMainGfxPos++, G_RM_VISCVG, G_RM_VISCVG2);
            gDPFillRectangle(gMainGfxPos++, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
            gDPPipeSync(gMainGfxPos++);
            gDPSetDepthSource(gMainGfxPos++, G_ZS_PIXEL);
            gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK;
            gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_2;
            break;
        case BACKGROUND_RENDER_STATE_2:
            // Save the framebuffer into the depth buffer and run a filter on it based on the saved coverage values
            gfx_transfer_frame_to_depth(nuGfxCfb[0], nuGfxCfb[1], nuGfxZBuffer); // applies filters to the framebuffer
            gPauseBackgroundFade = 0;
            gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK;
            gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_3;
            // fallthrough
        case BACKGROUND_RENDER_STATE_3:
            // Draw the saved framebuffer to the background, fading in at a rate of 16 opacity per frame until reaching 128 opacity
            gPauseBackgroundFade += 16;
            if (gPauseBackgroundFade > 128) {
                gPauseBackgroundFade = 128;
            }

            gDPPipeSync(gMainGfxPos++);
            gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
            gDPSetCycleType(gMainGfxPos++, G_CYC_FILL);
            gDPSetRenderMode(gMainGfxPos++, G_RM_NOOP, G_RM_NOOP2);
            gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb_ptr);
            gDPSetFillColor(gMainGfxPos++, PACK_FILL_COLOR(0, 0, 0, 1));
            gDPFillRectangle(gMainGfxPos++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
            gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
            gDPSetTexturePersp(gMainGfxPos++, G_TP_NONE);
            gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE);
            gDPSetRenderMode(gMainGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
            // @bug In 1-cycle mode, the two combiner cycles should be identical. Using Texel1 here in the second cycle,
            // which is the actual cycle of the combiner used on hardware in 1-cycle mode, actually samples the next
            // pixel's texel value instead of the current pixel's. This results in a one-pixel offset.
            gDPSetCombineLERP(gMainGfxPos++, PRIMITIVE, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, 0, 0, 0, 1, PRIMITIVE, TEXEL1, PRIMITIVE_ALPHA, TEXEL1, 0, 0, 0, 1);
            gDPSetPrimColor(gMainGfxPos++, 0, 0, 40, 40, 40, gPauseBackgroundFade);
            gDPSetTextureFilter(gMainGfxPos++, G_TF_POINT);

            for (i = 0; i < 40; i++) {
                gDPLoadTextureTile(gMainGfxPos++, nuGfxZBuffer + (i * SCREEN_WIDTH * SCREEN_COPY_TILE_HEIGHT), G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
                                   SCREEN_HEIGHT, 0, 0, SCREEN_WIDTH - 1, SCREEN_COPY_TILE_HEIGHT - 1, 0, G_TX_NOMIRROR | G_TX_WRAP,
                                   G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
                // @bug Due to the previous issue with the incorrect second cycle combiner, the devs added a 1-pixel offset to texture coordinates
                // in this texrect to compensate for the combiner error.
                gSPTextureRectangle(gMainGfxPos++,
                                    // ulx, uly, lrx, lry
                                    0 << 2, i * a, SCREEN_WIDTH << 2, a + (i * (SCREEN_COPY_TILE_HEIGHT << 2)),
                                    // tile
                                    G_TX_RENDERTILE,
                                    // s, t, dsdx, dtdy
                                    -1 << 5, 0 << 5, 1 << 10, 1 << 10);
                gDPPipeSync(gMainGfxPos++);
            }
            break;
        default:
            // Draw the scene's background as normal
            if (gOverrideFlags & GLOBAL_OVERRIDES_8) {
                gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr));
                return;
            }

            gDPSetDepthImage(gMainGfxPos++, OS_K0_TO_PHYSICAL(nuGfxZBuffer));
            gDPSetCycleType(gMainGfxPos++, G_CYC_FILL);
            gDPSetRenderMode(gMainGfxPos++, G_RM_NOOP, G_RM_NOOP2);
            gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, OS_K0_TO_PHYSICAL(nuGfxZBuffer));
            gDPSetFillColor(gMainGfxPos++, PACK_FILL_DEPTH(G_MAXFBZ, 0));
            gDPFillRectangle(gMainGfxPos++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
            gDPPipeSync(gMainGfxPos++);
            gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr));
            gDPSetFillColor(gMainGfxPos++, PACK_FILL_COLOR(camera->bgColor[0], camera->bgColor[1], camera->bgColor[2], 1));

            backgroundMinX = gGameStatusPtr->backgroundMinX;
            backgroundMaxX = backgroundMinX + gGameStatusPtr->backgroundMaxX;
            backgroundMinY = gGameStatusPtr->backgroundMinY;
            backgroundMaxY = backgroundMinY + gGameStatusPtr->backgroundMaxY;
            viewportStartX = camera->viewportStartX;

            if (backgroundMinX < viewportStartX) {
                backgroundMinX = viewportStartX;
            }

            if (backgroundMinY < camera->viewportStartY) {
                backgroundMinY = camera->viewportStartY;
            }

            if (backgroundMaxX > viewportStartX + camera->viewportW) {
                backgroundMaxX = viewportStartX + camera->viewportW;
            }

            if (backgroundMaxY > camera->viewportStartY + camera->viewportH) {
                backgroundMaxY = camera->viewportStartY + camera->viewportH;
            }

            if (backgroundMinX < 0) {
                backgroundMinX = 0;
            }

            if (backgroundMinY < 0) {
                backgroundMinY = 0;
            }

            if (backgroundMaxX < 1) {
                backgroundMaxX = 1;
            }

            if (backgroundMaxY < 1) {
                backgroundMaxY = 1;
            }

            if (backgroundMinX > SCREEN_WIDTH - 1) {
                backgroundMinX = SCREEN_WIDTH - 1;
            }

            if (backgroundMinY > SCREEN_HEIGHT - 1) {
                backgroundMinY = SCREEN_HEIGHT - 1;
            }

            if (backgroundMaxX > SCREEN_WIDTH) {
                backgroundMaxX = SCREEN_WIDTH;
            }

            if (backgroundMaxY > SCREEN_HEIGHT) {
                backgroundMaxY = SCREEN_HEIGHT;
            }

            if (!(gGameStatusPtr->backgroundFlags & BACKGROUND_FLAG_TEXTURE)) {
                gDPFillRectangle(gMainGfxPos++, backgroundMinX, backgroundMinY, backgroundMaxX - 1, backgroundMaxY - 1);
            } else {
                appendGfx_background_texture();
            }

            gDPPipeSync(gMainGfxPos++);
            gDPSetCycleType(gMainGfxPos++, G_CYC_FILL);
            gDPSetRenderMode(gMainGfxPos++, G_RM_NOOP, G_RM_NOOP2);
            gDPSetFillColor(gMainGfxPos++, PACK_FILL_COLOR(0, 0, 0, 1));
            gDPPipeSync(gMainGfxPos++);

            if (backgroundMinY > 0) {
                gDPFillRectangle(gMainGfxPos++, 0, 0, SCREEN_WIDTH - 1, backgroundMinY - 1);
                gDPNoOp(gMainGfxPos++);
            }

            if (backgroundMinX > 0) {
                gDPFillRectangle(gMainGfxPos++, 0, backgroundMinY, backgroundMinX - 1, backgroundMaxY - 1);
                gDPNoOp(gMainGfxPos++);
            }

            if (backgroundMaxX < SCREEN_WIDTH) {
                gDPFillRectangle(gMainGfxPos++, backgroundMaxX, backgroundMinY, SCREEN_WIDTH - 1, backgroundMaxY - 1);
                gDPNoOp(gMainGfxPos++);
            }

            if (backgroundMaxY < SCREEN_HEIGHT) {
                gDPFillRectangle(gMainGfxPos++, 0, backgroundMaxY, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
                gDPNoOp(gMainGfxPos++);
            }
            break;
    }
    gDPPipeSync(gMainGfxPos++);
}