### RAW ASSEMBLY INSTRUCTIONS:

glabel appendGfx_model
/* A9790 80113090 27BDFF88 */  addiu     $sp, $sp, -0x78
/* A9794 80113094 AFB60068 */  sw        $s6, 0x68($sp)
/* A9798 80113098 0080B02D */  daddu     $s6, $a0, $zero
/* A979C 8011309C AFB7006C */  sw        $s7, 0x6C($sp)
/* A97A0 801130A0 24170001 */  addiu     $s7, $zero, 0x1
/* A97A4 801130A4 240D0002 */  addiu     $t5, $zero, 0x2
/* A97A8 801130A8 AFBF0074 */  sw        $ra, 0x74($sp)
/* A97AC 801130AC AFBE0070 */  sw        $fp, 0x70($sp)
/* A97B0 801130B0 AFB50064 */  sw        $s5, 0x64($sp)
/* A97B4 801130B4 AFB40060 */  sw        $s4, 0x60($sp)
/* A97B8 801130B8 AFB3005C */  sw        $s3, 0x5C($sp)
/* A97BC 801130BC AFB20058 */  sw        $s2, 0x58($sp)
/* A97C0 801130C0 AFB10054 */  sw        $s1, 0x54($sp)
/* A97C4 801130C4 AFB00050 */  sw        $s0, 0x50($sp)
/* A97C8 801130C8 AFAD0038 */  sw        $t5, 0x38($sp)
/* A97CC 801130CC 96D80000 */  lhu       $t8, 0x0($s6)
/* A97D0 801130D0 92C200A8 */  lbu       $v0, 0xA8($s6)
/* A97D4 801130D4 8ECF0008 */  lw        $t7, 0x8($s6)
/* A97D8 801130D8 3C10800A */  lui       $s0, %hi(gMainGfxPos)
/* A97DC 801130DC 2610A66C */  addiu     $s0, $s0, %lo(gMainGfxPos)
/* A97E0 801130E0 10400010 */  beqz      $v0, .L80113124
/* A97E4 801130E4 AFAF0028 */   sw       $t7, 0x28($sp)
/* A97E8 801130E8 92C300A8 */  lbu       $v1, 0xA8($s6)
/* A97EC 801130EC 82C200A9 */  lb        $v0, 0xA9($s6)
/* A97F0 801130F0 3C048016 */  lui       $a0, %hi(mdl_textureHandles)
/* A97F4 801130F4 2484A590 */  addiu     $a0, $a0, %lo(mdl_textureHandles)
/* A97F8 801130F8 00621821 */  addu      $v1, $v1, $v0
/* A97FC 801130FC 00031100 */  sll       $v0, $v1, 4
/* A9800 80113100 00431021 */  addu      $v0, $v0, $v1
/* A9804 80113104 01A21004 */  sllv      $v0, $v0, $t5
/* A9808 80113108 00448821 */  addu      $s1, $v0, $a0
/* A980C 8011310C 8E220000 */  lw        $v0, 0x0($s1)
/* A9810 80113110 10400005 */  beqz      $v0, .L80113128
/* A9814 80113114 26320004 */   addiu    $s2, $s1, 0x4
/* A9818 80113118 923E002D */  lbu       $fp, 0x2D($s1)
/* A981C 8011311C 08044C4C */  j         .L80113130
/* A9820 80113120 AFA00044 */   sw       $zero, 0x44($sp)
.L80113124:
/* A9824 80113124 0000882D */  daddu     $s1, $zero, $zero
.L80113128:
/* A9828 80113128 0000902D */  daddu     $s2, $zero, $zero
/* A982C 8011312C AFA00044 */  sw        $zero, 0x44($sp)
.L80113130:
/* A9830 80113130 92D400A6 */  lbu       $s4, 0xA6($s6)
/* A9834 80113134 12400006 */  beqz      $s2, .L80113150
/* A9838 80113138 24130001 */   addiu    $s3, $zero, 0x1
/* A983C 8011313C 13C00004 */  beqz      $fp, .L80113150
/* A9840 80113140 2FC20004 */   sltiu    $v0, $fp, 0x4
/* A9844 80113144 10400002 */  beqz      $v0, .L80113150
/* A9848 80113148 00000000 */   nop
/* A984C 8011314C 24130002 */  addiu     $s3, $zero, 0x2
.L80113150:
/* A9850 80113150 16400005 */  bnez      $s2, .L80113168
/* A9854 80113154 00141600 */   sll      $v0, $s4, 24
/* A9858 80113158 00021603 */  sra       $v0, $v0, 24
/* A985C 8011315C 28420011 */  slti      $v0, $v0, 0x11
/* A9860 80113160 1040000B */  beqz      $v0, .L80113190
/* A9864 80113164 00000000 */   nop
.L80113168:
/* A9868 80113168 3C028015 */  lui       $v0, %hi(gCurrentFogSettings)
/* A986C 8011316C 8C423264 */  lw        $v0, %lo(gCurrentFogSettings)($v0)
/* A9870 80113170 8C420000 */  lw        $v0, 0x0($v0)
/* A9874 80113174 10400006 */  beqz      $v0, .L80113190
/* A9878 80113178 33020040 */   andi     $v0, $t8, 0x40
/* A987C 8011317C 14400004 */  bnez      $v0, .L80113190
/* A9880 80113180 00000000 */   nop
/* A9884 80113184 24130003 */  addiu     $s3, $zero, 0x3
/* A9888 80113188 24150001 */  addiu     $s5, $zero, 0x1
/* A988C 8011318C AFB50044 */  sw        $s5, 0x44($sp)
.L80113190:
/* A9890 80113190 92C200A5 */  lbu       $v0, 0xA5($s6)
/* A9894 80113194 00021902 */  srl       $v1, $v0, 4
/* A9898 80113198 24020002 */  addiu     $v0, $zero, 0x2
/* A989C 8011319C 1062000F */  beq       $v1, $v0, .L801131DC
/* A98A0 801131A0 2C620003 */   sltiu    $v0, $v1, 0x3
/* A98A4 801131A4 10400005 */  beqz      $v0, .L801131BC
/* A98A8 801131A8 24020001 */   addiu    $v0, $zero, 0x1
/* A98AC 801131AC 50620008 */  beql      $v1, $v0, .L801131D0
/* A98B0 801131B0 26730003 */   addiu    $s3, $s3, 0x3
/* A98B4 801131B4 08044CF5 */  j         .L801133D4
/* A98B8 801131B8 00000000 */   nop
.L801131BC:
/* A98BC 801131BC 24020003 */  addiu     $v0, $zero, 0x3
/* A98C0 801131C0 5062005C */  beql      $v1, $v0, .L80113334
/* A98C4 801131C4 24130002 */   addiu    $s3, $zero, 0x2
/* A98C8 801131C8 08044CF5 */  j         .L801133D4
/* A98CC 801131CC 00000000 */   nop
.L801131D0:
/* A98D0 801131D0 24190002 */  addiu     $t9, $zero, 0x2
/* A98D4 801131D4 08044CF5 */  j         .L801133D4
/* A98D8 801131D8 AFB90044 */   sw       $t9, 0x44($sp)
.L801131DC:
/* A98DC 801131DC 00141600 */  sll       $v0, $s4, 24
/* A98E0 801131E0 00021603 */  sra       $v0, $v0, 24
/* A98E4 801131E4 28420011 */  slti      $v0, $v0, 0x11
/* A98E8 801131E8 1040007A */  beqz      $v0, .L801133D4
/* A98EC 801131EC 3C070001 */   lui      $a3, (0x1F400 >> 16)
/* A98F0 801131F0 3C038015 */  lui       $v1, %hi(mdl_renderModelFogEnd)
/* A98F4 801131F4 8C63B75C */  lw        $v1, %lo(mdl_renderModelFogEnd)($v1)
/* A98F8 801131F8 3C048015 */  lui       $a0, %hi(mdl_renderModelFogStart)
/* A98FC 801131FC 8C84B758 */  lw        $a0, %lo(mdl_renderModelFogStart)($a0)
/* A9900 80113200 34E7F400 */  ori       $a3, $a3, (0x1F400 & 0xFFFF)
/* A9904 80113204 00641823 */  subu      $v1, $v1, $a0
/* A9908 80113208 14600002 */  bnez      $v1, .L80113214
/* A990C 8011320C 00E3001A */   div      $zero, $a3, $v1
/* A9910 80113210 0007000D */  break     7
.L80113214:
/* A9914 80113214 2401FFFF */  addiu     $at, $zero, -0x1
/* A9918 80113218 14610004 */  bne       $v1, $at, .L8011322C
/* A991C 8011321C 3C018000 */   lui      $at, (0x80000000 >> 16)
/* A9920 80113220 14E10002 */  bne       $a3, $at, .L8011322C
/* A9924 80113224 00000000 */   nop
/* A9928 80113228 0006000D */  break     6
.L8011322C:
/* A992C 8011322C 00003812 */  mflo      $a3
/* A9930 80113230 26730009 */  addiu     $s3, $s3, 0x9
/* A9934 80113234 240D0003 */  addiu     $t5, $zero, 0x3
/* A9938 80113238 240501F4 */  addiu     $a1, $zero, 0x1F4
/* A993C 8011323C 00A42823 */  subu      $a1, $a1, $a0
/* A9940 80113240 00052A00 */  sll       $a1, $a1, 8
/* A9944 80113244 8E020000 */  lw        $v0, 0x0($s0)
/* A9948 80113248 14600002 */  bnez      $v1, .L80113254
/* A994C 8011324C 00A3001A */   div      $zero, $a1, $v1
/* A9950 80113250 0007000D */  break     7
.L80113254:
/* A9954 80113254 2401FFFF */  addiu     $at, $zero, -0x1
/* A9958 80113258 14610004 */  bne       $v1, $at, .L8011326C
/* A995C 8011325C 3C018000 */   lui      $at, (0x80000000 >> 16)
/* A9960 80113260 14A10002 */  bne       $a1, $at, .L8011326C
/* A9964 80113264 00000000 */   nop
/* A9968 80113268 0006000D */  break     6
.L8011326C:
/* A996C 8011326C 00002812 */  mflo      $a1
/* A9970 80113270 AFAD0044 */  sw        $t5, 0x44($sp)
/* A9974 80113274 0040402D */  daddu     $t0, $v0, $zero
/* A9978 80113278 24420008 */  addiu     $v0, $v0, 0x8
/* A997C 8011327C AE020000 */  sw        $v0, 0x0($s0)
/* A9980 80113280 0040302D */  daddu     $a2, $v0, $zero
/* A9984 80113284 3C02FA00 */  lui       $v0, (0xFA000000 >> 16)
/* A9988 80113288 AD020000 */  sw        $v0, 0x0($t0)
/* A998C 8011328C 3C028015 */  lui       $v0, %hi(mdl_renderModelFogPrimColorR)
/* A9990 80113290 9042B750 */  lbu       $v0, %lo(mdl_renderModelFogPrimColorR)($v0)
/* A9994 80113294 3C038015 */  lui       $v1, %hi(mdl_renderModelFogPrimColorG)
/* A9998 80113298 9063B751 */  lbu       $v1, %lo(mdl_renderModelFogPrimColorG)($v1)
/* A999C 8011329C 3C048015 */  lui       $a0, %hi(mdl_renderModelFogPrimColorB)
/* A99A0 801132A0 9084B752 */  lbu       $a0, %lo(mdl_renderModelFogPrimColorB)($a0)
/* A99A4 801132A4 00021600 */  sll       $v0, $v0, 24
/* A99A8 801132A8 00031C00 */  sll       $v1, $v1, 16
/* A99AC 801132AC 00431025 */  or        $v0, $v0, $v1
/* A99B0 801132B0 00042200 */  sll       $a0, $a0, 8
/* A99B4 801132B4 3C038015 */  lui       $v1, %hi(mdl_renderModelFogPrimColorA)
/* A99B8 801132B8 9063B753 */  lbu       $v1, %lo(mdl_renderModelFogPrimColorA)($v1)
/* A99BC 801132BC 00441025 */  or        $v0, $v0, $a0
/* A99C0 801132C0 00431025 */  or        $v0, $v0, $v1
/* A99C4 801132C4 AD020004 */  sw        $v0, 0x4($t0)
/* A99C8 801132C8 00C0402D */  daddu     $t0, $a2, $zero
/* A99CC 801132CC 24C60008 */  addiu     $a2, $a2, 0x8
/* A99D0 801132D0 3C02F800 */  lui       $v0, (0xF8000000 >> 16)
/* A99D4 801132D4 AE060000 */  sw        $a2, 0x0($s0)
/* A99D8 801132D8 AD020000 */  sw        $v0, 0x0($t0)
/* A99DC 801132DC 3C028015 */  lui       $v0, %hi(mdl_renderModelFogColorR)
/* A99E0 801132E0 9042B754 */  lbu       $v0, %lo(mdl_renderModelFogColorR)($v0)
/* A99E4 801132E4 3C048015 */  lui       $a0, %hi(mdl_renderModelFogColorG)
/* A99E8 801132E8 9084B755 */  lbu       $a0, %lo(mdl_renderModelFogColorG)($a0)
/* A99EC 801132EC 3C038015 */  lui       $v1, %hi(mdl_renderModelFogColorB)
/* A99F0 801132F0 9063B756 */  lbu       $v1, %lo(mdl_renderModelFogColorB)($v1)
/* A99F4 801132F4 00021600 */  sll       $v0, $v0, 24
/* A99F8 801132F8 00042400 */  sll       $a0, $a0, 16
/* A99FC 801132FC 00441025 */  or        $v0, $v0, $a0
/* A9A00 80113300 00031A00 */  sll       $v1, $v1, 8
/* A9A04 80113304 00431025 */  or        $v0, $v0, $v1
/* A9A08 80113308 00C0182D */  daddu     $v1, $a2, $zero
/* A9A0C 8011330C 24C60008 */  addiu     $a2, $a2, 0x8
/* A9A10 80113310 AD020004 */  sw        $v0, 0x4($t0)
/* A9A14 80113314 3C02DB08 */  lui       $v0, (0xDB080000 >> 16)
/* A9A18 80113318 AE060000 */  sw        $a2, 0x0($s0)
/* A9A1C 8011331C AC620000 */  sw        $v0, 0x0($v1)
/* A9A20 80113320 00073C00 */  sll       $a3, $a3, 16
/* A9A24 80113324 30A5FFFF */  andi      $a1, $a1, 0xFFFF
/* A9A28 80113328 00E53825 */  or        $a3, $a3, $a1
/* A9A2C 8011332C 08044CF5 */  j         .L801133D4
/* A9A30 80113330 AC670004 */   sw       $a3, 0x4($v1)
.L80113334:
/* A9A34 80113334 8E020000 */  lw        $v0, 0x0($s0)
/* A9A38 80113338 240D0004 */  addiu     $t5, $zero, 0x4
/* A9A3C 8011333C AFAD0044 */  sw        $t5, 0x44($sp)
/* A9A40 80113340 0040302D */  daddu     $a2, $v0, $zero
/* A9A44 80113344 24420008 */  addiu     $v0, $v0, 0x8
/* A9A48 80113348 AE020000 */  sw        $v0, 0x0($s0)
/* A9A4C 8011334C 0040282D */  daddu     $a1, $v0, $zero
/* A9A50 80113350 3C02FA00 */  lui       $v0, (0xFA000000 >> 16)
/* A9A54 80113354 ACC20000 */  sw        $v0, 0x0($a2)
/* A9A58 80113358 3C028015 */  lui       $v0, %hi(gRenderModelPrimR)
/* A9A5C 8011335C 9042B760 */  lbu       $v0, %lo(gRenderModelPrimR)($v0)
/* A9A60 80113360 3C048015 */  lui       $a0, %hi(gRenderModelPrimG)
/* A9A64 80113364 9084B761 */  lbu       $a0, %lo(gRenderModelPrimG)($a0)
/* A9A68 80113368 3C038015 */  lui       $v1, %hi(gRenderModelPrimB)
/* A9A6C 8011336C 9063B762 */  lbu       $v1, %lo(gRenderModelPrimB)($v1)
/* A9A70 80113370 00021600 */  sll       $v0, $v0, 24
/* A9A74 80113374 00042400 */  sll       $a0, $a0, 16
/* A9A78 80113378 00441025 */  or        $v0, $v0, $a0
/* A9A7C 8011337C 00031A00 */  sll       $v1, $v1, 8
/* A9A80 80113380 00431025 */  or        $v0, $v0, $v1
/* A9A84 80113384 344200FF */  ori       $v0, $v0, 0xFF
/* A9A88 80113388 ACC20004 */  sw        $v0, 0x4($a2)
/* A9A8C 8011338C 00A0302D */  daddu     $a2, $a1, $zero
/* A9A90 80113390 24A50008 */  addiu     $a1, $a1, 0x8
/* A9A94 80113394 3C02FB00 */  lui       $v0, (0xFB000000 >> 16)
/* A9A98 80113398 AE050000 */  sw        $a1, 0x0($s0)
/* A9A9C 8011339C ACC20000 */  sw        $v0, 0x0($a2)
/* A9AA0 801133A0 3C028015 */  lui       $v0, %hi(gRenderModelEnvR)
/* A9AA4 801133A4 9042B763 */  lbu       $v0, %lo(gRenderModelEnvR)($v0)
/* A9AA8 801133A8 3C048015 */  lui       $a0, %hi(gRenderModelEnvG)
/* A9AAC 801133AC 9084B764 */  lbu       $a0, %lo(gRenderModelEnvG)($a0)
/* A9AB0 801133B0 3C038015 */  lui       $v1, %hi(gRenderModelEnvB)
/* A9AB4 801133B4 9063B765 */  lbu       $v1, %lo(gRenderModelEnvB)($v1)
/* A9AB8 801133B8 00021600 */  sll       $v0, $v0, 24
/* A9ABC 801133BC 00042400 */  sll       $a0, $a0, 16
/* A9AC0 801133C0 00441025 */  or        $v0, $v0, $a0
/* A9AC4 801133C4 00031A00 */  sll       $v1, $v1, 8
/* A9AC8 801133C8 00431025 */  or        $v0, $v0, $v1
/* A9ACC 801133CC 344200FF */  ori       $v0, $v0, 0xFF
/* A9AD0 801133D0 ACC20004 */  sw        $v0, 0x4($a2)
.L801133D4:
/* A9AD4 801133D4 8E020000 */  lw        $v0, 0x0($s0)
/* A9AD8 801133D8 3C03E700 */  lui       $v1, (0xE7000000 >> 16)
/* A9ADC 801133DC 0040202D */  daddu     $a0, $v0, $zero
/* A9AE0 801133E0 AC830000 */  sw        $v1, 0x0($a0)
/* A9AE4 801133E4 AC800004 */  sw        $zero, 0x4($a0)
/* A9AE8 801133E8 8EC3000C */  lw        $v1, 0xC($s6)
/* A9AEC 801133EC 24420008 */  addiu     $v0, $v0, 0x8
/* A9AF0 801133F0 10600175 */  beqz      $v1, .L801139C8
/* A9AF4 801133F4 AE020000 */   sw       $v0, 0x0($s0)
/* A9AF8 801133F8 8C6E0004 */  lw        $t6, 0x4($v1)
/* A9AFC 801133FC 11C00172 */  beqz      $t6, .L801139C8
/* A9B00 80113400 00000000 */   nop
/* A9B04 80113404 8C630008 */  lw        $v1, 0x8($v1)
/* A9B08 80113408 2C620008 */  sltiu     $v0, $v1, 0x8
/* A9B0C 8011340C 1040016E */  beqz      $v0, .L801139C8
/* A9B10 80113410 00031080 */   sll      $v0, $v1, 2
/* A9B14 80113414 3C018015 */  lui       $at, %hi(jtbl_8014F990)
/* A9B18 80113418 00220821 */  addu      $at, $at, $v0
/* A9B1C 8011341C 8C22F990 */  lw        $v0, %lo(jtbl_8014F990)($at)
/* A9B20 80113420 00400008 */  jr        $v0
/* A9B24 80113424 00000000 */   nop
glabel .L80113428
/* A9B28 80113428 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9B2C 8011342C 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9B30 80113430 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9B34 80113434 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9B38 80113438 8E020000 */  lw        $v0, 0x0($s0)
/* A9B3C 8011343C 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9B40 80113440 0040282D */  daddu     $a1, $v0, $zero
/* A9B44 80113444 24420008 */  addiu     $v0, $v0, 0x8
/* A9B48 80113448 0040202D */  daddu     $a0, $v0, $zero
/* A9B4C 8011344C AE020000 */  sw        $v0, 0x0($s0)
/* A9B50 80113450 24420008 */  addiu     $v0, $v0, 0x8
/* A9B54 80113454 ACA30000 */  sw        $v1, 0x0($a1)
/* A9B58 80113458 AE020000 */  sw        $v0, 0x0($s0)
/* A9B5C 8011345C 0040182D */  daddu     $v1, $v0, $zero
/* A9B60 80113460 24020018 */  addiu     $v0, $zero, 0x18
/* A9B64 80113464 ACA20004 */  sw        $v0, 0x4($a1)
/* A9B68 80113468 25C20008 */  addiu     $v0, $t6, 0x8
/* A9B6C 8011346C AC820004 */  sw        $v0, 0x4($a0)
/* A9B70 80113470 0060102D */  daddu     $v0, $v1, $zero
/* A9B74 80113474 24630008 */  addiu     $v1, $v1, 0x8
/* A9B78 80113478 AC860000 */  sw        $a2, 0x0($a0)
/* A9B7C 8011347C AE030000 */  sw        $v1, 0x0($s0)
/* A9B80 80113480 08044E71 */  j         .L801139C4
/* A9B84 80113484 AC470000 */   sw       $a3, 0x0($v0)
glabel .L80113488
/* A9B88 80113488 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9B8C 8011348C 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9B90 80113490 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9B94 80113494 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9B98 80113498 8E020000 */  lw        $v0, 0x0($s0)
/* A9B9C 8011349C 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9BA0 801134A0 0040282D */  daddu     $a1, $v0, $zero
/* A9BA4 801134A4 24420008 */  addiu     $v0, $v0, 0x8
/* A9BA8 801134A8 0040202D */  daddu     $a0, $v0, $zero
/* A9BAC 801134AC AE020000 */  sw        $v0, 0x0($s0)
/* A9BB0 801134B0 24420008 */  addiu     $v0, $v0, 0x8
/* A9BB4 801134B4 ACA30000 */  sw        $v1, 0x0($a1)
/* A9BB8 801134B8 AE020000 */  sw        $v0, 0x0($s0)
/* A9BBC 801134BC 0040182D */  daddu     $v1, $v0, $zero
/* A9BC0 801134C0 24020018 */  addiu     $v0, $zero, 0x18
/* A9BC4 801134C4 ACA20004 */  sw        $v0, 0x4($a1)
/* A9BC8 801134C8 25C20008 */  addiu     $v0, $t6, 0x8
/* A9BCC 801134CC AC820004 */  sw        $v0, 0x4($a0)
/* A9BD0 801134D0 0060102D */  daddu     $v0, $v1, $zero
/* A9BD4 801134D4 24630008 */  addiu     $v1, $v1, 0x8
/* A9BD8 801134D8 AC860000 */  sw        $a2, 0x0($a0)
/* A9BDC 801134DC AE030000 */  sw        $v1, 0x0($s0)
/* A9BE0 801134E0 08044E71 */  j         .L801139C4
/* A9BE4 801134E4 AC470000 */   sw       $a3, 0x0($v0)
glabel .L801134E8
/* A9BE8 801134E8 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9BEC 801134EC 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9BF0 801134F0 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9BF4 801134F4 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9BF8 801134F8 3C08DC08 */  lui       $t0, (0xDC080C0A >> 16)
/* A9BFC 801134FC 35080C0A */  ori       $t0, $t0, (0xDC080C0A & 0xFFFF)
/* A9C00 80113500 8E020000 */  lw        $v0, 0x0($s0)
/* A9C04 80113504 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9C08 80113508 0040202D */  daddu     $a0, $v0, $zero
/* A9C0C 8011350C 24420008 */  addiu     $v0, $v0, 0x8
/* A9C10 80113510 0040282D */  daddu     $a1, $v0, $zero
/* A9C14 80113514 AE020000 */  sw        $v0, 0x0($s0)
/* A9C18 80113518 24420008 */  addiu     $v0, $v0, 0x8
/* A9C1C 8011351C AC830000 */  sw        $v1, 0x0($a0)
/* A9C20 80113520 AE020000 */  sw        $v0, 0x0($s0)
/* A9C24 80113524 0040182D */  daddu     $v1, $v0, $zero
/* A9C28 80113528 24020030 */  addiu     $v0, $zero, 0x30
/* A9C2C 8011352C AC820004 */  sw        $v0, 0x4($a0)
/* A9C30 80113530 0060202D */  daddu     $a0, $v1, $zero
/* A9C34 80113534 24630008 */  addiu     $v1, $v1, 0x8
/* A9C38 80113538 25C20008 */  addiu     $v0, $t6, 0x8
/* A9C3C 8011353C ACA60000 */  sw        $a2, 0x0($a1)
/* A9C40 80113540 AE030000 */  sw        $v1, 0x0($s0)
/* A9C44 80113544 ACA20004 */  sw        $v0, 0x4($a1)
/* A9C48 80113548 25C20018 */  addiu     $v0, $t6, 0x18
/* A9C4C 8011354C AC820004 */  sw        $v0, 0x4($a0)
/* A9C50 80113550 0060102D */  daddu     $v0, $v1, $zero
/* A9C54 80113554 24630008 */  addiu     $v1, $v1, 0x8
/* A9C58 80113558 AC870000 */  sw        $a3, 0x0($a0)
/* A9C5C 8011355C AE030000 */  sw        $v1, 0x0($s0)
/* A9C60 80113560 08044E71 */  j         .L801139C4
/* A9C64 80113564 AC480000 */   sw       $t0, 0x0($v0)
glabel .L80113568
/* A9C68 80113568 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9C6C 8011356C 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9C70 80113570 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9C74 80113574 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9C78 80113578 3C08DC08 */  lui       $t0, (0xDC080C0A >> 16)
/* A9C7C 8011357C 35080C0A */  ori       $t0, $t0, (0xDC080C0A & 0xFFFF)
/* A9C80 80113580 3C09DC08 */  lui       $t1, (0xDC080F0A >> 16)
/* A9C84 80113584 35290F0A */  ori       $t1, $t1, (0xDC080F0A & 0xFFFF)
/* A9C88 80113588 8E020000 */  lw        $v0, 0x0($s0)
/* A9C8C 8011358C 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9C90 80113590 0040202D */  daddu     $a0, $v0, $zero
/* A9C94 80113594 24420008 */  addiu     $v0, $v0, 0x8
/* A9C98 80113598 0040282D */  daddu     $a1, $v0, $zero
/* A9C9C 8011359C AE020000 */  sw        $v0, 0x0($s0)
/* A9CA0 801135A0 24420008 */  addiu     $v0, $v0, 0x8
/* A9CA4 801135A4 AC830000 */  sw        $v1, 0x0($a0)
/* A9CA8 801135A8 AE020000 */  sw        $v0, 0x0($s0)
/* A9CAC 801135AC 0040182D */  daddu     $v1, $v0, $zero
/* A9CB0 801135B0 24020048 */  addiu     $v0, $zero, 0x48
/* A9CB4 801135B4 AC820004 */  sw        $v0, 0x4($a0)
/* A9CB8 801135B8 ACA60000 */  sw        $a2, 0x0($a1)
/* A9CBC 801135BC 0060302D */  daddu     $a2, $v1, $zero
/* A9CC0 801135C0 24630008 */  addiu     $v1, $v1, 0x8
/* A9CC4 801135C4 25C20008 */  addiu     $v0, $t6, 0x8
/* A9CC8 801135C8 0060202D */  daddu     $a0, $v1, $zero
/* A9CCC 801135CC AE030000 */  sw        $v1, 0x0($s0)
/* A9CD0 801135D0 24630008 */  addiu     $v1, $v1, 0x8
/* A9CD4 801135D4 ACA20004 */  sw        $v0, 0x4($a1)
/* A9CD8 801135D8 25C20018 */  addiu     $v0, $t6, 0x18
/* A9CDC 801135DC ACC70000 */  sw        $a3, 0x0($a2)
/* A9CE0 801135E0 AE030000 */  sw        $v1, 0x0($s0)
/* A9CE4 801135E4 ACC20004 */  sw        $v0, 0x4($a2)
/* A9CE8 801135E8 25C20028 */  addiu     $v0, $t6, 0x28
/* A9CEC 801135EC AC820004 */  sw        $v0, 0x4($a0)
/* A9CF0 801135F0 0060102D */  daddu     $v0, $v1, $zero
/* A9CF4 801135F4 24630008 */  addiu     $v1, $v1, 0x8
/* A9CF8 801135F8 AC880000 */  sw        $t0, 0x0($a0)
/* A9CFC 801135FC AE030000 */  sw        $v1, 0x0($s0)
/* A9D00 80113600 08044E71 */  j         .L801139C4
/* A9D04 80113604 AC490000 */   sw       $t1, 0x0($v0)
glabel .L80113608
/* A9D08 80113608 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9D0C 8011360C 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9D10 80113610 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9D14 80113614 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9D18 80113618 3C08DC08 */  lui       $t0, (0xDC080C0A >> 16)
/* A9D1C 8011361C 35080C0A */  ori       $t0, $t0, (0xDC080C0A & 0xFFFF)
/* A9D20 80113620 3C09DC08 */  lui       $t1, (0xDC080F0A >> 16)
/* A9D24 80113624 35290F0A */  ori       $t1, $t1, (0xDC080F0A & 0xFFFF)
/* A9D28 80113628 3C0ADC08 */  lui       $t2, (0xDC08120A >> 16)
/* A9D2C 8011362C 354A120A */  ori       $t2, $t2, (0xDC08120A & 0xFFFF)
/* A9D30 80113630 8E020000 */  lw        $v0, 0x0($s0)
/* A9D34 80113634 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9D38 80113638 0040202D */  daddu     $a0, $v0, $zero
/* A9D3C 8011363C 24420008 */  addiu     $v0, $v0, 0x8
/* A9D40 80113640 0040282D */  daddu     $a1, $v0, $zero
/* A9D44 80113644 AE020000 */  sw        $v0, 0x0($s0)
/* A9D48 80113648 24420008 */  addiu     $v0, $v0, 0x8
/* A9D4C 8011364C AC830000 */  sw        $v1, 0x0($a0)
/* A9D50 80113650 AE020000 */  sw        $v0, 0x0($s0)
/* A9D54 80113654 0040182D */  daddu     $v1, $v0, $zero
/* A9D58 80113658 24020060 */  addiu     $v0, $zero, 0x60
/* A9D5C 8011365C AC820004 */  sw        $v0, 0x4($a0)
/* A9D60 80113660 0060202D */  daddu     $a0, $v1, $zero
/* A9D64 80113664 24630008 */  addiu     $v1, $v1, 0x8
/* A9D68 80113668 25C20008 */  addiu     $v0, $t6, 0x8
/* A9D6C 8011366C ACA60000 */  sw        $a2, 0x0($a1)
/* A9D70 80113670 AE030000 */  sw        $v1, 0x0($s0)
/* A9D74 80113674 ACA20004 */  sw        $v0, 0x4($a1)
/* A9D78 80113678 0060282D */  daddu     $a1, $v1, $zero
/* A9D7C 8011367C 24630008 */  addiu     $v1, $v1, 0x8
/* A9D80 80113680 25C20018 */  addiu     $v0, $t6, 0x18
/* A9D84 80113684 AC870000 */  sw        $a3, 0x0($a0)
/* A9D88 80113688 AE030000 */  sw        $v1, 0x0($s0)
/* A9D8C 8011368C AC820004 */  sw        $v0, 0x4($a0)
/* A9D90 80113690 0060202D */  daddu     $a0, $v1, $zero
/* A9D94 80113694 24630008 */  addiu     $v1, $v1, 0x8
/* A9D98 80113698 25C20028 */  addiu     $v0, $t6, 0x28
/* A9D9C 8011369C ACA80000 */  sw        $t0, 0x0($a1)
/* A9DA0 801136A0 AE030000 */  sw        $v1, 0x0($s0)
/* A9DA4 801136A4 ACA20004 */  sw        $v0, 0x4($a1)
/* A9DA8 801136A8 25C20038 */  addiu     $v0, $t6, 0x38
/* A9DAC 801136AC AC820004 */  sw        $v0, 0x4($a0)
/* A9DB0 801136B0 0060102D */  daddu     $v0, $v1, $zero
/* A9DB4 801136B4 24630008 */  addiu     $v1, $v1, 0x8
/* A9DB8 801136B8 AC890000 */  sw        $t1, 0x0($a0)
/* A9DBC 801136BC AE030000 */  sw        $v1, 0x0($s0)
/* A9DC0 801136C0 08044E71 */  j         .L801139C4
/* A9DC4 801136C4 AC4A0000 */   sw       $t2, 0x0($v0)
glabel .L801136C8
/* A9DC8 801136C8 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9DCC 801136CC 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9DD0 801136D0 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9DD4 801136D4 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9DD8 801136D8 3C08DC08 */  lui       $t0, (0xDC080C0A >> 16)
/* A9DDC 801136DC 35080C0A */  ori       $t0, $t0, (0xDC080C0A & 0xFFFF)
/* A9DE0 801136E0 3C09DC08 */  lui       $t1, (0xDC080F0A >> 16)
/* A9DE4 801136E4 35290F0A */  ori       $t1, $t1, (0xDC080F0A & 0xFFFF)
/* A9DE8 801136E8 3C0ADC08 */  lui       $t2, (0xDC08120A >> 16)
/* A9DEC 801136EC 354A120A */  ori       $t2, $t2, (0xDC08120A & 0xFFFF)
/* A9DF0 801136F0 3C0BDC08 */  lui       $t3, (0xDC08150A >> 16)
/* A9DF4 801136F4 356B150A */  ori       $t3, $t3, (0xDC08150A & 0xFFFF)
/* A9DF8 801136F8 8E020000 */  lw        $v0, 0x0($s0)
/* A9DFC 801136FC 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9E00 80113700 0040202D */  daddu     $a0, $v0, $zero
/* A9E04 80113704 24420008 */  addiu     $v0, $v0, 0x8
/* A9E08 80113708 0040282D */  daddu     $a1, $v0, $zero
/* A9E0C 8011370C AE020000 */  sw        $v0, 0x0($s0)
/* A9E10 80113710 24420008 */  addiu     $v0, $v0, 0x8
/* A9E14 80113714 AC830000 */  sw        $v1, 0x0($a0)
/* A9E18 80113718 AE020000 */  sw        $v0, 0x0($s0)
/* A9E1C 8011371C 0040182D */  daddu     $v1, $v0, $zero
/* A9E20 80113720 24020078 */  addiu     $v0, $zero, 0x78
/* A9E24 80113724 AC820004 */  sw        $v0, 0x4($a0)
/* A9E28 80113728 0060202D */  daddu     $a0, $v1, $zero
/* A9E2C 8011372C 24630008 */  addiu     $v1, $v1, 0x8
/* A9E30 80113730 25C20008 */  addiu     $v0, $t6, 0x8
/* A9E34 80113734 ACA60000 */  sw        $a2, 0x0($a1)
/* A9E38 80113738 AE030000 */  sw        $v1, 0x0($s0)
/* A9E3C 8011373C ACA20004 */  sw        $v0, 0x4($a1)
/* A9E40 80113740 0060282D */  daddu     $a1, $v1, $zero
/* A9E44 80113744 24630008 */  addiu     $v1, $v1, 0x8
/* A9E48 80113748 25C20018 */  addiu     $v0, $t6, 0x18
/* A9E4C 8011374C 0060302D */  daddu     $a2, $v1, $zero
/* A9E50 80113750 AC870000 */  sw        $a3, 0x0($a0)
/* A9E54 80113754 AE030000 */  sw        $v1, 0x0($s0)
/* A9E58 80113758 24630008 */  addiu     $v1, $v1, 0x8
/* A9E5C 8011375C AC820004 */  sw        $v0, 0x4($a0)
/* A9E60 80113760 25C20028 */  addiu     $v0, $t6, 0x28
/* A9E64 80113764 0060202D */  daddu     $a0, $v1, $zero
/* A9E68 80113768 ACA80000 */  sw        $t0, 0x0($a1)
/* A9E6C 8011376C AE030000 */  sw        $v1, 0x0($s0)
/* A9E70 80113770 24630008 */  addiu     $v1, $v1, 0x8
/* A9E74 80113774 ACA20004 */  sw        $v0, 0x4($a1)
/* A9E78 80113778 25C20038 */  addiu     $v0, $t6, 0x38
/* A9E7C 8011377C ACC90000 */  sw        $t1, 0x0($a2)
/* A9E80 80113780 AE030000 */  sw        $v1, 0x0($s0)
/* A9E84 80113784 ACC20004 */  sw        $v0, 0x4($a2)
/* A9E88 80113788 25C20048 */  addiu     $v0, $t6, 0x48
/* A9E8C 8011378C AC820004 */  sw        $v0, 0x4($a0)
/* A9E90 80113790 0060102D */  daddu     $v0, $v1, $zero
/* A9E94 80113794 24630008 */  addiu     $v1, $v1, 0x8
/* A9E98 80113798 AC8A0000 */  sw        $t2, 0x0($a0)
/* A9E9C 8011379C AE030000 */  sw        $v1, 0x0($s0)
/* A9EA0 801137A0 08044E71 */  j         .L801139C4
/* A9EA4 801137A4 AC4B0000 */   sw       $t3, 0x0($v0)
glabel .L801137A8
/* A9EA8 801137A8 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9EAC 801137AC 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9EB0 801137B0 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9EB4 801137B4 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9EB8 801137B8 3C08DC08 */  lui       $t0, (0xDC080C0A >> 16)
/* A9EBC 801137BC 35080C0A */  ori       $t0, $t0, (0xDC080C0A & 0xFFFF)
/* A9EC0 801137C0 3C09DC08 */  lui       $t1, (0xDC080F0A >> 16)
/* A9EC4 801137C4 35290F0A */  ori       $t1, $t1, (0xDC080F0A & 0xFFFF)
/* A9EC8 801137C8 3C0ADC08 */  lui       $t2, (0xDC08120A >> 16)
/* A9ECC 801137CC 354A120A */  ori       $t2, $t2, (0xDC08120A & 0xFFFF)
/* A9ED0 801137D0 3C0BDC08 */  lui       $t3, (0xDC08150A >> 16)
/* A9ED4 801137D4 356B150A */  ori       $t3, $t3, (0xDC08150A & 0xFFFF)
/* A9ED8 801137D8 3C0CDC08 */  lui       $t4, (0xDC08180A >> 16)
/* A9EDC 801137DC 358C180A */  ori       $t4, $t4, (0xDC08180A & 0xFFFF)
/* A9EE0 801137E0 8E020000 */  lw        $v0, 0x0($s0)
/* A9EE4 801137E4 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9EE8 801137E8 0040202D */  daddu     $a0, $v0, $zero
/* A9EEC 801137EC 24420008 */  addiu     $v0, $v0, 0x8
/* A9EF0 801137F0 0040282D */  daddu     $a1, $v0, $zero
/* A9EF4 801137F4 AE020000 */  sw        $v0, 0x0($s0)
/* A9EF8 801137F8 24420008 */  addiu     $v0, $v0, 0x8
/* A9EFC 801137FC AC830000 */  sw        $v1, 0x0($a0)
/* A9F00 80113800 AE020000 */  sw        $v0, 0x0($s0)
/* A9F04 80113804 0040182D */  daddu     $v1, $v0, $zero
/* A9F08 80113808 24020090 */  addiu     $v0, $zero, 0x90
/* A9F0C 8011380C AC820004 */  sw        $v0, 0x4($a0)
/* A9F10 80113810 0060202D */  daddu     $a0, $v1, $zero
/* A9F14 80113814 24630008 */  addiu     $v1, $v1, 0x8
/* A9F18 80113818 25C20008 */  addiu     $v0, $t6, 0x8
/* A9F1C 8011381C ACA60000 */  sw        $a2, 0x0($a1)
/* A9F20 80113820 AE030000 */  sw        $v1, 0x0($s0)
/* A9F24 80113824 ACA20004 */  sw        $v0, 0x4($a1)
/* A9F28 80113828 0060282D */  daddu     $a1, $v1, $zero
/* A9F2C 8011382C 24630008 */  addiu     $v1, $v1, 0x8
/* A9F30 80113830 25C20018 */  addiu     $v0, $t6, 0x18
/* A9F34 80113834 AC870000 */  sw        $a3, 0x0($a0)
/* A9F38 80113838 AE030000 */  sw        $v1, 0x0($s0)
/* A9F3C 8011383C AC820004 */  sw        $v0, 0x4($a0)
/* A9F40 80113840 0060202D */  daddu     $a0, $v1, $zero
/* A9F44 80113844 24630008 */  addiu     $v1, $v1, 0x8
/* A9F48 80113848 25C20028 */  addiu     $v0, $t6, 0x28
/* A9F4C 8011384C ACA80000 */  sw        $t0, 0x0($a1)
/* A9F50 80113850 AE030000 */  sw        $v1, 0x0($s0)
/* A9F54 80113854 ACA20004 */  sw        $v0, 0x4($a1)
/* A9F58 80113858 0060282D */  daddu     $a1, $v1, $zero
/* A9F5C 8011385C 24630008 */  addiu     $v1, $v1, 0x8
/* A9F60 80113860 25C20038 */  addiu     $v0, $t6, 0x38
/* A9F64 80113864 AC890000 */  sw        $t1, 0x0($a0)
/* A9F68 80113868 AE030000 */  sw        $v1, 0x0($s0)
/* A9F6C 8011386C AC820004 */  sw        $v0, 0x4($a0)
/* A9F70 80113870 0060202D */  daddu     $a0, $v1, $zero
/* A9F74 80113874 24630008 */  addiu     $v1, $v1, 0x8
/* A9F78 80113878 25C20048 */  addiu     $v0, $t6, 0x48
/* A9F7C 8011387C ACAA0000 */  sw        $t2, 0x0($a1)
/* A9F80 80113880 AE030000 */  sw        $v1, 0x0($s0)
/* A9F84 80113884 ACA20004 */  sw        $v0, 0x4($a1)
/* A9F88 80113888 25C20058 */  addiu     $v0, $t6, 0x58
/* A9F8C 8011388C AC820004 */  sw        $v0, 0x4($a0)
/* A9F90 80113890 0060102D */  daddu     $v0, $v1, $zero
/* A9F94 80113894 24630008 */  addiu     $v1, $v1, 0x8
/* A9F98 80113898 AC8B0000 */  sw        $t3, 0x0($a0)
/* A9F9C 8011389C AE030000 */  sw        $v1, 0x0($s0)
/* A9FA0 801138A0 08044E71 */  j         .L801139C4
/* A9FA4 801138A4 AC4C0000 */   sw       $t4, 0x0($v0)
glabel .L801138A8
/* A9FA8 801138A8 3C06DC08 */  lui       $a2, (0xDC08060A >> 16)
/* A9FAC 801138AC 34C6060A */  ori       $a2, $a2, (0xDC08060A & 0xFFFF)
/* A9FB0 801138B0 3C07DC08 */  lui       $a3, (0xDC08090A >> 16)
/* A9FB4 801138B4 34E7090A */  ori       $a3, $a3, (0xDC08090A & 0xFFFF)
/* A9FB8 801138B8 3C08DC08 */  lui       $t0, (0xDC080C0A >> 16)
/* A9FBC 801138BC 35080C0A */  ori       $t0, $t0, (0xDC080C0A & 0xFFFF)
/* A9FC0 801138C0 3C09DC08 */  lui       $t1, (0xDC080F0A >> 16)
/* A9FC4 801138C4 35290F0A */  ori       $t1, $t1, (0xDC080F0A & 0xFFFF)
/* A9FC8 801138C8 3C0ADC08 */  lui       $t2, (0xDC08120A >> 16)
/* A9FCC 801138CC 354A120A */  ori       $t2, $t2, (0xDC08120A & 0xFFFF)
/* A9FD0 801138D0 3C0BDC08 */  lui       $t3, (0xDC08150A >> 16)
/* A9FD4 801138D4 356B150A */  ori       $t3, $t3, (0xDC08150A & 0xFFFF)
/* A9FD8 801138D8 3C0CDC08 */  lui       $t4, (0xDC08180A >> 16)
/* A9FDC 801138DC 358C180A */  ori       $t4, $t4, (0xDC08180A & 0xFFFF)
/* A9FE0 801138E0 3C0DDC08 */  lui       $t5, (0xDC081B0A >> 16)
/* A9FE4 801138E4 35AD1B0A */  ori       $t5, $t5, (0xDC081B0A & 0xFFFF)
/* A9FE8 801138E8 8E020000 */  lw        $v0, 0x0($s0)
/* A9FEC 801138EC 3C03DB02 */  lui       $v1, (0xDB020000 >> 16)
/* A9FF0 801138F0 0040202D */  daddu     $a0, $v0, $zero
/* A9FF4 801138F4 24420008 */  addiu     $v0, $v0, 0x8
/* A9FF8 801138F8 0040282D */  daddu     $a1, $v0, $zero
/* A9FFC 801138FC AE020000 */  sw        $v0, 0x0($s0)
/* AA000 80113900 24420008 */  addiu     $v0, $v0, 0x8
/* AA004 80113904 AC830000 */  sw        $v1, 0x0($a0)
/* AA008 80113908 AE020000 */  sw        $v0, 0x0($s0)
/* AA00C 8011390C 0040182D */  daddu     $v1, $v0, $zero
/* AA010 80113910 240200A8 */  addiu     $v0, $zero, 0xA8
/* AA014 80113914 AC820004 */  sw        $v0, 0x4($a0)
/* AA018 80113918 0060202D */  daddu     $a0, $v1, $zero
/* AA01C 8011391C 24630008 */  addiu     $v1, $v1, 0x8
/* AA020 80113920 25C20008 */  addiu     $v0, $t6, 0x8
/* AA024 80113924 ACA60000 */  sw        $a2, 0x0($a1)
/* AA028 80113928 AE030000 */  sw        $v1, 0x0($s0)
/* AA02C 8011392C ACA20004 */  sw        $v0, 0x4($a1)
/* AA030 80113930 0060282D */  daddu     $a1, $v1, $zero
/* AA034 80113934 24630008 */  addiu     $v1, $v1, 0x8
/* AA038 80113938 25C20018 */  addiu     $v0, $t6, 0x18
/* AA03C 8011393C AC870000 */  sw        $a3, 0x0($a0)
/* AA040 80113940 AE030000 */  sw        $v1, 0x0($s0)
/* AA044 80113944 AC820004 */  sw        $v0, 0x4($a0)
/* AA048 80113948 0060202D */  daddu     $a0, $v1, $zero
/* AA04C 8011394C 24630008 */  addiu     $v1, $v1, 0x8
/* AA050 80113950 25C20028 */  addiu     $v0, $t6, 0x28
/* AA054 80113954 ACA80000 */  sw        $t0, 0x0($a1)
/* AA058 80113958 AE030000 */  sw        $v1, 0x0($s0)
/* AA05C 8011395C ACA20004 */  sw        $v0, 0x4($a1)
/* AA060 80113960 0060282D */  daddu     $a1, $v1, $zero
/* AA064 80113964 24630008 */  addiu     $v1, $v1, 0x8
/* AA068 80113968 25C20038 */  addiu     $v0, $t6, 0x38
/* AA06C 8011396C 0060302D */  daddu     $a2, $v1, $zero
/* AA070 80113970 AC890000 */  sw        $t1, 0x0($a0)
/* AA074 80113974 AE030000 */  sw        $v1, 0x0($s0)
/* AA078 80113978 24630008 */  addiu     $v1, $v1, 0x8
/* AA07C 8011397C AC820004 */  sw        $v0, 0x4($a0)
/* AA080 80113980 25C20048 */  addiu     $v0, $t6, 0x48
/* AA084 80113984 0060202D */  daddu     $a0, $v1, $zero
/* AA088 80113988 ACAA0000 */  sw        $t2, 0x0($a1)
/* AA08C 8011398C AE030000 */  sw        $v1, 0x0($s0)
/* AA090 80113990 24630008 */  addiu     $v1, $v1, 0x8
/* AA094 80113994 ACA20004 */  sw        $v0, 0x4($a1)
/* AA098 80113998 25C20058 */  addiu     $v0, $t6, 0x58
/* AA09C 8011399C ACCB0000 */  sw        $t3, 0x0($a2)
/* AA0A0 801139A0 AE030000 */  sw        $v1, 0x0($s0)
/* AA0A4 801139A4 ACC20004 */  sw        $v0, 0x4($a2)
/* AA0A8 801139A8 25C20068 */  addiu     $v0, $t6, 0x68
/* AA0AC 801139AC AC820004 */  sw        $v0, 0x4($a0)
/* AA0B0 801139B0 0060102D */  daddu     $v0, $v1, $zero
/* AA0B4 801139B4 24630008 */  addiu     $v1, $v1, 0x8
/* AA0B8 801139B8 AC8C0000 */  sw        $t4, 0x0($a0)
/* AA0BC 801139BC AE030000 */  sw        $v1, 0x0($s0)
/* AA0C0 801139C0 AC4D0000 */  sw        $t5, 0x0($v0)
.L801139C4:
/* AA0C4 801139C4 AC4E0004 */  sw        $t6, 0x4($v0)
.L801139C8:
/* AA0C8 801139C8 1240002D */  beqz      $s2, .L80113A80
/* AA0CC 801139CC 2FC20005 */   sltiu    $v0, $fp, 0x5
/* AA0D0 801139D0 10400022 */  beqz      $v0, .L80113A5C
/* AA0D4 801139D4 2FC20003 */   sltiu    $v0, $fp, 0x3
/* AA0D8 801139D8 14400020 */  bnez      $v0, .L80113A5C
/* AA0DC 801139DC 2405005F */   addiu    $a1, $zero, 0x5F
/* AA0E0 801139E0 8FA40028 */  lw        $a0, 0x28($sp)
/* AA0E4 801139E4 0C0456C3 */  jal       get_model_property
/* AA0E8 801139E8 AFB80040 */   sw       $t8, 0x40($sp)
/* AA0EC 801139EC 8FB80040 */  lw        $t8, 0x40($sp)
/* AA0F0 801139F0 1040001A */  beqz      $v0, .L80113A5C
/* AA0F4 801139F4 0240202D */   daddu    $a0, $s2, $zero
/* AA0F8 801139F8 8C430008 */  lw        $v1, 0x8($v0)
/* AA0FC 801139FC 94460006 */  lhu       $a2, 0x6($v0)
/* AA100 80113A00 8C450004 */  lw        $a1, 0x4($v0)
/* AA104 80113A04 8E22003C */  lw        $v0, 0x3C($s1)
/* AA108 80113A08 AFA20010 */  sw        $v0, 0x10($sp)
/* AA10C 80113A0C 00031303 */  sra       $v0, $v1, 12
/* AA110 80113A10 3042000F */  andi      $v0, $v0, 0xF
/* AA114 80113A14 00031C03 */  sra       $v1, $v1, 16
/* AA118 80113A18 3063000F */  andi      $v1, $v1, 0xF
/* AA11C 80113A1C 30C60FFF */  andi      $a2, $a2, 0xFFF
/* AA120 80113A20 00052B03 */  sra       $a1, $a1, 12
/* AA124 80113A24 8E270040 */  lw        $a3, 0x40($s1)
/* AA128 80113A28 30A50FFF */  andi      $a1, $a1, 0xFFF
/* AA12C 80113A2C AFA20018 */  sw        $v0, 0x18($sp)
/* AA130 80113A30 AFA3001C */  sw        $v1, 0x1C($sp)
/* AA134 80113A34 AFA60020 */  sw        $a2, 0x20($sp)
/* AA138 80113A38 AFA50024 */  sw        $a1, 0x24($sp)
/* AA13C 80113A3C AFA70014 */  sw        $a3, 0x14($sp)
/* AA140 80113A40 8E260034 */  lw        $a2, 0x34($s1)
/* AA144 80113A44 8E270038 */  lw        $a3, 0x38($s1)
/* AA148 80113A48 0C04603A */  jal       func_801180E8
/* AA14C 80113A4C 0200282D */   daddu    $a1, $s0, $zero
/* AA150 80113A50 8FB80040 */  lw        $t8, 0x40($sp)
/* AA154 80113A54 08044EBF */  j         .L80113AFC
/* AA158 80113A58 00000000 */   nop
.L80113A5C:
/* AA15C 80113A5C 8E030000 */  lw        $v1, 0x0($s0)
/* AA160 80113A60 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* AA164 80113A64 0060202D */  daddu     $a0, $v1, $zero
/* AA168 80113A68 AC820000 */  sw        $v0, 0x0($a0)
/* AA16C 80113A6C 8E220000 */  lw        $v0, 0x0($s1)
/* AA170 80113A70 24630008 */  addiu     $v1, $v1, 0x8
/* AA174 80113A74 AE030000 */  sw        $v1, 0x0($s0)
/* AA178 80113A78 08044EBF */  j         .L80113AFC
/* AA17C 80113A7C AC820004 */   sw       $v0, 0x4($a0)
.L80113A80:
/* AA180 80113A80 3C0AFCFF */  lui       $t2, (0xFCFFFFFF >> 16)
/* AA184 80113A84 354AFFFF */  ori       $t2, $t2, (0xFCFFFFFF & 0xFFFF)
/* AA188 80113A88 3C09FFFE */  lui       $t1, (0xFFFE793C >> 16)
/* AA18C 80113A8C 3529793C */  ori       $t1, $t1, (0xFFFE793C & 0xFFFF)
/* AA190 80113A90 3C08E300 */  lui       $t0, (0xE3001801 >> 16)
/* AA194 80113A94 35081801 */  ori       $t0, $t0, (0xE3001801 & 0xFFFF)
/* AA198 80113A98 3C07E300 */  lui       $a3, (0xE3001A01 >> 16)
/* AA19C 80113A9C 8E020000 */  lw        $v0, 0x0($s0)
/* AA1A0 80113AA0 34E71A01 */  ori       $a3, $a3, (0xE3001A01 & 0xFFFF)
/* AA1A4 80113AA4 0040302D */  daddu     $a2, $v0, $zero
/* AA1A8 80113AA8 24420008 */  addiu     $v0, $v0, 0x8
/* AA1AC 80113AAC 0040282D */  daddu     $a1, $v0, $zero
/* AA1B0 80113AB0 AE020000 */  sw        $v0, 0x0($s0)
/* AA1B4 80113AB4 24420008 */  addiu     $v0, $v0, 0x8
/* AA1B8 80113AB8 0040202D */  daddu     $a0, $v0, $zero
/* AA1BC 80113ABC AE020000 */  sw        $v0, 0x0($s0)
/* AA1C0 80113AC0 24420008 */  addiu     $v0, $v0, 0x8
/* AA1C4 80113AC4 AE020000 */  sw        $v0, 0x0($s0)
/* AA1C8 80113AC8 0040182D */  daddu     $v1, $v0, $zero
/* AA1CC 80113ACC 3C02D700 */  lui       $v0, (0xD7000000 >> 16)
/* AA1D0 80113AD0 ACC20000 */  sw        $v0, 0x0($a2)
/* AA1D4 80113AD4 0060102D */  daddu     $v0, $v1, $zero
/* AA1D8 80113AD8 24630008 */  addiu     $v1, $v1, 0x8
/* AA1DC 80113ADC ACC00004 */  sw        $zero, 0x4($a2)
/* AA1E0 80113AE0 ACAA0000 */  sw        $t2, 0x0($a1)
/* AA1E4 80113AE4 ACA90004 */  sw        $t1, 0x4($a1)
/* AA1E8 80113AE8 AC880000 */  sw        $t0, 0x0($a0)
/* AA1EC 80113AEC AC800004 */  sw        $zero, 0x4($a0)
/* AA1F0 80113AF0 AE030000 */  sw        $v1, 0x0($s0)
/* AA1F4 80113AF4 AC470000 */  sw        $a3, 0x0($v0)
/* AA1F8 80113AF8 AC400004 */  sw        $zero, 0x4($v0)
.L80113AFC:
/* AA1FC 80113AFC 8FAF0044 */  lw        $t7, 0x44($sp)
/* AA200 80113B00 15E00007 */  bnez      $t7, .L80113B20
/* AA204 80113B04 00141600 */   sll      $v0, $s4, 24
/* AA208 80113B08 00021E03 */  sra       $v1, $v0, 24
/* AA20C 80113B0C 2402000D */  addiu     $v0, $zero, 0xD
/* AA210 80113B10 10620003 */  beq       $v1, $v0, .L80113B20
/* AA214 80113B14 2402000F */   addiu    $v0, $zero, 0xF
/* AA218 80113B18 14620036 */  bne       $v1, $v0, .L80113BF4
/* AA21C 80113B1C 2663FFFF */   addiu    $v1, $s3, -0x1
.L80113B20:
/* AA220 80113B20 1240000D */  beqz      $s2, .L80113B58
/* AA224 80113B24 0000182D */   daddu    $v1, $zero, $zero
/* AA228 80113B28 9644002A */  lhu       $a0, 0x2A($s2)
/* AA22C 80113B2C 00041A82 */  srl       $v1, $a0, 10
/* AA230 80113B30 2C620003 */  sltiu     $v0, $v1, 0x3
/* AA234 80113B34 54400003 */  bnel      $v0, $zero, .L80113B44
/* AA238 80113B38 001E1840 */   sll      $v1, $fp, 1
/* AA23C 80113B3C 08044ED6 */  j         .L80113B58
/* AA240 80113B40 2463000A */   addiu    $v1, $v1, 0xA
.L80113B44:
/* AA244 80113B44 007E1821 */  addu      $v1, $v1, $fp
/* AA248 80113B48 00041202 */  srl       $v0, $a0, 8
/* AA24C 80113B4C 30420003 */  andi      $v0, $v0, 0x3
/* AA250 80113B50 24420001 */  addiu     $v0, $v0, 0x1
/* AA254 80113B54 00621821 */  addu      $v1, $v1, $v0
.L80113B58:
/* AA258 80113B58 00141600 */  sll       $v0, $s4, 24
/* AA25C 80113B5C 00022603 */  sra       $a0, $v0, 24
/* AA260 80113B60 2402000D */  addiu     $v0, $zero, 0xD
/* AA264 80113B64 10820011 */  beq       $a0, $v0, .L80113BAC
/* AA268 80113B68 2402000F */   addiu    $v0, $zero, 0xF
/* AA26C 80113B6C 1082000F */  beq       $a0, $v0, .L80113BAC
/* AA270 80113B70 00031080 */   sll      $v0, $v1, 2
/* AA274 80113B74 00431021 */  addu      $v0, $v0, $v1
/* AA278 80113B78 8FB50044 */  lw        $s5, 0x44($sp)
/* AA27C 80113B7C 8E030000 */  lw        $v1, 0x0($s0)
/* AA280 80113B80 00551021 */  addu      $v0, $v0, $s5
/* AA284 80113B84 000210C0 */  sll       $v0, $v0, 3
/* AA288 80113B88 3C198015 */  lui       $t9, %hi(D_8014B0B8)
/* AA28C 80113B8C 0322C821 */  addu      $t9, $t9, $v0
/* AA290 80113B90 8F39B0B8 */  lw        $t9, %lo(D_8014B0B8)($t9)
/* AA294 80113B94 3C0D8015 */  lui       $t5, %hi(D_8014B0BC)
/* AA298 80113B98 01A26821 */  addu      $t5, $t5, $v0
/* AA29C 80113B9C 8DADB0BC */  lw        $t5, %lo(D_8014B0BC)($t5)
/* AA2A0 80113BA0 AC790000 */  sw        $t9, 0x0($v1)
/* AA2A4 80113BA4 08044EF9 */  j         .L80113BE4
/* AA2A8 80113BA8 AC6D0004 */   sw       $t5, 0x4($v1)
.L80113BAC:
/* AA2AC 80113BAC 00031080 */  sll       $v0, $v1, 2
/* AA2B0 80113BB0 00431021 */  addu      $v0, $v0, $v1
/* AA2B4 80113BB4 8FB90044 */  lw        $t9, 0x44($sp)
/* AA2B8 80113BB8 8E030000 */  lw        $v1, 0x0($s0)
/* AA2BC 80113BBC 00591021 */  addu      $v0, $v0, $t9
/* AA2C0 80113BC0 000210C0 */  sll       $v0, $v0, 3
/* AA2C4 80113BC4 3C0D8015 */  lui       $t5, %hi(D_8014B400)
/* AA2C8 80113BC8 01A26821 */  addu      $t5, $t5, $v0
/* AA2CC 80113BCC 8DADB400 */  lw        $t5, %lo(D_8014B400)($t5)
/* AA2D0 80113BD0 3C0F8015 */  lui       $t7, %hi(D_8014B404)
/* AA2D4 80113BD4 01E27821 */  addu      $t7, $t7, $v0
/* AA2D8 80113BD8 8DEFB404 */  lw        $t7, %lo(D_8014B404)($t7)
/* AA2DC 80113BDC AC6D0000 */  sw        $t5, 0x0($v1)
/* AA2E0 80113BE0 AC6F0004 */  sw        $t7, 0x4($v1)
.L80113BE4:
/* AA2E4 80113BE4 8E020000 */  lw        $v0, 0x0($s0)
/* AA2E8 80113BE8 24420008 */  addiu     $v0, $v0, 0x8
/* AA2EC 80113BEC AE020000 */  sw        $v0, 0x0($s0)
/* AA2F0 80113BF0 2663FFFF */  addiu     $v1, $s3, -0x1
.L80113BF4:
/* AA2F4 80113BF4 2C62000B */  sltiu     $v0, $v1, 0xB
/* AA2F8 80113BF8 104002A5 */  beqz      $v0, .L80114690
/* AA2FC 80113BFC 00031080 */   sll      $v0, $v1, 2
/* AA300 80113C00 3C018015 */  lui       $at, %hi(jtbl_8014F9B0)
/* AA304 80113C04 00220821 */  addu      $at, $at, $v0
/* AA308 80113C08 8C22F9B0 */  lw        $v0, %lo(jtbl_8014F9B0)($at)
/* AA30C 80113C0C 00400008 */  jr        $v0
/* AA310 80113C10 00000000 */   nop
glabel .L80113C14
/* AA314 80113C14 2682FFFF */  addiu     $v0, $s4, -0x1
/* AA318 80113C18 00021600 */  sll       $v0, $v0, 24
/* AA31C 80113C1C 00021E03 */  sra       $v1, $v0, 24
/* AA320 80113C20 2C62002F */  sltiu     $v0, $v1, 0x2F
/* AA324 80113C24 1040002A */  beqz      $v0, .L80113CD0
/* AA328 80113C28 00031080 */   sll      $v0, $v1, 2
/* AA32C 80113C2C 3C018015 */  lui       $at, %hi(jtbl_8014F9E0)
/* AA330 80113C30 00220821 */  addu      $at, $at, $v0
/* AA334 80113C34 8C22F9E0 */  lw        $v0, %lo(jtbl_8014F9E0)($at)
/* AA338 80113C38 00400008 */  jr        $v0
/* AA33C 80113C3C 00000000 */   nop
glabel .L80113C40
/* AA340 80113C40 08045199 */  j         .L80114664
/* AA344 80113C44 24050001 */   addiu    $a1, $zero, 0x1
glabel .L80113C48
/* AA348 80113C48 08045199 */  j         .L80114664
/* AA34C 80113C4C 24050002 */   addiu    $a1, $zero, 0x2
glabel .L80113C50
/* AA350 80113C50 08045199 */  j         .L80114664
/* AA354 80113C54 24050003 */   addiu    $a1, $zero, 0x3
glabel .L80113C58
/* AA358 80113C58 08045199 */  j         .L80114664
/* AA35C 80113C5C 24050004 */   addiu    $a1, $zero, 0x4
glabel .L80113C60
/* AA360 80113C60 08045199 */  j         .L80114664
/* AA364 80113C64 24050006 */   addiu    $a1, $zero, 0x6
glabel .L80113C68
/* AA368 80113C68 08045199 */  j         .L80114664
/* AA36C 80113C6C 24050007 */   addiu    $a1, $zero, 0x7
glabel .L80113C70
/* AA370 80113C70 08045199 */  j         .L80114664
/* AA374 80113C74 24050009 */   addiu    $a1, $zero, 0x9
glabel .L80113C78
/* AA378 80113C78 08045199 */  j         .L80114664
/* AA37C 80113C7C 24050008 */   addiu    $a1, $zero, 0x8
glabel .L80113C80
/* AA380 80113C80 08045199 */  j         .L80114664
/* AA384 80113C84 2405000A */   addiu    $a1, $zero, 0xA
glabel .L80113C88
/* AA388 80113C88 08045199 */  j         .L80114664
/* AA38C 80113C8C 2405000B */   addiu    $a1, $zero, 0xB
glabel .L80113C90
/* AA390 80113C90 08045199 */  j         .L80114664
/* AA394 80113C94 2405000C */   addiu    $a1, $zero, 0xC
glabel .L80113C98
/* AA398 80113C98 08045199 */  j         .L80114664
/* AA39C 80113C9C 2405000D */   addiu    $a1, $zero, 0xD
glabel .L80113CA0
/* AA3A0 80113CA0 08045199 */  j         .L80114664
/* AA3A4 80113CA4 2405000E */   addiu    $a1, $zero, 0xE
glabel .L80113CA8
/* AA3A8 80113CA8 08045199 */  j         .L80114664
/* AA3AC 80113CAC 2405002E */   addiu    $a1, $zero, 0x2E
glabel .L80113CB0
/* AA3B0 80113CB0 08045199 */  j         .L80114664
/* AA3B4 80113CB4 2405002F */   addiu    $a1, $zero, 0x2F
glabel .L80113CB8
/* AA3B8 80113CB8 08045199 */  j         .L80114664
/* AA3BC 80113CBC 24050030 */   addiu    $a1, $zero, 0x30
glabel .L80113CC0
/* AA3C0 80113CC0 08045199 */  j         .L80114664
/* AA3C4 80113CC4 24050037 */   addiu    $a1, $zero, 0x37
glabel .L80113CC8
/* AA3C8 80113CC8 08045199 */  j         .L80114664
/* AA3CC 80113CCC 24050038 */   addiu    $a1, $zero, 0x38
glabel .L80113CD0
/* AA3D0 80113CD0 08045199 */  j         .L80114664
/* AA3D4 80113CD4 0000282D */   daddu    $a1, $zero, $zero
glabel .L80113CD8
/* AA3D8 80113CD8 2682FFFF */  addiu     $v0, $s4, -0x1
/* AA3DC 80113CDC 00021600 */  sll       $v0, $v0, 24
/* AA3E0 80113CE0 00021E03 */  sra       $v1, $v0, 24
/* AA3E4 80113CE4 2C62002F */  sltiu     $v0, $v1, 0x2F
/* AA3E8 80113CE8 10400028 */  beqz      $v0, .L80113D8C
/* AA3EC 80113CEC 00031080 */   sll      $v0, $v1, 2
/* AA3F0 80113CF0 3C018015 */  lui       $at, %hi(jtbl_8014FAA0)
/* AA3F4 80113CF4 00220821 */  addu      $at, $at, $v0
/* AA3F8 80113CF8 8C22FAA0 */  lw        $v0, %lo(jtbl_8014FAA0)($at)
/* AA3FC 80113CFC 00400008 */  jr        $v0
/* AA400 80113D00 00000000 */   nop
glabel .L80113D04
/* AA404 80113D04 08045199 */  j         .L80114664
/* AA408 80113D08 24050011 */   addiu    $a1, $zero, 0x11
glabel .L80113D0C
/* AA40C 80113D0C 08045199 */  j         .L80114664
/* AA410 80113D10 24050012 */   addiu    $a1, $zero, 0x12
glabel .L80113D14
/* AA414 80113D14 08045199 */  j         .L80114664
/* AA418 80113D18 24050013 */   addiu    $a1, $zero, 0x13
glabel .L80113D1C
/* AA41C 80113D1C 08045199 */  j         .L80114664
/* AA420 80113D20 24050014 */   addiu    $a1, $zero, 0x14
glabel .L80113D24
/* AA424 80113D24 08045199 */  j         .L80114664
/* AA428 80113D28 24050016 */   addiu    $a1, $zero, 0x16
glabel .L80113D2C
/* AA42C 80113D2C 08045199 */  j         .L80114664
/* AA430 80113D30 24050017 */   addiu    $a1, $zero, 0x17
glabel .L80113D34
/* AA434 80113D34 08045199 */  j         .L80114664
/* AA438 80113D38 24050018 */   addiu    $a1, $zero, 0x18
glabel .L80113D3C
/* AA43C 80113D3C 08045199 */  j         .L80114664
/* AA440 80113D40 24050019 */   addiu    $a1, $zero, 0x19
glabel .L80113D44
/* AA444 80113D44 08045199 */  j         .L80114664
/* AA448 80113D48 2405001A */   addiu    $a1, $zero, 0x1A
glabel .L80113D4C
/* AA44C 80113D4C 08045199 */  j         .L80114664
/* AA450 80113D50 2405001B */   addiu    $a1, $zero, 0x1B
glabel .L80113D54
/* AA454 80113D54 08045199 */  j         .L80114664
/* AA458 80113D58 2405001C */   addiu    $a1, $zero, 0x1C
glabel .L80113D5C
/* AA45C 80113D5C 08045199 */  j         .L80114664
/* AA460 80113D60 2405001D */   addiu    $a1, $zero, 0x1D
glabel .L80113D64
/* AA464 80113D64 08045199 */  j         .L80114664
/* AA468 80113D68 24050031 */   addiu    $a1, $zero, 0x31
glabel .L80113D6C
/* AA46C 80113D6C 08045199 */  j         .L80114664
/* AA470 80113D70 24050032 */   addiu    $a1, $zero, 0x32
glabel .L80113D74
/* AA474 80113D74 08045199 */  j         .L80114664
/* AA478 80113D78 24050033 */   addiu    $a1, $zero, 0x33
glabel .L80113D7C
/* AA47C 80113D7C 08045199 */  j         .L80114664
/* AA480 80113D80 24050039 */   addiu    $a1, $zero, 0x39
glabel .L80113D84
/* AA484 80113D84 08045199 */  j         .L80114664
/* AA488 80113D88 2405003A */   addiu    $a1, $zero, 0x3A
glabel .L80113D8C
/* AA48C 80113D8C 08045199 */  j         .L80114664
/* AA490 80113D90 24050010 */   addiu    $a1, $zero, 0x10
glabel .L80113D94
/* AA494 80113D94 2682FFFF */  addiu     $v0, $s4, -0x1
/* AA498 80113D98 00021600 */  sll       $v0, $v0, 24
/* AA49C 80113D9C 00021E03 */  sra       $v1, $v0, 24
/* AA4A0 80113DA0 2C62002F */  sltiu     $v0, $v1, 0x2F
/* AA4A4 80113DA4 10400028 */  beqz      $v0, .L80113E48
/* AA4A8 80113DA8 00031080 */   sll      $v0, $v1, 2
/* AA4AC 80113DAC 3C018015 */  lui       $at, %hi(jtbl_8014FB60)
/* AA4B0 80113DB0 00220821 */  addu      $at, $at, $v0
/* AA4B4 80113DB4 8C22FB60 */  lw        $v0, %lo(jtbl_8014FB60)($at)
/* AA4B8 80113DB8 00400008 */  jr        $v0
/* AA4BC 80113DBC 00000000 */   nop
glabel .L80113DC0
/* AA4C0 80113DC0 08044F93 */  j         .L80113E4C
/* AA4C4 80113DC4 24050020 */   addiu    $a1, $zero, 0x20
glabel .L80113DC8
/* AA4C8 80113DC8 08044F93 */  j         .L80113E4C
/* AA4CC 80113DCC 24050021 */   addiu    $a1, $zero, 0x21
glabel .L80113DD0
/* AA4D0 80113DD0 08044F93 */  j         .L80113E4C
/* AA4D4 80113DD4 24050022 */   addiu    $a1, $zero, 0x22
glabel .L80113DD8
/* AA4D8 80113DD8 08044F93 */  j         .L80113E4C
/* AA4DC 80113DDC 24050023 */   addiu    $a1, $zero, 0x23
glabel .L80113DE0
/* AA4E0 80113DE0 08044F93 */  j         .L80113E4C
/* AA4E4 80113DE4 24050025 */   addiu    $a1, $zero, 0x25
glabel .L80113DE8
/* AA4E8 80113DE8 08044F93 */  j         .L80113E4C
/* AA4EC 80113DEC 24050026 */   addiu    $a1, $zero, 0x26
glabel .L80113DF0
/* AA4F0 80113DF0 08044F93 */  j         .L80113E4C
/* AA4F4 80113DF4 24050027 */   addiu    $a1, $zero, 0x27
glabel .L80113DF8
/* AA4F8 80113DF8 08044F93 */  j         .L80113E4C
/* AA4FC 80113DFC 24050028 */   addiu    $a1, $zero, 0x28
glabel .L80113E00
/* AA500 80113E00 08044F93 */  j         .L80113E4C
/* AA504 80113E04 24050029 */   addiu    $a1, $zero, 0x29
glabel .L80113E08
/* AA508 80113E08 08044F93 */  j         .L80113E4C
/* AA50C 80113E0C 2405002A */   addiu    $a1, $zero, 0x2A
glabel .L80113E10
/* AA510 80113E10 08044F93 */  j         .L80113E4C
/* AA514 80113E14 2405002B */   addiu    $a1, $zero, 0x2B
glabel .L80113E18
/* AA518 80113E18 08044F93 */  j         .L80113E4C
/* AA51C 80113E1C 2405002C */   addiu    $a1, $zero, 0x2C
glabel .L80113E20
/* AA520 80113E20 08044F93 */  j         .L80113E4C
/* AA524 80113E24 24050034 */   addiu    $a1, $zero, 0x34
glabel .L80113E28
/* AA528 80113E28 08044F93 */  j         .L80113E4C
/* AA52C 80113E2C 24050035 */   addiu    $a1, $zero, 0x35
glabel .L80113E30
/* AA530 80113E30 08044F93 */  j         .L80113E4C
/* AA534 80113E34 24050036 */   addiu    $a1, $zero, 0x36
glabel .L80113E38
/* AA538 80113E38 08044F93 */  j         .L80113E4C
/* AA53C 80113E3C 2405003B */   addiu    $a1, $zero, 0x3B
glabel .L80113E40
/* AA540 80113E40 08044F93 */  j         .L80113E4C
/* AA544 80113E44 2405003C */   addiu    $a1, $zero, 0x3C
glabel .L80113E48
/* AA548 80113E48 2405001F */  addiu     $a1, $zero, 0x1F
.L80113E4C:
/* AA54C 80113E4C 3C03DE00 */  lui       $v1, (0xDE000000 >> 16)
/* AA550 80113E50 8E020000 */  lw        $v0, 0x0($s0)
/* AA554 80113E54 3C060001 */  lui       $a2, (0x1F400 >> 16)
/* AA558 80113E58 0040202D */  daddu     $a0, $v0, $zero
/* AA55C 80113E5C 24420008 */  addiu     $v0, $v0, 0x8
/* AA560 80113E60 0040482D */  daddu     $t1, $v0, $zero
/* AA564 80113E64 AE020000 */  sw        $v0, 0x0($s0)
/* AA568 80113E68 24420008 */  addiu     $v0, $v0, 0x8
/* AA56C 80113E6C AC830000 */  sw        $v1, 0x0($a0)
/* AA570 80113E70 AE020000 */  sw        $v0, 0x0($s0)
/* AA574 80113E74 0040382D */  daddu     $a3, $v0, $zero
/* AA578 80113E78 00051080 */  sll       $v0, $a1, 2
/* AA57C 80113E7C 3C018015 */  lui       $at, %hi(D_8014AFC0)
/* AA580 80113E80 00220821 */  addu      $at, $at, $v0
/* AA584 80113E84 8C22AFC0 */  lw        $v0, %lo(D_8014AFC0)($at)
/* AA588 80113E88 3C088015 */  lui       $t0, %hi(gCurrentFogSettings)
/* AA58C 80113E8C 25083264 */  addiu     $t0, $t0, %lo(gCurrentFogSettings)
/* AA590 80113E90 AC820004 */  sw        $v0, 0x4($a0)
/* AA594 80113E94 8D050000 */  lw        $a1, 0x0($t0)
/* AA598 80113E98 3C02F800 */  lui       $v0, (0xF8000000 >> 16)
/* AA59C 80113E9C AD220000 */  sw        $v0, 0x0($t1)
/* AA5A0 80113EA0 90A20007 */  lbu       $v0, 0x7($a1)
/* AA5A4 80113EA4 90A3000B */  lbu       $v1, 0xB($a1)
/* AA5A8 80113EA8 90A4000F */  lbu       $a0, 0xF($a1)
/* AA5AC 80113EAC 00021600 */  sll       $v0, $v0, 24
/* AA5B0 80113EB0 00031C00 */  sll       $v1, $v1, 16
/* AA5B4 80113EB4 00431025 */  or        $v0, $v0, $v1
/* AA5B8 80113EB8 00042200 */  sll       $a0, $a0, 8
/* AA5BC 80113EBC 00441025 */  or        $v0, $v0, $a0
/* AA5C0 80113EC0 90A30013 */  lbu       $v1, 0x13($a1)
/* AA5C4 80113EC4 00E0282D */  daddu     $a1, $a3, $zero
/* AA5C8 80113EC8 00431025 */  or        $v0, $v0, $v1
/* AA5CC 80113ECC AD220004 */  sw        $v0, 0x4($t1)
/* AA5D0 80113ED0 8D040000 */  lw        $a0, 0x0($t0)
/* AA5D4 80113ED4 3C02DB08 */  lui       $v0, (0xDB080000 >> 16)
/* AA5D8 80113ED8 ACA20000 */  sw        $v0, 0x0($a1)
/* AA5DC 80113EDC 8C830018 */  lw        $v1, 0x18($a0)
/* AA5E0 80113EE0 8C840014 */  lw        $a0, 0x14($a0)
/* AA5E4 80113EE4 34C6F400 */  ori       $a2, $a2, (0x1F400 & 0xFFFF)
/* AA5E8 80113EE8 00641823 */  subu      $v1, $v1, $a0
/* AA5EC 80113EEC 14600002 */  bnez      $v1, .L80113EF8
/* AA5F0 80113EF0 00C3001A */   div      $zero, $a2, $v1
/* AA5F4 80113EF4 0007000D */  break     7
.L80113EF8:
/* AA5F8 80113EF8 2401FFFF */  addiu     $at, $zero, -0x1
/* AA5FC 80113EFC 14610004 */  bne       $v1, $at, .L80113F10
/* AA600 80113F00 3C018000 */   lui      $at, (0x80000000 >> 16)
/* AA604 80113F04 14C10002 */  bne       $a2, $at, .L80113F10
/* AA608 80113F08 00000000 */   nop
/* AA60C 80113F0C 0006000D */  break     6
.L80113F10:
/* AA610 80113F10 00003012 */  mflo      $a2
/* AA614 80113F14 240201F4 */  addiu     $v0, $zero, 0x1F4
/* AA618 80113F18 00441023 */  subu      $v0, $v0, $a0
/* AA61C 80113F1C 00021200 */  sll       $v0, $v0, 8
/* AA620 80113F20 14600002 */  bnez      $v1, .L80113F2C
/* AA624 80113F24 0043001A */   div      $zero, $v0, $v1
/* AA628 80113F28 0007000D */  break     7
.L80113F2C:
/* AA62C 80113F2C 2401FFFF */  addiu     $at, $zero, -0x1
/* AA630 80113F30 14610004 */  bne       $v1, $at, .L80113F44
/* AA634 80113F34 3C018000 */   lui      $at, (0x80000000 >> 16)
/* AA638 80113F38 14410002 */  bne       $v0, $at, .L80113F44
/* AA63C 80113F3C 00000000 */   nop
/* AA640 80113F40 0006000D */  break     6
.L80113F44:
/* AA644 80113F44 00001012 */  mflo      $v0
/* AA648 80113F48 24E70008 */  addiu     $a3, $a3, 0x8
/* AA64C 80113F4C AE070000 */  sw        $a3, 0x0($s0)
/* AA650 80113F50 00063400 */  sll       $a2, $a2, 16
/* AA654 80113F54 3042FFFF */  andi      $v0, $v0, 0xFFFF
/* AA658 80113F58 00C23025 */  or        $a2, $a2, $v0
/* AA65C 80113F5C 080451A4 */  j         .L80114690
/* AA660 80113F60 ACA60004 */   sw       $a2, 0x4($a1)
glabel .L80113F64
/* AA664 80113F64 3C038015 */  lui       $v1, %hi(mdl_bgMultiplyColorA)
/* AA668 80113F68 9063B74C */  lbu       $v1, %lo(mdl_bgMultiplyColorA)($v1)
/* AA66C 80113F6C 240200FF */  addiu     $v0, $zero, 0xFF
/* AA670 80113F70 106202ED */  beq       $v1, $v0, .L80114B28
/* AA674 80113F74 3C02DE00 */   lui      $v0, (0xDE000000 >> 16)
/* AA678 80113F78 8E030000 */  lw        $v1, 0x0($s0)
/* AA67C 80113F7C 0060202D */  daddu     $a0, $v1, $zero
/* AA680 80113F80 AC820000 */  sw        $v0, 0x0($a0)
/* AA684 80113F84 3C028015 */  lui       $v0, %hi(D_8014B000)
/* AA688 80113F88 8C42B000 */  lw        $v0, %lo(D_8014B000)($v0)
/* AA68C 80113F8C 24630008 */  addiu     $v1, $v1, 0x8
/* AA690 80113F90 AE030000 */  sw        $v1, 0x0($s0)
/* AA694 80113F94 AC820004 */  sw        $v0, 0x4($a0)
/* AA698 80113F98 2682FFFF */  addiu     $v0, $s4, -0x1
/* AA69C 80113F9C 00021600 */  sll       $v0, $v0, 24
/* AA6A0 80113FA0 00021E03 */  sra       $v1, $v0, 24
/* AA6A4 80113FA4 2C62002F */  sltiu     $v0, $v1, 0x2F
/* AA6A8 80113FA8 104000A2 */  beqz      $v0, .L80114234
/* AA6AC 80113FAC 00031080 */   sll      $v0, $v1, 2
/* AA6B0 80113FB0 3C018015 */  lui       $at, %hi(jtbl_8014FC20)
/* AA6B4 80113FB4 00220821 */  addu      $at, $at, $v0
/* AA6B8 80113FB8 8C22FC20 */  lw        $v0, %lo(jtbl_8014FC20)($at)
/* AA6BC 80113FBC 00400008 */  jr        $v0
/* AA6C0 80113FC0 00000000 */   nop
glabel .L80113FC4
/* AA6C4 80113FC4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA6C8 80113FC8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA6CC 80113FCC 3C058411 */  lui       $a1, (0x84112078 >> 16)
/* AA6D0 80113FD0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA6D4 80113FD4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA6D8 80113FD8 8C820000 */  lw        $v0, 0x0($a0)
/* AA6DC 80113FDC 08045088 */  j         .L80114220
/* AA6E0 80113FE0 34A52078 */   ori      $a1, $a1, (0x84112078 & 0xFFFF)
glabel .L80113FE4
/* AA6E4 80113FE4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA6E8 80113FE8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA6EC 80113FEC 3C058411 */  lui       $a1, (0x84112230 >> 16)
/* AA6F0 80113FF0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA6F4 80113FF4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA6F8 80113FF8 8C820000 */  lw        $v0, 0x0($a0)
/* AA6FC 80113FFC 08045088 */  j         .L80114220
/* AA700 80114000 34A52230 */   ori      $a1, $a1, (0x84112230 & 0xFFFF)
glabel .L80114004
/* AA704 80114004 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA708 80114008 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA70C 8011400C 3C058411 */  lui       $a1, (0x84112D58 >> 16)
/* AA710 80114010 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA714 80114014 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA718 80114018 8C820000 */  lw        $v0, 0x0($a0)
/* AA71C 8011401C 08045088 */  j         .L80114220
/* AA720 80114020 34A52D58 */   ori      $a1, $a1, (0x84112D58 & 0xFFFF)
glabel .L80114024
/* AA724 80114024 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA728 80114028 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA72C 8011402C 3C058411 */  lui       $a1, (0x84112E10 >> 16)
/* AA730 80114030 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA734 80114034 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA738 80114038 8C820000 */  lw        $v0, 0x0($a0)
/* AA73C 8011403C 08045088 */  j         .L80114220
/* AA740 80114040 34A52E10 */   ori      $a1, $a1, (0x84112E10 & 0xFFFF)
glabel .L80114044
/* AA744 80114044 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA748 80114048 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA74C 8011404C 3C058411 */  lui       $a1, (0x84112478 >> 16)
/* AA750 80114050 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA754 80114054 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA758 80114058 8C820000 */  lw        $v0, 0x0($a0)
/* AA75C 8011405C 08045088 */  j         .L80114220
/* AA760 80114060 34A52478 */   ori      $a1, $a1, (0x84112478 & 0xFFFF)
glabel .L80114064
/* AA764 80114064 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA768 80114068 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA76C 8011406C 3C058411 */  lui       $a1, (0x84113078 >> 16)
/* AA770 80114070 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA774 80114074 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA778 80114078 8C820000 */  lw        $v0, 0x0($a0)
/* AA77C 8011407C 08045088 */  j         .L80114220
/* AA780 80114080 34A53078 */   ori      $a1, $a1, (0x84113078 & 0xFFFF)
glabel .L80114084
/* AA784 80114084 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA788 80114088 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA78C 8011408C 3C058411 */  lui       $a1, (0x84113078 >> 16)
/* AA790 80114090 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA794 80114094 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA798 80114098 8C820000 */  lw        $v0, 0x0($a0)
/* AA79C 8011409C 08045088 */  j         .L80114220
/* AA7A0 801140A0 34A53078 */   ori      $a1, $a1, (0x84113078 & 0xFFFF)
glabel .L801140A4
/* AA7A4 801140A4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA7A8 801140A8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA7AC 801140AC 3C058410 */  lui       $a1, (0x841049D8 >> 16)
/* AA7B0 801140B0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA7B4 801140B4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA7B8 801140B8 8C820000 */  lw        $v0, 0x0($a0)
/* AA7BC 801140BC 08045088 */  j         .L80114220
/* AA7C0 801140C0 34A549D8 */   ori      $a1, $a1, (0x841049D8 & 0xFFFF)
glabel .L801140C4
/* AA7C4 801140C4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA7C8 801140C8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA7CC 801140CC 3C058410 */  lui       $a1, (0x841049D8 >> 16)
/* AA7D0 801140D0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA7D4 801140D4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA7D8 801140D8 8C820000 */  lw        $v0, 0x0($a0)
/* AA7DC 801140DC 08045088 */  j         .L80114220
/* AA7E0 801140E0 34A549D8 */   ori      $a1, $a1, (0x841049D8 & 0xFFFF)
glabel .L801140E4
/* AA7E4 801140E4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA7E8 801140E8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA7EC 801140EC 3C058410 */  lui       $a1, (0x841049D8 >> 16)
/* AA7F0 801140F0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA7F4 801140F4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA7F8 801140F8 8C820000 */  lw        $v0, 0x0($a0)
/* AA7FC 801140FC 08045088 */  j         .L80114220
/* AA800 80114100 34A549D8 */   ori      $a1, $a1, (0x841049D8 & 0xFFFF)
glabel .L80114104
/* AA804 80114104 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA808 80114108 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA80C 8011410C 3C058410 */  lui       $a1, (0x84104A50 >> 16)
/* AA810 80114110 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA814 80114114 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA818 80114118 8C820000 */  lw        $v0, 0x0($a0)
/* AA81C 8011411C 08045088 */  j         .L80114220
/* AA820 80114120 34A54A50 */   ori      $a1, $a1, (0x84104A50 & 0xFFFF)
glabel .L80114124
/* AA824 80114124 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA828 80114128 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA82C 8011412C 3C058410 */  lui       $a1, (0x84104DD8 >> 16)
/* AA830 80114130 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA834 80114134 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA838 80114138 8C820000 */  lw        $v0, 0x0($a0)
/* AA83C 8011413C 08045088 */  j         .L80114220
/* AA840 80114140 34A54DD8 */   ori      $a1, $a1, (0x84104DD8 & 0xFFFF)
glabel .L80114144
/* AA844 80114144 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA848 80114148 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA84C 8011414C 3C058410 */  lui       $a1, (0x84104DD8 >> 16)
/* AA850 80114150 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA854 80114154 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA858 80114158 8C820000 */  lw        $v0, 0x0($a0)
/* AA85C 8011415C 08045088 */  j         .L80114220
/* AA860 80114160 34A54DD8 */   ori      $a1, $a1, (0x84104DD8 & 0xFFFF)
glabel .L80114164
/* AA864 80114164 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA868 80114168 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA86C 8011416C 3C058410 */  lui       $a1, (0x841045D8 >> 16)
/* AA870 80114170 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA874 80114174 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA878 80114178 8C820000 */  lw        $v0, 0x0($a0)
/* AA87C 8011417C 08045088 */  j         .L80114220
/* AA880 80114180 34A545D8 */   ori      $a1, $a1, (0x841045D8 & 0xFFFF)
glabel .L80114184
/* AA884 80114184 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA888 80114188 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA88C 8011418C 3C058411 */  lui       $a1, (0x84112048 >> 16)
/* AA890 80114190 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA894 80114194 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA898 80114198 8C820000 */  lw        $v0, 0x0($a0)
/* AA89C 8011419C 08045088 */  j         .L80114220
/* AA8A0 801141A0 34A52048 */   ori      $a1, $a1, (0x84112048 & 0xFFFF)
glabel .L801141A4
/* AA8A4 801141A4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA8A8 801141A8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA8AC 801141AC 3C058411 */  lui       $a1, (0x84113048 >> 16)
/* AA8B0 801141B0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA8B4 801141B4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA8B8 801141B8 8C820000 */  lw        $v0, 0x0($a0)
/* AA8BC 801141BC 08045088 */  j         .L80114220
/* AA8C0 801141C0 34A53048 */   ori      $a1, $a1, (0x84113048 & 0xFFFF)
glabel .L801141C4
/* AA8C4 801141C4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA8C8 801141C8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA8CC 801141CC 3C058410 */  lui       $a1, (0x841041C8 >> 16)
/* AA8D0 801141D0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA8D4 801141D4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA8D8 801141D8 8C820000 */  lw        $v0, 0x0($a0)
/* AA8DC 801141DC 08045088 */  j         .L80114220
/* AA8E0 801141E0 34A541C8 */   ori      $a1, $a1, (0x841041C8 & 0xFFFF)
glabel .L801141E4
/* AA8E4 801141E4 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA8E8 801141E8 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA8EC 801141EC 3C058410 */  lui       $a1, (0x84104B50 >> 16)
/* AA8F0 801141F0 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA8F4 801141F4 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA8F8 801141F8 8C820000 */  lw        $v0, 0x0($a0)
/* AA8FC 801141FC 08045088 */  j         .L80114220
/* AA900 80114200 34A54B50 */   ori      $a1, $a1, (0x84104B50 & 0xFFFF)
glabel .L80114204
/* AA904 80114204 3C06E200 */  lui       $a2, (0xE200001C >> 16)
/* AA908 80114208 34C6001C */  ori       $a2, $a2, (0xE200001C & 0xFFFF)
/* AA90C 8011420C 3C058410 */  lui       $a1, (0x84104340 >> 16)
/* AA910 80114210 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AA914 80114214 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AA918 80114218 8C820000 */  lw        $v0, 0x0($a0)
/* AA91C 8011421C 34A54340 */  ori       $a1, $a1, (0x84104340 & 0xFFFF)
.L80114220:
/* AA920 80114220 0040182D */  daddu     $v1, $v0, $zero
/* AA924 80114224 24420008 */  addiu     $v0, $v0, 0x8
/* AA928 80114228 AC820000 */  sw        $v0, 0x0($a0)
/* AA92C 8011422C AC660000 */  sw        $a2, 0x0($v1)
/* AA930 80114230 AC650004 */  sw        $a1, 0x4($v1)
glabel .L80114234
/* AA934 80114234 3C0910AA */  lui       $t1, (0x10AAF056 >> 16)
/* AA938 80114238 8E020000 */  lw        $v0, 0x0($s0)
/* AA93C 8011423C 3529F056 */  ori       $t1, $t1, (0x10AAF056 & 0xFFFF)
/* AA940 80114240 0040382D */  daddu     $a3, $v0, $zero
/* AA944 80114244 24420008 */  addiu     $v0, $v0, 0x8
/* AA948 80114248 AE020000 */  sw        $v0, 0x0($s0)
/* AA94C 8011424C 0040282D */  daddu     $a1, $v0, $zero
/* AA950 80114250 3C02F800 */  lui       $v0, (0xF8000000 >> 16)
/* AA954 80114254 3C038015 */  lui       $v1, %hi(gCurrentFogSettings)
/* AA958 80114258 8C633264 */  lw        $v1, %lo(gCurrentFogSettings)($v1)
/* AA95C 8011425C 00A0402D */  daddu     $t0, $a1, $zero
/* AA960 80114260 ACE20000 */  sw        $v0, 0x0($a3)
/* AA964 80114264 90620007 */  lbu       $v0, 0x7($v1)
/* AA968 80114268 9064000B */  lbu       $a0, 0xB($v1)
/* AA96C 8011426C 9066000F */  lbu       $a2, 0xF($v1)
/* AA970 80114270 24A50008 */  addiu     $a1, $a1, 0x8
/* AA974 80114274 AE050000 */  sw        $a1, 0x0($s0)
/* AA978 80114278 3C038015 */  lui       $v1, %hi(mdl_bgMultiplyColorA)
/* AA97C 8011427C 9063B74C */  lbu       $v1, %lo(mdl_bgMultiplyColorA)($v1)
/* AA980 80114280 00021600 */  sll       $v0, $v0, 24
/* AA984 80114284 00042400 */  sll       $a0, $a0, 16
/* AA988 80114288 00441025 */  or        $v0, $v0, $a0
/* AA98C 8011428C 00063200 */  sll       $a2, $a2, 8
/* AA990 80114290 00461025 */  or        $v0, $v0, $a2
/* AA994 80114294 00431025 */  or        $v0, $v0, $v1
/* AA998 80114298 ACE20004 */  sw        $v0, 0x4($a3)
/* AA99C 8011429C 3C02F900 */  lui       $v0, (0xF9000000 >> 16)
/* AA9A0 801142A0 AD020000 */  sw        $v0, 0x0($t0)
/* AA9A4 801142A4 3C028015 */  lui       $v0, %hi(mdl_bgMultiplyColorR)
/* AA9A8 801142A8 9042B74D */  lbu       $v0, %lo(mdl_bgMultiplyColorR)($v0)
/* AA9AC 801142AC 3C048015 */  lui       $a0, %hi(mdl_bgMultiplyColorG)
/* AA9B0 801142B0 9084B74E */  lbu       $a0, %lo(mdl_bgMultiplyColorG)($a0)
/* AA9B4 801142B4 3C038015 */  lui       $v1, %hi(mdl_bgMultiplyColorB)
/* AA9B8 801142B8 9063B74F */  lbu       $v1, %lo(mdl_bgMultiplyColorB)($v1)
/* AA9BC 801142BC 00021600 */  sll       $v0, $v0, 24
/* AA9C0 801142C0 00042400 */  sll       $a0, $a0, 16
/* AA9C4 801142C4 00441025 */  or        $v0, $v0, $a0
/* AA9C8 801142C8 00031A00 */  sll       $v1, $v1, 8
/* AA9CC 801142CC 00431025 */  or        $v0, $v0, $v1
/* AA9D0 801142D0 344200FF */  ori       $v0, $v0, 0xFF
/* AA9D4 801142D4 00A0182D */  daddu     $v1, $a1, $zero
/* AA9D8 801142D8 24A50008 */  addiu     $a1, $a1, 0x8
/* AA9DC 801142DC AD020004 */  sw        $v0, 0x4($t0)
/* AA9E0 801142E0 3C02DB08 */  lui       $v0, (0xDB080000 >> 16)
/* AA9E4 801142E4 AE050000 */  sw        $a1, 0x0($s0)
/* AA9E8 801142E8 AC620000 */  sw        $v0, 0x0($v1)
/* AA9EC 801142EC 080451A4 */  j         .L80114690
/* AA9F0 801142F0 AC690004 */   sw       $t1, 0x4($v1)
glabel .L801142F4
/* AA9F4 801142F4 2682FFFF */  addiu     $v0, $s4, -0x1
/* AA9F8 801142F8 00021600 */  sll       $v0, $v0, 24
/* AA9FC 801142FC 00021E03 */  sra       $v1, $v0, 24
/* AAA00 80114300 2C62002F */  sltiu     $v0, $v1, 0x2F
/* AAA04 80114304 10400028 */  beqz      $v0, .L801143A8
/* AAA08 80114308 00031080 */   sll      $v0, $v1, 2
/* AAA0C 8011430C 3C018015 */  lui       $at, %hi(jtbl_8014FCE0)
/* AAA10 80114310 00220821 */  addu      $at, $at, $v0
/* AAA14 80114314 8C22FCE0 */  lw        $v0, %lo(jtbl_8014FCE0)($at)
/* AAA18 80114318 00400008 */  jr        $v0
/* AAA1C 8011431C 00000000 */   nop
glabel .L80114320
/* AAA20 80114320 080450EB */  j         .L801143AC
/* AAA24 80114324 24050020 */   addiu    $a1, $zero, 0x20
glabel .L80114328
/* AAA28 80114328 080450EB */  j         .L801143AC
/* AAA2C 8011432C 24050021 */   addiu    $a1, $zero, 0x21
glabel .L80114330
/* AAA30 80114330 080450EB */  j         .L801143AC
/* AAA34 80114334 24050022 */   addiu    $a1, $zero, 0x22
glabel .L80114338
/* AAA38 80114338 080450EB */  j         .L801143AC
/* AAA3C 8011433C 24050023 */   addiu    $a1, $zero, 0x23
glabel .L80114340
/* AAA40 80114340 080450EB */  j         .L801143AC
/* AAA44 80114344 24050025 */   addiu    $a1, $zero, 0x25
glabel .L80114348
/* AAA48 80114348 080450EB */  j         .L801143AC
/* AAA4C 8011434C 24050026 */   addiu    $a1, $zero, 0x26
glabel .L80114350
/* AAA50 80114350 080450EB */  j         .L801143AC
/* AAA54 80114354 24050027 */   addiu    $a1, $zero, 0x27
glabel .L80114358
/* AAA58 80114358 080450EB */  j         .L801143AC
/* AAA5C 8011435C 24050028 */   addiu    $a1, $zero, 0x28
glabel .L80114360
/* AAA60 80114360 080450EB */  j         .L801143AC
/* AAA64 80114364 24050029 */   addiu    $a1, $zero, 0x29
glabel .L80114368
/* AAA68 80114368 080450EB */  j         .L801143AC
/* AAA6C 8011436C 2405002A */   addiu    $a1, $zero, 0x2A
glabel .L80114370
/* AAA70 80114370 080450EB */  j         .L801143AC
/* AAA74 80114374 2405002B */   addiu    $a1, $zero, 0x2B
glabel .L80114378
/* AAA78 80114378 080450EB */  j         .L801143AC
/* AAA7C 8011437C 2405002C */   addiu    $a1, $zero, 0x2C
glabel .L80114380
/* AAA80 80114380 080450EB */  j         .L801143AC
/* AAA84 80114384 24050034 */   addiu    $a1, $zero, 0x34
glabel .L80114388
/* AAA88 80114388 080450EB */  j         .L801143AC
/* AAA8C 8011438C 24050035 */   addiu    $a1, $zero, 0x35
glabel .L80114390
/* AAA90 80114390 080450EB */  j         .L801143AC
/* AAA94 80114394 24050036 */   addiu    $a1, $zero, 0x36
glabel .L80114398
/* AAA98 80114398 080450EB */  j         .L801143AC
/* AAA9C 8011439C 2405003B */   addiu    $a1, $zero, 0x3B
glabel .L801143A0
/* AAAA0 801143A0 080450EB */  j         .L801143AC
/* AAAA4 801143A4 2405003C */   addiu    $a1, $zero, 0x3C
glabel .L801143A8
/* AAAA8 801143A8 2405001F */  addiu     $a1, $zero, 0x1F
.L801143AC:
/* AAAAC 801143AC 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* AAAB0 801143B0 8E0B0000 */  lw        $t3, 0x0($s0)
/* AAAB4 801143B4 3C0A8015 */  lui       $t2, %hi(gCurrentFogSettings)
/* AAAB8 801143B8 8D4A3264 */  lw        $t2, %lo(gCurrentFogSettings)($t2)
/* AAABC 801143BC 0160182D */  daddu     $v1, $t3, $zero
/* AAAC0 801143C0 AC620000 */  sw        $v0, 0x0($v1)
/* AAAC4 801143C4 00051080 */  sll       $v0, $a1, 2
/* AAAC8 801143C8 3C018015 */  lui       $at, %hi(D_8014AFC0)
/* AAACC 801143CC 00220821 */  addu      $at, $at, $v0
/* AAAD0 801143D0 8C22AFC0 */  lw        $v0, %lo(D_8014AFC0)($at)
/* AAAD4 801143D4 3C058015 */  lui       $a1, %hi(mdl_bgMultiplyColorA)
/* AAAD8 801143D8 90A5B74C */  lbu       $a1, %lo(mdl_bgMultiplyColorA)($a1)
/* AAADC 801143DC 240700FF */  addiu     $a3, $zero, 0xFF
/* AAAE0 801143E0 AC620004 */  sw        $v0, 0x4($v1)
/* AAAE4 801143E4 8D420014 */  lw        $v0, 0x14($t2)
/* AAAE8 801143E8 00E53823 */  subu      $a3, $a3, $a1
/* AAAEC 801143EC 00470018 */  mult      $v0, $a3
/* AAAF0 801143F0 3C0C8080 */  lui       $t4, (0x80808081 >> 16)
/* AAAF4 801143F4 358C8081 */  ori       $t4, $t4, (0x80808081 & 0xFFFF)
/* AAAF8 801143F8 3C090001 */  lui       $t1, (0x1F400 >> 16)
/* AAAFC 801143FC 00004012 */  mflo      $t0
/* AAB00 80114400 8D420018 */  lw        $v0, 0x18($t2)
/* AAB04 80114404 3529F400 */  ori       $t1, $t1, (0x1F400 & 0xFFFF)
/* AAB08 80114408 00470018 */  mult      $v0, $a3
/* AAB0C 8011440C 000518C0 */  sll       $v1, $a1, 3
/* AAB10 80114410 00651823 */  subu      $v1, $v1, $a1
/* AAB14 80114414 00031940 */  sll       $v1, $v1, 5
/* AAB18 80114418 00651821 */  addu      $v1, $v1, $a1
/* AAB1C 8011441C 00003012 */  mflo      $a2
/* AAB20 80114420 00031880 */  sll       $v1, $v1, 2
/* AAB24 80114424 01031821 */  addu      $v1, $t0, $v1
/* AAB28 80114428 006C0018 */  mult      $v1, $t4
/* AAB2C 8011442C 00051140 */  sll       $v0, $a1, 5
/* AAB30 80114430 00451023 */  subu      $v0, $v0, $a1
/* AAB34 80114434 00021080 */  sll       $v0, $v0, 2
/* AAB38 80114438 00451021 */  addu      $v0, $v0, $a1
/* AAB3C 8011443C 00002010 */  mfhi      $a0
/* AAB40 80114440 000210C0 */  sll       $v0, $v0, 3
/* AAB44 80114444 00C21021 */  addu      $v0, $a2, $v0
/* AAB48 80114448 004C0018 */  mult      $v0, $t4
/* AAB4C 8011444C 00832021 */  addu      $a0, $a0, $v1
/* AAB50 80114450 000421C3 */  sra       $a0, $a0, 7
/* AAB54 80114454 00031FC3 */  sra       $v1, $v1, 31
/* AAB58 80114458 00832023 */  subu      $a0, $a0, $v1
/* AAB5C 8011445C 00004010 */  mfhi      $t0
/* AAB60 80114460 01021821 */  addu      $v1, $t0, $v0
/* AAB64 80114464 000319C3 */  sra       $v1, $v1, 7
/* AAB68 80114468 000217C3 */  sra       $v0, $v0, 31
/* AAB6C 8011446C 00621823 */  subu      $v1, $v1, $v0
/* AAB70 80114470 00641823 */  subu      $v1, $v1, $a0
/* AAB74 80114474 14600002 */  bnez      $v1, .L80114480
/* AAB78 80114478 0123001A */   div      $zero, $t1, $v1
/* AAB7C 8011447C 0007000D */  break     7
.L80114480:
/* AAB80 80114480 2401FFFF */  addiu     $at, $zero, -0x1
/* AAB84 80114484 14610004 */  bne       $v1, $at, .L80114498
/* AAB88 80114488 3C018000 */   lui      $at, (0x80000000 >> 16)
/* AAB8C 8011448C 15210002 */  bne       $t1, $at, .L80114498
/* AAB90 80114490 00000000 */   nop
/* AAB94 80114494 0006000D */  break     6
.L80114498:
/* AAB98 80114498 00004812 */  mflo      $t1
/* AAB9C 8011449C 240601F4 */  addiu     $a2, $zero, 0x1F4
/* AABA0 801144A0 00C43023 */  subu      $a2, $a2, $a0
/* AABA4 801144A4 00063200 */  sll       $a2, $a2, 8
/* AABA8 801144A8 14600002 */  bnez      $v1, .L801144B4
/* AABAC 801144AC 00C3001A */   div      $zero, $a2, $v1
/* AABB0 801144B0 0007000D */  break     7
.L801144B4:
/* AABB4 801144B4 2401FFFF */  addiu     $at, $zero, -0x1
/* AABB8 801144B8 14610004 */  bne       $v1, $at, .L801144CC
/* AABBC 801144BC 3C018000 */   lui      $at, (0x80000000 >> 16)
/* AABC0 801144C0 14C10002 */  bne       $a2, $at, .L801144CC
/* AABC4 801144C4 00000000 */   nop
/* AABC8 801144C8 0006000D */  break     6
.L801144CC:
/* AABCC 801144CC 00003012 */  mflo      $a2
/* AABD0 801144D0 8D420004 */  lw        $v0, 0x4($t2)
/* AABD4 801144D4 00000000 */  nop
/* AABD8 801144D8 00470018 */  mult      $v0, $a3
/* AABDC 801144DC 00001812 */  mflo      $v1
/* AABE0 801144E0 3C028015 */  lui       $v0, %hi(mdl_bgMultiplyColorR)
/* AABE4 801144E4 9042B74D */  lbu       $v0, %lo(mdl_bgMultiplyColorR)($v0)
/* AABE8 801144E8 00450018 */  mult      $v0, $a1
/* AABEC 801144EC 00004012 */  mflo      $t0
/* AABF0 801144F0 00684021 */  addu      $t0, $v1, $t0
/* AABF4 801144F4 00000000 */  nop
/* AABF8 801144F8 010C0018 */  mult      $t0, $t4
/* AABFC 801144FC 256B0008 */  addiu     $t3, $t3, 0x8
/* AAC00 80114500 AE0B0000 */  sw        $t3, 0x0($s0)
/* AAC04 80114504 0000A010 */  mfhi      $s4
/* AAC08 80114508 8D430008 */  lw        $v1, 0x8($t2)
/* AAC0C 8011450C 00000000 */  nop
/* AAC10 80114510 00670018 */  mult      $v1, $a3
/* AAC14 80114514 3C04800A */  lui       $a0, %hi(gMainGfxPos)
/* AAC18 80114518 2484A66C */  addiu     $a0, $a0, %lo(gMainGfxPos)
/* AAC1C 8011451C 00008812 */  mflo      $s1
/* AAC20 80114520 3C038015 */  lui       $v1, %hi(mdl_bgMultiplyColorG)
/* AAC24 80114524 9063B74E */  lbu       $v1, %lo(mdl_bgMultiplyColorG)($v1)
/* AAC28 80114528 8C820000 */  lw        $v0, 0x0($a0)
/* AAC2C 8011452C 00650018 */  mult      $v1, $a1
/* AAC30 80114530 0040582D */  daddu     $t3, $v0, $zero
/* AAC34 80114534 24420008 */  addiu     $v0, $v0, 0x8
/* AAC38 80114538 AC820000 */  sw        $v0, 0x0($a0)
/* AAC3C 8011453C 00009812 */  mflo      $s3
/* AAC40 80114540 8D43000C */  lw        $v1, 0xC($t2)
/* AAC44 80114544 00000000 */  nop
/* AAC48 80114548 00670018 */  mult      $v1, $a3
/* AAC4C 8011454C 8E020000 */  lw        $v0, 0x0($s0)
/* AAC50 80114550 3C04F800 */  lui       $a0, (0xF8000000 >> 16)
/* AAC54 80114554 AD640000 */  sw        $a0, 0x0($t3)
/* AAC58 80114558 02882021 */  addu      $a0, $s4, $t0
/* AAC5C 8011455C 00007012 */  mflo      $t6
/* AAC60 80114560 3C038015 */  lui       $v1, %hi(mdl_bgMultiplyColorB)
/* AAC64 80114564 9063B74F */  lbu       $v1, %lo(mdl_bgMultiplyColorB)($v1)
/* AAC68 80114568 000421C3 */  sra       $a0, $a0, 7
/* AAC6C 8011456C 00650018 */  mult      $v1, $a1
/* AAC70 80114570 000847C3 */  sra       $t0, $t0, 31
/* AAC74 80114574 914A0013 */  lbu       $t2, 0x13($t2)
/* AAC78 80114578 0040382D */  daddu     $a3, $v0, $zero
/* AAC7C 8011457C 24420008 */  addiu     $v0, $v0, 0x8
/* AAC80 80114580 00006812 */  mflo      $t5
/* AAC84 80114584 AFAD0048 */  sw        $t5, 0x48($sp)
/* AAC88 80114588 AE020000 */  sw        $v0, 0x0($s0)
/* AAC8C 8011458C 02331021 */  addu      $v0, $s1, $s3
/* AAC90 80114590 004C0018 */  mult      $v0, $t4
/* AAC94 80114594 00882023 */  subu      $a0, $a0, $t0
/* AAC98 80114598 8FAD0048 */  lw        $t5, 0x48($sp)
/* AAC9C 8011459C 00042600 */  sll       $a0, $a0, 24
/* AACA0 801145A0 01CD2821 */  addu      $a1, $t6, $t5
/* AACA4 801145A4 00001810 */  mfhi      $v1
/* AACA8 801145A8 00621821 */  addu      $v1, $v1, $v0
/* AACAC 801145AC 000319C3 */  sra       $v1, $v1, 7
/* AACB0 801145B0 000217C3 */  sra       $v0, $v0, 31
/* AACB4 801145B4 00621823 */  subu      $v1, $v1, $v0
/* AACB8 801145B8 306300FF */  andi      $v1, $v1, 0xFF
/* AACBC 801145BC 00031C00 */  sll       $v1, $v1, 16
/* AACC0 801145C0 00AC0018 */  mult      $a1, $t4
/* AACC4 801145C4 00832025 */  or        $a0, $a0, $v1
/* AACC8 801145C8 00094C00 */  sll       $t1, $t1, 16
/* AACCC 801145CC 30C6FFFF */  andi      $a2, $a2, 0xFFFF
/* AACD0 801145D0 01264825 */  or        $t1, $t1, $a2
/* AACD4 801145D4 00004010 */  mfhi      $t0
/* AACD8 801145D8 01051021 */  addu      $v0, $t0, $a1
/* AACDC 801145DC 000211C3 */  sra       $v0, $v0, 7
/* AACE0 801145E0 00052FC3 */  sra       $a1, $a1, 31
/* AACE4 801145E4 00451023 */  subu      $v0, $v0, $a1
/* AACE8 801145E8 304200FF */  andi      $v0, $v0, 0xFF
/* AACEC 801145EC 00021200 */  sll       $v0, $v0, 8
/* AACF0 801145F0 00822025 */  or        $a0, $a0, $v0
/* AACF4 801145F4 008A2025 */  or        $a0, $a0, $t2
/* AACF8 801145F8 3C02DB08 */  lui       $v0, (0xDB080000 >> 16)
/* AACFC 801145FC AD640004 */  sw        $a0, 0x4($t3)
/* AAD00 80114600 ACE20000 */  sw        $v0, 0x0($a3)
/* AAD04 80114604 080451A4 */  j         .L80114690
/* AAD08 80114608 ACE90004 */   sw       $t1, 0x4($a3)
glabel .L8011460C
/* AAD0C 8011460C 2682FFFF */  addiu     $v0, $s4, -0x1
/* AAD10 80114610 00021600 */  sll       $v0, $v0, 24
/* AAD14 80114614 00021E03 */  sra       $v1, $v0, 24
/* AAD18 80114618 2C62002F */  sltiu     $v0, $v1, 0x2F
/* AAD1C 8011461C 10400010 */  beqz      $v0, .L80114660
/* AAD20 80114620 00031080 */   sll      $v0, $v1, 2
/* AAD24 80114624 3C018015 */  lui       $at, %hi(jtbl_8014FDA0)
/* AAD28 80114628 00220821 */  addu      $at, $at, $v0
/* AAD2C 8011462C 8C22FDA0 */  lw        $v0, %lo(jtbl_8014FDA0)($at)
/* AAD30 80114630 00400008 */  jr        $v0
/* AAD34 80114634 00000000 */   nop
glabel .L80114638
/* AAD38 80114638 08045199 */  j         .L80114664
/* AAD3C 8011463C 24050021 */   addiu    $a1, $zero, 0x21
glabel .L80114640
/* AAD40 80114640 08045199 */  j         .L80114664
/* AAD44 80114644 24050023 */   addiu    $a1, $zero, 0x23
glabel .L80114648
/* AAD48 80114648 08045199 */  j         .L80114664
/* AAD4C 8011464C 24050025 */   addiu    $a1, $zero, 0x25
glabel .L80114650
/* AAD50 80114650 08045199 */  j         .L80114664
/* AAD54 80114654 2405003B */   addiu    $a1, $zero, 0x3B
glabel .L80114658
/* AAD58 80114658 08045199 */  j         .L80114664
/* AAD5C 8011465C 2405003C */   addiu    $a1, $zero, 0x3C
glabel .L80114660
/* AAD60 80114660 2405001F */  addiu     $a1, $zero, 0x1F
.L80114664:
/* AAD64 80114664 8E030000 */  lw        $v1, 0x0($s0)
/* AAD68 80114668 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* AAD6C 8011466C 0060202D */  daddu     $a0, $v1, $zero
/* AAD70 80114670 AC820000 */  sw        $v0, 0x0($a0)
/* AAD74 80114674 00051080 */  sll       $v0, $a1, 2
/* AAD78 80114678 3C018015 */  lui       $at, %hi(D_8014AFC0)
/* AAD7C 8011467C 00220821 */  addu      $at, $at, $v0
/* AAD80 80114680 8C22AFC0 */  lw        $v0, %lo(D_8014AFC0)($at)
/* AAD84 80114684 24630008 */  addiu     $v1, $v1, 0x8
/* AAD88 80114688 AE030000 */  sw        $v1, 0x0($s0)
/* AAD8C 8011468C AC820004 */  sw        $v0, 0x4($a0)
glabel .L80114690
/* AAD90 80114690 33020008 */  andi      $v0, $t8, 0x8
/* AAD94 80114694 14400016 */  bnez      $v0, .L801146F0
/* AAD98 80114698 33022000 */   andi     $v0, $t8, 0x2000
/* AAD9C 8011469C 14400023 */  bnez      $v0, .L8011472C
/* AADA0 801146A0 33020010 */   andi     $v0, $t8, 0x10
/* AADA4 801146A4 3C03DA38 */  lui       $v1, (0xDA380000 >> 16)
/* AADA8 801146A8 8E040000 */  lw        $a0, 0x0($s0)
/* AADAC 801146AC 8FAD0038 */  lw        $t5, 0x38($sp)
/* AADB0 801146B0 0080282D */  daddu     $a1, $a0, $zero
/* AADB4 801146B4 01B71025 */  or        $v0, $t5, $s7
/* AADB8 801146B8 38420001 */  xori      $v0, $v0, 0x1
/* AADBC 801146BC 00431025 */  or        $v0, $v0, $v1
/* AADC0 801146C0 ACA20000 */  sw        $v0, 0x0($a1)
/* AADC4 801146C4 8EC20010 */  lw        $v0, 0x10($s6)
/* AADC8 801146C8 24840008 */  addiu     $a0, $a0, 0x8
/* AADCC 801146CC AE040000 */  sw        $a0, 0x0($s0)
/* AADD0 801146D0 12E00002 */  beqz      $s7, .L801146DC
/* AADD4 801146D4 ACA20004 */   sw       $v0, 0x4($a1)
/* AADD8 801146D8 0000B82D */  daddu     $s7, $zero, $zero
.L801146DC:
/* AADDC 801146DC 8FAF0038 */  lw        $t7, 0x38($sp)
/* AADE0 801146E0 55E00011 */  bnel      $t7, $zero, .L80114728
/* AADE4 801146E4 AFA00038 */   sw       $zero, 0x38($sp)
/* AADE8 801146E8 080451CB */  j         .L8011472C
/* AADEC 801146EC 33020010 */   andi     $v0, $t8, 0x10
.L801146F0:
/* AADF0 801146F0 1440000D */  bnez      $v0, .L80114728
/* AADF4 801146F4 AFA00038 */   sw       $zero, 0x38($sp)
/* AADF8 801146F8 3AE20001 */  xori      $v0, $s7, 0x1
/* AADFC 801146FC 3C03DA38 */  lui       $v1, (0xDA380000 >> 16)
/* AAE00 80114700 8E040000 */  lw        $a0, 0x0($s0)
/* AAE04 80114704 00431025 */  or        $v0, $v0, $v1
/* AAE08 80114708 0080282D */  daddu     $a1, $a0, $zero
/* AAE0C 8011470C ACA20000 */  sw        $v0, 0x0($a1)
/* AAE10 80114710 8EC20010 */  lw        $v0, 0x10($s6)
/* AAE14 80114714 24840008 */  addiu     $a0, $a0, 0x8
/* AAE18 80114718 AE040000 */  sw        $a0, 0x0($s0)
/* AAE1C 8011471C 12E00002 */  beqz      $s7, .L80114728
/* AAE20 80114720 ACA20004 */   sw       $v0, 0x4($a1)
/* AAE24 80114724 0000B82D */  daddu     $s7, $zero, $zero
.L80114728:
/* AAE28 80114728 33020010 */  andi      $v0, $t8, 0x10
.L8011472C:
/* AAE2C 8011472C 10400018 */  beqz      $v0, .L80114790
/* AAE30 80114730 00000000 */   nop
/* AAE34 80114734 92C200A5 */  lbu       $v0, 0xA5($s6)
/* AAE38 80114738 3C038015 */  lui       $v1, %hi(gCurrentCustomModelGfxPtr)
/* AAE3C 8011473C 246312E8 */  addiu     $v1, $v1, %lo(gCurrentCustomModelGfxPtr)
/* AAE40 80114740 3042000F */  andi      $v0, $v0, 0xF
/* AAE44 80114744 00021040 */  sll       $v0, $v0, 1
/* AAE48 80114748 A7A20036 */  sh        $v0, 0x36($sp)
/* AAE4C 8011474C 97B50036 */  lhu       $s5, 0x36($sp)
/* AAE50 80114750 8C620000 */  lw        $v0, 0x0($v1)
/* AAE54 80114754 00153080 */  sll       $a2, $s5, 2
/* AAE58 80114758 00C21021 */  addu      $v0, $a2, $v0
/* AAE5C 8011475C 8C420000 */  lw        $v0, 0x0($v0)
/* AAE60 80114760 1040000B */  beqz      $v0, .L80114790
/* AAE64 80114764 00000000 */   nop
/* AAE68 80114768 8E040000 */  lw        $a0, 0x0($s0)
/* AAE6C 8011476C 8C620000 */  lw        $v0, 0x0($v1)
/* AAE70 80114770 3C03DE00 */  lui       $v1, (0xDE000000 >> 16)
/* AAE74 80114774 0080282D */  daddu     $a1, $a0, $zero
/* AAE78 80114778 00C21021 */  addu      $v0, $a2, $v0
/* AAE7C 8011477C ACA30000 */  sw        $v1, 0x0($a1)
/* AAE80 80114780 8C420000 */  lw        $v0, 0x0($v0)
/* AAE84 80114784 24840008 */  addiu     $a0, $a0, 0x8
/* AAE88 80114788 AE040000 */  sw        $a0, 0x0($s0)
/* AAE8C 8011478C ACA20004 */  sw        $v0, 0x4($a1)
.L80114790:
/* AAE90 80114790 12400093 */  beqz      $s2, .L801149E0
/* AAE94 80114794 33020800 */   andi     $v0, $t8, 0x800
/* AAE98 80114798 10400092 */  beqz      $v0, .L801149E4
/* AAE9C 8011479C 33020100 */   andi     $v0, $t8, 0x100
/* AAEA0 801147A0 92C200A4 */  lbu       $v0, 0xA4($s6)
/* AAEA4 801147A4 00021080 */  sll       $v0, $v0, 2
/* AAEA8 801147A8 3C038015 */  lui       $v1, %hi(texPannerMainU)
/* AAEAC 801147AC 00621821 */  addu      $v1, $v1, $v0
/* AAEB0 801147B0 8C633268 */  lw        $v1, %lo(texPannerMainU)($v1)
/* AAEB4 801147B4 3C048015 */  lui       $a0, %hi(texPannerMainV)
/* AAEB8 801147B8 00822021 */  addu      $a0, $a0, $v0
/* AAEBC 801147BC 8C8432A8 */  lw        $a0, %lo(texPannerMainV)($a0)
/* AAEC0 801147C0 00033A03 */  sra       $a3, $v1, 8
/* AAEC4 801147C4 00044203 */  sra       $t0, $a0, 8
/* AAEC8 801147C8 3C038015 */  lui       $v1, %hi(texPannerAuxU)
/* AAECC 801147CC 00621821 */  addu      $v1, $v1, $v0
/* AAED0 801147D0 8C6332E8 */  lw        $v1, %lo(texPannerAuxU)($v1)
/* AAED4 801147D4 3C018015 */  lui       $at, %hi(texPannerAuxV)
/* AAED8 801147D8 00220821 */  addu      $at, $at, $v0
/* AAEDC 801147DC 8C223328 */  lw        $v0, %lo(texPannerAuxV)($at)
/* AAEE0 801147E0 00025203 */  sra       $t2, $v0, 8
/* AAEE4 801147E4 24020002 */  addiu     $v0, $zero, 0x2
/* AAEE8 801147E8 13C20006 */  beq       $fp, $v0, .L80114804
/* AAEEC 801147EC 00034A03 */   sra      $t1, $v1, 8
/* AAEF0 801147F0 24020003 */  addiu     $v0, $zero, 0x3
/* AAEF4 801147F4 13C20035 */  beq       $fp, $v0, .L801148CC
/* AAEF8 801147F8 30E30FFF */   andi     $v1, $a3, 0xFFF
/* AAEFC 801147FC 08045262 */  j         .L80114988
/* AAF00 80114800 00031B00 */   sll      $v1, $v1, 12
.L80114804:
/* AAF04 80114804 30E30FFF */  andi      $v1, $a3, 0xFFF
/* AAF08 80114808 00031B00 */  sll       $v1, $v1, 12
/* AAF0C 8011480C 8E020000 */  lw        $v0, 0x0($s0)
/* AAF10 80114810 3C05F200 */  lui       $a1, (0xF2000000 >> 16)
/* AAF14 80114814 0040302D */  daddu     $a2, $v0, $zero
/* AAF18 80114818 24420008 */  addiu     $v0, $v0, 0x8
/* AAF1C 8011481C AE020000 */  sw        $v0, 0x0($s0)
/* AAF20 80114820 31020FFF */  andi      $v0, $t0, 0xFFF
/* AAF24 80114824 00451025 */  or        $v0, $v0, $a1
/* AAF28 80114828 00621825 */  or        $v1, $v1, $v0
/* AAF2C 8011482C ACC30000 */  sw        $v1, 0x0($a2)
/* AAF30 80114830 96430022 */  lhu       $v1, 0x22($s2)
/* AAF34 80114834 8E040000 */  lw        $a0, 0x0($s0)
/* AAF38 80114838 96420026 */  lhu       $v0, 0x26($s2)
/* AAF3C 8011483C 2463FFFF */  addiu     $v1, $v1, -0x1
/* AAF40 80114840 00031880 */  sll       $v1, $v1, 2
/* AAF44 80114844 00671821 */  addu      $v1, $v1, $a3
/* AAF48 80114848 30630FFF */  andi      $v1, $v1, 0xFFF
/* AAF4C 8011484C 00031B00 */  sll       $v1, $v1, 12
/* AAF50 80114850 00021042 */  srl       $v0, $v0, 1
/* AAF54 80114854 2442FFFF */  addiu     $v0, $v0, -0x1
/* AAF58 80114858 00021080 */  sll       $v0, $v0, 2
/* AAF5C 8011485C 00481021 */  addu      $v0, $v0, $t0
/* AAF60 80114860 30420FFF */  andi      $v0, $v0, 0xFFF
/* AAF64 80114864 00621825 */  or        $v1, $v1, $v0
/* AAF68 80114868 ACC30004 */  sw        $v1, 0x4($a2)
/* AAF6C 8011486C 0080302D */  daddu     $a2, $a0, $zero
/* AAF70 80114870 31230FFF */  andi      $v1, $t1, 0xFFF
/* AAF74 80114874 00031B00 */  sll       $v1, $v1, 12
/* AAF78 80114878 31420FFF */  andi      $v0, $t2, 0xFFF
/* AAF7C 8011487C 00451025 */  or        $v0, $v0, $a1
/* AAF80 80114880 00621825 */  or        $v1, $v1, $v0
/* AAF84 80114884 ACC30000 */  sw        $v1, 0x0($a2)
/* AAF88 80114888 96430022 */  lhu       $v1, 0x22($s2)
/* AAF8C 8011488C 24840008 */  addiu     $a0, $a0, 0x8
/* AAF90 80114890 AE040000 */  sw        $a0, 0x0($s0)
/* AAF94 80114894 3C040100 */  lui       $a0, (0x1000000 >> 16)
/* AAF98 80114898 96420026 */  lhu       $v0, 0x26($s2)
/* AAF9C 8011489C 2463FFFF */  addiu     $v1, $v1, -0x1
/* AAFA0 801148A0 00031880 */  sll       $v1, $v1, 2
/* AAFA4 801148A4 00691821 */  addu      $v1, $v1, $t1
/* AAFA8 801148A8 30630FFF */  andi      $v1, $v1, 0xFFF
/* AAFAC 801148AC 00031B00 */  sll       $v1, $v1, 12
/* AAFB0 801148B0 00021042 */  srl       $v0, $v0, 1
/* AAFB4 801148B4 2442FFFF */  addiu     $v0, $v0, -0x1
/* AAFB8 801148B8 00021080 */  sll       $v0, $v0, 2
/* AAFBC 801148BC 004A1021 */  addu      $v0, $v0, $t2
/* AAFC0 801148C0 30420FFF */  andi      $v0, $v0, 0xFFF
/* AAFC4 801148C4 08045276 */  j         .L801149D8
/* AAFC8 801148C8 00441025 */   or       $v0, $v0, $a0
.L801148CC:
/* AAFCC 801148CC 00031B00 */  sll       $v1, $v1, 12
/* AAFD0 801148D0 8E020000 */  lw        $v0, 0x0($s0)
/* AAFD4 801148D4 3C05F200 */  lui       $a1, (0xF2000000 >> 16)
/* AAFD8 801148D8 0040302D */  daddu     $a2, $v0, $zero
/* AAFDC 801148DC 24420008 */  addiu     $v0, $v0, 0x8
/* AAFE0 801148E0 AE020000 */  sw        $v0, 0x0($s0)
/* AAFE4 801148E4 31020FFF */  andi      $v0, $t0, 0xFFF
/* AAFE8 801148E8 00451025 */  or        $v0, $v0, $a1
/* AAFEC 801148EC 00621825 */  or        $v1, $v1, $v0
/* AAFF0 801148F0 ACC30000 */  sw        $v1, 0x0($a2)
/* AAFF4 801148F4 96430022 */  lhu       $v1, 0x22($s2)
/* AAFF8 801148F8 8E040000 */  lw        $a0, 0x0($s0)
/* AAFFC 801148FC 96420026 */  lhu       $v0, 0x26($s2)
/* AB000 80114900 2463FFFF */  addiu     $v1, $v1, -0x1
/* AB004 80114904 00031880 */  sll       $v1, $v1, 2
/* AB008 80114908 00671821 */  addu      $v1, $v1, $a3
/* AB00C 8011490C 30630FFF */  andi      $v1, $v1, 0xFFF
/* AB010 80114910 00031B00 */  sll       $v1, $v1, 12
/* AB014 80114914 2442FFFF */  addiu     $v0, $v0, -0x1
/* AB018 80114918 00021080 */  sll       $v0, $v0, 2
/* AB01C 8011491C 00481021 */  addu      $v0, $v0, $t0
/* AB020 80114920 30420FFF */  andi      $v0, $v0, 0xFFF
/* AB024 80114924 00621825 */  or        $v1, $v1, $v0
/* AB028 80114928 ACC30004 */  sw        $v1, 0x4($a2)
/* AB02C 8011492C 0080302D */  daddu     $a2, $a0, $zero
/* AB030 80114930 31230FFF */  andi      $v1, $t1, 0xFFF
/* AB034 80114934 00031B00 */  sll       $v1, $v1, 12
/* AB038 80114938 31420FFF */  andi      $v0, $t2, 0xFFF
/* AB03C 8011493C 00451025 */  or        $v0, $v0, $a1
/* AB040 80114940 00621825 */  or        $v1, $v1, $v0
/* AB044 80114944 ACC30000 */  sw        $v1, 0x0($a2)
/* AB048 80114948 96430020 */  lhu       $v1, 0x20($s2)
/* AB04C 8011494C 24840008 */  addiu     $a0, $a0, 0x8
/* AB050 80114950 AE040000 */  sw        $a0, 0x0($s0)
/* AB054 80114954 3C040100 */  lui       $a0, (0x1000000 >> 16)
/* AB058 80114958 96420024 */  lhu       $v0, 0x24($s2)
/* AB05C 8011495C 2463FFFF */  addiu     $v1, $v1, -0x1
/* AB060 80114960 00031880 */  sll       $v1, $v1, 2
/* AB064 80114964 00691821 */  addu      $v1, $v1, $t1
/* AB068 80114968 30630FFF */  andi      $v1, $v1, 0xFFF
/* AB06C 8011496C 00031B00 */  sll       $v1, $v1, 12
/* AB070 80114970 2442FFFF */  addiu     $v0, $v0, -0x1
/* AB074 80114974 00021080 */  sll       $v0, $v0, 2
/* AB078 80114978 004A1021 */  addu      $v0, $v0, $t2
/* AB07C 8011497C 30420FFF */  andi      $v0, $v0, 0xFFF
/* AB080 80114980 08045276 */  j         .L801149D8
/* AB084 80114984 00441025 */   or       $v0, $v0, $a0
.L80114988:
/* AB088 80114988 31020FFF */  andi      $v0, $t0, 0xFFF
/* AB08C 8011498C 3C04F200 */  lui       $a0, (0xF2000000 >> 16)
/* AB090 80114990 00441025 */  or        $v0, $v0, $a0
/* AB094 80114994 8E050000 */  lw        $a1, 0x0($s0)
/* AB098 80114998 00621825 */  or        $v1, $v1, $v0
/* AB09C 8011499C 00A0302D */  daddu     $a2, $a1, $zero
/* AB0A0 801149A0 ACC30000 */  sw        $v1, 0x0($a2)
/* AB0A4 801149A4 96430022 */  lhu       $v1, 0x22($s2)
/* AB0A8 801149A8 24A50008 */  addiu     $a1, $a1, 0x8
/* AB0AC 801149AC AE050000 */  sw        $a1, 0x0($s0)
/* AB0B0 801149B0 96420026 */  lhu       $v0, 0x26($s2)
/* AB0B4 801149B4 2463FFFF */  addiu     $v1, $v1, -0x1
/* AB0B8 801149B8 00031880 */  sll       $v1, $v1, 2
/* AB0BC 801149BC 00671821 */  addu      $v1, $v1, $a3
/* AB0C0 801149C0 30630FFF */  andi      $v1, $v1, 0xFFF
/* AB0C4 801149C4 00031B00 */  sll       $v1, $v1, 12
/* AB0C8 801149C8 2442FFFF */  addiu     $v0, $v0, -0x1
/* AB0CC 801149CC 00021080 */  sll       $v0, $v0, 2
/* AB0D0 801149D0 00481021 */  addu      $v0, $v0, $t0
/* AB0D4 801149D4 30420FFF */  andi      $v0, $v0, 0xFFF
.L801149D8:
/* AB0D8 801149D8 00621825 */  or        $v1, $v1, $v0
/* AB0DC 801149DC ACC30004 */  sw        $v1, 0x4($a2)
.L801149E0:
/* AB0E0 801149E0 33020100 */  andi      $v0, $t8, 0x100
.L801149E4:
/* AB0E4 801149E4 1040001A */  beqz      $v0, .L80114A50
/* AB0E8 801149E8 3C04DA38 */   lui      $a0, (0xDA380000 >> 16)
/* AB0EC 801149EC 8E050000 */  lw        $a1, 0x0($s0)
/* AB0F0 801149F0 8FB90038 */  lw        $t9, 0x38($sp)
/* AB0F4 801149F4 3C03800A */  lui       $v1, %hi(gCurrentCamID)
/* AB0F8 801149F8 8463A634 */  lh        $v1, %lo(gCurrentCamID)($v1)
/* AB0FC 801149FC 00A0302D */  daddu     $a2, $a1, $zero
/* AB100 80114A00 03371025 */  or        $v0, $t9, $s7
/* AB104 80114A04 38420001 */  xori      $v0, $v0, 0x1
/* AB108 80114A08 00441025 */  or        $v0, $v0, $a0
/* AB10C 80114A0C ACC20000 */  sw        $v0, 0x0($a2)
/* AB110 80114A10 00031080 */  sll       $v0, $v1, 2
/* AB114 80114A14 00431021 */  addu      $v0, $v0, $v1
/* AB118 80114A18 00021080 */  sll       $v0, $v0, 2
/* AB11C 80114A1C 00431023 */  subu      $v0, $v0, $v1
/* AB120 80114A20 000218C0 */  sll       $v1, $v0, 3
/* AB124 80114A24 00431021 */  addu      $v0, $v0, $v1
/* AB128 80114A28 000210C0 */  sll       $v0, $v0, 3
/* AB12C 80114A2C 3C01800B */  lui       $at, %hi(gCameras + 0x204)
/* AB130 80114A30 00220821 */  addu      $at, $at, $v0
/* AB134 80114A34 8C221F84 */  lw        $v0, %lo(gCameras + 0x204)($at)
/* AB138 80114A38 24A50008 */  addiu     $a1, $a1, 0x8
/* AB13C 80114A3C AE050000 */  sw        $a1, 0x0($s0)
/* AB140 80114A40 12E00002 */  beqz      $s7, .L80114A4C
/* AB144 80114A44 ACC20004 */   sw       $v0, 0x4($a2)
/* AB148 80114A48 0000B82D */  daddu     $s7, $zero, $zero
.L80114A4C:
/* AB14C 80114A4C 8FAD0038 */  lw        $t5, 0x38($sp)
.L80114A50:
/* AB150 80114A50 33020080 */  andi      $v0, $t8, 0x80
/* AB154 80114A54 1440000C */  bnez      $v0, .L80114A88
/* AB158 80114A58 33020010 */   andi     $v0, $t8, 0x10
/* AB15C 80114A5C 8E030000 */  lw        $v1, 0x0($s0)
/* AB160 80114A60 3C02DE00 */  lui       $v0, (0xDE000000 >> 16)
/* AB164 80114A64 0060202D */  daddu     $a0, $v1, $zero
/* AB168 80114A68 AC820000 */  sw        $v0, 0x0($a0)
/* AB16C 80114A6C 8FAF0028 */  lw        $t7, 0x28($sp)
/* AB170 80114A70 8DE20004 */  lw        $v0, 0x4($t7)
/* AB174 80114A74 8C420000 */  lw        $v0, 0x0($v0)
/* AB178 80114A78 24630008 */  addiu     $v1, $v1, 0x8
/* AB17C 80114A7C AE030000 */  sw        $v1, 0x0($s0)
/* AB180 80114A80 AC820004 */  sw        $v0, 0x4($a0)
/* AB184 80114A84 33020010 */  andi      $v0, $t8, 0x10
.L80114A88:
/* AB188 80114A88 10400016 */  beqz      $v0, .L80114AE4
/* AB18C 80114A8C 00000000 */   nop
/* AB190 80114A90 97B50036 */  lhu       $s5, 0x36($sp)
/* AB194 80114A94 3C078015 */  lui       $a3, %hi(gCurrentCustomModelGfxPtr)
/* AB198 80114A98 24E712E8 */  addiu     $a3, $a3, %lo(gCurrentCustomModelGfxPtr)
/* AB19C 80114A9C 26B50001 */  addiu     $s5, $s5, 0x1
/* AB1A0 80114AA0 A7B50036 */  sh        $s5, 0x36($sp)
/* AB1A4 80114AA4 32A2FFFF */  andi      $v0, $s5, 0xFFFF
/* AB1A8 80114AA8 8CE30000 */  lw        $v1, 0x0($a3)
/* AB1AC 80114AAC 00023080 */  sll       $a2, $v0, 2
/* AB1B0 80114AB0 00C31821 */  addu      $v1, $a2, $v1
/* AB1B4 80114AB4 8C620000 */  lw        $v0, 0x0($v1)
/* AB1B8 80114AB8 1040000A */  beqz      $v0, .L80114AE4
/* AB1BC 80114ABC 3C03DE00 */   lui      $v1, (0xDE000000 >> 16)
/* AB1C0 80114AC0 8E040000 */  lw        $a0, 0x0($s0)
/* AB1C4 80114AC4 8CE20000 */  lw        $v0, 0x0($a3)
/* AB1C8 80114AC8 0080282D */  daddu     $a1, $a0, $zero
/* AB1CC 80114ACC 00C21021 */  addu      $v0, $a2, $v0
/* AB1D0 80114AD0 ACA30000 */  sw        $v1, 0x0($a1)
/* AB1D4 80114AD4 8C420000 */  lw        $v0, 0x0($v0)
/* AB1D8 80114AD8 24840008 */  addiu     $a0, $a0, 0x8
/* AB1DC 80114ADC AE040000 */  sw        $a0, 0x0($s0)
/* AB1E0 80114AE0 ACA20004 */  sw        $v0, 0x4($a1)
.L80114AE4:
/* AB1E4 80114AE4 16E00009 */  bnez      $s7, .L80114B0C
/* AB1E8 80114AE8 3C04D838 */   lui      $a0, (0xD8380002 >> 16)
/* AB1EC 80114AEC 8E020000 */  lw        $v0, 0x0($s0)
/* AB1F0 80114AF0 34840002 */  ori       $a0, $a0, (0xD8380002 & 0xFFFF)
/* AB1F4 80114AF4 0040182D */  daddu     $v1, $v0, $zero
/* AB1F8 80114AF8 24420008 */  addiu     $v0, $v0, 0x8
/* AB1FC 80114AFC AE020000 */  sw        $v0, 0x0($s0)
/* AB200 80114B00 24020040 */  addiu     $v0, $zero, 0x40
/* AB204 80114B04 AC640000 */  sw        $a0, 0x0($v1)
/* AB208 80114B08 AC620004 */  sw        $v0, 0x4($v1)
.L80114B0C:
/* AB20C 80114B0C 8E020000 */  lw        $v0, 0x0($s0)
/* AB210 80114B10 0040182D */  daddu     $v1, $v0, $zero
/* AB214 80114B14 24420008 */  addiu     $v0, $v0, 0x8
/* AB218 80114B18 AE020000 */  sw        $v0, 0x0($s0)
/* AB21C 80114B1C 3C02E700 */  lui       $v0, (0xE7000000 >> 16)
/* AB220 80114B20 AC620000 */  sw        $v0, 0x0($v1)
/* AB224 80114B24 AC600004 */  sw        $zero, 0x4($v1)
.L80114B28:
/* AB228 80114B28 8FBF0074 */  lw        $ra, 0x74($sp)
/* AB22C 80114B2C 8FBE0070 */  lw        $fp, 0x70($sp)
/* AB230 80114B30 8FB7006C */  lw        $s7, 0x6C($sp)
/* AB234 80114B34 8FB60068 */  lw        $s6, 0x68($sp)
/* AB238 80114B38 8FB50064 */  lw        $s5, 0x64($sp)
/* AB23C 80114B3C 8FB40060 */  lw        $s4, 0x60($sp)
/* AB240 80114B40 8FB3005C */  lw        $s3, 0x5C($sp)
/* AB244 80114B44 8FB20058 */  lw        $s2, 0x58($sp)
/* AB248 80114B48 8FB10054 */  lw        $s1, 0x54($sp)
/* AB24C 80114B4C 8FB00050 */  lw        $s0, 0x50($sp)
/* AB250 80114B50 03E00008 */  jr        $ra
/* AB254 80114B54 27BD0078 */   addiu    $sp, $sp, 0x78

