papermario/asm/nonmatchings/code_362a0_len_2f70/load_hit_data.s
2020-09-23 23:16:13 -04:00

360 lines
18 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel load_hit_data
/* 3663C 8005B23C 27BDFF90 */ addiu $sp, $sp, -0x70
/* 36640 8005B240 AFB60038 */ sw $s6, 0x38($sp)
/* 36644 8005B244 0000B02D */ daddu $s6, $zero, $zero
/* 36648 8005B248 AFBE0040 */ sw $fp, 0x40($sp)
/* 3664C 8005B24C 02C0F02D */ daddu $fp, $s6, $zero
/* 36650 8005B250 AFBF0044 */ sw $ra, 0x44($sp)
/* 36654 8005B254 AFB7003C */ sw $s7, 0x3c($sp)
/* 36658 8005B258 AFB50034 */ sw $s5, 0x34($sp)
/* 3665C 8005B25C AFB40030 */ sw $s4, 0x30($sp)
/* 36660 8005B260 AFB3002C */ sw $s3, 0x2c($sp)
/* 36664 8005B264 AFB20028 */ sw $s2, 0x28($sp)
/* 36668 8005B268 AFB10024 */ sw $s1, 0x24($sp)
/* 3666C 8005B26C AFB00020 */ sw $s0, 0x20($sp)
/* 36670 8005B270 F7BC0068 */ sdc1 $f28, 0x68($sp)
/* 36674 8005B274 F7BA0060 */ sdc1 $f26, 0x60($sp)
/* 36678 8005B278 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 3667C 8005B27C F7B60050 */ sdc1 $f22, 0x50($sp)
/* 36680 8005B280 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 36684 8005B284 AFA40070 */ sw $a0, 0x70($sp)
/* 36688 8005B288 0C016AFA */ jal get_current_map_header
/* 3668C 8005B28C AFA50074 */ sw $a1, 0x74($sp)
/* 36690 8005B290 8FA80070 */ lw $t0, 0x70($sp)
/* 36694 8005B294 11000006 */ beqz $t0, .L8005B2B0
/* 36698 8005B298 0040182D */ daddu $v1, $v0, $zero
/* 3669C 8005B29C 24020001 */ addiu $v0, $zero, 1
/* 366A0 8005B2A0 1102000B */ beq $t0, $v0, .L8005B2D0
/* 366A4 8005B2A4 0000A02D */ daddu $s4, $zero, $zero
/* 366A8 8005B2A8 08016CBC */ j .L8005B2F0
/* 366AC 8005B2AC 00000000 */ nop
.L8005B2B0:
/* 366B0 8005B2B0 8C620004 */ lw $v0, 4($v1)
/* 366B4 8005B2B4 10400121 */ beqz $v0, .L8005B73C
/* 366B8 8005B2B8 00000000 */ nop
/* 366BC 8005B2BC 8FA80074 */ lw $t0, 0x74($sp)
/* 366C0 8005B2C0 3C1E800B */ lui $fp, 0x800b
/* 366C4 8005B2C4 27DE42E0 */ addiu $fp, $fp, 0x42e0
/* 366C8 8005B2C8 08016CBB */ j .L8005B2EC
/* 366CC 8005B2CC 0102B021 */ addu $s6, $t0, $v0
.L8005B2D0:
/* 366D0 8005B2D0 8C620008 */ lw $v0, 8($v1)
/* 366D4 8005B2D4 10400119 */ beqz $v0, .L8005B73C
/* 366D8 8005B2D8 00000000 */ nop
/* 366DC 8005B2DC 8FA80074 */ lw $t0, 0x74($sp)
/* 366E0 8005B2E0 0102B021 */ addu $s6, $t0, $v0
/* 366E4 8005B2E4 3C1E800E */ lui $fp, 0x800e
/* 366E8 8005B2E8 27DE91D0 */ addiu $fp, $fp, -0x6e30
.L8005B2EC:
/* 366EC 8005B2EC 0000A02D */ daddu $s4, $zero, $zero
.L8005B2F0:
/* 366F0 8005B2F0 8EC20014 */ lw $v0, 0x14($s6)
/* 366F4 8005B2F4 8FA80074 */ lw $t0, 0x74($sp)
/* 366F8 8005B2F8 86C40010 */ lh $a0, 0x10($s6)
/* 366FC 8005B2FC 01028021 */ addu $s0, $t0, $v0
/* 36700 8005B300 0C00AB6C */ jal collision_heap_malloc
/* 36704 8005B304 00042080 */ sll $a0, $a0, 2
/* 36708 8005B308 AFC20008 */ sw $v0, 8($fp)
/* 3670C 8005B30C 86C30010 */ lh $v1, 0x10($s6)
/* 36710 8005B310 18600009 */ blez $v1, .L8005B338
/* 36714 8005B314 0040202D */ daddu $a0, $v0, $zero
.L8005B318:
/* 36718 8005B318 8E020000 */ lw $v0, ($s0)
/* 3671C 8005B31C 26100004 */ addiu $s0, $s0, 4
/* 36720 8005B320 26940001 */ addiu $s4, $s4, 1
/* 36724 8005B324 AC820000 */ sw $v0, ($a0)
/* 36728 8005B328 86C20010 */ lh $v0, 0x10($s6)
/* 3672C 8005B32C 0282102A */ slt $v0, $s4, $v0
/* 36730 8005B330 1440FFF9 */ bnez $v0, .L8005B318
/* 36734 8005B334 24840004 */ addiu $a0, $a0, 4
.L8005B338:
/* 36738 8005B338 0000A02D */ daddu $s4, $zero, $zero
/* 3673C 8005B33C 8EC2000C */ lw $v0, 0xc($s6)
/* 36740 8005B340 8FA80074 */ lw $t0, 0x74($sp)
/* 36744 8005B344 86C30008 */ lh $v1, 8($s6)
/* 36748 8005B348 01028021 */ addu $s0, $t0, $v0
/* 3674C 8005B34C 00032040 */ sll $a0, $v1, 1
/* 36750 8005B350 00832021 */ addu $a0, $a0, $v1
/* 36754 8005B354 0C00AB6C */ jal collision_heap_malloc
/* 36758 8005B358 00042080 */ sll $a0, $a0, 2
/* 3675C 8005B35C AFC20000 */ sw $v0, ($fp)
/* 36760 8005B360 86C30008 */ lh $v1, 8($s6)
/* 36764 8005B364 1860001A */ blez $v1, .L8005B3D0
/* 36768 8005B368 0040282D */ daddu $a1, $v0, $zero
/* 3676C 8005B36C 26040004 */ addiu $a0, $s0, 4
/* 36770 8005B370 24A30008 */ addiu $v1, $a1, 8
.L8005B374:
/* 36774 8005B374 86020000 */ lh $v0, ($s0)
/* 36778 8005B378 26100006 */ addiu $s0, $s0, 6
/* 3677C 8005B37C 26940001 */ addiu $s4, $s4, 1
/* 36780 8005B380 44820000 */ mtc1 $v0, $f0
/* 36784 8005B384 00000000 */ nop
/* 36788 8005B388 46800020 */ cvt.s.w $f0, $f0
/* 3678C 8005B38C E4A00000 */ swc1 $f0, ($a1)
/* 36790 8005B390 8482FFFE */ lh $v0, -2($a0)
/* 36794 8005B394 24A5000C */ addiu $a1, $a1, 0xc
/* 36798 8005B398 44820000 */ mtc1 $v0, $f0
/* 3679C 8005B39C 00000000 */ nop
/* 367A0 8005B3A0 46800020 */ cvt.s.w $f0, $f0
/* 367A4 8005B3A4 E460FFFC */ swc1 $f0, -4($v1)
/* 367A8 8005B3A8 84820000 */ lh $v0, ($a0)
/* 367AC 8005B3AC 24840006 */ addiu $a0, $a0, 6
/* 367B0 8005B3B0 44820000 */ mtc1 $v0, $f0
/* 367B4 8005B3B4 00000000 */ nop
/* 367B8 8005B3B8 46800020 */ cvt.s.w $f0, $f0
/* 367BC 8005B3BC E4600000 */ swc1 $f0, ($v1)
/* 367C0 8005B3C0 86C20008 */ lh $v0, 8($s6)
/* 367C4 8005B3C4 0282102A */ slt $v0, $s4, $v0
/* 367C8 8005B3C8 1440FFEA */ bnez $v0, .L8005B374
/* 367CC 8005B3CC 2463000C */ addiu $v1, $v1, 0xc
.L8005B3D0:
/* 367D0 8005B3D0 8EC20004 */ lw $v0, 4($s6)
/* 367D4 8005B3D4 8FA80074 */ lw $t0, 0x74($sp)
/* 367D8 8005B3D8 86C30000 */ lh $v1, ($s6)
/* 367DC 8005B3DC 01021021 */ addu $v0, $t0, $v0
/* 367E0 8005B3E0 000320C0 */ sll $a0, $v1, 3
/* 367E4 8005B3E4 00832023 */ subu $a0, $a0, $v1
/* 367E8 8005B3E8 00042080 */ sll $a0, $a0, 2
/* 367EC 8005B3EC 0C00AB6C */ jal collision_heap_malloc
/* 367F0 8005B3F0 AFA20010 */ sw $v0, 0x10($sp)
/* 367F4 8005B3F4 AFC20004 */ sw $v0, 4($fp)
/* 367F8 8005B3F8 96C30000 */ lhu $v1, ($s6)
/* 367FC 8005B3FC 0000A02D */ daddu $s4, $zero, $zero
/* 36800 8005B400 A7C3000C */ sh $v1, 0xc($fp)
/* 36804 8005B404 86C30000 */ lh $v1, ($s6)
/* 36808 8005B408 186000CC */ blez $v1, .L8005B73C
/* 3680C 8005B40C 0040382D */ daddu $a3, $v0, $zero
/* 36810 8005B410 24F20010 */ addiu $s2, $a3, 0x10
/* 36814 8005B414 8FA80010 */ lw $t0, 0x10($sp)
/* 36818 8005B418 3C013F80 */ lui $at, 0x3f80
/* 3681C 8005B41C 4481D000 */ mtc1 $at, $f26
/* 36820 8005B420 4480E000 */ mtc1 $zero, $f28
/* 36824 8005B424 25130006 */ addiu $s3, $t0, 6
.L8005B428:
/* 36828 8005B428 ACE00000 */ sw $zero, ($a3)
/* 3682C 8005B42C 9662FFFC */ lhu $v0, -4($s3)
/* 36830 8005B430 A642FFF4 */ sh $v0, -0xc($s2)
/* 36834 8005B434 9662FFFE */ lhu $v0, -2($s3)
/* 36838 8005B438 A642FFF6 */ sh $v0, -0xa($s2)
/* 3683C 8005B43C 96620000 */ lhu $v0, ($s3)
/* 36840 8005B440 A642FFFA */ sh $v0, -6($s2)
/* 36844 8005B444 00021400 */ sll $v0, $v0, 0x10
/* 36848 8005B448 504000B3 */ beql $v0, $zero, .L8005B718
/* 3684C 8005B44C 2673000C */ addiu $s3, $s3, 0xc
/* 36850 8005B450 86640000 */ lh $a0, ($s3)
/* 36854 8005B454 AFA70018 */ sw $a3, 0x18($sp)
/* 36858 8005B458 0C00AB6C */ jal collision_heap_malloc
/* 3685C 8005B45C 00042180 */ sll $a0, $a0, 6
/* 36860 8005B460 0040B82D */ daddu $s7, $v0, $zero
/* 36864 8005B464 AE57FFFC */ sw $s7, -4($s2)
/* 36868 8005B468 8FA80010 */ lw $t0, 0x10($sp)
/* 3686C 8005B46C 85020000 */ lh $v0, ($t0)
/* 36870 8005B470 8FA70018 */ lw $a3, 0x18($sp)
/* 36874 8005B474 04410003 */ bgez $v0, .L8005B484
/* 36878 8005B478 00021080 */ sll $v0, $v0, 2
/* 3687C 8005B47C 08016D41 */ j .L8005B504
/* 36880 8005B480 AE400000 */ sw $zero, ($s2)
.L8005B484:
/* 36884 8005B484 8FC30008 */ lw $v1, 8($fp)
/* 36888 8005B488 00621821 */ addu $v1, $v1, $v0
/* 3688C 8005B48C AE430000 */ sw $v1, ($s2)
/* 36890 8005B490 8FA80070 */ lw $t0, 0x70($sp)
/* 36894 8005B494 1500001C */ bnez $t0, .L8005B508
/* 36898 8005B498 0000A82D */ daddu $s5, $zero, $zero
/* 3689C 8005B49C C4600000 */ lwc1 $f0, ($v1)
/* 368A0 8005B4A0 461A0001 */ sub.s $f0, $f0, $f26
/* 368A4 8005B4A4 E4600000 */ swc1 $f0, ($v1)
/* 368A8 8005B4A8 8E420000 */ lw $v0, ($s2)
/* 368AC 8005B4AC C4400004 */ lwc1 $f0, 4($v0)
/* 368B0 8005B4B0 461A0001 */ sub.s $f0, $f0, $f26
/* 368B4 8005B4B4 E4400004 */ swc1 $f0, 4($v0)
/* 368B8 8005B4B8 8E420000 */ lw $v0, ($s2)
/* 368BC 8005B4BC C4400008 */ lwc1 $f0, 8($v0)
/* 368C0 8005B4C0 461A0001 */ sub.s $f0, $f0, $f26
/* 368C4 8005B4C4 E4400008 */ swc1 $f0, 8($v0)
/* 368C8 8005B4C8 8E420000 */ lw $v0, ($s2)
/* 368CC 8005B4CC C440000C */ lwc1 $f0, 0xc($v0)
/* 368D0 8005B4D0 461A0000 */ add.s $f0, $f0, $f26
/* 368D4 8005B4D4 E440000C */ swc1 $f0, 0xc($v0)
/* 368D8 8005B4D8 8E420000 */ lw $v0, ($s2)
/* 368DC 8005B4DC C4400010 */ lwc1 $f0, 0x10($v0)
/* 368E0 8005B4E0 461A0000 */ add.s $f0, $f0, $f26
/* 368E4 8005B4E4 E4400010 */ swc1 $f0, 0x10($v0)
/* 368E8 8005B4E8 8E420000 */ lw $v0, ($s2)
/* 368EC 8005B4EC C4400014 */ lwc1 $f0, 0x14($v0)
/* 368F0 8005B4F0 461A0000 */ add.s $f0, $f0, $f26
/* 368F4 8005B4F4 E4400014 */ swc1 $f0, 0x14($v0)
/* 368F8 8005B4F8 8E420000 */ lw $v0, ($s2)
/* 368FC 8005B4FC 8C420018 */ lw $v0, 0x18($v0)
/* 36900 8005B500 ACE20000 */ sw $v0, ($a3)
.L8005B504:
/* 36904 8005B504 0000A82D */ daddu $s5, $zero, $zero
.L8005B508:
/* 36908 8005B508 8E620002 */ lw $v0, 2($s3)
/* 3690C 8005B50C 8FA80074 */ lw $t0, 0x74($sp)
/* 36910 8005B510 86630000 */ lh $v1, ($s3)
/* 36914 8005B514 1860007F */ blez $v1, .L8005B714
/* 36918 8005B518 01028821 */ addu $s1, $t0, $v0
/* 3691C 8005B51C 26F00038 */ addiu $s0, $s7, 0x38
.L8005B520:
/* 36920 8005B520 8E230000 */ lw $v1, ($s1)
/* 36924 8005B524 8FC40000 */ lw $a0, ($fp)
/* 36928 8005B528 306303FF */ andi $v1, $v1, 0x3ff
/* 3692C 8005B52C 00031040 */ sll $v0, $v1, 1
/* 36930 8005B530 00431021 */ addu $v0, $v0, $v1
/* 36934 8005B534 00021080 */ sll $v0, $v0, 2
/* 36938 8005B538 00822021 */ addu $a0, $a0, $v0
/* 3693C 8005B53C AEE40000 */ sw $a0, ($s7)
/* 36940 8005B540 8E220000 */ lw $v0, ($s1)
/* 36944 8005B544 8FC60000 */ lw $a2, ($fp)
/* 36948 8005B548 00021283 */ sra $v0, $v0, 0xa
/* 3694C 8005B54C 304203FF */ andi $v0, $v0, 0x3ff
/* 36950 8005B550 00021840 */ sll $v1, $v0, 1
/* 36954 8005B554 00621821 */ addu $v1, $v1, $v0
/* 36958 8005B558 00031880 */ sll $v1, $v1, 2
/* 3695C 8005B55C 00C33021 */ addu $a2, $a2, $v1
/* 36960 8005B560 AE06FFCC */ sw $a2, -0x34($s0)
/* 36964 8005B564 8E220000 */ lw $v0, ($s1)
/* 36968 8005B568 8FC50000 */ lw $a1, ($fp)
/* 3696C 8005B56C 00021503 */ sra $v0, $v0, 0x14
/* 36970 8005B570 304203FF */ andi $v0, $v0, 0x3ff
/* 36974 8005B574 00021840 */ sll $v1, $v0, 1
/* 36978 8005B578 00621821 */ addu $v1, $v1, $v0
/* 3697C 8005B57C 00031880 */ sll $v1, $v1, 2
/* 36980 8005B580 00A32821 */ addu $a1, $a1, $v1
/* 36984 8005B584 AE05FFD0 */ sw $a1, -0x30($s0)
/* 36988 8005B588 8E220000 */ lw $v0, ($s1)
/* 3698C 8005B58C 00021783 */ sra $v0, $v0, 0x1e
/* 36990 8005B590 30420001 */ andi $v0, $v0, 1
/* 36994 8005B594 A6020004 */ sh $v0, 4($s0)
/* 36998 8005B598 C4A00000 */ lwc1 $f0, ($a1)
/* 3699C 8005B59C C4820000 */ lwc1 $f2, ($a0)
/* 369A0 8005B5A0 46020001 */ sub.s $f0, $f0, $f2
/* 369A4 8005B5A4 E600FFD4 */ swc1 $f0, -0x2c($s0)
/* 369A8 8005B5A8 C4A00004 */ lwc1 $f0, 4($a1)
/* 369AC 8005B5AC C4820004 */ lwc1 $f2, 4($a0)
/* 369B0 8005B5B0 46020001 */ sub.s $f0, $f0, $f2
/* 369B4 8005B5B4 E600FFD8 */ swc1 $f0, -0x28($s0)
/* 369B8 8005B5B8 C4A00008 */ lwc1 $f0, 8($a1)
/* 369BC 8005B5BC C4820008 */ lwc1 $f2, 8($a0)
/* 369C0 8005B5C0 46020001 */ sub.s $f0, $f0, $f2
/* 369C4 8005B5C4 E600FFDC */ swc1 $f0, -0x24($s0)
/* 369C8 8005B5C8 C4800000 */ lwc1 $f0, ($a0)
/* 369CC 8005B5CC C4C20000 */ lwc1 $f2, ($a2)
/* 369D0 8005B5D0 46020001 */ sub.s $f0, $f0, $f2
/* 369D4 8005B5D4 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 369D8 8005B5D8 C4800004 */ lwc1 $f0, 4($a0)
/* 369DC 8005B5DC C4C20004 */ lwc1 $f2, 4($a2)
/* 369E0 8005B5E0 46020001 */ sub.s $f0, $f0, $f2
/* 369E4 8005B5E4 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 369E8 8005B5E8 C4800008 */ lwc1 $f0, 8($a0)
/* 369EC 8005B5EC C4C20008 */ lwc1 $f2, 8($a2)
/* 369F0 8005B5F0 46020001 */ sub.s $f0, $f0, $f2
/* 369F4 8005B5F4 E600FFE8 */ swc1 $f0, -0x18($s0)
/* 369F8 8005B5F8 C4C00000 */ lwc1 $f0, ($a2)
/* 369FC 8005B5FC C4A20000 */ lwc1 $f2, ($a1)
/* 36A00 8005B600 46020001 */ sub.s $f0, $f0, $f2
/* 36A04 8005B604 E600FFEC */ swc1 $f0, -0x14($s0)
/* 36A08 8005B608 C4C00004 */ lwc1 $f0, 4($a2)
/* 36A0C 8005B60C C4A20004 */ lwc1 $f2, 4($a1)
/* 36A10 8005B610 46020001 */ sub.s $f0, $f0, $f2
/* 36A14 8005B614 E600FFF0 */ swc1 $f0, -0x10($s0)
/* 36A18 8005B618 C60AFFD8 */ lwc1 $f10, -0x28($s0)
/* 36A1C 8005B61C C608FFE8 */ lwc1 $f8, -0x18($s0)
/* 36A20 8005B620 46085382 */ mul.s $f14, $f10, $f8
/* 36A24 8005B624 00000000 */ nop
/* 36A28 8005B628 C606FFDC */ lwc1 $f6, -0x24($s0)
/* 36A2C 8005B62C C604FFE4 */ lwc1 $f4, -0x1c($s0)
/* 36A30 8005B630 46043302 */ mul.s $f12, $f6, $f4
/* 36A34 8005B634 00000000 */ nop
/* 36A38 8005B638 C602FFE0 */ lwc1 $f2, -0x20($s0)
/* 36A3C 8005B63C 46023182 */ mul.s $f6, $f6, $f2
/* 36A40 8005B640 00000000 */ nop
/* 36A44 8005B644 C600FFD4 */ lwc1 $f0, -0x2c($s0)
/* 36A48 8005B648 46080202 */ mul.s $f8, $f0, $f8
/* 36A4C 8005B64C 00000000 */ nop
/* 36A50 8005B650 46040002 */ mul.s $f0, $f0, $f4
/* 36A54 8005B654 00000000 */ nop
/* 36A58 8005B658 46025282 */ mul.s $f10, $f10, $f2
/* 36A5C 8005B65C 00000000 */ nop
/* 36A60 8005B660 460C7601 */ sub.s $f24, $f14, $f12
/* 36A64 8005B664 4618C102 */ mul.s $f4, $f24, $f24
/* 36A68 8005B668 00000000 */ nop
/* 36A6C 8005B66C 46083501 */ sub.s $f20, $f6, $f8
/* 36A70 8005B670 4614A182 */ mul.s $f6, $f20, $f20
/* 36A74 8005B674 00000000 */ nop
/* 36A78 8005B678 460A0581 */ sub.s $f22, $f0, $f10
/* 36A7C 8005B67C 4616B202 */ mul.s $f8, $f22, $f22
/* 36A80 8005B680 00000000 */ nop
/* 36A84 8005B684 C4C20008 */ lwc1 $f2, 8($a2)
/* 36A88 8005B688 C4A00008 */ lwc1 $f0, 8($a1)
/* 36A8C 8005B68C 46001081 */ sub.s $f2, $f2, $f0
/* 36A90 8005B690 46062100 */ add.s $f4, $f4, $f6
/* 36A94 8005B694 46082300 */ add.s $f12, $f4, $f8
/* 36A98 8005B698 461C6032 */ c.eq.s $f12, $f28
/* 36A9C 8005B69C 00000000 */ nop
/* 36AA0 8005B6A0 4501000B */ bc1t .L8005B6D0
/* 36AA4 8005B6A4 E602FFF4 */ swc1 $f2, -0xc($s0)
/* 36AA8 8005B6A8 46006004 */ sqrt.s $f0, $f12
/* 36AAC 8005B6AC 46000032 */ c.eq.s $f0, $f0
/* 36AB0 8005B6B0 00000000 */ nop
/* 36AB4 8005B6B4 45030007 */ bc1tl .L8005B6D4
/* 36AB8 8005B6B8 4600D303 */ div.s $f12, $f26, $f0
/* 36ABC 8005B6BC 0C0187BC */ jal sqrtf
/* 36AC0 8005B6C0 AFA70018 */ sw $a3, 0x18($sp)
/* 36AC4 8005B6C4 8FA70018 */ lw $a3, 0x18($sp)
/* 36AC8 8005B6C8 08016DB5 */ j .L8005B6D4
/* 36ACC 8005B6CC 4600D303 */ div.s $f12, $f26, $f0
.L8005B6D0:
/* 36AD0 8005B6D0 4600E306 */ mov.s $f12, $f28
.L8005B6D4:
/* 36AD4 8005B6D4 460CC082 */ mul.s $f2, $f24, $f12
/* 36AD8 8005B6D8 00000000 */ nop
/* 36ADC 8005B6DC 460CA102 */ mul.s $f4, $f20, $f12
/* 36AE0 8005B6E0 00000000 */ nop
/* 36AE4 8005B6E4 26310004 */ addiu $s1, $s1, 4
/* 36AE8 8005B6E8 460CB002 */ mul.s $f0, $f22, $f12
/* 36AEC 8005B6EC 00000000 */ nop
/* 36AF0 8005B6F0 26F70040 */ addiu $s7, $s7, 0x40
/* 36AF4 8005B6F4 26B50001 */ addiu $s5, $s5, 1
/* 36AF8 8005B6F8 E602FFF8 */ swc1 $f2, -8($s0)
/* 36AFC 8005B6FC E604FFFC */ swc1 $f4, -4($s0)
/* 36B00 8005B700 E6000000 */ swc1 $f0, ($s0)
/* 36B04 8005B704 86620000 */ lh $v0, ($s3)
/* 36B08 8005B708 02A2102A */ slt $v0, $s5, $v0
/* 36B0C 8005B70C 1440FF84 */ bnez $v0, .L8005B520
/* 36B10 8005B710 26100040 */ addiu $s0, $s0, 0x40
.L8005B714:
/* 36B14 8005B714 2673000C */ addiu $s3, $s3, 0xc
.L8005B718:
/* 36B18 8005B718 2652001C */ addiu $s2, $s2, 0x1c
/* 36B1C 8005B71C 8FA80010 */ lw $t0, 0x10($sp)
/* 36B20 8005B720 2508000C */ addiu $t0, $t0, 0xc
/* 36B24 8005B724 AFA80010 */ sw $t0, 0x10($sp)
/* 36B28 8005B728 86C20000 */ lh $v0, ($s6)
/* 36B2C 8005B72C 26940001 */ addiu $s4, $s4, 1
/* 36B30 8005B730 0282102A */ slt $v0, $s4, $v0
/* 36B34 8005B734 1440FF3C */ bnez $v0, .L8005B428
/* 36B38 8005B738 24E7001C */ addiu $a3, $a3, 0x1c
.L8005B73C:
/* 36B3C 8005B73C 8FBF0044 */ lw $ra, 0x44($sp)
/* 36B40 8005B740 8FBE0040 */ lw $fp, 0x40($sp)
/* 36B44 8005B744 8FB7003C */ lw $s7, 0x3c($sp)
/* 36B48 8005B748 8FB60038 */ lw $s6, 0x38($sp)
/* 36B4C 8005B74C 8FB50034 */ lw $s5, 0x34($sp)
/* 36B50 8005B750 8FB40030 */ lw $s4, 0x30($sp)
/* 36B54 8005B754 8FB3002C */ lw $s3, 0x2c($sp)
/* 36B58 8005B758 8FB20028 */ lw $s2, 0x28($sp)
/* 36B5C 8005B75C 8FB10024 */ lw $s1, 0x24($sp)
/* 36B60 8005B760 8FB00020 */ lw $s0, 0x20($sp)
/* 36B64 8005B764 D7BC0068 */ ldc1 $f28, 0x68($sp)
/* 36B68 8005B768 D7BA0060 */ ldc1 $f26, 0x60($sp)
/* 36B6C 8005B76C D7B80058 */ ldc1 $f24, 0x58($sp)
/* 36B70 8005B770 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 36B74 8005B774 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 36B78 8005B778 03E00008 */ jr $ra
/* 36B7C 8005B77C 27BD0070 */ addiu $sp, $sp, 0x70