### RAW ASSEMBLY INSTRUCTIONS:

glabel au_pull_voice
/* 33450 80058050 27BDFFA0 */  addiu     $sp, $sp, -0x60
/* 33454 80058054 AFB60050 */  sw        $s6, 0x50($sp)
/* 33458 80058058 00A0B02D */  daddu     $s6, $a1, $zero
/* 3345C 8005805C AFB1003C */  sw        $s1, 0x3C($sp)
/* 33460 80058060 02C0882D */  daddu     $s1, $s6, $zero
/* 33464 80058064 AFB70054 */  sw        $s7, 0x54($sp)
/* 33468 80058068 AFA40060 */  sw        $a0, 0x60($sp)
/* 3346C 8005806C 24970048 */  addiu     $s7, $a0, 0x48
/* 33470 80058070 24880038 */  addiu     $t0, $a0, 0x38
/* 33474 80058074 AFB20040 */  sw        $s2, 0x40($sp)
/* 33478 80058078 AFBF005C */  sw        $ra, 0x5C($sp)
/* 3347C 8005807C AFBE0058 */  sw        $fp, 0x58($sp)
/* 33480 80058080 AFB5004C */  sw        $s5, 0x4C($sp)
/* 33484 80058084 AFB40048 */  sw        $s4, 0x48($sp)
/* 33488 80058088 AFB30044 */  sw        $s3, 0x44($sp)
/* 3348C 8005808C AFB00038 */  sw        $s0, 0x38($sp)
/* 33490 80058090 AFA80020 */  sw        $t0, 0x20($sp)
/* 33494 80058094 8C830070 */  lw        $v1, 0x70($a0)
/* 33498 80058098 24020001 */  addiu     $v0, $zero, 0x1
/* 3349C 8005809C 14620293 */  bne       $v1, $v0, .L80058AEC
/* 334A0 800580A0 24920004 */   addiu    $s2, $a0, 0x4
/* 334A4 800580A4 8FA80060 */  lw        $t0, 0x60($sp)
/* 334A8 800580A8 C500003C */  lwc1      $f0, 0x3C($t0)
/* 334AC 800580AC 3C01800A */  lui       $at, %hi(D_80098930)
/* 334B0 800580B0 D4228930 */  ldc1      $f2, %lo(D_80098930)($at)
/* 334B4 800580B4 46000021 */  cvt.d.s   $f0, $f0
/* 334B8 800580B8 4620103C */  c.lt.d    $f2, $f0
/* 334BC 800580BC 00000000 */  nop
/* 334C0 800580C0 45000007 */  bc1f      .L800580E0
/* 334C4 800580C4 241E0170 */   addiu    $fp, $zero, 0x170
/* 334C8 800580C8 3C013FFF */  lui       $at, (0x3FFFFEB0 >> 16)
/* 334CC 800580CC 3421FEB0 */  ori       $at, $at, (0x3FFFFEB0 & 0xFFFF)
/* 334D0 800580D0 44810000 */  mtc1      $at, $f0
/* 334D4 800580D4 00000000 */  nop
/* 334D8 800580D8 E500003C */  swc1      $f0, 0x3C($t0)
/* 334DC 800580DC 8FA80060 */  lw        $t0, 0x60($sp)
.L800580E0:
/* 334E0 800580E0 3C014700 */  lui       $at, (0x47000000 >> 16)
/* 334E4 800580E4 44811000 */  mtc1      $at, $f2
/* 334E8 800580E8 C500003C */  lwc1      $f0, 0x3C($t0)
/* 334EC 800580EC 46020002 */  mul.s     $f0, $f0, $f2
/* 334F0 800580F0 00000000 */  nop
/* 334F4 800580F4 4600018D */  trunc.w.s $f6, $f0
/* 334F8 800580F8 44023000 */  mfc1      $v0, $f6
/* 334FC 800580FC 3C013800 */  lui       $at, (0x38000000 >> 16)
/* 33500 80058100 44810000 */  mtc1      $at, $f0
/* 33504 80058104 44822000 */  mtc1      $v0, $f4
/* 33508 80058108 00000000 */  nop
/* 3350C 8005810C 46802120 */  cvt.s.w   $f4, $f4
/* 33510 80058110 46002102 */  mul.s     $f4, $f4, $f0
/* 33514 80058114 00000000 */  nop
/* 33518 80058118 3C014338 */  lui       $at, (0x43380000 >> 16)
/* 3351C 8005811C 44810000 */  mtc1      $at, $f0
/* 33520 80058120 00000000 */  nop
/* 33524 80058124 46002002 */  mul.s     $f0, $f4, $f0
/* 33528 80058128 00000000 */  nop
/* 3352C 8005812C 8FA80060 */  lw        $t0, 0x60($sp)
/* 33530 80058130 C5020040 */  lwc1      $f2, 0x40($t0)
/* 33534 80058134 46001080 */  add.s     $f2, $f2, $f0
/* 33538 80058138 4600118D */  trunc.w.s $f6, $f2
/* 3353C 8005813C 44143000 */  mfc1      $s4, $f6
/* 33540 80058140 00000000 */  nop
/* 33544 80058144 44940000 */  mtc1      $s4, $f0
/* 33548 80058148 00000000 */  nop
/* 3354C 8005814C 46800020 */  cvt.s.w   $f0, $f0
/* 33550 80058150 46001081 */  sub.s     $f2, $f2, $f0
/* 33554 80058154 8FA80060 */  lw        $t0, 0x60($sp)
/* 33558 80058158 E504003C */  swc1      $f4, 0x3C($t0)
/* 3355C 8005815C 128001BA */  beqz      $s4, .L80058848
/* 33560 80058160 E5020040 */   swc1     $f2, 0x40($t0)
/* 33564 80058164 8E470014 */  lw        $a3, 0x14($s2)
/* 33568 80058168 90E20024 */  lbu       $v0, 0x24($a3)
/* 3356C 8005816C 144000F2 */  bnez      $v0, .L80058538
/* 33570 80058170 3C0300FF */   lui      $v1, (0xFFFFFF >> 16)
/* 33574 80058174 3463FFFF */  ori       $v1, $v1, (0xFFFFFF & 0xFFFF)
/* 33578 80058178 AFA00024 */  sw        $zero, 0x24($sp)
/* 3357C 8005817C 8D02001C */  lw        $v0, 0x1C($t0)
/* 33580 80058180 3C041FFF */  lui       $a0, (0x1FFFFFFF >> 16)
/* 33584 80058184 00431024 */  and       $v0, $v0, $v1
/* 33588 80058188 3C030B00 */  lui       $v1, (0xB000000 >> 16)
/* 3358C 8005818C 00431025 */  or        $v0, $v0, $v1
/* 33590 80058190 AE220000 */  sw        $v0, 0x0($s1)
/* 33594 80058194 8E420014 */  lw        $v0, 0x14($s2)
/* 33598 80058198 3484FFFF */  ori       $a0, $a0, (0x1FFFFFFF & 0xFFFF)
/* 3359C 8005819C 8C420018 */  lw        $v0, 0x18($v0)
/* 335A0 800581A0 8FA50024 */  lw        $a1, 0x24($sp)
/* 335A4 800581A4 00441024 */  and       $v0, $v0, $a0
/* 335A8 800581A8 AE220004 */  sw        $v0, 0x4($s1)
/* 335AC 800581AC 8D040028 */  lw        $a0, 0x28($t0)
/* 335B0 800581B0 8D030010 */  lw        $v1, 0x10($t0)
/* 335B4 800581B4 02841021 */  addu      $v0, $s4, $a0
/* 335B8 800581B8 0062102B */  sltu      $v0, $v1, $v0
/* 335BC 800581BC 10400003 */  beqz      $v0, .L800581CC
/* 335C0 800581C0 26D60008 */   addiu    $s6, $s6, 0x8
/* 335C4 800581C4 8D020014 */  lw        $v0, 0x14($t0)
/* 335C8 800581C8 0002282B */  sltu      $a1, $zero, $v0
.L800581CC:
/* 335CC 800581CC 10A00002 */  beqz      $a1, .L800581D8
/* 335D0 800581D0 0280802D */   daddu    $s0, $s4, $zero
/* 335D4 800581D4 00648023 */  subu      $s0, $v1, $a0
.L800581D8:
/* 335D8 800581D8 8E430028 */  lw        $v1, 0x28($s2)
/* 335DC 800581DC 10600003 */  beqz      $v1, .L800581EC
/* 335E0 800581E0 24020010 */   addiu    $v0, $zero, 0x10
/* 335E4 800581E4 0801607C */  j         .L800581F0
/* 335E8 800581E8 0043A823 */   subu     $s5, $v0, $v1
.L800581EC:
/* 335EC 800581EC 0000A82D */  daddu     $s5, $zero, $zero
.L800581F0:
/* 335F0 800581F0 02153023 */  subu      $a2, $s0, $s5
/* 335F4 800581F4 04C20001 */  bltzl     $a2, .L800581FC
/* 335F8 800581F8 0000302D */   daddu    $a2, $zero, $zero
.L800581FC:
/* 335FC 800581FC 24C2000F */  addiu     $v0, $a2, 0xF
/* 33600 80058200 00028903 */  sra       $s1, $v0, 4
/* 33604 80058204 001110C0 */  sll       $v0, $s1, 3
/* 33608 80058208 10A00072 */  beqz      $a1, .L800583D4
/* 3360C 8005820C 00513821 */   addu     $a3, $v0, $s1
/* 33610 80058210 02C0202D */  daddu     $a0, $s6, $zero
/* 33614 80058214 001E1400 */  sll       $v0, $fp, 16
/* 33618 80058218 00021403 */  sra       $v0, $v0, 16
/* 3361C 8005821C AFA20010 */  sw        $v0, 0x10($sp)
/* 33620 80058220 AFA00014 */  sw        $zero, 0x14($sp)
/* 33624 80058224 8E42002C */  lw        $v0, 0x2C($s2)
/* 33628 80058228 0240282D */  daddu     $a1, $s2, $zero
/* 3362C 8005822C 0C0162C8 */  jal       _decodeChunk
/* 33630 80058230 AFA20018 */   sw       $v0, 0x18($sp)
/* 33634 80058234 8E430028 */  lw        $v1, 0x28($s2)
/* 33638 80058238 10600005 */  beqz      $v1, .L80058250
/* 3363C 8005823C 0040B02D */   daddu    $s6, $v0, $zero
/* 33640 80058240 9642002A */  lhu       $v0, 0x2A($s2)
/* 33644 80058244 00021040 */  sll       $v0, $v0, 1
/* 33648 80058248 08016095 */  j         .L80058254
/* 3364C 8005824C 03C2F021 */   addu     $fp, $fp, $v0
.L80058250:
/* 33650 80058250 27DE0020 */  addiu     $fp, $fp, 0x20
.L80058254:
/* 33654 80058254 001E2C00 */  sll       $a1, $fp, 16
/* 33658 80058258 8E420008 */  lw        $v0, 0x8($s2)
/* 3365C 8005825C 00059C03 */  sra       $s3, $a1, 16
/* 33660 80058260 3042000F */  andi      $v0, $v0, 0xF
/* 33664 80058264 AE420028 */  sw        $v0, 0x28($s2)
/* 33668 80058268 8E420014 */  lw        $v0, 0x14($s2)
/* 3366C 8005826C 8E430008 */  lw        $v1, 0x8($s2)
/* 33670 80058270 8C440000 */  lw        $a0, 0x0($v0)
/* 33674 80058274 0060102D */  daddu     $v0, $v1, $zero
/* 33678 80058278 00031902 */  srl       $v1, $v1, 4
/* 3367C 8005827C 24630001 */  addiu     $v1, $v1, 0x1
/* 33680 80058280 AE420024 */  sw        $v0, 0x24($s2)
/* 33684 80058284 000310C0 */  sll       $v0, $v1, 3
/* 33688 80058288 00431021 */  addu      $v0, $v0, $v1
/* 3368C 8005828C 00822021 */  addu      $a0, $a0, $v0
/* 33690 80058290 0214102A */  slt       $v0, $s0, $s4
/* 33694 80058294 10400042 */  beqz      $v0, .L800583A0
/* 33698 80058298 AE440030 */   sw       $a0, 0x30($s2)
/* 3369C 8005829C 0000402D */  daddu     $t0, $zero, $zero
/* 336A0 800582A0 00081400 */  sll       $v0, $t0, 16
/* 336A4 800582A4 00021403 */  sra       $v0, $v0, 16
/* 336A8 800582A8 AFA2002C */  sw        $v0, 0x2C($sp)
.L800582AC:
/* 336AC 800582AC 26220001 */  addiu     $v0, $s1, 0x1
/* 336B0 800582B0 00021140 */  sll       $v0, $v0, 5
/* 336B4 800582B4 02621021 */  addu      $v0, $s3, $v0
/* 336B8 800582B8 00101840 */  sll       $v1, $s0, 1
/* 336BC 800582BC 02639821 */  addu      $s3, $s3, $v1
/* 336C0 800582C0 24420010 */  addiu     $v0, $v0, 0x10
/* 336C4 800582C4 2403FFE0 */  addiu     $v1, $zero, -0x20
/* 336C8 800582C8 0043A824 */  and       $s5, $v0, $v1
/* 336CC 800582CC 8E430010 */  lw        $v1, 0x10($s2)
/* 336D0 800582D0 2402FFFF */  addiu     $v0, $zero, -0x1
/* 336D4 800582D4 10620004 */  beq       $v1, $v0, .L800582E8
/* 336D8 800582D8 0290A023 */   subu     $s4, $s4, $s0
/* 336DC 800582DC 10600002 */  beqz      $v1, .L800582E8
/* 336E0 800582E0 00621021 */   addu     $v0, $v1, $v0
/* 336E4 800582E4 AE420010 */  sw        $v0, 0x10($s2)
.L800582E8:
/* 336E8 800582E8 8E43000C */  lw        $v1, 0xC($s2)
/* 336EC 800582EC 8E420008 */  lw        $v0, 0x8($s2)
/* 336F0 800582F0 00621823 */  subu      $v1, $v1, $v0
/* 336F4 800582F4 0283102B */  sltu      $v0, $s4, $v1
/* 336F8 800582F8 14400002 */  bnez      $v0, .L80058304
/* 336FC 800582FC 0280802D */   daddu    $s0, $s4, $zero
/* 33700 80058300 0060802D */  daddu     $s0, $v1, $zero
.L80058304:
/* 33704 80058304 8E420028 */  lw        $v0, 0x28($s2)
/* 33708 80058308 2442FFF0 */  addiu     $v0, $v0, -0x10
/* 3370C 8005830C 02023021 */  addu      $a2, $s0, $v0
/* 33710 80058310 04C20001 */  bltzl     $a2, .L80058318
/* 33714 80058314 0000302D */   daddu    $a2, $zero, $zero
.L80058318:
/* 33718 80058318 24C2000F */  addiu     $v0, $a2, 0xF
/* 3371C 8005831C 00028903 */  sra       $s1, $v0, 4
/* 33720 80058320 02C0202D */  daddu     $a0, $s6, $zero
/* 33724 80058324 0240282D */  daddu     $a1, $s2, $zero
/* 33728 80058328 00151400 */  sll       $v0, $s5, 16
/* 3372C 8005832C 00021403 */  sra       $v0, $v0, 16
/* 33730 80058330 8FA8002C */  lw        $t0, 0x2C($sp)
/* 33734 80058334 001138C0 */  sll       $a3, $s1, 3
/* 33738 80058338 AFA20010 */  sw        $v0, 0x10($sp)
/* 3373C 8005833C AFA80014 */  sw        $t0, 0x14($sp)
/* 33740 80058340 8E42002C */  lw        $v0, 0x2C($s2)
/* 33744 80058344 00F13821 */  addu      $a3, $a3, $s1
/* 33748 80058348 34420002 */  ori       $v0, $v0, 0x2
/* 3374C 8005834C 0C0162C8 */  jal       _decodeChunk
/* 33750 80058350 AFA20018 */   sw       $v0, 0x18($sp)
/* 33754 80058354 0040B02D */  daddu     $s6, $v0, $zero
/* 33758 80058358 02C0282D */  daddu     $a1, $s6, $zero
/* 3375C 8005835C 3C0600FF */  lui       $a2, (0xFFFFFF >> 16)
/* 33760 80058360 34C6FFFF */  ori       $a2, $a2, (0xFFFFFF & 0xFFFF)
/* 33764 80058364 00132400 */  sll       $a0, $s3, 16
/* 33768 80058368 00101840 */  sll       $v1, $s0, 1
/* 3376C 8005836C 3063FFFF */  andi      $v1, $v1, 0xFFFF
/* 33770 80058370 00832025 */  or        $a0, $a0, $v1
/* 33774 80058374 8E420028 */  lw        $v0, 0x28($s2)
/* 33778 80058378 3C030A00 */  lui       $v1, (0xA000000 >> 16)
/* 3377C 8005837C ACA40004 */  sw        $a0, 0x4($a1)
/* 33780 80058380 00021040 */  sll       $v0, $v0, 1
/* 33784 80058384 02A21021 */  addu      $v0, $s5, $v0
/* 33788 80058388 00461024 */  and       $v0, $v0, $a2
/* 3378C 8005838C 00431025 */  or        $v0, $v0, $v1
/* 33790 80058390 ACA20000 */  sw        $v0, 0x0($a1)
/* 33794 80058394 0214102A */  slt       $v0, $s0, $s4
/* 33798 80058398 1440FFC4 */  bnez      $v0, .L800582AC
/* 3379C 8005839C 26D60008 */   addiu    $s6, $s6, 0x8
.L800583A0:
/* 337A0 800583A0 8E420028 */  lw        $v0, 0x28($s2)
/* 337A4 800583A4 8E430024 */  lw        $v1, 0x24($s2)
/* 337A8 800583A8 02821021 */  addu      $v0, $s4, $v0
/* 337AC 800583AC 3042000F */  andi      $v0, $v0, 0xF
/* 337B0 800583B0 00741821 */  addu      $v1, $v1, $s4
/* 337B4 800583B4 AE420028 */  sw        $v0, 0x28($s2)
/* 337B8 800583B8 001110C0 */  sll       $v0, $s1, 3
/* 337BC 800583BC AE430024 */  sw        $v1, 0x24($s2)
/* 337C0 800583C0 8E430030 */  lw        $v1, 0x30($s2)
/* 337C4 800583C4 00511021 */  addu      $v0, $v0, $s1
/* 337C8 800583C8 00621821 */  addu      $v1, $v1, $v0
/* 337CC 800583CC 08016212 */  j         .L80058848
/* 337D0 800583D0 AE430030 */   sw       $v1, 0x30($s2)
.L800583D4:
/* 337D4 800583D4 8E440014 */  lw        $a0, 0x14($s2)
/* 337D8 800583D8 8E430030 */  lw        $v1, 0x30($s2)
/* 337DC 800583DC 8C820000 */  lw        $v0, 0x0($a0)
/* 337E0 800583E0 8C840004 */  lw        $a0, 0x4($a0)
/* 337E4 800583E4 00671821 */  addu      $v1, $v1, $a3
/* 337E8 800583E8 00441021 */  addu      $v0, $v0, $a0
/* 337EC 800583EC 00622023 */  subu      $a0, $v1, $v0
/* 337F0 800583F0 1C800003 */  bgtz      $a0, .L80058400
/* 337F4 800583F4 00118100 */   sll      $s0, $s1, 4
/* 337F8 800583F8 08016101 */  j         .L80058404
/* 337FC 800583FC 0000202D */   daddu    $a0, $zero, $zero
.L80058400:
/* 33800 80058400 AEE00028 */  sw        $zero, 0x28($s7)
.L80058404:
/* 33804 80058404 3C0238E3 */  lui       $v0, (0x38E38E39 >> 16)
/* 33808 80058408 34428E39 */  ori       $v0, $v0, (0x38E38E39 & 0xFFFF)
/* 3380C 8005840C 00820018 */  mult      $a0, $v0
/* 33810 80058410 00041FC3 */  sra       $v1, $a0, 31
/* 33814 80058414 00004010 */  mfhi      $t0
/* 33818 80058418 00081043 */  sra       $v0, $t0, 1
/* 3381C 8005841C 00431023 */  subu      $v0, $v0, $v1
/* 33820 80058420 00029900 */  sll       $s3, $v0, 4
/* 33824 80058424 02151821 */  addu      $v1, $s0, $s5
/* 33828 80058428 0073102A */  slt       $v0, $v1, $s3
/* 3382C 8005842C 54400001 */  bnel      $v0, $zero, .L80058434
/* 33830 80058430 0060982D */   daddu    $s3, $v1, $zero
.L80058434:
/* 33834 80058434 3262000F */  andi      $v0, $s3, 0xF
/* 33838 80058438 02621023 */  subu      $v0, $s3, $v0
/* 3383C 8005843C 0054102A */  slt       $v0, $v0, $s4
/* 33840 80058440 10400020 */  beqz      $v0, .L800584C4
/* 33844 80058444 00E43823 */   subu     $a3, $a3, $a0
/* 33848 80058448 24080001 */  addiu     $t0, $zero, 0x1
/* 3384C 8005844C 02C0202D */  daddu     $a0, $s6, $zero
/* 33850 80058450 0240282D */  daddu     $a1, $s2, $zero
/* 33854 80058454 001E1400 */  sll       $v0, $fp, 16
/* 33858 80058458 00021403 */  sra       $v0, $v0, 16
/* 3385C 8005845C AFA80024 */  sw        $t0, 0x24($sp)
/* 33860 80058460 AFA20010 */  sw        $v0, 0x10($sp)
/* 33864 80058464 AFA00014 */  sw        $zero, 0x14($sp)
/* 33868 80058468 8E42002C */  lw        $v0, 0x2C($s2)
/* 3386C 8005846C 02133023 */  subu      $a2, $s0, $s3
/* 33870 80058470 0C0162C8 */  jal       _decodeChunk
/* 33874 80058474 AFA20018 */   sw       $v0, 0x18($sp)
/* 33878 80058478 8E430028 */  lw        $v1, 0x28($s2)
/* 3387C 8005847C 10600005 */  beqz      $v1, .L80058494
/* 33880 80058480 0040B02D */   daddu    $s6, $v0, $zero
/* 33884 80058484 9642002A */  lhu       $v0, 0x2A($s2)
/* 33888 80058488 00021040 */  sll       $v0, $v0, 1
/* 3388C 8005848C 08016126 */  j         .L80058498
/* 33890 80058490 03C2F021 */   addu     $fp, $fp, $v0
.L80058494:
/* 33894 80058494 27DE0020 */  addiu     $fp, $fp, 0x20
.L80058498:
/* 33898 80058498 8E420028 */  lw        $v0, 0x28($s2)
/* 3389C 8005849C 8E430024 */  lw        $v1, 0x24($s2)
/* 338A0 800584A0 02821021 */  addu      $v0, $s4, $v0
/* 338A4 800584A4 3042000F */  andi      $v0, $v0, 0xF
/* 338A8 800584A8 00741821 */  addu      $v1, $v1, $s4
/* 338AC 800584AC AE420028 */  sw        $v0, 0x28($s2)
/* 338B0 800584B0 001110C0 */  sll       $v0, $s1, 3
/* 338B4 800584B4 AE430024 */  sw        $v1, 0x24($s2)
/* 338B8 800584B8 8E430030 */  lw        $v1, 0x30($s2)
/* 338BC 800584BC 08016135 */  j         .L800584D4
/* 338C0 800584C0 00511021 */   addu     $v0, $v0, $s1
.L800584C4:
/* 338C4 800584C4 001110C0 */  sll       $v0, $s1, 3
/* 338C8 800584C8 8E430030 */  lw        $v1, 0x30($s2)
/* 338CC 800584CC 00511021 */  addu      $v0, $v0, $s1
/* 338D0 800584D0 AE400028 */  sw        $zero, 0x28($s2)
.L800584D4:
/* 338D4 800584D4 00621821 */  addu      $v1, $v1, $v0
/* 338D8 800584D8 126000DB */  beqz      $s3, .L80058848
/* 338DC 800584DC AE430030 */   sw       $v1, 0x30($s2)
/* 338E0 800584E0 AE400028 */  sw        $zero, 0x28($s2)
/* 338E4 800584E4 8FA80024 */  lw        $t0, 0x24($sp)
/* 338E8 800584E8 11000004 */  beqz      $t0, .L800584FC
/* 338EC 800584EC 02B01021 */   addu     $v0, $s5, $s0
/* 338F0 800584F0 00531023 */  subu      $v0, $v0, $s3
/* 338F4 800584F4 08016140 */  j         .L80058500
/* 338F8 800584F8 00022840 */   sll      $a1, $v0, 1
.L800584FC:
/* 338FC 800584FC 0000282D */  daddu     $a1, $zero, $zero
.L80058500:
/* 33900 80058500 02C0202D */  daddu     $a0, $s6, $zero
/* 33904 80058504 26D60008 */  addiu     $s6, $s6, 0x8
/* 33908 80058508 3C0300FF */  lui       $v1, (0xFFFFFF >> 16)
/* 3390C 8005850C 3463FFFF */  ori       $v1, $v1, (0xFFFFFF & 0xFFFF)
/* 33910 80058510 001E1400 */  sll       $v0, $fp, 16
/* 33914 80058514 00021403 */  sra       $v0, $v0, 16
/* 33918 80058518 00A21021 */  addu      $v0, $a1, $v0
/* 3391C 8005851C 00431024 */  and       $v0, $v0, $v1
/* 33920 80058520 3C030200 */  lui       $v1, (0x2000000 >> 16)
/* 33924 80058524 00431025 */  or        $v0, $v0, $v1
/* 33928 80058528 AC820000 */  sw        $v0, 0x0($a0)
/* 3392C 8005852C 00131040 */  sll       $v0, $s3, 1
/* 33930 80058530 08016212 */  j         .L80058848
/* 33934 80058534 AC820004 */   sw       $v0, 0x4($a0)
.L80058538:
/* 33938 80058538 8FA80060 */  lw        $t0, 0x60($sp)
/* 3393C 8005853C 8D040028 */  lw        $a0, 0x28($t0)
/* 33940 80058540 8D030010 */  lw        $v1, 0x10($t0)
/* 33944 80058544 02841021 */  addu      $v0, $s4, $a0
/* 33948 80058548 0062102B */  sltu      $v0, $v1, $v0
/* 3394C 8005854C 10400079 */  beqz      $v0, .L80058734
/* 33950 80058550 00148040 */   sll      $s0, $s4, 1
/* 33954 80058554 8D020014 */  lw        $v0, 0x14($t0)
/* 33958 80058558 10400076 */  beqz      $v0, .L80058734
/* 3395C 8005855C 00649823 */   subu     $s3, $v1, $a0
/* 33960 80058560 1A600017 */  blez      $s3, .L800585C0
/* 33964 80058564 00138040 */   sll      $s0, $s3, 1
/* 33968 80058568 0200282D */  daddu     $a1, $s0, $zero
/* 3396C 8005856C 8D040034 */  lw        $a0, 0x34($t0)
/* 33970 80058570 8D060024 */  lw        $a2, 0x24($t0)
/* 33974 80058574 90E70025 */  lbu       $a3, 0x25($a3)
/* 33978 80058578 8D020020 */  lw        $v0, 0x20($t0)
/* 3397C 8005857C 0040F809 */  jalr      $v0
/* 33980 80058580 26D60008 */   addiu    $s6, $s6, 0x8
/* 33984 80058584 0040382D */  daddu     $a3, $v0, $zero
/* 33988 80058588 30E60007 */  andi      $a2, $a3, 0x7
/* 3398C 8005858C 02068021 */  addu      $s0, $s0, $a2
/* 33990 80058590 3C030400 */  lui       $v1, (0x4000170 >> 16)
/* 33994 80058594 34630170 */  ori       $v1, $v1, (0x4000170 & 0xFFFF)
/* 33998 80058598 32020007 */  andi      $v0, $s0, 0x7
/* 3399C 8005859C 2442FFF8 */  addiu     $v0, $v0, -0x8
/* 339A0 800585A0 02021023 */  subu      $v0, $s0, $v0
/* 339A4 800585A4 30420FFF */  andi      $v0, $v0, 0xFFF
/* 339A8 800585A8 00021300 */  sll       $v0, $v0, 12
/* 339AC 800585AC 00431025 */  or        $v0, $v0, $v1
/* 339B0 800585B0 AE220000 */  sw        $v0, 0x0($s1)
/* 339B4 800585B4 00E61023 */  subu      $v0, $a3, $a2
/* 339B8 800585B8 08016171 */  j         .L800585C4
/* 339BC 800585BC AE220004 */   sw       $v0, 0x4($s1)
.L800585C0:
/* 339C0 800585C0 0000302D */  daddu     $a2, $zero, $zero
.L800585C4:
/* 339C4 800585C4 03C61021 */  addu      $v0, $fp, $a2
/* 339C8 800585C8 0040F02D */  daddu     $fp, $v0, $zero
/* 339CC 800585CC 00021400 */  sll       $v0, $v0, 16
/* 339D0 800585D0 0002AC03 */  sra       $s5, $v0, 16
/* 339D4 800585D4 0274102A */  slt       $v0, $s3, $s4
/* 339D8 800585D8 8E430008 */  lw        $v1, 0x8($s2)
/* 339DC 800585DC 8E440014 */  lw        $a0, 0x14($s2)
/* 339E0 800585E0 0060282D */  daddu     $a1, $v1, $zero
/* 339E4 800585E4 8C840000 */  lw        $a0, 0x0($a0)
/* 339E8 800585E8 00031840 */  sll       $v1, $v1, 1
/* 339EC 800585EC AE450024 */  sw        $a1, 0x24($s2)
/* 339F0 800585F0 00832021 */  addu      $a0, $a0, $v1
/* 339F4 800585F4 10400047 */  beqz      $v0, .L80058714
/* 339F8 800585F8 AE440030 */   sw       $a0, 0x30($s2)
/* 339FC 800585FC 26D1FFFC */  addiu     $s1, $s6, -0x4
/* 33A00 80058600 00131040 */  sll       $v0, $s3, 1
.L80058604:
/* 33A04 80058604 02A2A821 */  addu      $s5, $s5, $v0
/* 33A08 80058608 8E430010 */  lw        $v1, 0x10($s2)
/* 33A0C 8005860C 2402FFFF */  addiu     $v0, $zero, -0x1
/* 33A10 80058610 10620004 */  beq       $v1, $v0, .L80058624
/* 33A14 80058614 0293A023 */   subu     $s4, $s4, $s3
/* 33A18 80058618 10600002 */  beqz      $v1, .L80058624
/* 33A1C 8005861C 00621021 */   addu     $v0, $v1, $v0
/* 33A20 80058620 AE420010 */  sw        $v0, 0x10($s2)
.L80058624:
/* 33A24 80058624 8E43000C */  lw        $v1, 0xC($s2)
/* 33A28 80058628 8E420008 */  lw        $v0, 0x8($s2)
/* 33A2C 8005862C 00621823 */  subu      $v1, $v1, $v0
/* 33A30 80058630 0283102B */  sltu      $v0, $s4, $v1
/* 33A34 80058634 14400002 */  bnez      $v0, .L80058640
/* 33A38 80058638 0280982D */   daddu    $s3, $s4, $zero
/* 33A3C 8005863C 0060982D */  daddu     $s3, $v1, $zero
.L80058640:
/* 33A40 80058640 00138040 */  sll       $s0, $s3, 1
/* 33A44 80058644 8E440030 */  lw        $a0, 0x30($s2)
/* 33A48 80058648 8E420014 */  lw        $v0, 0x14($s2)
/* 33A4C 8005864C 8E460020 */  lw        $a2, 0x20($s2)
/* 33A50 80058650 90470025 */  lbu       $a3, 0x25($v0)
/* 33A54 80058654 8E42001C */  lw        $v0, 0x1C($s2)
/* 33A58 80058658 0040F809 */  jalr      $v0
/* 33A5C 8005865C 0200282D */   daddu    $a1, $s0, $zero
/* 33A60 80058660 0040382D */  daddu     $a3, $v0, $zero
/* 33A64 80058664 30E60007 */  andi      $a2, $a3, 0x7
/* 33A68 80058668 32A30007 */  andi      $v1, $s5, 0x7
/* 33A6C 8005866C 10600004 */  beqz      $v1, .L80058680
/* 33A70 80058670 02068021 */   addu     $s0, $s0, $a2
/* 33A74 80058674 24020008 */  addiu     $v0, $zero, 0x8
/* 33A78 80058678 080161A1 */  j         .L80058684
/* 33A7C 8005867C 00432823 */   subu     $a1, $v0, $v1
.L80058680:
/* 33A80 80058680 0000282D */  daddu     $a1, $zero, $zero
.L80058684:
/* 33A84 80058684 26310008 */  addiu     $s1, $s1, 0x8
/* 33A88 80058688 26D60008 */  addiu     $s6, $s6, 0x8
/* 33A8C 8005868C 32020007 */  andi      $v0, $s0, 0x7
/* 33A90 80058690 2442FFF8 */  addiu     $v0, $v0, -0x8
/* 33A94 80058694 02021023 */  subu      $v0, $s0, $v0
/* 33A98 80058698 30420FFF */  andi      $v0, $v0, 0xFFF
/* 33A9C 8005869C 00021300 */  sll       $v0, $v0, 12
/* 33AA0 800586A0 02A51821 */  addu      $v1, $s5, $a1
/* 33AA4 800586A4 30630FFF */  andi      $v1, $v1, 0xFFF
/* 33AA8 800586A8 3C040400 */  lui       $a0, (0x4000000 >> 16)
/* 33AAC 800586AC 00641825 */  or        $v1, $v1, $a0
/* 33AB0 800586B0 00431025 */  or        $v0, $v0, $v1
/* 33AB4 800586B4 AE22FFFC */  sw        $v0, -0x4($s1)
/* 33AB8 800586B8 00E61023 */  subu      $v0, $a3, $a2
/* 33ABC 800586BC 14C00003 */  bnez      $a2, .L800586CC
/* 33AC0 800586C0 AE220000 */   sw       $v0, 0x0($s1)
/* 33AC4 800586C4 10A00011 */  beqz      $a1, .L8005870C
/* 33AC8 800586C8 0274102A */   slt      $v0, $s3, $s4
.L800586CC:
/* 33ACC 800586CC 26310008 */  addiu     $s1, $s1, 0x8
/* 33AD0 800586D0 26D60008 */  addiu     $s6, $s6, 0x8
/* 33AD4 800586D4 3C0300FF */  lui       $v1, (0xFFFFFF >> 16)
/* 33AD8 800586D8 3463FFFF */  ori       $v1, $v1, (0xFFFFFF & 0xFFFF)
/* 33ADC 800586DC 02A61021 */  addu      $v0, $s5, $a2
/* 33AE0 800586E0 00451021 */  addu      $v0, $v0, $a1
/* 33AE4 800586E4 00431024 */  and       $v0, $v0, $v1
/* 33AE8 800586E8 3C030A00 */  lui       $v1, (0xA000000 >> 16)
/* 33AEC 800586EC 00431025 */  or        $v0, $v0, $v1
/* 33AF0 800586F0 00151C00 */  sll       $v1, $s5, 16
/* 33AF4 800586F4 AE22FFFC */  sw        $v0, -0x4($s1)
/* 33AF8 800586F8 00131040 */  sll       $v0, $s3, 1
/* 33AFC 800586FC 3042FFFF */  andi      $v0, $v0, 0xFFFF
/* 33B00 80058700 00621825 */  or        $v1, $v1, $v0
/* 33B04 80058704 AE230000 */  sw        $v1, 0x0($s1)
/* 33B08 80058708 0274102A */  slt       $v0, $s3, $s4
.L8005870C:
/* 33B0C 8005870C 1440FFBD */  bnez      $v0, .L80058604
/* 33B10 80058710 00131040 */   sll      $v0, $s3, 1
.L80058714:
/* 33B14 80058714 8E420024 */  lw        $v0, 0x24($s2)
/* 33B18 80058718 00541021 */  addu      $v0, $v0, $s4
/* 33B1C 8005871C AE420024 */  sw        $v0, 0x24($s2)
/* 33B20 80058720 8E420030 */  lw        $v0, 0x30($s2)
/* 33B24 80058724 00141840 */  sll       $v1, $s4, 1
/* 33B28 80058728 00431021 */  addu      $v0, $v0, $v1
/* 33B2C 8005872C 08016212 */  j         .L80058848
/* 33B30 80058730 AE420030 */   sw       $v0, 0x30($s2)
.L80058734:
/* 33B34 80058734 8E440014 */  lw        $a0, 0x14($s2)
/* 33B38 80058738 8E430030 */  lw        $v1, 0x30($s2)
/* 33B3C 8005873C 8C820000 */  lw        $v0, 0x0($a0)
/* 33B40 80058740 8C840004 */  lw        $a0, 0x4($a0)
/* 33B44 80058744 00701821 */  addu      $v1, $v1, $s0
/* 33B48 80058748 00441021 */  addu      $v0, $v0, $a0
/* 33B4C 8005874C 00628823 */  subu      $s1, $v1, $v0
/* 33B50 80058750 5E200002 */  bgtzl     $s1, .L8005875C
/* 33B54 80058754 AEE00028 */   sw       $zero, 0x28($s7)
/* 33B58 80058758 0000882D */  daddu     $s1, $zero, $zero
.L8005875C:
/* 33B5C 8005875C 0211102A */  slt       $v0, $s0, $s1
/* 33B60 80058760 54400001 */  bnel      $v0, $zero, .L80058768
/* 33B64 80058764 0200882D */   daddu    $s1, $s0, $zero
.L80058768:
/* 33B68 80058768 0230102A */  slt       $v0, $s1, $s0
/* 33B6C 8005876C 10400021 */  beqz      $v0, .L800587F4
/* 33B70 80058770 00000000 */   nop
/* 33B74 80058774 1A80001A */  blez      $s4, .L800587E0
/* 33B78 80058778 02118023 */   subu     $s0, $s0, $s1
/* 33B7C 8005877C 8E440030 */  lw        $a0, 0x30($s2)
/* 33B80 80058780 8E420014 */  lw        $v0, 0x14($s2)
/* 33B84 80058784 8E460020 */  lw        $a2, 0x20($s2)
/* 33B88 80058788 90470025 */  lbu       $a3, 0x25($v0)
/* 33B8C 8005878C 8E42001C */  lw        $v0, 0x1C($s2)
/* 33B90 80058790 0040F809 */  jalr      $v0
/* 33B94 80058794 0200282D */   daddu    $a1, $s0, $zero
/* 33B98 80058798 0040382D */  daddu     $a3, $v0, $zero
/* 33B9C 8005879C 30E60007 */  andi      $a2, $a3, 0x7
/* 33BA0 800587A0 02068021 */  addu      $s0, $s0, $a2
/* 33BA4 800587A4 02C0282D */  daddu     $a1, $s6, $zero
/* 33BA8 800587A8 26D60008 */  addiu     $s6, $s6, 0x8
/* 33BAC 800587AC 32020007 */  andi      $v0, $s0, 0x7
/* 33BB0 800587B0 2442FFF8 */  addiu     $v0, $v0, -0x8
/* 33BB4 800587B4 02021023 */  subu      $v0, $s0, $v0
/* 33BB8 800587B8 30420FFF */  andi      $v0, $v0, 0xFFF
/* 33BBC 800587BC 00021300 */  sll       $v0, $v0, 12
/* 33BC0 800587C0 33C30FFF */  andi      $v1, $fp, 0xFFF
/* 33BC4 800587C4 3C040400 */  lui       $a0, (0x4000000 >> 16)
/* 33BC8 800587C8 00641825 */  or        $v1, $v1, $a0
/* 33BCC 800587CC 00431025 */  or        $v0, $v0, $v1
/* 33BD0 800587D0 ACA20000 */  sw        $v0, 0x0($a1)
/* 33BD4 800587D4 00E61023 */  subu      $v0, $a3, $a2
/* 33BD8 800587D8 080161F9 */  j         .L800587E4
/* 33BDC 800587DC ACA20004 */   sw       $v0, 0x4($a1)
.L800587E0:
/* 33BE0 800587E0 0000302D */  daddu     $a2, $zero, $zero
.L800587E4:
/* 33BE4 800587E4 8E420024 */  lw        $v0, 0x24($s2)
/* 33BE8 800587E8 03C6F021 */  addu      $fp, $fp, $a2
/* 33BEC 800587EC 00541021 */  addu      $v0, $v0, $s4
/* 33BF0 800587F0 AE420024 */  sw        $v0, 0x24($s2)
.L800587F4:
/* 33BF4 800587F4 8E420030 */  lw        $v0, 0x30($s2)
/* 33BF8 800587F8 00141840 */  sll       $v1, $s4, 1
/* 33BFC 800587FC 00431021 */  addu      $v0, $v0, $v1
/* 33C00 80058800 12200011 */  beqz      $s1, .L80058848
/* 33C04 80058804 AE420030 */   sw       $v0, 0x30($s2)
/* 33C08 80058808 00141040 */  sll       $v0, $s4, 1
/* 33C0C 8005880C 00512823 */  subu      $a1, $v0, $s1
/* 33C10 80058810 04A20001 */  bltzl     $a1, .L80058818
/* 33C14 80058814 0000282D */   daddu    $a1, $zero, $zero
.L80058818:
/* 33C18 80058818 02C0202D */  daddu     $a0, $s6, $zero
/* 33C1C 8005881C 26D60008 */  addiu     $s6, $s6, 0x8
/* 33C20 80058820 3C0300FF */  lui       $v1, (0xFFFFFF >> 16)
/* 33C24 80058824 3463FFFF */  ori       $v1, $v1, (0xFFFFFF & 0xFFFF)
/* 33C28 80058828 001E1400 */  sll       $v0, $fp, 16
/* 33C2C 8005882C 00021403 */  sra       $v0, $v0, 16
/* 33C30 80058830 00A21021 */  addu      $v0, $a1, $v0
/* 33C34 80058834 00431024 */  and       $v0, $v0, $v1
/* 33C38 80058838 3C030200 */  lui       $v1, (0x2000000 >> 16)
/* 33C3C 8005883C 00431025 */  or        $v0, $v0, $v1
/* 33C40 80058840 AC820000 */  sw        $v0, 0x0($a0)
/* 33C44 80058844 AC910004 */  sw        $s1, 0x4($a0)
.L80058848:
/* 33C48 80058848 8FA80020 */  lw        $t0, 0x20($sp)
/* 33C4C 8005884C 3C014700 */  lui       $at, (0x47000000 >> 16)
/* 33C50 80058850 44811000 */  mtc1      $at, $f2
/* 33C54 80058854 C5000004 */  lwc1      $f0, 0x4($t0)
/* 33C58 80058858 46020002 */  mul.s     $f0, $f0, $f2
/* 33C5C 8005885C 00000000 */  nop
/* 33C60 80058860 8D040000 */  lw        $a0, 0x0($t0)
/* 33C64 80058864 4600018D */  trunc.w.s $f6, $f0
/* 33C68 80058868 44103000 */  mfc1      $s0, $f6
/* 33C6C 8005886C 0C0187A4 */  jal       osVirtualToPhysical
/* 33C70 80058870 3210FFFF */   andi     $s0, $s0, 0xFFFF
/* 33C74 80058874 3C0300FF */  lui       $v1, (0xFFFFFF >> 16)
/* 33C78 80058878 3463FFFF */  ori       $v1, $v1, (0xFFFFFF & 0xFFFF)
/* 33C7C 8005887C 02C0202D */  daddu     $a0, $s6, $zero
/* 33C80 80058880 00431024 */  and       $v0, $v0, $v1
/* 33C84 80058884 3C030500 */  lui       $v1, (0x5000000 >> 16)
/* 33C88 80058888 00431025 */  or        $v0, $v0, $v1
/* 33C8C 8005888C 00108380 */  sll       $s0, $s0, 14
/* 33C90 80058890 AC820000 */  sw        $v0, 0x0($a0)
/* 33C94 80058894 8FA80020 */  lw        $t0, 0x20($sp)
/* 33C98 80058898 33C20FFF */  andi      $v0, $fp, 0xFFF
/* 33C9C 8005889C 8D03000C */  lw        $v1, 0xC($t0)
/* 33CA0 800588A0 00021080 */  sll       $v0, $v0, 2
/* 33CA4 800588A4 00031F80 */  sll       $v1, $v1, 30
/* 33CA8 800588A8 00701825 */  or        $v1, $v1, $s0
/* 33CAC 800588AC 00621825 */  or        $v1, $v1, $v0
/* 33CB0 800588B0 AC830004 */  sw        $v1, 0x4($a0)
/* 33CB4 800588B4 AD00000C */  sw        $zero, 0xC($t0)
/* 33CB8 800588B8 8EE20024 */  lw        $v0, 0x24($s7)
/* 33CBC 800588BC 10400069 */  beqz      $v0, .L80058A64
/* 33CC0 800588C0 26D60008 */   addiu    $s6, $s6, 0x8
/* 33CC4 800588C4 3C028008 */  lui       $v0, %hi(AuSynUseStereo)
/* 33CC8 800588C8 24428181 */  addiu     $v0, $v0, %lo(AuSynUseStereo)
/* 33CCC 800588CC 90420000 */  lbu       $v0, 0x0($v0)
/* 33CD0 800588D0 1440000C */  bnez      $v0, .L80058904
/* 33CD4 800588D4 AEE00024 */   sw       $zero, 0x24($s7)
/* 33CD8 800588D8 3C048008 */  lui       $a0, %hi(AlCosineBlend)
/* 33CDC 800588DC 24848E60 */  addiu     $a0, $a0, %lo(AlCosineBlend)
/* 33CE0 800588E0 86E30006 */  lh        $v1, 0x6($s7)
/* 33CE4 800588E4 84820080 */  lh        $v0, 0x80($a0)
/* 33CE8 800588E8 00620018 */  mult      $v1, $v0
/* 33CEC 800588EC 00004012 */  mflo      $t0
/* 33CF0 800588F0 000813C3 */  sra       $v0, $t0, 15
/* 33CF4 800588F4 A6E20014 */  sh        $v0, 0x14($s7)
/* 33CF8 800588F8 84820080 */  lh        $v0, 0x80($a0)
/* 33CFC 800588FC 08016254 */  j         .L80058950
/* 33D00 80058900 00620018 */   mult     $v1, $v0
.L80058904:
/* 33D04 80058904 86E20004 */  lh        $v0, 0x4($s7)
/* 33D08 80058908 86E30006 */  lh        $v1, 0x6($s7)
/* 33D0C 8005890C 00021040 */  sll       $v0, $v0, 1
/* 33D10 80058910 3C018008 */  lui       $at, %hi(AlCosineBlend)
/* 33D14 80058914 00220821 */  addu      $at, $at, $v0
/* 33D18 80058918 84228E60 */  lh        $v0, %lo(AlCosineBlend)($at)
/* 33D1C 8005891C 00620018 */  mult      $v1, $v0
/* 33D20 80058920 86E30004 */  lh        $v1, 0x4($s7)
/* 33D24 80058924 00004012 */  mflo      $t0
/* 33D28 80058928 000813C3 */  sra       $v0, $t0, 15
/* 33D2C 8005892C A6E20014 */  sh        $v0, 0x14($s7)
/* 33D30 80058930 2402007F */  addiu     $v0, $zero, 0x7F
/* 33D34 80058934 00431023 */  subu      $v0, $v0, $v1
/* 33D38 80058938 00021040 */  sll       $v0, $v0, 1
/* 33D3C 8005893C 86E30006 */  lh        $v1, 0x6($s7)
/* 33D40 80058940 3C018008 */  lui       $at, %hi(AlCosineBlend)
/* 33D44 80058944 00220821 */  addu      $at, $at, $v0
/* 33D48 80058948 84228E60 */  lh        $v0, %lo(AlCosineBlend)($at)
/* 33D4C 8005894C 00620018 */  mult      $v1, $v0
.L80058950:
/* 33D50 80058950 00004012 */  mflo      $t0
/* 33D54 80058954 000813C3 */  sra       $v0, $t0, 15
/* 33D58 80058958 A6E2001A */  sh        $v0, 0x1A($s7)
/* 33D5C 8005895C 86E30008 */  lh        $v1, 0x8($s7)
/* 33D60 80058960 86E40014 */  lh        $a0, 0x14($s7)
/* 33D64 80058964 8EE50020 */  lw        $a1, 0x20($s7)
/* 33D68 80058968 26E20010 */  addiu     $v0, $s7, 0x10
/* 33D6C 8005896C AFA20014 */  sw        $v0, 0x14($sp)
/* 33D70 80058970 44836000 */  mtc1      $v1, $f12
/* 33D74 80058974 00000000 */  nop
/* 33D78 80058978 46806321 */  cvt.d.w   $f12, $f12
/* 33D7C 8005897C 44847000 */  mtc1      $a0, $f14
/* 33D80 80058980 00000000 */  nop
/* 33D84 80058984 468073A1 */  cvt.d.w   $f14, $f14
/* 33D88 80058988 0C01631B */  jal       _getRate
/* 33D8C 8005898C AFA50010 */   sw       $a1, 0x10($sp)
/* 33D90 80058990 86E3000A */  lh        $v1, 0xA($s7)
/* 33D94 80058994 86E4001A */  lh        $a0, 0x1A($s7)
/* 33D98 80058998 8EE50020 */  lw        $a1, 0x20($s7)
/* 33D9C 8005899C A6E20012 */  sh        $v0, 0x12($s7)
/* 33DA0 800589A0 26E20016 */  addiu     $v0, $s7, 0x16
/* 33DA4 800589A4 AFA20014 */  sw        $v0, 0x14($sp)
/* 33DA8 800589A8 44836000 */  mtc1      $v1, $f12
/* 33DAC 800589AC 00000000 */  nop
/* 33DB0 800589B0 46806321 */  cvt.d.w   $f12, $f12
/* 33DB4 800589B4 44847000 */  mtc1      $a0, $f14
/* 33DB8 800589B8 00000000 */  nop
/* 33DBC 800589BC 468073A1 */  cvt.d.w   $f14, $f14
/* 33DC0 800589C0 0C01631B */  jal       _getRate
/* 33DC4 800589C4 AFA50010 */   sw       $a1, 0x10($sp)
/* 33DC8 800589C8 02C0202D */  daddu     $a0, $s6, $zero
/* 33DCC 800589CC 26D60008 */  addiu     $s6, $s6, 0x8
/* 33DD0 800589D0 02C0282D */  daddu     $a1, $s6, $zero
/* 33DD4 800589D4 26D60008 */  addiu     $s6, $s6, 0x8
/* 33DD8 800589D8 02C0302D */  daddu     $a2, $s6, $zero
/* 33DDC 800589DC 26D60008 */  addiu     $s6, $s6, 0x8
/* 33DE0 800589E0 3C030900 */  lui       $v1, (0x9000000 >> 16)
/* 33DE4 800589E4 A6E20018 */  sh        $v0, 0x18($s7)
/* 33DE8 800589E8 96E20014 */  lhu       $v0, 0x14($s7)
/* 33DEC 800589EC 02C0802D */  daddu     $s0, $s6, $zero
/* 33DF0 800589F0 00431025 */  or        $v0, $v0, $v1
/* 33DF4 800589F4 AC820000 */  sw        $v0, 0x0($a0)
/* 33DF8 800589F8 96E20012 */  lhu       $v0, 0x12($s7)
/* 33DFC 800589FC 96E30010 */  lhu       $v1, 0x10($s7)
/* 33E00 80058A00 00021400 */  sll       $v0, $v0, 16
/* 33E04 80058A04 00431025 */  or        $v0, $v0, $v1
/* 33E08 80058A08 AC820004 */  sw        $v0, 0x4($a0)
/* 33E0C 80058A0C 96E20008 */  lhu       $v0, 0x8($s7)
/* 33E10 80058A10 3C030906 */  lui       $v1, (0x9060000 >> 16)
/* 33E14 80058A14 00431025 */  or        $v0, $v0, $v1
/* 33E18 80058A18 ACA20000 */  sw        $v0, 0x0($a1)
/* 33E1C 80058A1C 96E2000C */  lhu       $v0, 0xC($s7)
/* 33E20 80058A20 96E3000E */  lhu       $v1, 0xE($s7)
/* 33E24 80058A24 00021400 */  sll       $v0, $v0, 16
/* 33E28 80058A28 00431025 */  or        $v0, $v0, $v1
/* 33E2C 80058A2C ACA20004 */  sw        $v0, 0x4($a1)
/* 33E30 80058A30 96E2001A */  lhu       $v0, 0x1A($s7)
/* 33E34 80058A34 3C030904 */  lui       $v1, (0x9040000 >> 16)
/* 33E38 80058A38 00431025 */  or        $v0, $v0, $v1
/* 33E3C 80058A3C ACC20000 */  sw        $v0, 0x0($a2)
/* 33E40 80058A40 96E20018 */  lhu       $v0, 0x18($s7)
/* 33E44 80058A44 96E30016 */  lhu       $v1, 0x16($s7)
/* 33E48 80058A48 00021400 */  sll       $v0, $v0, 16
/* 33E4C 80058A4C 00431025 */  or        $v0, $v0, $v1
/* 33E50 80058A50 ACC20004 */  sw        $v0, 0x4($a2)
/* 33E54 80058A54 96E2000A */  lhu       $v0, 0xA($s7)
/* 33E58 80058A58 3C030301 */  lui       $v1, (0x3010000 >> 16)
/* 33E5C 80058A5C 0801629B */  j         .L80058A6C
/* 33E60 80058A60 00431025 */   or       $v0, $v0, $v1
.L80058A64:
/* 33E64 80058A64 02C0802D */  daddu     $s0, $s6, $zero
/* 33E68 80058A68 3C020300 */  lui       $v0, (0x3000000 >> 16)
.L80058A6C:
/* 33E6C 80058A6C AE020000 */  sw        $v0, 0x0($s0)
/* 33E70 80058A70 8EE40000 */  lw        $a0, 0x0($s7)
/* 33E74 80058A74 0C0187A4 */  jal       osVirtualToPhysical
/* 33E78 80058A78 26D60008 */   addiu    $s6, $s6, 0x8
/* 33E7C 80058A7C AE020004 */  sw        $v0, 0x4($s0)
/* 33E80 80058A80 8EE2001C */  lw        $v0, 0x1C($s7)
/* 33E84 80058A84 8EE30020 */  lw        $v1, 0x20($s7)
/* 33E88 80058A88 244200B8 */  addiu     $v0, $v0, 0xB8
/* 33E8C 80058A8C AEE2001C */  sw        $v0, 0x1C($s7)
/* 33E90 80058A90 0062102A */  slt       $v0, $v1, $v0
/* 33E94 80058A94 54400001 */  bnel      $v0, $zero, .L80058A9C
/* 33E98 80058A98 AEE3001C */   sw       $v1, 0x1C($s7)
.L80058A9C:
/* 33E9C 80058A9C 8EE20028 */  lw        $v0, 0x28($s7)
/* 33EA0 80058AA0 14400013 */  bnez      $v0, .L80058AF0
/* 33EA4 80058AA4 02C0102D */   daddu    $v0, $s6, $zero
/* 33EA8 80058AA8 24020001 */  addiu     $v0, $zero, 0x1
/* 33EAC 80058AAC AEE20024 */  sw        $v0, 0x24($s7)
/* 33EB0 80058AB0 A6E20006 */  sh        $v0, 0x6($s7)
/* 33EB4 80058AB4 8FA80020 */  lw        $t0, 0x20($sp)
/* 33EB8 80058AB8 AD000008 */  sw        $zero, 0x8($t0)
/* 33EBC 80058ABC AD02000C */  sw        $v0, 0xC($t0)
/* 33EC0 80058AC0 8E430014 */  lw        $v1, 0x14($s2)
/* 33EC4 80058AC4 AE400028 */  sw        $zero, 0x28($s2)
/* 33EC8 80058AC8 AE42002C */  sw        $v0, 0x2C($s2)
/* 33ECC 80058ACC AE400024 */  sw        $zero, 0x24($s2)
/* 33ED0 80058AD0 8C620000 */  lw        $v0, 0x0($v1)
/* 33ED4 80058AD4 AE420030 */  sw        $v0, 0x30($s2)
/* 33ED8 80058AD8 8C620014 */  lw        $v0, 0x14($v1)
/* 33EDC 80058ADC AE420010 */  sw        $v0, 0x10($s2)
/* 33EE0 80058AE0 8FA80060 */  lw        $t0, 0x60($sp)
/* 33EE4 80058AE4 0C014B8C */  jal       func_80052E30
/* 33EE8 80058AE8 91040079 */   lbu      $a0, 0x79($t0)
.L80058AEC:
/* 33EEC 80058AEC 02C0102D */  daddu     $v0, $s6, $zero
.L80058AF0:
/* 33EF0 80058AF0 8FBF005C */  lw        $ra, 0x5C($sp)
/* 33EF4 80058AF4 8FBE0058 */  lw        $fp, 0x58($sp)
/* 33EF8 80058AF8 8FB70054 */  lw        $s7, 0x54($sp)
/* 33EFC 80058AFC 8FB60050 */  lw        $s6, 0x50($sp)
/* 33F00 80058B00 8FB5004C */  lw        $s5, 0x4C($sp)
/* 33F04 80058B04 8FB40048 */  lw        $s4, 0x48($sp)
/* 33F08 80058B08 8FB30044 */  lw        $s3, 0x44($sp)
/* 33F0C 80058B0C 8FB20040 */  lw        $s2, 0x40($sp)
/* 33F10 80058B10 8FB1003C */  lw        $s1, 0x3C($sp)
/* 33F14 80058B14 8FB00038 */  lw        $s0, 0x38($sp)
/* 33F18 80058B18 03E00008 */  jr        $ra
/* 33F1C 80058B1C 27BD0060 */   addiu    $sp, $sp, 0x60