### DECOMPILED C INSTRUCTIONS:

void appendGfx_model(void* data) {
    Model* model = data;
    s32 mtxPushMode;
    TextureHandle* textureHandle;
    TextureHeader* textureHeader;
    u32 extraTileType;
    s8 renderMode;
    s32 texturingMode;
    s32 renderModeIdx;
    s32 flags = model->flags;

    ModelNode* modelNode;
    u16 customGfxIndex;
    s32 mtxLoadMode;
    s32 combineSubType;
    ModelNodeProperty* prop;
    s32 temp;

    s32 fogMin, fogMax;
    s32 fogR, fogG, fogB, fogA;
    Gfx** gfxPos = &gMainGfxPos;

    mtxPushMode = G_MTX_PUSH;
    mtxLoadMode = G_MTX_LOAD;
    modelNode = model->modelNode;

    if (model->textureID != 0) {
        textureHandle = &mdl_textureHandles[model->textureID + model->textureVariation];
        textureHeader = &textureHandle->header;

        if (textureHandle->gfx != NULL) {
            extraTileType = textureHandle->header.extraTiles;
        } else {
            textureHeader = NULL;
        }
    } else {
        textureHandle = NULL;
        textureHeader = NULL;
    }

    renderMode = model->renderMode;
    combineSubType = 0;
    if (textureHeader != NULL) {
        switch (extraTileType) {
            case EXTRA_TILE_NONE:
                texturingMode = 1;
                break;
            case EXTRA_TILE_MIPMAPS:
            case EXTRA_TILE_AUX_SAME_AS_MAIN:
            case EXTRA_TILE_AUX_INDEPENDENT:
                texturingMode = 2;
                break;
            default:
                texturingMode = 1;
                break;
        }
    } else {
        texturingMode = 1;
    }
    if ((textureHeader != NULL || renderMode <= RENDER_MODE_ALPHATEST_NO_ZB) && gCurrentFogSettings->enabled && !(flags & MODEL_FLAG_FLAG_40)) {
        texturingMode = 3;
        combineSubType = 1;
    }

    // fog mode
    switch ((u32)(model->customGfxIndex >> 4)) {
        case FOG_MODE_1:
            texturingMode += 3;
            combineSubType = 2;
            break;
        case FOG_MODE_2:
            if (renderMode <= RENDER_MODE_ALPHATEST_NO_ZB) {
                gDPSetPrimColor((*gfxPos)++, 0, 0, mdl_renderModelFogPrimColorR,
                                                   mdl_renderModelFogPrimColorG,
                                                   mdl_renderModelFogPrimColorB,
                                                   mdl_renderModelFogPrimColorA);
                gDPSetFogColor((*gfxPos)++, mdl_renderModelFogColorR,
                                            mdl_renderModelFogColorG,
                                            mdl_renderModelFogColorB, 0);
                gSPFogPosition((*gfxPos)++, mdl_renderModelFogStart, mdl_renderModelFogEnd);
                texturingMode += 9;
                combineSubType = 3;
            }
            break;
        case FOG_MODE_3:
            texturingMode = 2;
            combineSubType = 4;
            gDPSetPrimColor((*gfxPos)++, 0, 0, gRenderModelPrimR,
                                               gRenderModelPrimG,
                                               gRenderModelPrimB, 255);
            gDPSetEnvColor((*gfxPos)++, gRenderModelEnvR,
                                        gRenderModelEnvG,
                                        gRenderModelEnvB, 255);
            break;
    }

    gDPPipeSync((*gfxPos)++);

    if (model->groupData != NULL) {
        Lightsn* lightningGroup = model->groupData->lightingGroup;
        if (model->groupData->lightingGroup != NULL) {
            switch (model->groupData->numLights) {
                case 0:
                    gSPSetLights0((*gfxPos)++, lightningGroup[0]);
                    break;
                case 1:
                    gSPSetLights1((*gfxPos)++, lightningGroup[0]);
                    break;
                case 2:
                    gSPSetLights2((*gfxPos)++, lightningGroup[0]);
                    break;
                case 3:
                    gSPSetLights3((*gfxPos)++, lightningGroup[0]);
                    break;
                case 4:
                    gSPSetLights4((*gfxPos)++, lightningGroup[0]);
                    break;
                case 5:
                    gSPSetLights5((*gfxPos)++, lightningGroup[0]);
                    break;
                case 6:
                    gSPSetLights6((*gfxPos)++, lightningGroup[0]);
                    break;
                case 7:
                    gSPSetLights7((*gfxPos)++, lightningGroup[0]);
                    break;
            }
        }
    }

    if (textureHeader != NULL) {
        switch (extraTileType) {
            case EXTRA_TILE_AUX_INDEPENDENT:
            case EXTRA_TILE_4:
                prop = get_model_property(modelNode, MODEL_PROP_KEY_SPECIAL);
                if (prop != NULL) {
                    s32 v1 = prop->data.s;
                    u16 a2 = prop->dataType;
                    s32 a1 = prop->dataType;
                    func_801180E8(textureHeader, gfxPos, textureHandle->raster, textureHandle->palette, textureHandle->auxRaster, textureHandle->auxPalette,
                                (v1 >> 12) & 0xF, (v1 >> 16) & 0xF,
                                a2 & 0xFFF, (a1 >> 12) & 0xFFF);

                } else {
                    gSPDisplayList((*gfxPos)++, textureHandle->gfx);
                }
                break;
            default:
                gSPDisplayList((*gfxPos)++, textureHandle->gfx);
                break;
        }
    } else {
        gSPTexture((*gfxPos)++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
        gDPSetCombineMode((*gfxPos)++, G_CC_SHADE, G_CC_SHADE);
        gDPSetColorDither((*gfxPos)++, G_CD_MAGICSQ);
        gDPSetAlphaDither((*gfxPos)++, G_AD_PATTERN);
    }

    if (combineSubType != 0 || renderMode == RENDER_MODE_ALPHATEST || renderMode == RENDER_MODE_ALPHATEST_ONESIDED) {
        u32 v1 = 0;

        if (textureHeader != NULL) {
            u32 colorCombineType = textureHeader->colorCombineType;
            if (colorCombineType >= 3) {
                v1 = colorCombineType + 10;
            } else {
                v1 = extraTileType * 3 + 1 + textureHeader->colorCombineSubType;
            }
        }

        if (renderMode != RENDER_MODE_ALPHATEST && renderMode != RENDER_MODE_ALPHATEST_ONESIDED) {
            *(*gfxPos) = D_8014B0B8[v1][combineSubType];
        } else {
            *(*gfxPos) = D_8014B400[v1][combineSubType];
        }
        (*gfxPos)++;
    }

    switch (texturingMode) {
        case 1:
            switch (renderMode) {
                case RENDER_MODE_SURFACE_OPA:
                    renderModeIdx = 0;
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_AA:
                    renderModeIdx = 1;
                    break;
                case RENDER_MODE_DECAL_OPA:
                    renderModeIdx = 2;
                    break;
                case RENDER_MODE_DECAL_OPA_NO_AA:
                    renderModeIdx = 3;
                    break;
                case RENDER_MODE_INTERSECTING_OPA:
                    renderModeIdx = 4;
                    break;
                case RENDER_MODE_ALPHATEST:
                    renderModeIdx = 6;
                    break;
                case RENDER_MODE_ALPHATEST_ONESIDED:
                    renderModeIdx = 7;
                    break;
                case RENDER_MODE_SURFXLU_AA_ZB_ZUPD:
                    renderModeIdx = 9;
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER1:
                case RENDER_MODE_SURFACE_XLU_LAYER2:
                case RENDER_MODE_SURFACE_XLU_LAYER3:
                    renderModeIdx = 8;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_AA:
                    renderModeIdx = 10;
                    break;
                case RENDER_MODE_SURFXLU_ZB_ZUPD:
                    renderModeIdx = 11;
                    break;
                case RENDER_MODE_DECAL_XLU:
                    renderModeIdx = 12;
                    break;
                case RENDER_MODE_DECAL_XLU_NOAA:
                    renderModeIdx = 13;
                    break;
                case RENDER_MODE_INTERSECTING_XLU:
                    renderModeIdx = 14;
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_ZB:
                    renderModeIdx = 0x2E;
                    break;
                case RENDER_MODE_ALPHATEST_NO_ZB:
                    renderModeIdx = 0x2F;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_ZB:
                    renderModeIdx = 0x30;
                    break;
                case RENDER_MODE_CLOUD:
                    renderModeIdx = 0x37;
                    break;
                case RENDER_MODE_CLOUD_NO_ZB:
                    renderModeIdx = 0x38;
                    break;
                default:
                    renderModeIdx = 0;
                    break;
            }
            gSPDisplayList((*gfxPos)++, D_8014AFC0[renderModeIdx]);
            break;
        case 2:
            switch (renderMode) {
                case RENDER_MODE_SURFACE_OPA_NO_AA:
                    renderModeIdx = 0x11;
                    break;
                case RENDER_MODE_DECAL_OPA:
                    renderModeIdx = 0x12;
                    break;
                case RENDER_MODE_DECAL_OPA_NO_AA:
                    renderModeIdx = 0x13;
                    break;
                case RENDER_MODE_INTERSECTING_OPA:
                    renderModeIdx = 0x14;
                    break;
                case RENDER_MODE_ALPHATEST:
                    renderModeIdx = 0x16;
                    break;
                case RENDER_MODE_ALPHATEST_ONESIDED:
                    renderModeIdx = 0x17;
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER1:
                case RENDER_MODE_SURFACE_XLU_LAYER2:
                case RENDER_MODE_SURFACE_XLU_LAYER3:
                    renderModeIdx = 0x18;
                    break;
                case RENDER_MODE_SURFXLU_AA_ZB_ZUPD:
                    renderModeIdx = 0x19;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_AA:
                    renderModeIdx = 0x1A;
                    break;
                case RENDER_MODE_DECAL_XLU:
                    renderModeIdx = 0x1B;
                    break;
                case RENDER_MODE_DECAL_XLU_NOAA:
                    renderModeIdx = 0x1C;
                    break;
                case RENDER_MODE_INTERSECTING_XLU:
                    renderModeIdx = 0x1D;
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_ZB:
                    renderModeIdx = 0x31;
                    break;
                case RENDER_MODE_ALPHATEST_NO_ZB:
                    renderModeIdx = 0x32;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_ZB:
                    renderModeIdx = 0x33;
                    break;
                case RENDER_MODE_CLOUD:
                    renderModeIdx = 0x39;
                    break;
                case RENDER_MODE_CLOUD_NO_ZB:
                    renderModeIdx = 0x3A;
                    break;
                case RENDER_MODE_SURFACE_OPA:
                    renderModeIdx = 0x10;
                    break;
                default:
                    renderModeIdx = 0x10;
                    break;
            }
            gSPDisplayList((*gfxPos)++, D_8014AFC0[renderModeIdx]);
            break;
        case 3:
            temp = 0x25; // required to match
            switch (renderMode) {
                case RENDER_MODE_SURFACE_OPA_NO_AA:
                    renderModeIdx = 0x20;
                    break;
                case RENDER_MODE_DECAL_OPA:
                    renderModeIdx = 0x21;
                    break;
                case RENDER_MODE_DECAL_OPA_NO_AA:
                    renderModeIdx = 0x22;
                    break;
                case RENDER_MODE_INTERSECTING_OPA:
                    renderModeIdx = 0x23;
                    break;
                case RENDER_MODE_ALPHATEST:
                    renderModeIdx = temp;
                    break;
                case RENDER_MODE_ALPHATEST_ONESIDED:
                    renderModeIdx = 0x26;
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER1:
                case RENDER_MODE_SURFACE_XLU_LAYER2:
                case RENDER_MODE_SURFACE_XLU_LAYER3:
                    renderModeIdx = 0x27;
                    break;
                case RENDER_MODE_SURFXLU_AA_ZB_ZUPD:
                    renderModeIdx = 0x28;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_AA:
                    renderModeIdx = 0x29;
                    break;
                case RENDER_MODE_DECAL_XLU:
                    renderModeIdx = 0x2A;
                    break;
                case RENDER_MODE_DECAL_XLU_NOAA:
                    renderModeIdx = 0x2B;
                    break;
                case RENDER_MODE_INTERSECTING_XLU:
                    renderModeIdx = 0x2C;
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_ZB:
                    renderModeIdx = 0x34;
                    break;
                case RENDER_MODE_ALPHATEST_NO_ZB:
                    renderModeIdx = 0x35;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_ZB:
                    renderModeIdx = 0x36;
                    break;
                case RENDER_MODE_CLOUD:
                    renderModeIdx = 0x3B;
                    break;
                case RENDER_MODE_CLOUD_NO_ZB:
                    renderModeIdx = 0x3C;
                    break;
                case RENDER_MODE_SURFACE_OPA:
                    renderModeIdx = 0x1F;
                    break;
                default:
                    renderModeIdx = 0x1F;
                    break;
            }
            gSPDisplayList((*gfxPos)++, D_8014AFC0[renderModeIdx]);
            gDPSetFogColor((*gfxPos)++, gCurrentFogSettings->color.r,
                                            gCurrentFogSettings->color.g,
                                            gCurrentFogSettings->color.b,
                                            gCurrentFogSettings->color.a);
            gSPFogPosition((*gfxPos)++, gCurrentFogSettings->startDistance, gCurrentFogSettings->endDistance);
            break;
        case 4:
        case 5:
            if (mdl_bgMultiplyColorA == 255) {
                return;
            }
            gSPDisplayList((*gfxPos)++, D_8014AFC0[0x10]);
            switch (renderMode) {
                case RENDER_MODE_SURFACE_OPA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_OPA_SURF2);
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_AA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_ZB_OPA_SURF2);
                    break;
                case RENDER_MODE_DECAL_OPA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_OPA_DECAL2);
                    break;
                case RENDER_MODE_DECAL_OPA_NO_AA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_ZB_OPA_DECAL2);
                    break;
                case RENDER_MODE_INTERSECTING_OPA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_OPA_INTER2);
                    break;
                case RENDER_MODE_ALPHATEST:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_TEX_EDGE2);
                    break;
                case RENDER_MODE_ALPHATEST_ONESIDED:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_TEX_EDGE2);
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER1:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_XLU_SURF2);
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER2:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_XLU_SURF2);
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER3:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_XLU_SURF2);
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_AA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_ZB_XLU_SURF2);
                    break;
                case RENDER_MODE_DECAL_XLU:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_XLU_DECAL2);
                    break;
                case RENDER_MODE_DECAL_XLU_NOAA:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_XLU_DECAL2);
                    break;
                case RENDER_MODE_INTERSECTING_XLU:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_ZB_XLU_INTER2);
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_ZB:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_OPA_SURF2);
                    break;
                case RENDER_MODE_ALPHATEST_NO_ZB:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_TEX_EDGE2);
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_ZB:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_AA_XLU_SURF2);
                    break;
                case RENDER_MODE_CLOUD:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_ZB_CLD_SURF2);
                    break;
                case RENDER_MODE_CLOUD_NO_ZB:
                    gDPSetRenderMode(gMainGfxPos++, GBL_c1(G_BL_CLR_BL, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA), G_RM_CLD_SURF2);
                    break;
            }
            gDPSetFogColor((*gfxPos)++, gCurrentFogSettings->color.r,
                                            gCurrentFogSettings->color.g,
                                            gCurrentFogSettings->color.b,
                                            mdl_bgMultiplyColorA);
            gDPSetBlendColor((*gfxPos)++, mdl_bgMultiplyColorR,
                                              mdl_bgMultiplyColorG,
                                              mdl_bgMultiplyColorB,
                                              255);
            gSPFogPosition((*gfxPos)++, 970, 1000);
            break;
        case 6:
            switch (renderMode) {
                case RENDER_MODE_SURFACE_OPA_NO_AA:
                    renderModeIdx = 0x20;
                    break;
                case RENDER_MODE_DECAL_OPA:
                    renderModeIdx = 0x21;
                    break;
                case RENDER_MODE_DECAL_OPA_NO_AA:
                    renderModeIdx = 0x22;
                    break;
                case RENDER_MODE_INTERSECTING_OPA:
                    renderModeIdx = 0x23;
                    break;
                case RENDER_MODE_ALPHATEST:
                    renderModeIdx = 0x25;
                    break;
                case RENDER_MODE_ALPHATEST_ONESIDED:
                    renderModeIdx = 0x26;
                    break;
                case RENDER_MODE_SURFACE_XLU_LAYER1:
                case RENDER_MODE_SURFACE_XLU_LAYER2:
                case RENDER_MODE_SURFACE_XLU_LAYER3:
                    renderModeIdx = 0x27;
                    break;
                case RENDER_MODE_SURFXLU_AA_ZB_ZUPD:
                    renderModeIdx = 0x28;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_AA:
                    renderModeIdx = 0x29;
                    break;
                case RENDER_MODE_DECAL_XLU:
                    renderModeIdx = 0x2A;
                    break;
                case RENDER_MODE_DECAL_XLU_NOAA:
                    renderModeIdx = 0x2B;
                    break;
                case RENDER_MODE_INTERSECTING_XLU:
                    renderModeIdx = 0x2C;
                    break;
                case RENDER_MODE_SURFACE_OPA_NO_ZB:
                    renderModeIdx = 0x34;
                    break;
                case RENDER_MODE_ALPHATEST_NO_ZB:
                    renderModeIdx = 0x35;
                    break;
                case RENDER_MODE_SURFACE_XLU_NO_ZB:
                    renderModeIdx = 0x36;
                    break;
                case RENDER_MODE_CLOUD:
                    renderModeIdx = 0x3B;
                    break;
                case RENDER_MODE_CLOUD_NO_ZB:
                    renderModeIdx = 0x3C;
                    break;
                case RENDER_MODE_SURFACE_OPA:
                    renderModeIdx = 0x1F;
                    break;
                default:
                    renderModeIdx = 0x1F;
                    break;
            }
            gSPDisplayList((*gfxPos)++, D_8014AFC0[renderModeIdx]);

            fogR = (gCurrentFogSettings->color.r * (255 - mdl_bgMultiplyColorA) + mdl_bgMultiplyColorR * mdl_bgMultiplyColorA) / 255;
            fogG = (gCurrentFogSettings->color.g * (255 - mdl_bgMultiplyColorA) + mdl_bgMultiplyColorG * mdl_bgMultiplyColorA) / 255;
            fogB = (gCurrentFogSettings->color.b * (255 - mdl_bgMultiplyColorA) + mdl_bgMultiplyColorB * mdl_bgMultiplyColorA) / 255;

            fogMin = (gCurrentFogSettings->startDistance * (255 - mdl_bgMultiplyColorA) + 900 * mdl_bgMultiplyColorA) / 255;
            fogMax = (gCurrentFogSettings->endDistance * (255 - mdl_bgMultiplyColorA) + 1000 * mdl_bgMultiplyColorA) / 255;

            gDPSetFogColor(gMainGfxPos++, fogR, fogG, fogB, gCurrentFogSettings->color.a);
            gSPFogPosition((*gfxPos)++, fogMin, fogMax);
            break;
        case 10:
        case 11:
            switch (renderMode) {
                case RENDER_MODE_DECAL_OPA:
                    renderModeIdx = 0x21;
                    break;
                case RENDER_MODE_INTERSECTING_OPA:
                    renderModeIdx = 0x23;
                    break;
                case RENDER_MODE_ALPHATEST:
                    renderModeIdx = 0x25;
                    break;
                case RENDER_MODE_CLOUD:
                    renderModeIdx = 0x3B;
                    break;
                case RENDER_MODE_CLOUD_NO_ZB:
                    renderModeIdx = 0x3C;
                    break;
                case RENDER_MODE_SURFACE_OPA:
                default:
                    renderModeIdx = 0x1F;
                    break;
            }
            gSPDisplayList((*gfxPos)++, D_8014AFC0[renderModeIdx]);
            break;
    }

    if (!(flags & MODEL_FLAG_TRANSFORM_GROUP_MEMBER)) {
        if (!(flags & MODEL_FLAG_FLAG_2000)) {
            gSPMatrix((*gfxPos)++, model->currentSpecialMatrix, mtxLoadMode | mtxPushMode | G_MTX_MODELVIEW);
            if (mtxPushMode != G_MTX_NOPUSH) {
                mtxPushMode = G_MTX_NOPUSH;
            }
            if (mtxLoadMode != G_MTX_MUL) {
                mtxLoadMode = G_MTX_MUL;
            }
        }
    } else {
        mtxLoadMode = G_MTX_MUL;
        if (!(flags & MODEL_FLAG_FLAG_2000)) {
            gSPMatrix((*gfxPos)++, model->currentSpecialMatrix, mtxLoadMode | mtxPushMode | G_MTX_MODELVIEW);
            if (mtxPushMode != G_MTX_NOPUSH) {
                mtxPushMode = G_MTX_NOPUSH;
            }
        }
    }

    if (flags & MODEL_FLAG_USES_CUSTOM_GFX) {
        customGfxIndex = (model->customGfxIndex & 0xF) * 2;
        if ((*gCurrentCustomModelGfxPtr)[customGfxIndex] != NULL) {
            gSPDisplayList((*gfxPos)++, (*gCurrentCustomModelGfxPtr)[customGfxIndex]);
        }
    }

    if (textureHeader != NULL) {
        if (flags & MODEL_FLAG_HAS_TEX_PANNER) {
            s32 panMainU = texPannerMainU[model->texPannerID] >> 8;
            s32 panMainV = texPannerMainV[model->texPannerID] >> 8;
            s32 panAuxU = texPannerAuxU[model->texPannerID] >> 8;
            s32 panAuxV = texPannerAuxV[model->texPannerID] >> 8;

            switch (extraTileType) {
                case EXTRA_TILE_AUX_SAME_AS_MAIN:
                    gDPSetTileSize((*gfxPos)++, G_TX_RENDERTILE, panMainU, panMainV, (textureHeader->mainW - 1) * 4 + panMainU, (textureHeader->mainH / 2 - 1) * 4 + panMainV);
                    gDPSetTileSize((*gfxPos)++, G_TX_RENDERTILE + 1, panAuxU, panAuxV, (textureHeader->mainW - 1) * 4 + panAuxU, (textureHeader->mainH / 2 - 1) * 4 + panAuxV);
                    break;
                case EXTRA_TILE_AUX_INDEPENDENT:
                    gDPSetTileSize((*gfxPos)++, G_TX_RENDERTILE, panMainU, panMainV, (textureHeader->mainW - 1) * 4 + panMainU, (textureHeader->mainH - 1) * 4 + panMainV);
                    gDPSetTileSize((*gfxPos)++, G_TX_RENDERTILE + 1, panAuxU, panAuxV, (textureHeader->auxW - 1) * 4 + panAuxU, (textureHeader->auxH - 1) * 4 + panAuxV);
                    break;
                default:
                    gDPSetTileSize((*gfxPos)++, G_TX_RENDERTILE, panMainU, panMainV, (textureHeader->mainW - 1) * 4 + panMainU, (textureHeader->mainH - 1) * 4 + panMainV);
                    break;
            }
        }
    }
    if (flags & MODEL_FLAG_USE_CAMERA_UNK_MATRIX) {
        gSPMatrix((*gfxPos)++, gCameras[gCurrentCamID].unkMatrix, mtxLoadMode | mtxPushMode | G_MTX_MODELVIEW);
        if (mtxPushMode != G_MTX_NOPUSH) {
            mtxPushMode = G_MTX_NOPUSH;
        }
        if (mtxLoadMode != G_MTX_MUL) {
            mtxLoadMode = G_MTX_MUL;
        }
    }
    if (!(flags & MODEL_FLAG_HAS_LOCAL_VERTEX_COPY)) {
        gSPDisplayList((*gfxPos)++, modelNode->displayData->displayList);
    }

    if (flags & MODEL_FLAG_USES_CUSTOM_GFX) {
        customGfxIndex++;
        if ((*gCurrentCustomModelGfxPtr)[customGfxIndex] != NULL) {
            gSPDisplayList((*gfxPos)++, (*gCurrentCustomModelGfxPtr)[customGfxIndex]);
        }
    }

    if (mtxPushMode == G_MTX_NOPUSH) {
        gSPPopMatrix((*gfxPos)++, G_MTX_MODELVIEW);
    }

    gDPPipeSync((*gfxPos)++);
}