### RAW ASSEMBLY INSTRUCTIONS:

glabel load_player_actor
/* 192D84 802644A4 27BDFFD8 */  addiu     $sp, $sp, -0x28
/* 192D88 802644A8 24040444 */  addiu     $a0, $zero, 0x444
/* 192D8C 802644AC AFBF0020 */  sw        $ra, 0x20($sp)
/* 192D90 802644B0 AFB1001C */  sw        $s1, 0x1C($sp)
/* 192D94 802644B4 0C00AB39 */  jal       heap_malloc
/* 192D98 802644B8 AFB00018 */   sw       $s0, 0x18($sp)
/* 192D9C 802644BC 3C11800E */  lui       $s1, %hi(gBattleStatus)
/* 192DA0 802644C0 2631C070 */  addiu     $s1, $s1, %lo(gBattleStatus)
/* 192DA4 802644C4 0040802D */  daddu     $s0, $v0, $zero
/* 192DA8 802644C8 16000003 */  bnez      $s0, .L802644D8
/* 192DAC 802644CC AE2200D8 */   sw       $v0, 0xD8($s1)
.L802644D0:
/* 192DB0 802644D0 08099134 */  j         .L802644D0
/* 192DB4 802644D4 00000000 */   nop
.L802644D8:
/* 192DB8 802644D8 92230093 */  lbu       $v1, 0x93($s1)
/* 192DBC 802644DC 24620001 */  addiu     $v0, $v1, 0x1
/* 192DC0 802644E0 A2220093 */  sb        $v0, 0x93($s1)
/* 192DC4 802644E4 3C028028 */  lui       $v0, %hi(bPlayerActorBlueprint)
/* 192DC8 802644E8 244234D8 */  addiu     $v0, $v0, %lo(bPlayerActorBlueprint)
/* 192DCC 802644EC A2030134 */  sb        $v1, 0x134($s0)
/* 192DD0 802644F0 A2000135 */  sb        $zero, 0x135($s0)
/* 192DD4 802644F4 AE000000 */  sw        $zero, 0x0($s0)
/* 192DD8 802644F8 AE020008 */  sw        $v0, 0x8($s0)
/* 192DDC 802644FC 90420005 */  lbu       $v0, 0x5($v0)
/* 192DE0 80264500 A2020136 */  sb        $v0, 0x136($s0)
/* 192DE4 80264504 3C02800E */  lui       $v0, %hi(gBattleStatus + 0x4)
/* 192DE8 80264508 8C42C074 */  lw        $v0, %lo(gBattleStatus + 0x4)($v0)
/* 192DEC 8026450C 30420040 */  andi      $v0, $v0, 0x40
/* 192DF0 80264510 14400007 */  bnez      $v0, .L80264530
/* 192DF4 80264514 00000000 */   nop
/* 192DF8 80264518 3C028007 */  lui       $v0, %hi(gGameStatusPtr)
/* 192DFC 8026451C 8C42419C */  lw        $v0, %lo(gGameStatusPtr)($v0)
/* 192E00 80264520 904200AA */  lbu       $v0, 0xAA($v0)
/* 192E04 80264524 30420002 */  andi      $v0, $v0, 0x2
/* 192E08 80264528 1040000D */  beqz      $v0, .L80264560
/* 192E0C 8026452C 00000000 */   nop
.L80264530:
/* 192E10 80264530 3C01C302 */  lui       $at, (0xC3020000 >> 16)
/* 192E14 80264534 44810000 */  mtc1      $at, $f0
/* 192E18 80264538 44801000 */  mtc1      $zero, $f2
/* 192E1C 8026453C 3C01C120 */  lui       $at, (0xC1200000 >> 16)
/* 192E20 80264540 44812000 */  mtc1      $at, $f4
/* 192E24 80264544 E6000144 */  swc1      $f0, 0x144($s0)
/* 192E28 80264548 E6000138 */  swc1      $f0, 0x138($s0)
/* 192E2C 8026454C E6020148 */  swc1      $f2, 0x148($s0)
/* 192E30 80264550 E602013C */  swc1      $f2, 0x13C($s0)
/* 192E34 80264554 E604014C */  swc1      $f4, 0x14C($s0)
/* 192E38 80264558 08099161 */  j         .L80264584
/* 192E3C 8026455C E6040140 */   swc1     $f4, 0x140($s0)
.L80264560:
/* 192E40 80264560 3C01C2BE */  lui       $at, (0xC2BE0000 >> 16)
/* 192E44 80264564 44811000 */  mtc1      $at, $f2
/* 192E48 80264568 44800000 */  mtc1      $zero, $f0
/* 192E4C 8026456C E6020144 */  swc1      $f2, 0x144($s0)
/* 192E50 80264570 E6020138 */  swc1      $f2, 0x138($s0)
/* 192E54 80264574 E6000148 */  swc1      $f0, 0x148($s0)
/* 192E58 80264578 E600013C */  swc1      $f0, 0x13C($s0)
/* 192E5C 8026457C E600014C */  swc1      $f0, 0x14C($s0)
/* 192E60 80264580 E6000140 */  swc1      $f0, 0x140($s0)
.L80264584:
/* 192E64 80264584 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 192E68 80264588 44810000 */  mtc1      $at, $f0
/* 192E6C 8026458C 8E030008 */  lw        $v1, 0x8($s0)
/* 192E70 80264590 C6020144 */  lwc1      $f2, 0x144($s0)
/* 192E74 80264594 C604014C */  lwc1      $f4, 0x14C($s0)
/* 192E78 80264598 2402000D */  addiu     $v0, $zero, 0xD
/* 192E7C 8026459C A6000150 */  sh        $zero, 0x150($s0)
/* 192E80 802645A0 A6000152 */  sh        $zero, 0x152($s0)
/* 192E84 802645A4 A6000154 */  sh        $zero, 0x154($s0)
/* 192E88 802645A8 AE00015C */  sw        $zero, 0x15C($s0)
/* 192E8C 802645AC AE000160 */  sw        $zero, 0x160($s0)
/* 192E90 802645B0 AE000164 */  sw        $zero, 0x164($s0)
/* 192E94 802645B4 A6000168 */  sh        $zero, 0x168($s0)
/* 192E98 802645B8 A600016A */  sh        $zero, 0x16A($s0)
/* 192E9C 802645BC A600016C */  sh        $zero, 0x16C($s0)
/* 192EA0 802645C0 A200019A */  sb        $zero, 0x19A($s0)
/* 192EA4 802645C4 AE00018C */  sw        $zero, 0x18C($s0)
/* 192EA8 802645C8 A6020434 */  sh        $v0, 0x434($s0)
/* 192EAC 802645CC E6000170 */  swc1      $f0, 0x170($s0)
/* 192EB0 802645D0 E6000174 */  swc1      $f0, 0x174($s0)
/* 192EB4 802645D4 E6000178 */  swc1      $f0, 0x178($s0)
/* 192EB8 802645D8 E600017C */  swc1      $f0, 0x17C($s0)
/* 192EBC 802645DC E6000180 */  swc1      $f0, 0x180($s0)
/* 192EC0 802645E0 E6000184 */  swc1      $f0, 0x184($s0)
/* 192EC4 802645E4 90620020 */  lbu       $v0, 0x20($v1)
/* 192EC8 802645E8 A2020190 */  sb        $v0, 0x190($s0)
/* 192ECC 802645EC 4600118D */  trunc.w.s $f6, $f2
/* 192ED0 802645F0 44023000 */  mfc1      $v0, $f6
/* 192ED4 802645F4 90630021 */  lbu       $v1, 0x21($v1)
/* 192ED8 802645F8 C6020148 */  lwc1      $f2, 0x148($s0)
/* 192EDC 802645FC A6000192 */  sh        $zero, 0x192($s0)
/* 192EE0 80264600 A6020156 */  sh        $v0, 0x156($s0)
/* 192EE4 80264604 E6000188 */  swc1      $f0, 0x188($s0)
/* 192EE8 80264608 AE000200 */  sw        $zero, 0x200($s0)
/* 192EEC 8026460C 4600118D */  trunc.w.s $f6, $f2
/* 192EF0 80264610 44023000 */  mfc1      $v0, $f6
/* 192EF4 80264614 00000000 */  nop
/* 192EF8 80264618 A6020158 */  sh        $v0, 0x158($s0)
/* 192EFC 8026461C 4600218D */  trunc.w.s $f6, $f4
/* 192F00 80264620 44023000 */  mfc1      $v0, $f6
/* 192F04 80264624 00000000 */  nop
/* 192F08 80264628 A602015A */  sh        $v0, 0x15A($s0)
/* 192F0C 8026462C A2030191 */  sb        $v1, 0x191($s0)
/* 192F10 80264630 A2000204 */  sb        $zero, 0x204($s0)
/* 192F14 80264634 A2000205 */  sb        $zero, 0x205($s0)
/* 192F18 80264638 92030136 */  lbu       $v1, 0x136($s0)
/* 192F1C 8026463C 3C028028 */  lui       $v0, %hi(bPlayerStatusTable)
/* 192F20 80264640 2442342C */  addiu     $v0, $v0, %lo(bPlayerStatusTable)
/* 192F24 80264644 A2000194 */  sb        $zero, 0x194($s0)
/* 192F28 80264648 A2000195 */  sb        $zero, 0x195($s0)
/* 192F2C 8026464C A2000196 */  sb        $zero, 0x196($s0)
/* 192F30 80264650 A2000197 */  sb        $zero, 0x197($s0)
/* 192F34 80264654 AE0001C0 */  sw        $zero, 0x1C0($s0)
/* 192F38 80264658 AE0001C4 */  sw        $zero, 0x1C4($s0)
/* 192F3C 8026465C AE0001C8 */  sw        $zero, 0x1C8($s0)
/* 192F40 80264660 AE0001CC */  sw        $zero, 0x1CC($s0)
/* 192F44 80264664 AE0001D0 */  sw        $zero, 0x1D0($s0)
/* 192F48 80264668 AE0001D4 */  sw        $zero, 0x1D4($s0)
/* 192F4C 8026466C AE0001D8 */  sw        $zero, 0x1D8($s0)
/* 192F50 80264670 AE0001DC */  sw        $zero, 0x1DC($s0)
/* 192F54 80264674 A20001F1 */  sb        $zero, 0x1F1($s0)
/* 192F58 80264678 AE02020C */  sw        $v0, 0x20C($s0)
/* 192F5C 8026467C A2000210 */  sb        $zero, 0x210($s0)
/* 192F60 80264680 A2000211 */  sb        $zero, 0x211($s0)
/* 192F64 80264684 A2000212 */  sb        $zero, 0x212($s0)
/* 192F68 80264688 A2000213 */  sb        $zero, 0x213($s0)
/* 192F6C 8026468C A2000214 */  sb        $zero, 0x214($s0)
/* 192F70 80264690 A2000215 */  sb        $zero, 0x215($s0)
/* 192F74 80264694 A2000216 */  sb        $zero, 0x216($s0)
/* 192F78 80264698 A2000217 */  sb        $zero, 0x217($s0)
/* 192F7C 8026469C A2000218 */  sb        $zero, 0x218($s0)
/* 192F80 802646A0 A2000219 */  sb        $zero, 0x219($s0)
/* 192F84 802646A4 A2000220 */  sb        $zero, 0x220($s0)
/* 192F88 802646A8 A600021E */  sh        $zero, 0x21E($s0)
/* 192F8C 802646AC A200021D */  sb        $zero, 0x21D($s0)
/* 192F90 802646B0 A2000221 */  sb        $zero, 0x221($s0)
/* 192F94 802646B4 A2000222 */  sb        $zero, 0x222($s0)
/* 192F98 802646B8 A2000223 */  sb        $zero, 0x223($s0)
/* 192F9C 802646BC A2000224 */  sb        $zero, 0x224($s0)
/* 192FA0 802646C0 A200021C */  sb        $zero, 0x21C($s0)
/* 192FA4 802646C4 000310C0 */  sll       $v0, $v1, 3
/* 192FA8 802646C8 00431023 */  subu      $v0, $v0, $v1
/* 192FAC 802646CC 00021080 */  sll       $v0, $v0, 2
/* 192FB0 802646D0 3C018028 */  lui       $at, %hi(bActorSoundTable)
/* 192FB4 802646D4 00220821 */  addu      $at, $at, $v0
/* 192FB8 802646D8 8C221468 */  lw        $v0, %lo(bActorSoundTable)($at)
/* 192FBC 802646DC AE02019C */  sw        $v0, 0x19C($s0)
/* 192FC0 802646E0 000310C0 */  sll       $v0, $v1, 3
/* 192FC4 802646E4 00431023 */  subu      $v0, $v0, $v1
/* 192FC8 802646E8 00021080 */  sll       $v0, $v0, 2
/* 192FCC 802646EC 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x4)
/* 192FD0 802646F0 00220821 */  addu      $at, $at, $v0
/* 192FD4 802646F4 8C22146C */  lw        $v0, %lo(bActorSoundTable + 0x4)($at)
/* 192FD8 802646F8 AE0201A0 */  sw        $v0, 0x1A0($s0)
/* 192FDC 802646FC 000310C0 */  sll       $v0, $v1, 3
/* 192FE0 80264700 00431023 */  subu      $v0, $v0, $v1
/* 192FE4 80264704 00021080 */  sll       $v0, $v0, 2
/* 192FE8 80264708 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x8)
/* 192FEC 8026470C 00220821 */  addu      $at, $at, $v0
/* 192FF0 80264710 8C221470 */  lw        $v0, %lo(bActorSoundTable + 0x8)($at)
/* 192FF4 80264714 AE0201A4 */  sw        $v0, 0x1A4($s0)
/* 192FF8 80264718 000310C0 */  sll       $v0, $v1, 3
/* 192FFC 8026471C 00431023 */  subu      $v0, $v0, $v1
/* 193000 80264720 00021080 */  sll       $v0, $v0, 2
/* 193004 80264724 3C018028 */  lui       $at, %hi(bActorSoundTable + 0xC)
/* 193008 80264728 00220821 */  addu      $at, $at, $v0
/* 19300C 8026472C 8C221474 */  lw        $v0, %lo(bActorSoundTable + 0xC)($at)
/* 193010 80264730 AE0201A8 */  sw        $v0, 0x1A8($s0)
/* 193014 80264734 000310C0 */  sll       $v0, $v1, 3
/* 193018 80264738 00431023 */  subu      $v0, $v0, $v1
/* 19301C 8026473C 00021080 */  sll       $v0, $v0, 2
/* 193020 80264740 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x10)
/* 193024 80264744 00220821 */  addu      $at, $at, $v0
/* 193028 80264748 8C221478 */  lw        $v0, %lo(bActorSoundTable + 0x10)($at)
/* 19302C 8026474C AE0201AC */  sw        $v0, 0x1AC($s0)
/* 193030 80264750 000310C0 */  sll       $v0, $v1, 3
/* 193034 80264754 00431023 */  subu      $v0, $v0, $v1
/* 193038 80264758 00021080 */  sll       $v0, $v0, 2
/* 19303C 8026475C 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x14)
/* 193040 80264760 00220821 */  addu      $at, $at, $v0
/* 193044 80264764 8C22147C */  lw        $v0, %lo(bActorSoundTable + 0x14)($at)
/* 193048 80264768 AE0201B0 */  sw        $v0, 0x1B0($s0)
/* 19304C 8026476C 000310C0 */  sll       $v0, $v1, 3
/* 193050 80264770 00431023 */  subu      $v0, $v0, $v1
/* 193054 80264774 00021080 */  sll       $v0, $v0, 2
/* 193058 80264778 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x18)
/* 19305C 8026477C 00220821 */  addu      $at, $at, $v0
/* 193060 80264780 94221480 */  lhu       $v0, %lo(bActorSoundTable + 0x18)($at)
/* 193064 80264784 24040001 */  addiu     $a0, $zero, 0x1
/* 193068 80264788 A60201B4 */  sh        $v0, 0x1B4($s0)
/* 19306C 8026478C 000310C0 */  sll       $v0, $v1, 3
/* 193070 80264790 00431023 */  subu      $v0, $v0, $v1
/* 193074 80264794 00021080 */  sll       $v0, $v0, 2
/* 193078 80264798 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x1A)
/* 19307C 8026479C 00220821 */  addu      $at, $at, $v0
/* 193080 802647A0 94221482 */  lhu       $v0, %lo(bActorSoundTable + 0x1A)($at)
/* 193084 802647A4 26030004 */  addiu     $v1, $s0, 0x4
/* 193088 802647A8 A60201B6 */  sh        $v0, 0x1B6($s0)
.L802647AC:
/* 19308C 802647AC AC600438 */  sw        $zero, 0x438($v1)
/* 193090 802647B0 2484FFFF */  addiu     $a0, $a0, -0x1
/* 193094 802647B4 0481FFFD */  bgez      $a0, .L802647AC
/* 193098 802647B8 2463FFFC */   addiu    $v1, $v1, -0x4
/* 19309C 802647BC 0C00AB39 */  jal       heap_malloc
/* 1930A0 802647C0 240400C4 */   addiu    $a0, $zero, 0xC4
/* 1930A4 802647C4 0040882D */  daddu     $s1, $v0, $zero
/* 1930A8 802647C8 16200003 */  bnez      $s1, .L802647D8
/* 1930AC 802647CC AE1101F4 */   sw       $s1, 0x1F4($s0)
.L802647D0:
/* 1930B0 802647D0 080991F4 */  j         .L802647D0
/* 1930B4 802647D4 00000000 */   nop
.L802647D8:
/* 1930B8 802647D8 24020001 */  addiu     $v0, $zero, 0x1
/* 1930BC 802647DC A20201F3 */  sb        $v0, 0x1F3($s0)
/* 1930C0 802647E0 3C028028 */  lui       $v0, %hi(bMarioParts)
/* 1930C4 802647E4 24423500 */  addiu     $v0, $v0, %lo(bMarioParts)
/* 1930C8 802647E8 AE220008 */  sw        $v0, 0x8($s1)
/* 1930CC 802647EC 2402000C */  addiu     $v0, $zero, 0xC
/* 1930D0 802647F0 A6200014 */  sh        $zero, 0x14($s1)
/* 1930D4 802647F4 A6220014 */  sh        $v0, 0x14($s1)
/* 1930D8 802647F8 24020020 */  addiu     $v0, $zero, 0x20
/* 1930DC 802647FC A6200016 */  sh        $zero, 0x16($s1)
/* 1930E0 80264800 A6220016 */  sh        $v0, 0x16($s1)
/* 1930E4 80264804 24020005 */  addiu     $v0, $zero, 0x5
/* 1930E8 80264808 A6200018 */  sh        $zero, 0x18($s1)
/* 1930EC 8026480C A6220018 */  sh        $v0, 0x18($s1)
/* 1930F0 80264810 3C028028 */  lui       $v0, %hi(bMarioDefenseTable)
/* 1930F4 80264814 24423420 */  addiu     $v0, $v0, %lo(bMarioDefenseTable)
/* 1930F8 80264818 AE2000C0 */  sw        $zero, 0xC0($s1)
/* 1930FC 8026481C AE200000 */  sw        $zero, 0x0($s1)
/* 193100 80264820 AE200004 */  sw        $zero, 0x4($s1)
/* 193104 80264824 AE200020 */  sw        $zero, 0x20($s1)
/* 193108 80264828 AE200024 */  sw        $zero, 0x24($s1)
/* 19310C 8026482C AE200028 */  sw        $zero, 0x28($s1)
/* 193110 80264830 A6200044 */  sh        $zero, 0x44($s1)
/* 193114 80264834 A6200046 */  sh        $zero, 0x46($s1)
/* 193118 80264838 A6200048 */  sh        $zero, 0x48($s1)
/* 19311C 8026483C A620001A */  sh        $zero, 0x1A($s1)
/* 193120 80264840 A620001C */  sh        $zero, 0x1C($s1)
/* 193124 80264844 A620001E */  sh        $zero, 0x1E($s1)
/* 193128 80264848 AE20002C */  sw        $zero, 0x2C($s1)
/* 19312C 8026484C AE200030 */  sw        $zero, 0x30($s1)
/* 193130 80264850 AE200034 */  sw        $zero, 0x34($s1)
/* 193134 80264854 AE220078 */  sw        $v0, 0x78($s1)
/* 193138 80264858 3C02800E */  lui       $v0, %hi(gBattleStatus + 0x4)
/* 19313C 8026485C 8C42C074 */  lw        $v0, %lo(gBattleStatus + 0x4)($v0)
/* 193140 80264860 30420040 */  andi      $v0, $v0, 0x40
/* 193144 80264864 10400005 */  beqz      $v0, .L8026487C
/* 193148 80264868 00000000 */   nop
/* 19314C 8026486C 3C028028 */  lui       $v0, %hi(bPeachIdleAnims)
/* 193150 80264870 2442340C */  addiu     $v0, $v0, %lo(bPeachIdleAnims)
/* 193154 80264874 08099222 */  j         .L80264888
/* 193158 80264878 AE220094 */   sw       $v0, 0x94($s1)
.L8026487C:
/* 19315C 8026487C 3C028028 */  lui       $v0, %hi(bMarioIdleAnims)
/* 193160 80264880 24423238 */  addiu     $v0, $v0, %lo(bMarioIdleAnims)
/* 193164 80264884 AE220094 */  sw        $v0, 0x94($s1)
.L80264888:
/* 193168 80264888 240200FF */  addiu     $v0, $zero, 0xFF
/* 19316C 8026488C 8E240094 */  lw        $a0, 0x94($s1)
/* 193170 80264890 AE20007C */  sw        $zero, 0x7C($s1)
/* 193174 80264894 AE200080 */  sw        $zero, 0x80($s1)
/* 193178 80264898 A6220098 */  sh        $v0, 0x98($s1)
/* 19317C 8026489C 92020191 */  lbu       $v0, 0x191($s0)
/* 193180 802648A0 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 193184 802648A4 44810000 */  mtc1      $at, $f0
/* 193188 802648A8 24050001 */  addiu     $a1, $zero, 0x1
/* 19318C 802648AC A2220073 */  sb        $v0, 0x73($s1)
/* 193190 802648B0 92030190 */  lbu       $v1, 0x190($s0)
/* 193194 802648B4 00A0102D */  daddu     $v0, $a1, $zero
/* 193198 802648B8 AE200064 */  sw        $zero, 0x64($s1)
/* 19319C 802648BC A620006C */  sh        $zero, 0x6C($s1)
/* 1931A0 802648C0 A620006E */  sh        $zero, 0x6E($s1)
/* 1931A4 802648C4 A6200070 */  sh        $zero, 0x70($s1)
/* 1931A8 802648C8 AE200038 */  sw        $zero, 0x38($s1)
/* 1931AC 802648CC AE20003C */  sw        $zero, 0x3C($s1)
/* 1931B0 802648D0 AE200040 */  sw        $zero, 0x40($s1)
/* 1931B4 802648D4 E620004C */  swc1      $f0, 0x4C($s1)
/* 1931B8 802648D8 E6200050 */  swc1      $f0, 0x50($s1)
/* 1931BC 802648DC E6200054 */  swc1      $f0, 0x54($s1)
/* 1931C0 802648E0 A2220074 */  sb        $v0, 0x74($s1)
/* 1931C4 802648E4 A6200068 */  sh        $zero, 0x68($s1)
/* 1931C8 802648E8 A620006A */  sh        $zero, 0x6A($s1)
/* 1931CC 802648EC E6200090 */  swc1      $f0, 0x90($s1)
/* 1931D0 802648F0 0C09973A */  jal       get_npc_anim_for_status
/* 1931D4 802648F4 A2230072 */   sb       $v1, 0x72($s1)
/* 1931D8 802648F8 AE220088 */  sw        $v0, 0x88($s1)
/* 1931DC 802648FC AE20000C */  sw        $zero, 0xC($s1)
/* 1931E0 80264900 92030136 */  lbu       $v1, 0x136($s0)
/* 1931E4 80264904 000310C0 */  sll       $v0, $v1, 3
/* 1931E8 80264908 00431023 */  subu      $v0, $v0, $v1
/* 1931EC 8026490C 00021080 */  sll       $v0, $v0, 2
/* 1931F0 80264910 3C018028 */  lui       $at, %hi(bActorSoundTable)
/* 1931F4 80264914 00220821 */  addu      $at, $at, $v0
/* 1931F8 80264918 8C221468 */  lw        $v0, %lo(bActorSoundTable)($at)
/* 1931FC 8026491C AE2200A4 */  sw        $v0, 0xA4($s1)
/* 193200 80264920 92030136 */  lbu       $v1, 0x136($s0)
/* 193204 80264924 000310C0 */  sll       $v0, $v1, 3
/* 193208 80264928 00431023 */  subu      $v0, $v0, $v1
/* 19320C 8026492C 00021080 */  sll       $v0, $v0, 2
/* 193210 80264930 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x4)
/* 193214 80264934 00220821 */  addu      $at, $at, $v0
/* 193218 80264938 8C22146C */  lw        $v0, %lo(bActorSoundTable + 0x4)($at)
/* 19321C 8026493C AE2200A8 */  sw        $v0, 0xA8($s1)
/* 193220 80264940 92030136 */  lbu       $v1, 0x136($s0)
/* 193224 80264944 000310C0 */  sll       $v0, $v1, 3
/* 193228 80264948 00431023 */  subu      $v0, $v0, $v1
/* 19322C 8026494C 00021080 */  sll       $v0, $v0, 2
/* 193230 80264950 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x8)
/* 193234 80264954 00220821 */  addu      $at, $at, $v0
/* 193238 80264958 8C221470 */  lw        $v0, %lo(bActorSoundTable + 0x8)($at)
/* 19323C 8026495C AE2200AC */  sw        $v0, 0xAC($s1)
/* 193240 80264960 92030136 */  lbu       $v1, 0x136($s0)
/* 193244 80264964 000310C0 */  sll       $v0, $v1, 3
/* 193248 80264968 00431023 */  subu      $v0, $v0, $v1
/* 19324C 8026496C 00021080 */  sll       $v0, $v0, 2
/* 193250 80264970 3C018028 */  lui       $at, %hi(bActorSoundTable + 0xC)
/* 193254 80264974 00220821 */  addu      $at, $at, $v0
/* 193258 80264978 8C221474 */  lw        $v0, %lo(bActorSoundTable + 0xC)($at)
/* 19325C 8026497C AE2200B0 */  sw        $v0, 0xB0($s1)
/* 193260 80264980 92030136 */  lbu       $v1, 0x136($s0)
/* 193264 80264984 000310C0 */  sll       $v0, $v1, 3
/* 193268 80264988 00431023 */  subu      $v0, $v0, $v1
/* 19326C 8026498C 00021080 */  sll       $v0, $v0, 2
/* 193270 80264990 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x10)
/* 193274 80264994 00220821 */  addu      $at, $at, $v0
/* 193278 80264998 8C221478 */  lw        $v0, %lo(bActorSoundTable + 0x10)($at)
/* 19327C 8026499C AE2200B4 */  sw        $v0, 0xB4($s1)
/* 193280 802649A0 92030136 */  lbu       $v1, 0x136($s0)
/* 193284 802649A4 000310C0 */  sll       $v0, $v1, 3
/* 193288 802649A8 00431023 */  subu      $v0, $v0, $v1
/* 19328C 802649AC 00021080 */  sll       $v0, $v0, 2
/* 193290 802649B0 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x14)
/* 193294 802649B4 00220821 */  addu      $at, $at, $v0
/* 193298 802649B8 8C22147C */  lw        $v0, %lo(bActorSoundTable + 0x14)($at)
/* 19329C 802649BC AE2200B8 */  sw        $v0, 0xB8($s1)
/* 1932A0 802649C0 92030136 */  lbu       $v1, 0x136($s0)
/* 1932A4 802649C4 000310C0 */  sll       $v0, $v1, 3
/* 1932A8 802649C8 00431023 */  subu      $v0, $v0, $v1
/* 1932AC 802649CC 00021080 */  sll       $v0, $v0, 2
/* 1932B0 802649D0 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x18)
/* 1932B4 802649D4 00220821 */  addu      $at, $at, $v0
/* 1932B8 802649D8 94221480 */  lhu       $v0, %lo(bActorSoundTable + 0x18)($at)
/* 1932BC 802649DC A62200BC */  sh        $v0, 0xBC($s1)
/* 1932C0 802649E0 92030136 */  lbu       $v1, 0x136($s0)
/* 1932C4 802649E4 000310C0 */  sll       $v0, $v1, 3
/* 1932C8 802649E8 00431023 */  subu      $v0, $v0, $v1
/* 1932CC 802649EC 00021080 */  sll       $v0, $v0, 2
/* 1932D0 802649F0 3C018028 */  lui       $at, %hi(bActorSoundTable + 0x1A)
/* 1932D4 802649F4 00220821 */  addu      $at, $at, $v0
/* 1932D8 802649F8 94221482 */  lhu       $v0, %lo(bActorSoundTable + 0x1A)($at)
/* 1932DC 802649FC 8E230094 */  lw        $v1, 0x94($s1)
/* 1932E0 80264A00 10600030 */  beqz      $v1, .L80264AC4
/* 1932E4 80264A04 A62200BE */   sh       $v0, 0xBE($s1)
/* 1932E8 80264A08 0C00AB39 */  jal       heap_malloc
/* 1932EC 80264A0C 240408E8 */   addiu    $a0, $zero, 0x8E8
/* 1932F0 80264A10 0040282D */  daddu     $a1, $v0, $zero
/* 1932F4 80264A14 14A00003 */  bnez      $a1, .L80264A24
/* 1932F8 80264A18 AE2200C0 */   sw       $v0, 0xC0($s1)
.L80264A1C:
/* 1932FC 80264A1C 08099287 */  j         .L80264A1C
/* 193300 80264A20 00000000 */   nop
.L80264A24:
/* 193304 80264A24 0000182D */  daddu     $v1, $zero, $zero
/* 193308 80264A28 00A0202D */  daddu     $a0, $a1, $zero
/* 19330C 80264A2C A0A006C0 */  sb        $zero, 0x6C0($a1)
/* 193310 80264A30 A0A00750 */  sb        $zero, 0x750($a1)
/* 193314 80264A34 A0A00764 */  sb        $zero, 0x764($a1)
/* 193318 80264A38 A0A00768 */  sb        $zero, 0x768($a1)
/* 19331C 80264A3C A0A007D8 */  sb        $zero, 0x7D8($a1)
/* 193320 80264A40 A0A007D9 */  sb        $zero, 0x7D9($a1)
.L80264A44:
/* 193324 80264A44 C6000144 */  lwc1      $f0, 0x144($s0)
/* 193328 80264A48 4600018D */  trunc.w.s $f6, $f0
/* 19332C 80264A4C 44023000 */  mfc1      $v0, $f6
/* 193330 80264A50 00000000 */  nop
/* 193334 80264A54 A48207FC */  sh        $v0, 0x7FC($a0)
/* 193338 80264A58 C6000148 */  lwc1      $f0, 0x148($s0)
/* 19333C 80264A5C 4600018D */  trunc.w.s $f6, $f0
/* 193340 80264A60 44023000 */  mfc1      $v0, $f6
/* 193344 80264A64 00000000 */  nop
/* 193348 80264A68 A482081C */  sh        $v0, 0x81C($a0)
/* 19334C 80264A6C C600014C */  lwc1      $f0, 0x14C($s0)
/* 193350 80264A70 24630001 */  addiu     $v1, $v1, 0x1
/* 193354 80264A74 4600018D */  trunc.w.s $f6, $f0
/* 193358 80264A78 44023000 */  mfc1      $v0, $f6
/* 19335C 80264A7C 00000000 */  nop
/* 193360 80264A80 A482083C */  sh        $v0, 0x83C($a0)
/* 193364 80264A84 28620010 */  slti      $v0, $v1, 0x10
/* 193368 80264A88 1440FFEE */  bnez      $v0, .L80264A44
/* 19336C 80264A8C 24840002 */   addiu    $a0, $a0, 0x2
/* 193370 80264A90 0000182D */  daddu     $v1, $zero, $zero
/* 193374 80264A94 00A0202D */  daddu     $a0, $a1, $zero
/* 193378 80264A98 24020003 */  addiu     $v0, $zero, 0x3
/* 19337C 80264A9C A0A207DA */  sb        $v0, 0x7DA($a1)
/* 193380 80264AA0 A0A007DB */  sb        $zero, 0x7DB($a1)
/* 193384 80264AA4 A0A008AC */  sb        $zero, 0x8AC($a1)
.L80264AA8:
/* 193388 80264AA8 AC8008B0 */  sw        $zero, 0x8B0($a0)
/* 19338C 80264AAC 00A31021 */  addu      $v0, $a1, $v1
/* 193390 80264AB0 24630001 */  addiu     $v1, $v1, 0x1
/* 193394 80264AB4 A04008B8 */  sb        $zero, 0x8B8($v0)
/* 193398 80264AB8 28620002 */  slti      $v0, $v1, 0x2
/* 19339C 80264ABC 1440FFFA */  bnez      $v0, .L80264AA8
/* 1933A0 80264AC0 24840004 */   addiu    $a0, $a0, 0x4
.L80264AC4:
/* 1933A4 80264AC4 0C00AB39 */  jal       heap_malloc
/* 1933A8 80264AC8 2404008C */   addiu    $a0, $zero, 0x8C
/* 1933AC 80264ACC 14400003 */  bnez      $v0, .L80264ADC
/* 1933B0 80264AD0 AE220010 */   sw       $v0, 0x10($s1)
.L80264AD4:
/* 1933B4 80264AD4 080992B5 */  j         .L80264AD4
/* 1933B8 80264AD8 00000000 */   nop
.L80264ADC:
/* 1933BC 80264ADC 8E050144 */  lw        $a1, 0x144($s0)
/* 1933C0 80264AE0 8E060148 */  lw        $a2, 0x148($s0)
/* 1933C4 80264AE4 8E07014C */  lw        $a3, 0x14C($s0)
/* 1933C8 80264AE8 0C044898 */  jal       create_shadow_type
/* 1933CC 80264AEC 0000202D */   daddu    $a0, $zero, $zero
/* 1933D0 80264AF0 AE02042C */  sw        $v0, 0x42C($s0)
/* 1933D4 80264AF4 92020190 */  lbu       $v0, 0x190($s0)
/* 1933D8 80264AF8 3C014038 */  lui       $at, (0x40380000 >> 16)
/* 1933DC 80264AFC 44811800 */  mtc1      $at, $f3
/* 1933E0 80264B00 44801000 */  mtc1      $zero, $f2
/* 1933E4 80264B04 44820000 */  mtc1      $v0, $f0
/* 1933E8 80264B08 00000000 */  nop
/* 1933EC 80264B0C 46800021 */  cvt.d.w   $f0, $f0
/* 1933F0 80264B10 46220003 */  div.d     $f0, $f0, $f2
/* 1933F4 80264B14 46200020 */  cvt.s.d   $f0, $f0
/* 1933F8 80264B18 0C011D82 */  jal       create_status_icon_set
/* 1933FC 80264B1C E6000430 */   swc1     $f0, 0x430($s0)
/* 193400 80264B20 3C05C30E */  lui       $a1, (0xC30E0000 >> 16)
/* 193404 80264B24 3C064208 */  lui       $a2, (0x42080000 >> 16)
/* 193408 80264B28 3C073F80 */  lui       $a3, (0x3F800000 >> 16)
/* 19340C 80264B2C 0000202D */  daddu     $a0, $zero, $zero
/* 193410 80264B30 A6020436 */  sh        $v0, 0x436($s0)
/* 193414 80264B34 0C01C43C */  jal       fx_disable_x
/* 193418 80264B38 AFA00010 */   sw       $zero, 0x10($sp)
/* 19341C 80264B3C 24040013 */  addiu     $a0, $zero, 0x13
/* 193420 80264B40 AE020440 */  sw        $v0, 0x440($s0)
/* 193424 80264B44 0C03A752 */  jal       is_ability_active
/* 193428 80264B48 AE000228 */   sw       $zero, 0x228($s0)
/* 19342C 80264B4C 10400004 */  beqz      $v0, .L80264B60
/* 193430 80264B50 2402000B */   addiu    $v0, $zero, 0xB
/* 193434 80264B54 A2020212 */  sb        $v0, 0x212($s0)
/* 193438 80264B58 2402007F */  addiu     $v0, $zero, 0x7F
/* 19343C 80264B5C A2020213 */  sb        $v0, 0x213($s0)
.L80264B60:
/* 193440 80264B60 8FBF0020 */  lw        $ra, 0x20($sp)
/* 193444 80264B64 8FB1001C */  lw        $s1, 0x1C($sp)
/* 193448 80264B68 8FB00018 */  lw        $s0, 0x18($sp)
/* 19344C 80264B6C 03E00008 */  jr        $ra
/* 193450 80264B70 27BD0028 */   addiu    $sp, $sp, 0x28

