papermario/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s

53 lines
2.1 KiB
ArmAsm
Raw Normal View History

2020-08-04 08:49:11 +02:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004E3A4
/* 0297A4 8004E3A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0297A8 8004E3A8 AFB00010 */ sw $s0, 0x10($sp)
/* 0297AC 8004E3AC 0080802D */ daddu $s0, $a0, $zero
/* 0297B0 8004E3B0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0297B4 8004E3B4 96020036 */ lhu $v0, 0x36($s0)
/* 0297B8 8004E3B8 2442FFFF */ addiu $v0, $v0, -1
/* 0297BC 8004E3BC A6020036 */ sh $v0, 0x36($s0)
/* 0297C0 8004E3C0 00021400 */ sll $v0, $v0, 0x10
/* 0297C4 8004E3C4 10400006 */ beqz $v0, .L8004E3E0
/* 0297C8 8004E3C8 00000000 */ nop
/* 0297CC 8004E3CC 8E02002C */ lw $v0, 0x2c($s0)
/* 0297D0 8004E3D0 8E030030 */ lw $v1, 0x30($s0)
/* 0297D4 8004E3D4 00431021 */ addu $v0, $v0, $v1
/* 0297D8 8004E3D8 0801390B */ j .L8004E42C
/* 0297DC 8004E3DC AE02002C */ sw $v0, 0x2c($s0)
.L8004E3E0:
/* 0297E0 8004E3E0 86020034 */ lh $v0, 0x34($s0)
/* 0297E4 8004E3E4 8E030038 */ lw $v1, 0x38($s0)
/* 0297E8 8004E3E8 00021400 */ sll $v0, $v0, 0x10
/* 0297EC 8004E3EC 10600003 */ beqz $v1, .L8004E3FC
/* 0297F0 8004E3F0 AE02002C */ sw $v0, 0x2c($s0)
/* 0297F4 8004E3F4 0060F809 */ jalr $v1
/* 0297F8 8004E3F8 00000000 */ nop
.L8004E3FC:
/* 0297FC 8004E3FC 8E040020 */ lw $a0, 0x20($s0)
/* 029800 8004E400 10800005 */ beqz $a0, .L8004E418
/* 029804 8004E404 00000000 */ nop
/* 029808 8004E408 0C013720 */ jal func_8004DC80
/* 02980C 8004E40C 00000000 */ nop
/* 029810 8004E410 0801390B */ j .L8004E42C
/* 029814 8004E414 00000000 */ nop
.L8004E418:
/* 029818 8004E418 8E02002C */ lw $v0, 0x2c($s0)
/* 02981C 8004E41C 14400003 */ bnez $v0, .L8004E42C
/* 029820 8004E420 00000000 */ nop
/* 029824 8004E424 0C0136AA */ jal func_8004DAA8
/* 029828 8004E428 0200202D */ daddu $a0, $s0, $zero
.L8004E42C:
/* 02982C 8004E42C 0C013911 */ jal func_8004E444
/* 029830 8004E430 0200202D */ daddu $a0, $s0, $zero
/* 029834 8004E434 8FBF0014 */ lw $ra, 0x14($sp)
/* 029838 8004E438 8FB00010 */ lw $s0, 0x10($sp)
/* 02983C 8004E43C 03E00008 */ jr $ra
/* 029840 8004E440 27BD0018 */ addiu $sp, $sp, 0x18