.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_E0080000 /* 3812C0 E0080000 27BDFFA8 */ addiu $sp, $sp, -0x58 /* 3812C4 E0080004 F7B40040 */ sdc1 $f20, 0x40($sp) /* 3812C8 E0080008 4485A000 */ mtc1 $a1, $f20 /* 3812CC E008000C F7B60048 */ sdc1 $f22, 0x48($sp) /* 3812D0 E0080010 4486B000 */ mtc1 $a2, $f22 /* 3812D4 E0080014 AFB30034 */ sw $s3, 0x34($sp) /* 3812D8 E0080018 0080982D */ daddu $s3, $a0, $zero /* 3812DC E008001C F7B80050 */ sdc1 $f24, 0x50($sp) /* 3812E0 E0080020 4487C000 */ mtc1 $a3, $f24 /* 3812E4 E0080024 27A40010 */ addiu $a0, $sp, 0x10 /* 3812E8 E0080028 AFB00028 */ sw $s0, 0x28($sp) /* 3812EC E008002C 8FB00068 */ lw $s0, 0x68($sp) /* 3812F0 E0080030 3C02E008 */ lui $v0, 0xe008 /* 3812F4 E0080034 244201C8 */ addiu $v0, $v0, 0x1c8 /* 3812F8 E0080038 AFA20018 */ sw $v0, 0x18($sp) /* 3812FC E008003C 3C02E008 */ lui $v0, 0xe008 /* 381300 E0080040 244201D0 */ addiu $v0, $v0, 0x1d0 /* 381304 E0080044 AFA2001C */ sw $v0, 0x1c($sp) /* 381308 E0080048 3C02E008 */ lui $v0, 0xe008 /* 38130C E008004C 24420424 */ addiu $v0, $v0, 0x424 /* 381310 E0080050 AFA20020 */ sw $v0, 0x20($sp) /* 381314 E0080054 3C02E008 */ lui $v0, 0xe008 /* 381318 E0080058 2442042C */ addiu $v0, $v0, 0x42c /* 38131C E008005C AFA20024 */ sw $v0, 0x24($sp) /* 381320 E0080060 24020040 */ addiu $v0, $zero, 0x40 /* 381324 E0080064 AFBF0038 */ sw $ra, 0x38($sp) /* 381328 E0080068 AFB20030 */ sw $s2, 0x30($sp) /* 38132C E008006C AFB1002C */ sw $s1, 0x2c($sp) /* 381330 E0080070 AFA00010 */ sw $zero, 0x10($sp) /* 381334 E0080074 0C080124 */ jal func_E0200490 /* 381338 E0080078 AFA20014 */ sw $v0, 0x14($sp) /* 38133C E008007C 24040090 */ addiu $a0, $zero, 0x90 /* 381340 E0080080 24120002 */ addiu $s2, $zero, 2 /* 381344 E0080084 0040882D */ daddu $s1, $v0, $zero /* 381348 E0080088 0C08012C */ jal func_E02004B0 /* 38134C E008008C AE320008 */ sw $s2, 8($s1) /* 381350 E0080090 0040182D */ daddu $v1, $v0, $zero /* 381354 E0080094 14600003 */ bnez $v1, .LE00800A4 /* 381358 E0080098 AE23000C */ sw $v1, 0xc($s1) .LE008009C: /* 38135C E008009C 08020027 */ j .LE008009C /* 381360 E00800A0 00000000 */ nop .LE00800A4: /* 381364 E00800A4 2402002E */ addiu $v0, $zero, 0x2e /* 381368 E00800A8 AC730000 */ sw $s3, ($v1) /* 38136C E00800AC E4740004 */ swc1 $f20, 4($v1) /* 381370 E00800B0 E4760008 */ swc1 $f22, 8($v1) /* 381374 E00800B4 E478000C */ swc1 $f24, 0xc($v1) /* 381378 E00800B8 AC62002C */ sw $v0, 0x2c($v1) /* 38137C E00800BC 06010005 */ bgez $s0, .LE00800D4 /* 381380 E00800C0 AC600030 */ sw $zero, 0x30($v1) /* 381384 E00800C4 24020001 */ addiu $v0, $zero, 1 /* 381388 E00800C8 AC620044 */ sw $v0, 0x44($v1) /* 38138C E00800CC 08020036 */ j .LE00800D8 /* 381390 E00800D0 00108023 */ negu $s0, $s0 .LE00800D4: /* 381394 E00800D4 AC600044 */ sw $zero, 0x44($v1) .LE00800D8: /* 381398 E00800D8 AC700040 */ sw $s0, 0x40($v1) /* 38139C E00800DC 24050001 */ addiu $a1, $zero, 1 /* 3813A0 E00800E0 00B2102A */ slt $v0, $a1, $s2 /* 3813A4 E00800E4 1040002D */ beqz $v0, .LE008019C /* 3813A8 E00800E8 24630048 */ addiu $v1, $v1, 0x48 /* 3813AC E00800EC 00A0382D */ daddu $a3, $a1, $zero /* 3813B0 E00800F0 3C013FB3 */ lui $at, 0x3fb3 /* 3813B4 E00800F4 34213333 */ ori $at, $at, 0x3333 /* 3813B8 E00800F8 44811000 */ mtc1 $at, $f2 /* 3813BC E00800FC 240600FF */ addiu $a2, $zero, 0xff /* 3813C0 E0080100 24640028 */ addiu $a0, $v1, 0x28 .LE0080104: /* 3813C4 E0080104 AC80FFDC */ sw $zero, -0x24($a0) /* 3813C8 E0080108 AC80FFE0 */ sw $zero, -0x20($a0) /* 3813CC E008010C AC80FFE4 */ sw $zero, -0x1c($a0) /* 3813D0 E0080110 AC80FFFC */ sw $zero, -4($a0) /* 3813D4 E0080114 AC80FFE8 */ sw $zero, -0x18($a0) /* 3813D8 E0080118 AC80FFF0 */ sw $zero, -0x10($a0) /* 3813DC E008011C AC80FFF8 */ sw $zero, -8($a0) /* 3813E0 E0080120 14A70007 */ bne $a1, $a3, .LE0080140 /* 3813E4 E0080124 AC80FFF4 */ sw $zero, -0xc($a0) /* 3813E8 E0080128 AC80FFDC */ sw $zero, -0x24($a0) /* 3813EC E008012C AC80000C */ sw $zero, 0xc($a0) /* 3813F0 E0080130 AC800010 */ sw $zero, 0x10($a0) /* 3813F4 E0080134 AC800014 */ sw $zero, 0x14($a0) /* 3813F8 E0080138 08020061 */ j .LE0080184 /* 3813FC E008013C E482FFEC */ swc1 $f2, -0x14($a0) .LE0080140: /* 381400 E0080140 30A30001 */ andi $v1, $a1, 1 /* 381404 E0080144 00031840 */ sll $v1, $v1, 1 /* 381408 E0080148 2463FFFF */ addiu $v1, $v1, -1 /* 38140C E008014C 24A2FFFF */ addiu $v0, $a1, -1 /* 381410 E0080150 00021043 */ sra $v0, $v0, 1 /* 381414 E0080154 00620018 */ mult $v1, $v0 /* 381418 E0080158 24A2000A */ addiu $v0, $a1, 0xa /* 38141C E008015C E482FFEC */ swc1 $f2, -0x14($a0) /* 381420 E0080160 AC82000C */ sw $v0, 0xc($a0) /* 381424 E0080164 AC800010 */ sw $zero, 0x10($a0) /* 381428 E0080168 AC800014 */ sw $zero, 0x14($a0) /* 38142C E008016C 00004012 */ mflo $t0 /* 381430 E0080170 00081080 */ sll $v0, $t0, 2 /* 381434 E0080174 44820000 */ mtc1 $v0, $f0 /* 381438 E0080178 00000000 */ nop /* 38143C E008017C 46800020 */ cvt.s.w $f0, $f0 /* 381440 E0080180 E480FFDC */ swc1 $f0, -0x24($a0) .LE0080184: /* 381444 E0080184 24A50001 */ addiu $a1, $a1, 1 /* 381448 E0080188 AC800004 */ sw $zero, 4($a0) /* 38144C E008018C AC860000 */ sw $a2, ($a0) /* 381450 E0080190 00B2102A */ slt $v0, $a1, $s2 /* 381454 E0080194 1440FFDB */ bnez $v0, .LE0080104 /* 381458 E0080198 24840048 */ addiu $a0, $a0, 0x48 .LE008019C: /* 38145C E008019C 0220102D */ daddu $v0, $s1, $zero /* 381460 E00801A0 8FBF0038 */ lw $ra, 0x38($sp) /* 381464 E00801A4 8FB30034 */ lw $s3, 0x34($sp) /* 381468 E00801A8 8FB20030 */ lw $s2, 0x30($sp) /* 38146C E00801AC 8FB1002C */ lw $s1, 0x2c($sp) /* 381470 E00801B0 8FB00028 */ lw $s0, 0x28($sp) /* 381474 E00801B4 D7B80050 */ ldc1 $f24, 0x50($sp) /* 381478 E00801B8 D7B60048 */ ldc1 $f22, 0x48($sp) /* 38147C E00801BC D7B40040 */ ldc1 $f20, 0x40($sp) /* 381480 E00801C0 03E00008 */ jr $ra /* 381484 E00801C4 27BD0058 */ addiu $sp, $sp, 0x58