papermario/asm/nonmatchings/code_20ec0_len_5040/func_80047820.s
2020-09-23 23:16:13 -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_80047820
/* 22C20 80047820 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 22C24 80047824 0080302D */ daddu $a2, $a0, $zero
/* 22C28 80047828 AFB10014 */ sw $s1, 0x14($sp)
/* 22C2C 8004782C 00A0882D */ daddu $s1, $a1, $zero
/* 22C30 80047830 00061040 */ sll $v0, $a2, 1
/* 22C34 80047834 00461021 */ addu $v0, $v0, $a2
/* 22C38 80047838 00021080 */ sll $v0, $v0, 2
/* 22C3C 8004783C 00461023 */ subu $v0, $v0, $a2
/* 22C40 80047840 3C03800A */ lui $v1, 0x800a
/* 22C44 80047844 8C630F44 */ lw $v1, 0xf44($v1)
/* 22C48 80047848 00021100 */ sll $v0, $v0, 4
/* 22C4C 8004784C AFBF0018 */ sw $ra, 0x18($sp)
/* 22C50 80047850 AFB00010 */ sw $s0, 0x10($sp)
/* 22C54 80047854 00628021 */ addu $s0, $v1, $v0
/* 22C58 80047858 2403FFFB */ addiu $v1, $zero, -5
/* 22C5C 8004785C 8E020000 */ lw $v0, ($s0)
/* 22C60 80047860 82040038 */ lb $a0, 0x38($s0)
/* 22C64 80047864 00431024 */ and $v0, $v0, $v1
/* 22C68 80047868 10910006 */ beq $a0, $s1, .L80047884
/* 22C6C 8004786C AE020000 */ sw $v0, ($s0)
/* 22C70 80047870 0C011E26 */ jal func_80047898
/* 22C74 80047874 00C0202D */ daddu $a0, $a2, $zero
/* 22C78 80047878 24020001 */ addiu $v0, $zero, 1
/* 22C7C 8004787C A2110038 */ sb $s1, 0x38($s0)
/* 22C80 80047880 A202003A */ sb $v0, 0x3a($s0)
.L80047884:
/* 22C84 80047884 8FBF0018 */ lw $ra, 0x18($sp)
/* 22C88 80047888 8FB10014 */ lw $s1, 0x14($sp)
/* 22C8C 8004788C 8FB00010 */ lw $s0, 0x10($sp)
/* 22C90 80047890 03E00008 */ jr $ra
/* 22C94 80047894 27BD0020 */ addiu $sp, $sp, 0x20