### DECOMPILED C INSTRUCTIONS:

Acmd* au_pull_voice(AuPVoice* pvoice, Acmd* cmdBufPos) {
    Acmd* ptr = cmdBufPos;
    AuLoadFilter* decoder;
    AuResampler* resampler;
    AuEnvMixer* envMixer;
    s16 inp;
    f32 finCount;
    s16 outp;
    s32 startZero;
    s32 outCount;
    s32 incr;

    envMixer = &pvoice->envMixer;
    resampler = &pvoice->resampler;
    decoder = &pvoice->decoder;

    if (envMixer->motion != AL_PLAYING) {
        return ptr;
    }
    outp = N_AL_DECODER_OUT;
    if (resampler->ratio > MAX_RATIO) {
        resampler->ratio = MAX_RATIO;
    }

    resampler->ratio = (s32)(resampler->ratio * UNITY_PITCH);
    resampler->ratio = resampler->ratio / UNITY_PITCH;
    finCount = resampler->delta + resampler->ratio * (f32)184;
    outCount = (s32) finCount;
    resampler->delta = finCount - (f32) outCount;
    if (outCount != 0) {
        if (decoder->instrument->type == AL_ADPCM_WAVE) {
            s32 nSam;
            s32 nbytes;
            s32 nframes;
            s32 op;
            s32 tsam;
            s32 nLeft;
            s32 bEnd;
            s32 nOver;
            s32 overFlow;
            s32 decoded = FALSE;
            s32 looped = FALSE;
            inp = N_AL_DECODER_IN;

            aLoadADPCM(ptr++, decoder->bookSize, K0_TO_PHYS(decoder->instrument->predictor));

            looped = (decoder->loop.end < outCount + decoder->sample) && (decoder->loop.count != 0);

            if (looped) {
                nSam = decoder->loop.end - decoder->sample;
            } else {
                nSam = outCount;
            }
            if (decoder->lastsam != 0) {
                nLeft = ADPCMFSIZE - decoder->lastsam;
            } else {
                nLeft = 0;
            }
            tsam = nSam - nLeft;
            if (tsam < 0) {
                tsam = 0;
            }
            nframes = (tsam + ADPCMFSIZE - 1) >> LFSAMPLES;
            nbytes = nframes * ADPCMFBYTES;
            if (looped) {
                ptr = _decodeChunk(ptr, decoder, tsam, nbytes, outp, inp, decoder->first);
                if (decoder->lastsam != 0) {
                    outp += (decoder->lastsam << 1);
                } else {
                    outp += (ADPCMFSIZE << 1);
                }

                decoder->lastsam = decoder->loop.start & 0xF;
                decoder->memin = (s32)decoder->instrument->base + ADPCMFBYTES * ((s32)(decoder->loop.start >> LFSAMPLES) + 1);
                decoder->sample = decoder->loop.start;
                bEnd = outp;
                while (outCount > nSam) {
                    outCount -= nSam;
                    op = (bEnd + ((nframes + 1) << (LFSAMPLES + 1)) + 16) & ~0x1f;
                    bEnd += nSam << 1;
                    if (decoder->loop.count != -1 && decoder->loop.count != 0) {
                        decoder->loop.count--;
                    }
                    nSam = MIN(outCount, decoder->loop.end - decoder->loop.start);
                    tsam = nSam - ADPCMFSIZE + decoder->lastsam;
                    if (tsam < 0) {
                        tsam = 0;
                    }
                    nframes = (tsam + ADPCMFSIZE - 1) >> LFSAMPLES;
                    nbytes = nframes * ADPCMFBYTES;
                    ptr = _decodeChunk(ptr, decoder, tsam, nbytes, op, inp, decoder->first | A_LOOP);
                    aDMEMMove(ptr++, op + (decoder->lastsam << 1), bEnd, nSam << 1);
                }
                decoder->lastsam = (outCount + decoder->lastsam) & 0xF;
                decoder->sample += outCount;
                decoder->memin += ADPCMFBYTES * nframes;
            } else {
                nSam = nframes << LFSAMPLES;
                overFlow = decoder->memin + nbytes - ((s32)decoder->instrument->base + decoder->instrument->wavDataLength);

                if (overFlow <= 0) {
                    overFlow = 0;
                } else {
                    envMixer->motion = AL_STOPPED;
                }
                nOver = (overFlow / ADPCMFBYTES) << LFSAMPLES;
                if (nOver > nSam + nLeft) {
                    nOver = nSam + nLeft;
                }
                nbytes -= overFlow;
                if (nOver - (nOver & 0xF) < outCount) {
                    decoded = TRUE;
                    ptr = _decodeChunk(ptr, decoder, nSam - nOver, nbytes, outp, inp, decoder->first);
                    if (decoder->lastsam != 0) {
                        outp += decoder->lastsam << 1;
                    } else {
                        outp += ADPCMFSIZE << 1;
                    }
                    decoder->lastsam = (outCount + decoder->lastsam) & 0xF;
                    decoder->sample += outCount;
                    decoder->memin += ADPCMFBYTES * nframes;
                } else {
                    decoder->lastsam = 0;
                    decoder->memin += ADPCMFBYTES * nframes;
                }

                if (nOver != 0) {
                    decoder->lastsam = 0;
                    if (decoded) {
                        startZero = (nLeft + nSam - nOver) << 1;
                    } else {
                        startZero = 0;
                    }
                    aClearBuffer(ptr++, startZero + outp, nOver << 1);
                }
            }
        } else {
            s32 nSam;
            s32 nbytes;
            s32 op;
            s32 dramAlign;
            s32 dramLoc;
            s32 dmemAlign;
            s32 overFlow;
            if (decoder->loop.end < outCount + decoder->sample && decoder->loop.count != 0) {
                nSam = decoder->loop.end - decoder->sample;
                nbytes = nSam << 1;
                if (nSam > 0) {
                    dramLoc = decoder->dmaFunc(decoder->memin, nbytes, decoder->dmaState, decoder->instrument->unk_25);
                    dramAlign = dramLoc & 7;
                    nbytes += dramAlign;
                    n_aLoadBuffer(ptr++, nbytes + 8 - (nbytes & 7), outp, dramLoc - dramAlign);
                } else {
                    dramAlign = 0;
                }
                outp += dramAlign;
                decoder->memin = (s32)decoder->instrument->base + (decoder->loop.start << 1);
                decoder->sample = decoder->loop.start;
                op = outp;
                while (outCount > nSam){
                    op += nSam << 1;
                    outCount -= nSam;
                    if (decoder->loop.count != -1 && decoder->loop.count != 0) {
                        decoder->loop.count--;
                    }
                    nSam = MIN(outCount, decoder->loop.end - decoder->loop.start);
                    nbytes = nSam << 1;
                    dramLoc = decoder->dmaFunc(decoder->memin, nbytes, decoder->dmaState, decoder->instrument->unk_25);
                    dramAlign = dramLoc & 7;
                    nbytes += dramAlign;
                    if ((op & 7) != 0) {
                        dmemAlign = 8 - (op & 7);
                    } else {
                        dmemAlign = 0;
                    }
                    n_aLoadBuffer(ptr++, nbytes + 8 - (nbytes & 7), op + dmemAlign, dramLoc - dramAlign);

                    if (dramAlign != 0 || dmemAlign != 0) {
                        aDMEMMove(ptr++, op + dramAlign + dmemAlign, op, nSam * 2);
                    }
                }
                decoder->sample += outCount;
                decoder->memin += outCount << 1;
            } else {
                nbytes = outCount << 1;
                overFlow = decoder->memin + nbytes - ((s32)decoder->instrument->base + decoder->instrument->wavDataLength);
                if (overFlow <= 0) {
                    overFlow = 0;
                } else {
                    envMixer->motion = AL_STOPPED;
                }
                if (nbytes < overFlow) {
                    overFlow = nbytes;
                }
                if (overFlow < nbytes) {
                    if (outCount > 0) {
                        nbytes -= overFlow;
                        dramLoc = decoder->dmaFunc(decoder->memin, nbytes, decoder->dmaState, decoder->instrument->unk_25);
                        dramAlign = dramLoc & 7;
                        nbytes += dramAlign;
                        n_aLoadBuffer(ptr++, nbytes + 8 - (nbytes & 7), outp, dramLoc - dramAlign);
                    } else {
                        dramAlign = 0;
                    }
                    outp += dramAlign;
                    decoder->sample += outCount;
                    decoder->memin += outCount << 1;
                } else {
                    decoder->memin += outCount << 1;
                }

                if (overFlow != 0) {
                    startZero = (outCount << 1) - overFlow;
                    if (startZero < 0) {
                        startZero = 0;
                    }
                    aClearBuffer(ptr++, startZero + outp, overFlow);
                }
            }
        }
    }
    incr = (s32)(resampler->ratio * UNITY_PITCH);
    n_aResample(ptr++, osVirtualToPhysical(resampler->state), resampler->first, incr, outp, 0);
    resampler->first = 0;

    if (envMixer->first != 0) {
        envMixer->first = 0;
        if (!AuSynUseStereo) {
            envMixer->ltgt = (envMixer->volume * AuEqPower[AUEQPOWER_LENGTH / 2]) >> 15;
            envMixer->rtgt = (envMixer->volume * AuEqPower[AUEQPOWER_LENGTH / 2]) >> 15;
        } else {
            envMixer->ltgt = (envMixer->volume * AuEqPower[envMixer->pan]) >> 15;
            envMixer->rtgt = (envMixer->volume * AuEqPower[AUEQPOWER_LENGTH - envMixer->pan - 1]) >> 15;
        }
        envMixer->lratm = _getRate(envMixer->cvolL, envMixer->ltgt, envMixer->segEnd, &envMixer->lratl);
        envMixer->rratm = _getRate(envMixer->cvolR, envMixer->rtgt, envMixer->segEnd, &envMixer->rratl);
        n_aSetVolume(ptr++, A_RATE, envMixer->ltgt, envMixer->lratm, envMixer->lratl);
        n_aSetVolume(ptr++, A_LEFT  | A_VOL, envMixer->cvolL, envMixer->dryamt, envMixer->wetamt);
        n_aSetVolume(ptr++, A_RIGHT | A_VOL, envMixer->rtgt, envMixer->rratm, envMixer->rratl);
        n_aEnvMixer(ptr++, A_INIT, envMixer->cvolR, osVirtualToPhysical(envMixer->state));
    } else {
        n_aEnvMixer(ptr++, A_CONTINUE, 0, osVirtualToPhysical(envMixer->state));
    }

    envMixer->delta += AUDIO_SAMPLES;
    if (envMixer->segEnd < envMixer->delta) {
        envMixer->delta = envMixer->segEnd;
    }
    if (envMixer->motion == AL_STOPPED) {
        envMixer->first = 1;
        envMixer->volume = 1;
        resampler->delta = 0.0f;
        resampler->first = 1;
        decoder->lastsam = 0;
        decoder->first = 1;
        decoder->sample = 0;
        decoder->memin = (s32) decoder->instrument->base;
        decoder->loop.count = decoder->instrument->loopCount;
        func_80052E30(pvoice->index);
    }
    return ptr;
}


