.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_E00E0600 /* 3DBA60 E00E0600 27BDFF48 */ addiu $sp, $sp, -0xb8 /* 3DBA64 E00E0604 AFBE00B0 */ sw $fp, 0xb0($sp) /* 3DBA68 E00E0608 0080F02D */ daddu $fp, $a0, $zero /* 3DBA6C E00E060C 3C06DB06 */ lui $a2, 0xdb06 /* 3DBA70 E00E0610 34C60024 */ ori $a2, $a2, 0x24 /* 3DBA74 E00E0614 27A40010 */ addiu $a0, $sp, 0x10 /* 3DBA78 E00E0618 AFB3009C */ sw $s3, 0x9c($sp) /* 3DBA7C E00E061C 3C130001 */ lui $s3, 1 /* 3DBA80 E00E0620 36731630 */ ori $s3, $s3, 0x1630 /* 3DBA84 E00E0624 AFB500A4 */ sw $s5, 0xa4($sp) /* 3DBA88 E00E0628 24150001 */ addiu $s5, $zero, 1 /* 3DBA8C E00E062C AFB600A8 */ sw $s6, 0xa8($sp) /* 3DBA90 E00E0630 3C16800A */ lui $s6, %hi(gMasterGfxPos) /* 3DBA94 E00E0634 26D6A66C */ addiu $s6, $s6, %lo(gMasterGfxPos) /* 3DBA98 E00E0638 AFBF00B4 */ sw $ra, 0xb4($sp) /* 3DBA9C E00E063C AFB700AC */ sw $s7, 0xac($sp) /* 3DBAA0 E00E0640 AFB400A0 */ sw $s4, 0xa0($sp) /* 3DBAA4 E00E0644 AFB20098 */ sw $s2, 0x98($sp) /* 3DBAA8 E00E0648 AFB10094 */ sw $s1, 0x94($sp) /* 3DBAAC E00E064C AFB00090 */ sw $s0, 0x90($sp) /* 3DBAB0 E00E0650 8EC50000 */ lw $a1, ($s6) /* 3DBAB4 E00E0654 8FD4000C */ lw $s4, 0xc($fp) /* 3DBAB8 E00E0658 00A0182D */ daddu $v1, $a1, $zero /* 3DBABC E00E065C 24A50008 */ addiu $a1, $a1, 8 /* 3DBAC0 E00E0660 AEC50000 */ sw $a1, ($s6) /* 3DBAC4 E00E0664 8E92002C */ lw $s2, 0x2c($s4) /* 3DBAC8 E00E0668 3C02E700 */ lui $v0, 0xe700 /* 3DBACC E00E066C AC620000 */ sw $v0, ($v1) /* 3DBAD0 E00E0670 AC600004 */ sw $zero, 4($v1) /* 3DBAD4 E00E0674 ACA60000 */ sw $a2, ($a1) /* 3DBAD8 E00E0678 8FC30010 */ lw $v1, 0x10($fp) /* 3DBADC E00E067C 24A20008 */ addiu $v0, $a1, 8 /* 3DBAE0 E00E0680 AEC20000 */ sw $v0, ($s6) /* 3DBAE4 E00E0684 8C62001C */ lw $v0, 0x1c($v1) /* 3DBAE8 E00E0688 3C038000 */ lui $v1, 0x8000 /* 3DBAEC E00E068C 00431021 */ addu $v0, $v0, $v1 /* 3DBAF0 E00E0690 3C03800B */ lui $v1, %hi(gCameras) /* 3DBAF4 E00E0694 24631D80 */ addiu $v1, $v1, %lo(gCameras) /* 3DBAF8 E00E0698 ACA20004 */ sw $v0, 4($a1) /* 3DBAFC E00E069C 8E850004 */ lw $a1, 4($s4) /* 3DBB00 E00E06A0 8E860008 */ lw $a2, 8($s4) /* 3DBB04 E00E06A4 3C028007 */ lui $v0, %hi(gCurrentCameraID) /* 3DBB08 E00E06A8 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) /* 3DBB0C E00E06AC 8E87000C */ lw $a3, 0xc($s4) /* 3DBB10 E00E06B0 00028080 */ sll $s0, $v0, 2 /* 3DBB14 E00E06B4 02028021 */ addu $s0, $s0, $v0 /* 3DBB18 E00E06B8 00108080 */ sll $s0, $s0, 2 /* 3DBB1C E00E06BC 02028023 */ subu $s0, $s0, $v0 /* 3DBB20 E00E06C0 001010C0 */ sll $v0, $s0, 3 /* 3DBB24 E00E06C4 02028021 */ addu $s0, $s0, $v0 /* 3DBB28 E00E06C8 001080C0 */ sll $s0, $s0, 3 /* 3DBB2C E00E06CC 0C080108 */ jal func_E0200420 /* 3DBB30 E00E06D0 02038021 */ addu $s0, $s0, $v1 /* 3DBB34 E00E06D4 27B10050 */ addiu $s1, $sp, 0x50 /* 3DBB38 E00E06D8 8E850040 */ lw $a1, 0x40($s4) /* 3DBB3C E00E06DC 0220202D */ daddu $a0, $s1, $zero /* 3DBB40 E00E06E0 00A0302D */ daddu $a2, $a1, $zero /* 3DBB44 E00E06E4 0C080110 */ jal func_E0200440 /* 3DBB48 E00E06E8 00A0382D */ daddu $a3, $a1, $zero /* 3DBB4C E00E06EC 0220202D */ daddu $a0, $s1, $zero /* 3DBB50 E00E06F0 27A50010 */ addiu $a1, $sp, 0x10 /* 3DBB54 E00E06F4 0C080114 */ jal func_E0200450 /* 3DBB58 E00E06F8 00A0302D */ daddu $a2, $a1, $zero /* 3DBB5C E00E06FC 27A40010 */ addiu $a0, $sp, 0x10 /* 3DBB60 E00E0700 3C118007 */ lui $s1, %hi(gMatrixListPos) /* 3DBB64 E00E0704 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos) /* 3DBB68 E00E0708 3C17800A */ lui $s7, %hi(gDisplayContext) /* 3DBB6C E00E070C 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext) /* 3DBB70 E00E0710 96250000 */ lhu $a1, ($s1) /* 3DBB74 E00E0714 8EE20000 */ lw $v0, ($s7) /* 3DBB78 E00E0718 00052980 */ sll $a1, $a1, 6 /* 3DBB7C E00E071C 00B32821 */ addu $a1, $a1, $s3 /* 3DBB80 E00E0720 0C080118 */ jal func_E0200460 /* 3DBB84 E00E0724 00452821 */ addu $a1, $v0, $a1 /* 3DBB88 E00E0728 3C03DA38 */ lui $v1, 0xda38 /* 3DBB8C E00E072C 34630002 */ ori $v1, $v1, 2 /* 3DBB90 E00E0730 3C06DA38 */ lui $a2, 0xda38 /* 3DBB94 E00E0734 00D53025 */ or $a2, $a2, $s5 /* 3DBB98 E00E0738 325200FF */ andi $s2, $s2, 0xff /* 3DBB9C E00E073C 8EC40000 */ lw $a0, ($s6) /* 3DBBA0 E00E0740 96220000 */ lhu $v0, ($s1) /* 3DBBA4 E00E0744 0080282D */ daddu $a1, $a0, $zero /* 3DBBA8 E00E0748 24840008 */ addiu $a0, $a0, 8 /* 3DBBAC E00E074C AEC40000 */ sw $a0, ($s6) /* 3DBBB0 E00E0750 ACA30000 */ sw $v1, ($a1) /* 3DBBB4 E00E0754 00551821 */ addu $v1, $v0, $s5 /* 3DBBB8 E00E0758 3042FFFF */ andi $v0, $v0, 0xffff /* 3DBBBC E00E075C 00021180 */ sll $v0, $v0, 6 /* 3DBBC0 E00E0760 A6230000 */ sh $v1, ($s1) /* 3DBBC4 E00E0764 8EE30000 */ lw $v1, ($s7) /* 3DBBC8 E00E0768 00531021 */ addu $v0, $v0, $s3 /* 3DBBCC E00E076C 00621821 */ addu $v1, $v1, $v0 /* 3DBBD0 E00E0770 24820008 */ addiu $v0, $a0, 8 /* 3DBBD4 E00E0774 ACA30004 */ sw $v1, 4($a1) /* 3DBBD8 E00E0778 AEC20000 */ sw $v0, ($s6) /* 3DBBDC E00E077C 24820010 */ addiu $v0, $a0, 0x10 /* 3DBBE0 E00E0780 AC860000 */ sw $a2, ($a0) /* 3DBBE4 E00E0784 AEC20000 */ sw $v0, ($s6) /* 3DBBE8 E00E0788 8E030204 */ lw $v1, 0x204($s0) /* 3DBBEC E00E078C 3C02FA00 */ lui $v0, 0xfa00 /* 3DBBF0 E00E0790 AC820008 */ sw $v0, 8($a0) /* 3DBBF4 E00E0794 AC830004 */ sw $v1, 4($a0) /* 3DBBF8 E00E0798 92820023 */ lbu $v0, 0x23($s4) /* 3DBBFC E00E079C 92850027 */ lbu $a1, 0x27($s4) /* 3DBC00 E00E07A0 9286002B */ lbu $a2, 0x2b($s4) /* 3DBC04 E00E07A4 24830018 */ addiu $v1, $a0, 0x18 /* 3DBC08 E00E07A8 AEC30000 */ sw $v1, ($s6) /* 3DBC0C E00E07AC 3C03FB00 */ lui $v1, 0xfb00 /* 3DBC10 E00E07B0 AC830010 */ sw $v1, 0x10($a0) /* 3DBC14 E00E07B4 00021600 */ sll $v0, $v0, 0x18 /* 3DBC18 E00E07B8 00052C00 */ sll $a1, $a1, 0x10 /* 3DBC1C E00E07BC 00451025 */ or $v0, $v0, $a1 /* 3DBC20 E00E07C0 00063200 */ sll $a2, $a2, 8 /* 3DBC24 E00E07C4 00461025 */ or $v0, $v0, $a2 /* 3DBC28 E00E07C8 00521025 */ or $v0, $v0, $s2 /* 3DBC2C E00E07CC AC82000C */ sw $v0, 0xc($a0) /* 3DBC30 E00E07D0 92820033 */ lbu $v0, 0x33($s4) /* 3DBC34 E00E07D4 92850037 */ lbu $a1, 0x37($s4) /* 3DBC38 E00E07D8 9286003B */ lbu $a2, 0x3b($s4) /* 3DBC3C E00E07DC 9287003F */ lbu $a3, 0x3f($s4) /* 3DBC40 E00E07E0 3C03DE00 */ lui $v1, 0xde00 /* 3DBC44 E00E07E4 AC830018 */ sw $v1, 0x18($a0) /* 3DBC48 E00E07E8 00021600 */ sll $v0, $v0, 0x18 /* 3DBC4C E00E07EC 00052C00 */ sll $a1, $a1, 0x10 /* 3DBC50 E00E07F0 00451025 */ or $v0, $v0, $a1 /* 3DBC54 E00E07F4 00063200 */ sll $a2, $a2, 8 /* 3DBC58 E00E07F8 00461025 */ or $v0, $v0, $a2 /* 3DBC5C E00E07FC 00471025 */ or $v0, $v0, $a3 /* 3DBC60 E00E0800 AC820014 */ sw $v0, 0x14($a0) /* 3DBC64 E00E0804 3C02E00E */ lui $v0, %hi(D_E00E0A44) /* 3DBC68 E00E0808 8C420A44 */ lw $v0, %lo(D_E00E0A44)($v0) /* 3DBC6C E00E080C 26940070 */ addiu $s4, $s4, 0x70 /* 3DBC70 E00E0810 AC82001C */ sw $v0, 0x1c($a0) /* 3DBC74 E00E0814 8FC20008 */ lw $v0, 8($fp) /* 3DBC78 E00E0818 24840020 */ addiu $a0, $a0, 0x20 /* 3DBC7C E00E081C 02A2102A */ slt $v0, $s5, $v0 /* 3DBC80 E00E0820 10400070 */ beqz $v0, .LE00E09E4 /* 3DBC84 E00E0824 AEC40000 */ sw $a0, ($s6) /* 3DBC88 E00E0828 0220982D */ daddu $s3, $s1, $zero /* 3DBC8C E00E082C 3C120001 */ lui $s2, 1 /* 3DBC90 E00E0830 36521630 */ ori $s2, $s2, 0x1630 /* 3DBC94 E00E0834 02C0882D */ daddu $s1, $s6, $zero /* 3DBC98 E00E0838 3C16F200 */ lui $s6, 0xf200 /* 3DBC9C E00E083C 26900060 */ addiu $s0, $s4, 0x60 .LE00E0840: /* 3DBCA0 E00E0840 8E020004 */ lw $v0, 4($s0) /* 3DBCA4 E00E0844 04420063 */ bltzl $v0, .LE00E09D4 /* 3DBCA8 E00E0848 26B50001 */ addiu $s5, $s5, 1 /* 3DBCAC E00E084C 8E05FFA4 */ lw $a1, -0x5c($s0) /* 3DBCB0 E00E0850 8E06FFA8 */ lw $a2, -0x58($s0) /* 3DBCB4 E00E0854 8E07FFAC */ lw $a3, -0x54($s0) /* 3DBCB8 E00E0858 0C080108 */ jal func_E0200420 /* 3DBCBC E00E085C 27A40010 */ addiu $a0, $sp, 0x10 /* 3DBCC0 E00E0860 27A40010 */ addiu $a0, $sp, 0x10 /* 3DBCC4 E00E0864 96650000 */ lhu $a1, ($s3) /* 3DBCC8 E00E0868 8EE20000 */ lw $v0, ($s7) /* 3DBCCC E00E086C 00052980 */ sll $a1, $a1, 6 /* 3DBCD0 E00E0870 00B22821 */ addu $a1, $a1, $s2 /* 3DBCD4 E00E0874 0C080118 */ jal func_E0200460 /* 3DBCD8 E00E0878 00452821 */ addu $a1, $v0, $a1 /* 3DBCDC E00E087C 8E260000 */ lw $a2, ($s1) /* 3DBCE0 E00E0880 02A0382D */ daddu $a3, $s5, $zero /* 3DBCE4 E00E0884 00C0202D */ daddu $a0, $a2, $zero /* 3DBCE8 E00E0888 24C60008 */ addiu $a2, $a2, 8 /* 3DBCEC E00E088C AE260000 */ sw $a2, ($s1) /* 3DBCF0 E00E0890 96620000 */ lhu $v0, ($s3) /* 3DBCF4 E00E0894 3C03DA38 */ lui $v1, 0xda38 /* 3DBCF8 E00E0898 AC830000 */ sw $v1, ($a0) /* 3DBCFC E00E089C 24430001 */ addiu $v1, $v0, 1 /* 3DBD00 E00E08A0 3042FFFF */ andi $v0, $v0, 0xffff /* 3DBD04 E00E08A4 00021180 */ sll $v0, $v0, 6 /* 3DBD08 E00E08A8 A6630000 */ sh $v1, ($s3) /* 3DBD0C E00E08AC 8EE30000 */ lw $v1, ($s7) /* 3DBD10 E00E08B0 00521021 */ addu $v0, $v0, $s2 /* 3DBD14 E00E08B4 00621821 */ addu $v1, $v1, $v0 /* 3DBD18 E00E08B8 24C20008 */ addiu $v0, $a2, 8 /* 3DBD1C E00E08BC AC830004 */ sw $v1, 4($a0) /* 3DBD20 E00E08C0 06A10002 */ bgez $s5, .LE00E08CC /* 3DBD24 E00E08C4 AE220000 */ sw $v0, ($s1) /* 3DBD28 E00E08C8 26A70003 */ addiu $a3, $s5, 3 .LE00E08CC: /* 3DBD2C E00E08CC 3C040003 */ lui $a0, 3 /* 3DBD30 E00E08D0 3484C000 */ ori $a0, $a0, 0xc000 /* 3DBD34 E00E08D4 3C05D838 */ lui $a1, 0xd838 /* 3DBD38 E00E08D8 34A50002 */ ori $a1, $a1, 2 /* 3DBD3C E00E08DC 00071883 */ sra $v1, $a3, 2 /* 3DBD40 E00E08E0 00031880 */ sll $v1, $v1, 2 /* 3DBD44 E00E08E4 02A31823 */ subu $v1, $s5, $v1 /* 3DBD48 E00E08E8 00031180 */ sll $v0, $v1, 6 /* 3DBD4C E00E08EC 30420FFF */ andi $v0, $v0, 0xfff /* 3DBD50 E00E08F0 00561025 */ or $v0, $v0, $s6 /* 3DBD54 E00E08F4 00031980 */ sll $v1, $v1, 6 /* 3DBD58 E00E08F8 3463003C */ ori $v1, $v1, 0x3c /* 3DBD5C E00E08FC 30630FFF */ andi $v1, $v1, 0xfff /* 3DBD60 E00E0900 00641825 */ or $v1, $v1, $a0 /* 3DBD64 E00E0904 ACC20000 */ sw $v0, ($a2) /* 3DBD68 E00E0908 24C20010 */ addiu $v0, $a2, 0x10 /* 3DBD6C E00E090C ACC30004 */ sw $v1, 4($a2) /* 3DBD70 E00E0910 AE220000 */ sw $v0, ($s1) /* 3DBD74 E00E0914 24C20018 */ addiu $v0, $a2, 0x18 /* 3DBD78 E00E0918 C600FFFC */ lwc1 $f0, -4($s0) /* 3DBD7C E00E091C 3C040100 */ lui $a0, 0x100 /* 3DBD80 E00E0920 AE220000 */ sw $v0, ($s1) /* 3DBD84 E00E0924 4600010D */ trunc.w.s $f4, $f0 /* 3DBD88 E00E0928 44032000 */ mfc1 $v1, $f4 /* 3DBD8C E00E092C 00000000 */ nop /* 3DBD90 E00E0930 00031880 */ sll $v1, $v1, 2 /* 3DBD94 E00E0934 30630FFF */ andi $v1, $v1, 0xfff /* 3DBD98 E00E0938 C6000000 */ lwc1 $f0, ($s0) /* 3DBD9C E00E093C 00031B00 */ sll $v1, $v1, 0xc /* 3DBDA0 E00E0940 4600010D */ trunc.w.s $f4, $f0 /* 3DBDA4 E00E0944 44022000 */ mfc1 $v0, $f4 /* 3DBDA8 E00E0948 00000000 */ nop /* 3DBDAC E00E094C 00021080 */ sll $v0, $v0, 2 /* 3DBDB0 E00E0950 30420FFF */ andi $v0, $v0, 0xfff /* 3DBDB4 E00E0954 00561025 */ or $v0, $v0, $s6 /* 3DBDB8 E00E0958 00621825 */ or $v1, $v1, $v0 /* 3DBDBC E00E095C ACC30008 */ sw $v1, 8($a2) /* 3DBDC0 E00E0960 C600FFFC */ lwc1 $f0, -4($s0) /* 3DBDC4 E00E0964 C6020000 */ lwc1 $f2, ($s0) /* 3DBDC8 E00E0968 3C02DE00 */ lui $v0, 0xde00 /* 3DBDCC E00E096C ACC20010 */ sw $v0, 0x10($a2) /* 3DBDD0 E00E0970 4600010D */ trunc.w.s $f4, $f0 /* 3DBDD4 E00E0974 44032000 */ mfc1 $v1, $f4 /* 3DBDD8 E00E0978 00000000 */ nop /* 3DBDDC E00E097C 2463000F */ addiu $v1, $v1, 0xf /* 3DBDE0 E00E0980 00031880 */ sll $v1, $v1, 2 /* 3DBDE4 E00E0984 30630FFF */ andi $v1, $v1, 0xfff /* 3DBDE8 E00E0988 00031B00 */ sll $v1, $v1, 0xc /* 3DBDEC E00E098C 4600110D */ trunc.w.s $f4, $f2 /* 3DBDF0 E00E0990 44022000 */ mfc1 $v0, $f4 /* 3DBDF4 E00E0994 00000000 */ nop /* 3DBDF8 E00E0998 2442000F */ addiu $v0, $v0, 0xf /* 3DBDFC E00E099C 00021080 */ sll $v0, $v0, 2 /* 3DBE00 E00E09A0 30420FFF */ andi $v0, $v0, 0xfff /* 3DBE04 E00E09A4 00441025 */ or $v0, $v0, $a0 /* 3DBE08 E00E09A8 00621825 */ or $v1, $v1, $v0 /* 3DBE0C E00E09AC ACC3000C */ sw $v1, 0xc($a2) /* 3DBE10 E00E09B0 3C03E00E */ lui $v1, %hi(D_E00E0A40) /* 3DBE14 E00E09B4 8C630A40 */ lw $v1, %lo(D_E00E0A40)($v1) /* 3DBE18 E00E09B8 24C20020 */ addiu $v0, $a2, 0x20 /* 3DBE1C E00E09BC AE220000 */ sw $v0, ($s1) /* 3DBE20 E00E09C0 24020040 */ addiu $v0, $zero, 0x40 /* 3DBE24 E00E09C4 ACC50018 */ sw $a1, 0x18($a2) /* 3DBE28 E00E09C8 ACC2001C */ sw $v0, 0x1c($a2) /* 3DBE2C E00E09CC ACC30014 */ sw $v1, 0x14($a2) /* 3DBE30 E00E09D0 26B50001 */ addiu $s5, $s5, 1 .LE00E09D4: /* 3DBE34 E00E09D4 8FC20008 */ lw $v0, 8($fp) /* 3DBE38 E00E09D8 02A2102A */ slt $v0, $s5, $v0 /* 3DBE3C E00E09DC 1440FF98 */ bnez $v0, .LE00E0840 /* 3DBE40 E00E09E0 26100070 */ addiu $s0, $s0, 0x70 .LE00E09E4: /* 3DBE44 E00E09E4 3C05D838 */ lui $a1, 0xd838 /* 3DBE48 E00E09E8 3C03800A */ lui $v1, %hi(gMasterGfxPos) /* 3DBE4C E00E09EC 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) /* 3DBE50 E00E09F0 8C620000 */ lw $v0, ($v1) /* 3DBE54 E00E09F4 34A50002 */ ori $a1, $a1, 2 /* 3DBE58 E00E09F8 0040202D */ daddu $a0, $v0, $zero /* 3DBE5C E00E09FC 24420008 */ addiu $v0, $v0, 8 /* 3DBE60 E00E0A00 AC620000 */ sw $v0, ($v1) /* 3DBE64 E00E0A04 24020040 */ addiu $v0, $zero, 0x40 /* 3DBE68 E00E0A08 AC850000 */ sw $a1, ($a0) /* 3DBE6C E00E0A0C AC820004 */ sw $v0, 4($a0) /* 3DBE70 E00E0A10 8FBF00B4 */ lw $ra, 0xb4($sp) /* 3DBE74 E00E0A14 8FBE00B0 */ lw $fp, 0xb0($sp) /* 3DBE78 E00E0A18 8FB700AC */ lw $s7, 0xac($sp) /* 3DBE7C E00E0A1C 8FB600A8 */ lw $s6, 0xa8($sp) /* 3DBE80 E00E0A20 8FB500A4 */ lw $s5, 0xa4($sp) /* 3DBE84 E00E0A24 8FB400A0 */ lw $s4, 0xa0($sp) /* 3DBE88 E00E0A28 8FB3009C */ lw $s3, 0x9c($sp) /* 3DBE8C E00E0A2C 8FB20098 */ lw $s2, 0x98($sp) /* 3DBE90 E00E0A30 8FB10094 */ lw $s1, 0x94($sp) /* 3DBE94 E00E0A34 8FB00090 */ lw $s0, 0x90($sp) /* 3DBE98 E00E0A38 03E00008 */ jr $ra /* 3DBE9C E00E0A3C 27BD00B8 */ addiu $sp, $sp, 0xb8