.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8004E288 /* 29688 8004E288 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 2968C 8004E28C AFB10014 */ sw $s1, 0x14($sp) /* 29690 8004E290 0080882D */ daddu $s1, $a0, $zero /* 29694 8004E294 AFB00010 */ sw $s0, 0x10($sp) /* 29698 8004E298 0000802D */ daddu $s0, $zero, $zero /* 2969C 8004E29C 2408FFFF */ addiu $t0, $zero, -1 /* 296A0 8004E2A0 3C057FFF */ lui $a1, 0x7fff /* 296A4 8004E2A4 24070040 */ addiu $a3, $zero, 0x40 /* 296A8 8004E2A8 2406007F */ addiu $a2, $zero, 0x7f /* 296AC 8004E2AC 2404025C */ addiu $a0, $zero, 0x25c /* 296B0 8004E2B0 AFBF0018 */ sw $ra, 0x18($sp) .L8004E2B4: /* 296B4 8004E2B4 02241021 */ addu $v0, $s1, $a0 /* 296B8 8004E2B8 AC48000C */ sw $t0, 0xc($v0) /* 296BC 8004E2BC AC450018 */ sw $a1, 0x18($v0) /* 296C0 8004E2C0 A047004A */ sb $a3, 0x4a($v0) /* 296C4 8004E2C4 A040004B */ sb $zero, 0x4b($v0) /* 296C8 8004E2C8 A4400044 */ sh $zero, 0x44($v0) /* 296CC 8004E2CC A4400046 */ sh $zero, 0x46($v0) /* 296D0 8004E2D0 A0400048 */ sb $zero, 0x48($v0) /* 296D4 8004E2D4 A0460049 */ sb $a2, 0x49($v0) /* 296D8 8004E2D8 A040004C */ sb $zero, 0x4c($v0) /* 296DC 8004E2DC AC45002C */ sw $a1, 0x2c($v0) /* 296E0 8004E2E0 AC400004 */ sw $zero, 4($v0) /* 296E4 8004E2E4 AC400008 */ sw $zero, 8($v0) /* 296E8 8004E2E8 A440003E */ sh $zero, 0x3e($v0) /* 296EC 8004E2EC A4400038 */ sh $zero, 0x38($v0) /* 296F0 8004E2F0 A0400056 */ sb $zero, 0x56($v0) /* 296F4 8004E2F4 A440003A */ sh $zero, 0x3a($v0) /* 296F8 8004E2F8 A0400055 */ sb $zero, 0x55($v0) /* 296FC 8004E2FC AC40001C */ sw $zero, 0x1c($v0) /* 29700 8004E300 AC400020 */ sw $zero, 0x20($v0) /* 29704 8004E304 AC400024 */ sw $zero, 0x24($v0) /* 29708 8004E308 AC400030 */ sw $zero, 0x30($v0) /* 2970C 8004E30C A4400034 */ sh $zero, 0x34($v0) /* 29710 8004E310 A4400036 */ sh $zero, 0x36($v0) /* 29714 8004E314 A040004D */ sb $zero, 0x4d($v0) /* 29718 8004E318 A040004E */ sb $zero, 0x4e($v0) /* 2971C 8004E31C A040004F */ sb $zero, 0x4f($v0) /* 29720 8004E320 A0400050 */ sb $zero, 0x50($v0) /* 29724 8004E324 A0400051 */ sb $zero, 0x51($v0) /* 29728 8004E328 A0400054 */ sb $zero, 0x54($v0) /* 2972C 8004E32C A0400057 */ sb $zero, 0x57($v0) /* 29730 8004E330 A0400058 */ sb $zero, 0x58($v0) /* 29734 8004E334 A0400059 */ sb $zero, 0x59($v0) /* 29738 8004E338 A040005A */ sb $zero, 0x5a($v0) /* 2973C 8004E33C 92230235 */ lbu $v1, 0x235($s1) /* 29740 8004E340 A043005B */ sb $v1, 0x5b($v0) /* 29744 8004E344 A050005C */ sb $s0, 0x5c($v0) /* 29748 8004E348 26100001 */ addiu $s0, $s0, 1 /* 2974C 8004E34C 2A020010 */ slti $v0, $s0, 0x10 /* 29750 8004E350 1440FFD8 */ bnez $v0, .L8004E2B4 /* 29754 8004E354 24840060 */ addiu $a0, $a0, 0x60 /* 29758 8004E358 0000802D */ daddu $s0, $zero, $zero /* 2975C 8004E35C 2404FFFF */ addiu $a0, $zero, -1 /* 29760 8004E360 3C014000 */ lui $at, 0x4000 /* 29764 8004E364 44810000 */ mtc1 $at, $f0 /* 29768 8004E368 2403085C */ addiu $v1, $zero, 0x85c .L8004E36C: /* 2976C 8004E36C 02231021 */ addu $v0, $s1, $v1 /* 29770 8004E370 26100001 */ addiu $s0, $s0, 1 /* 29774 8004E374 AC440000 */ sw $a0, ($v0) /* 29778 8004E378 E4400004 */ swc1 $f0, 4($v0) /* 2977C 8004E37C A4400014 */ sh $zero, 0x14($v0) /* 29780 8004E380 A0400016 */ sb $zero, 0x16($v0) /* 29784 8004E384 AC40000C */ sw $zero, 0xc($v0) /* 29788 8004E388 A0400012 */ sb $zero, 0x12($v0) /* 2978C 8004E38C 2A020018 */ slti $v0, $s0, 0x18 /* 29790 8004E390 1440FFF6 */ bnez $v0, .L8004E36C /* 29794 8004E394 24630018 */ addiu $v1, $v1, 0x18 /* 29798 8004E398 0C01416C */ jal func_800505B0 /* 2979C 8004E39C 0220202D */ daddu $a0, $s1, $zero /* 297A0 8004E3A0 0000802D */ daddu $s0, $zero, $zero /* 297A4 8004E3A4 3C014300 */ lui $at, 0x4300 /* 297A8 8004E3A8 44810000 */ mtc1 $at, $f0 /* 297AC 8004E3AC 3C013F80 */ lui $at, 0x3f80 /* 297B0 8004E3B0 44811000 */ mtc1 $at, $f2 /* 297B4 8004E3B4 24023CF0 */ addiu $v0, $zero, 0x3cf0 /* 297B8 8004E3B8 AE2200B0 */ sw $v0, 0xb0($s1) /* 297BC 8004E3BC 2402009C */ addiu $v0, $zero, 0x9c /* 297C0 8004E3C0 A6220208 */ sh $v0, 0x208($s1) /* 297C4 8004E3C4 24020080 */ addiu $v0, $zero, 0x80 /* 297C8 8004E3C8 A222021E */ sb $v0, 0x21e($s1) /* 297CC 8004E3CC 3C027F00 */ lui $v0, 0x7f00 /* 297D0 8004E3D0 AE2200C0 */ sw $v0, 0xc0($s1) /* 297D4 8004E3D4 24020001 */ addiu $v0, $zero, 1 /* 297D8 8004E3D8 AE200020 */ sw $zero, 0x20($s1) /* 297DC 8004E3DC AE200074 */ sw $zero, 0x74($s1) /* 297E0 8004E3E0 AE2000B8 */ sw $zero, 0xb8($s1) /* 297E4 8004E3E4 A620020C */ sh $zero, 0x20c($s1) /* 297E8 8004E3E8 A620020E */ sh $zero, 0x20e($s1) /* 297EC 8004E3EC AE2000CC */ sw $zero, 0xcc($s1) /* 297F0 8004E3F0 AE2000C8 */ sw $zero, 0xc8($s1) /* 297F4 8004E3F4 AE2000C4 */ sw $zero, 0xc4($s1) /* 297F8 8004E3F8 AE20016C */ sw $zero, 0x16c($s1) /* 297FC 8004E3FC A2200170 */ sb $zero, 0x170($s1) /* 29800 8004E400 A2200171 */ sb $zero, 0x171($s1) /* 29804 8004E404 AE200164 */ sw $zero, 0x164($s1) /* 29808 8004E408 AE200160 */ sw $zero, 0x160($s1) /* 2980C 8004E40C AE20015C */ sw $zero, 0x15c($s1) /* 29810 8004E410 AE200158 */ sw $zero, 0x158($s1) /* 29814 8004E414 AE200168 */ sw $zero, 0x168($s1) /* 29818 8004E418 A2200210 */ sb $zero, 0x210($s1) /* 2981C 8004E41C A2200222 */ sb $zero, 0x222($s1) /* 29820 8004E420 A2200223 */ sb $zero, 0x223($s1) /* 29824 8004E424 AE200204 */ sw $zero, 0x204($s1) /* 29828 8004E428 A2200232 */ sb $zero, 0x232($s1) /* 2982C 8004E42C A2220233 */ sb $v0, 0x233($s1) /* 29830 8004E430 A2200211 */ sb $zero, 0x211($s1) /* 29834 8004E434 E62000D0 */ swc1 $f0, 0xd0($s1) /* 29838 8004E438 E62200D0 */ swc1 $f2, 0xd0($s1) /* 2983C 8004E43C 0220202D */ daddu $a0, $s1, $zero .L8004E440: /* 29840 8004E440 0C01393D */ jal func_8004E4F4 /* 29844 8004E444 0200282D */ daddu $a1, $s0, $zero /* 29848 8004E448 26100001 */ addiu $s0, $s0, 1 /* 2984C 8004E44C 2A020008 */ slti $v0, $s0, 8 /* 29850 8004E450 1440FFFB */ bnez $v0, .L8004E440 /* 29854 8004E454 0220202D */ daddu $a0, $s1, $zero /* 29858 8004E458 24100003 */ addiu $s0, $zero, 3 /* 2985C 8004E45C 02301021 */ addu $v0, $s1, $s0 .L8004E460: /* 29860 8004E460 A0400224 */ sb $zero, 0x224($v0) /* 29864 8004E464 2610FFFF */ addiu $s0, $s0, -1 /* 29868 8004E468 0601FFFD */ bgez $s0, .L8004E460 /* 2986C 8004E46C 2442FFFF */ addiu $v0, $v0, -1 /* 29870 8004E470 0000802D */ daddu $s0, $zero, $zero /* 29874 8004E474 0220182D */ daddu $v1, $s1, $zero /* 29878 8004E478 A2200220 */ sb $zero, 0x220($s1) /* 2987C 8004E47C AE200018 */ sw $zero, 0x18($s1) .L8004E480: /* 29880 8004E480 8E220068 */ lw $v0, 0x68($s1) /* 29884 8004E484 26100001 */ addiu $s0, $s0, 1 /* 29888 8004E488 AC6200D8 */ sw $v0, 0xd8($v1) /* 2988C 8004E48C 2A020020 */ slti $v0, $s0, 0x20 /* 29890 8004E490 1440FFFB */ bnez $v0, .L8004E480 /* 29894 8004E494 24630004 */ addiu $v1, $v1, 4 /* 29898 8004E498 8E240068 */ lw $a0, 0x68($s1) /* 2989C 8004E49C 24050001 */ addiu $a1, $zero, 1 /* 298A0 8004E4A0 3C07F000 */ lui $a3, 0xf000 /* 298A4 8004E4A4 3C063000 */ lui $a2, 0x3000 .L8004E4A8: /* 298A8 8004E4A8 8C830000 */ lw $v1, ($a0) /* 298AC 8004E4AC 14600003 */ bnez $v1, .L8004E4BC /* 298B0 8004E4B0 24840004 */ addiu $a0, $a0, 4 /* 298B4 8004E4B4 08013935 */ j .L8004E4D4 /* 298B8 8004E4B8 0000282D */ daddu $a1, $zero, $zero .L8004E4BC: /* 298BC 8004E4BC 00671024 */ and $v0, $v1, $a3 /* 298C0 8004E4C0 14460004 */ bne $v0, $a2, .L8004E4D4 /* 298C4 8004E4C4 3062001F */ andi $v0, $v1, 0x1f /* 298C8 8004E4C8 00021080 */ sll $v0, $v0, 2 /* 298CC 8004E4CC 02221021 */ addu $v0, $s1, $v0 /* 298D0 8004E4D0 AC4400D8 */ sw $a0, 0xd8($v0) .L8004E4D4: /* 298D4 8004E4D4 14A0FFF4 */ bnez $a1, .L8004E4A8 /* 298D8 8004E4D8 24020002 */ addiu $v0, $zero, 2 /* 298DC 8004E4DC A2220221 */ sb $v0, 0x221($s1) /* 298E0 8004E4E0 8FBF0018 */ lw $ra, 0x18($sp) /* 298E4 8004E4E4 8FB10014 */ lw $s1, 0x14($sp) /* 298E8 8004E4E8 8FB00010 */ lw $s0, 0x10($sp) /* 298EC 8004E4EC 03E00008 */ jr $ra /* 298F0 8004E4F0 27BD0020 */ addiu $sp, $sp, 0x20