.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8024150C_ECB20C /* ECB20C 8024150C 27BDFFB0 */ addiu $sp, $sp, -0x50 /* ECB210 80241510 AFB50044 */ sw $s5, 0x44($sp) /* ECB214 80241514 0080A82D */ daddu $s5, $a0, $zero /* ECB218 80241518 AFBF0048 */ sw $ra, 0x48($sp) /* ECB21C 8024151C AFB40040 */ sw $s4, 0x40($sp) /* ECB220 80241520 AFB3003C */ sw $s3, 0x3c($sp) /* ECB224 80241524 AFB20038 */ sw $s2, 0x38($sp) /* ECB228 80241528 AFB10034 */ sw $s1, 0x34($sp) /* ECB22C 8024152C AFB00030 */ sw $s0, 0x30($sp) /* ECB230 80241530 8EB10148 */ lw $s1, 0x148($s5) /* ECB234 80241534 86240008 */ lh $a0, 8($s1) /* ECB238 80241538 0C00F92F */ jal func_8003E4BC /* ECB23C 8024153C 00A0802D */ daddu $s0, $a1, $zero /* ECB240 80241540 8EA3000C */ lw $v1, 0xc($s5) /* ECB244 80241544 02A0202D */ daddu $a0, $s5, $zero /* ECB248 80241548 8C650000 */ lw $a1, ($v1) /* ECB24C 8024154C 0C0B53A3 */ jal func_802D4E8C /* ECB250 80241550 0040902D */ daddu $s2, $v0, $zero /* ECB254 80241554 AFA00010 */ sw $zero, 0x10($sp) /* ECB258 80241558 8E2300D0 */ lw $v1, 0xd0($s1) /* ECB25C 8024155C 8C630030 */ lw $v1, 0x30($v1) /* ECB260 80241560 AFA30014 */ sw $v1, 0x14($sp) /* ECB264 80241564 8E2300D0 */ lw $v1, 0xd0($s1) /* ECB268 80241568 8C63001C */ lw $v1, 0x1c($v1) /* ECB26C 8024156C AFA30018 */ sw $v1, 0x18($sp) /* ECB270 80241570 8E2300D0 */ lw $v1, 0xd0($s1) /* ECB274 80241574 8C630024 */ lw $v1, 0x24($v1) /* ECB278 80241578 AFA3001C */ sw $v1, 0x1c($sp) /* ECB27C 8024157C 8E2300D0 */ lw $v1, 0xd0($s1) /* ECB280 80241580 8C630028 */ lw $v1, 0x28($v1) /* ECB284 80241584 AFA30020 */ sw $v1, 0x20($sp) /* ECB288 80241588 8E2300D0 */ lw $v1, 0xd0($s1) /* ECB28C 8024158C 3C0142C8 */ lui $at, 0x42c8 /* ECB290 80241590 44810000 */ mtc1 $at, $f0 /* ECB294 80241594 8C63002C */ lw $v1, 0x2c($v1) /* ECB298 80241598 E7A00028 */ swc1 $f0, 0x28($sp) /* ECB29C 8024159C A7A0002C */ sh $zero, 0x2c($sp) /* ECB2A0 802415A0 AFA30024 */ sw $v1, 0x24($sp) /* ECB2A4 802415A4 C6400038 */ lwc1 $f0, 0x38($s2) /* ECB2A8 802415A8 E6200108 */ swc1 $f0, 0x108($s1) /* ECB2AC 802415AC C640003C */ lwc1 $f0, 0x3c($s2) /* ECB2B0 802415B0 27B40010 */ addiu $s4, $sp, 0x10 /* ECB2B4 802415B4 E620010C */ swc1 $f0, 0x10c($s1) /* ECB2B8 802415B8 3C013C23 */ lui $at, 0x3c23 /* ECB2BC 802415BC 3421D70A */ ori $at, $at, 0xd70a /* ECB2C0 802415C0 44810000 */ mtc1 $at, $f0 /* ECB2C4 802415C4 C6420040 */ lwc1 $f2, 0x40($s2) /* ECB2C8 802415C8 0040982D */ daddu $s3, $v0, $zero /* ECB2CC 802415CC E6200114 */ swc1 $f0, 0x114($s1) /* ECB2D0 802415D0 E6200118 */ swc1 $f0, 0x118($s1) /* ECB2D4 802415D4 16000005 */ bnez $s0, .L802415EC /* ECB2D8 802415D8 E6220110 */ swc1 $f2, 0x110($s1) /* ECB2DC 802415DC 8E2200B0 */ lw $v0, 0xb0($s1) /* ECB2E0 802415E0 30420004 */ andi $v0, $v0, 4 /* ECB2E4 802415E4 1040001F */ beqz $v0, .L80241664 /* ECB2E8 802415E8 00000000 */ nop .L802415EC: /* ECB2EC 802415EC 2404F7FF */ addiu $a0, $zero, -0x801 /* ECB2F0 802415F0 AEA00070 */ sw $zero, 0x70($s5) /* ECB2F4 802415F4 A640008E */ sh $zero, 0x8e($s2) /* ECB2F8 802415F8 8E2200CC */ lw $v0, 0xcc($s1) /* ECB2FC 802415FC 8E430000 */ lw $v1, ($s2) /* ECB300 80241600 8C420000 */ lw $v0, ($v0) /* ECB304 80241604 00641824 */ and $v1, $v1, $a0 /* ECB308 80241608 AE430000 */ sw $v1, ($s2) /* ECB30C 8024160C AE420028 */ sw $v0, 0x28($s2) /* ECB310 80241610 8E2200D0 */ lw $v0, 0xd0($s1) /* ECB314 80241614 8C420034 */ lw $v0, 0x34($v0) /* ECB318 80241618 54400005 */ bnel $v0, $zero, .L80241630 /* ECB31C 8024161C 2402FDFF */ addiu $v0, $zero, -0x201 /* ECB320 80241620 34620200 */ ori $v0, $v1, 0x200 /* ECB324 80241624 2403FFF7 */ addiu $v1, $zero, -9 /* ECB328 80241628 0809058E */ j .L80241638 /* ECB32C 8024162C 00431024 */ and $v0, $v0, $v1 .L80241630: /* ECB330 80241630 00621024 */ and $v0, $v1, $v0 /* ECB334 80241634 34420008 */ ori $v0, $v0, 8 .L80241638: /* ECB338 80241638 AE420000 */ sw $v0, ($s2) /* ECB33C 8024163C 8E2200B0 */ lw $v0, 0xb0($s1) /* ECB340 80241640 30420004 */ andi $v0, $v0, 4 /* ECB344 80241644 10400007 */ beqz $v0, .L80241664 /* ECB348 80241648 24020063 */ addiu $v0, $zero, 0x63 /* ECB34C 8024164C AEA20070 */ sw $v0, 0x70($s5) /* ECB350 80241650 AEA00074 */ sw $zero, 0x74($s5) /* ECB354 80241654 8E2200B0 */ lw $v0, 0xb0($s1) /* ECB358 80241658 2403FFFB */ addiu $v1, $zero, -5 /* ECB35C 8024165C 00431024 */ and $v0, $v0, $v1 /* ECB360 80241660 AE2200B0 */ sw $v0, 0xb0($s1) .L80241664: /* ECB364 80241664 8EA30070 */ lw $v1, 0x70($s5) /* ECB368 80241668 2C620064 */ sltiu $v0, $v1, 0x64 /* ECB36C 8024166C 10400036 */ beqz $v0, .L80241748 /* ECB370 80241670 00031080 */ sll $v0, $v1, 2 /* ECB374 80241674 3C018024 */ lui $at, %hi(jtbl_80246160_ECFE60) /* ECB378 80241678 00220821 */ addu $at, $at, $v0 /* ECB37C 8024167C 8C226160 */ lw $v0, %lo(jtbl_80246160_ECFE60)($at) /* ECB380 80241680 00400008 */ jr $v0 /* ECB384 80241684 00000000 */ nop glabel L80241688_ECB388 /* ECB388 80241688 02A0202D */ daddu $a0, $s5, $zero /* ECB38C 8024168C 0260282D */ daddu $a1, $s3, $zero /* ECB390 80241690 0C013670 */ jal func_8004D9C0 /* ECB394 80241694 0280302D */ daddu $a2, $s4, $zero glabel L80241698_ECB398 /* ECB398 80241698 02A0202D */ daddu $a0, $s5, $zero /* ECB39C 8024169C 0260282D */ daddu $a1, $s3, $zero /* ECB3A0 802416A0 0C0136B6 */ jal func_8004DAD8 /* ECB3A4 802416A4 0280302D */ daddu $a2, $s4, $zero /* ECB3A8 802416A8 080905D2 */ j .L80241748 /* ECB3AC 802416AC 00000000 */ nop glabel L802416B0_ECB3B0 /* ECB3B0 802416B0 02A0202D */ daddu $a0, $s5, $zero /* ECB3B4 802416B4 0260282D */ daddu $a1, $s3, $zero /* ECB3B8 802416B8 0C0137D9 */ jal func_8004DF64 /* ECB3BC 802416BC 0280302D */ daddu $a2, $s4, $zero glabel L802416C0_ECB3C0 /* ECB3C0 802416C0 02A0202D */ daddu $a0, $s5, $zero /* ECB3C4 802416C4 0260282D */ daddu $a1, $s3, $zero /* ECB3C8 802416C8 0C013809 */ jal func_8004E024 /* ECB3CC 802416CC 0280302D */ daddu $a2, $s4, $zero /* ECB3D0 802416D0 080905D2 */ j .L80241748 /* ECB3D4 802416D4 00000000 */ nop glabel L802416D8_ECB3D8 /* ECB3D8 802416D8 02A0202D */ daddu $a0, $s5, $zero /* ECB3DC 802416DC 0260282D */ daddu $a1, $s3, $zero /* ECB3E0 802416E0 0C013897 */ jal func_8004E25C /* ECB3E4 802416E4 0280302D */ daddu $a2, $s4, $zero glabel L802416E8_ECB3E8 /* ECB3E8 802416E8 02A0202D */ daddu $a0, $s5, $zero /* ECB3EC 802416EC 0260282D */ daddu $a1, $s3, $zero /* ECB3F0 802416F0 0C0138BB */ jal func_8004E2EC /* ECB3F4 802416F4 0280302D */ daddu $a2, $s4, $zero /* ECB3F8 802416F8 080905D2 */ j .L80241748 /* ECB3FC 802416FC 00000000 */ nop glabel L80241700_ECB400 /* ECB400 80241700 02A0202D */ daddu $a0, $s5, $zero /* ECB404 80241704 0260282D */ daddu $a1, $s3, $zero /* ECB408 80241708 0C090360 */ jal func_80240D80_ECAA80 /* ECB40C 8024170C 0280302D */ daddu $a2, $s4, $zero glabel L80241710_ECB410 /* ECB410 80241710 02A0202D */ daddu $a0, $s5, $zero /* ECB414 80241714 0260282D */ daddu $a1, $s3, $zero /* ECB418 80241718 0C0904D9 */ jal func_80241364_ECB064 /* ECB41C 8024171C 0280302D */ daddu $a2, $s4, $zero /* ECB420 80241720 080905D2 */ j .L80241748 /* ECB424 80241724 00000000 */ nop glabel L80241728_ECB428 /* ECB428 80241728 02A0202D */ daddu $a0, $s5, $zero /* ECB42C 8024172C 0260282D */ daddu $a1, $s3, $zero /* ECB430 80241730 0C090532 */ jal func_802414C8_ECB1C8 /* ECB434 80241734 0280302D */ daddu $a2, $s4, $zero /* ECB438 80241738 080905D2 */ j .L80241748 /* ECB43C 8024173C 00000000 */ nop glabel L80241740_ECB440 /* ECB440 80241740 0C013AE3 */ jal func_8004EB8C /* ECB444 80241744 02A0202D */ daddu $a0, $s5, $zero .L80241748: glabel L80241748_ECB448 /* ECB448 80241748 8FBF0048 */ lw $ra, 0x48($sp) /* ECB44C 8024174C 8FB50044 */ lw $s5, 0x44($sp) /* ECB450 80241750 8FB40040 */ lw $s4, 0x40($sp) /* ECB454 80241754 8FB3003C */ lw $s3, 0x3c($sp) /* ECB458 80241758 8FB20038 */ lw $s2, 0x38($sp) /* ECB45C 8024175C 8FB10034 */ lw $s1, 0x34($sp) /* ECB460 80241760 8FB00030 */ lw $s0, 0x30($sp) /* ECB464 80241764 0000102D */ daddu $v0, $zero, $zero /* ECB468 80241768 03E00008 */ jr $ra /* ECB46C 8024176C 27BD0050 */ addiu $sp, $sp, 0x50