.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_E00423B8 /* 354B58 E00423B8 27BDFF28 */ addiu $sp, $sp, -0xd8 /* 354B5C E00423BC 3C05DB06 */ lui $a1, 0xdb06 /* 354B60 E00423C0 34A50024 */ ori $a1, $a1, 0x24 /* 354B64 E00423C4 3C0638E3 */ lui $a2, 0x38e3 /* 354B68 E00423C8 34C68E39 */ ori $a2, $a2, 0x8e39 /* 354B6C E00423CC 3C08800A */ lui $t0, %hi(gMasterGfxPos) /* 354B70 E00423D0 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos) /* 354B74 E00423D4 3C02E700 */ lui $v0, 0xe700 /* 354B78 E00423D8 AFBF00C4 */ sw $ra, 0xc4($sp) /* 354B7C E00423DC AFBE00C0 */ sw $fp, 0xc0($sp) /* 354B80 E00423E0 AFB700BC */ sw $s7, 0xbc($sp) /* 354B84 E00423E4 AFB600B8 */ sw $s6, 0xb8($sp) /* 354B88 E00423E8 AFB500B4 */ sw $s5, 0xb4($sp) /* 354B8C E00423EC AFB400B0 */ sw $s4, 0xb0($sp) /* 354B90 E00423F0 AFB300AC */ sw $s3, 0xac($sp) /* 354B94 E00423F4 AFB200A8 */ sw $s2, 0xa8($sp) /* 354B98 E00423F8 AFB100A4 */ sw $s1, 0xa4($sp) /* 354B9C E00423FC AFB000A0 */ sw $s0, 0xa0($sp) /* 354BA0 E0042400 F7B600D0 */ sdc1 $f22, 0xd0($sp) /* 354BA4 E0042404 F7B400C8 */ sdc1 $f20, 0xc8($sp) /* 354BA8 E0042408 AFA400D8 */ sw $a0, 0xd8($sp) /* 354BAC E004240C 8D040000 */ lw $a0, ($t0) /* 354BB0 E0042410 8FA900D8 */ lw $t1, 0xd8($sp) /* 354BB4 E0042414 0080182D */ daddu $v1, $a0, $zero /* 354BB8 E0042418 8D27000C */ lw $a3, 0xc($t1) /* 354BBC E004241C 24840008 */ addiu $a0, $a0, 8 /* 354BC0 E0042420 AC620000 */ sw $v0, ($v1) /* 354BC4 E0042424 AC600004 */ sw $zero, 4($v1) /* 354BC8 E0042428 AC850000 */ sw $a1, ($a0) /* 354BCC E004242C 8D220010 */ lw $v0, 0x10($t1) /* 354BD0 E0042430 24150001 */ addiu $s5, $zero, 1 /* 354BD4 E0042434 AD040000 */ sw $a0, ($t0) /* 354BD8 E0042438 8C43001C */ lw $v1, 0x1c($v0) /* 354BDC E004243C 3C02DE00 */ lui $v0, 0xde00 /* 354BE0 E0042440 AC820008 */ sw $v0, 8($a0) /* 354BE4 E0042444 3C020900 */ lui $v0, 0x900 /* 354BE8 E0042448 244204C0 */ addiu $v0, $v0, 0x4c0 /* 354BEC E004244C AC82000C */ sw $v0, 0xc($a0) /* 354BF0 E0042450 3C028000 */ lui $v0, 0x8000 /* 354BF4 E0042454 00621821 */ addu $v1, $v1, $v0 /* 354BF8 E0042458 AC830004 */ sw $v1, 4($a0) /* 354BFC E004245C 24830008 */ addiu $v1, $a0, 8 /* 354C00 E0042460 8CE20034 */ lw $v0, 0x34($a3) /* 354C04 E0042464 24840010 */ addiu $a0, $a0, 0x10 /* 354C08 E0042468 AD030000 */ sw $v1, ($t0) /* 354C0C E004246C 2442FFFF */ addiu $v0, $v0, -1 /* 354C10 E0042470 02A21804 */ sllv $v1, $v0, $s5 /* 354C14 E0042474 00629821 */ addu $s3, $v1, $v0 /* 354C18 E0042478 02660018 */ mult $s3, $a2 /* 354C1C E004247C AD040000 */ sw $a0, ($t0) /* 354C20 E0042480 8CE9002C */ lw $t1, 0x2c($a3) /* 354C24 E0042484 001317C3 */ sra $v0, $s3, 0x1f /* 354C28 E0042488 AFA90098 */ sw $t1, 0x98($sp) /* 354C2C E004248C 00004810 */ mfhi $t1 /* 354C30 E0042490 000918C3 */ sra $v1, $t1, 3 /* 354C34 E0042494 00621823 */ subu $v1, $v1, $v0 /* 354C38 E0042498 000310C0 */ sll $v0, $v1, 3 /* 354C3C E004249C 00431021 */ addu $v0, $v0, $v1 /* 354C40 E00424A0 00021080 */ sll $v0, $v0, 2 /* 354C44 E00424A4 8FA900D8 */ lw $t1, 0xd8($sp) /* 354C48 E00424A8 02629823 */ subu $s3, $s3, $v0 /* 354C4C E00424AC 8D220008 */ lw $v0, 8($t1) /* 354C50 E00424B0 02A2102A */ slt $v0, $s5, $v0 /* 354C54 E00424B4 104000A1 */ beqz $v0, .LE004273C /* 354C58 E00424B8 24E70038 */ addiu $a3, $a3, 0x38 /* 354C5C E00424BC 0100A02D */ daddu $s4, $t0, $zero /* 354C60 E00424C0 3C1E38E3 */ lui $fp, 0x38e3 /* 354C64 E00424C4 37DE8E39 */ ori $fp, $fp, 0x8e39 /* 354C68 E00424C8 27B20058 */ addiu $s2, $sp, 0x58 /* 354C6C E00424CC 3C090001 */ lui $t1, 1 /* 354C70 E00424D0 35291630 */ ori $t1, $t1, 0x1630 /* 354C74 E00424D4 24F00024 */ addiu $s0, $a3, 0x24 /* 354C78 E00424D8 24170005 */ addiu $s7, $zero, 5 /* 354C7C E00424DC 24160004 */ addiu $s6, $zero, 4 /* 354C80 E00424E0 4480B000 */ mtc1 $zero, $f22 /* 354C84 E00424E4 3C013F80 */ lui $at, 0x3f80 /* 354C88 E00424E8 4481A000 */ mtc1 $at, $f20 /* 354C8C E00424EC 26710003 */ addiu $s1, $s3, 3 /* 354C90 E00424F0 AFA9009C */ sw $t1, 0x9c($sp) .LE00424F4: /* 354C94 E00424F4 27A40018 */ addiu $a0, $sp, 0x18 /* 354C98 E00424F8 02773821 */ addu $a3, $s3, $s7 /* 354C9C E00424FC 26F70003 */ addiu $s7, $s7, 3 /* 354CA0 E0042500 02763021 */ addu $a2, $s3, $s6 /* 354CA4 E0042504 26D60003 */ addiu $s6, $s6, 3 /* 354CA8 E0042508 26B50001 */ addiu $s5, $s5, 1 /* 354CAC E004250C 8E820000 */ lw $v0, ($s4) /* 354CB0 E0042510 023E0018 */ mult $s1, $fp /* 354CB4 E0042514 0040402D */ daddu $t0, $v0, $zero /* 354CB8 E0042518 24420008 */ addiu $v0, $v0, 8 /* 354CBC E004251C AE820000 */ sw $v0, ($s4) /* 354CC0 E0042520 3C02FA00 */ lui $v0, 0xfa00 /* 354CC4 E0042524 AD020000 */ sw $v0, ($t0) /* 354CC8 E0042528 001117C3 */ sra $v0, $s1, 0x1f /* 354CCC E004252C 00004810 */ mfhi $t1 /* 354CD0 E0042530 000918C3 */ sra $v1, $t1, 3 /* 354CD4 E0042534 00621823 */ subu $v1, $v1, $v0 /* 354CD8 E0042538 000328C0 */ sll $a1, $v1, 3 /* 354CDC E004253C 00A32821 */ addu $a1, $a1, $v1 /* 354CE0 E0042540 00052880 */ sll $a1, $a1, 2 /* 354CE4 E0042544 02252823 */ subu $a1, $s1, $a1 /* 354CE8 E0042548 3C09E004 */ lui $t1, %hi(D_E0042780) /* 354CEC E004254C 25292780 */ addiu $t1, $t1, %lo(D_E0042780) /* 354CF0 E0042550 00DE0018 */ mult $a2, $fp /* 354CF4 E0042554 00A92821 */ addu $a1, $a1, $t1 /* 354CF8 E0042558 90A50000 */ lbu $a1, ($a1) /* 354CFC E004255C 000617C3 */ sra $v0, $a2, 0x1f /* 354D00 E0042560 00052E00 */ sll $a1, $a1, 0x18 /* 354D04 E0042564 00004810 */ mfhi $t1 /* 354D08 E0042568 000918C3 */ sra $v1, $t1, 3 /* 354D0C E004256C 00621823 */ subu $v1, $v1, $v0 /* 354D10 E0042570 000310C0 */ sll $v0, $v1, 3 /* 354D14 E0042574 00431021 */ addu $v0, $v0, $v1 /* 354D18 E0042578 00021080 */ sll $v0, $v0, 2 /* 354D1C E004257C 00C23023 */ subu $a2, $a2, $v0 /* 354D20 E0042580 3C09E004 */ lui $t1, %hi(D_E0042780) /* 354D24 E0042584 25292780 */ addiu $t1, $t1, %lo(D_E0042780) /* 354D28 E0042588 00C93021 */ addu $a2, $a2, $t1 /* 354D2C E004258C 00FE0018 */ mult $a3, $fp /* 354D30 E0042590 90C60000 */ lbu $a2, ($a2) /* 354D34 E0042594 000717C3 */ sra $v0, $a3, 0x1f /* 354D38 E0042598 00063400 */ sll $a2, $a2, 0x10 /* 354D3C E004259C 00A62825 */ or $a1, $a1, $a2 /* 354D40 E00425A0 00004810 */ mfhi $t1 /* 354D44 E00425A4 000918C3 */ sra $v1, $t1, 3 /* 354D48 E00425A8 00621823 */ subu $v1, $v1, $v0 /* 354D4C E00425AC 000310C0 */ sll $v0, $v1, 3 /* 354D50 E00425B0 00431021 */ addu $v0, $v0, $v1 /* 354D54 E00425B4 00021080 */ sll $v0, $v0, 2 /* 354D58 E00425B8 00E23823 */ subu $a3, $a3, $v0 /* 354D5C E00425BC 3C09E004 */ lui $t1, %hi(D_E0042780) /* 354D60 E00425C0 25292780 */ addiu $t1, $t1, %lo(D_E0042780) /* 354D64 E00425C4 00E93821 */ addu $a3, $a3, $t1 /* 354D68 E00425C8 90E20000 */ lbu $v0, ($a3) /* 354D6C E00425CC 8FA90098 */ lw $t1, 0x98($sp) /* 354D70 E00425D0 00021200 */ sll $v0, $v0, 8 /* 354D74 E00425D4 00A22825 */ or $a1, $a1, $v0 /* 354D78 E00425D8 312200FF */ andi $v0, $t1, 0xff /* 354D7C E00425DC 00A22825 */ or $a1, $a1, $v0 /* 354D80 E00425E0 AD050004 */ sw $a1, 4($t0) /* 354D84 E00425E4 8E05FFE0 */ lw $a1, -0x20($s0) /* 354D88 E00425E8 8E06FFE4 */ lw $a2, -0x1c($s0) /* 354D8C E00425EC 8E07FFE8 */ lw $a3, -0x18($s0) /* 354D90 E00425F0 0C080108 */ jal func_E0200420 /* 354D94 E00425F4 26310003 */ addiu $s1, $s1, 3 /* 354D98 E00425F8 3C09800B */ lui $t1, %hi(gCameras) /* 354D9C E00425FC 25291D80 */ addiu $t1, $t1, %lo(gCameras) /* 354DA0 E0042600 3C038007 */ lui $v1, %hi(gCurrentCameraID) /* 354DA4 E0042604 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) /* 354DA8 E0042608 4406B000 */ mfc1 $a2, $f22 /* 354DAC E004260C 00031080 */ sll $v0, $v1, 2 /* 354DB0 E0042610 00431021 */ addu $v0, $v0, $v1 /* 354DB4 E0042614 00021080 */ sll $v0, $v0, 2 /* 354DB8 E0042618 00431023 */ subu $v0, $v0, $v1 /* 354DBC E004261C 000218C0 */ sll $v1, $v0, 3 /* 354DC0 E0042620 00431021 */ addu $v0, $v0, $v1 /* 354DC4 E0042624 000210C0 */ sll $v0, $v0, 3 /* 354DC8 E0042628 00491021 */ addu $v0, $v0, $t1 /* 354DCC E004262C C440006C */ lwc1 $f0, 0x6c($v0) /* 354DD0 E0042630 4407A000 */ mfc1 $a3, $f20 /* 354DD4 E0042634 46000007 */ neg.s $f0, $f0 /* 354DD8 E0042638 44050000 */ mfc1 $a1, $f0 /* 354DDC E004263C 0240202D */ daddu $a0, $s2, $zero /* 354DE0 E0042640 0C080104 */ jal func_E0200410 /* 354DE4 E0042644 E7B60010 */ swc1 $f22, 0x10($sp) /* 354DE8 E0042648 0240202D */ daddu $a0, $s2, $zero /* 354DEC E004264C 27A50018 */ addiu $a1, $sp, 0x18 /* 354DF0 E0042650 0C080114 */ jal func_E0200450 /* 354DF4 E0042654 00A0302D */ daddu $a2, $a1, $zero /* 354DF8 E0042658 0240202D */ daddu $a0, $s2, $zero /* 354DFC E004265C 8E050000 */ lw $a1, ($s0) /* 354E00 E0042660 4407A000 */ mfc1 $a3, $f20 /* 354E04 E0042664 0C080110 */ jal func_E0200440 /* 354E08 E0042668 00A0302D */ daddu $a2, $a1, $zero /* 354E0C E004266C 0240202D */ daddu $a0, $s2, $zero /* 354E10 E0042670 27A50018 */ addiu $a1, $sp, 0x18 /* 354E14 E0042674 0C080114 */ jal func_E0200450 /* 354E18 E0042678 00A0302D */ daddu $a2, $a1, $zero /* 354E1C E004267C 27A40018 */ addiu $a0, $sp, 0x18 /* 354E20 E0042680 3C058007 */ lui $a1, %hi(gMatrixListPos) /* 354E24 E0042684 94A541F0 */ lhu $a1, %lo(gMatrixListPos)($a1) /* 354E28 E0042688 3C02800A */ lui $v0, %hi(gDisplayContext) /* 354E2C E004268C 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0) /* 354E30 E0042690 8FA9009C */ lw $t1, 0x9c($sp) /* 354E34 E0042694 00052980 */ sll $a1, $a1, 6 /* 354E38 E0042698 00A92821 */ addu $a1, $a1, $t1 /* 354E3C E004269C 0C080118 */ jal func_E0200460 /* 354E40 E00426A0 00452821 */ addu $a1, $v0, $a1 /* 354E44 E00426A4 3C06D838 */ lui $a2, 0xd838 /* 354E48 E00426A8 8E840000 */ lw $a0, ($s4) /* 354E4C E00426AC 34C60002 */ ori $a2, $a2, 2 /* 354E50 E00426B0 0080282D */ daddu $a1, $a0, $zero /* 354E54 E00426B4 24840008 */ addiu $a0, $a0, 8 /* 354E58 E00426B8 AE840000 */ sw $a0, ($s4) /* 354E5C E00426BC 3C028007 */ lui $v0, %hi(gMatrixListPos) /* 354E60 E00426C0 944241F0 */ lhu $v0, %lo(gMatrixListPos)($v0) /* 354E64 E00426C4 3C03DA38 */ lui $v1, 0xda38 /* 354E68 E00426C8 ACA30000 */ sw $v1, ($a1) /* 354E6C E00426CC 8FA9009C */ lw $t1, 0x9c($sp) /* 354E70 E00426D0 24430001 */ addiu $v1, $v0, 1 /* 354E74 E00426D4 3042FFFF */ andi $v0, $v0, 0xffff /* 354E78 E00426D8 00021180 */ sll $v0, $v0, 6 /* 354E7C E00426DC 3C018007 */ lui $at, %hi(gMatrixListPos) /* 354E80 E00426E0 A42341F0 */ sh $v1, %lo(gMatrixListPos)($at) /* 354E84 E00426E4 3C03800A */ lui $v1, %hi(gDisplayContext) /* 354E88 E00426E8 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1) /* 354E8C E00426EC 00491021 */ addu $v0, $v0, $t1 /* 354E90 E00426F0 00621821 */ addu $v1, $v1, $v0 /* 354E94 E00426F4 24820008 */ addiu $v0, $a0, 8 /* 354E98 E00426F8 ACA30004 */ sw $v1, 4($a1) /* 354E9C E00426FC AE820000 */ sw $v0, ($s4) /* 354EA0 E0042700 3C02DE00 */ lui $v0, 0xde00 /* 354EA4 E0042704 3C090900 */ lui $t1, 0x900 /* 354EA8 E0042708 252905E0 */ addiu $t1, $t1, 0x5e0 /* 354EAC E004270C AC820000 */ sw $v0, ($a0) /* 354EB0 E0042710 24020040 */ addiu $v0, $zero, 0x40 /* 354EB4 E0042714 AC890004 */ sw $t1, 4($a0) /* 354EB8 E0042718 AC860008 */ sw $a2, 8($a0) /* 354EBC E004271C AC82000C */ sw $v0, 0xc($a0) /* 354EC0 E0042720 8FA900D8 */ lw $t1, 0xd8($sp) /* 354EC4 E0042724 26100038 */ addiu $s0, $s0, 0x38 /* 354EC8 E0042728 8D220008 */ lw $v0, 8($t1) /* 354ECC E004272C 24840010 */ addiu $a0, $a0, 0x10 /* 354ED0 E0042730 02A2102A */ slt $v0, $s5, $v0 /* 354ED4 E0042734 1440FF6F */ bnez $v0, .LE00424F4 /* 354ED8 E0042738 AE840000 */ sw $a0, ($s4) .LE004273C: /* 354EDC E004273C 8FBF00C4 */ lw $ra, 0xc4($sp) /* 354EE0 E0042740 8FBE00C0 */ lw $fp, 0xc0($sp) /* 354EE4 E0042744 8FB700BC */ lw $s7, 0xbc($sp) /* 354EE8 E0042748 8FB600B8 */ lw $s6, 0xb8($sp) /* 354EEC E004274C 8FB500B4 */ lw $s5, 0xb4($sp) /* 354EF0 E0042750 8FB400B0 */ lw $s4, 0xb0($sp) /* 354EF4 E0042754 8FB300AC */ lw $s3, 0xac($sp) /* 354EF8 E0042758 8FB200A8 */ lw $s2, 0xa8($sp) /* 354EFC E004275C 8FB100A4 */ lw $s1, 0xa4($sp) /* 354F00 E0042760 8FB000A0 */ lw $s0, 0xa0($sp) /* 354F04 E0042764 D7B600D0 */ ldc1 $f22, 0xd0($sp) /* 354F08 E0042768 D7B400C8 */ ldc1 $f20, 0xc8($sp) /* 354F0C E004276C 03E00008 */ jr $ra /* 354F10 E0042770 27BD00D8 */ addiu $sp, $sp, 0xd8 /* 354F14 E0042774 00000000 */ nop /* 354F18 E0042778 00000000 */ nop /* 354F1C E004277C 00000000 */ nop