### DECOMPILED C INSTRUCTIONS:

void load_player_actor(void) {
    BattleStatus* battleStatus = &gBattleStatus;
    Actor* player;
    ActorPart* part;
    DecorationTable* decorationTable;
    ActorPartMovement* partMovement;
    s32 i;
    s32 j;

    player = battleStatus->playerActor = heap_malloc(sizeof(*player));

    ASSERT(player != NULL);

    player->unk_134 = battleStatus->unk_93++;
    player->footStepCounter = 0;
    player->flags = 0;
    player->actorBlueprint = &bPlayerActorBlueprint;
    player->actorType = bPlayerActorBlueprint.type;

    if ((gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) || (gGameStatusPtr->demoFlags & 2)) {
        player->homePos.x = player->currentPos.x = -130.0f;
        player->homePos.y = player->currentPos.y = 0.0f;
        player->homePos.z = player->currentPos.z = -10.0f;
    } else {
        player->homePos.x = player->currentPos.x = -95.0f;
        player->homePos.y = player->currentPos.y = 0.0f;
        player->homePos.z = player->currentPos.z = 0.0f;
    }

    player->headOffset.x = 0;
    player->headOffset.y = 0;
    player->headOffset.z = 0;
    player->rotation.x = 0.0f;
    player->rotation.y = 0.0f;
    player->rotation.z = 0.0f;
    player->rotationPivotOffset.x = 0;
    player->rotationPivotOffset.y = 0;
    player->rotationPivotOffset.z = 0;
    player->verticalRenderOffset = 0;
    player->yaw = 0.0f;
    player->renderMode = RENDER_MODE_ALPHATEST;
    player->scale.x = 1.0f;
    player->scale.y = 1.0f;
    player->scale.z = 1.0f;
    player->scaleModifier.x = 1.0f;
    player->scaleModifier.y = 1.0f;
    player->scaleModifier.z = 1.0f;
    player->size.x = player->actorBlueprint->size.x;
    player->size.y = player->actorBlueprint->size.y;
    player->actorID = 0;
    player->healthBarPos.x = player->currentPos.x;
    player->healthBarPos.y = player->currentPos.y;
    player->healthBarPos.z = player->currentPos.z;
    player->scalingFactor = 1.0f;
    player->attackResultEffect = NULL;
    player->actionRatingCombo = 0;
    player->actionRatingTime = 0;
    player->statusIconOffset.x = 0;
    player->statusIconOffset.y = 0;
    player->statusTextOffset.x = 0;
    player->statusTextOffset.y = 0;
    player->idleSource = NULL;
    player->takeTurnSource = NULL;
    player->handleEventSource = NULL;
    player->handlePhaseSource = NULL;
    player->idleScript = NULL;
    player->takeTurnScript = NULL;
    player->handleEventScript = NULL;
    player->handlePhaseScript = NULL;
    player->turnPriority = 0;
    player->statusTable = bPlayerStatusTable;
    player->debuff = 0;
    player->debuffDuration = 0;
    player->staticStatus = 0;
    player->staticDuration = 0;
    player->stoneStatus = 0;
    player->stoneDuration = 0;
    player->koStatus = 0;
    player->koDuration = 0;
    player->transparentStatus = 0;
    player->transparentDuration = 0;
    player->isGlowing = 0;
    player->unk_21E = 0;
    player->disableDismissTimer = 0;
    player->attackBoost = 0;
    player->defenseBoost = 0;
    player->chillOutAmount = 0;
    player->chillOutTurns = 0;
    player->statusAfflicted = 0;
    player->actorTypeData1[0] = bActorSoundTable[player->actorType].walk[0];
    player->actorTypeData1[1] = bActorSoundTable[player->actorType].walk[1];
    player->actorTypeData1[2] = bActorSoundTable[player->actorType].fly[0];
    player->actorTypeData1[3] = bActorSoundTable[player->actorType].fly[1];
    player->actorTypeData1[4] = bActorSoundTable[player->actorType].jump;
    player->actorTypeData1[5] = bActorSoundTable[player->actorType].hurt;
    player->actorTypeData1b[0] = bActorSoundTable[player->actorType].delay[0];
    player->actorTypeData1b[1] = bActorSoundTable[player->actorType].delay[1];

    for (i = 0; i < ARRAY_COUNT(player->loopingSoundID); i++) {
        player->loopingSoundID[i] = 0;
    }

    part = heap_malloc(sizeof(*part));
    player->partsTable = part;

    ASSERT(part != NULL)

    player->numParts = 1;
    part->staticData = bMarioParts;
    part->partOffset.x = 0;
    part->partOffset.y = 0;
    part->partOffset.z = 0;
    part->partOffset.x = 12;
    part->partOffset.y = 32;
    part->partOffset.z = 5;
    part->decorationTable = NULL;
    part->flags = 0;
    part->targetFlags = 0;
    part->partOffsetFloat.x = 0.0f;
    part->partOffsetFloat.y = 0.0f;
    part->partOffsetFloat.z = 0.0f;
    part->rotationPivotOffset.x = 0;
    part->rotationPivotOffset.y = 0;
    part->rotationPivotOffset.z = 0;
    part->visualOffset.x = 0;
    part->visualOffset.y = 0;
    part->visualOffset.z = 0;
    part->absolutePosition.x = 0.0f;
    part->absolutePosition.y = 0.0f;
    part->absolutePosition.z = 0.0f;
    part->defenseTable = bMarioDefenseTable;

    if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) {
        part->idleAnimations = bPeachIdleAnims;
    } else {
        part->idleAnimations = bMarioIdleAnims;
    }

    part->eventFlags = 0;
    part->elementalImmunities = 0;
    part->opacity = 255;
    part->size.y = player->size.y;
    part->size.x = player->size.x;
    part->yaw = 0.0f;
    part->targetOffset.x = 0;
    part->targetOffset.y = 0;
    part->unk_70 = 0;
    part->rotation.x = 0.0f;
    part->rotation.y = 0.0f;
    part->rotation.z = 0.0f;
    part->scale.x = 1.0f;
    part->scale.y = 1.0f;
    part->scale.z = 1.0f;
    part->verticalStretch = 1;
    part->palAnimPosOffset[0] = 0;
    part->palAnimPosOffset[1] = 0;
    part->animationRate = 1.0f;
    part->currentAnimation = get_npc_anim_for_status(part->idleAnimations, 1U);
    part->nextPart = NULL;
    part->partTypeData[0] = bActorSoundTable[player->actorType].walk[0];
    part->partTypeData[1] = bActorSoundTable[player->actorType].walk[1];
    part->partTypeData[2] = bActorSoundTable[player->actorType].fly[0];
    part->partTypeData[3] = bActorSoundTable[player->actorType].fly[1];
    part->partTypeData[4] = bActorSoundTable[player->actorType].jump;
    part->partTypeData[5] = bActorSoundTable[player->actorType].hurt;
    part->actorTypeData2b[0] = bActorSoundTable[player->actorType].delay[0];
    part->actorTypeData2b[1] = bActorSoundTable[player->actorType].delay[1];

    if (part->idleAnimations != NULL) {
        s32 j;

        part->decorationTable = heap_malloc(sizeof(*decorationTable));
        decorationTable = part->decorationTable;

        ASSERT(decorationTable != NULL);

        decorationTable->paletteAdjustment = PAL_ADJUST_NONE;
        decorationTable->unk_750 = 0;
        decorationTable->unk_764 = 0;
        decorationTable->unk_768 = 0;
        decorationTable->unk_7D8 = 0;
        decorationTable->unk_7D9 = 0;

        for (j = 0; j < ARRAY_COUNT(decorationTable->posX); j++) {
            decorationTable->posX[j] = player->currentPos.x;
            decorationTable->posY[j] = player->currentPos.y;
            decorationTable->posZ[j] = player->currentPos.z;
        }

        decorationTable->unk_7DA = 3;
        decorationTable->unk_7DB = 0;
        decorationTable->effectType = 0;

        for (j = 0; j < ARRAY_COUNT(decorationTable->effect); j++) {
            decorationTable->effect[j] = NULL;
            decorationTable->type[j] = 0;
        }
    }

    partMovement = part->movement = heap_malloc(sizeof(*partMovement));
    ASSERT(partMovement != NULL);

    player->shadow.id = create_shadow_type(0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
    player->shadowScale = player->size.x / 24.0;
    player->hudElementDataIndex = create_status_icon_set();
    player->disableEffect = fx_disable_x(0, -142.0f, 34.0f, 1.0f, 0);
    player->icePillarEffect = NULL;

    if (is_ability_active(ABILITY_ZAP_TAP)) {
        player->staticStatus = STATUS_KEY_STATIC;
        player->staticDuration = 127;
    }
}


