.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8004E054 /* 29454 8004E054 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 29458 8004E058 AFB00010 */ sw $s0, 0x10($sp) /* 2945C 8004E05C 0080802D */ daddu $s0, $a0, $zero /* 29460 8004E060 AFBF0014 */ sw $ra, 0x14($sp) /* 29464 8004E064 96020036 */ lhu $v0, 0x36($s0) /* 29468 8004E068 2442FFFF */ addiu $v0, $v0, -1 /* 2946C 8004E06C A6020036 */ sh $v0, 0x36($s0) /* 29470 8004E070 00021400 */ sll $v0, $v0, 0x10 /* 29474 8004E074 10400006 */ beqz $v0, .L8004E090 /* 29478 8004E078 00000000 */ nop /* 2947C 8004E07C 8E02002C */ lw $v0, 0x2c($s0) /* 29480 8004E080 8E030030 */ lw $v1, 0x30($s0) /* 29484 8004E084 00431021 */ addu $v0, $v0, $v1 /* 29488 8004E088 08013837 */ j .L8004E0DC /* 2948C 8004E08C AE02002C */ sw $v0, 0x2c($s0) .L8004E090: /* 29490 8004E090 86020034 */ lh $v0, 0x34($s0) /* 29494 8004E094 8E030038 */ lw $v1, 0x38($s0) /* 29498 8004E098 00021400 */ sll $v0, $v0, 0x10 /* 2949C 8004E09C 10600003 */ beqz $v1, .L8004E0AC /* 294A0 8004E0A0 AE02002C */ sw $v0, 0x2c($s0) /* 294A4 8004E0A4 0060F809 */ jalr $v1 /* 294A8 8004E0A8 00000000 */ nop .L8004E0AC: /* 294AC 8004E0AC 8E040020 */ lw $a0, 0x20($s0) /* 294B0 8004E0B0 10800005 */ beqz $a0, .L8004E0C8 /* 294B4 8004E0B4 00000000 */ nop /* 294B8 8004E0B8 0C01364C */ jal func_8004D930 /* 294BC 8004E0BC 00000000 */ nop /* 294C0 8004E0C0 08013837 */ j .L8004E0DC /* 294C4 8004E0C4 00000000 */ nop .L8004E0C8: /* 294C8 8004E0C8 8E02002C */ lw $v0, 0x2c($s0) /* 294CC 8004E0CC 14400003 */ bnez $v0, .L8004E0DC /* 294D0 8004E0D0 00000000 */ nop /* 294D4 8004E0D4 0C0135D6 */ jal func_8004D758 /* 294D8 8004E0D8 0200202D */ daddu $a0, $s0, $zero .L8004E0DC: /* 294DC 8004E0DC 0C01383D */ jal func_8004E0F4 /* 294E0 8004E0E0 0200202D */ daddu $a0, $s0, $zero /* 294E4 8004E0E4 8FBF0014 */ lw $ra, 0x14($sp) /* 294E8 8004E0E8 8FB00010 */ lw $s0, 0x10($sp) /* 294EC 8004E0EC 03E00008 */ jr $ra /* 294F0 8004E0F0 27BD0018 */ addiu $sp, $sp, 0x18