Files
mk64/asm/non_matchings/code_800AF9B0/func_800B4874.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

53 lines
2.4 KiB
ArmAsm

glabel func_800B4874
/* 0B5474 800B4874 3C0C8019 */ lui $t4, %hi(D_8018EB90) # $t4, 0x8019
/* 0B5478 800B4878 258CEB90 */ addiu $t4, %lo(D_8018EB90) # addiu $t4, $t4, -0x1470
/* 0B547C 800B487C 00001825 */ move $v1, $zero
/* 0B5480 800B4880 00002825 */ move $a1, $zero
/* 0B5484 800B4884 04810003 */ bgez $a0, .L800B4894
/* 0B5488 800B4888 00047083 */ sra $t6, $a0, 2
/* 0B548C 800B488C 24810003 */ addiu $at, $a0, 3
/* 0B5490 800B4890 00017083 */ sra $t6, $at, 2
.L800B4894:
/* 0B5494 800B4894 000E7880 */ sll $t7, $t6, 2
/* 0B5498 800B4898 01EE7823 */ subu $t7, $t7, $t6
/* 0B549C 800B489C 000F7940 */ sll $t7, $t7, 5
/* 0B54A0 800B48A0 04810004 */ bgez $a0, .L800B48B4
/* 0B54A4 800B48A4 30980003 */ andi $t8, $a0, 3
/* 0B54A8 800B48A8 13000002 */ beqz $t8, .L800B48B4
/* 0B54AC 800B48AC 00000000 */ nop
/* 0B54B0 800B48B0 2718FFFC */ addiu $t8, $t8, -4
.L800B48B4:
/* 0B54B4 800B48B4 0018C880 */ sll $t9, $t8, 2
/* 0B54B8 800B48B8 0338C823 */ subu $t9, $t9, $t8
/* 0B54BC 800B48BC 0019C8C0 */ sll $t9, $t9, 3
/* 0B54C0 800B48C0 01F95821 */ addu $t3, $t7, $t9
/* 0B54C4 800B48C4 016C1021 */ addu $v0, $t3, $t4
/* 0B54C8 800B48C8 00003025 */ move $a2, $zero
/* 0B54CC 800B48CC 240A0007 */ li $t2, 7
/* 0B54D0 800B48D0 24090003 */ li $t1, 3
.L800B48D4:
/* 0B54D4 800B48D4 00002025 */ move $a0, $zero
/* 0B54D8 800B48D8 00464021 */ addu $t0, $v0, $a2
.L800B48DC:
/* 0B54DC 800B48DC 01046821 */ addu $t5, $t0, $a0
/* 0B54E0 800B48E0 91AE0000 */ lbu $t6, ($t5)
/* 0B54E4 800B48E4 24870001 */ addiu $a3, $a0, 1
/* 0B54E8 800B48E8 00E02025 */ move $a0, $a3
/* 0B54EC 800B48EC 01C70019 */ multu $t6, $a3
/* 0B54F0 800B48F0 0000C012 */ mflo $t8
/* 0B54F4 800B48F4 00787821 */ addu $t7, $v1, $t8
/* 0B54F8 800B48F8 14E9FFF8 */ bne $a3, $t1, .L800B48DC
/* 0B54FC 800B48FC 01E51821 */ addu $v1, $t7, $a1
/* 0B5500 800B4900 24A50001 */ addiu $a1, $a1, 1
/* 0B5504 800B4904 14AAFFF3 */ bne $a1, $t2, .L800B48D4
/* 0B5508 800B4908 24C60003 */ addiu $a2, $a2, 3
/* 0B550C 800B490C 04610004 */ bgez $v1, .L800B4920
/* 0B5510 800B4910 306200FF */ andi $v0, $v1, 0xff
/* 0B5514 800B4914 10400002 */ beqz $v0, .L800B4920
/* 0B5518 800B4918 00000000 */ nop
/* 0B551C 800B491C 2442FF00 */ addiu $v0, $v0, -0x100
.L800B4920:
/* 0B5520 800B4920 305900FF */ andi $t9, $v0, 0xff
/* 0B5524 800B4924 03E00008 */ jr $ra
/* 0B5528 800B4928 03201025 */ move $v0, $t9