Files
SpaghettiKart/asm/non_matchings/menu_items/func_800AB314.s
2024-12-31 18:04:45 -07:00

434 lines
20 KiB
ArmAsm

glabel func_800AB314
/* 0ABF14 800AB314 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0ABF18 800AB318 AFBF0014 */ sw $ra, 0x14($sp)
/* 0ABF1C 800AB31C 00803025 */ move $a2, $a0
/* 0ABF20 800AB320 27A30024 */ addiu $v1, $sp, 0x24
/* 0ABF24 800AB324 00002825 */ move $a1, $zero
.L800AB328:
/* 0ABF28 800AB328 24A4005F */ addiu $a0, $a1, 0x5f
/* 0ABF2C 800AB32C AFA3001C */ sw $v1, 0x1c($sp)
/* 0ABF30 800AB330 AFA5003C */ sw $a1, 0x3c($sp)
/* 0ABF34 800AB334 0C02ABBD */ jal find_menu_items_dupe
/* 0ABF38 800AB338 AFA60040 */ sw $a2, 0x40($sp)
/* 0ABF3C 800AB33C 8FA5003C */ lw $a1, 0x3c($sp)
/* 0ABF40 800AB340 8FA3001C */ lw $v1, 0x1c($sp)
/* 0ABF44 800AB344 8FA60040 */ lw $a2, 0x40($sp)
/* 0ABF48 800AB348 24A50001 */ addiu $a1, $a1, 1
/* 0ABF4C 800AB34C 28A10004 */ slti $at, $a1, 4
/* 0ABF50 800AB350 24630004 */ addiu $v1, $v1, 4
/* 0ABF54 800AB354 1420FFF4 */ bnez $at, .L800AB328
/* 0ABF58 800AB358 AC62FFFC */ sw $v0, -4($v1)
/* 0ABF5C 800AB35C 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
/* 0ABF60 800AB360 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
/* 0ABF64 800AB364 3C0F8019 */ lui $t7, %hi(gSubMenuSelection) # $t7, 0x8019
/* 0ABF68 800AB368 51C00053 */ beql $t6, $zero, .L800AB4B8
/* 0ABF6C 800AB36C 8CC20004 */ lw $v0, 4($a2)
/* 0ABF70 800AB370 81EFEDEC */ lb $t7, %lo(gSubMenuSelection)($t7)
/* 0ABF74 800AB374 24040001 */ li $a0, 1
/* 0ABF78 800AB378 24030003 */ li $v1, 3
/* 0ABF7C 800AB37C 108F003A */ beq $a0, $t7, .L800AB468
/* 0ABF80 800AB380 3C028019 */ lui $v0, %hi(gCourseIndexInCup) # $v0, 0x8019
/* 0ABF84 800AB384 ACC00004 */ sw $zero, 4($a2)
/* 0ABF88 800AB388 ACC00020 */ sw $zero, 0x20($a2)
/* 0ABF8C 800AB38C 2442EE0B */ addiu $v0, %lo(gCourseIndexInCup) # addiu $v0, $v0, -0x11f5
/* 0ABF90 800AB390 80580000 */ lb $t8, ($v0)
/* 0ABF94 800AB394 8FB90024 */ lw $t9, 0x24($sp)
/* 0ABF98 800AB398 8FAB0024 */ lw $t3, 0x24($sp)
/* 0ABF9C 800AB39C 57000008 */ bnel $t8, $zero, .L800AB3C0
/* 0ABFA0 800AB3A0 A1600015 */ sb $zero, 0x15($t3)
/* 0ABFA4 800AB3A4 A3240015 */ sb $a0, 0x15($t9)
/* 0ABFA8 800AB3A8 8CCA001C */ lw $t2, 0x1c($a2)
/* 0ABFAC 800AB3AC 51400005 */ beql $t2, $zero, .L800AB3C4
/* 0ABFB0 800AB3B0 804C0000 */ lb $t4, ($v0)
/* 0ABFB4 800AB3B4 10000002 */ b .L800AB3C0
/* 0ABFB8 800AB3B8 ACC0001C */ sw $zero, 0x1c($a2)
/* 0ABFBC 800AB3BC A1600015 */ sb $zero, 0x15($t3)
.L800AB3C0:
/* 0ABFC0 800AB3C0 804C0000 */ lb $t4, ($v0)
.L800AB3C4:
/* 0ABFC4 800AB3C4 24010001 */ li $at, 1
/* 0ABFC8 800AB3C8 8FAF0028 */ lw $t7, 0x28($sp)
/* 0ABFCC 800AB3CC 15810008 */ bne $t4, $at, .L800AB3F0
/* 0ABFD0 800AB3D0 8FAD0028 */ lw $t5, 0x28($sp)
/* 0ABFD4 800AB3D4 A1A40015 */ sb $a0, 0x15($t5)
/* 0ABFD8 800AB3D8 8CCE001C */ lw $t6, 0x1c($a2)
/* 0ABFDC 800AB3DC 24010001 */ li $at, 1
/* 0ABFE0 800AB3E0 51C10005 */ beql $t6, $at, .L800AB3F8
/* 0ABFE4 800AB3E4 80580000 */ lb $t8, ($v0)
/* 0ABFE8 800AB3E8 10000002 */ b .L800AB3F4
/* 0ABFEC 800AB3EC ACC4001C */ sw $a0, 0x1c($a2)
.L800AB3F0:
/* 0ABFF0 800AB3F0 A1E00015 */ sb $zero, 0x15($t7)
.L800AB3F4:
/* 0ABFF4 800AB3F4 80580000 */ lb $t8, ($v0)
.L800AB3F8:
/* 0ABFF8 800AB3F8 24010002 */ li $at, 2
/* 0ABFFC 800AB3FC 8FAC002C */ lw $t4, 0x2c($sp)
/* 0AC000 800AB400 17010009 */ bne $t8, $at, .L800AB428
/* 0AC004 800AB404 8FB9002C */ lw $t9, 0x2c($sp)
/* 0AC008 800AB408 A3240015 */ sb $a0, 0x15($t9)
/* 0AC00C 800AB40C 8CCA001C */ lw $t2, 0x1c($a2)
/* 0AC010 800AB410 24010002 */ li $at, 2
/* 0AC014 800AB414 240B0002 */ li $t3, 2
/* 0AC018 800AB418 51410005 */ beql $t2, $at, .L800AB430
/* 0AC01C 800AB41C 804D0000 */ lb $t5, ($v0)
/* 0AC020 800AB420 10000002 */ b .L800AB42C
/* 0AC024 800AB424 ACCB001C */ sw $t3, 0x1c($a2)
.L800AB428:
/* 0AC028 800AB428 A1800015 */ sb $zero, 0x15($t4)
.L800AB42C:
/* 0AC02C 800AB42C 804D0000 */ lb $t5, ($v0)
.L800AB430:
/* 0AC030 800AB430 24010003 */ li $at, 3
/* 0AC034 800AB434 8FB80030 */ lw $t8, 0x30($sp)
/* 0AC038 800AB438 15A10009 */ bne $t5, $at, .L800AB460
/* 0AC03C 800AB43C 8FAE0030 */ lw $t6, 0x30($sp)
/* 0AC040 800AB440 A1C40015 */ sb $a0, 0x15($t6)
/* 0AC044 800AB444 8CCF001C */ lw $t7, 0x1c($a2)
/* 0AC048 800AB448 24010003 */ li $at, 3
/* 0AC04C 800AB44C 24030003 */ li $v1, 3
/* 0AC050 800AB450 51E10129 */ beql $t7, $at, .L800AB8F8
/* 0AC054 800AB454 8FBF0014 */ lw $ra, 0x14($sp)
/* 0AC058 800AB458 10000126 */ b .L800AB8F4
/* 0AC05C 800AB45C ACC3001C */ sw $v1, 0x1c($a2)
.L800AB460:
/* 0AC060 800AB460 10000124 */ b .L800AB8F4
/* 0AC064 800AB464 A3000015 */ sb $zero, 0x15($t8)
.L800AB468:
/* 0AC068 800AB468 ACC30004 */ sw $v1, 4($a2)
/* 0AC06C 800AB46C 8FB90024 */ lw $t9, 0x24($sp)
/* 0AC070 800AB470 24020006 */ li $v0, 6
/* 0AC074 800AB474 A3240015 */ sb $a0, 0x15($t9)
/* 0AC078 800AB478 8FAA0024 */ lw $t2, 0x24($sp)
/* 0AC07C 800AB47C A1420014 */ sb $v0, 0x14($t2)
/* 0AC080 800AB480 8FAB0028 */ lw $t3, 0x28($sp)
/* 0AC084 800AB484 A1640015 */ sb $a0, 0x15($t3)
/* 0AC088 800AB488 8FAC0028 */ lw $t4, 0x28($sp)
/* 0AC08C 800AB48C A1820014 */ sb $v0, 0x14($t4)
/* 0AC090 800AB490 8FAD002C */ lw $t5, 0x2c($sp)
/* 0AC094 800AB494 A1A40015 */ sb $a0, 0x15($t5)
/* 0AC098 800AB498 8FAE002C */ lw $t6, 0x2c($sp)
/* 0AC09C 800AB49C A1C20014 */ sb $v0, 0x14($t6)
/* 0AC0A0 800AB4A0 8FAF0030 */ lw $t7, 0x30($sp)
/* 0AC0A4 800AB4A4 A1E40015 */ sb $a0, 0x15($t7)
/* 0AC0A8 800AB4A8 8FB80030 */ lw $t8, 0x30($sp)
/* 0AC0AC 800AB4AC 10000111 */ b .L800AB8F4
/* 0AC0B0 800AB4B0 A3020014 */ sb $v0, 0x14($t8)
/* 0AC0B4 800AB4B4 8CC20004 */ lw $v0, 4($a2)
.L800AB4B8:
/* 0AC0B8 800AB4B8 3C038019 */ lui $v1, %hi(gCupSelection) # 0x8019
/* 0AC0BC 800AB4BC 24040001 */ li $a0, 1
/* 0AC0C0 800AB4C0 5040000C */ beql $v0, $zero, .L800AB4F4
/* 0AC0C4 800AB4C4 8CD9001C */ lw $t9, 0x1c($a2)
/* 0AC0C8 800AB4C8 1044002F */ beq $v0, $a0, .L800AB588
/* 0AC0CC 800AB4CC 3C038019 */ lui $v1, %hi(gCupSelection) # $v1, 0x8019
/* 0AC0D0 800AB4D0 24010002 */ li $at, 2
/* 0AC0D4 800AB4D4 1041005C */ beq $v0, $at, .L800AB648
/* 0AC0D8 800AB4D8 3C0D8019 */ lui $t5, %hi(gSubMenuSelection) # 0x8019
/* 0AC0DC 800AB4DC 24030003 */ li $v1, 3
/* 0AC0E0 800AB4E0 1043006A */ beq $v0, $v1, .L800AB68C
/* 0AC0E4 800AB4E4 3C198019 */ lui $t9, %hi(gSubMenuSelection) # 0x8019
/* 0AC0E8 800AB4E8 1000006F */ b .L800AB6A8
/* 0AC0EC 800AB4EC 00000000 */ nop
/* 0AC0F0 800AB4F0 8CD9001C */ lw $t9, 0x1c($a2)
.L800AB4F4:
/* 0AC0F4 800AB4F4 2463EE09 */ addiu $v1, %lo(gCupSelection) # addiu $v1, $v1, -0x11f7
/* 0AC0F8 800AB4F8 806B0000 */ lb $t3, ($v1)
/* 0AC0FC 800AB4FC 07210003 */ bgez $t9, .L800AB50C
/* 0AC100 800AB500 00195083 */ sra $t2, $t9, 2
/* 0AC104 800AB504 27210003 */ addiu $at, $t9, 3
/* 0AC108 800AB508 00015083 */ sra $t2, $at, 2
.L800AB50C:
/* 0AC10C 800AB50C 554B0010 */ bnel $t2, $t3, .L800AB550
/* 0AC110 800AB510 ACC00020 */ sw $zero, 0x20($a2)
/* 0AC114 800AB514 8CCC0020 */ lw $t4, 0x20($a2)
/* 0AC118 800AB518 24040001 */ li $a0, 1
/* 0AC11C 800AB51C 258D0001 */ addiu $t5, $t4, 1
/* 0AC120 800AB520 29A10033 */ slti $at, $t5, 0x33
/* 0AC124 800AB524 14200007 */ bnez $at, .L800AB544
/* 0AC128 800AB528 ACCD0020 */ sw $t5, 0x20($a2)
/* 0AC12C 800AB52C ACC40004 */ sw $a0, 4($a2)
/* 0AC130 800AB530 ACC00020 */ sw $zero, 0x20($a2)
/* 0AC134 800AB534 806F0000 */ lb $t7, ($v1)
/* 0AC138 800AB538 000FC080 */ sll $t8, $t7, 2
/* 0AC13C 800AB53C 27190001 */ addiu $t9, $t8, 1
/* 0AC140 800AB540 ACD9001C */ sw $t9, 0x1c($a2)
.L800AB544:
/* 0AC144 800AB544 10000006 */ b .L800AB560
/* 0AC148 800AB548 24040001 */ li $a0, 1
/* 0AC14C 800AB54C ACC00020 */ sw $zero, 0x20($a2)
.L800AB550:
/* 0AC150 800AB550 806A0000 */ lb $t2, ($v1)
/* 0AC154 800AB554 24040001 */ li $a0, 1
/* 0AC158 800AB558 000A5880 */ sll $t3, $t2, 2
/* 0AC15C 800AB55C ACCB001C */ sw $t3, 0x1c($a2)
.L800AB560:
/* 0AC160 800AB560 3C0C8019 */ lui $t4, %hi(gSubMenuSelection) # $t4, 0x8019
/* 0AC164 800AB564 818CEDEC */ lb $t4, %lo(gSubMenuSelection)($t4)
/* 0AC168 800AB568 24030003 */ li $v1, 3
/* 0AC16C 800AB56C 240D0002 */ li $t5, 2
/* 0AC170 800AB570 146C0003 */ bne $v1, $t4, .L800AB580
/* 0AC174 800AB574 00000000 */ nop
/* 0AC178 800AB578 ACCD0004 */ sw $t5, 4($a2)
/* 0AC17C 800AB57C ACC00020 */ sw $zero, 0x20($a2)
.L800AB580:
/* 0AC180 800AB580 10000049 */ b .L800AB6A8
/* 0AC184 800AB584 8CC20004 */ lw $v0, 4($a2)
.L800AB588:
/* 0AC188 800AB588 8CCE001C */ lw $t6, 0x1c($a2)
/* 0AC18C 800AB58C 2463EE09 */ addiu $v1, $v1, %lo(gCupSelection) # -0x11f7
/* 0AC190 800AB590 80780000 */ lb $t8, ($v1)
/* 0AC194 800AB594 05C10003 */ bgez $t6, .L800AB5A4
/* 0AC198 800AB598 000E7883 */ sra $t7, $t6, 2
/* 0AC19C 800AB59C 25C10003 */ addiu $at, $t6, 3
/* 0AC1A0 800AB5A0 00017883 */ sra $t7, $at, 2
.L800AB5A4:
/* 0AC1A4 800AB5A4 11F80006 */ beq $t7, $t8, .L800AB5C0
/* 0AC1A8 800AB5A8 00001025 */ move $v0, $zero
/* 0AC1AC 800AB5AC ACC00004 */ sw $zero, 4($a2)
/* 0AC1B0 800AB5B0 ACC00020 */ sw $zero, 0x20($a2)
/* 0AC1B4 800AB5B4 ACC0001C */ sw $zero, 0x1c($a2)
/* 0AC1B8 800AB5B8 1000003B */ b .L800AB6A8
/* 0AC1BC 800AB5BC 24030003 */ li $v1, 3
.L800AB5C0:
/* 0AC1C0 800AB5C0 8CD90020 */ lw $t9, 0x20($a2)
/* 0AC1C4 800AB5C4 272A0001 */ addiu $t2, $t9, 1
/* 0AC1C8 800AB5C8 2941001F */ slti $at, $t2, 0x1f
/* 0AC1CC 800AB5CC 14200015 */ bnez $at, .L800AB624
/* 0AC1D0 800AB5D0 ACCA0020 */ sw $t2, 0x20($a2)
/* 0AC1D4 800AB5D4 8CCE001C */ lw $t6, 0x1c($a2)
/* 0AC1D8 800AB5D8 ACC00020 */ sw $zero, 0x20($a2)
/* 0AC1DC 800AB5DC 806C0000 */ lb $t4, ($v1)
/* 0AC1E0 800AB5E0 24030003 */ li $v1, 3
/* 0AC1E4 800AB5E4 8CC20004 */ lw $v0, 4($a2)
/* 0AC1E8 800AB5E8 000C6880 */ sll $t5, $t4, 2
/* 0AC1EC 800AB5EC 05C10004 */ bgez $t6, .L800AB600
/* 0AC1F0 800AB5F0 31CF0003 */ andi $t7, $t6, 3
/* 0AC1F4 800AB5F4 11E00002 */ beqz $t7, .L800AB600
/* 0AC1F8 800AB5F8 00000000 */ nop
/* 0AC1FC 800AB5FC 25EFFFFC */ addiu $t7, $t7, -4
.L800AB600:
/* 0AC200 800AB600 25F80001 */ addiu $t8, $t7, 1
/* 0AC204 800AB604 07010004 */ bgez $t8, .L800AB618
/* 0AC208 800AB608 33190003 */ andi $t9, $t8, 3
/* 0AC20C 800AB60C 13200002 */ beqz $t9, .L800AB618
/* 0AC210 800AB610 00000000 */ nop
/* 0AC214 800AB614 2739FFFC */ addiu $t9, $t9, -4
.L800AB618:
/* 0AC218 800AB618 01B95021 */ addu $t2, $t5, $t9
/* 0AC21C 800AB61C 10000022 */ b .L800AB6A8
/* 0AC220 800AB620 ACCA001C */ sw $t2, 0x1c($a2)
.L800AB624:
/* 0AC224 800AB624 3C0B8019 */ lui $t3, %hi(gSubMenuSelection) # $t3, 0x8019
/* 0AC228 800AB628 816BEDEC */ lb $t3, %lo(gSubMenuSelection)($t3)
/* 0AC22C 800AB62C 24030003 */ li $v1, 3
/* 0AC230 800AB630 146B0003 */ bne $v1, $t3, .L800AB640
/* 0AC234 800AB634 240C0002 */ li $t4, 2
/* 0AC238 800AB638 ACCC0004 */ sw $t4, 4($a2)
/* 0AC23C 800AB63C ACC00020 */ sw $zero, 0x20($a2)
.L800AB640:
/* 0AC240 800AB640 10000019 */ b .L800AB6A8
/* 0AC244 800AB644 8CC20004 */ lw $v0, 4($a2)
.L800AB648:
/* 0AC248 800AB648 8CCE0020 */ lw $t6, 0x20($a2)
/* 0AC24C 800AB64C 24030003 */ li $v1, 3
/* 0AC250 800AB650 25CF0001 */ addiu $t7, $t6, 1
/* 0AC254 800AB654 29E1001A */ slti $at, $t7, 0x1a
/* 0AC258 800AB658 14200003 */ bnez $at, .L800AB668
/* 0AC25C 800AB65C ACCF0020 */ sw $t7, 0x20($a2)
/* 0AC260 800AB660 ACC30004 */ sw $v1, 4($a2)
/* 0AC264 800AB664 ACC00020 */ sw $zero, 0x20($a2)
.L800AB668:
/* 0AC268 800AB668 81ADEDEC */ lb $t5, %lo(gSubMenuSelection)($t5) # -0x1214($t5)
/* 0AC26C 800AB66C 24030003 */ li $v1, 3
/* 0AC270 800AB670 106D0004 */ beq $v1, $t5, .L800AB684
/* 0AC274 800AB674 00000000 */ nop
/* 0AC278 800AB678 ACC00004 */ sw $zero, 4($a2)
/* 0AC27C 800AB67C ACC00020 */ sw $zero, 0x20($a2)
/* 0AC280 800AB680 ACC0001C */ sw $zero, 0x1c($a2)
.L800AB684:
/* 0AC284 800AB684 10000008 */ b .L800AB6A8
/* 0AC288 800AB688 8CC20004 */ lw $v0, 4($a2)
.L800AB68C:
/* 0AC28C 800AB68C 8339EDEC */ lb $t9, %lo(gSubMenuSelection)($t9) # -0x1214($t9)
/* 0AC290 800AB690 10790005 */ beq $v1, $t9, .L800AB6A8
/* 0AC294 800AB694 00000000 */ nop
/* 0AC298 800AB698 ACC00004 */ sw $zero, 4($a2)
/* 0AC29C 800AB69C ACC00020 */ sw $zero, 0x20($a2)
/* 0AC2A0 800AB6A0 ACC0001C */ sw $zero, 0x1c($a2)
/* 0AC2A4 800AB6A4 00001025 */ move $v0, $zero
.L800AB6A8:
/* 0AC2A8 800AB6A8 5040000A */ beql $v0, $zero, .L800AB6D4
/* 0AC2AC 800AB6AC 8CCA001C */ lw $t2, 0x1c($a2)
/* 0AC2B0 800AB6B0 10440007 */ beq $v0, $a0, .L800AB6D0
/* 0AC2B4 800AB6B4 24010002 */ li $at, 2
/* 0AC2B8 800AB6B8 10410042 */ beq $v0, $at, .L800AB7C4
/* 0AC2BC 800AB6BC 00002825 */ move $a1, $zero
/* 0AC2C0 800AB6C0 1043007C */ beq $v0, $v1, .L800AB8B4
/* 0AC2C4 800AB6C4 8FAD0024 */ lw $t5, 0x24($sp)
/* 0AC2C8 800AB6C8 1000008B */ b .L800AB8F8
/* 0AC2CC 800AB6CC 8FBF0014 */ lw $ra, 0x14($sp)
.L800AB6D0:
/* 0AC2D0 800AB6D0 8CCA001C */ lw $t2, 0x1c($a2)
.L800AB6D4:
/* 0AC2D4 800AB6D4 8FAC0024 */ lw $t4, 0x24($sp)
/* 0AC2D8 800AB6D8 8FAE0024 */ lw $t6, 0x24($sp)
/* 0AC2DC 800AB6DC 314B0003 */ andi $t3, $t2, 3
/* 0AC2E0 800AB6E0 55600004 */ bnel $t3, $zero, .L800AB6F4
/* 0AC2E4 800AB6E4 A1C00015 */ sb $zero, 0x15($t6)
/* 0AC2E8 800AB6E8 10000002 */ b .L800AB6F4
/* 0AC2EC 800AB6EC A1840015 */ sb $a0, 0x15($t4)
/* 0AC2F0 800AB6F0 A1C00015 */ sb $zero, 0x15($t6)
.L800AB6F4:
/* 0AC2F4 800AB6F4 8FAF0024 */ lw $t7, 0x24($sp)
/* 0AC2F8 800AB6F8 24020006 */ li $v0, 6
/* 0AC2FC 800AB6FC 24010001 */ li $at, 1
/* 0AC300 800AB700 A1E20014 */ sb $v0, 0x14($t7)
/* 0AC304 800AB704 8CD8001C */ lw $t8, 0x1c($a2)
/* 0AC308 800AB708 8FAA0028 */ lw $t2, 0x28($sp)
/* 0AC30C 800AB70C 8FB90028 */ lw $t9, 0x28($sp)
/* 0AC310 800AB710 07010004 */ bgez $t8, .L800AB724
/* 0AC314 800AB714 330D0003 */ andi $t5, $t8, 3
/* 0AC318 800AB718 11A00002 */ beqz $t5, .L800AB724
/* 0AC31C 800AB71C 00000000 */ nop
/* 0AC320 800AB720 25ADFFFC */ addiu $t5, $t5, -4
.L800AB724:
/* 0AC324 800AB724 55A10004 */ bnel $t5, $at, .L800AB738
/* 0AC328 800AB728 A1400015 */ sb $zero, 0x15($t2)
/* 0AC32C 800AB72C 10000002 */ b .L800AB738
/* 0AC330 800AB730 A3240015 */ sb $a0, 0x15($t9)
/* 0AC334 800AB734 A1400015 */ sb $zero, 0x15($t2)
.L800AB738:
/* 0AC338 800AB738 8FAB0028 */ lw $t3, 0x28($sp)
/* 0AC33C 800AB73C 24010002 */ li $at, 2
/* 0AC340 800AB740 A1620014 */ sb $v0, 0x14($t3)
/* 0AC344 800AB744 8CCC001C */ lw $t4, 0x1c($a2)
/* 0AC348 800AB748 8FB8002C */ lw $t8, 0x2c($sp)
/* 0AC34C 800AB74C 8FAF002C */ lw $t7, 0x2c($sp)
/* 0AC350 800AB750 05810004 */ bgez $t4, .L800AB764
/* 0AC354 800AB754 318E0003 */ andi $t6, $t4, 3
/* 0AC358 800AB758 11C00002 */ beqz $t6, .L800AB764
/* 0AC35C 800AB75C 00000000 */ nop
/* 0AC360 800AB760 25CEFFFC */ addiu $t6, $t6, -4
.L800AB764:
/* 0AC364 800AB764 55C10004 */ bnel $t6, $at, .L800AB778
/* 0AC368 800AB768 A3000015 */ sb $zero, 0x15($t8)
/* 0AC36C 800AB76C 10000002 */ b .L800AB778
/* 0AC370 800AB770 A1E40015 */ sb $a0, 0x15($t7)
/* 0AC374 800AB774 A3000015 */ sb $zero, 0x15($t8)
.L800AB778:
/* 0AC378 800AB778 8FAD002C */ lw $t5, 0x2c($sp)
/* 0AC37C 800AB77C 24010003 */ li $at, 3
/* 0AC380 800AB780 A1A20014 */ sb $v0, 0x14($t5)
/* 0AC384 800AB784 8CD9001C */ lw $t9, 0x1c($a2)
/* 0AC388 800AB788 8FAC0030 */ lw $t4, 0x30($sp)
/* 0AC38C 800AB78C 8FAB0030 */ lw $t3, 0x30($sp)
/* 0AC390 800AB790 07210004 */ bgez $t9, .L800AB7A4
/* 0AC394 800AB794 332A0003 */ andi $t2, $t9, 3
/* 0AC398 800AB798 11400002 */ beqz $t2, .L800AB7A4
/* 0AC39C 800AB79C 00000000 */ nop
/* 0AC3A0 800AB7A0 254AFFFC */ addiu $t2, $t2, -4
.L800AB7A4:
/* 0AC3A4 800AB7A4 55410004 */ bnel $t2, $at, .L800AB7B8
/* 0AC3A8 800AB7A8 A1800015 */ sb $zero, 0x15($t4)
/* 0AC3AC 800AB7AC 10000002 */ b .L800AB7B8
/* 0AC3B0 800AB7B0 A1640015 */ sb $a0, 0x15($t3)
/* 0AC3B4 800AB7B4 A1800015 */ sb $zero, 0x15($t4)
.L800AB7B8:
/* 0AC3B8 800AB7B8 8FAE0030 */ lw $t6, 0x30($sp)
/* 0AC3BC 800AB7BC 1000004D */ b .L800AB8F4
/* 0AC3C0 800AB7C0 A1C20014 */ sb $v0, 0x14($t6)
.L800AB7C4:
/* 0AC3C4 800AB7C4 27A30024 */ addiu $v1, $sp, 0x24
/* 0AC3C8 800AB7C8 24090008 */ li $t1, 8
/* 0AC3CC 800AB7CC 24080005 */ li $t0, 5
/* 0AC3D0 800AB7D0 24070004 */ li $a3, 4
/* 0AC3D4 800AB7D4 24020006 */ li $v0, 6
.L800AB7D8:
/* 0AC3D8 800AB7D8 8CCF001C */ lw $t7, 0x1c($a2)
/* 0AC3DC 800AB7DC 05E10004 */ bgez $t7, .L800AB7F0
/* 0AC3E0 800AB7E0 31F80003 */ andi $t8, $t7, 3
/* 0AC3E4 800AB7E4 13000002 */ beqz $t8, .L800AB7F0
/* 0AC3E8 800AB7E8 00000000 */ nop
/* 0AC3EC 800AB7EC 2718FFFC */ addiu $t8, $t8, -4
.L800AB7F0:
/* 0AC3F0 800AB7F0 14B80004 */ bne $a1, $t8, .L800AB804
/* 0AC3F4 800AB7F4 00000000 */ nop
/* 0AC3F8 800AB7F8 8C6D0000 */ lw $t5, ($v1)
/* 0AC3FC 800AB7FC 1000000C */ b .L800AB830
/* 0AC400 800AB800 A1A20014 */ sb $v0, 0x14($t5)
.L800AB804:
/* 0AC404 800AB804 00A80019 */ multu $a1, $t0
/* 0AC408 800AB808 8CD90020 */ lw $t9, 0x20($a2)
/* 0AC40C 800AB80C 00005012 */ mflo $t2
/* 0AC410 800AB810 032A082A */ slt $at, $t9, $t2
/* 0AC414 800AB814 50200005 */ beql $at, $zero, .L800AB82C
/* 0AC418 800AB818 8C6C0000 */ lw $t4, ($v1)
/* 0AC41C 800AB81C 8C6B0000 */ lw $t3, ($v1)
/* 0AC420 800AB820 10000003 */ b .L800AB830
/* 0AC424 800AB824 A1670014 */ sb $a3, 0x14($t3)
/* 0AC428 800AB828 8C6C0000 */ lw $t4, ($v1)
.L800AB82C:
/* 0AC42C 800AB82C A1890014 */ sb $t1, 0x14($t4)
.L800AB830:
/* 0AC430 800AB830 8C6E0000 */ lw $t6, ($v1)
/* 0AC434 800AB834 24AF0001 */ addiu $t7, $a1, 1
/* 0AC438 800AB838 A1C40015 */ sb $a0, 0x15($t6)
/* 0AC43C 800AB83C 8CD8001C */ lw $t8, 0x1c($a2)
/* 0AC440 800AB840 07010004 */ bgez $t8, .L800AB854
/* 0AC444 800AB844 330D0003 */ andi $t5, $t8, 3
/* 0AC448 800AB848 11A00002 */ beqz $t5, .L800AB854
/* 0AC44C 800AB84C 00000000 */ nop
/* 0AC450 800AB850 25ADFFFC */ addiu $t5, $t5, -4
.L800AB854:
/* 0AC454 800AB854 15ED0004 */ bne $t7, $t5, .L800AB868
/* 0AC458 800AB858 00000000 */ nop
/* 0AC45C 800AB85C 8C790004 */ lw $t9, 4($v1)
/* 0AC460 800AB860 1000000D */ b .L800AB898
/* 0AC464 800AB864 A3220014 */ sb $v0, 0x14($t9)
.L800AB868:
/* 0AC468 800AB868 00A80019 */ multu $a1, $t0
/* 0AC46C 800AB86C 8CCA0020 */ lw $t2, 0x20($a2)
/* 0AC470 800AB870 00005812 */ mflo $t3
/* 0AC474 800AB874 256C0005 */ addiu $t4, $t3, 5
/* 0AC478 800AB878 014C082A */ slt $at, $t2, $t4
/* 0AC47C 800AB87C 50200005 */ beql $at, $zero, .L800AB894
/* 0AC480 800AB880 8C780004 */ lw $t8, 4($v1)
/* 0AC484 800AB884 8C6E0004 */ lw $t6, 4($v1)
/* 0AC488 800AB888 10000003 */ b .L800AB898
/* 0AC48C 800AB88C A1C70014 */ sb $a3, 0x14($t6)
/* 0AC490 800AB890 8C780004 */ lw $t8, 4($v1)
.L800AB894:
/* 0AC494 800AB894 A3090014 */ sb $t1, 0x14($t8)
.L800AB898:
/* 0AC498 800AB898 8C6F0004 */ lw $t7, 4($v1)
/* 0AC49C 800AB89C 24A50002 */ addiu $a1, $a1, 2
/* 0AC4A0 800AB8A0 24630008 */ addiu $v1, $v1, 8
/* 0AC4A4 800AB8A4 14A7FFCC */ bne $a1, $a3, .L800AB7D8
/* 0AC4A8 800AB8A8 A1E40015 */ sb $a0, 0x15($t7)
/* 0AC4AC 800AB8AC 10000012 */ b .L800AB8F8
/* 0AC4B0 800AB8B0 8FBF0014 */ lw $ra, 0x14($sp)
.L800AB8B4:
/* 0AC4B4 800AB8B4 A1A40015 */ sb $a0, 0x15($t5)
/* 0AC4B8 800AB8B8 8FB90024 */ lw $t9, 0x24($sp)
/* 0AC4BC 800AB8BC 24020006 */ li $v0, 6
/* 0AC4C0 800AB8C0 A3220014 */ sb $v0, 0x14($t9)
/* 0AC4C4 800AB8C4 8FAB0028 */ lw $t3, 0x28($sp)
/* 0AC4C8 800AB8C8 A1640015 */ sb $a0, 0x15($t3)
/* 0AC4CC 800AB8CC 8FAA0028 */ lw $t2, 0x28($sp)
/* 0AC4D0 800AB8D0 A1420014 */ sb $v0, 0x14($t2)
/* 0AC4D4 800AB8D4 8FAC002C */ lw $t4, 0x2c($sp)
/* 0AC4D8 800AB8D8 A1840015 */ sb $a0, 0x15($t4)
/* 0AC4DC 800AB8DC 8FAE002C */ lw $t6, 0x2c($sp)
/* 0AC4E0 800AB8E0 A1C20014 */ sb $v0, 0x14($t6)
/* 0AC4E4 800AB8E4 8FB80030 */ lw $t8, 0x30($sp)
/* 0AC4E8 800AB8E8 A3040015 */ sb $a0, 0x15($t8)
/* 0AC4EC 800AB8EC 8FAF0030 */ lw $t7, 0x30($sp)
/* 0AC4F0 800AB8F0 A1E20014 */ sb $v0, 0x14($t7)
.L800AB8F4:
/* 0AC4F4 800AB8F4 8FBF0014 */ lw $ra, 0x14($sp)
.L800AB8F8:
/* 0AC4F8 800AB8F8 27BD0040 */ addiu $sp, $sp, 0x40
/* 0AC4FC 800AB8FC 03E00008 */ jr $ra
/* 0AC500 800AB900 00000000 */ nop