papermario/asm/nonmatchings/code_163400/func_80243550.s
Ethan Roseman 84f211a2ae First pass
2020-10-14 22:56:47 -04:00

36 lines
1.7 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80243550
/* 163DB0 80243550 3C028016 */ lui $v0, %hi(D_80159D50)
/* 163DB4 80243554 24429D50 */ addiu $v0, $v0, %lo(D_80159D50)
/* 163DB8 80243558 00042140 */ sll $a0, $a0, 5
/* 163DBC 8024355C 00822021 */ addu $a0, $a0, $v0
/* 163DC0 80243560 9083001C */ lbu $v1, 0x1c($a0)
/* 163DC4 80243564 14600005 */ bnez $v1, .L8024357C
/* 163DC8 80243568 28620010 */ slti $v0, $v1, 0x10
/* 163DCC 8024356C 90820000 */ lbu $v0, ($a0)
/* 163DD0 80243570 304200FB */ andi $v0, $v0, 0xfb
/* 163DD4 80243574 A0820000 */ sb $v0, ($a0)
/* 163DD8 80243578 28620010 */ slti $v0, $v1, 0x10
.L8024357C:
/* 163DDC 8024357C 10400008 */ beqz $v0, .L802435A0
/* 163DE0 80243580 00031040 */ sll $v0, $v1, 1
/* 163DE4 80243584 3C038025 */ lui $v1, 0x8025
/* 163DE8 80243588 00621821 */ addu $v1, $v1, $v0
/* 163DEC 8024358C 84639C5C */ lh $v1, -0x63a4($v1)
/* 163DF0 80243590 8CE20000 */ lw $v0, ($a3)
/* 163DF4 80243594 00431023 */ subu $v0, $v0, $v1
/* 163DF8 80243598 03E00008 */ jr $ra
/* 163DFC 8024359C ACE20000 */ sw $v0, ($a3)
.L802435A0:
/* 163E00 802435A0 3C028025 */ lui $v0, 0x8025
/* 163E04 802435A4 84429C7A */ lh $v0, -0x6386($v0)
/* 163E08 802435A8 8CE30000 */ lw $v1, ($a3)
/* 163E0C 802435AC 00621823 */ subu $v1, $v1, $v0
/* 163E10 802435B0 ACE30000 */ sw $v1, ($a3)
/* 163E14 802435B4 90820000 */ lbu $v0, ($a0)
/* 163E18 802435B8 304200F7 */ andi $v0, $v0, 0xf7
/* 163E1C 802435BC 03E00008 */ jr $ra
/* 163E20 802435C0 A0820000 */ sb $v0, ($a0)