### RAW ASSEMBLY INSTRUCTIONS:

glabel appendGfx_item_entity
/* C88A4 801321A4 27BDFEB8 */  addiu     $sp, $sp, -0x148
/* C88A8 801321A8 AFB3012C */  sw        $s3, 0x12C($sp)
/* C88AC 801321AC 0080982D */  daddu     $s3, $a0, $zero
/* C88B0 801321B0 AFB40130 */  sw        $s4, 0x130($sp)
/* C88B4 801321B4 AFBF013C */  sw        $ra, 0x13C($sp)
/* C88B8 801321B8 AFB60138 */  sw        $s6, 0x138($sp)
/* C88BC 801321BC AFB50134 */  sw        $s5, 0x134($sp)
/* C88C0 801321C0 AFB20128 */  sw        $s2, 0x128($sp)
/* C88C4 801321C4 AFB10124 */  sw        $s1, 0x124($sp)
/* C88C8 801321C8 AFB00120 */  sw        $s0, 0x120($sp)
/* C88CC 801321CC F7B40140 */  sdc1      $f20, 0x140($sp)
/* C88D0 801321D0 8E640000 */  lw        $a0, 0x0($s3)
/* C88D4 801321D4 3C020808 */  lui       $v0, (0x8080000 >> 16)
/* C88D8 801321D8 00821024 */  and       $v0, $a0, $v0
/* C88DC 801321DC 10400025 */  beqz      $v0, .L80132274
/* C88E0 801321E0 241400FF */   addiu    $s4, $zero, 0xFF
/* C88E4 801321E4 3C020008 */  lui       $v0, (0x80000 >> 16)
/* C88E8 801321E8 00821024 */  and       $v0, $a0, $v0
/* C88EC 801321EC 1040000C */  beqz      $v0, .L80132220
/* C88F0 801321F0 3C038080 */   lui      $v1, (0x80808081 >> 16)
/* C88F4 801321F4 9262002F */  lbu       $v0, 0x2F($s3)
/* C88F8 801321F8 00540018 */  mult      $v0, $s4
/* C88FC 801321FC 00001012 */  mflo      $v0
/* C8900 80132200 34638081 */  ori       $v1, $v1, (0x80808081 & 0xFFFF)
/* C8904 80132204 00000000 */  nop
/* C8908 80132208 00430018 */  mult      $v0, $v1
/* C890C 8013220C 00001810 */  mfhi      $v1
/* C8910 80132210 00621821 */  addu      $v1, $v1, $v0
/* C8914 80132214 000319C3 */  sra       $v1, $v1, 7
/* C8918 80132218 000217C3 */  sra       $v0, $v0, 31
/* C891C 8013221C 0062A023 */  subu      $s4, $v1, $v0
.L80132220:
/* C8920 80132220 3C020800 */  lui       $v0, (0x8000000 >> 16)
/* C8924 80132224 00821024 */  and       $v0, $a0, $v0
/* C8928 80132228 10400012 */  beqz      $v0, .L80132274
/* C892C 8013222C 27A40118 */   addiu    $a0, $sp, 0x118
/* C8930 80132230 27A50119 */  addiu     $a1, $sp, 0x119
/* C8934 80132234 27A6011A */  addiu     $a2, $sp, 0x11A
/* C8938 80132238 0C046FA0 */  jal       get_background_color_blend
/* C893C 8013223C 27A7011B */   addiu    $a3, $sp, 0x11B
/* C8940 80132240 93A3011B */  lbu       $v1, 0x11B($sp)
/* C8944 80132244 240200FF */  addiu     $v0, $zero, 0xFF
/* C8948 80132248 00431023 */  subu      $v0, $v0, $v1
/* C894C 8013224C 02820018 */  mult      $s4, $v0
/* C8950 80132250 00001012 */  mflo      $v0
/* C8954 80132254 3C038080 */  lui       $v1, (0x80808081 >> 16)
/* C8958 80132258 34638081 */  ori       $v1, $v1, (0x80808081 & 0xFFFF)
/* C895C 8013225C 00430018 */  mult      $v0, $v1
/* C8960 80132260 00001810 */  mfhi      $v1
/* C8964 80132264 00621821 */  addu      $v1, $v1, $v0
/* C8968 80132268 000319C3 */  sra       $v1, $v1, 7
/* C896C 8013226C 000217C3 */  sra       $v0, $v0, 31
/* C8970 80132270 0062A023 */  subu      $s4, $v1, $v0
.L80132274:
/* C8974 80132274 8E620000 */  lw        $v0, 0x0($s3)
/* C8978 80132278 3C030004 */  lui       $v1, (0x40000 >> 16)
/* C897C 8013227C 00431024 */  and       $v0, $v0, $v1
/* C8980 80132280 14400002 */  bnez      $v0, .L8013228C
/* C8984 80132284 2410FFFD */   addiu    $s0, $zero, -0x3
/* C8988 80132288 2410FFFE */  addiu     $s0, $zero, -0x2
.L8013228C:
/* C898C 8013228C 86630018 */  lh        $v1, 0x18($s3)
/* C8990 80132290 24020157 */  addiu     $v0, $zero, 0x157
/* C8994 80132294 10620005 */  beq       $v1, $v0, .L801322AC
/* C8998 80132298 24020159 */   addiu    $v0, $zero, 0x159
/* C899C 8013229C 10620003 */  beq       $v1, $v0, .L801322AC
/* C89A0 801322A0 24020156 */   addiu    $v0, $zero, 0x156
/* C89A4 801322A4 14620005 */  bne       $v1, $v0, .L801322BC
/* C89A8 801322A8 00000000 */   nop
.L801322AC:
/* C89AC 801322AC 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* C89B0 801322B0 44810000 */  mtc1      $at, $f0
/* C89B4 801322B4 00000000 */  nop
/* C89B8 801322B8 E6600030 */  swc1      $f0, 0x30($s3)
.L801322BC:
/* C89BC 801322BC 3C03800A */  lui       $v1, %hi(gCurrentCamID)
/* C89C0 801322C0 8463A634 */  lh        $v1, %lo(gCurrentCamID)($v1)
/* C89C4 801322C4 3C014334 */  lui       $at, (0x43340000 >> 16)
/* C89C8 801322C8 44816000 */  mtc1      $at, $f12
/* C89CC 801322CC 00031080 */  sll       $v0, $v1, 2
/* C89D0 801322D0 00431021 */  addu      $v0, $v0, $v1
/* C89D4 801322D4 00021080 */  sll       $v0, $v0, 2
/* C89D8 801322D8 00431023 */  subu      $v0, $v0, $v1
/* C89DC 801322DC 000218C0 */  sll       $v1, $v0, 3
/* C89E0 801322E0 00431021 */  addu      $v0, $v0, $v1
/* C89E4 801322E4 000210C0 */  sll       $v0, $v0, 3
/* C89E8 801322E8 3C01800B */  lui       $at, %hi(gCameras + 0x6C)
/* C89EC 801322EC 00220821 */  addu      $at, $at, $v0
/* C89F0 801322F0 C4201DEC */  lwc1      $f0, %lo(gCameras + 0x6C)($at)
/* C89F4 801322F4 0C00A6C9 */  jal       clamp_angle
/* C89F8 801322F8 46006301 */   sub.s    $f12, $f12, $f0
/* C89FC 801322FC 27B20058 */  addiu     $s2, $sp, 0x58
/* C8A00 80132300 0240202D */  daddu     $a0, $s2, $zero
/* C8A04 80132304 C664000C */  lwc1      $f4, 0xC($s3)
/* C8A08 80132308 44901000 */  mtc1      $s0, $f2
/* C8A0C 8013230C 00000000 */  nop
/* C8A10 80132310 468010A0 */  cvt.s.w   $f2, $f2
/* C8A14 80132314 46022100 */  add.s     $f4, $f4, $f2
/* C8A18 80132318 8E650008 */  lw        $a1, 0x8($s3)
/* C8A1C 8013231C 8E670010 */  lw        $a3, 0x10($s3)
/* C8A20 80132320 44062000 */  mfc1      $a2, $f4
/* C8A24 80132324 0C019E40 */  jal       guTranslateF
/* C8A28 80132328 46000506 */   mov.s    $f20, $f0
/* C8A2C 8013232C 27B10098 */  addiu     $s1, $sp, 0x98
/* C8A30 80132330 4405A000 */  mfc1      $a1, $f20
/* C8A34 80132334 44800000 */  mtc1      $zero, $f0
/* C8A38 80132338 3C073F80 */  lui       $a3, (0x3F800000 >> 16)
/* C8A3C 8013233C 44060000 */  mfc1      $a2, $f0
/* C8A40 80132340 0220202D */  daddu     $a0, $s1, $zero
/* C8A44 80132344 0C019EC8 */  jal       guRotateF
/* C8A48 80132348 AFA60010 */   sw       $a2, 0x10($sp)
/* C8A4C 8013234C 8E620000 */  lw        $v0, 0x0($s3)
/* C8A50 80132350 30424000 */  andi      $v0, $v0, 0x4000
/* C8A54 80132354 1040000A */  beqz      $v0, .L80132380
/* C8A58 80132358 27B000D8 */   addiu    $s0, $sp, 0xD8
/* C8A5C 8013235C 8E650030 */  lw        $a1, 0x30($s3)
/* C8A60 80132360 0200202D */  daddu     $a0, $s0, $zero
/* C8A64 80132364 00A0302D */  daddu     $a2, $a1, $zero
/* C8A68 80132368 0C019DF0 */  jal       guScaleF
/* C8A6C 8013236C 00A0382D */   daddu    $a3, $a1, $zero
/* C8A70 80132370 0220202D */  daddu     $a0, $s1, $zero
/* C8A74 80132374 0200282D */  daddu     $a1, $s0, $zero
/* C8A78 80132378 0C019D80 */  jal       guMtxCatF
/* C8A7C 8013237C 0220302D */   daddu    $a2, $s1, $zero
.L80132380:
/* C8A80 80132380 0220202D */  daddu     $a0, $s1, $zero
/* C8A84 80132384 0240282D */  daddu     $a1, $s2, $zero
/* C8A88 80132388 0C019D80 */  jal       guMtxCatF
/* C8A8C 8013238C 0240302D */   daddu    $a2, $s2, $zero
/* C8A90 80132390 0240202D */  daddu     $a0, $s2, $zero
/* C8A94 80132394 0C019D40 */  jal       guMtxF2L
/* C8A98 80132398 27A50018 */   addiu    $a1, $sp, 0x18
/* C8A9C 8013239C 3C020001 */  lui       $v0, (0x11630 >> 16)
/* C8AA0 801323A0 34421630 */  ori       $v0, $v0, (0x11630 & 0xFFFF)
/* C8AA4 801323A4 27A70018 */  addiu     $a3, $sp, 0x18
/* C8AA8 801323A8 0240282D */  daddu     $a1, $s2, $zero
/* C8AAC 801323AC 3C038007 */  lui       $v1, %hi(gMatrixListPos)
/* C8AB0 801323B0 946341F0 */  lhu       $v1, %lo(gMatrixListPos)($v1)
/* C8AB4 801323B4 3C04800A */  lui       $a0, %hi(gDisplayContext)
/* C8AB8 801323B8 8C84A674 */  lw        $a0, %lo(gDisplayContext)($a0)
/* C8ABC 801323BC 00031980 */  sll       $v1, $v1, 6
/* C8AC0 801323C0 00832021 */  addu      $a0, $a0, $v1
/* C8AC4 801323C4 00822021 */  addu      $a0, $a0, $v0
.L801323C8:
/* C8AC8 801323C8 8CF50000 */  lw        $s5, 0x0($a3)
/* C8ACC 801323CC 8CF60004 */  lw        $s6, 0x4($a3)
/* C8AD0 801323D0 8CF80008 */  lw        $t8, 0x8($a3)
/* C8AD4 801323D4 8CF9000C */  lw        $t9, 0xC($a3)
/* C8AD8 801323D8 AC950000 */  sw        $s5, 0x0($a0)
/* C8ADC 801323DC AC960004 */  sw        $s6, 0x4($a0)
/* C8AE0 801323E0 AC980008 */  sw        $t8, 0x8($a0)
/* C8AE4 801323E4 AC99000C */  sw        $t9, 0xC($a0)
/* C8AE8 801323E8 24E70010 */  addiu     $a3, $a3, 0x10
/* C8AEC 801323EC 14E5FFF6 */  bne       $a3, $a1, .L801323C8
/* C8AF0 801323F0 24840010 */   addiu    $a0, $a0, 0x10
/* C8AF4 801323F4 3C02DA38 */  lui       $v0, (0xDA380002 >> 16)
/* C8AF8 801323F8 34420002 */  ori       $v0, $v0, (0xDA380002 & 0xFFFF)
/* C8AFC 801323FC 3C050001 */  lui       $a1, (0x11630 >> 16)
/* C8B00 80132400 3C09800A */  lui       $t1, %hi(gMainGfxPos)
/* C8B04 80132404 2529A66C */  addiu     $t1, $t1, %lo(gMainGfxPos)
/* C8B08 80132408 34A51630 */  ori       $a1, $a1, (0x11630 & 0xFFFF)
/* C8B0C 8013240C 3C078007 */  lui       $a3, %hi(gMatrixListPos)
/* C8B10 80132410 24E741F0 */  addiu     $a3, $a3, %lo(gMatrixListPos)
/* C8B14 80132414 8D280000 */  lw        $t0, 0x0($t1)
/* C8B18 80132418 94E40000 */  lhu       $a0, 0x0($a3)
/* C8B1C 8013241C 0100302D */  daddu     $a2, $t0, $zero
/* C8B20 80132420 25080008 */  addiu     $t0, $t0, 0x8
/* C8B24 80132424 3083FFFF */  andi      $v1, $a0, 0xFFFF
/* C8B28 80132428 00031980 */  sll       $v1, $v1, 6
/* C8B2C 8013242C 00651821 */  addu      $v1, $v1, $a1
/* C8B30 80132430 AD280000 */  sw        $t0, 0x0($t1)
/* C8B34 80132434 ACC20000 */  sw        $v0, 0x0($a2)
/* C8B38 80132438 3C02800A */  lui       $v0, %hi(gDisplayContext)
/* C8B3C 8013243C 8C42A674 */  lw        $v0, %lo(gDisplayContext)($v0)
/* C8B40 80132440 3C058015 */  lui       $a1, %hi(gSpriteShadingProfile)
/* C8B44 80132444 8CA51328 */  lw        $a1, %lo(gSpriteShadingProfile)($a1)
/* C8B48 80132448 00431021 */  addu      $v0, $v0, $v1
/* C8B4C 8013244C ACC20004 */  sw        $v0, 0x4($a2)
/* C8B50 80132450 94A20000 */  lhu       $v0, 0x0($a1)
/* C8B54 80132454 24840001 */  addiu     $a0, $a0, 0x1
/* C8B58 80132458 10400009 */  beqz      $v0, .L80132480
/* C8B5C 8013245C A4E40000 */   sh       $a0, 0x0($a3)
/* C8B60 80132460 25020008 */  addiu     $v0, $t0, 0x8
/* C8B64 80132464 AD220000 */  sw        $v0, 0x0($t1)
/* C8B68 80132468 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* C8B6C 8013246C AD020000 */  sw        $v0, 0x0($t0)
/* C8B70 80132470 3C028015 */  lui       $v0, %hi(D_8014BBD8)
/* C8B74 80132474 2442BBD8 */  addiu     $v0, $v0, %lo(D_8014BBD8)
/* C8B78 80132478 0804C927 */  j         .L8013249C
/* C8B7C 8013247C AD020004 */   sw       $v0, 0x4($t0)
.L80132480:
/* C8B80 80132480 25020008 */  addiu     $v0, $t0, 0x8
/* C8B84 80132484 AD220000 */  sw        $v0, 0x0($t1)
/* C8B88 80132488 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* C8B8C 8013248C AD020000 */  sw        $v0, 0x0($t0)
/* C8B90 80132490 3C028015 */  lui       $v0, %hi(D_8014B870)
/* C8B94 80132494 2442B870 */  addiu     $v0, $v0, %lo(D_8014B870)
/* C8B98 80132498 AD020004 */  sw        $v0, 0x4($t0)
.L8013249C:
/* C8B9C 8013249C 3C03D9FD */  lui       $v1, (0xD9FDF9FF >> 16)
/* C8BA0 801324A0 3C08800A */  lui       $t0, %hi(gMainGfxPos)
/* C8BA4 801324A4 2508A66C */  addiu     $t0, $t0, %lo(gMainGfxPos)
/* C8BA8 801324A8 8D070000 */  lw        $a3, 0x0($t0)
/* C8BAC 801324AC 3463F9FF */  ori       $v1, $v1, (0xD9FDF9FF & 0xFFFF)
/* C8BB0 801324B0 00E0102D */  daddu     $v0, $a3, $zero
/* C8BB4 801324B4 24E70008 */  addiu     $a3, $a3, 0x8
/* C8BB8 801324B8 AD070000 */  sw        $a3, 0x0($t0)
/* C8BBC 801324BC AC430000 */  sw        $v1, 0x0($v0)
/* C8BC0 801324C0 AC400004 */  sw        $zero, 0x4($v0)
/* C8BC4 801324C4 24E20008 */  addiu     $v0, $a3, 0x8
/* C8BC8 801324C8 AD020000 */  sw        $v0, 0x0($t0)
/* C8BCC 801324CC 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* C8BD0 801324D0 ACE20000 */  sw        $v0, 0x0($a3)
/* C8BD4 801324D4 3C028015 */  lui       $v0, %hi(D_8014C620)
/* C8BD8 801324D8 2442C620 */  addiu     $v0, $v0, %lo(D_8014C620)
/* C8BDC 801324DC ACE20004 */  sw        $v0, 0x4($a3)
/* C8BE0 801324E0 8E620000 */  lw        $v0, 0x0($s3)
/* C8BE4 801324E4 3C030808 */  lui       $v1, (0x8080000 >> 16)
/* C8BE8 801324E8 00431024 */  and       $v0, $v0, $v1
/* C8BEC 801324EC 10400025 */  beqz      $v0, .L80132584
/* C8BF0 801324F0 00000000 */   nop
/* C8BF4 801324F4 3C028015 */  lui       $v0, %hi(gSpriteShadingProfile)
/* C8BF8 801324F8 8C421328 */  lw        $v0, %lo(gSpriteShadingProfile)($v0)
/* C8BFC 801324FC 94420000 */  lhu       $v0, 0x0($v0)
/* C8C00 80132500 10400009 */  beqz      $v0, .L80132528
/* C8C04 80132504 3C04E200 */   lui      $a0, (0xE200001C >> 16)
/* C8C08 80132508 3484001C */  ori       $a0, $a0, (0xE200001C & 0xFFFF)
/* C8C0C 8013250C 3C030C18 */  lui       $v1, (0xC184348 >> 16)
/* C8C10 80132510 34634348 */  ori       $v1, $v1, (0xC184348 & 0xFFFF)
/* C8C14 80132514 24E20010 */  addiu     $v0, $a3, 0x10
/* C8C18 80132518 AD020000 */  sw        $v0, 0x0($t0)
/* C8C1C 8013251C ACE40008 */  sw        $a0, 0x8($a3)
/* C8C20 80132520 0804C961 */  j         .L80132584
/* C8C24 80132524 ACE3000C */   sw       $v1, 0xC($a3)
.L80132528:
/* C8C28 80132528 3C05E200 */  lui       $a1, (0xE200001C >> 16)
/* C8C2C 8013252C 34A5001C */  ori       $a1, $a1, (0xE200001C & 0xFFFF)
/* C8C30 80132530 3C030050 */  lui       $v1, (0x504348 >> 16)
/* C8C34 80132534 34634348 */  ori       $v1, $v1, (0x504348 & 0xFFFF)
/* C8C38 80132538 3C06FC30 */  lui       $a2, (0xFC30B261 >> 16)
/* C8C3C 8013253C 34C6B261 */  ori       $a2, $a2, (0xFC30B261 & 0xFFFF)
/* C8C40 80132540 3C04FF2F */  lui       $a0, (0xFF2FFFFF >> 16)
/* C8C44 80132544 3484FFFF */  ori       $a0, $a0, (0xFF2FFFFF & 0xFFFF)
/* C8C48 80132548 24E20010 */  addiu     $v0, $a3, 0x10
/* C8C4C 8013254C AD020000 */  sw        $v0, 0x0($t0)
/* C8C50 80132550 24E20018 */  addiu     $v0, $a3, 0x18
/* C8C54 80132554 ACE50008 */  sw        $a1, 0x8($a3)
/* C8C58 80132558 ACE3000C */  sw        $v1, 0xC($a3)
/* C8C5C 8013255C AD020000 */  sw        $v0, 0x0($t0)
/* C8C60 80132560 24E20020 */  addiu     $v0, $a3, 0x20
/* C8C64 80132564 ACE60010 */  sw        $a2, 0x10($a3)
/* C8C68 80132568 ACE40014 */  sw        $a0, 0x14($a3)
/* C8C6C 8013256C AD020000 */  sw        $v0, 0x0($t0)
/* C8C70 80132570 3C02FA00 */  lui       $v0, (0xFA000000 >> 16)
/* C8C74 80132574 ACE20018 */  sw        $v0, 0x18($a3)
/* C8C78 80132578 2402FF00 */  addiu     $v0, $zero, -0x100
/* C8C7C 8013257C 02821025 */  or        $v0, $s4, $v0
/* C8C80 80132580 ACE2001C */  sw        $v0, 0x1C($a3)
.L80132584:
/* C8C84 80132584 8E620000 */  lw        $v0, 0x0($s3)
/* C8C88 80132588 3C030004 */  lui       $v1, (0x40000 >> 16)
/* C8C8C 8013258C 00431024 */  and       $v0, $v0, $v1
/* C8C90 80132590 144000CE */  bnez      $v0, .L801328CC
/* C8C94 80132594 3C05F500 */   lui      $a1, (0xF5000100 >> 16)
/* C8C98 80132598 34A50100 */  ori       $a1, $a1, (0xF5000100 & 0xFFFF)
/* C8C9C 8013259C 3C060703 */  lui       $a2, (0x703C000 >> 16)
/* C8CA0 801325A0 3C0F800A */  lui       $t7, %hi(gMainGfxPos)
/* C8CA4 801325A4 25EFA66C */  addiu     $t7, $t7, %lo(gMainGfxPos)
/* C8CA8 801325A8 34C6C000 */  ori       $a2, $a2, (0x703C000 & 0xFFFF)
/* C8CAC 801325AC 3C02FD10 */  lui       $v0, (0xFD100000 >> 16)
/* C8CB0 801325B0 8DEE0000 */  lw        $t6, 0x0($t7)
/* C8CB4 801325B4 3C10E600 */  lui       $s0, (0xE6000000 >> 16)
/* C8CB8 801325B8 01C0202D */  daddu     $a0, $t6, $zero
/* C8CBC 801325BC 25CE0008 */  addiu     $t6, $t6, 0x8
/* C8CC0 801325C0 ADEE0000 */  sw        $t6, 0x0($t7)
/* C8CC4 801325C4 AC820000 */  sw        $v0, 0x0($a0)
/* C8CC8 801325C8 9263002D */  lbu       $v1, 0x2D($s3)
/* C8CCC 801325CC 25C20008 */  addiu     $v0, $t6, 0x8
/* C8CD0 801325D0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8CD4 801325D4 25C20010 */  addiu     $v0, $t6, 0x10
/* C8CD8 801325D8 ADE20000 */  sw        $v0, 0x0($t7)
/* C8CDC 801325DC 25C20018 */  addiu     $v0, $t6, 0x18
/* C8CE0 801325E0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8CE4 801325E4 3C028015 */  lui       $v0, %hi(gHudElementCacheTablePalette)
/* C8CE8 801325E8 8C4212D0 */  lw        $v0, %lo(gHudElementCacheTablePalette)($v0)
/* C8CEC 801325EC 000318C0 */  sll       $v1, $v1, 3
/* C8CF0 801325F0 00621821 */  addu      $v1, $v1, $v0
/* C8CF4 801325F4 8C630004 */  lw        $v1, 0x4($v1)
/* C8CF8 801325F8 25C20020 */  addiu     $v0, $t6, 0x20
/* C8CFC 801325FC ADE20000 */  sw        $v0, 0x0($t7)
/* C8D00 80132600 3C02E800 */  lui       $v0, (0xE8000000 >> 16)
/* C8D04 80132604 AC830004 */  sw        $v1, 0x4($a0)
/* C8D08 80132608 ADC20000 */  sw        $v0, 0x0($t6)
/* C8D0C 8013260C 3C020700 */  lui       $v0, (0x7000000 >> 16)
/* C8D10 80132610 ADC2000C */  sw        $v0, 0xC($t6)
/* C8D14 80132614 3C02F000 */  lui       $v0, (0xF0000000 >> 16)
/* C8D18 80132618 ADC20018 */  sw        $v0, 0x18($t6)
/* C8D1C 8013261C 3C028015 */  lui       $v0, %hi(gSpriteShadingProfile)
/* C8D20 80132620 8C421328 */  lw        $v0, %lo(gSpriteShadingProfile)($v0)
/* C8D24 80132624 3C11E700 */  lui       $s1, (0xE7000000 >> 16)
/* C8D28 80132628 ADC00004 */  sw        $zero, 0x4($t6)
/* C8D2C 8013262C ADC50008 */  sw        $a1, 0x8($t6)
/* C8D30 80132630 ADD00010 */  sw        $s0, 0x10($t6)
/* C8D34 80132634 ADC00014 */  sw        $zero, 0x14($t6)
/* C8D38 80132638 ADC6001C */  sw        $a2, 0x1C($t6)
/* C8D3C 8013263C ADD10020 */  sw        $s1, 0x20($t6)
/* C8D40 80132640 ADC00024 */  sw        $zero, 0x24($t6)
/* C8D44 80132644 94430000 */  lhu       $v1, 0x0($v0)
/* C8D48 80132648 25C20028 */  addiu     $v0, $t6, 0x28
/* C8D4C 8013264C 10600060 */  beqz      $v1, .L801327D0
/* C8D50 80132650 ADE20000 */   sw       $v0, 0x0($t7)
/* C8D54 80132654 3C03FD48 */  lui       $v1, (0xFD48000B >> 16)
/* C8D58 80132658 3463000B */  ori       $v1, $v1, (0xFD48000B & 0xFFFF)
/* C8D5C 8013265C 3C07F548 */  lui       $a3, (0xF5480400 >> 16)
/* C8D60 80132660 34E70400 */  ori       $a3, $a3, (0xF5480400 & 0xFFFF)
/* C8D64 80132664 3C05070A */  lui       $a1, (0x70A0280 >> 16)
/* C8D68 80132668 34A50280 */  ori       $a1, $a1, (0x70A0280 & 0xFFFF)
/* C8D6C 8013266C 3C0B0702 */  lui       $t3, (0x702E05C >> 16)
/* C8D70 80132670 356BE05C */  ori       $t3, $t3, (0x702E05C & 0xFFFF)
/* C8D74 80132674 3C04F540 */  lui       $a0, (0xF5400400 >> 16)
/* C8D78 80132678 34840400 */  ori       $a0, $a0, (0xF5400400 & 0xFFFF)
/* C8D7C 8013267C 3C0C010A */  lui       $t4, (0x10A0280 >> 16)
/* C8D80 80132680 358C0280 */  ori       $t4, $t4, (0x10A0280 & 0xFFFF)
/* C8D84 80132684 3C0AF240 */  lui       $t2, (0xF2400400 >> 16)
/* C8D88 80132688 354A0400 */  ori       $t2, $t2, (0xF2400400 & 0xFFFF)
/* C8D8C 8013268C 3C080145 */  lui       $t0, (0x145C45C >> 16)
/* C8D90 80132690 3508C45C */  ori       $t0, $t0, (0x145C45C & 0xFFFF)
/* C8D94 80132694 3C09001A */  lui       $t1, (0x1A0280 >> 16)
/* C8D98 80132698 35290280 */  ori       $t1, $t1, (0x1A0280 & 0xFFFF)
/* C8D9C 8013269C 3C06F510 */  lui       $a2, (0xF5100900 >> 16)
/* C8DA0 801326A0 34C60900 */  ori       $a2, $a2, (0xF5100900 & 0xFFFF)
/* C8DA4 801326A4 3C0D020F */  lui       $t5, (0x20FC000 >> 16)
/* C8DA8 801326A8 35ADC000 */  ori       $t5, $t5, (0x20FC000 & 0xFFFF)
/* C8DAC 801326AC 25C20030 */  addiu     $v0, $t6, 0x30
/* C8DB0 801326B0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DB4 801326B4 ADC30028 */  sw        $v1, 0x28($t6)
/* C8DB8 801326B8 9263002C */  lbu       $v1, 0x2C($s3)
/* C8DBC 801326BC 25C20038 */  addiu     $v0, $t6, 0x38
/* C8DC0 801326C0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DC4 801326C4 25C20040 */  addiu     $v0, $t6, 0x40
/* C8DC8 801326C8 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DCC 801326CC 25C20048 */  addiu     $v0, $t6, 0x48
/* C8DD0 801326D0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DD4 801326D4 25C20050 */  addiu     $v0, $t6, 0x50
/* C8DD8 801326D8 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DDC 801326DC 25C20058 */  addiu     $v0, $t6, 0x58
/* C8DE0 801326E0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DE4 801326E4 25C20060 */  addiu     $v0, $t6, 0x60
/* C8DE8 801326E8 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DEC 801326EC 25C20068 */  addiu     $v0, $t6, 0x68
/* C8DF0 801326F0 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DF4 801326F4 25C20070 */  addiu     $v0, $t6, 0x70
/* C8DF8 801326F8 ADE20000 */  sw        $v0, 0x0($t7)
/* C8DFC 801326FC 3C028015 */  lui       $v0, %hi(gHudElementCacheTableRaster)
/* C8E00 80132700 8C4212C8 */  lw        $v0, %lo(gHudElementCacheTableRaster)($v0)
/* C8E04 80132704 000318C0 */  sll       $v1, $v1, 3
/* C8E08 80132708 00621821 */  addu      $v1, $v1, $v0
/* C8E0C 8013270C 8C630004 */  lw        $v1, 0x4($v1)
/* C8E10 80132710 25C20078 */  addiu     $v0, $t6, 0x78
/* C8E14 80132714 ADE20000 */  sw        $v0, 0x0($t7)
/* C8E18 80132718 3C02F400 */  lui       $v0, (0xF4000000 >> 16)
/* C8E1C 8013271C ADC20040 */  sw        $v0, 0x40($t6)
/* C8E20 80132720 3C020200 */  lui       $v0, (0x2000000 >> 16)
/* C8E24 80132724 ADC2006C */  sw        $v0, 0x6C($t6)
/* C8E28 80132728 3C02F200 */  lui       $v0, (0xF2000000 >> 16)
/* C8E2C 8013272C ADC70030 */  sw        $a3, 0x30($t6)
/* C8E30 80132730 ADC50034 */  sw        $a1, 0x34($t6)
/* C8E34 80132734 ADD00038 */  sw        $s0, 0x38($t6)
/* C8E38 80132738 ADC0003C */  sw        $zero, 0x3C($t6)
/* C8E3C 8013273C ADCB0044 */  sw        $t3, 0x44($t6)
/* C8E40 80132740 ADD10048 */  sw        $s1, 0x48($t6)
/* C8E44 80132744 ADC0004C */  sw        $zero, 0x4C($t6)
/* C8E48 80132748 ADC40050 */  sw        $a0, 0x50($t6)
/* C8E4C 8013274C ADCC0054 */  sw        $t4, 0x54($t6)
/* C8E50 80132750 ADCA0058 */  sw        $t2, 0x58($t6)
/* C8E54 80132754 ADC8005C */  sw        $t0, 0x5C($t6)
/* C8E58 80132758 ADC40060 */  sw        $a0, 0x60($t6)
/* C8E5C 8013275C ADC90064 */  sw        $t1, 0x64($t6)
/* C8E60 80132760 ADC60068 */  sw        $a2, 0x68($t6)
/* C8E64 80132764 ADC20070 */  sw        $v0, 0x70($t6)
/* C8E68 80132768 ADCD0074 */  sw        $t5, 0x74($t6)
/* C8E6C 8013276C ADC3002C */  sw        $v1, 0x2C($t6)
/* C8E70 80132770 8E620000 */  lw        $v0, 0x0($s3)
/* C8E74 80132774 3C030808 */  lui       $v1, (0x8080000 >> 16)
/* C8E78 80132778 00431024 */  and       $v0, $v0, $v1
/* C8E7C 8013277C 1040000A */  beqz      $v0, .L801327A8
/* C8E80 80132780 27A40058 */   addiu    $a0, $sp, 0x58
/* C8E84 80132784 0000282D */  daddu     $a1, $zero, $zero
/* C8E88 80132788 00A0302D */  daddu     $a2, $a1, $zero
/* C8E8C 8013278C 24070018 */  addiu     $a3, $zero, 0x18
/* C8E90 80132790 00E0102D */  daddu     $v0, $a3, $zero
/* C8E94 80132794 AFA20010 */  sw        $v0, 0x10($sp)
/* C8E98 80132798 0C052479 */  jal       func_801491E4
/* C8E9C 8013279C AFB40014 */   sw       $s4, 0x14($sp)
/* C8EA0 801327A0 0804CA27 */  j         .L8013289C
/* C8EA4 801327A4 00000000 */   nop
.L801327A8:
/* C8EA8 801327A8 0000282D */  daddu     $a1, $zero, $zero
/* C8EAC 801327AC 00A0302D */  daddu     $a2, $a1, $zero
/* C8EB0 801327B0 24070018 */  addiu     $a3, $zero, 0x18
/* C8EB4 801327B4 00E0102D */  daddu     $v0, $a3, $zero
/* C8EB8 801327B8 AFA20010 */  sw        $v0, 0x10($sp)
/* C8EBC 801327BC 240200FF */  addiu     $v0, $zero, 0xFF
/* C8EC0 801327C0 0C052479 */  jal       func_801491E4
/* C8EC4 801327C4 AFA20014 */   sw       $v0, 0x14($sp)
/* C8EC8 801327C8 0804CA27 */  j         .L8013289C
/* C8ECC 801327CC 00000000 */   nop
.L801327D0:
/* C8ED0 801327D0 3C03FD48 */  lui       $v1, (0xFD48000B >> 16)
/* C8ED4 801327D4 3463000B */  ori       $v1, $v1, (0xFD48000B & 0xFFFF)
/* C8ED8 801327D8 3C05F548 */  lui       $a1, (0xF5480400 >> 16)
/* C8EDC 801327DC 34A50400 */  ori       $a1, $a1, (0xF5480400 & 0xFFFF)
/* C8EE0 801327E0 3C04070A */  lui       $a0, (0x70A0280 >> 16)
/* C8EE4 801327E4 34840280 */  ori       $a0, $a0, (0x70A0280 & 0xFFFF)
/* C8EE8 801327E8 3C080702 */  lui       $t0, (0x702E05C >> 16)
/* C8EEC 801327EC 3508E05C */  ori       $t0, $t0, (0x702E05C & 0xFFFF)
/* C8EF0 801327F0 3C0AF540 */  lui       $t2, (0xF5400400 >> 16)
/* C8EF4 801327F4 354A0400 */  ori       $t2, $t2, (0xF5400400 & 0xFFFF)
/* C8EF8 801327F8 3C09000A */  lui       $t1, (0xA0280 >> 16)
/* C8EFC 801327FC 35290280 */  ori       $t1, $t1, (0xA0280 & 0xFFFF)
/* C8F00 80132800 3C07F240 */  lui       $a3, (0xF2400400 >> 16)
/* C8F04 80132804 34E70400 */  ori       $a3, $a3, (0xF2400400 & 0xFFFF)
/* C8F08 80132808 3C060045 */  lui       $a2, (0x45C45C >> 16)
/* C8F0C 8013280C 34C6C45C */  ori       $a2, $a2, (0x45C45C & 0xFFFF)
/* C8F10 80132810 25C20030 */  addiu     $v0, $t6, 0x30
/* C8F14 80132814 ADE20000 */  sw        $v0, 0x0($t7)
/* C8F18 80132818 ADC30028 */  sw        $v1, 0x28($t6)
/* C8F1C 8013281C 9263002C */  lbu       $v1, 0x2C($s3)
/* C8F20 80132820 25C20038 */  addiu     $v0, $t6, 0x38
/* C8F24 80132824 ADE20000 */  sw        $v0, 0x0($t7)
/* C8F28 80132828 25C20040 */  addiu     $v0, $t6, 0x40
/* C8F2C 8013282C ADE20000 */  sw        $v0, 0x0($t7)
/* C8F30 80132830 25C20048 */  addiu     $v0, $t6, 0x48
/* C8F34 80132834 ADE20000 */  sw        $v0, 0x0($t7)
/* C8F38 80132838 25C20050 */  addiu     $v0, $t6, 0x50
/* C8F3C 8013283C ADE20000 */  sw        $v0, 0x0($t7)
/* C8F40 80132840 25C20058 */  addiu     $v0, $t6, 0x58
/* C8F44 80132844 ADE20000 */  sw        $v0, 0x0($t7)
/* C8F48 80132848 3C028015 */  lui       $v0, %hi(gHudElementCacheTableRaster)
/* C8F4C 8013284C 8C4212C8 */  lw        $v0, %lo(gHudElementCacheTableRaster)($v0)
/* C8F50 80132850 000318C0 */  sll       $v1, $v1, 3
/* C8F54 80132854 00621821 */  addu      $v1, $v1, $v0
/* C8F58 80132858 8C630004 */  lw        $v1, 0x4($v1)
/* C8F5C 8013285C 25C20060 */  addiu     $v0, $t6, 0x60
/* C8F60 80132860 ADE20000 */  sw        $v0, 0x0($t7)
/* C8F64 80132864 3C02F400 */  lui       $v0, (0xF4000000 >> 16)
/* C8F68 80132868 ADC50030 */  sw        $a1, 0x30($t6)
/* C8F6C 8013286C ADC40034 */  sw        $a0, 0x34($t6)
/* C8F70 80132870 ADD00038 */  sw        $s0, 0x38($t6)
/* C8F74 80132874 ADC0003C */  sw        $zero, 0x3C($t6)
/* C8F78 80132878 ADC20040 */  sw        $v0, 0x40($t6)
/* C8F7C 8013287C ADC80044 */  sw        $t0, 0x44($t6)
/* C8F80 80132880 ADD10048 */  sw        $s1, 0x48($t6)
/* C8F84 80132884 ADC0004C */  sw        $zero, 0x4C($t6)
/* C8F88 80132888 ADCA0050 */  sw        $t2, 0x50($t6)
/* C8F8C 8013288C ADC90054 */  sw        $t1, 0x54($t6)
/* C8F90 80132890 ADC70058 */  sw        $a3, 0x58($t6)
/* C8F94 80132894 ADC6005C */  sw        $a2, 0x5C($t6)
/* C8F98 80132898 ADC3002C */  sw        $v1, 0x2C($t6)
.L8013289C:
/* C8F9C 8013289C 3C03800A */  lui       $v1, %hi(gMainGfxPos)
/* C8FA0 801328A0 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* C8FA4 801328A4 8C620000 */  lw        $v0, 0x0($v1)
/* C8FA8 801328A8 0040202D */  daddu     $a0, $v0, $zero
/* C8FAC 801328AC 24420008 */  addiu     $v0, $v0, 0x8
/* C8FB0 801328B0 AC620000 */  sw        $v0, 0x0($v1)
/* C8FB4 801328B4 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* C8FB8 801328B8 AC820000 */  sw        $v0, 0x0($a0)
/* C8FBC 801328BC 3C028015 */  lui       $v0, %hi(D_8014C678)
/* C8FC0 801328C0 2442C678 */  addiu     $v0, $v0, %lo(D_8014C678)
/* C8FC4 801328C4 0804CAFF */  j         .L80132BFC
/* C8FC8 801328C8 AC820004 */   sw       $v0, 0x4($a0)
.L801328CC:
/* C8FCC 801328CC 34A50100 */  ori       $a1, $a1, (0xF5000100 & 0xFFFF)
/* C8FD0 801328D0 3C060703 */  lui       $a2, (0x703C000 >> 16)
/* C8FD4 801328D4 3C0F800A */  lui       $t7, %hi(gMainGfxPos)
/* C8FD8 801328D8 25EFA66C */  addiu     $t7, $t7, %lo(gMainGfxPos)
/* C8FDC 801328DC 34C6C000 */  ori       $a2, $a2, (0x703C000 & 0xFFFF)
/* C8FE0 801328E0 3C02FD10 */  lui       $v0, (0xFD100000 >> 16)
/* C8FE4 801328E4 8DEE0000 */  lw        $t6, 0x0($t7)
/* C8FE8 801328E8 3C10E600 */  lui       $s0, (0xE6000000 >> 16)
/* C8FEC 801328EC 01C0202D */  daddu     $a0, $t6, $zero
/* C8FF0 801328F0 25CE0008 */  addiu     $t6, $t6, 0x8
/* C8FF4 801328F4 ADEE0000 */  sw        $t6, 0x0($t7)
/* C8FF8 801328F8 AC820000 */  sw        $v0, 0x0($a0)
/* C8FFC 801328FC 9263002D */  lbu       $v1, 0x2D($s3)
/* C9000 80132900 25C20008 */  addiu     $v0, $t6, 0x8
/* C9004 80132904 ADE20000 */  sw        $v0, 0x0($t7)
/* C9008 80132908 25C20010 */  addiu     $v0, $t6, 0x10
/* C900C 8013290C ADE20000 */  sw        $v0, 0x0($t7)
/* C9010 80132910 25C20018 */  addiu     $v0, $t6, 0x18
/* C9014 80132914 ADE20000 */  sw        $v0, 0x0($t7)
/* C9018 80132918 3C028015 */  lui       $v0, %hi(gHudElementCacheTablePalette)
/* C901C 8013291C 8C4212D0 */  lw        $v0, %lo(gHudElementCacheTablePalette)($v0)
/* C9020 80132920 000318C0 */  sll       $v1, $v1, 3
/* C9024 80132924 00621821 */  addu      $v1, $v1, $v0
/* C9028 80132928 8C630004 */  lw        $v1, 0x4($v1)
/* C902C 8013292C 25C20020 */  addiu     $v0, $t6, 0x20
/* C9030 80132930 ADE20000 */  sw        $v0, 0x0($t7)
/* C9034 80132934 3C02E800 */  lui       $v0, (0xE8000000 >> 16)
/* C9038 80132938 AC830004 */  sw        $v1, 0x4($a0)
/* C903C 8013293C ADC20000 */  sw        $v0, 0x0($t6)
/* C9040 80132940 3C020700 */  lui       $v0, (0x7000000 >> 16)
/* C9044 80132944 ADC2000C */  sw        $v0, 0xC($t6)
/* C9048 80132948 3C02F000 */  lui       $v0, (0xF0000000 >> 16)
/* C904C 8013294C ADC20018 */  sw        $v0, 0x18($t6)
/* C9050 80132950 3C028015 */  lui       $v0, %hi(gSpriteShadingProfile)
/* C9054 80132954 8C421328 */  lw        $v0, %lo(gSpriteShadingProfile)($v0)
/* C9058 80132958 3C11E700 */  lui       $s1, (0xE7000000 >> 16)
/* C905C 8013295C ADC00004 */  sw        $zero, 0x4($t6)
/* C9060 80132960 ADC50008 */  sw        $a1, 0x8($t6)
/* C9064 80132964 ADD00010 */  sw        $s0, 0x10($t6)
/* C9068 80132968 ADC00014 */  sw        $zero, 0x14($t6)
/* C906C 8013296C ADC6001C */  sw        $a2, 0x1C($t6)
/* C9070 80132970 ADD10020 */  sw        $s1, 0x20($t6)
/* C9074 80132974 ADC00024 */  sw        $zero, 0x24($t6)
/* C9078 80132978 94430000 */  lhu       $v1, 0x0($v0)
/* C907C 8013297C 25C20028 */  addiu     $v0, $t6, 0x28
/* C9080 80132980 10600060 */  beqz      $v1, .L80132B04
/* C9084 80132984 ADE20000 */   sw       $v0, 0x0($t7)
/* C9088 80132988 3C03FD48 */  lui       $v1, (0xFD48000F >> 16)
/* C908C 8013298C 3463000F */  ori       $v1, $v1, (0xFD48000F & 0xFFFF)
/* C9090 80132990 3C07F548 */  lui       $a3, (0xF5480400 >> 16)
/* C9094 80132994 34E70400 */  ori       $a3, $a3, (0xF5480400 & 0xFFFF)
/* C9098 80132998 3C05070A */  lui       $a1, (0x70A0280 >> 16)
/* C909C 8013299C 34A50280 */  ori       $a1, $a1, (0x70A0280 & 0xFFFF)
/* C90A0 801329A0 3C0B0703 */  lui       $t3, (0x703E07C >> 16)
/* C90A4 801329A4 356BE07C */  ori       $t3, $t3, (0x703E07C & 0xFFFF)
/* C90A8 801329A8 3C04F540 */  lui       $a0, (0xF5400400 >> 16)
/* C90AC 801329AC 34840400 */  ori       $a0, $a0, (0xF5400400 & 0xFFFF)
/* C90B0 801329B0 3C0C010A */  lui       $t4, (0x10A0280 >> 16)
/* C90B4 801329B4 358C0280 */  ori       $t4, $t4, (0x10A0280 & 0xFFFF)
/* C90B8 801329B8 3C0AF240 */  lui       $t2, (0xF2400400 >> 16)
/* C90BC 801329BC 354A0400 */  ori       $t2, $t2, (0xF2400400 & 0xFFFF)
/* C90C0 801329C0 3C080147 */  lui       $t0, (0x147C47C >> 16)
/* C90C4 801329C4 3508C47C */  ori       $t0, $t0, (0x147C47C & 0xFFFF)
/* C90C8 801329C8 3C09001A */  lui       $t1, (0x1A0280 >> 16)
/* C90CC 801329CC 35290280 */  ori       $t1, $t1, (0x1A0280 & 0xFFFF)
/* C90D0 801329D0 3C06F510 */  lui       $a2, (0xF5100900 >> 16)
/* C90D4 801329D4 34C60900 */  ori       $a2, $a2, (0xF5100900 & 0xFFFF)
/* C90D8 801329D8 3C0D020F */  lui       $t5, (0x20FC000 >> 16)
/* C90DC 801329DC 35ADC000 */  ori       $t5, $t5, (0x20FC000 & 0xFFFF)
/* C90E0 801329E0 25C20030 */  addiu     $v0, $t6, 0x30
/* C90E4 801329E4 ADE20000 */  sw        $v0, 0x0($t7)
/* C90E8 801329E8 ADC30028 */  sw        $v1, 0x28($t6)
/* C90EC 801329EC 9263002C */  lbu       $v1, 0x2C($s3)
/* C90F0 801329F0 25C20038 */  addiu     $v0, $t6, 0x38
/* C90F4 801329F4 ADE20000 */  sw        $v0, 0x0($t7)
/* C90F8 801329F8 25C20040 */  addiu     $v0, $t6, 0x40
/* C90FC 801329FC ADE20000 */  sw        $v0, 0x0($t7)
/* C9100 80132A00 25C20048 */  addiu     $v0, $t6, 0x48
/* C9104 80132A04 ADE20000 */  sw        $v0, 0x0($t7)
/* C9108 80132A08 25C20050 */  addiu     $v0, $t6, 0x50
/* C910C 80132A0C ADE20000 */  sw        $v0, 0x0($t7)
/* C9110 80132A10 25C20058 */  addiu     $v0, $t6, 0x58
/* C9114 80132A14 ADE20000 */  sw        $v0, 0x0($t7)
/* C9118 80132A18 25C20060 */  addiu     $v0, $t6, 0x60
/* C911C 80132A1C ADE20000 */  sw        $v0, 0x0($t7)
/* C9120 80132A20 25C20068 */  addiu     $v0, $t6, 0x68
/* C9124 80132A24 ADE20000 */  sw        $v0, 0x0($t7)
/* C9128 80132A28 25C20070 */  addiu     $v0, $t6, 0x70
/* C912C 80132A2C ADE20000 */  sw        $v0, 0x0($t7)
/* C9130 80132A30 3C028015 */  lui       $v0, %hi(gHudElementCacheTableRaster)
/* C9134 80132A34 8C4212C8 */  lw        $v0, %lo(gHudElementCacheTableRaster)($v0)
/* C9138 80132A38 000318C0 */  sll       $v1, $v1, 3
/* C913C 80132A3C 00621821 */  addu      $v1, $v1, $v0
/* C9140 80132A40 8C630004 */  lw        $v1, 0x4($v1)
/* C9144 80132A44 25C20078 */  addiu     $v0, $t6, 0x78
/* C9148 80132A48 ADE20000 */  sw        $v0, 0x0($t7)
/* C914C 80132A4C 3C02F400 */  lui       $v0, (0xF4000000 >> 16)
/* C9150 80132A50 ADC20040 */  sw        $v0, 0x40($t6)
/* C9154 80132A54 3C020200 */  lui       $v0, (0x2000000 >> 16)
/* C9158 80132A58 ADC2006C */  sw        $v0, 0x6C($t6)
/* C915C 80132A5C 3C02F200 */  lui       $v0, (0xF2000000 >> 16)
/* C9160 80132A60 ADC70030 */  sw        $a3, 0x30($t6)
/* C9164 80132A64 ADC50034 */  sw        $a1, 0x34($t6)
/* C9168 80132A68 ADD00038 */  sw        $s0, 0x38($t6)
/* C916C 80132A6C ADC0003C */  sw        $zero, 0x3C($t6)
/* C9170 80132A70 ADCB0044 */  sw        $t3, 0x44($t6)
/* C9174 80132A74 ADD10048 */  sw        $s1, 0x48($t6)
/* C9178 80132A78 ADC0004C */  sw        $zero, 0x4C($t6)
/* C917C 80132A7C ADC40050 */  sw        $a0, 0x50($t6)
/* C9180 80132A80 ADCC0054 */  sw        $t4, 0x54($t6)
/* C9184 80132A84 ADCA0058 */  sw        $t2, 0x58($t6)
/* C9188 80132A88 ADC8005C */  sw        $t0, 0x5C($t6)
/* C918C 80132A8C ADC40060 */  sw        $a0, 0x60($t6)
/* C9190 80132A90 ADC90064 */  sw        $t1, 0x64($t6)
/* C9194 80132A94 ADC60068 */  sw        $a2, 0x68($t6)
/* C9198 80132A98 ADC20070 */  sw        $v0, 0x70($t6)
/* C919C 80132A9C ADCD0074 */  sw        $t5, 0x74($t6)
/* C91A0 80132AA0 ADC3002C */  sw        $v1, 0x2C($t6)
/* C91A4 80132AA4 8E620000 */  lw        $v0, 0x0($s3)
/* C91A8 80132AA8 3C030808 */  lui       $v1, (0x8080000 >> 16)
/* C91AC 80132AAC 00431024 */  and       $v0, $v0, $v1
/* C91B0 80132AB0 1040000A */  beqz      $v0, .L80132ADC
/* C91B4 80132AB4 27A40058 */   addiu    $a0, $sp, 0x58
/* C91B8 80132AB8 0000282D */  daddu     $a1, $zero, $zero
/* C91BC 80132ABC 00A0302D */  daddu     $a2, $a1, $zero
/* C91C0 80132AC0 24070020 */  addiu     $a3, $zero, 0x20
/* C91C4 80132AC4 00E0102D */  daddu     $v0, $a3, $zero
/* C91C8 80132AC8 AFA20010 */  sw        $v0, 0x10($sp)
/* C91CC 80132ACC 0C052479 */  jal       func_801491E4
/* C91D0 80132AD0 AFB40014 */   sw       $s4, 0x14($sp)
/* C91D4 80132AD4 0804CAF4 */  j         .L80132BD0
/* C91D8 80132AD8 00000000 */   nop
.L80132ADC:
/* C91DC 80132ADC 0000282D */  daddu     $a1, $zero, $zero
/* C91E0 80132AE0 00A0302D */  daddu     $a2, $a1, $zero
/* C91E4 80132AE4 24070020 */  addiu     $a3, $zero, 0x20
/* C91E8 80132AE8 00E0102D */  daddu     $v0, $a3, $zero
/* C91EC 80132AEC AFA20010 */  sw        $v0, 0x10($sp)
/* C91F0 80132AF0 240200FF */  addiu     $v0, $zero, 0xFF
/* C91F4 80132AF4 0C052479 */  jal       func_801491E4
/* C91F8 80132AF8 AFA20014 */   sw       $v0, 0x14($sp)
/* C91FC 80132AFC 0804CAF4 */  j         .L80132BD0
/* C9200 80132B00 00000000 */   nop
.L80132B04:
/* C9204 80132B04 3C03FD48 */  lui       $v1, (0xFD48000F >> 16)
/* C9208 80132B08 3463000F */  ori       $v1, $v1, (0xFD48000F & 0xFFFF)
/* C920C 80132B0C 3C05F548 */  lui       $a1, (0xF5480400 >> 16)
/* C9210 80132B10 34A50400 */  ori       $a1, $a1, (0xF5480400 & 0xFFFF)
/* C9214 80132B14 3C04070A */  lui       $a0, (0x70A0280 >> 16)
/* C9218 80132B18 34840280 */  ori       $a0, $a0, (0x70A0280 & 0xFFFF)
/* C921C 80132B1C 3C080703 */  lui       $t0, (0x703E07C >> 16)
/* C9220 80132B20 3508E07C */  ori       $t0, $t0, (0x703E07C & 0xFFFF)
/* C9224 80132B24 3C0AF540 */  lui       $t2, (0xF5400400 >> 16)
/* C9228 80132B28 354A0400 */  ori       $t2, $t2, (0xF5400400 & 0xFFFF)
/* C922C 80132B2C 3C09000A */  lui       $t1, (0xA0280 >> 16)
/* C9230 80132B30 35290280 */  ori       $t1, $t1, (0xA0280 & 0xFFFF)
/* C9234 80132B34 3C07F240 */  lui       $a3, (0xF2400400 >> 16)
/* C9238 80132B38 34E70400 */  ori       $a3, $a3, (0xF2400400 & 0xFFFF)
/* C923C 80132B3C 3C060047 */  lui       $a2, (0x47C47C >> 16)
/* C9240 80132B40 34C6C47C */  ori       $a2, $a2, (0x47C47C & 0xFFFF)
/* C9244 80132B44 25C20030 */  addiu     $v0, $t6, 0x30
/* C9248 80132B48 ADE20000 */  sw        $v0, 0x0($t7)
/* C924C 80132B4C ADC30028 */  sw        $v1, 0x28($t6)
/* C9250 80132B50 9263002C */  lbu       $v1, 0x2C($s3)
/* C9254 80132B54 25C20038 */  addiu     $v0, $t6, 0x38
/* C9258 80132B58 ADE20000 */  sw        $v0, 0x0($t7)
/* C925C 80132B5C 25C20040 */  addiu     $v0, $t6, 0x40
/* C9260 80132B60 ADE20000 */  sw        $v0, 0x0($t7)
/* C9264 80132B64 25C20048 */  addiu     $v0, $t6, 0x48
/* C9268 80132B68 ADE20000 */  sw        $v0, 0x0($t7)
/* C926C 80132B6C 25C20050 */  addiu     $v0, $t6, 0x50
/* C9270 80132B70 ADE20000 */  sw        $v0, 0x0($t7)
/* C9274 80132B74 25C20058 */  addiu     $v0, $t6, 0x58
/* C9278 80132B78 ADE20000 */  sw        $v0, 0x0($t7)
/* C927C 80132B7C 3C028015 */  lui       $v0, %hi(gHudElementCacheTableRaster)
/* C9280 80132B80 8C4212C8 */  lw        $v0, %lo(gHudElementCacheTableRaster)($v0)
/* C9284 80132B84 000318C0 */  sll       $v1, $v1, 3
/* C9288 80132B88 00621821 */  addu      $v1, $v1, $v0
/* C928C 80132B8C 8C630004 */  lw        $v1, 0x4($v1)
/* C9290 80132B90 25C20060 */  addiu     $v0, $t6, 0x60
/* C9294 80132B94 ADE20000 */  sw        $v0, 0x0($t7)
/* C9298 80132B98 3C02F400 */  lui       $v0, (0xF4000000 >> 16)
/* C929C 80132B9C ADC50030 */  sw        $a1, 0x30($t6)
/* C92A0 80132BA0 ADC40034 */  sw        $a0, 0x34($t6)
/* C92A4 80132BA4 ADD00038 */  sw        $s0, 0x38($t6)
/* C92A8 80132BA8 ADC0003C */  sw        $zero, 0x3C($t6)
/* C92AC 80132BAC ADC20040 */  sw        $v0, 0x40($t6)
/* C92B0 80132BB0 ADC80044 */  sw        $t0, 0x44($t6)
/* C92B4 80132BB4 ADD10048 */  sw        $s1, 0x48($t6)
/* C92B8 80132BB8 ADC0004C */  sw        $zero, 0x4C($t6)
/* C92BC 80132BBC ADCA0050 */  sw        $t2, 0x50($t6)
/* C92C0 80132BC0 ADC90054 */  sw        $t1, 0x54($t6)
/* C92C4 80132BC4 ADC70058 */  sw        $a3, 0x58($t6)
/* C92C8 80132BC8 ADC6005C */  sw        $a2, 0x5C($t6)
/* C92CC 80132BCC ADC3002C */  sw        $v1, 0x2C($t6)
.L80132BD0:
/* C92D0 80132BD0 3C03800A */  lui       $v1, %hi(gMainGfxPos)
/* C92D4 80132BD4 2463A66C */  addiu     $v1, $v1, %lo(gMainGfxPos)
/* C92D8 80132BD8 8C620000 */  lw        $v0, 0x0($v1)
/* C92DC 80132BDC 0040202D */  daddu     $a0, $v0, $zero
/* C92E0 80132BE0 24420008 */  addiu     $v0, $v0, 0x8
/* C92E4 80132BE4 AC620000 */  sw        $v0, 0x0($v1)
/* C92E8 80132BE8 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* C92EC 80132BEC AC820000 */  sw        $v0, 0x0($a0)
/* C92F0 80132BF0 3C028015 */  lui       $v0, %hi(D_8014C6A0)
/* C92F4 80132BF4 2442C6A0 */  addiu     $v0, $v0, %lo(D_8014C6A0)
/* C92F8 80132BF8 AC820004 */  sw        $v0, 0x4($a0)
.L80132BFC:
/* C92FC 80132BFC 3C03D838 */  lui       $v1, (0xD8380002 >> 16)
/* C9300 80132C00 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* C9304 80132C04 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* C9308 80132C08 8C820000 */  lw        $v0, 0x0($a0)
/* C930C 80132C0C 34630002 */  ori       $v1, $v1, (0xD8380002 & 0xFFFF)
/* C9310 80132C10 0040282D */  daddu     $a1, $v0, $zero
/* C9314 80132C14 24420008 */  addiu     $v0, $v0, 0x8
/* C9318 80132C18 AC820000 */  sw        $v0, 0x0($a0)
/* C931C 80132C1C ACA30000 */  sw        $v1, 0x0($a1)
/* C9320 80132C20 24030040 */  addiu     $v1, $zero, 0x40
/* C9324 80132C24 ACA30004 */  sw        $v1, 0x4($a1)
/* C9328 80132C28 24430008 */  addiu     $v1, $v0, 0x8
/* C932C 80132C2C AC830000 */  sw        $v1, 0x0($a0)
/* C9330 80132C30 3C03E700 */  lui       $v1, (0xE7000000 >> 16)
/* C9334 80132C34 AC430000 */  sw        $v1, 0x0($v0)
/* C9338 80132C38 AC400004 */  sw        $zero, 0x4($v0)
/* C933C 80132C3C 86630018 */  lh        $v1, 0x18($s3)
/* C9340 80132C40 24020157 */  addiu     $v0, $zero, 0x157
/* C9344 80132C44 14620003 */  bne       $v1, $v0, .L80132C54
/* C9348 80132C48 00000000 */   nop
/* C934C 80132C4C 0C04C2C3 */  jal       draw_coin_sparkles
/* C9350 80132C50 0260202D */   daddu    $a0, $s3, $zero
.L80132C54:
/* C9354 80132C54 8FBF013C */  lw        $ra, 0x13C($sp)
/* C9358 80132C58 8FB60138 */  lw        $s6, 0x138($sp)
/* C935C 80132C5C 8FB50134 */  lw        $s5, 0x134($sp)
/* C9360 80132C60 8FB40130 */  lw        $s4, 0x130($sp)
/* C9364 80132C64 8FB3012C */  lw        $s3, 0x12C($sp)
/* C9368 80132C68 8FB20128 */  lw        $s2, 0x128($sp)
/* C936C 80132C6C 8FB10124 */  lw        $s1, 0x124($sp)
/* C9370 80132C70 8FB00120 */  lw        $s0, 0x120($sp)
/* C9374 80132C74 D7B40140 */  ldc1      $f20, 0x140($sp)
/* C9378 80132C78 03E00008 */  jr        $ra
/* C937C 80132C7C 27BD0148 */   addiu    $sp, $sp, 0x148