### RAW ASSEMBLY INSTRUCTIONS:

glabel render_frame
/* 8B3C 8002D73C 27BDFF90 */  addiu     $sp, $sp, -0x70
/* 8B40 8002D740 AFBF0054 */  sw        $ra, 0x54($sp)
/* 8B44 8002D744 AFBE0050 */  sw        $fp, 0x50($sp)
/* 8B48 8002D748 AFB7004C */  sw        $s7, 0x4C($sp)
/* 8B4C 8002D74C AFB60048 */  sw        $s6, 0x48($sp)
/* 8B50 8002D750 AFB50044 */  sw        $s5, 0x44($sp)
/* 8B54 8002D754 AFB40040 */  sw        $s4, 0x40($sp)
/* 8B58 8002D758 AFB3003C */  sw        $s3, 0x3C($sp)
/* 8B5C 8002D75C AFB20038 */  sw        $s2, 0x38($sp)
/* 8B60 8002D760 AFB10034 */  sw        $s1, 0x34($sp)
/* 8B64 8002D764 AFB00030 */  sw        $s0, 0x30($sp)
/* 8B68 8002D768 F7B80068 */  sdc1      $f24, 0x68($sp)
/* 8B6C 8002D76C F7B60060 */  sdc1      $f22, 0x60($sp)
/* 8B70 8002D770 F7B40058 */  sdc1      $f20, 0x58($sp)
/* 8B74 8002D774 14800005 */  bnez      $a0, .L8002D78C
/* 8B78 8002D778 AFA40070 */   sw       $a0, 0x70($sp)
/* 8B7C 8002D77C 3C01800A */  lui       $at, %hi(gCurrentCamID)
/* 8B80 8002D780 A420A634 */  sh        $zero, %lo(gCurrentCamID)($at)
/* 8B84 8002D784 0C0459A6 */  jal       func_80116698
/* 8B88 8002D788 00000000 */   nop
.L8002D78C:
/* 8B8C 8002D78C 8FAB0070 */  lw        $t3, 0x70($sp)
/* 8B90 8002D790 11600003 */  beqz      $t3, .L8002D7A0
/* 8B94 8002D794 AFA00020 */   sw       $zero, 0x20($sp)
/* 8B98 8002D798 240B0003 */  addiu     $t3, $zero, 0x3
/* 8B9C 8002D79C AFAB0020 */  sw        $t3, 0x20($sp)
.L8002D7A0:
/* 8BA0 8002D7A0 8FAB0070 */  lw        $t3, 0x70($sp)
/* 8BA4 8002D7A4 24020001 */  addiu     $v0, $zero, 0x1
/* 8BA8 8002D7A8 004B5823 */  subu      $t3, $v0, $t3
/* 8BAC 8002D7AC 24020004 */  addiu     $v0, $zero, 0x4
/* 8BB0 8002D7B0 004B1023 */  subu      $v0, $v0, $t3
/* 8BB4 8002D7B4 AFAB0070 */  sw        $t3, 0x70($sp)
/* 8BB8 8002D7B8 8FAB0020 */  lw        $t3, 0x20($sp)
/* 8BBC 8002D7BC 0162102A */  slt       $v0, $t3, $v0
/* 8BC0 8002D7C0 104001BD */  beqz      $v0, .L8002DEB8
/* 8BC4 8002D7C4 000B1880 */   sll      $v1, $t3, 2
/* 8BC8 8002D7C8 3C17800A */  lui       $s7, %hi(gMainGfxPos)
/* 8BCC 8002D7CC 26F7A66C */  addiu     $s7, $s7, %lo(gMainGfxPos)
/* 8BD0 8002D7D0 3C02800B */  lui       $v0, %hi(gCameras)
/* 8BD4 8002D7D4 24421D80 */  addiu     $v0, $v0, %lo(gCameras)
/* 8BD8 8002D7D8 006B1821 */  addu      $v1, $v1, $t3
/* 8BDC 8002D7DC 00031880 */  sll       $v1, $v1, 2
/* 8BE0 8002D7E0 006B1823 */  subu      $v1, $v1, $t3
/* 8BE4 8002D7E4 000320C0 */  sll       $a0, $v1, 3
/* 8BE8 8002D7E8 00641821 */  addu      $v1, $v1, $a0
/* 8BEC 8002D7EC 000318C0 */  sll       $v1, $v1, 3
/* 8BF0 8002D7F0 0062B021 */  addu      $s6, $v1, $v0
/* 8BF4 8002D7F4 3C014080 */  lui       $at, (0x40800000 >> 16)
/* 8BF8 8002D7F8 4481B000 */  mtc1      $at, $f22
/* 8BFC 8002D7FC 4480A000 */  mtc1      $zero, $f20
/* 8C00 8002D800 3C013F80 */  lui       $at, (0x3F800000 >> 16)
/* 8C04 8002D804 4481C000 */  mtc1      $at, $f24
.L8002D808:
/* 8C08 8002D808 96C20000 */  lhu       $v0, 0x0($s6)
/* 8C0C 8002D80C 104001A0 */  beqz      $v0, .L8002DE90
/* 8C10 8002D810 30420082 */   andi     $v0, $v0, 0x82
/* 8C14 8002D814 1440019E */  bnez      $v0, .L8002DE90
/* 8C18 8002D818 00000000 */   nop
/* 8C1C 8002D81C 8EC201FC */  lw        $v0, 0x1FC($s6)
/* 8C20 8002D820 97AB0022 */  lhu       $t3, 0x22($sp)
/* 8C24 8002D824 3C01800A */  lui       $at, %hi(gCurrentCamID)
/* 8C28 8002D828 A42BA634 */  sh        $t3, %lo(gCurrentCamID)($at)
/* 8C2C 8002D82C 50400005 */  beql      $v0, $zero, .L8002D844
/* 8C30 8002D830 3C02DC08 */   lui      $v0, (0xDC080008 >> 16)
/* 8C34 8002D834 0040F809 */  jalr      $v0
/* 8C38 8002D838 02C0202D */   daddu    $a0, $s6, $zero
/* 8C3C 8002D83C 0800B713 */  j         .L8002DC4C
/* 8C40 8002D840 3C0A0001 */   lui      $t2, (0x11630 >> 16)
.L8002D844:
/* 8C44 8002D844 34420008 */  ori       $v0, $v0, (0xDC080008 & 0xFFFF)
/* 8C48 8002D848 3C04D9C0 */  lui       $a0, (0xD9C0F9FB >> 16)
/* 8C4C 8002D84C 3484F9FB */  ori       $a0, $a0, (0xD9C0F9FB & 0xFFFF)
/* 8C50 8002D850 3C05E300 */  lui       $a1, (0xE3000A01 >> 16)
/* 8C54 8002D854 34A50A01 */  ori       $a1, $a1, (0xE3000A01 & 0xFFFF)
/* 8C58 8002D858 3C06E300 */  lui       $a2, (0xE3000800 >> 16)
/* 8C5C 8002D85C 8EF50000 */  lw        $s5, 0x0($s7)
/* 8C60 8002D860 34C60800 */  ori       $a2, $a2, (0xE3000800 & 0xFFFF)
/* 8C64 8002D864 02A0182D */  daddu     $v1, $s5, $zero
/* 8C68 8002D868 26B50008 */  addiu     $s5, $s5, 0x8
/* 8C6C 8002D86C AC620000 */  sw        $v0, 0x0($v1)
/* 8C70 8002D870 26C200A0 */  addiu     $v0, $s6, 0xA0
/* 8C74 8002D874 AC620004 */  sw        $v0, 0x4($v1)
/* 8C78 8002D878 3C02D700 */  lui       $v0, (0xD7000000 >> 16)
/* 8C7C 8002D87C AEA40000 */  sw        $a0, 0x0($s5)
/* 8C80 8002D880 AEA00004 */  sw        $zero, 0x4($s5)
/* 8C84 8002D884 AEA20008 */  sw        $v0, 0x8($s5)
/* 8C88 8002D888 AEA0000C */  sw        $zero, 0xC($s5)
/* 8C8C 8002D88C AEA50010 */  sw        $a1, 0x10($s5)
/* 8C90 8002D890 AEA00014 */  sw        $zero, 0x14($s5)
/* 8C94 8002D894 AEA60018 */  sw        $a2, 0x18($s5)
/* 8C98 8002D898 AEA0001C */  sw        $zero, 0x1C($s5)
/* 8C9C 8002D89C 86D8000E */  lh        $t8, 0xE($s6)
/* 8CA0 8002D8A0 86D90010 */  lh        $t9, 0x10($s6)
/* 8CA4 8002D8A4 26A20008 */  addiu     $v0, $s5, 0x8
/* 8CA8 8002D8A8 AEF50000 */  sw        $s5, 0x0($s7)
/* 8CAC 8002D8AC AEE20000 */  sw        $v0, 0x0($s7)
/* 8CB0 8002D8B0 26A20010 */  addiu     $v0, $s5, 0x10
/* 8CB4 8002D8B4 AEE20000 */  sw        $v0, 0x0($s7)
/* 8CB8 8002D8B8 26A20018 */  addiu     $v0, $s5, 0x18
/* 8CBC 8002D8BC AEE20000 */  sw        $v0, 0x0($s7)
/* 8CC0 8002D8C0 26A20020 */  addiu     $v0, $s5, 0x20
/* 8CC4 8002D8C4 AEE20000 */  sw        $v0, 0x0($s7)
/* 8CC8 8002D8C8 86C2000A */  lh        $v0, 0xA($s6)
/* 8CCC 8002D8CC 86C3000C */  lh        $v1, 0xC($s6)
/* 8CD0 8002D8D0 0302F021 */  addu      $fp, $t8, $v0
/* 8CD4 8002D8D4 07010002 */  bgez      $t8, .L8002D8E0
/* 8CD8 8002D8D8 0323A021 */   addu     $s4, $t9, $v1
/* 8CDC 8002D8DC 0000C02D */  daddu     $t8, $zero, $zero
.L8002D8E0:
/* 8CE0 8002D8E0 07220001 */  bltzl     $t9, .L8002D8E8
/* 8CE4 8002D8E4 0000C82D */   daddu    $t9, $zero, $zero
.L8002D8E8:
/* 8CE8 8002D8E8 5BC00001 */  blezl     $fp, .L8002D8F0
/* 8CEC 8002D8EC 241E0001 */   addiu    $fp, $zero, 0x1
.L8002D8F0:
/* 8CF0 8002D8F0 5A800001 */  blezl     $s4, .L8002D8F8
/* 8CF4 8002D8F4 24140001 */   addiu    $s4, $zero, 0x1
.L8002D8F8:
/* 8CF8 8002D8F8 2B020140 */  slti      $v0, $t8, 0x140
/* 8CFC 8002D8FC 50400001 */  beql      $v0, $zero, .L8002D904
/* 8D00 8002D900 2418013F */   addiu    $t8, $zero, 0x13F
.L8002D904:
/* 8D04 8002D904 2B2200F0 */  slti      $v0, $t9, 0xF0
/* 8D08 8002D908 50400001 */  beql      $v0, $zero, .L8002D910
/* 8D0C 8002D90C 241900EF */   addiu    $t9, $zero, 0xEF
.L8002D910:
/* 8D10 8002D910 2BC20141 */  slti      $v0, $fp, 0x141
/* 8D14 8002D914 50400001 */  beql      $v0, $zero, .L8002D91C
/* 8D18 8002D918 241E0140 */   addiu    $fp, $zero, 0x140
.L8002D91C:
/* 8D1C 8002D91C 2A8200F1 */  slti      $v0, $s4, 0xF1
/* 8D20 8002D920 50400001 */  beql      $v0, $zero, .L8002D928
/* 8D24 8002D924 241400F0 */   addiu    $s4, $zero, 0xF0
.L8002D928:
/* 8D28 8002D928 3C03E300 */  lui       $v1, (0xE3000F00 >> 16)
/* 8D2C 8002D92C 34630F00 */  ori       $v1, $v1, (0xE3000F00 & 0xFFFF)
/* 8D30 8002D930 3C04E300 */  lui       $a0, (0xE3001001 >> 16)
/* 8D34 8002D934 34841001 */  ori       $a0, $a0, (0xE3001001 & 0xFFFF)
/* 8D38 8002D938 3C05E300 */  lui       $a1, (0xE3000D01 >> 16)
/* 8D3C 8002D93C 34A50D01 */  ori       $a1, $a1, (0xE3000D01 & 0xFFFF)
/* 8D40 8002D940 3C06E300 */  lui       $a2, (0xE3000C00 >> 16)
/* 8D44 8002D944 34C60C00 */  ori       $a2, $a2, (0xE3000C00 & 0xFFFF)
/* 8D48 8002D948 3C07E300 */  lui       $a3, (0xE3001201 >> 16)
/* 8D4C 8002D94C 34E71201 */  ori       $a3, $a3, (0xE3001201 & 0xFFFF)
/* 8D50 8002D950 3C08E300 */  lui       $t0, (0xE3001402 >> 16)
/* 8D54 8002D954 35081402 */  ori       $t0, $t0, (0xE3001402 & 0xFFFF)
/* 8D58 8002D958 3C0AFCFF */  lui       $t2, (0xFCFFFFFF >> 16)
/* 8D5C 8002D95C 354AFFFF */  ori       $t2, $t2, (0xFCFFFFFF & 0xFFFF)
/* 8D60 8002D960 3C09FFFE */  lui       $t1, (0xFFFE793C >> 16)
/* 8D64 8002D964 3529793C */  ori       $t1, $t1, (0xFFFE793C & 0xFFFF)
/* 8D68 8002D968 3C0BE300 */  lui       $t3, (0xE3001700 >> 16)
/* 8D6C 8002D96C 356B1700 */  ori       $t3, $t3, (0xE3001700 & 0xFFFF)
/* 8D70 8002D970 3C0CE200 */  lui       $t4, (0xE2001E01 >> 16)
/* 8D74 8002D974 358C1E01 */  ori       $t4, $t4, (0xE2001E01 & 0xFFFF)
/* 8D78 8002D978 3C0DE200 */  lui       $t5, (0xE200001C >> 16)
/* 8D7C 8002D97C 35AD001C */  ori       $t5, $t5, (0xE200001C & 0xFFFF)
/* 8D80 8002D980 3C0E0F0A */  lui       $t6, (0xF0A4000 >> 16)
/* 8D84 8002D984 35CE4000 */  ori       $t6, $t6, (0xF0A4000 & 0xFFFF)
/* 8D88 8002D988 3C0FE300 */  lui       $t7, (0xE3001801 >> 16)
/* 8D8C 8002D98C 35EF1801 */  ori       $t7, $t7, (0xE3001801 & 0xFFFF)
/* 8D90 8002D990 3C10DB04 */  lui       $s0, (0xDB040004 >> 16)
/* 8D94 8002D994 36100004 */  ori       $s0, $s0, (0xDB040004 & 0xFFFF)
/* 8D98 8002D998 3C11DB04 */  lui       $s1, (0xDB04000C >> 16)
/* 8D9C 8002D99C 3631000C */  ori       $s1, $s1, (0xDB04000C & 0xFFFF)
/* 8DA0 8002D9A0 3C12DB04 */  lui       $s2, (0xDB040014 >> 16)
/* 8DA4 8002D9A4 36520014 */  ori       $s2, $s2, (0xDB040014 & 0xFFFF)
/* 8DA8 8002D9A8 3C13DB04 */  lui       $s3, (0xDB04001C >> 16)
/* 8DAC 8002D9AC 3673001C */  ori       $s3, $s3, (0xDB04001C & 0xFFFF)
/* 8DB0 8002D9B0 AFAB0028 */  sw        $t3, 0x28($sp)
/* 8DB4 8002D9B4 3C0BFF10 */  lui       $t3, (0xFF100000 >> 16)
/* 8DB8 8002D9B8 26A20028 */  addiu     $v0, $s5, 0x28
/* 8DBC 8002D9BC AFAB0024 */  sw        $t3, 0x24($sp)
/* 8DC0 8002D9C0 AEE20000 */  sw        $v0, 0x0($s7)
/* 8DC4 8002D9C4 26A20030 */  addiu     $v0, $s5, 0x30
/* 8DC8 8002D9C8 AEE20000 */  sw        $v0, 0x0($s7)
/* 8DCC 8002D9CC 26A20038 */  addiu     $v0, $s5, 0x38
/* 8DD0 8002D9D0 AEA30028 */  sw        $v1, 0x28($s5)
/* 8DD4 8002D9D4 AEA0002C */  sw        $zero, 0x2C($s5)
/* 8DD8 8002D9D8 AEE20000 */  sw        $v0, 0x0($s7)
/* 8DDC 8002D9DC 26A20040 */  addiu     $v0, $s5, 0x40
/* 8DE0 8002D9E0 AEA40030 */  sw        $a0, 0x30($s5)
/* 8DE4 8002D9E4 AEA00034 */  sw        $zero, 0x34($s5)
/* 8DE8 8002D9E8 AEE20000 */  sw        $v0, 0x0($s7)
/* 8DEC 8002D9EC 26A20048 */  addiu     $v0, $s5, 0x48
/* 8DF0 8002D9F0 AEA50038 */  sw        $a1, 0x38($s5)
/* 8DF4 8002D9F4 AEA0003C */  sw        $zero, 0x3C($s5)
/* 8DF8 8002D9F8 AEE20000 */  sw        $v0, 0x0($s7)
/* 8DFC 8002D9FC 3C020008 */  lui       $v0, (0x80000 >> 16)
/* 8E00 8002DA00 AEA20044 */  sw        $v0, 0x44($s5)
/* 8E04 8002DA04 26A20050 */  addiu     $v0, $s5, 0x50
/* 8E08 8002DA08 AEA60040 */  sw        $a2, 0x40($s5)
/* 8E0C 8002DA0C AEE20000 */  sw        $v0, 0x0($s7)
/* 8E10 8002DA10 24022000 */  addiu     $v0, $zero, 0x2000
/* 8E14 8002DA14 AEA2004C */  sw        $v0, 0x4C($s5)
/* 8E18 8002DA18 26A20058 */  addiu     $v0, $s5, 0x58
/* 8E1C 8002DA1C AEA70048 */  sw        $a3, 0x48($s5)
/* 8E20 8002DA20 AEE20000 */  sw        $v0, 0x0($s7)
/* 8E24 8002DA24 24020C00 */  addiu     $v0, $zero, 0xC00
/* 8E28 8002DA28 AEA20054 */  sw        $v0, 0x54($s5)
/* 8E2C 8002DA2C 26A20060 */  addiu     $v0, $s5, 0x60
/* 8E30 8002DA30 AEA80050 */  sw        $t0, 0x50($s5)
/* 8E34 8002DA34 AEE20000 */  sw        $v0, 0x0($s7)
/* 8E38 8002DA38 26A20068 */  addiu     $v0, $s5, 0x68
/* 8E3C 8002DA3C 44981000 */  mtc1      $t8, $f2
/* 8E40 8002DA40 00000000 */  nop
/* 8E44 8002DA44 468010A0 */  cvt.s.w   $f2, $f2
/* 8E48 8002DA48 46161082 */  mul.s     $f2, $f2, $f22
/* 8E4C 8002DA4C 00000000 */  nop
/* 8E50 8002DA50 AEAA0058 */  sw        $t2, 0x58($s5)
/* 8E54 8002DA54 AEA9005C */  sw        $t1, 0x5C($s5)
/* 8E58 8002DA58 AEE20000 */  sw        $v0, 0x0($s7)
/* 8E5C 8002DA5C 26A20070 */  addiu     $v0, $s5, 0x70
/* 8E60 8002DA60 44990000 */  mtc1      $t9, $f0
/* 8E64 8002DA64 00000000 */  nop
/* 8E68 8002DA68 46800020 */  cvt.s.w   $f0, $f0
/* 8E6C 8002DA6C 8FAB0028 */  lw        $t3, 0x28($sp)
/* 8E70 8002DA70 46160002 */  mul.s     $f0, $f0, $f22
/* 8E74 8002DA74 00000000 */  nop
/* 8E78 8002DA78 AEAB0060 */  sw        $t3, 0x60($s5)
/* 8E7C 8002DA7C AEA00064 */  sw        $zero, 0x64($s5)
/* 8E80 8002DA80 AEE20000 */  sw        $v0, 0x0($s7)
/* 8E84 8002DA84 26A20078 */  addiu     $v0, $s5, 0x78
/* 8E88 8002DA88 AEAC0068 */  sw        $t4, 0x68($s5)
/* 8E8C 8002DA8C AEA0006C */  sw        $zero, 0x6C($s5)
/* 8E90 8002DA90 AEE20000 */  sw        $v0, 0x0($s7)
/* 8E94 8002DA94 3C02ED00 */  lui       $v0, (0xED000000 >> 16)
/* 8E98 8002DA98 AEAD0070 */  sw        $t5, 0x70($s5)
/* 8E9C 8002DA9C AEAE0074 */  sw        $t6, 0x74($s5)
/* 8EA0 8002DAA0 4600110D */  trunc.w.s $f4, $f2
/* 8EA4 8002DAA4 44042000 */  mfc1      $a0, $f4
/* 8EA8 8002DAA8 00000000 */  nop
/* 8EAC 8002DAAC 30840FFF */  andi      $a0, $a0, 0xFFF
/* 8EB0 8002DAB0 00042300 */  sll       $a0, $a0, 12
/* 8EB4 8002DAB4 4600010D */  trunc.w.s $f4, $f0
/* 8EB8 8002DAB8 44032000 */  mfc1      $v1, $f4
/* 8EBC 8002DABC 449E1000 */  mtc1      $fp, $f2
/* 8EC0 8002DAC0 00000000 */  nop
/* 8EC4 8002DAC4 468010A0 */  cvt.s.w   $f2, $f2
/* 8EC8 8002DAC8 46161082 */  mul.s     $f2, $f2, $f22
/* 8ECC 8002DACC 00000000 */  nop
/* 8ED0 8002DAD0 30630FFF */  andi      $v1, $v1, 0xFFF
/* 8ED4 8002DAD4 00621825 */  or        $v1, $v1, $v0
/* 8ED8 8002DAD8 00832025 */  or        $a0, $a0, $v1
/* 8EDC 8002DADC 44940000 */  mtc1      $s4, $f0
/* 8EE0 8002DAE0 00000000 */  nop
/* 8EE4 8002DAE4 46800020 */  cvt.s.w   $f0, $f0
/* 8EE8 8002DAE8 46160002 */  mul.s     $f0, $f0, $f22
/* 8EEC 8002DAEC 00000000 */  nop
/* 8EF0 8002DAF0 AEA40020 */  sw        $a0, 0x20($s5)
/* 8EF4 8002DAF4 4600110D */  trunc.w.s $f4, $f2
/* 8EF8 8002DAF8 44032000 */  mfc1      $v1, $f4
/* 8EFC 8002DAFC 00000000 */  nop
/* 8F00 8002DB00 30630FFF */  andi      $v1, $v1, 0xFFF
/* 8F04 8002DB04 00031B00 */  sll       $v1, $v1, 12
/* 8F08 8002DB08 4600010D */  trunc.w.s $f4, $f0
/* 8F0C 8002DB0C 44022000 */  mfc1      $v0, $f4
/* 8F10 8002DB10 00000000 */  nop
/* 8F14 8002DB14 30420FFF */  andi      $v0, $v0, 0xFFF
/* 8F18 8002DB18 00621825 */  or        $v1, $v1, $v0
/* 8F1C 8002DB1C 26A20080 */  addiu     $v0, $s5, 0x80
/* 8F20 8002DB20 AEA30024 */  sw        $v1, 0x24($s5)
/* 8F24 8002DB24 AEE20000 */  sw        $v0, 0x0($s7)
/* 8F28 8002DB28 240200C0 */  addiu     $v0, $zero, 0xC0
/* 8F2C 8002DB2C 8FAB0024 */  lw        $t3, 0x24($sp)
/* 8F30 8002DB30 3C04800A */  lui       $a0, %hi(nuGfxCfb_ptr)
/* 8F34 8002DB34 8C84A64C */  lw        $a0, %lo(nuGfxCfb_ptr)($a0)
/* 8F38 8002DB38 356B013F */  ori       $t3, $t3, 0x13F
/* 8F3C 8002DB3C AFAB0024 */  sw        $t3, 0x24($sp)
/* 8F40 8002DB40 AEA2007C */  sw        $v0, 0x7C($s5)
/* 8F44 8002DB44 26A20088 */  addiu     $v0, $s5, 0x88
/* 8F48 8002DB48 240B0002 */  addiu     $t3, $zero, 0x2
/* 8F4C 8002DB4C AEAF0078 */  sw        $t7, 0x78($s5)
/* 8F50 8002DB50 AEE20000 */  sw        $v0, 0x0($s7)
/* 8F54 8002DB54 26A20090 */  addiu     $v0, $s5, 0x90
/* 8F58 8002DB58 AEB00080 */  sw        $s0, 0x80($s5)
/* 8F5C 8002DB5C AEAB0084 */  sw        $t3, 0x84($s5)
/* 8F60 8002DB60 AEE20000 */  sw        $v0, 0x0($s7)
/* 8F64 8002DB64 26A20098 */  addiu     $v0, $s5, 0x98
/* 8F68 8002DB68 AEAB008C */  sw        $t3, 0x8C($s5)
/* 8F6C 8002DB6C 340BFFFE */  ori       $t3, $zero, 0xFFFE
/* 8F70 8002DB70 AEB10088 */  sw        $s1, 0x88($s5)
/* 8F74 8002DB74 AEE20000 */  sw        $v0, 0x0($s7)
/* 8F78 8002DB78 26A200A0 */  addiu     $v0, $s5, 0xA0
/* 8F7C 8002DB7C AEB20090 */  sw        $s2, 0x90($s5)
/* 8F80 8002DB80 AEAB0094 */  sw        $t3, 0x94($s5)
/* 8F84 8002DB84 AEE20000 */  sw        $v0, 0x0($s7)
/* 8F88 8002DB88 26A200A8 */  addiu     $v0, $s5, 0xA8
/* 8F8C 8002DB8C AEB30098 */  sw        $s3, 0x98($s5)
/* 8F90 8002DB90 AEAB009C */  sw        $t3, 0x9C($s5)
/* 8F94 8002DB94 AEE20000 */  sw        $v0, 0x0($s7)
/* 8F98 8002DB98 8FAB0024 */  lw        $t3, 0x24($sp)
/* 8F9C 8002DB9C 0C0187A4 */  jal       osVirtualToPhysical
/* 8FA0 8002DBA0 AEAB00A0 */   sw       $t3, 0xA0($s5)
/* 8FA4 8002DBA4 8EE40000 */  lw        $a0, 0x0($s7)
/* 8FA8 8002DBA8 AEA200A4 */  sw        $v0, 0xA4($s5)
/* 8FAC 8002DBAC 0080102D */  daddu     $v0, $a0, $zero
/* 8FB0 8002DBB0 3C0BE700 */  lui       $t3, (0xE7000000 >> 16)
/* 8FB4 8002DBB4 AC4B0000 */  sw        $t3, 0x0($v0)
/* 8FB8 8002DBB8 AC400004 */  sw        $zero, 0x4($v0)
/* 8FBC 8002DBBC 96C20000 */  lhu       $v0, 0x0($s6)
/* 8FC0 8002DBC0 24840008 */  addiu     $a0, $a0, 0x8
/* 8FC4 8002DBC4 30420010 */  andi      $v0, $v0, 0x10
/* 8FC8 8002DBC8 14400007 */  bnez      $v0, .L8002DBE8
/* 8FCC 8002DBCC AEE40000 */   sw       $a0, 0x0($s7)
/* 8FD0 8002DBD0 3C02DB0E */  lui       $v0, (0xDB0E0000 >> 16)
/* 8FD4 8002DBD4 AC820000 */  sw        $v0, 0x0($a0)
/* 8FD8 8002DBD8 96C30038 */  lhu       $v1, 0x38($s6)
/* 8FDC 8002DBDC 24820008 */  addiu     $v0, $a0, 0x8
/* 8FE0 8002DBE0 AEE20000 */  sw        $v0, 0x0($s7)
/* 8FE4 8002DBE4 AC830004 */  sw        $v1, 0x4($a0)
.L8002DBE8:
/* 8FE8 8002DBE8 26C400D4 */  addiu     $a0, $s6, 0xD4
/* 8FEC 8002DBEC 3C05800A */  lui       $a1, %hi(gCurrentCamID)
/* 8FF0 8002DBF0 84A5A634 */  lh        $a1, %lo(gCurrentCamID)($a1)
/* 8FF4 8002DBF4 3C02800A */  lui       $v0, %hi(gDisplayContext)
/* 8FF8 8002DBF8 8C42A674 */  lw        $v0, %lo(gDisplayContext)($v0)
/* 8FFC 8002DBFC 00052980 */  sll       $a1, $a1, 6
/* 9000 8002DC00 24A50030 */  addiu     $a1, $a1, 0x30
/* 9004 8002DC04 0C019D40 */  jal       guMtxF2L
/* 9008 8002DC08 00452821 */   addu     $a1, $v0, $a1
/* 900C 8002DC0C 3C05DA38 */  lui       $a1, (0xDA380007 >> 16)
/* 9010 8002DC10 34A50007 */  ori       $a1, $a1, (0xDA380007 & 0xFFFF)
/* 9014 8002DC14 8EE20000 */  lw        $v0, 0x0($s7)
/* 9018 8002DC18 3C03800A */  lui       $v1, %hi(gCurrentCamID)
/* 901C 8002DC1C 8463A634 */  lh        $v1, %lo(gCurrentCamID)($v1)
/* 9020 8002DC20 0040202D */  daddu     $a0, $v0, $zero
/* 9024 8002DC24 24420008 */  addiu     $v0, $v0, 0x8
/* 9028 8002DC28 00031980 */  sll       $v1, $v1, 6
/* 902C 8002DC2C AEE20000 */  sw        $v0, 0x0($s7)
/* 9030 8002DC30 3C02800A */  lui       $v0, %hi(gDisplayContext)
/* 9034 8002DC34 8C42A674 */  lw        $v0, %lo(gDisplayContext)($v0)
/* 9038 8002DC38 24630030 */  addiu     $v1, $v1, 0x30
/* 903C 8002DC3C AC850000 */  sw        $a1, 0x0($a0)
/* 9040 8002DC40 00431021 */  addu      $v0, $v0, $v1
/* 9044 8002DC44 AC820004 */  sw        $v0, 0x4($a0)
/* 9048 8002DC48 3C0A0001 */  lui       $t2, (0x11630 >> 16)
.L8002DC4C:
/* 904C 8002DC4C 354A1630 */  ori       $t2, $t2, (0x11630 & 0xFFFF)
/* 9050 8002DC50 3C098007 */  lui       $t1, %hi(gMatrixListPos)
/* 9054 8002DC54 252941F0 */  addiu     $t1, $t1, %lo(gMatrixListPos)
/* 9058 8002DC58 4406A000 */  mfc1      $a2, $f20
/* 905C 8002DC5C 95280000 */  lhu       $t0, 0x0($t1)
/* 9060 8002DC60 4407C000 */  mfc1      $a3, $f24
/* 9064 8002DC64 3C03800A */  lui       $v1, %hi(gDisplayContext)
/* 9068 8002DC68 8C63A674 */  lw        $v1, %lo(gDisplayContext)($v1)
/* 906C 8002DC6C C6C00084 */  lwc1      $f0, 0x84($s6)
/* 9070 8002DC70 3104FFFF */  andi      $a0, $t0, 0xFFFF
/* 9074 8002DC74 00042180 */  sll       $a0, $a0, 6
/* 9078 8002DC78 008A2021 */  addu      $a0, $a0, $t2
/* 907C 8002DC7C 00642021 */  addu      $a0, $v1, $a0
/* 9080 8002DC80 3102FFFF */  andi      $v0, $t0, 0xFFFF
/* 9084 8002DC84 00021180 */  sll       $v0, $v0, 6
/* 9088 8002DC88 004A1021 */  addu      $v0, $v0, $t2
/* 908C 8002DC8C 00621821 */  addu      $v1, $v1, $v0
/* 9090 8002DC90 46000007 */  neg.s     $f0, $f0
/* 9094 8002DC94 44050000 */  mfc1      $a1, $f0
/* 9098 8002DC98 25080001 */  addiu     $t0, $t0, 0x1
/* 909C 8002DC9C AEC30204 */  sw        $v1, 0x204($s6)
/* 90A0 8002DCA0 A5280000 */  sh        $t0, 0x0($t1)
/* 90A4 8002DCA4 0C019F20 */  jal       guRotate
/* 90A8 8002DCA8 E7B40010 */   swc1     $f20, 0x10($sp)
/* 90AC 8002DCAC 3C048007 */  lui       $a0, %hi(gGameStatusPtr)
/* 90B0 8002DCB0 8C84419C */  lw        $a0, %lo(gGameStatusPtr)($a0)
/* 90B4 8002DCB4 90820082 */  lbu       $v0, 0x82($a0)
/* 90B8 8002DCB8 96C300A8 */  lhu       $v1, 0xA8($s6)
/* 90BC 8002DCBC 00021600 */  sll       $v0, $v0, 24
/* 90C0 8002DCC0 00021603 */  sra       $v0, $v0, 24
/* 90C4 8002DCC4 00621821 */  addu      $v1, $v1, $v0
/* 90C8 8002DCC8 A6C300B8 */  sh        $v1, 0xB8($s6)
/* 90CC 8002DCCC 90830083 */  lbu       $v1, 0x83($a0)
/* 90D0 8002DCD0 96C200AA */  lhu       $v0, 0xAA($s6)
/* 90D4 8002DCD4 96C40000 */  lhu       $a0, 0x0($s6)
/* 90D8 8002DCD8 00031E00 */  sll       $v1, $v1, 24
/* 90DC 8002DCDC 00031E03 */  sra       $v1, $v1, 24
/* 90E0 8002DCE0 00431021 */  addu      $v0, $v0, $v1
/* 90E4 8002DCE4 A6C200BA */  sh        $v0, 0xBA($s6)
/* 90E8 8002DCE8 30820010 */  andi      $v0, $a0, 0x10
/* 90EC 8002DCEC 14400048 */  bnez      $v0, .L8002DE10
/* 90F0 8002DCF0 24020003 */   addiu    $v0, $zero, 0x3
/* 90F4 8002DCF4 3C03800A */  lui       $v1, %hi(gCurrentCamID)
/* 90F8 8002DCF8 8463A634 */  lh        $v1, %lo(gCurrentCamID)($v1)
/* 90FC 8002DCFC 10620019 */  beq       $v1, $v0, .L8002DD64
/* 9100 8002DD00 30820200 */   andi     $v0, $a0, 0x200
/* 9104 8002DD04 14400003 */  bnez      $v0, .L8002DD14
/* 9108 8002DD08 00000000 */   nop
/* 910C 8002DD0C 0C043FAD */  jal       render_entities
/* 9110 8002DD10 00000000 */   nop
.L8002DD14:
/* 9114 8002DD14 96C20000 */  lhu       $v0, 0x0($s6)
/* 9118 8002DD18 30420400 */  andi      $v0, $v0, 0x400
/* 911C 8002DD1C 14400003 */  bnez      $v0, .L8002DD2C
/* 9120 8002DD20 00000000 */   nop
/* 9124 8002DD24 0C045AE4 */  jal       render_models
/* 9128 8002DD28 00000000 */   nop
.L8002DD2C:
/* 912C 8002DD2C 0C03844E */  jal       render_player
/* 9130 8002DD30 00000000 */   nop
/* 9134 8002DD34 0C00E9FC */  jal       render_npcs
/* 9138 8002DD38 00000000 */   nop
/* 913C 8002DD3C 0C048D1C */  jal       render_workers_world
/* 9140 8002DD40 00000000 */   nop
/* 9144 8002DD44 0C0167BD */  jal       render_effects_world
/* 9148 8002DD48 00000000 */   nop
/* 914C 8002DD4C 0C04766E */  jal       execute_render_tasks
/* 9150 8002DD50 00000000 */   nop
/* 9154 8002DD54 0C050DAD */  jal       render_hud_elements_world
/* 9158 8002DD58 00000000 */   nop
/* 915C 8002DD5C 0800B788 */  j         .L8002DE20
/* 9160 8002DD60 00000000 */   nop
.L8002DD64:
/* 9164 8002DD64 26D000D4 */  addiu     $s0, $s6, 0xD4
/* 9168 8002DD68 4405A000 */  mfc1      $a1, $f20
/* 916C 8002DD6C 3C0643A0 */  lui       $a2, (0x43A00000 >> 16)
/* 9170 8002DD70 3C07C370 */  lui       $a3, (0xC3700000 >> 16)
/* 9174 8002DD74 3C01C47A */  lui       $at, (0xC47A0000 >> 16)
/* 9178 8002DD78 44810000 */  mtc1      $at, $f0
/* 917C 8002DD7C 3C01447A */  lui       $at, (0x447A0000 >> 16)
/* 9180 8002DD80 44811000 */  mtc1      $at, $f2
/* 9184 8002DD84 0200202D */  daddu     $a0, $s0, $zero
/* 9188 8002DD88 E7B40010 */  swc1      $f20, 0x10($sp)
/* 918C 8002DD8C E7B8001C */  swc1      $f24, 0x1C($sp)
/* 9190 8002DD90 E7A00014 */  swc1      $f0, 0x14($sp)
/* 9194 8002DD94 0C018E44 */  jal       guOrthoF
/* 9198 8002DD98 E7A20018 */   swc1     $f2, 0x18($sp)
/* 919C 8002DD9C 0200202D */  daddu     $a0, $s0, $zero
/* 91A0 8002DDA0 3C05800A */  lui       $a1, %hi(gCurrentCamID)
/* 91A4 8002DDA4 84A5A634 */  lh        $a1, %lo(gCurrentCamID)($a1)
/* 91A8 8002DDA8 3C02800A */  lui       $v0, %hi(gDisplayContext)
/* 91AC 8002DDAC 8C42A674 */  lw        $v0, %lo(gDisplayContext)($v0)
/* 91B0 8002DDB0 00052980 */  sll       $a1, $a1, 6
/* 91B4 8002DDB4 24A50030 */  addiu     $a1, $a1, 0x30
/* 91B8 8002DDB8 0C019D40 */  jal       guMtxF2L
/* 91BC 8002DDBC 00452821 */   addu     $a1, $v0, $a1
/* 91C0 8002DDC0 3C05DA38 */  lui       $a1, (0xDA380007 >> 16)
/* 91C4 8002DDC4 34A50007 */  ori       $a1, $a1, (0xDA380007 & 0xFFFF)
/* 91C8 8002DDC8 8EE20000 */  lw        $v0, 0x0($s7)
/* 91CC 8002DDCC 3C03800A */  lui       $v1, %hi(gCurrentCamID)
/* 91D0 8002DDD0 8463A634 */  lh        $v1, %lo(gCurrentCamID)($v1)
/* 91D4 8002DDD4 0040202D */  daddu     $a0, $v0, $zero
/* 91D8 8002DDD8 24420008 */  addiu     $v0, $v0, 0x8
/* 91DC 8002DDDC 00031980 */  sll       $v1, $v1, 6
/* 91E0 8002DDE0 AEE20000 */  sw        $v0, 0x0($s7)
/* 91E4 8002DDE4 3C02800A */  lui       $v0, %hi(gDisplayContext)
/* 91E8 8002DDE8 8C42A674 */  lw        $v0, %lo(gDisplayContext)($v0)
/* 91EC 8002DDEC 24630030 */  addiu     $v1, $v1, 0x30
/* 91F0 8002DDF0 AC850000 */  sw        $a1, 0x0($a0)
/* 91F4 8002DDF4 00431021 */  addu      $v0, $v0, $v1
/* 91F8 8002DDF8 0C050DAD */  jal       render_hud_elements_world
/* 91FC 8002DDFC AC820004 */   sw       $v0, 0x4($a0)
/* 9200 8002DE00 0C04CB95 */  jal       render_item_entities
/* 9204 8002DE04 00000000 */   nop
/* 9208 8002DE08 0800B788 */  j         .L8002DE20
/* 920C 8002DE0C 00000000 */   nop
.L8002DE10:
/* 9210 8002DE10 0C048D1C */  jal       render_workers_world
/* 9214 8002DE14 00000000 */   nop
/* 9218 8002DE18 0C04766E */  jal       execute_render_tasks
/* 921C 8002DE1C 00000000 */   nop
.L8002DE20:
/* 9220 8002DE20 8EC20200 */  lw        $v0, 0x200($s6)
/* 9224 8002DE24 10400004 */  beqz      $v0, .L8002DE38
/* 9228 8002DE28 3C03FF10 */   lui      $v1, (0xFF10013F >> 16)
/* 922C 8002DE2C 0040F809 */  jalr      $v0
/* 9230 8002DE30 02C0202D */   daddu    $a0, $s6, $zero
/* 9234 8002DE34 3C03FF10 */  lui       $v1, (0xFF10013F >> 16)
.L8002DE38:
/* 9238 8002DE38 3463013F */  ori       $v1, $v1, (0xFF10013F & 0xFFFF)
/* 923C 8002DE3C 8EF00000 */  lw        $s0, 0x0($s7)
/* 9240 8002DE40 3C04800A */  lui       $a0, %hi(nuGfxCfb_ptr)
/* 9244 8002DE44 8C84A64C */  lw        $a0, %lo(nuGfxCfb_ptr)($a0)
/* 9248 8002DE48 0200102D */  daddu     $v0, $s0, $zero
/* 924C 8002DE4C 26100008 */  addiu     $s0, $s0, 0x8
/* 9250 8002DE50 3C0BE700 */  lui       $t3, (0xE7000000 >> 16)
/* 9254 8002DE54 AEF00000 */  sw        $s0, 0x0($s7)
/* 9258 8002DE58 AC4B0000 */  sw        $t3, 0x0($v0)
/* 925C 8002DE5C AC400004 */  sw        $zero, 0x4($v0)
/* 9260 8002DE60 26020008 */  addiu     $v0, $s0, 0x8
/* 9264 8002DE64 AEE20000 */  sw        $v0, 0x0($s7)
/* 9268 8002DE68 0C0187A4 */  jal       osVirtualToPhysical
/* 926C 8002DE6C AE030000 */   sw       $v1, 0x0($s0)
/* 9270 8002DE70 8EE30000 */  lw        $v1, 0x0($s7)
/* 9274 8002DE74 AE020004 */  sw        $v0, 0x4($s0)
/* 9278 8002DE78 0060102D */  daddu     $v0, $v1, $zero
/* 927C 8002DE7C 24630008 */  addiu     $v1, $v1, 0x8
/* 9280 8002DE80 3C0BE700 */  lui       $t3, (0xE7000000 >> 16)
/* 9284 8002DE84 AEE30000 */  sw        $v1, 0x0($s7)
/* 9288 8002DE88 AC4B0000 */  sw        $t3, 0x0($v0)
/* 928C 8002DE8C AC400004 */  sw        $zero, 0x4($v0)
.L8002DE90:
/* 9290 8002DE90 8FAB0020 */  lw        $t3, 0x20($sp)
/* 9294 8002DE94 256B0001 */  addiu     $t3, $t3, 0x1
/* 9298 8002DE98 AFAB0020 */  sw        $t3, 0x20($sp)
/* 929C 8002DE9C 8FAB0070 */  lw        $t3, 0x70($sp)
/* 92A0 8002DEA0 24020004 */  addiu     $v0, $zero, 0x4
/* 92A4 8002DEA4 004B1023 */  subu      $v0, $v0, $t3
/* 92A8 8002DEA8 8FAB0020 */  lw        $t3, 0x20($sp)
/* 92AC 8002DEAC 0162102A */  slt       $v0, $t3, $v0
/* 92B0 8002DEB0 1440FE55 */  bnez      $v0, .L8002D808
/* 92B4 8002DEB4 26D60558 */   addiu    $s6, $s6, 0x558
.L8002DEB8:
/* 92B8 8002DEB8 8FBF0054 */  lw        $ra, 0x54($sp)
/* 92BC 8002DEBC 8FBE0050 */  lw        $fp, 0x50($sp)
/* 92C0 8002DEC0 8FB7004C */  lw        $s7, 0x4C($sp)
/* 92C4 8002DEC4 8FB60048 */  lw        $s6, 0x48($sp)
/* 92C8 8002DEC8 8FB50044 */  lw        $s5, 0x44($sp)
/* 92CC 8002DECC 8FB40040 */  lw        $s4, 0x40($sp)
/* 92D0 8002DED0 8FB3003C */  lw        $s3, 0x3C($sp)
/* 92D4 8002DED4 8FB20038 */  lw        $s2, 0x38($sp)
/* 92D8 8002DED8 8FB10034 */  lw        $s1, 0x34($sp)
/* 92DC 8002DEDC 8FB00030 */  lw        $s0, 0x30($sp)
/* 92E0 8002DEE0 D7B80068 */  ldc1      $f24, 0x68($sp)
/* 92E4 8002DEE4 D7B60060 */  ldc1      $f22, 0x60($sp)
/* 92E8 8002DEE8 D7B40058 */  ldc1      $f20, 0x58($sp)
/* 92EC 8002DEEC 03E00008 */  jr        $ra
/* 92F0 8002DEF0 27BD0070 */   addiu    $sp, $sp, 0x70

