.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80047C04 /* 23004 80047C04 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 23008 80047C08 00041040 */ sll $v0, $a0, 1 /* 2300C 80047C0C 00441021 */ addu $v0, $v0, $a0 /* 23010 80047C10 00021080 */ sll $v0, $v0, 2 /* 23014 80047C14 00441023 */ subu $v0, $v0, $a0 /* 23018 80047C18 3C03800A */ lui $v1, %hi(D_8009ED54) /* 2301C 80047C1C 8C63ED54 */ lw $v1, %lo(D_8009ED54)($v1) /* 23020 80047C20 00021100 */ sll $v0, $v0, 4 /* 23024 80047C24 AFBF0018 */ sw $ra, 0x18($sp) /* 23028 80047C28 AFB10014 */ sw $s1, 0x14($sp) /* 2302C 80047C2C AFB00010 */ sw $s0, 0x10($sp) /* 23030 80047C30 00628821 */ addu $s1, $v1, $v0 /* 23034 80047C34 2403FDFF */ addiu $v1, $zero, -0x201 /* 23038 80047C38 8E220000 */ lw $v0, ($s1) /* 2303C 80047C3C 82240098 */ lb $a0, 0x98($s1) /* 23040 80047C40 00431024 */ and $v0, $v0, $v1 /* 23044 80047C44 1480000E */ bnez $a0, .L80047C80 /* 23048 80047C48 AE220000 */ sw $v0, ($s1) /* 2304C 80047C4C 3C048010 */ lui $a0, %hi(D_8010779C) /* 23050 80047C50 2484779C */ addiu $a0, $a0, %lo(D_8010779C) /* 23054 80047C54 24020001 */ addiu $v0, $zero, 1 /* 23058 80047C58 0C051955 */ jal func_80146554 /* 2305C 80047C5C A2220098 */ sb $v0, 0x98($s1) /* 23060 80047C60 0040802D */ daddu $s0, $v0, $zero /* 23064 80047C64 0200202D */ daddu $a0, $s0, $zero /* 23068 80047C68 0C0526AC */ jal func_80149AB0 /* 2306C 80047C6C 24050002 */ addiu $a1, $zero, 2 /* 23070 80047C70 0200202D */ daddu $a0, $s0, $zero /* 23074 80047C74 0C0526AC */ jal func_80149AB0 /* 23078 80047C78 24050080 */ addiu $a1, $zero, 0x80 /* 2307C 80047C7C AE30009C */ sw $s0, 0x9c($s1) .L80047C80: /* 23080 80047C80 8FBF0018 */ lw $ra, 0x18($sp) /* 23084 80047C84 8FB10014 */ lw $s1, 0x14($sp) /* 23088 80047C88 8FB00010 */ lw $s0, 0x10($sp) /* 2308C 80047C8C 03E00008 */ jr $ra /* 23090 80047C90 27BD0020 */ addiu $sp, $sp, 0x20