papermario/asm/nonmatchings/code_710EF0/func_802381E8_7110D8.s
2021-01-13 00:42:27 +09:00

83 lines
4.1 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802381E8_7110D8
/* 7110D8 802381E8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 7110DC 802381EC AFB50024 */ sw $s5, 0x24($sp)
/* 7110E0 802381F0 3C15800E */ lui $s5, %hi(gBattleStatus+0xDC)
/* 7110E4 802381F4 8EB5C14C */ lw $s5, %lo(gBattleStatus+0xDC)($s5)
/* 7110E8 802381F8 AFB7002C */ sw $s7, 0x2c($sp)
/* 7110EC 802381FC 0080B82D */ daddu $s7, $a0, $zero
/* 7110F0 80238200 AFB3001C */ sw $s3, 0x1c($sp)
/* 7110F4 80238204 0000982D */ daddu $s3, $zero, $zero
/* 7110F8 80238208 AFB40020 */ sw $s4, 0x20($sp)
/* 7110FC 8023820C 0260A02D */ daddu $s4, $s3, $zero
/* 711100 80238210 AFBF0030 */ sw $ra, 0x30($sp)
/* 711104 80238214 AFB60028 */ sw $s6, 0x28($sp)
/* 711108 80238218 AFB20018 */ sw $s2, 0x18($sp)
/* 71110C 8023821C AFB10014 */ sw $s1, 0x14($sp)
/* 711110 80238220 AFB00010 */ sw $s0, 0x10($sp)
/* 711114 80238224 82A2040C */ lb $v0, 0x40c($s5)
/* 711118 80238228 1840001B */ blez $v0, .L80238298
/* 71111C 8023822C 0260902D */ daddu $s2, $s3, $zero
/* 711120 80238230 2416000E */ addiu $s6, $zero, 0xe
/* 711124 80238234 02A0882D */ daddu $s1, $s5, $zero
.L80238238:
/* 711128 80238238 0C09A75B */ jal get_actor
/* 71112C 8023823C 8624022C */ lh $a0, 0x22c($s1)
/* 711130 80238240 0040802D */ daddu $s0, $v0, $zero
/* 711134 80238244 8625022E */ lh $a1, 0x22e($s1)
/* 711138 80238248 0C099117 */ jal get_actor_part
/* 71113C 8023824C 0200202D */ daddu $a0, $s0, $zero
/* 711140 80238250 8E030008 */ lw $v1, 8($s0)
/* 711144 80238254 9064001B */ lbu $a0, 0x1b($v1)
/* 711148 80238258 82030218 */ lb $v1, 0x218($s0)
/* 71114C 8023825C 50760001 */ beql $v1, $s6, .L80238264
/* 711150 80238260 0000202D */ daddu $a0, $zero, $zero
.L80238264:
/* 711154 80238264 8C42007C */ lw $v0, 0x7c($v0)
/* 711158 80238268 30420020 */ andi $v0, $v0, 0x20
/* 71115C 8023826C 54400001 */ bnel $v0, $zero, .L80238274
/* 711160 80238270 0000202D */ daddu $a0, $zero, $zero
.L80238274:
/* 711164 80238274 18800003 */ blez $a0, .L80238284
/* 711168 80238278 00000000 */ nop
/* 71116C 8023827C 02449021 */ addu $s2, $s2, $a0
/* 711170 80238280 26730001 */ addiu $s3, $s3, 1
.L80238284:
/* 711174 80238284 82A2040C */ lb $v0, 0x40c($s5)
/* 711178 80238288 26940001 */ addiu $s4, $s4, 1
/* 71117C 8023828C 0282102A */ slt $v0, $s4, $v0
/* 711180 80238290 1440FFE9 */ bnez $v0, .L80238238
/* 711184 80238294 26310014 */ addiu $s1, $s1, 0x14
.L80238298:
/* 711188 80238298 5A60000C */ blezl $s3, .L802382CC
/* 71118C 8023829C AEE00084 */ sw $zero, 0x84($s7)
/* 711190 802382A0 16600002 */ bnez $s3, .L802382AC
/* 711194 802382A4 0253001A */ div $zero, $s2, $s3
/* 711198 802382A8 0007000D */ break 7
.L802382AC:
/* 71119C 802382AC 2401FFFF */ addiu $at, $zero, -1
/* 7111A0 802382B0 16610004 */ bne $s3, $at, .L802382C4
/* 7111A4 802382B4 3C018000 */ lui $at, 0x8000
/* 7111A8 802382B8 16410002 */ bne $s2, $at, .L802382C4
/* 7111AC 802382BC 00000000 */ nop
/* 7111B0 802382C0 0006000D */ break 6
.L802382C4:
/* 7111B4 802382C4 00001012 */ mflo $v0
/* 7111B8 802382C8 AEE20084 */ sw $v0, 0x84($s7)
.L802382CC:
/* 7111BC 802382CC 8FBF0030 */ lw $ra, 0x30($sp)
/* 7111C0 802382D0 8FB7002C */ lw $s7, 0x2c($sp)
/* 7111C4 802382D4 8FB60028 */ lw $s6, 0x28($sp)
/* 7111C8 802382D8 8FB50024 */ lw $s5, 0x24($sp)
/* 7111CC 802382DC 8FB40020 */ lw $s4, 0x20($sp)
/* 7111D0 802382E0 8FB3001C */ lw $s3, 0x1c($sp)
/* 7111D4 802382E4 8FB20018 */ lw $s2, 0x18($sp)
/* 7111D8 802382E8 8FB10014 */ lw $s1, 0x14($sp)
/* 7111DC 802382EC 8FB00010 */ lw $s0, 0x10($sp)
/* 7111E0 802382F0 24020002 */ addiu $v0, $zero, 2
/* 7111E4 802382F4 03E00008 */ jr $ra
/* 7111E8 802382F8 27BD0038 */ addiu $sp, $sp, 0x38
/* 7111EC 802382FC 00000000 */ nop