papermario/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s
2020-09-23 23:16:13 -04:00

49 lines
2.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004E3A4
/* 297A4 8004E3A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 297A8 8004E3A8 AFB00010 */ sw $s0, 0x10($sp)
/* 297AC 8004E3AC 0080802D */ daddu $s0, $a0, $zero
/* 297B0 8004E3B0 AFBF0014 */ sw $ra, 0x14($sp)
/* 297B4 8004E3B4 96020036 */ lhu $v0, 0x36($s0)
/* 297B8 8004E3B8 2442FFFF */ addiu $v0, $v0, -1
/* 297BC 8004E3BC A6020036 */ sh $v0, 0x36($s0)
/* 297C0 8004E3C0 00021400 */ sll $v0, $v0, 0x10
/* 297C4 8004E3C4 10400006 */ beqz $v0, .L8004E3E0
/* 297C8 8004E3C8 00000000 */ nop
/* 297CC 8004E3CC 8E02002C */ lw $v0, 0x2c($s0)
/* 297D0 8004E3D0 8E030030 */ lw $v1, 0x30($s0)
/* 297D4 8004E3D4 00431021 */ addu $v0, $v0, $v1
/* 297D8 8004E3D8 0801390B */ j .L8004E42C
/* 297DC 8004E3DC AE02002C */ sw $v0, 0x2c($s0)
.L8004E3E0:
/* 297E0 8004E3E0 86020034 */ lh $v0, 0x34($s0)
/* 297E4 8004E3E4 8E030038 */ lw $v1, 0x38($s0)
/* 297E8 8004E3E8 00021400 */ sll $v0, $v0, 0x10
/* 297EC 8004E3EC 10600003 */ beqz $v1, .L8004E3FC
/* 297F0 8004E3F0 AE02002C */ sw $v0, 0x2c($s0)
/* 297F4 8004E3F4 0060F809 */ jalr $v1
/* 297F8 8004E3F8 00000000 */ nop
.L8004E3FC:
/* 297FC 8004E3FC 8E040020 */ lw $a0, 0x20($s0)
/* 29800 8004E400 10800005 */ beqz $a0, .L8004E418
/* 29804 8004E404 00000000 */ nop
/* 29808 8004E408 0C013720 */ jal func_8004DC80
/* 2980C 8004E40C 00000000 */ nop
/* 29810 8004E410 0801390B */ j .L8004E42C
/* 29814 8004E414 00000000 */ nop
.L8004E418:
/* 29818 8004E418 8E02002C */ lw $v0, 0x2c($s0)
/* 2981C 8004E41C 14400003 */ bnez $v0, .L8004E42C
/* 29820 8004E420 00000000 */ nop
/* 29824 8004E424 0C0136AA */ jal func_8004DAA8
/* 29828 8004E428 0200202D */ daddu $a0, $s0, $zero
.L8004E42C:
/* 2982C 8004E42C 0C013911 */ jal func_8004E444
/* 29830 8004E430 0200202D */ daddu $a0, $s0, $zero
/* 29834 8004E434 8FBF0014 */ lw $ra, 0x14($sp)
/* 29838 8004E438 8FB00010 */ lw $s0, 0x10($sp)
/* 2983C 8004E43C 03E00008 */ jr $ra
/* 29840 8004E440 27BD0018 */ addiu $sp, $sp, 0x18