papermario/asm/nonmatchings/code_a5dd0_len_114e0/func_8011EBF0.s
2020-08-12 22:37:16 -04:00

318 lines
14 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8011EBF0
/* 0B52F0 8011EBF0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0B52F4 8011EBF4 AFB10014 */ sw $s1, 0x14($sp)
/* 0B52F8 8011EBF8 0080882D */ daddu $s1, $a0, $zero
/* 0B52FC 8011EBFC AFBF0018 */ sw $ra, 0x18($sp)
/* 0B5300 8011EC00 AFB00010 */ sw $s0, 0x10($sp)
/* 0B5304 8011EC04 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 0B5308 8011EC08 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 0B530C 8011EC0C F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0B5310 8011EC10 8E300008 */ lw $s0, 8($s1)
/* 0B5314 8011EC14 86030000 */ lh $v1, ($s0)
/* 0B5318 8011EC18 2C620014 */ sltiu $v0, $v1, 0x14
/* 0B531C 8011EC1C 10400105 */ beqz $v0, .L8011F034
/* 0B5320 8011EC20 26100002 */ addiu $s0, $s0, 2
/* 0B5324 8011EC24 00031080 */ sll $v0, $v1, 2
/* 0B5328 8011EC28 3C018015 */ lui $at, 0x8015
/* 0B532C 8011EC2C 00220821 */ addu $at, $at, $v0
/* 0B5330 8011EC30 8C22FE60 */ lw $v0, -0x1a0($at)
/* 0B5334 8011EC34 00400008 */ jr $v0
/* 0B5338 8011EC38 00000000 */ nop
/* 0B533C 8011EC3C 08047C0E */ j .L8011F038
/* 0B5340 8011EC40 2402FFFF */ addiu $v0, $zero, -1
/* 0B5344 8011EC44 92030001 */ lbu $v1, 1($s0)
/* 0B5348 8011EC48 26100002 */ addiu $s0, $s0, 2
/* 0B534C 8011EC4C 24020001 */ addiu $v0, $zero, 1
/* 0B5350 8011EC50 AE300008 */ sw $s0, 8($s1)
/* 0B5354 8011EC54 08047C0E */ j .L8011F038
/* 0B5358 8011EC58 A2230004 */ sb $v1, 4($s1)
/* 0B535C 8011EC5C 86020000 */ lh $v0, ($s0)
/* 0B5360 8011EC60 26100002 */ addiu $s0, $s0, 2
/* 0B5364 8011EC64 AE300008 */ sw $s0, 8($s1)
/* 0B5368 8011EC68 44820000 */ mtc1 $v0, $f0
/* 0B536C 8011EC6C 00000000 */ nop
/* 0B5370 8011EC70 46800020 */ cvt.s.w $f0, $f0
/* 0B5374 8011EC74 08047C0D */ j .L8011F034
/* 0B5378 8011EC78 E6200090 */ swc1 $f0, 0x90($s1)
/* 0B537C 8011EC7C 8E23000C */ lw $v1, 0xc($s1)
/* 0B5380 8011EC80 24020001 */ addiu $v0, $zero, 1
/* 0B5384 8011EC84 08047C0E */ j .L8011F038
/* 0B5388 8011EC88 AE230008 */ sw $v1, 8($s1)
/* 0B538C 8011EC8C 24020001 */ addiu $v0, $zero, 1
/* 0B5390 8011EC90 AE30000C */ sw $s0, 0xc($s1)
/* 0B5394 8011EC94 08047C0E */ j .L8011F038
/* 0B5398 8011EC98 AE300008 */ sw $s0, 8($s1)
/* 0B539C 8011EC9C 86040000 */ lh $a0, ($s0)
/* 0B53A0 8011ECA0 26100002 */ addiu $s0, $s0, 2
/* 0B53A4 8011ECA4 8E230000 */ lw $v1, ($s1)
/* 0B53A8 8011ECA8 24020001 */ addiu $v0, $zero, 1
/* 0B53AC 8011ECAC AE300008 */ sw $s0, 8($s1)
/* 0B53B0 8011ECB0 08047B4F */ j .L8011ED3C
/* 0B53B4 8011ECB4 3084FFFF */ andi $a0, $a0, 0xffff
/* 0B53B8 8011ECB8 86020000 */ lh $v0, ($s0)
/* 0B53BC 8011ECBC 8E240010 */ lw $a0, 0x10($s1)
/* 0B53C0 8011ECC0 00511021 */ addu $v0, $v0, $s1
/* 0B53C4 8011ECC4 90450014 */ lbu $a1, 0x14($v0)
/* 0B53C8 8011ECC8 0C047837 */ jal func_8011E0DC
/* 0B53CC 8011ECCC 26100002 */ addiu $s0, $s0, 2
/* 0B53D0 8011ECD0 0040282D */ daddu $a1, $v0, $zero
/* 0B53D4 8011ECD4 86040000 */ lh $a0, ($s0)
/* 0B53D8 8011ECD8 26100002 */ addiu $s0, $s0, 2
/* 0B53DC 8011ECDC 94A300F4 */ lhu $v1, 0xf4($a1)
/* 0B53E0 8011ECE0 24020001 */ addiu $v0, $zero, 1
/* 0B53E4 8011ECE4 08047B48 */ j .L8011ED20
/* 0B53E8 8011ECE8 00641825 */ or $v1, $v1, $a0
/* 0B53EC 8011ECEC 86020000 */ lh $v0, ($s0)
/* 0B53F0 8011ECF0 8E240010 */ lw $a0, 0x10($s1)
/* 0B53F4 8011ECF4 00511021 */ addu $v0, $v0, $s1
/* 0B53F8 8011ECF8 90450014 */ lbu $a1, 0x14($v0)
/* 0B53FC 8011ECFC 0C047837 */ jal func_8011E0DC
/* 0B5400 8011ED00 26100002 */ addiu $s0, $s0, 2
/* 0B5404 8011ED04 0040282D */ daddu $a1, $v0, $zero
/* 0B5408 8011ED08 86040000 */ lh $a0, ($s0)
/* 0B540C 8011ED0C 26100002 */ addiu $s0, $s0, 2
/* 0B5410 8011ED10 24020001 */ addiu $v0, $zero, 1
/* 0B5414 8011ED14 94A300F4 */ lhu $v1, 0xf4($a1)
/* 0B5418 8011ED18 00042027 */ nor $a0, $zero, $a0
/* 0B541C 8011ED1C 00641824 */ and $v1, $v1, $a0
.L8011ED20:
/* 0B5420 8011ED20 A4A300F4 */ sh $v1, 0xf4($a1)
/* 0B5424 8011ED24 08047C0E */ j .L8011F038
/* 0B5428 8011ED28 AE300008 */ sw $s0, 8($s1)
/* 0B542C 8011ED2C 24020001 */ addiu $v0, $zero, 1
/* 0B5430 8011ED30 8E230000 */ lw $v1, ($s1)
/* 0B5434 8011ED34 3C040002 */ lui $a0, 2
/* 0B5438 8011ED38 AE300008 */ sw $s0, 8($s1)
.L8011ED3C:
/* 0B543C 8011ED3C 00641825 */ or $v1, $v1, $a0
/* 0B5440 8011ED40 08047C0E */ j .L8011F038
/* 0B5444 8011ED44 AE230000 */ sw $v1, ($s1)
/* 0B5448 8011ED48 86030000 */ lh $v1, ($s0)
/* 0B544C 8011ED4C 26100002 */ addiu $s0, $s0, 2
/* 0B5450 8011ED50 86020000 */ lh $v0, ($s0)
/* 0B5454 8011ED54 3C018015 */ lui $at, 0x8015
/* 0B5458 8011ED58 D424FEB0 */ ldc1 $f4, -0x150($at)
/* 0B545C 8011ED5C 44823000 */ mtc1 $v0, $f6
/* 0B5460 8011ED60 00000000 */ nop
/* 0B5464 8011ED64 468031A0 */ cvt.s.w $f6, $f6
/* 0B5468 8011ED68 460031A1 */ cvt.d.s $f6, $f6
/* 0B546C 8011ED6C 46243182 */ mul.d $f6, $f6, $f4
/* 0B5470 8011ED70 00000000 */ nop
/* 0B5474 8011ED74 26100002 */ addiu $s0, $s0, 2
/* 0B5478 8011ED78 86020000 */ lh $v0, ($s0)
/* 0B547C 8011ED7C 44821000 */ mtc1 $v0, $f2
/* 0B5480 8011ED80 00000000 */ nop
/* 0B5484 8011ED84 468010A0 */ cvt.s.w $f2, $f2
/* 0B5488 8011ED88 460010A1 */ cvt.d.s $f2, $f2
/* 0B548C 8011ED8C 46241082 */ mul.d $f2, $f2, $f4
/* 0B5490 8011ED90 00000000 */ nop
/* 0B5494 8011ED94 8E240010 */ lw $a0, 0x10($s1)
/* 0B5498 8011ED98 26100002 */ addiu $s0, $s0, 2
/* 0B549C 8011ED9C 00711821 */ addu $v1, $v1, $s1
/* 0B54A0 8011EDA0 86020000 */ lh $v0, ($s0)
/* 0B54A4 8011EDA4 90650014 */ lbu $a1, 0x14($v1)
/* 0B54A8 8011EDA8 44820000 */ mtc1 $v0, $f0
/* 0B54AC 8011EDAC 00000000 */ nop
/* 0B54B0 8011EDB0 46800020 */ cvt.s.w $f0, $f0
/* 0B54B4 8011EDB4 46000021 */ cvt.d.s $f0, $f0
/* 0B54B8 8011EDB8 46240002 */ mul.d $f0, $f0, $f4
/* 0B54BC 8011EDBC 00000000 */ nop
/* 0B54C0 8011EDC0 3C018015 */ lui $at, 0x8015
/* 0B54C4 8011EDC4 D424FEB8 */ ldc1 $f4, -0x148($at)
/* 0B54C8 8011EDC8 26100002 */ addiu $s0, $s0, 2
/* 0B54CC 8011EDCC AE300008 */ sw $s0, 8($s1)
/* 0B54D0 8011EDD0 46243183 */ div.d $f6, $f6, $f4
/* 0B54D4 8011EDD4 46203620 */ cvt.s.d $f24, $f6
/* 0B54D8 8011EDD8 46241083 */ div.d $f2, $f2, $f4
/* 0B54DC 8011EDDC 462015A0 */ cvt.s.d $f22, $f2
/* 0B54E0 8011EDE0 46240003 */ div.d $f0, $f0, $f4
/* 0B54E4 8011EDE4 0C047837 */ jal func_8011E0DC
/* 0B54E8 8011EDE8 46200520 */ cvt.s.d $f20, $f0
/* 0B54EC 8011EDEC 0040282D */ daddu $a1, $v0, $zero
/* 0B54F0 8011EDF0 14A00003 */ bnez $a1, .L8011EE00
/* 0B54F4 8011EDF4 24020001 */ addiu $v0, $zero, 1
.L8011EDF8:
/* 0B54F8 8011EDF8 08047B7E */ j .L8011EDF8
/* 0B54FC 8011EDFC 00000000 */ nop
.L8011EE00:
/* 0B5500 8011EE00 E4B8009C */ swc1 $f24, 0x9c($a1)
/* 0B5504 8011EE04 E4B600A0 */ swc1 $f22, 0xa0($a1)
/* 0B5508 8011EE08 08047C0E */ j .L8011F038
/* 0B550C 8011EE0C E4B400A4 */ swc1 $f20, 0xa4($a1)
/* 0B5510 8011EE10 86030000 */ lh $v1, ($s0)
/* 0B5514 8011EE14 26100002 */ addiu $s0, $s0, 2
/* 0B5518 8011EE18 86020000 */ lh $v0, ($s0)
/* 0B551C 8011EE1C 3C018015 */ lui $at, 0x8015
/* 0B5520 8011EE20 D424FEC0 */ ldc1 $f4, -0x140($at)
/* 0B5524 8011EE24 44823000 */ mtc1 $v0, $f6
/* 0B5528 8011EE28 00000000 */ nop
/* 0B552C 8011EE2C 468031A0 */ cvt.s.w $f6, $f6
/* 0B5530 8011EE30 460031A1 */ cvt.d.s $f6, $f6
/* 0B5534 8011EE34 46243182 */ mul.d $f6, $f6, $f4
/* 0B5538 8011EE38 00000000 */ nop
/* 0B553C 8011EE3C 26100002 */ addiu $s0, $s0, 2
/* 0B5540 8011EE40 86020000 */ lh $v0, ($s0)
/* 0B5544 8011EE44 44821000 */ mtc1 $v0, $f2
/* 0B5548 8011EE48 00000000 */ nop
/* 0B554C 8011EE4C 468010A0 */ cvt.s.w $f2, $f2
/* 0B5550 8011EE50 460010A1 */ cvt.d.s $f2, $f2
/* 0B5554 8011EE54 46241082 */ mul.d $f2, $f2, $f4
/* 0B5558 8011EE58 00000000 */ nop
/* 0B555C 8011EE5C 8E240010 */ lw $a0, 0x10($s1)
/* 0B5560 8011EE60 26100002 */ addiu $s0, $s0, 2
/* 0B5564 8011EE64 00711821 */ addu $v1, $v1, $s1
/* 0B5568 8011EE68 86020000 */ lh $v0, ($s0)
/* 0B556C 8011EE6C 90650014 */ lbu $a1, 0x14($v1)
/* 0B5570 8011EE70 44820000 */ mtc1 $v0, $f0
/* 0B5574 8011EE74 00000000 */ nop
/* 0B5578 8011EE78 46800020 */ cvt.s.w $f0, $f0
/* 0B557C 8011EE7C 46000021 */ cvt.d.s $f0, $f0
/* 0B5580 8011EE80 46240002 */ mul.d $f0, $f0, $f4
/* 0B5584 8011EE84 00000000 */ nop
/* 0B5588 8011EE88 3C018015 */ lui $at, 0x8015
/* 0B558C 8011EE8C D424FEC8 */ ldc1 $f4, -0x138($at)
/* 0B5590 8011EE90 26100002 */ addiu $s0, $s0, 2
/* 0B5594 8011EE94 AE300008 */ sw $s0, 8($s1)
/* 0B5598 8011EE98 46243183 */ div.d $f6, $f6, $f4
/* 0B559C 8011EE9C 46203620 */ cvt.s.d $f24, $f6
/* 0B55A0 8011EEA0 46241083 */ div.d $f2, $f2, $f4
/* 0B55A4 8011EEA4 462015A0 */ cvt.s.d $f22, $f2
/* 0B55A8 8011EEA8 46240003 */ div.d $f0, $f0, $f4
/* 0B55AC 8011EEAC 0C047837 */ jal func_8011E0DC
/* 0B55B0 8011EEB0 46200520 */ cvt.s.d $f20, $f0
/* 0B55B4 8011EEB4 0040282D */ daddu $a1, $v0, $zero
/* 0B55B8 8011EEB8 14A00003 */ bnez $a1, .L8011EEC8
/* 0B55BC 8011EEBC 24020001 */ addiu $v0, $zero, 1
.L8011EEC0:
/* 0B55C0 8011EEC0 08047BB0 */ j .L8011EEC0
/* 0B55C4 8011EEC4 00000000 */ nop
.L8011EEC8:
/* 0B55C8 8011EEC8 C4A4009C */ lwc1 $f4, 0x9c($a1)
/* 0B55CC 8011EECC 46182100 */ add.s $f4, $f4, $f24
/* 0B55D0 8011EED0 C4A200A0 */ lwc1 $f2, 0xa0($a1)
/* 0B55D4 8011EED4 46161080 */ add.s $f2, $f2, $f22
/* 0B55D8 8011EED8 C4A000A4 */ lwc1 $f0, 0xa4($a1)
/* 0B55DC 8011EEDC 46140000 */ add.s $f0, $f0, $f20
/* 0B55E0 8011EEE0 E4A4009C */ swc1 $f4, 0x9c($a1)
/* 0B55E4 8011EEE4 E4A200A0 */ swc1 $f2, 0xa0($a1)
/* 0B55E8 8011EEE8 08047C0E */ j .L8011F038
/* 0B55EC 8011EEEC E4A000A4 */ swc1 $f0, 0xa4($a1)
/* 0B55F0 8011EEF0 86020000 */ lh $v0, ($s0)
/* 0B55F4 8011EEF4 26100002 */ addiu $s0, $s0, 2
/* 0B55F8 8011EEF8 86050000 */ lh $a1, ($s0)
/* 0B55FC 8011EEFC 26100002 */ addiu $s0, $s0, 2
/* 0B5600 8011EF00 86030000 */ lh $v1, ($s0)
/* 0B5604 8011EF04 26100002 */ addiu $s0, $s0, 2
/* 0B5608 8011EF08 86060000 */ lh $a2, ($s0)
/* 0B560C 8011EF0C 26100002 */ addiu $s0, $s0, 2
/* 0B5610 8011EF10 8E240010 */ lw $a0, 0x10($s1)
/* 0B5614 8011EF14 4485C000 */ mtc1 $a1, $f24
/* 0B5618 8011EF18 00000000 */ nop
/* 0B561C 8011EF1C 4680C620 */ cvt.s.w $f24, $f24
/* 0B5620 8011EF20 4483B000 */ mtc1 $v1, $f22
/* 0B5624 8011EF24 00000000 */ nop
/* 0B5628 8011EF28 4680B5A0 */ cvt.s.w $f22, $f22
/* 0B562C 8011EF2C 00511021 */ addu $v0, $v0, $s1
/* 0B5630 8011EF30 90450014 */ lbu $a1, 0x14($v0)
/* 0B5634 8011EF34 4486A000 */ mtc1 $a2, $f20
/* 0B5638 8011EF38 00000000 */ nop
/* 0B563C 8011EF3C 4680A520 */ cvt.s.w $f20, $f20
/* 0B5640 8011EF40 0C047837 */ jal func_8011E0DC
/* 0B5644 8011EF44 AE300008 */ sw $s0, 8($s1)
/* 0B5648 8011EF48 0040282D */ daddu $a1, $v0, $zero
/* 0B564C 8011EF4C 14A00003 */ bnez $a1, .L8011EF5C
/* 0B5650 8011EF50 24020001 */ addiu $v0, $zero, 1
.L8011EF54:
/* 0B5654 8011EF54 08047BD5 */ j .L8011EF54
/* 0B5658 8011EF58 00000000 */ nop
.L8011EF5C:
/* 0B565C 8011EF5C E4B80090 */ swc1 $f24, 0x90($a1)
/* 0B5660 8011EF60 E4B60094 */ swc1 $f22, 0x94($a1)
/* 0B5664 8011EF64 08047C0E */ j .L8011F038
/* 0B5668 8011EF68 E4B40098 */ swc1 $f20, 0x98($a1)
/* 0B566C 8011EF6C 86030000 */ lh $v1, ($s0)
/* 0B5670 8011EF70 26100002 */ addiu $s0, $s0, 2
/* 0B5674 8011EF74 86020000 */ lh $v0, ($s0)
/* 0B5678 8011EF78 3C018015 */ lui $at, 0x8015
/* 0B567C 8011EF7C D424FED0 */ ldc1 $f4, -0x130($at)
/* 0B5680 8011EF80 44823000 */ mtc1 $v0, $f6
/* 0B5684 8011EF84 00000000 */ nop
/* 0B5688 8011EF88 468031A0 */ cvt.s.w $f6, $f6
/* 0B568C 8011EF8C 460031A1 */ cvt.d.s $f6, $f6
/* 0B5690 8011EF90 46243182 */ mul.d $f6, $f6, $f4
/* 0B5694 8011EF94 00000000 */ nop
/* 0B5698 8011EF98 26100002 */ addiu $s0, $s0, 2
/* 0B569C 8011EF9C 86020000 */ lh $v0, ($s0)
/* 0B56A0 8011EFA0 44821000 */ mtc1 $v0, $f2
/* 0B56A4 8011EFA4 00000000 */ nop
/* 0B56A8 8011EFA8 468010A0 */ cvt.s.w $f2, $f2
/* 0B56AC 8011EFAC 460010A1 */ cvt.d.s $f2, $f2
/* 0B56B0 8011EFB0 46241082 */ mul.d $f2, $f2, $f4
/* 0B56B4 8011EFB4 00000000 */ nop
/* 0B56B8 8011EFB8 8E240010 */ lw $a0, 0x10($s1)
/* 0B56BC 8011EFBC 26100002 */ addiu $s0, $s0, 2
/* 0B56C0 8011EFC0 00711821 */ addu $v1, $v1, $s1
/* 0B56C4 8011EFC4 86020000 */ lh $v0, ($s0)
/* 0B56C8 8011EFC8 90650014 */ lbu $a1, 0x14($v1)
/* 0B56CC 8011EFCC 44820000 */ mtc1 $v0, $f0
/* 0B56D0 8011EFD0 00000000 */ nop
/* 0B56D4 8011EFD4 46800020 */ cvt.s.w $f0, $f0
/* 0B56D8 8011EFD8 46000021 */ cvt.d.s $f0, $f0
/* 0B56DC 8011EFDC 46240002 */ mul.d $f0, $f0, $f4
/* 0B56E0 8011EFE0 00000000 */ nop
/* 0B56E4 8011EFE4 3C018015 */ lui $at, 0x8015
/* 0B56E8 8011EFE8 D424FED8 */ ldc1 $f4, -0x128($at)
/* 0B56EC 8011EFEC 26100002 */ addiu $s0, $s0, 2
/* 0B56F0 8011EFF0 AE300008 */ sw $s0, 8($s1)
/* 0B56F4 8011EFF4 46243183 */ div.d $f6, $f6, $f4
/* 0B56F8 8011EFF8 46203620 */ cvt.s.d $f24, $f6
/* 0B56FC 8011EFFC 46241083 */ div.d $f2, $f2, $f4
/* 0B5700 8011F000 462015A0 */ cvt.s.d $f22, $f2
/* 0B5704 8011F004 46240003 */ div.d $f0, $f0, $f4
/* 0B5708 8011F008 0C047837 */ jal func_8011E0DC
/* 0B570C 8011F00C 46200520 */ cvt.s.d $f20, $f0
/* 0B5710 8011F010 0040282D */ daddu $a1, $v0, $zero
/* 0B5714 8011F014 14A00003 */ bnez $a1, .L8011F024
/* 0B5718 8011F018 24020001 */ addiu $v0, $zero, 1
.L8011F01C:
/* 0B571C 8011F01C 08047C07 */ j .L8011F01C
/* 0B5720 8011F020 00000000 */ nop
.L8011F024:
/* 0B5724 8011F024 E4B800A8 */ swc1 $f24, 0xa8($a1)
/* 0B5728 8011F028 E4B600AC */ swc1 $f22, 0xac($a1)
/* 0B572C 8011F02C 08047C0E */ j .L8011F038
/* 0B5730 8011F030 E4B400B0 */ swc1 $f20, 0xb0($a1)
.L8011F034:
/* 0B5734 8011F034 0000102D */ daddu $v0, $zero, $zero
.L8011F038:
/* 0B5738 8011F038 8FBF0018 */ lw $ra, 0x18($sp)
/* 0B573C 8011F03C 8FB10014 */ lw $s1, 0x14($sp)
/* 0B5740 8011F040 8FB00010 */ lw $s0, 0x10($sp)
/* 0B5744 8011F044 D7B80030 */ ldc1 $f24, 0x30($sp)
/* 0B5748 8011F048 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 0B574C 8011F04C D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0B5750 8011F050 03E00008 */ jr $ra
/* 0B5754 8011F054 27BD0038 */ addiu $sp, $sp, 0x38