### DECOMPILED C INSTRUCTIONS:

void appendGfx_item_entity(void* data) {
    ItemEntity* item = (ItemEntity*)data;
    Mtx mtxTransform;
    Matrix4f mtxTranslate, mtxRotY, mtxScale;
    s32 alpha = 255;
    s32 yOffset;
    f32 rot;

    if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) {
        if (item->flags & ITEM_ENTITY_FLAG_TRANSPARENT) {
            alpha = 255;
            alpha = (item->alpha * alpha) / 255;
        }
        if (item->flags & ITEM_ENTITY_FLAG_HIDING) {
            u8 r, g, b, a;

            get_background_color_blend(&r, &g, &b, &a);
            alpha = (alpha * (255 - a)) / 255;
        }
    }

    if (!(item->flags & ITEM_ENTITY_FLAG_40000)) {
        yOffset = -2;
    } else {
        yOffset = -3;
    }

    if (item->itemID == ITEM_COIN || item->itemID == ITEM_STAR_POINT || item->itemID == ITEM_HEART) {
        item->scale = 1.0f;
    }

    rot = clamp_angle(180.0f - gCameras[gCurrentCamID].currentYaw);
    guTranslateF(mtxTranslate, item->position.x, item->position.y + yOffset, item->position.z);
    guRotateF(mtxRotY, rot, 0.0f, 1.0f, 0.0f);
    if (item->flags & ITEM_ENTITY_RESIZABLE) {
        guScaleF(mtxScale, item->scale, item->scale, item->scale);
        guMtxCatF(mtxRotY, mtxScale, mtxRotY);
    }
    guMtxCatF(mtxRotY, mtxTranslate, mtxTranslate);
    guMtxF2L(mtxTranslate, &mtxTransform);

    gDisplayContext->matrixStack[gMatrixListPos] = mtxTransform;

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

    if (gSpriteShadingProfile->flags != 0) {
        gSPDisplayList(gMainGfxPos++, D_8014BBD8);
    } else {
        gSPDisplayList(gMainGfxPos++, D_8014B870);
    }
    gSPClearGeometryMode(gMainGfxPos++, G_CULL_BOTH | G_LIGHTING);
    gSPDisplayList(gMainGfxPos++, D_8014C620);

    if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) {
        if (gSpriteShadingProfile->flags != 0) {
            gDPSetRenderMode(gMainGfxPos++, AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_RM_PASS,
                             AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL |
                             GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA));
        } else {
            gDPSetRenderMode(gMainGfxPos++, AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL |
                             GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA),
                             AA_EN | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL |
                             GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA));
            gDPSetCombineLERP(gMainGfxPos++, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, PRIMITIVE, 0);
            gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 255, alpha);
        }
    }

    if (!(item->flags & ITEM_ENTITY_FLAG_40000)) {
        gDPLoadTLUT_pal16(gMainGfxPos++, 0, gHudElementCacheTablePalette[item->lookupPaletteIndex].data);
        if (gSpriteShadingProfile->flags != 0) {
            gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 12, gHudElementCacheTableRaster[item->lookupRasterIndex].data);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR |
                       G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPLoadSync(gMainGfxPos++);
            gDPLoadTile(gMainGfxPos++, G_TX_LOADTILE, 0, 0, 0x002E, 0x005C);
            gDPPipeSync(gMainGfxPos++);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, 8,
                       G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPSetTileSize(gMainGfxPos++, 1, 0x0400, 0x0400, 0x045C, 0x045C);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, G_TX_RENDERTILE, 1,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0, G_TX_NOMIRROR | G_TX_WRAP,
                       G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
            gDPSetTileSize(gMainGfxPos++, 2, 0, 0, 0x00FC, 0);

            if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) {
                func_801491E4(mtxTranslate, 0, 0, 24, 24, alpha);
            } else {
                func_801491E4(mtxTranslate, 0, 0, 24, 24, 255);
            }
        } else {
            gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 12, gHudElementCacheTableRaster[item->lookupRasterIndex].data);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPLoadSync(gMainGfxPos++);
            gDPLoadTile(gMainGfxPos++, G_TX_LOADTILE, 0, 0, 0x002E, 0x005C);
            gDPPipeSync(gMainGfxPos++);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, G_TX_RENDERTILE, 0,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPSetTileSize(gMainGfxPos++, G_TX_RENDERTILE, 0x0400, 0x0400, 0x045C, 0x045C);
        }
        gSPDisplayList(gMainGfxPos++, D_8014C678);
    } else {
        gDPLoadTLUT_pal16(gMainGfxPos++, 0, gHudElementCacheTablePalette[item->lookupPaletteIndex].data);
        if (gSpriteShadingProfile->flags != 0) {
            gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 16, gHudElementCacheTableRaster[item->lookupRasterIndex].data);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPLoadSync(gMainGfxPos++);
            gDPLoadTile(gMainGfxPos++, G_TX_LOADTILE, 0, 0, 0x003E, 0x007C);
            gDPPipeSync(gMainGfxPos++);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, 1, 0, G_TX_NOMIRROR | G_TX_CLAMP,
                       8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPSetTileSize(gMainGfxPos++, 1, 0x0400, 0x0400, 0x047C, 0x047C);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, G_TX_RENDERTILE, 1,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0x0100, 2, 0, G_TX_NOMIRROR | G_TX_WRAP,
                       G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
            gDPSetTileSize(gMainGfxPos++, 2, 0, 0, 0x00FC, 0);
            if (item->flags & (ITEM_ENTITY_FLAG_HIDING | ITEM_ENTITY_FLAG_TRANSPARENT)) {
                func_801491E4(mtxTranslate, 0, 0, 32, 32, alpha);
            } else {
                func_801491E4(mtxTranslate, 0, 0, 32, 32, 255);
            }
        } else {
            gDPSetTextureImage(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 16, gHudElementCacheTableRaster[item->lookupRasterIndex].data);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 2, 0x0000, G_TX_LOADTILE, 0,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPLoadSync(gMainGfxPos++);
            gDPLoadTile(gMainGfxPos++, G_TX_LOADTILE, 0, 0, 0x003E, 0x007C);
            gDPPipeSync(gMainGfxPos++);
            gDPSetTile(gMainGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 2, 0x0000, G_TX_RENDERTILE, 0,
                       G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, 8, G_TX_NOLOD);
            gDPSetTileSize(gMainGfxPos++, G_TX_RENDERTILE, 0x0400, 0x0400, 0x047C, 0x047C);
        }
        gSPDisplayList(gMainGfxPos++, D_8014C6A0);
    }
    gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
    gDPPipeSync(gMainGfxPos++);

    if (item->itemID == ITEM_COIN) {
        draw_coin_sparkles(item);
    }
}