Files
SpaghettiKart/asm/non_matchings/code_80071F00/func_80086604.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

69 lines
3.5 KiB
ArmAsm

glabel func_80086604
/* 087204 80086604 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 087208 80086608 3C0E8016 */ lui $t6, %hi(D_8016347C) # $t6, 0x8016
/* 08720C 8008660C 85CE347C */ lh $t6, %lo(D_8016347C)($t6)
/* 087210 80086610 AFBF002C */ sw $ra, 0x2c($sp)
/* 087214 80086614 AFB50028 */ sw $s5, 0x28($sp)
/* 087218 80086618 AFB40024 */ sw $s4, 0x24($sp)
/* 08721C 8008661C AFB30020 */ sw $s3, 0x20($sp)
/* 087220 80086620 AFB2001C */ sw $s2, 0x1c($sp)
/* 087224 80086624 AFB10018 */ sw $s1, 0x18($sp)
/* 087228 80086628 11C00016 */ beqz $t6, .L80086684
/* 08722C 8008662C AFB00014 */ sw $s0, 0x14($sp)
/* 087230 80086630 3C0F8028 */ lui $t7, %hi(D_802874F5) # $t7, 0x8028
/* 087234 80086634 81EF74F5 */ lb $t7, %lo(D_802874F5)($t7)
/* 087238 80086638 3C138016 */ lui $s3, %hi(D_801658C6) # $s3, 0x8016
/* 08723C 8008663C 267358C6 */ addiu $s3, %lo(D_801658C6) # addiu $s3, $s3, 0x58c6
/* 087240 80086640 29E10003 */ slti $at, $t7, 3
/* 087244 80086644 1020000F */ beqz $at, .L80086684
/* 087248 80086648 00000000 */ nop
/* 08724C 8008664C 82780000 */ lb $t8, ($s3)
/* 087250 80086650 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018
/* 087254 80086654 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0
/* 087258 80086658 1700000A */ bnez $t8, .L80086684
/* 08725C 8008665C 3C128018 */ lui $s2, %hi(D_80183EAC) # $s2, 0x8018
/* 087260 80086660 26523EAC */ addiu $s2, %lo(D_80183EAC) # addiu $s2, $s2, 0x3eac
/* 087264 80086664 8E240000 */ lw $a0, ($s1)
.L80086668:
/* 087268 80086668 0C01C8E9 */ jal func_800723A4
/* 08726C 8008666C 00002825 */ move $a1, $zero
/* 087270 80086670 26310004 */ addiu $s1, $s1, 4
/* 087274 80086674 5632FFFC */ bnel $s1, $s2, .L80086668
/* 087278 80086678 8E240000 */ lw $a0, ($s1)
/* 08727C 8008667C 24190001 */ li $t9, 1
/* 087280 80086680 A2790000 */ sb $t9, ($s3)
.L80086684:
/* 087284 80086684 3C118018 */ lui $s1, %hi(D_80183EA0) # $s1, 0x8018
/* 087288 80086688 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016
/* 08728C 8008668C 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18
/* 087290 80086690 26313EA0 */ addiu $s1, %lo(D_80183EA0) # addiu $s1, $s1, 0x3ea0
/* 087294 80086694 00009025 */ move $s2, $zero
/* 087298 80086698 24150003 */ li $s5, 3
/* 08729C 8008669C 241400E0 */ li $s4, 224
.L800866A0:
/* 0872A0 800866A0 8E300000 */ lw $s0, ($s1)
/* 0872A4 800866A4 02140019 */ multu $s0, $s4
/* 0872A8 800866A8 02002025 */ move $a0, $s0
/* 0872AC 800866AC 00004012 */ mflo $t0
/* 0872B0 800866B0 02684821 */ addu $t1, $s3, $t0
/* 0872B4 800866B4 852A00A6 */ lh $t2, 0xa6($t1)
/* 0872B8 800866B8 51400006 */ beql $t2, $zero, .L800866D4
/* 0872BC 800866BC 26520001 */ addiu $s2, $s2, 1
/* 0872C0 800866C0 0C02194A */ jal func_80086528
/* 0872C4 800866C4 02402825 */ move $a1, $s2
/* 0872C8 800866C8 0C021909 */ jal func_80086424
/* 0872CC 800866CC 02002025 */ move $a0, $s0
/* 0872D0 800866D0 26520001 */ addiu $s2, $s2, 1
.L800866D4:
/* 0872D4 800866D4 1655FFF2 */ bne $s2, $s5, .L800866A0
/* 0872D8 800866D8 26310004 */ addiu $s1, $s1, 4
/* 0872DC 800866DC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0872E0 800866E0 8FB00014 */ lw $s0, 0x14($sp)
/* 0872E4 800866E4 8FB10018 */ lw $s1, 0x18($sp)
/* 0872E8 800866E8 8FB2001C */ lw $s2, 0x1c($sp)
/* 0872EC 800866EC 8FB30020 */ lw $s3, 0x20($sp)
/* 0872F0 800866F0 8FB40024 */ lw $s4, 0x24($sp)
/* 0872F4 800866F4 8FB50028 */ lw $s5, 0x28($sp)
/* 0872F8 800866F8 03E00008 */ jr $ra
/* 0872FC 800866FC 27BD0030 */ addiu $sp, $sp, 0x30