### DECOMPILED C INSTRUCTIONS:

void render_frame(s32 isSecondPass) {
    s32 camID;

    if (!isSecondPass) {
        gCurrentCamID = CAM_DEFAULT;
        func_80116698();
    }

    if (isSecondPass) {
        camID = CAM_3;
    } else {
        camID = CAM_DEFAULT;
    }

    // first pass:  loop uses camIDs from CAM_DEFAULT to CAM_3 - 1
    // second pass: loop only uses CAM_3
    isSecondPass = 1 - isSecondPass;

    for (; camID < ARRAY_COUNT(gCameras) - isSecondPass; camID++) {
        Camera* camera = &gCameras[camID];
        u16 matrixListPos;

        if (camera->flags == 0 || (camera->flags & (CAMERA_FLAG_80 | CAMERA_FLAG_DISABLED))) {
            continue;
        }

        gCurrentCamID = camID;

        if (camera->fpDoPreRender != NULL) {
            camera->fpDoPreRender(camera);
        } else {
            s32 ulx;
            s32 uly;
            s32 lrx;
            s32 lry;

            gSPViewport(gMainGfxPos++, &camera->vp);
            gSPClearGeometryMode(gMainGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
                                    G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
            gSPTexture(gMainGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
            gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
            gDPPipelineMode(gMainGfxPos++, G_PM_NPRIMITIVE);

            ulx = camera->viewportStartX;
            uly = camera->viewportStartY;
            lrx = ulx + camera->viewportW;
            lry = uly + camera->viewportH;

            if (ulx < 0) {
                ulx = 0;
            }
            if (uly < 0) {
                uly = 0;
            }
            if (lrx < 1) {
                lrx = 1;
            }
            if (lry < 1) {
                lry = 1;
            }

            if (ulx > SCREEN_WIDTH - 1) {
                ulx = SCREEN_WIDTH - 1;
            }
            if (uly > SCREEN_HEIGHT - 1) {
                uly = SCREEN_HEIGHT - 1;
            }
            if (lrx > SCREEN_WIDTH) {
                lrx = SCREEN_WIDTH;
            }
            if (lry > SCREEN_HEIGHT) {
                lry = SCREEN_HEIGHT;
            }

            gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
            gDPSetTextureLOD(gMainGfxPos++, G_TL_TILE);
            gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE);
            gDPSetTextureDetail(gMainGfxPos++, G_TD_CLAMP);
            gDPSetTexturePersp(gMainGfxPos++, G_TP_PERSP);
            gDPSetTextureFilter(gMainGfxPos++, G_TF_BILERP);
            gDPSetTextureConvert(gMainGfxPos++, G_TC_FILT);
            gDPSetCombineMode(gMainGfxPos++, G_CC_SHADE, G_CC_SHADE);
            gDPSetCombineKey(gMainGfxPos++, G_CK_NONE);
            gDPSetAlphaCompare(gMainGfxPos++, G_AC_NONE);
            gDPSetRenderMode(gMainGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
            gDPSetColorDither(gMainGfxPos++, G_CD_DISABLE);
            gSPClipRatio(gMainGfxPos++, FRUSTRATIO_2);
            gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
                                osVirtualToPhysical(nuGfxCfb_ptr));
            gDPPipeSync(gMainGfxPos++);

            if (!(camera->flags & CAMERA_FLAG_ORTHO)) {
                gSPPerspNormalize(gMainGfxPos++, camera->perspNorm);
            }

            guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
            gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH | G_MTX_LOAD |
                        G_MTX_PROJECTION);
        }

        camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos];
        matrixListPos = gMatrixListPos++;
        guRotate(&gDisplayContext->matrixStack[matrixListPos], -camera->trueRotation.x, 0.0f, 1.0f, 0.0f);
        camera->vpAlt.vp.vtrans[0] = camera->vp.vp.vtrans[0] + gGameStatusPtr->unk_82;
        camera->vpAlt.vp.vtrans[1] = camera->vp.vp.vtrans[1] + gGameStatusPtr->unk_83;

        if (!(camera->flags & CAMERA_FLAG_ORTHO)) {
            if (gCurrentCamID != CAM_3) {
                if (!(camera->flags & CAMERA_FLAG_RENDER_ENTITIES)) {
                    render_entities();
                }
                if (!(camera->flags & CAMERA_FLAG_RENDER_MODELS)) {
                    render_models();
                }
                render_player();
                render_npcs();
                render_workers_world();
                render_effects_world();
                execute_render_tasks();
                render_hud_elements_world();
            } else {
                guOrthoF(camera->perspectiveMatrix, 0.0f, SCREEN_WIDTH, -SCREEN_HEIGHT, 0.0f, -1000.0f, 1000.0f,
                            1.0f);
                guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
                gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH |
                            G_MTX_LOAD | G_MTX_PROJECTION);
                render_hud_elements_world();
                render_item_entities();
            }
        } else {
            render_workers_world();
            execute_render_tasks();
        }

        if (camera->fpDoPostRender != NULL) {
            camera->fpDoPostRender(camera);
        }

        gDPPipeSync(gMainGfxPos++);
        gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
                            osVirtualToPhysical(nuGfxCfb_ptr));
        gDPPipeSync(gMainGfxPos++);
    }
}