papermario/ver/us/asm/nonmatchings/effects/effect_64/func_E0080448.s
Ethan Roseman 555f0ea15b
Effects (#442)
* effect shim names

* fx_1_main and data migration

* fx_1_renderWorld

* header reorg

* remove stale comment

* effect_1

* cleanup

* fx_6 stuff

* most of effect_6, misc changes

* cleanup

* PR stuff

* warningz
2021-09-27 08:19:58 +09:00

435 lines
23 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0080448
/* 381708 E0080448 27BDFEE8 */ addiu $sp, $sp, -0x118
/* 38170C E008044C 3C05DB06 */ lui $a1, 0xdb06
/* 381710 E0080450 34A50024 */ ori $a1, $a1, 0x24
/* 381714 E0080454 AFA40118 */ sw $a0, 0x118($sp)
/* 381718 E0080458 27A40018 */ addiu $a0, $sp, 0x18
/* 38171C E008045C AFB300F4 */ sw $s3, 0xf4($sp)
/* 381720 E0080460 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 381724 E0080464 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 381728 E0080468 8FAA0118 */ lw $t2, 0x118($sp)
/* 38172C E008046C 3C02E700 */ lui $v0, 0xe700
/* 381730 E0080470 AFBF010C */ sw $ra, 0x10c($sp)
/* 381734 E0080474 AFBE0108 */ sw $fp, 0x108($sp)
/* 381738 E0080478 AFB70104 */ sw $s7, 0x104($sp)
/* 38173C E008047C AFB60100 */ sw $s6, 0x100($sp)
/* 381740 E0080480 AFB500FC */ sw $s5, 0xfc($sp)
/* 381744 E0080484 AFB400F8 */ sw $s4, 0xf8($sp)
/* 381748 E0080488 AFB200F0 */ sw $s2, 0xf0($sp)
/* 38174C E008048C AFB100EC */ sw $s1, 0xec($sp)
/* 381750 E0080490 AFB000E8 */ sw $s0, 0xe8($sp)
/* 381754 E0080494 F7B40110 */ sdc1 $f20, 0x110($sp)
/* 381758 E0080498 8E680000 */ lw $t0, ($s3)
/* 38175C E008049C 8D52000C */ lw $s2, 0xc($t2)
/* 381760 E00804A0 0100182D */ daddu $v1, $t0, $zero
/* 381764 E00804A4 8E4A0044 */ lw $t2, 0x44($s2)
/* 381768 E00804A8 25080008 */ addiu $t0, $t0, 8
/* 38176C E00804AC AFAA00DC */ sw $t2, 0xdc($sp)
/* 381770 E00804B0 AC620000 */ sw $v0, ($v1)
/* 381774 E00804B4 AC600004 */ sw $zero, 4($v1)
/* 381778 E00804B8 AD050000 */ sw $a1, ($t0)
/* 38177C E00804BC 8FAA0118 */ lw $t2, 0x118($sp)
/* 381780 E00804C0 3C110001 */ lui $s1, 1
/* 381784 E00804C4 8D420010 */ lw $v0, 0x10($t2)
/* 381788 E00804C8 36311630 */ ori $s1, $s1, 0x1630
/* 38178C E00804CC AE680000 */ sw $t0, ($s3)
/* 381790 E00804D0 8C42001C */ lw $v0, 0x1c($v0)
/* 381794 E00804D4 3C038000 */ lui $v1, 0x8000
/* 381798 E00804D8 00431021 */ addu $v0, $v0, $v1
/* 38179C E00804DC AD020004 */ sw $v0, 4($t0)
/* 3817A0 E00804E0 8E450004 */ lw $a1, 4($s2)
/* 3817A4 E00804E4 8E460008 */ lw $a2, 8($s2)
/* 3817A8 E00804E8 8E47000C */ lw $a3, 0xc($s2)
/* 3817AC E00804EC 25080008 */ addiu $t0, $t0, 8
/* 3817B0 E00804F0 0C080108 */ jal shim_guTranslateF
/* 3817B4 E00804F4 AE680000 */ sw $t0, ($s3)
/* 3817B8 E00804F8 27B50058 */ addiu $s5, $sp, 0x58
/* 3817BC E00804FC 3C013F80 */ lui $at, 0x3f80
/* 3817C0 E0080500 4481A000 */ mtc1 $at, $f20
/* 3817C4 E0080504 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3817C8 E0080508 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3817CC E008050C 44800000 */ mtc1 $zero, $f0
/* 3817D0 E0080510 00031080 */ sll $v0, $v1, 2
/* 3817D4 E0080514 00431021 */ addu $v0, $v0, $v1
/* 3817D8 E0080518 00021080 */ sll $v0, $v0, 2
/* 3817DC E008051C 00431023 */ subu $v0, $v0, $v1
/* 3817E0 E0080520 000218C0 */ sll $v1, $v0, 3
/* 3817E4 E0080524 00431021 */ addu $v0, $v0, $v1
/* 3817E8 E0080528 000210C0 */ sll $v0, $v0, 3
/* 3817EC E008052C 44060000 */ mfc1 $a2, $f0
/* 3817F0 E0080530 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3817F4 E0080534 00220821 */ addu $at, $at, $v0
/* 3817F8 E0080538 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 3817FC E008053C 4407A000 */ mfc1 $a3, $f20
/* 381800 E0080540 46000007 */ neg.s $f0, $f0
/* 381804 E0080544 44050000 */ mfc1 $a1, $f0
/* 381808 E0080548 02A0202D */ daddu $a0, $s5, $zero
/* 38180C E008054C 0C080104 */ jal shim_guRotateF
/* 381810 E0080550 AFA60010 */ sw $a2, 0x10($sp)
/* 381814 E0080554 02A0202D */ daddu $a0, $s5, $zero
/* 381818 E0080558 27A50018 */ addiu $a1, $sp, 0x18
/* 38181C E008055C 27B00098 */ addiu $s0, $sp, 0x98
/* 381820 E0080560 0C080114 */ jal shim_guMtxCatF
/* 381824 E0080564 0200302D */ daddu $a2, $s0, $zero
/* 381828 E0080568 0200202D */ daddu $a0, $s0, $zero
/* 38182C E008056C 3C168007 */ lui $s6, %hi(gMatrixListPos)
/* 381830 E0080570 26D641F0 */ addiu $s6, $s6, %lo(gMatrixListPos)
/* 381834 E0080574 3C1E800A */ lui $fp, %hi(gDisplayContext)
/* 381838 E0080578 27DEA674 */ addiu $fp, $fp, %lo(gDisplayContext)
/* 38183C E008057C 96C50000 */ lhu $a1, ($s6)
/* 381840 E0080580 8FC20000 */ lw $v0, ($fp)
/* 381844 E0080584 00052980 */ sll $a1, $a1, 6
/* 381848 E0080588 00B12821 */ addu $a1, $a1, $s1
/* 38184C E008058C 0C080118 */ jal shim_guMtxF2L
/* 381850 E0080590 00452821 */ addu $a1, $v0, $a1
/* 381854 E0080594 240A0001 */ addiu $t2, $zero, 1
/* 381858 E0080598 8E650000 */ lw $a1, ($s3)
/* 38185C E008059C 3C02DA38 */ lui $v0, 0xda38
/* 381860 E00805A0 AFAA00D8 */ sw $t2, 0xd8($sp)
/* 381864 E00805A4 96C40000 */ lhu $a0, ($s6)
/* 381868 E00805A8 00A0302D */ daddu $a2, $a1, $zero
/* 38186C E00805AC ACC20000 */ sw $v0, ($a2)
/* 381870 E00805B0 3082FFFF */ andi $v0, $a0, 0xffff
/* 381874 E00805B4 00021180 */ sll $v0, $v0, 6
/* 381878 E00805B8 8FC30000 */ lw $v1, ($fp)
/* 38187C E00805BC 00511021 */ addu $v0, $v0, $s1
/* 381880 E00805C0 00621821 */ addu $v1, $v1, $v0
/* 381884 E00805C4 ACC30004 */ sw $v1, 4($a2)
/* 381888 E00805C8 8E540000 */ lw $s4, ($s2)
/* 38188C E00805CC 8E570040 */ lw $s7, 0x40($s2)
/* 381890 E00805D0 24A50008 */ addiu $a1, $a1, 8
/* 381894 E00805D4 AE650000 */ sw $a1, ($s3)
/* 381898 E00805D8 8FAA0118 */ lw $t2, 0x118($sp)
/* 38189C E00805DC 8D420008 */ lw $v0, 8($t2)
/* 3818A0 E00805E0 24840001 */ addiu $a0, $a0, 1
/* 3818A4 E00805E4 A6C40000 */ sh $a0, ($s6)
/* 3818A8 E00805E8 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 3818AC E00805EC 0142102A */ slt $v0, $t2, $v0
/* 3818B0 E00805F0 10400118 */ beqz $v0, .LE0080A54
/* 3818B4 E00805F4 26520048 */ addiu $s2, $s2, 0x48
/* 3818B8 E00805F8 0260802D */ daddu $s0, $s3, $zero
/* 3818BC E00805FC 3C13DE00 */ lui $s3, 0xde00
/* 3818C0 E0080600 AFB500E0 */ sw $s5, 0xe0($sp)
/* 3818C4 E0080604 3C150001 */ lui $s5, 1
/* 3818C8 E0080608 36B51630 */ ori $s5, $s5, 0x1630
/* 3818CC E008060C 3C1ED838 */ lui $fp, 0xd838
/* 3818D0 E0080610 37DE0002 */ ori $fp, $fp, 2
/* 3818D4 E0080614 2651001C */ addiu $s1, $s2, 0x1c
.LE0080618:
/* 3818D8 E0080618 8E220018 */ lw $v0, 0x18($s1)
/* 3818DC E008061C 1C400104 */ bgtz $v0, .LE0080A30
/* 3818E0 E0080620 3C02FA00 */ lui $v0, 0xfa00
/* 3818E4 E0080624 8E070000 */ lw $a3, ($s0)
/* 3818E8 E0080628 00E0182D */ daddu $v1, $a3, $zero
/* 3818EC E008062C 24E70008 */ addiu $a3, $a3, 8
/* 3818F0 E0080630 AE070000 */ sw $a3, ($s0)
/* 3818F4 E0080634 AC620000 */ sw $v0, ($v1)
/* 3818F8 E0080638 9222000F */ lbu $v0, 0xf($s1)
/* 3818FC E008063C AC620004 */ sw $v0, 4($v1)
/* 381900 E0080640 8E23000C */ lw $v1, 0xc($s1)
/* 381904 E0080644 240200FF */ addiu $v0, $zero, 0xff
/* 381908 E0080648 14620011 */ bne $v1, $v0, .LE0080690
/* 38190C E008064C 3C05E200 */ lui $a1, 0xe200
/* 381910 E0080650 3C04E200 */ lui $a0, 0xe200
/* 381914 E0080654 3484001C */ ori $a0, $a0, 0x1c
/* 381918 E0080658 3C030055 */ lui $v1, 0x55
/* 38191C E008065C 34631208 */ ori $v1, $v1, 0x1208
/* 381920 E0080660 3C05FC12 */ lui $a1, 0xfc12
/* 381924 E0080664 34A57E24 */ ori $a1, $a1, 0x7e24
/* 381928 E0080668 24E20008 */ addiu $v0, $a3, 8
/* 38192C E008066C AE020000 */ sw $v0, ($s0)
/* 381930 E0080670 24E20010 */ addiu $v0, $a3, 0x10
/* 381934 E0080674 ACE40000 */ sw $a0, ($a3)
/* 381938 E0080678 ACE30004 */ sw $v1, 4($a3)
/* 38193C E008067C AE020000 */ sw $v0, ($s0)
/* 381940 E0080680 2402F3F9 */ addiu $v0, $zero, -0xc07
/* 381944 E0080684 ACE50008 */ sw $a1, 8($a3)
/* 381948 E0080688 080201B3 */ j .LE00806CC
/* 38194C E008068C ACE2000C */ sw $v0, 0xc($a3)
.LE0080690:
/* 381950 E0080690 34A5001C */ ori $a1, $a1, 0x1c
/* 381954 E0080694 3C030050 */ lui $v1, 0x50
/* 381958 E0080698 34634340 */ ori $v1, $v1, 0x4340
/* 38195C E008069C 3C06FC12 */ lui $a2, 0xfc12
/* 381960 E00806A0 34C63224 */ ori $a2, $a2, 0x3224
/* 381964 E00806A4 3C04FF67 */ lui $a0, 0xff67
/* 381968 E00806A8 3484FFFF */ ori $a0, $a0, 0xffff
/* 38196C E00806AC 24E20008 */ addiu $v0, $a3, 8
/* 381970 E00806B0 AE020000 */ sw $v0, ($s0)
/* 381974 E00806B4 24E20010 */ addiu $v0, $a3, 0x10
/* 381978 E00806B8 ACE50000 */ sw $a1, ($a3)
/* 38197C E00806BC ACE30004 */ sw $v1, 4($a3)
/* 381980 E00806C0 AE020000 */ sw $v0, ($s0)
/* 381984 E00806C4 ACE60008 */ sw $a2, 8($a3)
/* 381988 E00806C8 ACE4000C */ sw $a0, 0xc($a3)
.LE00806CC:
/* 38198C E00806CC 8E020000 */ lw $v0, ($s0)
/* 381990 E00806D0 0040182D */ daddu $v1, $v0, $zero
/* 381994 E00806D4 24420008 */ addiu $v0, $v0, 8
/* 381998 E00806D8 AE020000 */ sw $v0, ($s0)
/* 38199C E00806DC AC730000 */ sw $s3, ($v1)
/* 3819A0 E00806E0 12800004 */ beqz $s4, .LE00806F4
/* 3819A4 E00806E4 24630004 */ addiu $v1, $v1, 4
/* 3819A8 E00806E8 24020002 */ addiu $v0, $zero, 2
/* 3819AC E00806EC 1682000A */ bne $s4, $v0, .LE0080718
/* 3819B0 E00806F0 00000000 */ nop
.LE00806F4:
/* 3819B4 E00806F4 8FAA00DC */ lw $t2, 0xdc($sp)
/* 3819B8 E00806F8 3C020900 */ lui $v0, 0x900
/* 3819BC E00806FC 24423298 */ addiu $v0, $v0, 0x3298
/* 3819C0 E0080700 55400008 */ bnel $t2, $zero, .LE0080724
/* 3819C4 E0080704 AC620000 */ sw $v0, ($v1)
/* 3819C8 E0080708 3C020900 */ lui $v0, 0x900
/* 3819CC E008070C 24423200 */ addiu $v0, $v0, 0x3200
/* 3819D0 E0080710 080201C9 */ j .LE0080724
/* 3819D4 E0080714 AC620000 */ sw $v0, ($v1)
.LE0080718:
/* 3819D8 E0080718 3C020900 */ lui $v0, 0x900
/* 3819DC E008071C 24423330 */ addiu $v0, $v0, 0x3330
/* 3819E0 E0080720 AC620000 */ sw $v0, ($v1)
.LE0080724:
/* 3819E4 E0080724 C622FFE8 */ lwc1 $f2, -0x18($s1)
/* 3819E8 E0080728 C6200008 */ lwc1 $f0, 8($s1)
/* 3819EC E008072C 46001080 */ add.s $f2, $f2, $f0
/* 3819F0 E0080730 8E26FFEC */ lw $a2, -0x14($s1)
/* 3819F4 E0080734 8E27FFF0 */ lw $a3, -0x10($s1)
/* 3819F8 E0080738 44051000 */ mfc1 $a1, $f2
/* 3819FC E008073C 0C080108 */ jal shim_guTranslateF
/* 381A00 E0080740 27A40018 */ addiu $a0, $sp, 0x18
/* 381A04 E0080744 8E25001C */ lw $a1, 0x1c($s1)
/* 381A08 E0080748 8E260020 */ lw $a2, 0x20($s1)
/* 381A0C E008074C 4407A000 */ mfc1 $a3, $f20
/* 381A10 E0080750 0C080110 */ jal shim_guScaleF
/* 381A14 E0080754 8FA400E0 */ lw $a0, 0xe0($sp)
/* 381A18 E0080758 27A50018 */ addiu $a1, $sp, 0x18
/* 381A1C E008075C 8FA400E0 */ lw $a0, 0xe0($sp)
/* 381A20 E0080760 0C080114 */ jal shim_guMtxCatF
/* 381A24 E0080764 00A0302D */ daddu $a2, $a1, $zero
/* 381A28 E0080768 27A40018 */ addiu $a0, $sp, 0x18
/* 381A2C E008076C 96C50000 */ lhu $a1, ($s6)
/* 381A30 E0080770 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 381A34 E0080774 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 381A38 E0080778 00052980 */ sll $a1, $a1, 6
/* 381A3C E008077C 00B52821 */ addu $a1, $a1, $s5
/* 381A40 E0080780 0C080118 */ jal shim_guMtxF2L
/* 381A44 E0080784 00452821 */ addu $a1, $v0, $a1
/* 381A48 E0080788 27A40018 */ addiu $a0, $sp, 0x18
/* 381A4C E008078C 8E080000 */ lw $t0, ($s0)
/* 381A50 E0080790 96C90000 */ lhu $t1, ($s6)
/* 381A54 E0080794 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 381A58 E0080798 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 381A5C E008079C 44800000 */ mtc1 $zero, $f0
/* 381A60 E00807A0 0100282D */ daddu $a1, $t0, $zero
/* 381A64 E00807A4 3C0ADA38 */ lui $t2, 0xda38
/* 381A68 E00807A8 3122FFFF */ andi $v0, $t1, 0xffff
/* 381A6C E00807AC 00021180 */ sll $v0, $v0, 6
/* 381A70 E00807B0 00551021 */ addu $v0, $v0, $s5
/* 381A74 E00807B4 00621821 */ addu $v1, $v1, $v0
/* 381A78 E00807B8 25080008 */ addiu $t0, $t0, 8
/* 381A7C E00807BC ACAA0000 */ sw $t2, ($a1)
/* 381A80 E00807C0 ACA30004 */ sw $v1, 4($a1)
/* 381A84 E00807C4 E7B40010 */ swc1 $f20, 0x10($sp)
/* 381A88 E00807C8 8E250000 */ lw $a1, ($s1)
/* 381A8C E00807CC 44060000 */ mfc1 $a2, $f0
/* 381A90 E00807D0 25290001 */ addiu $t1, $t1, 1
/* 381A94 E00807D4 AE080000 */ sw $t0, ($s0)
/* 381A98 E00807D8 A6C90000 */ sh $t1, ($s6)
/* 381A9C E00807DC 0C080104 */ jal shim_guRotateF
/* 381AA0 E00807E0 00C0382D */ daddu $a3, $a2, $zero
/* 381AA4 E00807E4 27A40018 */ addiu $a0, $sp, 0x18
/* 381AA8 E00807E8 96C50000 */ lhu $a1, ($s6)
/* 381AAC E00807EC 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 381AB0 E00807F0 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 381AB4 E00807F4 00052980 */ sll $a1, $a1, 6
/* 381AB8 E00807F8 00B52821 */ addu $a1, $a1, $s5
/* 381ABC E00807FC 0C080118 */ jal shim_guMtxF2L
/* 381AC0 E0080800 00452821 */ addu $a1, $v0, $a1
/* 381AC4 E0080804 8E050000 */ lw $a1, ($s0)
/* 381AC8 E0080808 96C30000 */ lhu $v1, ($s6)
/* 381ACC E008080C 00A0202D */ daddu $a0, $a1, $zero
/* 381AD0 E0080810 24A50008 */ addiu $a1, $a1, 8
/* 381AD4 E0080814 3C0ADA38 */ lui $t2, 0xda38
/* 381AD8 E0080818 24620001 */ addiu $v0, $v1, 1
/* 381ADC E008081C 3063FFFF */ andi $v1, $v1, 0xffff
/* 381AE0 E0080820 00031980 */ sll $v1, $v1, 6
/* 381AE4 E0080824 AE050000 */ sw $a1, ($s0)
/* 381AE8 E0080828 AC8A0000 */ sw $t2, ($a0)
/* 381AEC E008082C A6C20000 */ sh $v0, ($s6)
/* 381AF0 E0080830 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 381AF4 E0080834 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 381AF8 E0080838 00751821 */ addu $v1, $v1, $s5
/* 381AFC E008083C 00431021 */ addu $v0, $v0, $v1
/* 381B00 E0080840 AC820004 */ sw $v0, 4($a0)
/* 381B04 E0080844 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 381B08 E0080848 24020001 */ addiu $v0, $zero, 1
/* 381B0C E008084C 15420064 */ bne $t2, $v0, .LE00809E0
/* 381B10 E0080850 24020002 */ addiu $v0, $zero, 2
/* 381B14 E0080854 12820062 */ beq $s4, $v0, .LE00809E0
/* 381B18 E0080858 24A20008 */ addiu $v0, $a1, 8
/* 381B1C E008085C AE020000 */ sw $v0, ($s0)
/* 381B20 E0080860 3C020900 */ lui $v0, 0x900
/* 381B24 E0080864 244233D0 */ addiu $v0, $v0, 0x33d0
/* 381B28 E0080868 ACA20004 */ sw $v0, 4($a1)
/* 381B2C E008086C 24A20010 */ addiu $v0, $a1, 0x10
/* 381B30 E0080870 240A0040 */ addiu $t2, $zero, 0x40
/* 381B34 E0080874 ACB30000 */ sw $s3, ($a1)
/* 381B38 E0080878 AE020000 */ sw $v0, ($s0)
/* 381B3C E008087C 24A20018 */ addiu $v0, $a1, 0x18
/* 381B40 E0080880 ACBE0008 */ sw $fp, 8($a1)
/* 381B44 E0080884 ACAA000C */ sw $t2, 0xc($a1)
/* 381B48 E0080888 AE020000 */ sw $v0, ($s0)
/* 381B4C E008088C 3C020900 */ lui $v0, 0x900
/* 381B50 E0080890 244234D0 */ addiu $v0, $v0, 0x34d0
/* 381B54 E0080894 ACA20014 */ sw $v0, 0x14($a1)
/* 381B58 E0080898 2AE2000A */ slti $v0, $s7, 0xa
/* 381B5C E008089C 10400017 */ beqz $v0, .LE00808FC
/* 381B60 E00808A0 ACB30010 */ sw $s3, 0x10($a1)
/* 381B64 E00808A4 8FAA00DC */ lw $t2, 0xdc($sp)
/* 381B68 E00808A8 15400015 */ bnez $t2, .LE0080900
/* 381B6C E00808AC 3C026666 */ lui $v0, 0x6666
/* 381B70 E00808B0 3C040900 */ lui $a0, 0x900
/* 381B74 E00808B4 24843470 */ addiu $a0, $a0, 0x3470
/* 381B78 E00808B8 24A20020 */ addiu $v0, $a1, 0x20
/* 381B7C E00808BC AE020000 */ sw $v0, ($s0)
/* 381B80 E00808C0 00171080 */ sll $v0, $s7, 2
/* 381B84 E00808C4 3C0AE008 */ lui $t2, %hi(D_E0080AC0)
/* 381B88 E00808C8 254A0AC0 */ addiu $t2, $t2, %lo(D_E0080AC0)
/* 381B8C E00808CC 004A1021 */ addu $v0, $v0, $t2
/* 381B90 E00808D0 ACB30018 */ sw $s3, 0x18($a1)
/* 381B94 E00808D4 8C430000 */ lw $v1, ($v0)
/* 381B98 E00808D8 24A20028 */ addiu $v0, $a1, 0x28
/* 381B9C E00808DC AE020000 */ sw $v0, ($s0)
/* 381BA0 E00808E0 ACB30020 */ sw $s3, 0x20($a1)
/* 381BA4 E00808E4 16800003 */ bnez $s4, .LE00808F4
/* 381BA8 E00808E8 ACA3001C */ sw $v1, 0x1c($a1)
/* 381BAC E00808EC 3C040900 */ lui $a0, 0x900
/* 381BB0 E00808F0 24843410 */ addiu $a0, $a0, 0x3410
.LE00808F4:
/* 381BB4 E00808F4 08020285 */ j .LE0080A14
/* 381BB8 E00808F8 ACA40024 */ sw $a0, 0x24($a1)
.LE00808FC:
/* 381BBC E00808FC 3C026666 */ lui $v0, 0x6666
.LE0080900:
/* 381BC0 E0080900 34426667 */ ori $v0, $v0, 0x6667
/* 381BC4 E0080904 02E20018 */ mult $s7, $v0
/* 381BC8 E0080908 2409000A */ addiu $t1, $zero, 0xa
/* 381BCC E008090C 001717C3 */ sra $v0, $s7, 0x1f
/* 381BD0 E0080910 00005010 */ mfhi $t2
/* 381BD4 E0080914 000A1883 */ sra $v1, $t2, 2
/* 381BD8 E0080918 00621023 */ subu $v0, $v1, $v0
/* 381BDC E008091C 0040202D */ daddu $a0, $v0, $zero
/* 381BE0 E0080920 00041080 */ sll $v0, $a0, 2
/* 381BE4 E0080924 00441021 */ addu $v0, $v0, $a0
/* 381BE8 E0080928 00021040 */ sll $v0, $v0, 1
/* 381BEC E008092C 8FAA00DC */ lw $t2, 0xdc($sp)
/* 381BF0 E0080930 15400002 */ bnez $t2, .LE008093C
/* 381BF4 E0080934 02E21023 */ subu $v0, $s7, $v0
/* 381BF8 E0080938 0080482D */ daddu $t1, $a0, $zero
.LE008093C:
/* 381BFC E008093C 3C080900 */ lui $t0, 0x900
/* 381C00 E0080940 250834B0 */ addiu $t0, $t0, 0x34b0
/* 381C04 E0080944 00021080 */ sll $v0, $v0, 2
/* 381C08 E0080948 3C0AE008 */ lui $t2, %hi(D_E0080AC0)
/* 381C0C E008094C 254A0AC0 */ addiu $t2, $t2, %lo(D_E0080AC0)
/* 381C10 E0080950 8E060000 */ lw $a2, ($s0)
/* 381C14 E0080954 004A1021 */ addu $v0, $v0, $t2
/* 381C18 E0080958 00C0202D */ daddu $a0, $a2, $zero
/* 381C1C E008095C 24C60008 */ addiu $a2, $a2, 8
/* 381C20 E0080960 AE060000 */ sw $a2, ($s0)
/* 381C24 E0080964 AC930000 */ sw $s3, ($a0)
/* 381C28 E0080968 8C430000 */ lw $v1, ($v0)
/* 381C2C E008096C 24C20008 */ addiu $v0, $a2, 8
/* 381C30 E0080970 AE020000 */ sw $v0, ($s0)
/* 381C34 E0080974 AC830004 */ sw $v1, 4($a0)
/* 381C38 E0080978 16800003 */ bnez $s4, .LE0080988
/* 381C3C E008097C ACD30000 */ sw $s3, ($a2)
/* 381C40 E0080980 3C080900 */ lui $t0, 0x900
/* 381C44 E0080984 25083450 */ addiu $t0, $t0, 0x3450
.LE0080988:
/* 381C48 E0080988 3C070900 */ lui $a3, 0x900
/* 381C4C E008098C 24E73490 */ addiu $a3, $a3, 0x3490
/* 381C50 E0080990 00091080 */ sll $v0, $t1, 2
/* 381C54 E0080994 3C0AE008 */ lui $t2, %hi(D_E0080AC0)
/* 381C58 E0080998 254A0AC0 */ addiu $t2, $t2, %lo(D_E0080AC0)
/* 381C5C E008099C 8E050000 */ lw $a1, ($s0)
/* 381C60 E00809A0 004A1021 */ addu $v0, $v0, $t2
/* 381C64 E00809A4 ACC80004 */ sw $t0, 4($a2)
/* 381C68 E00809A8 00A0202D */ daddu $a0, $a1, $zero
/* 381C6C E00809AC 24A50008 */ addiu $a1, $a1, 8
/* 381C70 E00809B0 AE050000 */ sw $a1, ($s0)
/* 381C74 E00809B4 AC930000 */ sw $s3, ($a0)
/* 381C78 E00809B8 8C430000 */ lw $v1, ($v0)
/* 381C7C E00809BC 24A20008 */ addiu $v0, $a1, 8
/* 381C80 E00809C0 AE020000 */ sw $v0, ($s0)
/* 381C84 E00809C4 AC830004 */ sw $v1, 4($a0)
/* 381C88 E00809C8 16800003 */ bnez $s4, .LE00809D8
/* 381C8C E00809CC ACB30000 */ sw $s3, ($a1)
/* 381C90 E00809D0 3C070900 */ lui $a3, 0x900
/* 381C94 E00809D4 24E73430 */ addiu $a3, $a3, 0x3430
.LE00809D8:
/* 381C98 E00809D8 08020285 */ j .LE0080A14
/* 381C9C E00809DC ACA70004 */ sw $a3, 4($a1)
.LE00809E0:
/* 381CA0 E00809E0 8E030000 */ lw $v1, ($s0)
/* 381CA4 E00809E4 3C020900 */ lui $v0, 0x900
/* 381CA8 E00809E8 244233F0 */ addiu $v0, $v0, 0x33f0
/* 381CAC E00809EC 0060202D */ daddu $a0, $v1, $zero
/* 381CB0 E00809F0 24630008 */ addiu $v1, $v1, 8
/* 381CB4 E00809F4 AE030000 */ sw $v1, ($s0)
/* 381CB8 E00809F8 AC820004 */ sw $v0, 4($a0)
/* 381CBC E00809FC 24620008 */ addiu $v0, $v1, 8
/* 381CC0 E0080A00 AC930000 */ sw $s3, ($a0)
/* 381CC4 E0080A04 240A0040 */ addiu $t2, $zero, 0x40
/* 381CC8 E0080A08 AE020000 */ sw $v0, ($s0)
/* 381CCC E0080A0C AC7E0000 */ sw $fp, ($v1)
/* 381CD0 E0080A10 AC6A0004 */ sw $t2, 4($v1)
.LE0080A14:
/* 381CD4 E0080A14 8E020000 */ lw $v0, ($s0)
/* 381CD8 E0080A18 0040182D */ daddu $v1, $v0, $zero
/* 381CDC E0080A1C 24420008 */ addiu $v0, $v0, 8
/* 381CE0 E0080A20 240A0040 */ addiu $t2, $zero, 0x40
/* 381CE4 E0080A24 AE020000 */ sw $v0, ($s0)
/* 381CE8 E0080A28 AC7E0000 */ sw $fp, ($v1)
/* 381CEC E0080A2C AC6A0004 */ sw $t2, 4($v1)
.LE0080A30:
/* 381CF0 E0080A30 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 381CF4 E0080A34 254A0001 */ addiu $t2, $t2, 1
/* 381CF8 E0080A38 AFAA00D8 */ sw $t2, 0xd8($sp)
/* 381CFC E0080A3C 8FAA0118 */ lw $t2, 0x118($sp)
/* 381D00 E0080A40 8D420008 */ lw $v0, 8($t2)
/* 381D04 E0080A44 8FAA00D8 */ lw $t2, 0xd8($sp)
/* 381D08 E0080A48 0142102A */ slt $v0, $t2, $v0
/* 381D0C E0080A4C 1440FEF2 */ bnez $v0, .LE0080618
/* 381D10 E0080A50 26310048 */ addiu $s1, $s1, 0x48
.LE0080A54:
/* 381D14 E0080A54 3C05D838 */ lui $a1, 0xd838
/* 381D18 E0080A58 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 381D1C E0080A5C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 381D20 E0080A60 8C620000 */ lw $v0, ($v1)
/* 381D24 E0080A64 34A50002 */ ori $a1, $a1, 2
/* 381D28 E0080A68 0040202D */ daddu $a0, $v0, $zero
/* 381D2C E0080A6C 24420008 */ addiu $v0, $v0, 8
/* 381D30 E0080A70 AC620000 */ sw $v0, ($v1)
/* 381D34 E0080A74 24020040 */ addiu $v0, $zero, 0x40
/* 381D38 E0080A78 AC850000 */ sw $a1, ($a0)
/* 381D3C E0080A7C AC820004 */ sw $v0, 4($a0)
/* 381D40 E0080A80 8FBF010C */ lw $ra, 0x10c($sp)
/* 381D44 E0080A84 8FBE0108 */ lw $fp, 0x108($sp)
/* 381D48 E0080A88 8FB70104 */ lw $s7, 0x104($sp)
/* 381D4C E0080A8C 8FB60100 */ lw $s6, 0x100($sp)
/* 381D50 E0080A90 8FB500FC */ lw $s5, 0xfc($sp)
/* 381D54 E0080A94 8FB400F8 */ lw $s4, 0xf8($sp)
/* 381D58 E0080A98 8FB300F4 */ lw $s3, 0xf4($sp)
/* 381D5C E0080A9C 8FB200F0 */ lw $s2, 0xf0($sp)
/* 381D60 E0080AA0 8FB100EC */ lw $s1, 0xec($sp)
/* 381D64 E0080AA4 8FB000E8 */ lw $s0, 0xe8($sp)
/* 381D68 E0080AA8 D7B40110 */ ldc1 $f20, 0x110($sp)
/* 381D6C E0080AAC 03E00008 */ jr $ra
/* 381D70 E0080AB0 27BD0118 */ addiu $sp, $sp, 0x118
/* 381D74 E0080AB4 00000000 */ nop
/* 381D78 E0080AB8 00000000 */ nop
/* 381D7C E0080ABC 00000000 */ nop