1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-03 18:14:26 +00:00

Match vr_box functions (#1014)

This commit is contained in:
Synray 2021-10-27 14:12:16 -07:00 committed by GitHub
parent bfc36c57bf
commit 188690c602
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 90 additions and 1552 deletions

View file

@ -1,478 +0,0 @@
.late_rodata
glabel jtbl_80142D90
.word L800ADC10
.word L800ADD10
.word L800ADC10
.word L800ADD10
.word L800ADE10
.word L800ADE10
.text
glabel func_800ADBB0
/* B24D50 800ADBB0 27BDFBD0 */ addiu $sp, $sp, -0x430
/* B24D54 800ADBB4 AFB70024 */ sw $s7, 0x24($sp)
/* B24D58 800ADBB8 8FB70450 */ lw $s7, 0x450($sp)
/* B24D5C 800ADBBC AFB20010 */ sw $s2, 0x10($sp)
/* B24D60 800ADBC0 AFB00008 */ sw $s0, 8($sp)
/* B24D64 800ADBC4 2EE10006 */ sltiu $at, $s7, 6
/* B24D68 800ADBC8 00808025 */ move $s0, $a0
/* B24D6C 800ADBCC 00E09025 */ move $s2, $a3
/* B24D70 800ADBD0 AFBF002C */ sw $ra, 0x2c($sp)
/* B24D74 800ADBD4 AFBE0028 */ sw $fp, 0x28($sp)
/* B24D78 800ADBD8 AFB60020 */ sw $s6, 0x20($sp)
/* B24D7C 800ADBDC AFB5001C */ sw $s5, 0x1c($sp)
/* B24D80 800ADBE0 AFB40018 */ sw $s4, 0x18($sp)
/* B24D84 800ADBE4 AFB30014 */ sw $s3, 0x14($sp)
/* B24D88 800ADBE8 AFB1000C */ sw $s1, 0xc($sp)
/* B24D8C 800ADBEC AFA50434 */ sw $a1, 0x434($sp)
/* B24D90 800ADBF0 102000C5 */ beqz $at, .L800ADF08
/* B24D94 800ADBF4 AFA60438 */ sw $a2, 0x438($sp)
/* B24D98 800ADBF8 00177080 */ sll $t6, $s7, 2
/* B24D9C 800ADBFC 3C018014 */ lui $at, %hi(jtbl_80142D90)
/* B24DA0 800ADC00 002E0821 */ addu $at, $at, $t6
/* B24DA4 800ADC04 8C2E2D90 */ lw $t6, %lo(jtbl_80142D90)($at)
/* B24DA8 800ADC08 01C00008 */ jr $t6
/* B24DAC 800ADC0C 00000000 */ nop
glabel L800ADC10
/* B24DB0 800ADC10 8FAB0448 */ lw $t3, 0x448($sp)
/* B24DB4 800ADC14 3C148013 */ lui $s4, %hi(D_8012AD2C) # $s4, 0x8013
/* B24DB8 800ADC18 3C138013 */ lui $s3, %hi(D_8012AD20) # $s3, 0x8013
/* B24DBC 800ADC1C 8FAA0440 */ lw $t2, 0x440($sp)
/* B24DC0 800ADC20 2673AD20 */ addiu $s3, %lo(D_8012AD20) # addiu $s3, $s3, -0x52e0
/* B24DC4 800ADC24 2694AD2C */ addiu $s4, %lo(D_8012AD2C) # addiu $s4, $s4, -0x52d4
/* B24DC8 800ADC28 27A501F0 */ addiu $a1, $sp, 0x1f0
/* B24DCC 800ADC2C 27A60358 */ addiu $a2, $sp, 0x358
/* B24DD0 800ADC30 27A702A4 */ addiu $a3, $sp, 0x2a4
/* B24DD4 800ADC34 27A8013C */ addiu $t0, $sp, 0x13c
/* B24DD8 800ADC38 27A40088 */ addiu $a0, $sp, 0x88
/* B24DDC 800ADC3C 8FB5044C */ lw $s5, 0x44c($sp)
/* B24DE0 800ADC40 8FB10444 */ lw $s1, 0x444($sp)
/* B24DE4 800ADC44 27AC013C */ addiu $t4, $sp, 0x13c
/* B24DE8 800ADC48 024BB021 */ addu $s6, $s2, $t3
.L800ADC4C:
/* B24DEC 800ADC4C ACB10000 */ sw $s1, ($a1)
/* B24DF0 800ADC50 ACD20000 */ sw $s2, ($a2)
/* B24DF4 800ADC54 ACEA0000 */ sw $t2, ($a3)
/* B24DF8 800ADC58 3C0F8013 */ lui $t7, %hi(D_8012AD20) # $t7, 0x8013
/* B24DFC 800ADC5C 85EFAD20 */ lh $t7, %lo(D_8012AD20)($t7)
/* B24E00 800ADC60 240D0001 */ li $t5, 1
/* B24E04 800ADC64 000DC040 */ sll $t8, $t5, 1
/* B24E08 800ADC68 86890000 */ lh $t1, ($s4)
/* B24E0C 800ADC6C 02781821 */ addu $v1, $s3, $t8
/* B24E10 800ADC70 02CB1021 */ addu $v0, $s6, $t3
/* B24E14 800ADC74 ACC20008 */ sw $v0, 8($a2)
/* B24E18 800ADC78 004B1021 */ addu $v0, $v0, $t3
/* B24E1C 800ADC7C AD0F0000 */ sw $t7, ($t0)
/* B24E20 800ADC80 846F0004 */ lh $t7, 4($v1)
/* B24E24 800ADC84 846E0002 */ lh $t6, 2($v1)
/* B24E28 800ADC88 84780006 */ lh $t8, 6($v1)
/* B24E2C 800ADC8C 84790000 */ lh $t9, ($v1)
/* B24E30 800ADC90 ACC2000C */ sw $v0, 0xc($a2)
/* B24E34 800ADC94 24840014 */ addiu $a0, $a0, 0x14
/* B24E38 800ADC98 008C082B */ sltu $at, $a0, $t4
/* B24E3C 800ADC9C 004B1021 */ addu $v0, $v0, $t3
/* B24E40 800ADCA0 ACEA0010 */ sw $t2, 0x10($a3)
/* B24E44 800ADCA4 ACEA000C */ sw $t2, 0xc($a3)
/* B24E48 800ADCA8 ACEA0008 */ sw $t2, 8($a3)
/* B24E4C 800ADCAC ACEA0004 */ sw $t2, 4($a3)
/* B24E50 800ADCB0 26940002 */ addiu $s4, $s4, 2
/* B24E54 800ADCB4 ACC20010 */ sw $v0, 0x10($a2)
/* B24E58 800ADCB8 ACB10010 */ sw $s1, 0x10($a1)
/* B24E5C 800ADCBC ACB1000C */ sw $s1, 0xc($a1)
/* B24E60 800ADCC0 ACB10008 */ sw $s1, 8($a1)
/* B24E64 800ADCC4 24A50014 */ addiu $a1, $a1, 0x14
/* B24E68 800ADCC8 24C60014 */ addiu $a2, $a2, 0x14
/* B24E6C 800ADCCC 24E70014 */ addiu $a3, $a3, 0x14
/* B24E70 800ADCD0 25080014 */ addiu $t0, $t0, 0x14
/* B24E74 800ADCD4 ACB1FFF0 */ sw $s1, -0x10($a1)
/* B24E78 800ADCD8 ACD6FFF0 */ sw $s6, -0x10($a2)
/* B24E7C 800ADCDC 01555021 */ addu $t2, $t2, $s5
/* B24E80 800ADCE0 AC89FFEC */ sw $t1, -0x14($a0)
/* B24E84 800ADCE4 AC89FFF4 */ sw $t1, -0xc($a0)
/* B24E88 800ADCE8 AC89FFF8 */ sw $t1, -8($a0)
/* B24E8C 800ADCEC AC89FFFC */ sw $t1, -4($a0)
/* B24E90 800ADCF0 AC89FFF0 */ sw $t1, -0x10($a0)
/* B24E94 800ADCF4 AD0FFFF8 */ sw $t7, -8($t0)
/* B24E98 800ADCF8 AD0EFFF4 */ sw $t6, -0xc($t0)
/* B24E9C 800ADCFC AD18FFFC */ sw $t8, -4($t0)
/* B24EA0 800ADD00 1420FFD2 */ bnez $at, .L800ADC4C
/* B24EA4 800ADD04 AD19FFF0 */ sw $t9, -0x10($t0)
/* B24EA8 800ADD08 1000007F */ b .L800ADF08
/* B24EAC 800ADD0C 00000000 */ nop
glabel L800ADD10
/* B24EB0 800ADD10 8FAB0448 */ lw $t3, 0x448($sp)
/* B24EB4 800ADD14 8FB10444 */ lw $s1, 0x444($sp)
/* B24EB8 800ADD18 3C148013 */ lui $s4, %hi(D_8012AD2C) # $s4, 0x8013
/* B24EBC 800ADD1C 3C138013 */ lui $s3, %hi(D_8012AD20) # $s3, 0x8013
/* B24EC0 800ADD20 8FAA0440 */ lw $t2, 0x440($sp)
/* B24EC4 800ADD24 2673AD20 */ addiu $s3, %lo(D_8012AD20) # addiu $s3, $s3, -0x52e0
/* B24EC8 800ADD28 2694AD2C */ addiu $s4, %lo(D_8012AD2C) # addiu $s4, $s4, -0x52d4
/* B24ECC 800ADD2C 27A501F0 */ addiu $a1, $sp, 0x1f0
/* B24ED0 800ADD30 27A60358 */ addiu $a2, $sp, 0x358
/* B24ED4 800ADD34 27A702A4 */ addiu $a3, $sp, 0x2a4
/* B24ED8 800ADD38 27A8013C */ addiu $t0, $sp, 0x13c
/* B24EDC 800ADD3C 27A40088 */ addiu $a0, $sp, 0x88
/* B24EE0 800ADD40 8FB5044C */ lw $s5, 0x44c($sp)
/* B24EE4 800ADD44 27AC013C */ addiu $t4, $sp, 0x13c
/* B24EE8 800ADD48 022BB021 */ addu $s6, $s1, $t3
.L800ADD4C:
/* B24EEC 800ADD4C ACD20000 */ sw $s2, ($a2)
/* B24EF0 800ADD50 ACEA0000 */ sw $t2, ($a3)
/* B24EF4 800ADD54 ACB10000 */ sw $s1, ($a1)
/* B24EF8 800ADD58 3C198013 */ lui $t9, %hi(D_8012AD20) # $t9, 0x8013
/* B24EFC 800ADD5C 8739AD20 */ lh $t9, %lo(D_8012AD20)($t9)
/* B24F00 800ADD60 240D0001 */ li $t5, 1
/* B24F04 800ADD64 000D7040 */ sll $t6, $t5, 1
/* B24F08 800ADD68 86890000 */ lh $t1, ($s4)
/* B24F0C 800ADD6C 026E1821 */ addu $v1, $s3, $t6
/* B24F10 800ADD70 02CB1021 */ addu $v0, $s6, $t3
/* B24F14 800ADD74 ACA20008 */ sw $v0, 8($a1)
/* B24F18 800ADD78 004B1021 */ addu $v0, $v0, $t3
/* B24F1C 800ADD7C AD190000 */ sw $t9, ($t0)
/* B24F20 800ADD80 84790004 */ lh $t9, 4($v1)
/* B24F24 800ADD84 84780002 */ lh $t8, 2($v1)
/* B24F28 800ADD88 846E0006 */ lh $t6, 6($v1)
/* B24F2C 800ADD8C 846F0000 */ lh $t7, ($v1)
/* B24F30 800ADD90 ACA2000C */ sw $v0, 0xc($a1)
/* B24F34 800ADD94 24840014 */ addiu $a0, $a0, 0x14
/* B24F38 800ADD98 008C082B */ sltu $at, $a0, $t4
/* B24F3C 800ADD9C 004B1021 */ addu $v0, $v0, $t3
/* B24F40 800ADDA0 ACEA0010 */ sw $t2, 0x10($a3)
/* B24F44 800ADDA4 ACEA000C */ sw $t2, 0xc($a3)
/* B24F48 800ADDA8 ACEA0008 */ sw $t2, 8($a3)
/* B24F4C 800ADDAC ACEA0004 */ sw $t2, 4($a3)
/* B24F50 800ADDB0 26940002 */ addiu $s4, $s4, 2
/* B24F54 800ADDB4 ACA20010 */ sw $v0, 0x10($a1)
/* B24F58 800ADDB8 ACD20010 */ sw $s2, 0x10($a2)
/* B24F5C 800ADDBC ACD2000C */ sw $s2, 0xc($a2)
/* B24F60 800ADDC0 ACD20008 */ sw $s2, 8($a2)
/* B24F64 800ADDC4 24A50014 */ addiu $a1, $a1, 0x14
/* B24F68 800ADDC8 24C60014 */ addiu $a2, $a2, 0x14
/* B24F6C 800ADDCC 24E70014 */ addiu $a3, $a3, 0x14
/* B24F70 800ADDD0 25080014 */ addiu $t0, $t0, 0x14
/* B24F74 800ADDD4 ACD2FFF0 */ sw $s2, -0x10($a2)
/* B24F78 800ADDD8 ACB6FFF0 */ sw $s6, -0x10($a1)
/* B24F7C 800ADDDC 01555021 */ addu $t2, $t2, $s5
/* B24F80 800ADDE0 AC89FFEC */ sw $t1, -0x14($a0)
/* B24F84 800ADDE4 AC89FFF4 */ sw $t1, -0xc($a0)
/* B24F88 800ADDE8 AC89FFF8 */ sw $t1, -8($a0)
/* B24F8C 800ADDEC AC89FFFC */ sw $t1, -4($a0)
/* B24F90 800ADDF0 AC89FFF0 */ sw $t1, -0x10($a0)
/* B24F94 800ADDF4 AD19FFF8 */ sw $t9, -8($t0)
/* B24F98 800ADDF8 AD18FFF4 */ sw $t8, -0xc($t0)
/* B24F9C 800ADDFC AD0EFFFC */ sw $t6, -4($t0)
/* B24FA0 800ADE00 1420FFD2 */ bnez $at, .L800ADD4C
/* B24FA4 800ADE04 AD0FFFF0 */ sw $t7, -0x10($t0)
/* B24FA8 800ADE08 1000003F */ b .L800ADF08
/* B24FAC 800ADE0C 00000000 */ nop
glabel L800ADE10
/* B24FB0 800ADE10 8FAB0448 */ lw $t3, 0x448($sp)
/* B24FB4 800ADE14 3C148013 */ lui $s4, %hi(D_8012AD2C) # $s4, 0x8013
/* B24FB8 800ADE18 3C138013 */ lui $s3, %hi(D_8012AD20) # $s3, 0x8013
/* B24FBC 800ADE1C 8FAA0444 */ lw $t2, 0x444($sp)
/* B24FC0 800ADE20 2673AD20 */ addiu $s3, %lo(D_8012AD20) # addiu $s3, $s3, -0x52e0
/* B24FC4 800ADE24 2694AD2C */ addiu $s4, %lo(D_8012AD2C) # addiu $s4, $s4, -0x52d4
/* B24FC8 800ADE28 27A501F0 */ addiu $a1, $sp, 0x1f0
/* B24FCC 800ADE2C 27A60358 */ addiu $a2, $sp, 0x358
/* B24FD0 800ADE30 27A702A4 */ addiu $a3, $sp, 0x2a4
/* B24FD4 800ADE34 27A8013C */ addiu $t0, $sp, 0x13c
/* B24FD8 800ADE38 27A40088 */ addiu $a0, $sp, 0x88
/* B24FDC 800ADE3C 8FB5044C */ lw $s5, 0x44c($sp)
/* B24FE0 800ADE40 27B1013C */ addiu $s1, $sp, 0x13c
/* B24FE4 800ADE44 8FAC0440 */ lw $t4, 0x440($sp)
/* B24FE8 800ADE48 024BB021 */ addu $s6, $s2, $t3
.L800ADE4C:
/* B24FEC 800ADE4C ACEC0000 */ sw $t4, ($a3)
/* B24FF0 800ADE50 ACD20000 */ sw $s2, ($a2)
/* B24FF4 800ADE54 ACAA0000 */ sw $t2, ($a1)
/* B24FF8 800ADE58 3C0F8013 */ lui $t7, %hi(D_8012AD20) # $t7, 0x8013
/* B24FFC 800ADE5C 85EFAD20 */ lh $t7, %lo(D_8012AD20)($t7)
/* B25000 800ADE60 240D0001 */ li $t5, 1
/* B25004 800ADE64 000DC040 */ sll $t8, $t5, 1
/* B25008 800ADE68 86890000 */ lh $t1, ($s4)
/* B2500C 800ADE6C 02781821 */ addu $v1, $s3, $t8
/* B25010 800ADE70 02CB1021 */ addu $v0, $s6, $t3
/* B25014 800ADE74 ACC20008 */ sw $v0, 8($a2)
/* B25018 800ADE78 004B1021 */ addu $v0, $v0, $t3
/* B2501C 800ADE7C AD0F0000 */ sw $t7, ($t0)
/* B25020 800ADE80 846F0004 */ lh $t7, 4($v1)
/* B25024 800ADE84 846E0002 */ lh $t6, 2($v1)
/* B25028 800ADE88 84780006 */ lh $t8, 6($v1)
/* B2502C 800ADE8C 84790000 */ lh $t9, ($v1)
/* B25030 800ADE90 ACC2000C */ sw $v0, 0xc($a2)
/* B25034 800ADE94 24840014 */ addiu $a0, $a0, 0x14
/* B25038 800ADE98 0091082B */ sltu $at, $a0, $s1
/* B2503C 800ADE9C 004B1021 */ addu $v0, $v0, $t3
/* B25040 800ADEA0 ACAA0010 */ sw $t2, 0x10($a1)
/* B25044 800ADEA4 ACAA000C */ sw $t2, 0xc($a1)
/* B25048 800ADEA8 ACAA0008 */ sw $t2, 8($a1)
/* B2504C 800ADEAC ACAA0004 */ sw $t2, 4($a1)
/* B25050 800ADEB0 26940002 */ addiu $s4, $s4, 2
/* B25054 800ADEB4 ACC20010 */ sw $v0, 0x10($a2)
/* B25058 800ADEB8 ACEC0010 */ sw $t4, 0x10($a3)
/* B2505C 800ADEBC ACEC000C */ sw $t4, 0xc($a3)
/* B25060 800ADEC0 ACEC0008 */ sw $t4, 8($a3)
/* B25064 800ADEC4 24A50014 */ addiu $a1, $a1, 0x14
/* B25068 800ADEC8 24C60014 */ addiu $a2, $a2, 0x14
/* B2506C 800ADECC 24E70014 */ addiu $a3, $a3, 0x14
/* B25070 800ADED0 25080014 */ addiu $t0, $t0, 0x14
/* B25074 800ADED4 ACECFFF0 */ sw $t4, -0x10($a3)
/* B25078 800ADED8 ACD6FFF0 */ sw $s6, -0x10($a2)
/* B2507C 800ADEDC 01555021 */ addu $t2, $t2, $s5
/* B25080 800ADEE0 AC89FFEC */ sw $t1, -0x14($a0)
/* B25084 800ADEE4 AC89FFF4 */ sw $t1, -0xc($a0)
/* B25088 800ADEE8 AC89FFF8 */ sw $t1, -8($a0)
/* B2508C 800ADEEC AC89FFFC */ sw $t1, -4($a0)
/* B25090 800ADEF0 AC89FFF0 */ sw $t1, -0x10($a0)
/* B25094 800ADEF4 AD0FFFF8 */ sw $t7, -8($t0)
/* B25098 800ADEF8 AD0EFFF4 */ sw $t6, -0xc($t0)
/* B2509C 800ADEFC AD18FFFC */ sw $t8, -4($t0)
/* B250A0 800ADF00 1420FFD2 */ bnez $at, .L800ADE4C
/* B250A4 800ADF04 AD19FFF0 */ sw $t9, -0x10($t0)
.L800ADF08:
/* B250A8 800ADF08 3C198013 */ lui $t9, %hi(D_8012ACA0) # $t9, 0x8013
/* B250AC 800ADF0C 00177080 */ sll $t6, $s7, 2
/* B250B0 800ADF10 3C0F8013 */ lui $t7, %hi(D_8012AC90) # $t7, 0x8013
/* B250B4 800ADF14 25EFAC90 */ addiu $t7, %lo(D_8012AC90) # addiu $t7, $t7, -0x5370
/* B250B8 800ADF18 2739ACA0 */ addiu $t9, %lo(D_8012ACA0) # addiu $t9, $t9, -0x5360
/* B250BC 800ADF1C 3C1E8013 */ lui $fp, %hi(D_8012AD40) # $fp, 0x8013
/* B250C0 800ADF20 3C12FD48 */ lui $s2, (0xFD4800FF >> 16) # lui $s2, 0xfd48
/* B250C4 800ADF24 365200FF */ ori $s2, (0xFD4800FF & 0xFFFF) # ori $s2, $s2, 0xff
/* B250C8 800ADF28 27DEAD40 */ addiu $fp, %lo(D_8012AD40) # addiu $fp, $fp, -0x52c0
/* B250CC 800ADF2C AFB90054 */ sw $t9, 0x54($sp)
/* B250D0 800ADF30 01CF8821 */ addu $s1, $t6, $t7
/* B250D4 800ADF34 3C17F200 */ lui $s7, 0xf200
/* B250D8 800ADF38 00003025 */ move $a2, $zero
/* B250DC 800ADF3C AFA00424 */ sw $zero, 0x424($sp)
/* B250E0 800ADF40 3C16E700 */ lui $s6, 0xe700
/* B250E4 800ADF44 3C15F400 */ lui $s5, 0xf400
/* B250E8 800ADF48 3C14E600 */ lui $s4, 0xe600
/* B250EC 800ADF4C 3C13F548 */ lui $s3, 0xf548
/* B250F0 800ADF50 3C0D0700 */ lui $t5, 0x700
.L800ADF54:
/* B250F4 800ADF54 8FB90454 */ lw $t9, 0x454($sp)
/* B250F8 800ADF58 8E180134 */ lw $t8, 0x134($s0)
/* B250FC 800ADF5C 00004825 */ move $t1, $zero
/* B25100 800ADF60 00197080 */ sll $t6, $t9, 2
/* B25104 800ADF64 01D97021 */ addu $t6, $t6, $t9
/* B25108 800ADF68 000E7080 */ sll $t6, $t6, 2
/* B2510C 800ADF6C 01D97023 */ subu $t6, $t6, $t9
/* B25110 800ADF70 000E7080 */ sll $t6, $t6, 2
/* B25114 800ADF74 01D97023 */ subu $t6, $t6, $t9
/* B25118 800ADF78 8FB90424 */ lw $t9, 0x424($sp)
/* B2511C 800ADF7C 000E7100 */ sll $t6, $t6, 4
/* B25120 800ADF80 030E7821 */ addu $t7, $t8, $t6
/* B25124 800ADF84 0019C080 */ sll $t8, $t9, 2
/* B25128 800ADF88 0319C021 */ addu $t8, $t8, $t9
/* B2512C 800ADF8C 0018C080 */ sll $t8, $t8, 2
/* B25130 800ADF90 0319C023 */ subu $t8, $t8, $t9
/* B25134 800ADF94 0018C080 */ sll $t8, $t8, 2
/* B25138 800ADF98 0319C023 */ subu $t8, $t8, $t9
/* B2513C 800ADF9C 0018C100 */ sll $t8, $t8, 4
/* B25140 800ADFA0 01F87021 */ addu $t6, $t7, $t8
/* B25144 800ADFA4 AE0E0138 */ sw $t6, 0x138($s0)
/* B25148 800ADFA8 8FAF0438 */ lw $t7, 0x438($sp)
/* B2514C 800ADFAC 8FB90434 */ lw $t9, 0x434($sp)
/* B25150 800ADFB0 8FA50054 */ lw $a1, 0x54($sp)
/* B25154 800ADFB4 000FC100 */ sll $t8, $t7, 4
/* B25158 800ADFB8 03381021 */ addu $v0, $t9, $t8
.L800ADFBC:
/* B2515C 800ADFBC 94A40000 */ lhu $a0, ($a1)
/* B25160 800ADFC0 25290001 */ addiu $t1, $t1, 1
/* B25164 800ADFC4 24010020 */ li $at, 32
/* B25168 800ADFC8 00041880 */ sll $v1, $a0, 2
/* B2516C 800ADFCC 03A37021 */ addu $t6, $sp, $v1
/* B25170 800ADFD0 8DCE0358 */ lw $t6, 0x358($t6)
/* B25174 800ADFD4 03A37821 */ addu $t7, $sp, $v1
/* B25178 800ADFD8 03A3C821 */ addu $t9, $sp, $v1
/* B2517C 800ADFDC A44E0000 */ sh $t6, ($v0)
/* B25180 800ADFE0 8DEF02A4 */ lw $t7, 0x2a4($t7)
/* B25184 800ADFE4 03A3C021 */ addu $t8, $sp, $v1
/* B25188 800ADFE8 03A37021 */ addu $t6, $sp, $v1
/* B2518C 800ADFEC A44F0002 */ sh $t7, 2($v0)
/* B25190 800ADFF0 8F3901F0 */ lw $t9, 0x1f0($t9)
/* B25194 800ADFF4 A4400006 */ sh $zero, 6($v0)
/* B25198 800ADFF8 240F00FF */ li $t7, 255
/* B2519C 800ADFFC A4590004 */ sh $t9, 4($v0)
/* B251A0 800AE000 8F18013C */ lw $t8, 0x13c($t8)
/* B251A4 800AE004 24A50002 */ addiu $a1, $a1, 2
/* B251A8 800AE008 24420010 */ addiu $v0, $v0, 0x10
/* B251AC 800AE00C A458FFF8 */ sh $t8, -8($v0)
/* B251B0 800AE010 8DCE0088 */ lw $t6, 0x88($t6)
/* B251B4 800AE014 A040FFFD */ sb $zero, -3($v0)
/* B251B8 800AE018 A040FFFE */ sb $zero, -2($v0)
/* B251BC 800AE01C A04FFFFC */ sb $t7, -4($v0)
/* B251C0 800AE020 1521FFE6 */ bne $t1, $at, .L800ADFBC
/* B251C4 800AE024 A44EFFFA */ sh $t6, -6($v0)
/* B251C8 800AE028 8E030138 */ lw $v1, 0x138($s0)
/* B251CC 800AE02C 3C180102 */ lui $t8, (0x01020040 >> 16) # lui $t8, 0x102
/* B251D0 800AE030 37180040 */ ori $t8, (0x01020040 & 0xFFFF) # ori $t8, $t8, 0x40
/* B251D4 800AE034 24790008 */ addiu $t9, $v1, 8
/* B251D8 800AE038 AE190138 */ sw $t9, 0x138($s0)
/* B251DC 800AE03C AC780000 */ sw $t8, ($v1)
/* B251E0 800AE040 8FAE0438 */ lw $t6, 0x438($sp)
/* B251E4 800AE044 8FB90434 */ lw $t9, 0x434($sp)
/* B251E8 800AE048 00005025 */ move $t2, $zero
/* B251EC 800AE04C 000E7900 */ sll $t7, $t6, 4
/* B251F0 800AE050 01F9C021 */ addu $t8, $t7, $t9
/* B251F4 800AE054 AC780004 */ sw $t8, 4($v1)
/* B251F8 800AE058 8FAE0438 */ lw $t6, 0x438($sp)
/* B251FC 800AE05C 3C180300 */ lui $t8, 0x300
/* B25200 800AE060 0000F825 */ move $ra, $zero
/* B25204 800AE064 01C97821 */ addu $t7, $t6, $t1
/* B25208 800AE068 AFAF0438 */ sw $t7, 0x438($sp)
/* B2520C 800AE06C 8E030138 */ lw $v1, 0x138($s0)
/* B25210 800AE070 240E001E */ li $t6, 30
/* B25214 800AE074 24790008 */ addiu $t9, $v1, 8
/* B25218 800AE078 AE190138 */ sw $t9, 0x138($s0)
/* B2521C 800AE07C AC6E0004 */ sw $t6, 4($v1)
/* B25220 800AE080 AC780000 */ sw $t8, ($v1)
.L800AE084:
/* B25224 800AE084 24C2001F */ addiu $v0, $a2, 0x1f
/* B25228 800AE088 00026080 */ sll $t4, $v0, 2
/* B2522C 800AE08C 00065880 */ sll $t3, $a2, 2
/* B25230 800AE090 316B0FFF */ andi $t3, $t3, 0xfff
/* B25234 800AE094 318C0FFF */ andi $t4, $t4, 0xfff
/* B25238 800AE098 AFA20038 */ sw $v0, 0x38($sp)
/* B2523C 800AE09C 00002025 */ move $a0, $zero
/* B25240 800AE0A0 00004825 */ move $t1, $zero
.L800AE0A4:
/* B25244 800AE0A4 8E030138 */ lw $v1, 0x138($s0)
/* B25248 800AE0A8 2488003F */ addiu $t0, $a0, 0x3f
/* B2524C 800AE0AC 00083880 */ sll $a3, $t0, 2
/* B25250 800AE0B0 246F0008 */ addiu $t7, $v1, 8
/* B25254 800AE0B4 AE0F0138 */ sw $t7, 0x138($s0)
/* B25258 800AE0B8 AC720000 */ sw $s2, ($v1)
/* B2525C 800AE0BC 8E180128 */ lw $t8, 0x128($s0)
/* B25260 800AE0C0 8E390000 */ lw $t9, ($s1)
/* B25264 800AE0C4 00043080 */ sll $a2, $a0, 2
/* B25268 800AE0C8 30C60FFF */ andi $a2, $a2, 0xfff
/* B2526C 800AE0CC 03387021 */ addu $t6, $t9, $t8
/* B25270 800AE0D0 AC6E0004 */ sw $t6, 4($v1)
/* B25274 800AE0D4 8E030138 */ lw $v1, 0x138($s0)
/* B25278 800AE0D8 0084C823 */ subu $t9, $a0, $a0
/* B2527C 800AE0DC 27380047 */ addiu $t8, $t9, 0x47
/* B25280 800AE0E0 246F0008 */ addiu $t7, $v1, 8
/* B25284 800AE0E4 AE0F0138 */ sw $t7, 0x138($s0)
/* B25288 800AE0E8 001870C3 */ sra $t6, $t8, 3
/* B2528C 800AE0EC 31CF01FF */ andi $t7, $t6, 0x1ff
/* B25290 800AE0F0 000FCA40 */ sll $t9, $t7, 9
/* B25294 800AE0F4 03332825 */ or $a1, $t9, $s3
/* B25298 800AE0F8 AC650000 */ sw $a1, ($v1)
/* B2529C 800AE0FC AC6D0004 */ sw $t5, 4($v1)
/* B252A0 800AE100 8E030138 */ lw $v1, 0x138($s0)
/* B252A4 800AE104 30E70FFF */ andi $a3, $a3, 0xfff
/* B252A8 800AE108 00073B00 */ sll $a3, $a3, 0xc
/* B252AC 800AE10C 24780008 */ addiu $t8, $v1, 8
/* B252B0 800AE110 AE180138 */ sw $t8, 0x138($s0)
/* B252B4 800AE114 AC600004 */ sw $zero, 4($v1)
/* B252B8 800AE118 AC740000 */ sw $s4, ($v1)
/* B252BC 800AE11C 8E030138 */ lw $v1, 0x138($s0)
/* B252C0 800AE120 00063300 */ sll $a2, $a2, 0xc
/* B252C4 800AE124 00D57825 */ or $t7, $a2, $s5
/* B252C8 800AE128 246E0008 */ addiu $t6, $v1, 8
/* B252CC 800AE12C AE0E0138 */ sw $t6, 0x138($s0)
/* B252D0 800AE130 00EDC025 */ or $t8, $a3, $t5
/* B252D4 800AE134 030C7025 */ or $t6, $t8, $t4
/* B252D8 800AE138 01EBC825 */ or $t9, $t7, $t3
/* B252DC 800AE13C AC790000 */ sw $t9, ($v1)
/* B252E0 800AE140 AC6E0004 */ sw $t6, 4($v1)
/* B252E4 800AE144 8E030138 */ lw $v1, 0x138($s0)
/* B252E8 800AE148 00D77025 */ or $t6, $a2, $s7
/* B252EC 800AE14C 25290001 */ addiu $t1, $t1, 1
/* B252F0 800AE150 246F0008 */ addiu $t7, $v1, 8
/* B252F4 800AE154 AE0F0138 */ sw $t7, 0x138($s0)
/* B252F8 800AE158 AC600004 */ sw $zero, 4($v1)
/* B252FC 800AE15C AC760000 */ sw $s6, ($v1)
/* B25300 800AE160 8E030138 */ lw $v1, 0x138($s0)
/* B25304 800AE164 01CB7825 */ or $t7, $t6, $t3
/* B25308 800AE168 000A7040 */ sll $t6, $t2, 1
/* B2530C 800AE16C 24790008 */ addiu $t9, $v1, 8
/* B25310 800AE170 AE190138 */ sw $t9, 0x138($s0)
/* B25314 800AE174 AC600004 */ sw $zero, 4($v1)
/* B25318 800AE178 AC650000 */ sw $a1, ($v1)
/* B2531C 800AE17C 8E030138 */ lw $v1, 0x138($s0)
/* B25320 800AE180 00ECC825 */ or $t9, $a3, $t4
/* B25324 800AE184 03CE1021 */ addu $v0, $fp, $t6
/* B25328 800AE188 24780008 */ addiu $t8, $v1, 8
/* B2532C 800AE18C AE180138 */ sw $t8, 0x138($s0)
/* B25330 800AE190 AC790004 */ sw $t9, 4($v1)
/* B25334 800AE194 AC6F0000 */ sw $t7, ($v1)
/* B25338 800AE198 8E030138 */ lw $v1, 0x138($s0)
/* B2533C 800AE19C 00094C00 */ sll $t1, $t1, 0x10
/* B25340 800AE1A0 00094C03 */ sra $t1, $t1, 0x10
/* B25344 800AE1A4 24780008 */ addiu $t8, $v1, 8
/* B25348 800AE1A8 AE180138 */ sw $t8, 0x138($s0)
/* B2534C 800AE1AC 844F0004 */ lh $t7, 4($v0)
/* B25350 800AE1B0 844E0000 */ lh $t6, ($v0)
/* B25354 800AE1B4 254A0004 */ addiu $t2, $t2, 4
/* B25358 800AE1B8 000FC840 */ sll $t9, $t7, 1
/* B2535C 800AE1BC 333800FF */ andi $t8, $t9, 0xff
/* B25360 800AE1C0 000E7840 */ sll $t7, $t6, 1
/* B25364 800AE1C4 31F900FF */ andi $t9, $t7, 0xff
/* B25368 800AE1C8 00197400 */ sll $t6, $t9, 0x10
/* B2536C 800AE1CC 84590002 */ lh $t9, 2($v0)
/* B25370 800AE1D0 030E7825 */ or $t7, $t8, $t6
/* B25374 800AE1D4 000A5400 */ sll $t2, $t2, 0x10
/* B25378 800AE1D8 0019C040 */ sll $t8, $t9, 1
/* B2537C 800AE1DC 330E00FF */ andi $t6, $t8, 0xff
/* B25380 800AE1E0 000ECA00 */ sll $t9, $t6, 8
/* B25384 800AE1E4 01F9C025 */ or $t8, $t7, $t9
/* B25388 800AE1E8 030D7025 */ or $t6, $t8, $t5
/* B2538C 800AE1EC AC6E0000 */ sw $t6, ($v1)
/* B25390 800AE1F0 844F0006 */ lh $t7, 6($v0)
/* B25394 800AE1F4 844E0000 */ lh $t6, ($v0)
/* B25398 800AE1F8 29210004 */ slti $at, $t1, 4
/* B2539C 800AE1FC 000FC840 */ sll $t9, $t7, 1
/* B253A0 800AE200 333800FF */ andi $t8, $t9, 0xff
/* B253A4 800AE204 000E7840 */ sll $t7, $t6, 1
/* B253A8 800AE208 31F900FF */ andi $t9, $t7, 0xff
/* B253AC 800AE20C 00197400 */ sll $t6, $t9, 0x10
/* B253B0 800AE210 84590004 */ lh $t9, 4($v0)
/* B253B4 800AE214 030E7825 */ or $t7, $t8, $t6
/* B253B8 800AE218 00082400 */ sll $a0, $t0, 0x10
/* B253BC 800AE21C 0019C040 */ sll $t8, $t9, 1
/* B253C0 800AE220 330E00FF */ andi $t6, $t8, 0xff
/* B253C4 800AE224 000ECA00 */ sll $t9, $t6, 8
/* B253C8 800AE228 01F9C025 */ or $t8, $t7, $t9
/* B253CC 800AE22C 00042403 */ sra $a0, $a0, 0x10
/* B253D0 800AE230 000A5403 */ sra $t2, $t2, 0x10
/* B253D4 800AE234 1420FF9B */ bnez $at, .L800AE0A4
/* B253D8 800AE238 AC780004 */ sw $t8, 4($v1)
/* B253DC 800AE23C 27FF0001 */ addiu $ra, $ra, 1
/* B253E0 800AE240 001FFC00 */ sll $ra, $ra, 0x10
/* B253E4 800AE244 001FFC03 */ sra $ra, $ra, 0x10
/* B253E8 800AE248 2BE10004 */ slti $at, $ra, 4
/* B253EC 800AE24C 1420FF8D */ bnez $at, .L800AE084
/* B253F0 800AE250 87A6003A */ lh $a2, 0x3a($sp)
/* B253F4 800AE254 8E030138 */ lw $v1, 0x138($s0)
/* B253F8 800AE258 3C0FDF00 */ lui $t7, 0xdf00
/* B253FC 800AE25C 24010002 */ li $at, 2
/* B25400 800AE260 246E0008 */ addiu $t6, $v1, 8
/* B25404 800AE264 AE0E0138 */ sw $t6, 0x138($s0)
/* B25408 800AE268 AC600004 */ sw $zero, 4($v1)
/* B2540C 800AE26C AC6F0000 */ sw $t7, ($v1)
/* B25410 800AE270 8FB90054 */ lw $t9, 0x54($sp)
/* B25414 800AE274 8FA20424 */ lw $v0, 0x424($sp)
/* B25418 800AE278 27380040 */ addiu $t8, $t9, 0x40
/* B2541C 800AE27C 24420001 */ addiu $v0, $v0, 1
/* B25420 800AE280 AFA20424 */ sw $v0, 0x424($sp)
/* B25424 800AE284 1441FF33 */ bne $v0, $at, .L800ADF54
/* B25428 800AE288 AFB80054 */ sw $t8, 0x54($sp)
/* B2542C 800AE28C 8FBF002C */ lw $ra, 0x2c($sp)
/* B25430 800AE290 8FA20438 */ lw $v0, 0x438($sp)
/* B25434 800AE294 8FB00008 */ lw $s0, 8($sp)
/* B25438 800AE298 8FB1000C */ lw $s1, 0xc($sp)
/* B2543C 800AE29C 8FB20010 */ lw $s2, 0x10($sp)
/* B25440 800AE2A0 8FB30014 */ lw $s3, 0x14($sp)
/* B25444 800AE2A4 8FB40018 */ lw $s4, 0x18($sp)
/* B25448 800AE2A8 8FB5001C */ lw $s5, 0x1c($sp)
/* B2544C 800AE2AC 8FB60020 */ lw $s6, 0x20($sp)
/* B25450 800AE2B0 8FB70024 */ lw $s7, 0x24($sp)
/* B25454 800AE2B4 8FBE0028 */ lw $fp, 0x28($sp)
/* B25458 800AE2B8 03E00008 */ jr $ra
/* B2545C 800AE2BC 27BD0430 */ addiu $sp, $sp, 0x430

View file

@ -1,868 +0,0 @@
.late_rodata
glabel jtbl_80142DA8
.word L800AE320
.word L800AE320
.word L800AE420
.word L800AE420
.word L800AE520
.word L800AE520
.text
glabel func_800AE2C0
/* B25460 800AE2C0 27BDFCC8 */ addiu $sp, $sp, -0x338
/* B25464 800AE2C4 AFB70024 */ sw $s7, 0x24($sp)
/* B25468 800AE2C8 8FB70358 */ lw $s7, 0x358($sp)
/* B2546C 800AE2CC AFBE0028 */ sw $fp, 0x28($sp)
/* B25470 800AE2D0 AFB20010 */ sw $s2, 0x10($sp)
/* B25474 800AE2D4 AFB00008 */ sw $s0, 8($sp)
/* B25478 800AE2D8 2EE10006 */ sltiu $at, $s7, 6
/* B2547C 800AE2DC 00808025 */ move $s0, $a0
/* B25480 800AE2E0 00E09025 */ move $s2, $a3
/* B25484 800AE2E4 00A0F025 */ move $fp, $a1
/* B25488 800AE2E8 AFBF002C */ sw $ra, 0x2c($sp)
/* B2548C 800AE2EC AFB60020 */ sw $s6, 0x20($sp)
/* B25490 800AE2F0 AFB5001C */ sw $s5, 0x1c($sp)
/* B25494 800AE2F4 AFB40018 */ sw $s4, 0x18($sp)
/* B25498 800AE2F8 AFB30014 */ sw $s3, 0x14($sp)
/* B2549C 800AE2FC AFB1000C */ sw $s1, 0xc($sp)
/* B254A0 800AE300 102000C5 */ beqz $at, .L800AE618
/* B254A4 800AE304 AFA60340 */ sw $a2, 0x340($sp)
/* B254A8 800AE308 00177080 */ sll $t6, $s7, 2
/* B254AC 800AE30C 3C018014 */ lui $at, %hi(jtbl_80142DA8)
/* B254B0 800AE310 002E0821 */ addu $at, $at, $t6
/* B254B4 800AE314 8C2E2DA8 */ lw $t6, %lo(jtbl_80142DA8)($at)
/* B254B8 800AE318 01C00008 */ jr $t6
/* B254BC 800AE31C 00000000 */ nop
glabel L800AE320
/* B254C0 800AE320 8FAB0350 */ lw $t3, 0x350($sp)
/* B254C4 800AE324 3C148013 */ lui $s4, %hi(D_8012AE30) # $s4, 0x8013
/* B254C8 800AE328 3C138013 */ lui $s3, %hi(D_8012AE18) # $s3, 0x8013
/* B254CC 800AE32C 8FAA0348 */ lw $t2, 0x348($sp)
/* B254D0 800AE330 2673AE18 */ addiu $s3, %lo(D_8012AE18) # addiu $s3, $s3, -0x51e8
/* B254D4 800AE334 2694AE30 */ addiu $s4, %lo(D_8012AE30) # addiu $s4, $s4, -0x51d0
/* B254D8 800AE338 27A501EC */ addiu $a1, $sp, 0x1ec
/* B254DC 800AE33C 27A602B4 */ addiu $a2, $sp, 0x2b4
/* B254E0 800AE340 27A70250 */ addiu $a3, $sp, 0x250
/* B254E4 800AE344 27A80188 */ addiu $t0, $sp, 0x188
/* B254E8 800AE348 27A40124 */ addiu $a0, $sp, 0x124
/* B254EC 800AE34C 8FB50354 */ lw $s5, 0x354($sp)
/* B254F0 800AE350 8FB1034C */ lw $s1, 0x34c($sp)
/* B254F4 800AE354 27AC0188 */ addiu $t4, $sp, 0x188
/* B254F8 800AE358 024BB021 */ addu $s6, $s2, $t3
.L800AE35C:
/* B254FC 800AE35C ACB10000 */ sw $s1, ($a1)
/* B25500 800AE360 ACD20000 */ sw $s2, ($a2)
/* B25504 800AE364 ACEA0000 */ sw $t2, ($a3)
/* B25508 800AE368 3C0F8013 */ lui $t7, %hi(D_8012AE18) # $t7, 0x8013
/* B2550C 800AE36C 85EFAE18 */ lh $t7, %lo(D_8012AE18)($t7)
/* B25510 800AE370 240D0001 */ li $t5, 1
/* B25514 800AE374 000DC040 */ sll $t8, $t5, 1
/* B25518 800AE378 86890000 */ lh $t1, ($s4)
/* B2551C 800AE37C 02781821 */ addu $v1, $s3, $t8
/* B25520 800AE380 02CB1021 */ addu $v0, $s6, $t3
/* B25524 800AE384 ACC20008 */ sw $v0, 8($a2)
/* B25528 800AE388 004B1021 */ addu $v0, $v0, $t3
/* B2552C 800AE38C AD0F0000 */ sw $t7, ($t0)
/* B25530 800AE390 846F0004 */ lh $t7, 4($v1)
/* B25534 800AE394 846E0002 */ lh $t6, 2($v1)
/* B25538 800AE398 84780006 */ lh $t8, 6($v1)
/* B2553C 800AE39C 84790000 */ lh $t9, ($v1)
/* B25540 800AE3A0 ACC2000C */ sw $v0, 0xc($a2)
/* B25544 800AE3A4 24840014 */ addiu $a0, $a0, 0x14
/* B25548 800AE3A8 008C082B */ sltu $at, $a0, $t4
/* B2554C 800AE3AC 004B1021 */ addu $v0, $v0, $t3
/* B25550 800AE3B0 ACEA0010 */ sw $t2, 0x10($a3)
/* B25554 800AE3B4 ACEA000C */ sw $t2, 0xc($a3)
/* B25558 800AE3B8 ACEA0008 */ sw $t2, 8($a3)
/* B2555C 800AE3BC ACEA0004 */ sw $t2, 4($a3)
/* B25560 800AE3C0 26940002 */ addiu $s4, $s4, 2
/* B25564 800AE3C4 ACC20010 */ sw $v0, 0x10($a2)
/* B25568 800AE3C8 ACB10010 */ sw $s1, 0x10($a1)
/* B2556C 800AE3CC ACB1000C */ sw $s1, 0xc($a1)
/* B25570 800AE3D0 ACB10008 */ sw $s1, 8($a1)
/* B25574 800AE3D4 24A50014 */ addiu $a1, $a1, 0x14
/* B25578 800AE3D8 24C60014 */ addiu $a2, $a2, 0x14
/* B2557C 800AE3DC 24E70014 */ addiu $a3, $a3, 0x14
/* B25580 800AE3E0 25080014 */ addiu $t0, $t0, 0x14
/* B25584 800AE3E4 ACB1FFF0 */ sw $s1, -0x10($a1)
/* B25588 800AE3E8 ACD6FFF0 */ sw $s6, -0x10($a2)
/* B2558C 800AE3EC 01555021 */ addu $t2, $t2, $s5
/* B25590 800AE3F0 AC89FFEC */ sw $t1, -0x14($a0)
/* B25594 800AE3F4 AC89FFF4 */ sw $t1, -0xc($a0)
/* B25598 800AE3F8 AC89FFF8 */ sw $t1, -8($a0)
/* B2559C 800AE3FC AC89FFFC */ sw $t1, -4($a0)
/* B255A0 800AE400 AC89FFF0 */ sw $t1, -0x10($a0)
/* B255A4 800AE404 AD0FFFF8 */ sw $t7, -8($t0)
/* B255A8 800AE408 AD0EFFF4 */ sw $t6, -0xc($t0)
/* B255AC 800AE40C AD18FFFC */ sw $t8, -4($t0)
/* B255B0 800AE410 1420FFD2 */ bnez $at, .L800AE35C
/* B255B4 800AE414 AD19FFF0 */ sw $t9, -0x10($t0)
/* B255B8 800AE418 10000080 */ b .L800AE61C
/* B255BC 800AE41C 00177080 */ sll $t6, $s7, 2
glabel L800AE420
/* B255C0 800AE420 8FAB0350 */ lw $t3, 0x350($sp)
/* B255C4 800AE424 8FB1034C */ lw $s1, 0x34c($sp)
/* B255C8 800AE428 3C148013 */ lui $s4, %hi(D_8012AE30) # $s4, 0x8013
/* B255CC 800AE42C 3C138013 */ lui $s3, %hi(D_8012AE18) # $s3, 0x8013
/* B255D0 800AE430 8FAA0348 */ lw $t2, 0x348($sp)
/* B255D4 800AE434 2673AE18 */ addiu $s3, %lo(D_8012AE18) # addiu $s3, $s3, -0x51e8
/* B255D8 800AE438 2694AE30 */ addiu $s4, %lo(D_8012AE30) # addiu $s4, $s4, -0x51d0
/* B255DC 800AE43C 27A501EC */ addiu $a1, $sp, 0x1ec
/* B255E0 800AE440 27A602B4 */ addiu $a2, $sp, 0x2b4
/* B255E4 800AE444 27A70250 */ addiu $a3, $sp, 0x250
/* B255E8 800AE448 27A80188 */ addiu $t0, $sp, 0x188
/* B255EC 800AE44C 27A40124 */ addiu $a0, $sp, 0x124
/* B255F0 800AE450 8FB50354 */ lw $s5, 0x354($sp)
/* B255F4 800AE454 27AC0188 */ addiu $t4, $sp, 0x188
/* B255F8 800AE458 022BB021 */ addu $s6, $s1, $t3
.L800AE45C:
/* B255FC 800AE45C ACD20000 */ sw $s2, ($a2)
/* B25600 800AE460 ACEA0000 */ sw $t2, ($a3)
/* B25604 800AE464 ACB10000 */ sw $s1, ($a1)
/* B25608 800AE468 3C198013 */ lui $t9, %hi(D_8012AE18) # $t9, 0x8013
/* B2560C 800AE46C 8739AE18 */ lh $t9, %lo(D_8012AE18)($t9)
/* B25610 800AE470 240D0001 */ li $t5, 1
/* B25614 800AE474 000D7040 */ sll $t6, $t5, 1
/* B25618 800AE478 86890000 */ lh $t1, ($s4)
/* B2561C 800AE47C 026E1821 */ addu $v1, $s3, $t6
/* B25620 800AE480 02CB1021 */ addu $v0, $s6, $t3
/* B25624 800AE484 ACA20008 */ sw $v0, 8($a1)
/* B25628 800AE488 004B1021 */ addu $v0, $v0, $t3
/* B2562C 800AE48C AD190000 */ sw $t9, ($t0)
/* B25630 800AE490 84790004 */ lh $t9, 4($v1)
/* B25634 800AE494 84780002 */ lh $t8, 2($v1)
/* B25638 800AE498 846E0006 */ lh $t6, 6($v1)
/* B2563C 800AE49C 846F0000 */ lh $t7, ($v1)
/* B25640 800AE4A0 ACA2000C */ sw $v0, 0xc($a1)
/* B25644 800AE4A4 24840014 */ addiu $a0, $a0, 0x14
/* B25648 800AE4A8 008C082B */ sltu $at, $a0, $t4
/* B2564C 800AE4AC 004B1021 */ addu $v0, $v0, $t3
/* B25650 800AE4B0 ACEA0010 */ sw $t2, 0x10($a3)
/* B25654 800AE4B4 ACEA000C */ sw $t2, 0xc($a3)
/* B25658 800AE4B8 ACEA0008 */ sw $t2, 8($a3)
/* B2565C 800AE4BC ACEA0004 */ sw $t2, 4($a3)
/* B25660 800AE4C0 26940002 */ addiu $s4, $s4, 2
/* B25664 800AE4C4 ACA20010 */ sw $v0, 0x10($a1)
/* B25668 800AE4C8 ACD20010 */ sw $s2, 0x10($a2)
/* B2566C 800AE4CC ACD2000C */ sw $s2, 0xc($a2)
/* B25670 800AE4D0 ACD20008 */ sw $s2, 8($a2)
/* B25674 800AE4D4 24A50014 */ addiu $a1, $a1, 0x14
/* B25678 800AE4D8 24C60014 */ addiu $a2, $a2, 0x14
/* B2567C 800AE4DC 24E70014 */ addiu $a3, $a3, 0x14
/* B25680 800AE4E0 25080014 */ addiu $t0, $t0, 0x14
/* B25684 800AE4E4 ACD2FFF0 */ sw $s2, -0x10($a2)
/* B25688 800AE4E8 ACB6FFF0 */ sw $s6, -0x10($a1)
/* B2568C 800AE4EC 01555021 */ addu $t2, $t2, $s5
/* B25690 800AE4F0 AC89FFEC */ sw $t1, -0x14($a0)
/* B25694 800AE4F4 AC89FFF4 */ sw $t1, -0xc($a0)
/* B25698 800AE4F8 AC89FFF8 */ sw $t1, -8($a0)
/* B2569C 800AE4FC AC89FFFC */ sw $t1, -4($a0)
/* B256A0 800AE500 AC89FFF0 */ sw $t1, -0x10($a0)
/* B256A4 800AE504 AD19FFF8 */ sw $t9, -8($t0)
/* B256A8 800AE508 AD18FFF4 */ sw $t8, -0xc($t0)
/* B256AC 800AE50C AD0EFFFC */ sw $t6, -4($t0)
/* B256B0 800AE510 1420FFD2 */ bnez $at, .L800AE45C
/* B256B4 800AE514 AD0FFFF0 */ sw $t7, -0x10($t0)
/* B256B8 800AE518 10000040 */ b .L800AE61C
/* B256BC 800AE51C 00177080 */ sll $t6, $s7, 2
glabel L800AE520
/* B256C0 800AE520 8FAB0350 */ lw $t3, 0x350($sp)
/* B256C4 800AE524 3C148013 */ lui $s4, %hi(D_8012AE24) # $s4, 0x8013
/* B256C8 800AE528 3C138013 */ lui $s3, %hi(D_8012AE18) # $s3, 0x8013
/* B256CC 800AE52C 8FAA034C */ lw $t2, 0x34c($sp)
/* B256D0 800AE530 2673AE18 */ addiu $s3, %lo(D_8012AE18) # addiu $s3, $s3, -0x51e8
/* B256D4 800AE534 2694AE24 */ addiu $s4, %lo(D_8012AE24) # addiu $s4, $s4, -0x51dc
/* B256D8 800AE538 27A501EC */ addiu $a1, $sp, 0x1ec
/* B256DC 800AE53C 27A602B4 */ addiu $a2, $sp, 0x2b4
/* B256E0 800AE540 27A70250 */ addiu $a3, $sp, 0x250
/* B256E4 800AE544 27A80188 */ addiu $t0, $sp, 0x188
/* B256E8 800AE548 27A40124 */ addiu $a0, $sp, 0x124
/* B256EC 800AE54C 8FB50354 */ lw $s5, 0x354($sp)
/* B256F0 800AE550 27B10188 */ addiu $s1, $sp, 0x188
/* B256F4 800AE554 8FAC0348 */ lw $t4, 0x348($sp)
/* B256F8 800AE558 024BB021 */ addu $s6, $s2, $t3
.L800AE55C:
/* B256FC 800AE55C ACEC0000 */ sw $t4, ($a3)
/* B25700 800AE560 ACD20000 */ sw $s2, ($a2)
/* B25704 800AE564 ACAA0000 */ sw $t2, ($a1)
/* B25708 800AE568 3C0F8013 */ lui $t7, %hi(D_8012AE18) # $t7, 0x8013
/* B2570C 800AE56C 85EFAE18 */ lh $t7, %lo(D_8012AE18)($t7)
/* B25710 800AE570 240D0001 */ li $t5, 1
/* B25714 800AE574 000DC040 */ sll $t8, $t5, 1
/* B25718 800AE578 86890000 */ lh $t1, ($s4)
/* B2571C 800AE57C 02781821 */ addu $v1, $s3, $t8
/* B25720 800AE580 02CB1021 */ addu $v0, $s6, $t3
/* B25724 800AE584 ACC20008 */ sw $v0, 8($a2)
/* B25728 800AE588 004B1021 */ addu $v0, $v0, $t3
/* B2572C 800AE58C AD0F0000 */ sw $t7, ($t0)
/* B25730 800AE590 846F0004 */ lh $t7, 4($v1)
/* B25734 800AE594 846E0002 */ lh $t6, 2($v1)
/* B25738 800AE598 84780006 */ lh $t8, 6($v1)
/* B2573C 800AE59C 84790000 */ lh $t9, ($v1)
/* B25740 800AE5A0 ACC2000C */ sw $v0, 0xc($a2)
/* B25744 800AE5A4 24840014 */ addiu $a0, $a0, 0x14
/* B25748 800AE5A8 0091082B */ sltu $at, $a0, $s1
/* B2574C 800AE5AC 004B1021 */ addu $v0, $v0, $t3
/* B25750 800AE5B0 ACAA0010 */ sw $t2, 0x10($a1)
/* B25754 800AE5B4 ACAA000C */ sw $t2, 0xc($a1)
/* B25758 800AE5B8 ACAA0008 */ sw $t2, 8($a1)
/* B2575C 800AE5BC ACAA0004 */ sw $t2, 4($a1)
/* B25760 800AE5C0 26940002 */ addiu $s4, $s4, 2
/* B25764 800AE5C4 ACC20010 */ sw $v0, 0x10($a2)
/* B25768 800AE5C8 ACEC0010 */ sw $t4, 0x10($a3)
/* B2576C 800AE5CC ACEC000C */ sw $t4, 0xc($a3)
/* B25770 800AE5D0 ACEC0008 */ sw $t4, 8($a3)
/* B25774 800AE5D4 24A50014 */ addiu $a1, $a1, 0x14
/* B25778 800AE5D8 24C60014 */ addiu $a2, $a2, 0x14
/* B2577C 800AE5DC 24E70014 */ addiu $a3, $a3, 0x14
/* B25780 800AE5E0 25080014 */ addiu $t0, $t0, 0x14
/* B25784 800AE5E4 ACECFFF0 */ sw $t4, -0x10($a3)
/* B25788 800AE5E8 ACD6FFF0 */ sw $s6, -0x10($a2)
/* B2578C 800AE5EC 01555021 */ addu $t2, $t2, $s5
/* B25790 800AE5F0 AC89FFEC */ sw $t1, -0x14($a0)
/* B25794 800AE5F4 AC89FFF4 */ sw $t1, -0xc($a0)
/* B25798 800AE5F8 AC89FFF8 */ sw $t1, -8($a0)
/* B2579C 800AE5FC AC89FFFC */ sw $t1, -4($a0)
/* B257A0 800AE600 AC89FFF0 */ sw $t1, -0x10($a0)
/* B257A4 800AE604 AD0FFFF8 */ sw $t7, -8($t0)
/* B257A8 800AE608 AD0EFFF4 */ sw $t6, -0xc($t0)
/* B257AC 800AE60C AD18FFFC */ sw $t8, -4($t0)
/* B257B0 800AE610 1420FFD2 */ bnez $at, .L800AE55C
/* B257B4 800AE614 AD19FFF0 */ sw $t9, -0x10($t0)
.L800AE618:
/* B257B8 800AE618 00177080 */ sll $t6, $s7, 2
.L800AE61C:
/* B257BC 800AE61C 01D77021 */ addu $t6, $t6, $s7
/* B257C0 800AE620 000E7080 */ sll $t6, $t6, 2
/* B257C4 800AE624 01D77023 */ subu $t6, $t6, $s7
/* B257C8 800AE628 8E190134 */ lw $t9, 0x134($s0)
/* B257CC 800AE62C 000E7080 */ sll $t6, $t6, 2
/* B257D0 800AE630 01D77023 */ subu $t6, $t6, $s7
/* B257D4 800AE634 000E7140 */ sll $t6, $t6, 5
/* B257D8 800AE638 032E7821 */ addu $t7, $t9, $t6
/* B257DC 800AE63C AE0F0138 */ sw $t7, 0x138($s0)
/* B257E0 800AE640 8FB80340 */ lw $t8, 0x340($sp)
/* B257E4 800AE644 3C048013 */ lui $a0, %hi(D_8012ADD8) # $a0, 0x8013
/* B257E8 800AE648 2484ADD8 */ addiu $a0, %lo(D_8012ADD8) # addiu $a0, $a0, -0x5228
/* B257EC 800AE64C 0018C900 */ sll $t9, $t8, 4
/* B257F0 800AE650 03D92821 */ addu $a1, $fp, $t9
/* B257F4 800AE654 00001025 */ move $v0, $zero
/* B257F8 800AE658 240D0020 */ li $t5, 32
/* B257FC 800AE65C 240C00FF */ li $t4, 255
/* B25800 800AE660 27AB0124 */ addiu $t3, $sp, 0x124
/* B25804 800AE664 27AA0188 */ addiu $t2, $sp, 0x188
/* B25808 800AE668 27A901EC */ addiu $t1, $sp, 0x1ec
/* B2580C 800AE66C 27A80250 */ addiu $t0, $sp, 0x250
/* B25810 800AE670 27A702B4 */ addiu $a3, $sp, 0x2b4
.L800AE674:
/* B25814 800AE674 94830000 */ lhu $v1, ($a0)
/* B25818 800AE678 24420001 */ addiu $v0, $v0, 1
/* B2581C 800AE67C 24840002 */ addiu $a0, $a0, 2
/* B25820 800AE680 00033080 */ sll $a2, $v1, 2
/* B25824 800AE684 00E67021 */ addu $t6, $a3, $a2
/* B25828 800AE688 8DCF0000 */ lw $t7, ($t6)
/* B2582C 800AE68C 0106C021 */ addu $t8, $t0, $a2
/* B25830 800AE690 01267021 */ addu $t6, $t1, $a2
/* B25834 800AE694 A4AF0000 */ sh $t7, ($a1)
/* B25838 800AE698 8F190000 */ lw $t9, ($t8)
/* B2583C 800AE69C 0146C021 */ addu $t8, $t2, $a2
/* B25840 800AE6A0 24A50010 */ addiu $a1, $a1, 0x10
/* B25844 800AE6A4 A4B9FFF2 */ sh $t9, -0xe($a1)
/* B25848 800AE6A8 8DCF0000 */ lw $t7, ($t6)
/* B2584C 800AE6AC A4A0FFF6 */ sh $zero, -0xa($a1)
/* B25850 800AE6B0 01667021 */ addu $t6, $t3, $a2
/* B25854 800AE6B4 A4AFFFF4 */ sh $t7, -0xc($a1)
/* B25858 800AE6B8 8F190000 */ lw $t9, ($t8)
/* B2585C 800AE6BC A4B9FFF8 */ sh $t9, -8($a1)
/* B25860 800AE6C0 8DCF0000 */ lw $t7, ($t6)
/* B25864 800AE6C4 A0A0FFFD */ sb $zero, -3($a1)
/* B25868 800AE6C8 A0A0FFFE */ sb $zero, -2($a1)
/* B2586C 800AE6CC A0ACFFFC */ sb $t4, -4($a1)
/* B25870 800AE6D0 144DFFE8 */ bne $v0, $t5, .L800AE674
/* B25874 800AE6D4 A4AFFFFA */ sh $t7, -6($a1)
/* B25878 800AE6D8 8E030138 */ lw $v1, 0x138($s0)
/* B2587C 800AE6DC 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102
/* B25880 800AE6E0 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40
/* B25884 800AE6E4 24780008 */ addiu $t8, $v1, 8
/* B25888 800AE6E8 AE180138 */ sw $t8, 0x138($s0)
/* B2588C 800AE6EC AC790000 */ sw $t9, ($v1)
/* B25890 800AE6F0 8FAE0340 */ lw $t6, 0x340($sp)
/* B25894 800AE6F4 24010004 */ li $at, 4
/* B25898 800AE6F8 00009025 */ move $s2, $zero
/* B2589C 800AE6FC 000E7900 */ sll $t7, $t6, 4
/* B258A0 800AE700 01FEC021 */ addu $t8, $t7, $fp
/* B258A4 800AE704 AC780004 */ sw $t8, 4($v1)
/* B258A8 800AE708 8FB90340 */ lw $t9, 0x340($sp)
/* B258AC 800AE70C 3C180300 */ lui $t8, 0x300
/* B258B0 800AE710 3C1FF548 */ lui $ra, 0xf548
/* B258B4 800AE714 03227021 */ addu $t6, $t9, $v0
/* B258B8 800AE718 AFAE0340 */ sw $t6, 0x340($sp)
/* B258BC 800AE71C 8E030138 */ lw $v1, 0x138($s0)
/* B258C0 800AE720 2419001E */ li $t9, 30
/* B258C4 800AE724 00177080 */ sll $t6, $s7, 2
/* B258C8 800AE728 246F0008 */ addiu $t7, $v1, 8
/* B258CC 800AE72C AE0F0138 */ sw $t7, 0x138($s0)
/* B258D0 800AE730 AC790004 */ sw $t9, 4($v1)
/* B258D4 800AE734 12E10004 */ beq $s7, $at, .L800AE748
/* B258D8 800AE738 AC780000 */ sw $t8, ($v1)
/* B258DC 800AE73C 24010005 */ li $at, 5
/* B258E0 800AE740 16E100B3 */ bne $s7, $at, .L800AEA10
/* B258E4 800AE744 00177880 */ sll $t7, $s7, 2
.L800AE748:
/* B258E8 800AE748 3C0F8013 */ lui $t7, %hi(D_8012ADC0) # $t7, 0x8013
/* B258EC 800AE74C 25EFADC0 */ addiu $t7, %lo(D_8012ADC0) # addiu $t7, $t7, -0x5240
/* B258F0 800AE750 3C14FD48 */ lui $s4, (0xFD48007F >> 16) # lui $s4, 0xfd48
/* B258F4 800AE754 3694007F */ ori $s4, (0xFD48007F & 0xFFFF) # ori $s4, $s4, 0x7f
/* B258F8 800AE758 01CFF021 */ addu $fp, $t6, $t7
/* B258FC 800AE75C A7A0031E */ sh $zero, 0x31e($sp)
/* B25900 800AE760 A7A00320 */ sh $zero, 0x320($sp)
/* B25904 800AE764 3C170100 */ lui $s7, 0x100
/* B25908 800AE768 3C16E700 */ lui $s6, 0xe700
/* B2590C 800AE76C 3C15E600 */ lui $s5, 0xe600
/* B25910 800AE770 3C0C0700 */ lui $t4, 0x700
.L800AE774:
/* B25914 800AE774 87A20320 */ lh $v0, 0x320($sp)
/* B25918 800AE778 00002025 */ move $a0, $zero
/* B2591C 800AE77C 00006825 */ move $t5, $zero
/* B25920 800AE780 2458001F */ addiu $t8, $v0, 0x1f
/* B25924 800AE784 00188880 */ sll $s1, $t8, 2
/* B25928 800AE788 00029880 */ sll $s3, $v0, 2
/* B2592C 800AE78C 32730FFF */ andi $s3, $s3, 0xfff
/* B25930 800AE790 32310FFF */ andi $s1, $s1, 0xfff
/* B25934 800AE794 AFB80040 */ sw $t8, 0x40($sp)
.L800AE798:
/* B25938 800AE798 8E030138 */ lw $v1, 0x138($s0)
/* B2593C 800AE79C 248B001F */ addiu $t3, $a0, 0x1f
/* B25940 800AE7A0 000B3880 */ sll $a3, $t3, 2
/* B25944 800AE7A4 24790008 */ addiu $t9, $v1, 8
/* B25948 800AE7A8 AE190138 */ sw $t9, 0x138($s0)
/* B2594C 800AE7AC AC740000 */ sw $s4, ($v1)
/* B25950 800AE7B0 8FCE0000 */ lw $t6, ($fp)
/* B25954 800AE7B4 8E0F0128 */ lw $t7, 0x128($s0)
/* B25958 800AE7B8 00042880 */ sll $a1, $a0, 2
/* B2595C 800AE7BC 30A50FFF */ andi $a1, $a1, 0xfff
/* B25960 800AE7C0 01CFC021 */ addu $t8, $t6, $t7
/* B25964 800AE7C4 AC780004 */ sw $t8, 4($v1)
/* B25968 800AE7C8 8E030138 */ lw $v1, 0x138($s0)
/* B2596C 800AE7CC 00847023 */ subu $t6, $a0, $a0
/* B25970 800AE7D0 25CF0027 */ addiu $t7, $t6, 0x27
/* B25974 800AE7D4 24790008 */ addiu $t9, $v1, 8
/* B25978 800AE7D8 AE190138 */ sw $t9, 0x138($s0)
/* B2597C 800AE7DC 000FC0C3 */ sra $t8, $t7, 3
/* B25980 800AE7E0 331901FF */ andi $t9, $t8, 0x1ff
/* B25984 800AE7E4 00197240 */ sll $t6, $t9, 9
/* B25988 800AE7E8 01DF3025 */ or $a2, $t6, $ra
/* B2598C 800AE7EC AC660000 */ sw $a2, ($v1)
/* B25990 800AE7F0 AC6C0004 */ sw $t4, 4($v1)
/* B25994 800AE7F4 8E030138 */ lw $v1, 0x138($s0)
/* B25998 800AE7F8 30E70FFF */ andi $a3, $a3, 0xfff
/* B2599C 800AE7FC 00073B00 */ sll $a3, $a3, 0xc
/* B259A0 800AE800 246F0008 */ addiu $t7, $v1, 8
/* B259A4 800AE804 AE0F0138 */ sw $t7, 0x138($s0)
/* B259A8 800AE808 AC600004 */ sw $zero, 4($v1)
/* B259AC 800AE80C AC750000 */ sw $s5, ($v1)
/* B259B0 800AE810 8E030138 */ lw $v1, 0x138($s0)
/* B259B4 800AE814 00052B00 */ sll $a1, $a1, 0xc
/* B259B8 800AE818 3C01F400 */ lui $at, 0xf400
/* B259BC 800AE81C 24780008 */ addiu $t8, $v1, 8
/* B259C0 800AE820 AE180138 */ sw $t8, 0x138($s0)
/* B259C4 800AE824 00A1C825 */ or $t9, $a1, $at
/* B259C8 800AE828 00EC7025 */ or $t6, $a3, $t4
/* B259CC 800AE82C 01D14825 */ or $t1, $t6, $s1
/* B259D0 800AE830 03334025 */ or $t0, $t9, $s3
/* B259D4 800AE834 AC680000 */ sw $t0, ($v1)
/* B259D8 800AE838 AC690004 */ sw $t1, 4($v1)
/* B259DC 800AE83C 8E030138 */ lw $v1, 0x138($s0)
/* B259E0 800AE840 3C01F200 */ lui $at, 0xf200
/* B259E4 800AE844 00A17025 */ or $t6, $a1, $at
/* B259E8 800AE848 246F0008 */ addiu $t7, $v1, 8
/* B259EC 800AE84C AE0F0138 */ sw $t7, 0x138($s0)
/* B259F0 800AE850 AC600004 */ sw $zero, 4($v1)
/* B259F4 800AE854 AC760000 */ sw $s6, ($v1)
/* B259F8 800AE858 8E030138 */ lw $v1, 0x138($s0)
/* B259FC 800AE85C 00F17825 */ or $t7, $a3, $s1
/* B25A00 800AE860 01D35025 */ or $t2, $t6, $s3
/* B25A04 800AE864 24780008 */ addiu $t8, $v1, 8
/* B25A08 800AE868 AE180138 */ sw $t8, 0x138($s0)
/* B25A0C 800AE86C AC600004 */ sw $zero, 4($v1)
/* B25A10 800AE870 AC660000 */ sw $a2, ($v1)
/* B25A14 800AE874 8E030138 */ lw $v1, 0x138($s0)
/* B25A18 800AE878 34C40080 */ ori $a0, $a2, 0x80
/* B25A1C 800AE87C 25AD0001 */ addiu $t5, $t5, 1
/* B25A20 800AE880 24790008 */ addiu $t9, $v1, 8
/* B25A24 800AE884 AE190138 */ sw $t9, 0x138($s0)
/* B25A28 800AE888 AC6F0004 */ sw $t7, 4($v1)
/* B25A2C 800AE88C AC6A0000 */ sw $t2, ($v1)
/* B25A30 800AE890 8E030138 */ lw $v1, 0x138($s0)
/* B25A34 800AE894 000D6C00 */ sll $t5, $t5, 0x10
/* B25A38 800AE898 000D6C03 */ sra $t5, $t5, 0x10
/* B25A3C 800AE89C 24780008 */ addiu $t8, $v1, 8
/* B25A40 800AE8A0 AE180138 */ sw $t8, 0x138($s0)
/* B25A44 800AE8A4 AC740000 */ sw $s4, ($v1)
/* B25A48 800AE8A8 8E0E012C */ lw $t6, 0x12c($s0)
/* B25A4C 800AE8AC 8FD90000 */ lw $t9, ($fp)
/* B25A50 800AE8B0 29A10004 */ slti $at, $t5, 4
/* B25A54 800AE8B4 032E7821 */ addu $t7, $t9, $t6
/* B25A58 800AE8B8 AC6F0004 */ sw $t7, 4($v1)
/* B25A5C 800AE8BC 8E030138 */ lw $v1, 0x138($s0)
/* B25A60 800AE8C0 24780008 */ addiu $t8, $v1, 8
/* B25A64 800AE8C4 AE180138 */ sw $t8, 0x138($s0)
/* B25A68 800AE8C8 AC6C0004 */ sw $t4, 4($v1)
/* B25A6C 800AE8CC AC640000 */ sw $a0, ($v1)
/* B25A70 800AE8D0 8E030138 */ lw $v1, 0x138($s0)
/* B25A74 800AE8D4 24790008 */ addiu $t9, $v1, 8
/* B25A78 800AE8D8 AE190138 */ sw $t9, 0x138($s0)
/* B25A7C 800AE8DC AC600004 */ sw $zero, 4($v1)
/* B25A80 800AE8E0 AC750000 */ sw $s5, ($v1)
/* B25A84 800AE8E4 8E030138 */ lw $v1, 0x138($s0)
/* B25A88 800AE8E8 246E0008 */ addiu $t6, $v1, 8
/* B25A8C 800AE8EC AE0E0138 */ sw $t6, 0x138($s0)
/* B25A90 800AE8F0 AC690004 */ sw $t1, 4($v1)
/* B25A94 800AE8F4 AC680000 */ sw $t0, ($v1)
/* B25A98 800AE8F8 8E030138 */ lw $v1, 0x138($s0)
/* B25A9C 800AE8FC 00F77025 */ or $t6, $a3, $s7
/* B25AA0 800AE900 246F0008 */ addiu $t7, $v1, 8
/* B25AA4 800AE904 AE0F0138 */ sw $t7, 0x138($s0)
/* B25AA8 800AE908 AC600004 */ sw $zero, 4($v1)
/* B25AAC 800AE90C AC760000 */ sw $s6, ($v1)
/* B25AB0 800AE910 8E030138 */ lw $v1, 0x138($s0)
/* B25AB4 800AE914 01D17825 */ or $t7, $t6, $s1
/* B25AB8 800AE918 3C0E8013 */ lui $t6, %hi(D_8012AE3C) # $t6, 0x8013
/* B25ABC 800AE91C 24780008 */ addiu $t8, $v1, 8
/* B25AC0 800AE920 AE180138 */ sw $t8, 0x138($s0)
/* B25AC4 800AE924 AC770004 */ sw $s7, 4($v1)
/* B25AC8 800AE928 AC640000 */ sw $a0, ($v1)
/* B25ACC 800AE92C 8E030138 */ lw $v1, 0x138($s0)
/* B25AD0 800AE930 25CEAE3C */ addiu $t6, %lo(D_8012AE3C) # addiu $t6, $t6, -0x51c4
/* B25AD4 800AE934 000B2400 */ sll $a0, $t3, 0x10
/* B25AD8 800AE938 24790008 */ addiu $t9, $v1, 8
/* B25ADC 800AE93C AE190138 */ sw $t9, 0x138($s0)
/* B25AE0 800AE940 AC6F0004 */ sw $t7, 4($v1)
/* B25AE4 800AE944 AC6A0000 */ sw $t2, ($v1)
/* B25AE8 800AE948 8E030138 */ lw $v1, 0x138($s0)
/* B25AEC 800AE94C 0012C840 */ sll $t9, $s2, 1
/* B25AF0 800AE950 032E1021 */ addu $v0, $t9, $t6
/* B25AF4 800AE954 24780008 */ addiu $t8, $v1, 8
/* B25AF8 800AE958 AE180138 */ sw $t8, 0x138($s0)
/* B25AFC 800AE95C 844F0004 */ lh $t7, 4($v0)
/* B25B00 800AE960 844E0000 */ lh $t6, ($v0)
/* B25B04 800AE964 26520004 */ addiu $s2, $s2, 4
/* B25B08 800AE968 000FC040 */ sll $t8, $t7, 1
/* B25B0C 800AE96C 331900FF */ andi $t9, $t8, 0xff
/* B25B10 800AE970 000E7840 */ sll $t7, $t6, 1
/* B25B14 800AE974 31F800FF */ andi $t8, $t7, 0xff
/* B25B18 800AE978 00187400 */ sll $t6, $t8, 0x10
/* B25B1C 800AE97C 84580002 */ lh $t8, 2($v0)
/* B25B20 800AE980 032E7825 */ or $t7, $t9, $t6
/* B25B24 800AE984 00129400 */ sll $s2, $s2, 0x10
/* B25B28 800AE988 0018C840 */ sll $t9, $t8, 1
/* B25B2C 800AE98C 332E00FF */ andi $t6, $t9, 0xff
/* B25B30 800AE990 000EC200 */ sll $t8, $t6, 8
/* B25B34 800AE994 01F8C825 */ or $t9, $t7, $t8
/* B25B38 800AE998 032C7025 */ or $t6, $t9, $t4
/* B25B3C 800AE99C AC6E0000 */ sw $t6, ($v1)
/* B25B40 800AE9A0 844F0006 */ lh $t7, 6($v0)
/* B25B44 800AE9A4 844E0000 */ lh $t6, ($v0)
/* B25B48 800AE9A8 00129403 */ sra $s2, $s2, 0x10
/* B25B4C 800AE9AC 000FC040 */ sll $t8, $t7, 1
/* B25B50 800AE9B0 331900FF */ andi $t9, $t8, 0xff
/* B25B54 800AE9B4 000E7840 */ sll $t7, $t6, 1
/* B25B58 800AE9B8 31F800FF */ andi $t8, $t7, 0xff
/* B25B5C 800AE9BC 00187400 */ sll $t6, $t8, 0x10
/* B25B60 800AE9C0 84580004 */ lh $t8, 4($v0)
/* B25B64 800AE9C4 032E7825 */ or $t7, $t9, $t6
/* B25B68 800AE9C8 00042403 */ sra $a0, $a0, 0x10
/* B25B6C 800AE9CC 0018C840 */ sll $t9, $t8, 1
/* B25B70 800AE9D0 332E00FF */ andi $t6, $t9, 0xff
/* B25B74 800AE9D4 000EC200 */ sll $t8, $t6, 8
/* B25B78 800AE9D8 01F8C825 */ or $t9, $t7, $t8
/* B25B7C 800AE9DC 1420FF6E */ bnez $at, .L800AE798
/* B25B80 800AE9E0 AC790004 */ sw $t9, 4($v1)
/* B25B84 800AE9E4 87A2031E */ lh $v0, 0x31e($sp)
/* B25B88 800AE9E8 8FAE0040 */ lw $t6, 0x40($sp)
/* B25B8C 800AE9EC 24420001 */ addiu $v0, $v0, 1
/* B25B90 800AE9F0 00021400 */ sll $v0, $v0, 0x10
/* B25B94 800AE9F4 00021403 */ sra $v0, $v0, 0x10
/* B25B98 800AE9F8 28410004 */ slti $at, $v0, 4
/* B25B9C 800AE9FC A7A2031E */ sh $v0, 0x31e($sp)
/* B25BA0 800AEA00 1420FF5C */ bnez $at, .L800AE774
/* B25BA4 800AEA04 A7AE0320 */ sh $t6, 0x320($sp)
/* B25BA8 800AEA08 1000015D */ b .L800AEF80
/* B25BAC 800AEA0C 8E030138 */ lw $v1, 0x138($s0)
.L800AEA10:
/* B25BB0 800AEA10 3C188013 */ lui $t8, %hi(D_8012ADC0) # $t8, 0x8013
/* B25BB4 800AEA14 2718ADC0 */ addiu $t8, %lo(D_8012ADC0) # addiu $t8, $t8, -0x5240
/* B25BB8 800AEA18 3C14FD48 */ lui $s4, (0xFD48007F >> 16) # lui $s4, 0xfd48
/* B25BBC 800AEA1C 3694007F */ ori $s4, (0xFD48007F & 0xFFFF) # ori $s4, $s4, 0x7f
/* B25BC0 800AEA20 01F8F021 */ addu $fp, $t7, $t8
/* B25BC4 800AEA24 00009025 */ move $s2, $zero
/* B25BC8 800AEA28 A7A0031E */ sh $zero, 0x31e($sp)
/* B25BCC 800AEA2C A7A00320 */ sh $zero, 0x320($sp)
/* B25BD0 800AEA30 3C1FF548 */ lui $ra, 0xf548
/* B25BD4 800AEA34 3C170100 */ lui $s7, 0x100
/* B25BD8 800AEA38 3C16E700 */ lui $s6, 0xe700
/* B25BDC 800AEA3C 3C15E600 */ lui $s5, 0xe600
/* B25BE0 800AEA40 3C0C0700 */ lui $t4, 0x700
.L800AEA44:
/* B25BE4 800AEA44 87A20320 */ lh $v0, 0x320($sp)
/* B25BE8 800AEA48 00002025 */ move $a0, $zero
/* B25BEC 800AEA4C 00006825 */ move $t5, $zero
/* B25BF0 800AEA50 2459001F */ addiu $t9, $v0, 0x1f
/* B25BF4 800AEA54 00198880 */ sll $s1, $t9, 2
/* B25BF8 800AEA58 00029880 */ sll $s3, $v0, 2
/* B25BFC 800AEA5C 32730FFF */ andi $s3, $s3, 0xfff
/* B25C00 800AEA60 32310FFF */ andi $s1, $s1, 0xfff
/* B25C04 800AEA64 AFB90040 */ sw $t9, 0x40($sp)
.L800AEA68:
/* B25C08 800AEA68 8E030138 */ lw $v1, 0x138($s0)
/* B25C0C 800AEA6C 248B001F */ addiu $t3, $a0, 0x1f
/* B25C10 800AEA70 000B3880 */ sll $a3, $t3, 2
/* B25C14 800AEA74 246E0008 */ addiu $t6, $v1, 8
/* B25C18 800AEA78 AE0E0138 */ sw $t6, 0x138($s0)
/* B25C1C 800AEA7C AC740000 */ sw $s4, ($v1)
/* B25C20 800AEA80 8FCF0000 */ lw $t7, ($fp)
/* B25C24 800AEA84 8E180128 */ lw $t8, 0x128($s0)
/* B25C28 800AEA88 00042880 */ sll $a1, $a0, 2
/* B25C2C 800AEA8C 30A50FFF */ andi $a1, $a1, 0xfff
/* B25C30 800AEA90 01F8C821 */ addu $t9, $t7, $t8
/* B25C34 800AEA94 AC790004 */ sw $t9, 4($v1)
/* B25C38 800AEA98 8E030138 */ lw $v1, 0x138($s0)
/* B25C3C 800AEA9C 00847823 */ subu $t7, $a0, $a0
/* B25C40 800AEAA0 25F80027 */ addiu $t8, $t7, 0x27
/* B25C44 800AEAA4 246E0008 */ addiu $t6, $v1, 8
/* B25C48 800AEAA8 AE0E0138 */ sw $t6, 0x138($s0)
/* B25C4C 800AEAAC 0018C8C3 */ sra $t9, $t8, 3
/* B25C50 800AEAB0 332E01FF */ andi $t6, $t9, 0x1ff
/* B25C54 800AEAB4 000E7A40 */ sll $t7, $t6, 9
/* B25C58 800AEAB8 01FF3025 */ or $a2, $t7, $ra
/* B25C5C 800AEABC AC660000 */ sw $a2, ($v1)
/* B25C60 800AEAC0 AC6C0004 */ sw $t4, 4($v1)
/* B25C64 800AEAC4 8E030138 */ lw $v1, 0x138($s0)
/* B25C68 800AEAC8 30E70FFF */ andi $a3, $a3, 0xfff
/* B25C6C 800AEACC 00073B00 */ sll $a3, $a3, 0xc
/* B25C70 800AEAD0 24780008 */ addiu $t8, $v1, 8
/* B25C74 800AEAD4 AE180138 */ sw $t8, 0x138($s0)
/* B25C78 800AEAD8 AC600004 */ sw $zero, 4($v1)
/* B25C7C 800AEADC AC750000 */ sw $s5, ($v1)
/* B25C80 800AEAE0 8E030138 */ lw $v1, 0x138($s0)
/* B25C84 800AEAE4 00052B00 */ sll $a1, $a1, 0xc
/* B25C88 800AEAE8 3C01F400 */ lui $at, 0xf400
/* B25C8C 800AEAEC 24790008 */ addiu $t9, $v1, 8
/* B25C90 800AEAF0 AE190138 */ sw $t9, 0x138($s0)
/* B25C94 800AEAF4 00A17025 */ or $t6, $a1, $at
/* B25C98 800AEAF8 00EC7825 */ or $t7, $a3, $t4
/* B25C9C 800AEAFC 01F14825 */ or $t1, $t7, $s1
/* B25CA0 800AEB00 01D34025 */ or $t0, $t6, $s3
/* B25CA4 800AEB04 AC680000 */ sw $t0, ($v1)
/* B25CA8 800AEB08 AC690004 */ sw $t1, 4($v1)
/* B25CAC 800AEB0C 8E030138 */ lw $v1, 0x138($s0)
/* B25CB0 800AEB10 3C01F200 */ lui $at, 0xf200
/* B25CB4 800AEB14 00A17825 */ or $t7, $a1, $at
/* B25CB8 800AEB18 24780008 */ addiu $t8, $v1, 8
/* B25CBC 800AEB1C AE180138 */ sw $t8, 0x138($s0)
/* B25CC0 800AEB20 AC600004 */ sw $zero, 4($v1)
/* B25CC4 800AEB24 AC760000 */ sw $s6, ($v1)
/* B25CC8 800AEB28 8E030138 */ lw $v1, 0x138($s0)
/* B25CCC 800AEB2C 00F1C025 */ or $t8, $a3, $s1
/* B25CD0 800AEB30 01F35025 */ or $t2, $t7, $s3
/* B25CD4 800AEB34 24790008 */ addiu $t9, $v1, 8
/* B25CD8 800AEB38 AE190138 */ sw $t9, 0x138($s0)
/* B25CDC 800AEB3C AC600004 */ sw $zero, 4($v1)
/* B25CE0 800AEB40 AC660000 */ sw $a2, ($v1)
/* B25CE4 800AEB44 8E030138 */ lw $v1, 0x138($s0)
/* B25CE8 800AEB48 34C40080 */ ori $a0, $a2, 0x80
/* B25CEC 800AEB4C 25AD0001 */ addiu $t5, $t5, 1
/* B25CF0 800AEB50 246E0008 */ addiu $t6, $v1, 8
/* B25CF4 800AEB54 AE0E0138 */ sw $t6, 0x138($s0)
/* B25CF8 800AEB58 AC780004 */ sw $t8, 4($v1)
/* B25CFC 800AEB5C AC6A0000 */ sw $t2, ($v1)
/* B25D00 800AEB60 8E030138 */ lw $v1, 0x138($s0)
/* B25D04 800AEB64 000D6C00 */ sll $t5, $t5, 0x10
/* B25D08 800AEB68 000D6C03 */ sra $t5, $t5, 0x10
/* B25D0C 800AEB6C 24790008 */ addiu $t9, $v1, 8
/* B25D10 800AEB70 AE190138 */ sw $t9, 0x138($s0)
/* B25D14 800AEB74 AC740000 */ sw $s4, ($v1)
/* B25D18 800AEB78 8E0F012C */ lw $t7, 0x12c($s0)
/* B25D1C 800AEB7C 8FCE0000 */ lw $t6, ($fp)
/* B25D20 800AEB80 29A10004 */ slti $at, $t5, 4
/* B25D24 800AEB84 01CFC021 */ addu $t8, $t6, $t7
/* B25D28 800AEB88 AC780004 */ sw $t8, 4($v1)
/* B25D2C 800AEB8C 8E030138 */ lw $v1, 0x138($s0)
/* B25D30 800AEB90 24790008 */ addiu $t9, $v1, 8
/* B25D34 800AEB94 AE190138 */ sw $t9, 0x138($s0)
/* B25D38 800AEB98 AC6C0004 */ sw $t4, 4($v1)
/* B25D3C 800AEB9C AC640000 */ sw $a0, ($v1)
/* B25D40 800AEBA0 8E030138 */ lw $v1, 0x138($s0)
/* B25D44 800AEBA4 246E0008 */ addiu $t6, $v1, 8
/* B25D48 800AEBA8 AE0E0138 */ sw $t6, 0x138($s0)
/* B25D4C 800AEBAC AC600004 */ sw $zero, 4($v1)
/* B25D50 800AEBB0 AC750000 */ sw $s5, ($v1)
/* B25D54 800AEBB4 8E030138 */ lw $v1, 0x138($s0)
/* B25D58 800AEBB8 246F0008 */ addiu $t7, $v1, 8
/* B25D5C 800AEBBC AE0F0138 */ sw $t7, 0x138($s0)
/* B25D60 800AEBC0 AC690004 */ sw $t1, 4($v1)
/* B25D64 800AEBC4 AC680000 */ sw $t0, ($v1)
/* B25D68 800AEBC8 8E030138 */ lw $v1, 0x138($s0)
/* B25D6C 800AEBCC 00F77825 */ or $t7, $a3, $s7
/* B25D70 800AEBD0 24780008 */ addiu $t8, $v1, 8
/* B25D74 800AEBD4 AE180138 */ sw $t8, 0x138($s0)
/* B25D78 800AEBD8 AC600004 */ sw $zero, 4($v1)
/* B25D7C 800AEBDC AC760000 */ sw $s6, ($v1)
/* B25D80 800AEBE0 8E030138 */ lw $v1, 0x138($s0)
/* B25D84 800AEBE4 01F1C025 */ or $t8, $t7, $s1
/* B25D88 800AEBE8 3C0F8013 */ lui $t7, %hi(D_8012AE3C) # $t7, 0x8013
/* B25D8C 800AEBEC 24790008 */ addiu $t9, $v1, 8
/* B25D90 800AEBF0 AE190138 */ sw $t9, 0x138($s0)
/* B25D94 800AEBF4 AC770004 */ sw $s7, 4($v1)
/* B25D98 800AEBF8 AC640000 */ sw $a0, ($v1)
/* B25D9C 800AEBFC 8E030138 */ lw $v1, 0x138($s0)
/* B25DA0 800AEC00 25EFAE3C */ addiu $t7, %lo(D_8012AE3C) # addiu $t7, $t7, -0x51c4
/* B25DA4 800AEC04 000B2400 */ sll $a0, $t3, 0x10
/* B25DA8 800AEC08 246E0008 */ addiu $t6, $v1, 8
/* B25DAC 800AEC0C AE0E0138 */ sw $t6, 0x138($s0)
/* B25DB0 800AEC10 AC780004 */ sw $t8, 4($v1)
/* B25DB4 800AEC14 AC6A0000 */ sw $t2, ($v1)
/* B25DB8 800AEC18 8E030138 */ lw $v1, 0x138($s0)
/* B25DBC 800AEC1C 00127040 */ sll $t6, $s2, 1
/* B25DC0 800AEC20 01CF1021 */ addu $v0, $t6, $t7
/* B25DC4 800AEC24 24790008 */ addiu $t9, $v1, 8
/* B25DC8 800AEC28 AE190138 */ sw $t9, 0x138($s0)
/* B25DCC 800AEC2C 84580004 */ lh $t8, 4($v0)
/* B25DD0 800AEC30 844F0000 */ lh $t7, ($v0)
/* B25DD4 800AEC34 26520004 */ addiu $s2, $s2, 4
/* B25DD8 800AEC38 0018C840 */ sll $t9, $t8, 1
/* B25DDC 800AEC3C 332E00FF */ andi $t6, $t9, 0xff
/* B25DE0 800AEC40 000FC040 */ sll $t8, $t7, 1
/* B25DE4 800AEC44 331900FF */ andi $t9, $t8, 0xff
/* B25DE8 800AEC48 00197C00 */ sll $t7, $t9, 0x10
/* B25DEC 800AEC4C 84590002 */ lh $t9, 2($v0)
/* B25DF0 800AEC50 01CFC025 */ or $t8, $t6, $t7
/* B25DF4 800AEC54 00129400 */ sll $s2, $s2, 0x10
/* B25DF8 800AEC58 00197040 */ sll $t6, $t9, 1
/* B25DFC 800AEC5C 31CF00FF */ andi $t7, $t6, 0xff
/* B25E00 800AEC60 000FCA00 */ sll $t9, $t7, 8
/* B25E04 800AEC64 03197025 */ or $t6, $t8, $t9
/* B25E08 800AEC68 01CC7825 */ or $t7, $t6, $t4
/* B25E0C 800AEC6C AC6F0000 */ sw $t7, ($v1)
/* B25E10 800AEC70 84580006 */ lh $t8, 6($v0)
/* B25E14 800AEC74 844F0000 */ lh $t7, ($v0)
/* B25E18 800AEC78 00129403 */ sra $s2, $s2, 0x10
/* B25E1C 800AEC7C 0018C840 */ sll $t9, $t8, 1
/* B25E20 800AEC80 332E00FF */ andi $t6, $t9, 0xff
/* B25E24 800AEC84 000FC040 */ sll $t8, $t7, 1
/* B25E28 800AEC88 331900FF */ andi $t9, $t8, 0xff
/* B25E2C 800AEC8C 00197C00 */ sll $t7, $t9, 0x10
/* B25E30 800AEC90 84590004 */ lh $t9, 4($v0)
/* B25E34 800AEC94 01CFC025 */ or $t8, $t6, $t7
/* B25E38 800AEC98 00042403 */ sra $a0, $a0, 0x10
/* B25E3C 800AEC9C 00197040 */ sll $t6, $t9, 1
/* B25E40 800AECA0 31CF00FF */ andi $t7, $t6, 0xff
/* B25E44 800AECA4 000FCA00 */ sll $t9, $t7, 8
/* B25E48 800AECA8 03197025 */ or $t6, $t8, $t9
/* B25E4C 800AECAC 1420FF6E */ bnez $at, .L800AEA68
/* B25E50 800AECB0 AC6E0004 */ sw $t6, 4($v1)
/* B25E54 800AECB4 87A2031E */ lh $v0, 0x31e($sp)
/* B25E58 800AECB8 8FAF0040 */ lw $t7, 0x40($sp)
/* B25E5C 800AECBC 24420001 */ addiu $v0, $v0, 1
/* B25E60 800AECC0 00021400 */ sll $v0, $v0, 0x10
/* B25E64 800AECC4 00021403 */ sra $v0, $v0, 0x10
/* B25E68 800AECC8 28410002 */ slti $at, $v0, 2
/* B25E6C 800AECCC A7A2031E */ sh $v0, 0x31e($sp)
/* B25E70 800AECD0 1420FF5C */ bnez $at, .L800AEA44
/* B25E74 800AECD4 A7AF0320 */ sh $t7, 0x320($sp)
/* B25E78 800AECD8 87B80320 */ lh $t8, 0x320($sp)
/* B25E7C 800AECDC A7A0031E */ sh $zero, 0x31e($sp)
/* B25E80 800AECE0 2719FFE1 */ addiu $t9, $t8, -0x1f
/* B25E84 800AECE4 A7B90320 */ sh $t9, 0x320($sp)
.L800AECE8:
/* B25E88 800AECE8 87AE0320 */ lh $t6, 0x320($sp)
/* B25E8C 800AECEC 00002025 */ move $a0, $zero
/* B25E90 800AECF0 00006825 */ move $t5, $zero
/* B25E94 800AECF4 25D1001F */ addiu $s1, $t6, 0x1f
/* B25E98 800AECF8 00118880 */ sll $s1, $s1, 2
/* B25E9C 800AECFC 000E9880 */ sll $s3, $t6, 2
/* B25EA0 800AED00 32730FFF */ andi $s3, $s3, 0xfff
/* B25EA4 800AED04 32310FFF */ andi $s1, $s1, 0xfff
.L800AED08:
/* B25EA8 800AED08 8E030138 */ lw $v1, 0x138($s0)
/* B25EAC 800AED0C 248B001F */ addiu $t3, $a0, 0x1f
/* B25EB0 800AED10 000B3880 */ sll $a3, $t3, 2
/* B25EB4 800AED14 246F0008 */ addiu $t7, $v1, 8
/* B25EB8 800AED18 AE0F0138 */ sw $t7, 0x138($s0)
/* B25EBC 800AED1C AC740000 */ sw $s4, ($v1)
/* B25EC0 800AED20 8FD80000 */ lw $t8, ($fp)
/* B25EC4 800AED24 8E190128 */ lw $t9, 0x128($s0)
/* B25EC8 800AED28 00042880 */ sll $a1, $a0, 2
/* B25ECC 800AED2C 30A50FFF */ andi $a1, $a1, 0xfff
/* B25ED0 800AED30 03197021 */ addu $t6, $t8, $t9
/* B25ED4 800AED34 AC6E0004 */ sw $t6, 4($v1)
/* B25ED8 800AED38 8E030138 */ lw $v1, 0x138($s0)
/* B25EDC 800AED3C 0084C023 */ subu $t8, $a0, $a0
/* B25EE0 800AED40 27190027 */ addiu $t9, $t8, 0x27
/* B25EE4 800AED44 246F0008 */ addiu $t7, $v1, 8
/* B25EE8 800AED48 AE0F0138 */ sw $t7, 0x138($s0)
/* B25EEC 800AED4C 001970C3 */ sra $t6, $t9, 3
/* B25EF0 800AED50 31CF01FF */ andi $t7, $t6, 0x1ff
/* B25EF4 800AED54 000FC240 */ sll $t8, $t7, 9
/* B25EF8 800AED58 031F3025 */ or $a2, $t8, $ra
/* B25EFC 800AED5C AC660000 */ sw $a2, ($v1)
/* B25F00 800AED60 AC6C0004 */ sw $t4, 4($v1)
/* B25F04 800AED64 8E030138 */ lw $v1, 0x138($s0)
/* B25F08 800AED68 30E70FFF */ andi $a3, $a3, 0xfff
/* B25F0C 800AED6C 00073B00 */ sll $a3, $a3, 0xc
/* B25F10 800AED70 24790008 */ addiu $t9, $v1, 8
/* B25F14 800AED74 AE190138 */ sw $t9, 0x138($s0)
/* B25F18 800AED78 AC600004 */ sw $zero, 4($v1)
/* B25F1C 800AED7C AC750000 */ sw $s5, ($v1)
/* B25F20 800AED80 8E030138 */ lw $v1, 0x138($s0)
/* B25F24 800AED84 00052B00 */ sll $a1, $a1, 0xc
/* B25F28 800AED88 3C01F400 */ lui $at, 0xf400
/* B25F2C 800AED8C 246E0008 */ addiu $t6, $v1, 8
/* B25F30 800AED90 AE0E0138 */ sw $t6, 0x138($s0)
/* B25F34 800AED94 00A17825 */ or $t7, $a1, $at
/* B25F38 800AED98 00ECC025 */ or $t8, $a3, $t4
/* B25F3C 800AED9C 03114825 */ or $t1, $t8, $s1
/* B25F40 800AEDA0 01F34025 */ or $t0, $t7, $s3
/* B25F44 800AEDA4 AC680000 */ sw $t0, ($v1)
/* B25F48 800AEDA8 AC690004 */ sw $t1, 4($v1)
/* B25F4C 800AEDAC 8E030138 */ lw $v1, 0x138($s0)
/* B25F50 800AEDB0 3C01F200 */ lui $at, 0xf200
/* B25F54 800AEDB4 00A1C025 */ or $t8, $a1, $at
/* B25F58 800AEDB8 24790008 */ addiu $t9, $v1, 8
/* B25F5C 800AEDBC AE190138 */ sw $t9, 0x138($s0)
/* B25F60 800AEDC0 AC600004 */ sw $zero, 4($v1)
/* B25F64 800AEDC4 AC760000 */ sw $s6, ($v1)
/* B25F68 800AEDC8 8E030138 */ lw $v1, 0x138($s0)
/* B25F6C 800AEDCC 00F1C825 */ or $t9, $a3, $s1
/* B25F70 800AEDD0 03135025 */ or $t2, $t8, $s3
/* B25F74 800AEDD4 246E0008 */ addiu $t6, $v1, 8
/* B25F78 800AEDD8 AE0E0138 */ sw $t6, 0x138($s0)
/* B25F7C 800AEDDC AC600004 */ sw $zero, 4($v1)
/* B25F80 800AEDE0 AC660000 */ sw $a2, ($v1)
/* B25F84 800AEDE4 8E030138 */ lw $v1, 0x138($s0)
/* B25F88 800AEDE8 34C40080 */ ori $a0, $a2, 0x80
/* B25F8C 800AEDEC 25AD0001 */ addiu $t5, $t5, 1
/* B25F90 800AEDF0 246F0008 */ addiu $t7, $v1, 8
/* B25F94 800AEDF4 AE0F0138 */ sw $t7, 0x138($s0)
/* B25F98 800AEDF8 AC790004 */ sw $t9, 4($v1)
/* B25F9C 800AEDFC AC6A0000 */ sw $t2, ($v1)
/* B25FA0 800AEE00 8E030138 */ lw $v1, 0x138($s0)
/* B25FA4 800AEE04 000D6C00 */ sll $t5, $t5, 0x10
/* B25FA8 800AEE08 000D6C03 */ sra $t5, $t5, 0x10
/* B25FAC 800AEE0C 246E0008 */ addiu $t6, $v1, 8
/* B25FB0 800AEE10 AE0E0138 */ sw $t6, 0x138($s0)
/* B25FB4 800AEE14 AC740000 */ sw $s4, ($v1)
/* B25FB8 800AEE18 8E18012C */ lw $t8, 0x12c($s0)
/* B25FBC 800AEE1C 8FCF0000 */ lw $t7, ($fp)
/* B25FC0 800AEE20 29A10004 */ slti $at, $t5, 4
/* B25FC4 800AEE24 01F8C821 */ addu $t9, $t7, $t8
/* B25FC8 800AEE28 AC790004 */ sw $t9, 4($v1)
/* B25FCC 800AEE2C 8E030138 */ lw $v1, 0x138($s0)
/* B25FD0 800AEE30 246E0008 */ addiu $t6, $v1, 8
/* B25FD4 800AEE34 AE0E0138 */ sw $t6, 0x138($s0)
/* B25FD8 800AEE38 AC6C0004 */ sw $t4, 4($v1)
/* B25FDC 800AEE3C AC640000 */ sw $a0, ($v1)
/* B25FE0 800AEE40 8E030138 */ lw $v1, 0x138($s0)
/* B25FE4 800AEE44 246F0008 */ addiu $t7, $v1, 8
/* B25FE8 800AEE48 AE0F0138 */ sw $t7, 0x138($s0)
/* B25FEC 800AEE4C AC600004 */ sw $zero, 4($v1)
/* B25FF0 800AEE50 AC750000 */ sw $s5, ($v1)
/* B25FF4 800AEE54 8E030138 */ lw $v1, 0x138($s0)
/* B25FF8 800AEE58 24780008 */ addiu $t8, $v1, 8
/* B25FFC 800AEE5C AE180138 */ sw $t8, 0x138($s0)
/* B26000 800AEE60 AC690004 */ sw $t1, 4($v1)
/* B26004 800AEE64 AC680000 */ sw $t0, ($v1)
/* B26008 800AEE68 8E030138 */ lw $v1, 0x138($s0)
/* B2600C 800AEE6C 00F7C025 */ or $t8, $a3, $s7
/* B26010 800AEE70 24790008 */ addiu $t9, $v1, 8
/* B26014 800AEE74 AE190138 */ sw $t9, 0x138($s0)
/* B26018 800AEE78 AC600004 */ sw $zero, 4($v1)
/* B2601C 800AEE7C AC760000 */ sw $s6, ($v1)
/* B26020 800AEE80 8E030138 */ lw $v1, 0x138($s0)
/* B26024 800AEE84 0311C825 */ or $t9, $t8, $s1
/* B26028 800AEE88 3C188013 */ lui $t8, %hi(D_8012AE3C) # $t8, 0x8013
/* B2602C 800AEE8C 246E0008 */ addiu $t6, $v1, 8
/* B26030 800AEE90 AE0E0138 */ sw $t6, 0x138($s0)
/* B26034 800AEE94 AC770004 */ sw $s7, 4($v1)
/* B26038 800AEE98 AC640000 */ sw $a0, ($v1)
/* B2603C 800AEE9C 8E030138 */ lw $v1, 0x138($s0)
/* B26040 800AEEA0 2718AE3C */ addiu $t8, %lo(D_8012AE3C) # addiu $t8, $t8, -0x51c4
/* B26044 800AEEA4 000B2400 */ sll $a0, $t3, 0x10
/* B26048 800AEEA8 246F0008 */ addiu $t7, $v1, 8
/* B2604C 800AEEAC AE0F0138 */ sw $t7, 0x138($s0)
/* B26050 800AEEB0 AC790004 */ sw $t9, 4($v1)
/* B26054 800AEEB4 AC6A0000 */ sw $t2, ($v1)
/* B26058 800AEEB8 8E030138 */ lw $v1, 0x138($s0)
/* B2605C 800AEEBC 00127840 */ sll $t7, $s2, 1
/* B26060 800AEEC0 01F81021 */ addu $v0, $t7, $t8
/* B26064 800AEEC4 246E0008 */ addiu $t6, $v1, 8
/* B26068 800AEEC8 AE0E0138 */ sw $t6, 0x138($s0)
/* B2606C 800AEECC 84590004 */ lh $t9, 4($v0)
/* B26070 800AEED0 84580000 */ lh $t8, ($v0)
/* B26074 800AEED4 26520004 */ addiu $s2, $s2, 4
/* B26078 800AEED8 00197040 */ sll $t6, $t9, 1
/* B2607C 800AEEDC 31CF00FF */ andi $t7, $t6, 0xff
/* B26080 800AEEE0 0018C840 */ sll $t9, $t8, 1
/* B26084 800AEEE4 332E00FF */ andi $t6, $t9, 0xff
/* B26088 800AEEE8 000EC400 */ sll $t8, $t6, 0x10
/* B2608C 800AEEEC 844E0002 */ lh $t6, 2($v0)
/* B26090 800AEEF0 01F8C825 */ or $t9, $t7, $t8
/* B26094 800AEEF4 00129400 */ sll $s2, $s2, 0x10
/* B26098 800AEEF8 000E7840 */ sll $t7, $t6, 1
/* B2609C 800AEEFC 31F800FF */ andi $t8, $t7, 0xff
/* B260A0 800AEF00 00187200 */ sll $t6, $t8, 8
/* B260A4 800AEF04 032E7825 */ or $t7, $t9, $t6
/* B260A8 800AEF08 01ECC025 */ or $t8, $t7, $t4
/* B260AC 800AEF0C AC780000 */ sw $t8, ($v1)
/* B260B0 800AEF10 84590006 */ lh $t9, 6($v0)
/* B260B4 800AEF14 84580000 */ lh $t8, ($v0)
/* B260B8 800AEF18 00129403 */ sra $s2, $s2, 0x10
/* B260BC 800AEF1C 00197040 */ sll $t6, $t9, 1
/* B260C0 800AEF20 31CF00FF */ andi $t7, $t6, 0xff
/* B260C4 800AEF24 0018C840 */ sll $t9, $t8, 1
/* B260C8 800AEF28 332E00FF */ andi $t6, $t9, 0xff
/* B260CC 800AEF2C 000EC400 */ sll $t8, $t6, 0x10
/* B260D0 800AEF30 844E0004 */ lh $t6, 4($v0)
/* B260D4 800AEF34 01F8C825 */ or $t9, $t7, $t8
/* B260D8 800AEF38 00042403 */ sra $a0, $a0, 0x10
/* B260DC 800AEF3C 000E7840 */ sll $t7, $t6, 1
/* B260E0 800AEF40 31F800FF */ andi $t8, $t7, 0xff
/* B260E4 800AEF44 00187200 */ sll $t6, $t8, 8
/* B260E8 800AEF48 032E7825 */ or $t7, $t9, $t6
/* B260EC 800AEF4C 1420FF6E */ bnez $at, .L800AED08
/* B260F0 800AEF50 AC6F0004 */ sw $t7, 4($v1)
/* B260F4 800AEF54 87A2031E */ lh $v0, 0x31e($sp)
/* B260F8 800AEF58 87B80320 */ lh $t8, 0x320($sp)
/* B260FC 800AEF5C 24420001 */ addiu $v0, $v0, 1
/* B26100 800AEF60 00021400 */ sll $v0, $v0, 0x10
/* B26104 800AEF64 00021403 */ sra $v0, $v0, 0x10
/* B26108 800AEF68 28410002 */ slti $at, $v0, 2
/* B2610C 800AEF6C 2719FFE1 */ addiu $t9, $t8, -0x1f
/* B26110 800AEF70 A7B90320 */ sh $t9, 0x320($sp)
/* B26114 800AEF74 1420FF5C */ bnez $at, .L800AECE8
/* B26118 800AEF78 A7A2031E */ sh $v0, 0x31e($sp)
/* B2611C 800AEF7C 8E030138 */ lw $v1, 0x138($s0)
.L800AEF80:
/* B26120 800AEF80 3C0FDF00 */ lui $t7, 0xdf00
/* B26124 800AEF84 246E0008 */ addiu $t6, $v1, 8
/* B26128 800AEF88 AE0E0138 */ sw $t6, 0x138($s0)
/* B2612C 800AEF8C AC600004 */ sw $zero, 4($v1)
/* B26130 800AEF90 AC6F0000 */ sw $t7, ($v1)
/* B26134 800AEF94 8FBF002C */ lw $ra, 0x2c($sp)
/* B26138 800AEF98 8FBE0028 */ lw $fp, 0x28($sp)
/* B2613C 800AEF9C 8FB70024 */ lw $s7, 0x24($sp)
/* B26140 800AEFA0 8FB60020 */ lw $s6, 0x20($sp)
/* B26144 800AEFA4 8FB5001C */ lw $s5, 0x1c($sp)
/* B26148 800AEFA8 8FB40018 */ lw $s4, 0x18($sp)
/* B2614C 800AEFAC 8FB30014 */ lw $s3, 0x14($sp)
/* B26150 800AEFB0 8FB20010 */ lw $s2, 0x10($sp)
/* B26154 800AEFB4 8FB1000C */ lw $s1, 0xc($sp)
/* B26158 800AEFB8 8FB00008 */ lw $s0, 8($sp)
/* B2615C 800AEFBC 8FA20340 */ lw $v0, 0x340($sp)
/* B26160 800AEFC0 03E00008 */ jr $ra
/* B26164 800AEFC4 27BD0338 */ addiu $sp, $sp, 0x338

View file

@ -79,154 +79,101 @@ Struct_8012AF0C D_8012AF0C[6] = {
{ 0x40, 0x40, -0x40, 0x20, -0x20 }, { -0x40, 0x40, 0x40, 0x20, -0x20 }, { -0x40, -0x40, -0x40, 0x20, 0x20 },
};
#ifdef NON_MATCHING
// Loops have very strange structure. In principle, they're the double loop over a 2D array shown below them.
// However, that gives wildly different codegen and the part after the switch suggests a linear array.
s32 func_800ADBB0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7,
s32 arg8, s32 arg9) {
u32 pad42C;
// 42C
s32 pad428;
// 428
s32 sp424;
s32 pad420;
// 420
s32 i;
// 41C
s32 j;
// 418
s32 k;
u16 index;
s16 phi_t1;
// 414
s16 phi_a2_4;
s16 phi_a0_4;
// 410
s16 phi_t2_4;
s16 phi_ra;
// 40C
s32 sp358[9 * 5];
s32 sp2A4[9 * 5];
s32 sp1F0[9 * 5];
s32 sp13C[9 * 5];
s32 sp88[9 * 5];
s32* temp358;
s32* temp2A4;
s32* temp1F0;
s32* temp13C;
s32* temp88;
s16 temp3;
s32 pad;
switch (arg8) {
case 0:
case 2:
temp358 = sp358;
temp2A4 = sp2A4;
temp1F0 = sp1F0;
temp13C = sp13C;
temp88 = sp88;
pad428 = arg4;
for (i = 0; temp88 < sp88 + 45; pad428 += arg7, i++) {
for (i = 0, k = 0; k < 45; i++) {
pad42C = arg3;
temp3 = D_8012AD2C[i];
for (j = 0; j < 5; j++, pad42C += arg6) {
*(temp358++) = pad42C;
*(temp2A4++) = pad428;
*(temp1F0++) = arg5;
*(temp13C++) = D_8012AD20[j];
*(temp88++) = temp3;
for (j = 0; j < 5; j++, k++) {
sp1F0[k] = arg5;
sp358[k] = pad42C;
sp2A4[k] = pad428;
sp13C[k] = D_8012AD20[j];
sp88[k] = D_8012AD2C[i];
pad42C += arg6;
}
pad428 += arg7;
}
// for (i = 0; i < 9; i++) {
// for (j = 0; j < 5; j++) {
// sp358[i][j] = arg3 + j * arg6;
// sp2A4[i][j] = arg4 + i * arg7;
// sp1F0[i][j] = arg5;
// sp13C[i][j] = D_8012AD20[j];
// sp88[i][j] = D_8012AD2C[i];
// }
// }
break;
case 1:
case 3:
temp358 = sp358;
temp2A4 = sp2A4;
temp1F0 = sp1F0;
temp13C = sp13C;
temp88 = sp88;
pad428 = arg4;
for (i = 0; temp88 < sp88 + 9 * 5; pad428 += arg7, i++) {
for (i = 0, k = 0; k < 45; i++) {
pad42C = arg5;
temp3 = D_8012AD2C[i];
for (j = 0; j < 5; j++, pad42C += arg6) {
*(temp358++) = arg3;
*(temp2A4++) = pad428;
*(temp1F0++) = pad42C;
*(temp13C++) = D_8012AD20[j];
*(temp88++) = temp3;
for (j = 0; j < 5; j++, k++) {
sp358[k] = arg3;
sp2A4[k] = pad428;
sp1F0[k] = pad42C;
sp13C[k] = D_8012AD20[j];
sp88[k] = D_8012AD2C[i];
pad42C += arg6;
}
pad428 += arg7;
}
// for (i = 0; i < 9; i++) {
// for (j = 0; j < 5; j++) {
// sp358[i][j] = arg3;
// sp2A4[i][j] = arg4 + i * arg7;
// sp1F0[i][j] = arg5 + j * arg6;
// sp13C[i][j] = D_8012AD20[j];
// sp88[i][j] = D_8012AD2C[i];
// }
// }
break;
case 4:
case 5:
temp358 = sp358;
temp2A4 = sp2A4;
temp1F0 = sp1F0;
temp13C = sp13C;
temp88 = sp88;
pad428 = arg5;
for (i = 0; temp88 < sp88 + 9 * 5; pad428 += arg7, i++) {
for (i = 0, k = 0; k < 45; i++) {
pad42C = arg3;
temp3 = D_8012AD2C[i];
for (j = 0; j < 5; j++, pad42C += arg6) {
*(temp358++) = pad42C;
*(temp2A4++) = arg4;
*(temp1F0++) = pad428;
*(temp13C++) = D_8012AD20[j];
*(temp88++) = temp3;
for (j = 0; j < 5; j++, k++) {
sp2A4[k] = arg4;
sp358[k] = pad42C;
sp1F0[k] = pad428;
sp13C[k] = D_8012AD20[j];
sp88[k] = D_8012AD2C[i];
pad42C += arg6;
}
pad428 += arg7;
}
// for (i = 0; i < 9; i++) {
// for (j = 0; j < 5; j++) {
// sp358[i][j] = arg3 + j * arg6;
// sp2A4[i][j] = arg4;
// sp1F0[i][j] = arg5 + i * arg7;
// sp13C[i][j] = D_8012AD20[j];
// sp88[i][j] = D_8012AD2C[i];
// }
// }
break;
}
for (phi_a2_4 = 0, sp424 = 0; sp424 < 2; sp424++) {
skyboxCtx->unk_138 = skyboxCtx->dListBuf[arg9 + sp424];
for (pad420 = 0; pad420 < 0x20; pad420++) {
index = D_8012ACA0[sp424][pad420];
for (i = 0; i < 0x20; i++) {
index = D_8012ACA0[sp424][i];
roomVtx[arg2 + pad420].v.ob[0] = sp358[index];
roomVtx[arg2 + pad420].v.ob[1] = sp2A4[index];
roomVtx[arg2 + pad420].v.ob[2] = sp1F0[index];
roomVtx[arg2 + pad420].v.flag = 0;
roomVtx[arg2 + pad420].v.tc[0] = sp13C[index];
roomVtx[arg2 + pad420].v.tc[1] = sp88[index];
roomVtx[arg2 + pad420].v.cn[1] = 0;
roomVtx[arg2 + pad420].v.cn[2] = 0;
roomVtx[arg2 + pad420].v.cn[0] = 255;
roomVtx[arg2 + i].v.ob[0] = sp358[index];
roomVtx[arg2 + i].v.ob[1] = sp2A4[index];
roomVtx[arg2 + i].v.ob[2] = sp1F0[index];
roomVtx[arg2 + i].v.flag = 0;
roomVtx[arg2 + i].v.tc[0] = sp13C[index];
roomVtx[arg2 + i].v.tc[1] = sp88[index];
roomVtx[arg2 + i].v.cn[1] = 0;
roomVtx[arg2 + i].v.cn[2] = 0;
roomVtx[arg2 + i].v.cn[0] = 255;
}
gSPVertex(skyboxCtx->unk_138++, &roomVtx[arg2], 32, 0);
arg2 += pad420;
arg2 += i;
gSPCullDisplayList(skyboxCtx->unk_138++, 0, 15);
for (phi_t2_4 = 0, phi_ra = 0; phi_ra < 4; phi_ra++, phi_a2_4 += 0x1F) {
@ -243,158 +190,99 @@ s32 func_800ADBB0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32 arg2, s32 arg3, s3
}
return arg2;
}
#else
s32 func_800ADBB0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, s32,
s32);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800ADBB0.s")
#endif
#ifdef NON_MATCHING
// Loops have very strange structure. In principle, they're the double loop over a 2D array shown below them.
// However, that gives wildly different codegen and the part after the switch suggests a linear array.
s32 func_800AE2C0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7,
s32 arg8) {
s32 pad334;
s32 pad330;
s32 i;
// 32C
s32 j;
// 328
s16 phi_a2_4;
s32 k;
s16 phi_a0_4;
// 324
s16 phi_t1;
s32 temp1;
u16 index;
// 320
s16 sp320;
s16 sp31E;
// 31C
s16 phi_t2_4;
s16 phi_a2_4;
s16 phi_ra;
// 318
s16 phi_t2_4;
s32 temp2;
s32 sp2B4[5 * 5];
s32 sp250[5 * 5];
s32 sp1EC[5 * 5];
s32 sp188[5 * 5];
s32 sp124[5 * 5];
s32* temp2B4;
s32* temp250;
s32* temp1EC;
s32* temp188;
s32* temp124;
s32 temp1;
s32 temp2;
s16 temp3;
s32 pad;
switch (arg8) {
case 0:
case 1:
temp2B4 = sp2B4;
temp250 = sp250;
temp1EC = sp1EC;
temp188 = sp188;
temp124 = sp124;
temp1 = arg4;
for (i = 0; temp124 < sp124 + 5 * 5; temp1 += arg7, i++) {
for (i = 0, k = 0; k < 25; i++) {
temp2 = arg3;
temp3 = D_8012AE30[i];
for (j = 0; j < 5; j++, temp2 += arg6) {
*(temp2B4++) = temp2;
*(temp250++) = temp1;
*(temp1EC++) = arg5;
*(temp188++) = D_8012AE18[j];
*(temp124++) = temp3;
for (j = 0; j < 5; j++, k++) {
sp1EC[k] = arg5;
sp2B4[k] = temp2;
sp250[k] = temp1;
sp188[k] = D_8012AE18[j];
sp124[k] = D_8012AE30[i];
temp2 += arg6;
}
temp1 += arg7;
}
// for (i = 0; i < 5; i++) {
// for (j = 0; j < 5; j++) {
// sp2B4[i][j] = arg3 + j * arg6;
// sp250[i][j] = arg4 + i * arg7;
// sp1EC[i][j] = arg5;
// sp188[i][j] = D_8012AE18[j];
// sp124[i][j] = D_8012AE30[i];
// }
// }
break;
case 2:
case 3:
temp2B4 = sp2B4;
temp250 = sp250;
temp1EC = sp1EC;
temp188 = sp188;
temp124 = sp124;
temp1 = arg4;
for (i = 0; temp124 < sp124 + 5 * 5; temp1 += arg7, i++) {
for (i = 0, k = 0; k < 25; i++) {
temp2 = arg5;
temp3 = D_8012AE30[i];
for (j = 0; j < 5; j++, temp2 += arg6) {
*(temp2B4++) = arg3;
*(temp250++) = temp1;
*(temp1EC++) = temp2;
*(temp188++) = D_8012AE18[j];
*(temp124++) = temp3;
for (j = 0; j < 5; j++, k++) {
sp2B4[k] = arg3;
sp250[k] = temp1;
sp1EC[k] = temp2;
sp188[k] = D_8012AE18[j];
sp124[k] = D_8012AE30[i];
temp2 += arg6;
}
temp1 += arg7;
}
// for (i = 0; i < 5; i++) {
// for (j = 0; j < 5; j++) {
// sp2B4[i][j] = arg3;
// sp250[i][j] = arg4 + i * arg7;
// sp1EC[i][j] = arg5 + j * arg6;
// sp188[i][j] = D_8012AE18[j];
// sp124[i][j] = D_8012AE30[i];
// }
// }
break;
case 4:
case 5:
temp2B4 = sp2B4;
temp250 = sp250;
temp1EC = sp1EC;
temp188 = sp188;
temp124 = sp124;
temp1 = arg5;
for (i = 0; temp124 < sp124 + 5 * 5; temp1 += arg7, i++) {
for (i = 0, k = 0; k < 25; i++) {
temp2 = arg3;
temp3 = D_8012AE24[i];
for (j = 0; j < 5; j++, temp2 += arg6) {
*(temp2B4++) = temp2;
*(temp250++) = arg4;
*(temp1EC++) = temp1;
*(temp188++) = D_8012AE18[j];
*(temp124++) = temp3;
for (j = 0; j < 5; j++, k++) {
sp250[k] = arg4;
sp2B4[k] = temp2;
sp1EC[k] = temp1;
sp188[k] = D_8012AE18[j];
sp124[k] = D_8012AE24[i];
temp2 += arg6;
}
temp1 += arg7;
}
// for (i = 0; i < 5; i++) {
// for (j = 0; j < 5; j++) {
// sp2B4[i][j] = arg3 + j * arg6;
// sp250[i][j] = arg4;
// sp1EC[i][j] = arg5 + i * arg7;
// sp188[i][j] = D_8012AE18[j];
// sp124[i][j] = D_8012AE24[i];
// }
// }
break;
}
skyboxCtx->unk_138 = &skyboxCtx->dListBuf[2 * arg8];
for (pad330 = 0; pad330 < 0x20; pad330++) {
index = D_8012ADD8[pad330];
for (i = 0; i < 0x20; i++) {
index = D_8012ADD8[i];
roomVtx[arg2 + pad330].v.ob[0] = sp2B4[index];
roomVtx[arg2 + pad330].v.ob[1] = sp250[index];
roomVtx[arg2 + pad330].v.ob[2] = sp1EC[index];
roomVtx[arg2 + pad330].v.flag = 0;
roomVtx[arg2 + pad330].v.tc[0] = sp188[index];
roomVtx[arg2 + pad330].v.tc[1] = sp124[index];
roomVtx[arg2 + pad330].v.cn[1] = 0;
roomVtx[arg2 + pad330].v.cn[2] = 0;
roomVtx[arg2 + pad330].v.cn[0] = 255;
roomVtx[arg2 + i].v.ob[0] = sp2B4[index];
roomVtx[arg2 + i].v.ob[1] = sp250[index];
roomVtx[arg2 + i].v.ob[2] = sp1EC[index];
roomVtx[arg2 + i].v.flag = 0;
roomVtx[arg2 + i].v.tc[0] = sp188[index];
roomVtx[arg2 + i].v.tc[1] = sp124[index];
roomVtx[arg2 + i].v.cn[1] = 0;
roomVtx[arg2 + i].v.cn[2] = 0;
roomVtx[arg2 + i].v.cn[0] = 255;
}
gSPVertex(skyboxCtx->unk_138++, &roomVtx[arg2], 32, 0);
arg2 += pad330;
arg2 += i;
gSPCullDisplayList(skyboxCtx->unk_138++, 0, 15);
if ((arg8 == 4) || (arg8 == 5)) {
@ -448,10 +336,6 @@ s32 func_800AE2C0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32 arg2, s32 arg3, s3
gSPEndDisplayList(skyboxCtx->unk_138++);
return arg2;
}
#else
s32 func_800AE2C0(SkyboxContext* skyboxCtx, Vtx* roomVtx, s32, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, s32);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_800AE2C0.s")
#endif
void func_800AEFC8(SkyboxContext* skyboxCtx, s16 skyboxId) {
s32 i;