papermario/asm/nonmatchings/code_7E2AA0/func_80282634.s

61 lines
2.9 KiB
ArmAsm
Raw Normal View History

2020-09-24 05:16:13 +02:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80282634
/* 7E34B4 80282634 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 7E34B8 80282638 AFBF0020 */ sw $ra, 0x20($sp)
/* 7E34BC 8028263C AFB3001C */ sw $s3, 0x1c($sp)
/* 7E34C0 80282640 AFB20018 */ sw $s2, 0x18($sp)
/* 7E34C4 80282644 AFB10014 */ sw $s1, 0x14($sp)
/* 7E34C8 80282648 AFB00010 */ sw $s0, 0x10($sp)
/* 7E34CC 8028264C 8C820074 */ lw $v0, 0x74($a0)
/* 7E34D0 80282650 8C51005C */ lw $s1, 0x5c($v0)
/* 7E34D4 80282654 12200022 */ beqz $s1, .L802826E0
/* 7E34D8 80282658 0000802D */ daddu $s0, $zero, $zero
/* 7E34DC 8028265C 2413FFFC */ addiu $s3, $zero, -4
/* 7E34E0 80282660 3C120080 */ lui $s2, 0x80
.L80282664:
/* 7E34E4 80282664 0C00E2B7 */ jal get_npc_by_index
/* 7E34E8 80282668 0200202D */ daddu $a0, $s0, $zero
/* 7E34EC 8028266C 0040182D */ daddu $v1, $v0, $zero
/* 7E34F0 80282670 50600009 */ beql $v1, $zero, .L80282698
/* 7E34F4 80282674 26100001 */ addiu $s0, $s0, 1
/* 7E34F8 80282678 8C640000 */ lw $a0, ($v1)
/* 7E34FC 8028267C 10800006 */ beqz $a0, .L80282698
/* 7E3500 80282680 26100001 */ addiu $s0, $s0, 1
/* 7E3504 80282684 806200A4 */ lb $v0, 0xa4($v1)
/* 7E3508 80282688 10530003 */ beq $v0, $s3, .L80282698
/* 7E350C 8028268C 00000000 */ nop
/* 7E3510 80282690 00921025 */ or $v0, $a0, $s2
/* 7E3514 80282694 AC620000 */ sw $v0, ($v1)
.L80282698:
/* 7E3518 80282698 2A020040 */ slti $v0, $s0, 0x40
/* 7E351C 8028269C 1440FFF1 */ bnez $v0, .L80282664
/* 7E3520 802826A0 00000000 */ nop
/* 7E3524 802826A4 2412FFFF */ addiu $s2, $zero, -1
/* 7E3528 802826A8 3C10FF7F */ lui $s0, 0xff7f
/* 7E352C 802826AC 3610FFFF */ ori $s0, $s0, 0xffff
.L802826B0:
/* 7E3530 802826B0 8E240000 */ lw $a0, ($s1)
/* 7E3534 802826B4 1092000B */ beq $a0, $s2, .L802826E4
/* 7E3538 802826B8 24020002 */ addiu $v0, $zero, 2
/* 7E353C 802826BC 0C00EAD2 */ jal get_npc_safe
/* 7E3540 802826C0 26310004 */ addiu $s1, $s1, 4
/* 7E3544 802826C4 0040182D */ daddu $v1, $v0, $zero
/* 7E3548 802826C8 1060FFF9 */ beqz $v1, .L802826B0
/* 7E354C 802826CC 00000000 */ nop
/* 7E3550 802826D0 8C620000 */ lw $v0, ($v1)
/* 7E3554 802826D4 00501024 */ and $v0, $v0, $s0
/* 7E3558 802826D8 080A09AC */ j .L802826B0
/* 7E355C 802826DC AC620000 */ sw $v0, ($v1)
.L802826E0:
/* 7E3560 802826E0 24020002 */ addiu $v0, $zero, 2
.L802826E4:
/* 7E3564 802826E4 8FBF0020 */ lw $ra, 0x20($sp)
/* 7E3568 802826E8 8FB3001C */ lw $s3, 0x1c($sp)
/* 7E356C 802826EC 8FB20018 */ lw $s2, 0x18($sp)
/* 7E3570 802826F0 8FB10014 */ lw $s1, 0x14($sp)
/* 7E3574 802826F4 8FB00010 */ lw $s0, 0x10($sp)
/* 7E3578 802826F8 03E00008 */ jr $ra
/* 7E357C 802826FC 27BD0028 */ addiu $sp, $sp, 0x28