papermario/asm/nonmatchings/code_7bb60_len_41b0/func_800E45E0.s
2020-08-12 21:56:23 -04:00

105 lines
4.5 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.include "include/macro.inc"
glabel func_800E45E0
/* 07DA90 800E45E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 07DA94 800E45E4 AFB00010 */ sw $s0, 0x10($sp)
/* 07DA98 800E45E8 3C108011 */ lui $s0, 0x8011
/* 07DA9C 800E45EC 2610EFC8 */ addiu $s0, $s0, -0x1038
/* 07DAA0 800E45F0 AFBF0014 */ sw $ra, 0x14($sp)
/* 07DAA4 800E45F4 0C044181 */ jal get_shadow_by_index
/* 07DAA8 800E45F8 8E0400CC */ lw $a0, 0xcc($s0)
/* 07DAAC 800E45FC 3C068007 */ lui $a2, 0x8007
/* 07DAB0 800E4600 8CC6419C */ lw $a2, 0x419c($a2)
/* 07DAB4 800E4604 0040202D */ daddu $a0, $v0, $zero
/* 07DAB8 800E4608 84C30086 */ lh $v1, 0x86($a2)
/* 07DABC 800E460C 24020008 */ addiu $v0, $zero, 8
/* 07DAC0 800E4610 14620028 */ bne $v1, $v0, .L800E46B4
/* 07DAC4 800E4614 0000282D */ daddu $a1, $zero, $zero
/* 07DAC8 800E4618 C4800030 */ lwc1 $f0, 0x30($a0)
/* 07DACC 800E461C 3C018011 */ lui $at, 0x8011
/* 07DAD0 800E4620 D422BEE0 */ ldc1 $f2, -0x4120($at)
/* 07DAD4 800E4624 46000021 */ cvt.d.s $f0, $f0
/* 07DAD8 800E4628 46220000 */ add.d $f0, $f0, $f2
/* 07DADC 800E462C 44801000 */ mtc1 $zero, $f2
/* 07DAE0 800E4630 46200020 */ cvt.s.d $f0, $f0
/* 07DAE4 800E4634 46020032 */ c.eq.s $f0, $f2
/* 07DAE8 800E4638 00000000 */ nop
/* 07DAEC 800E463C 4501001D */ bc1t .L800E46B4
/* 07DAF0 800E4640 00000000 */ nop
/* 07DAF4 800E4644 84C2008C */ lh $v0, 0x8c($a2)
/* 07DAF8 800E4648 10400005 */ beqz $v0, .L800E4660
/* 07DAFC 800E464C 24050001 */ addiu $a1, $zero, 1
/* 07DB00 800E4650 10450009 */ beq $v0, $a1, .L800E4678
/* 07DB04 800E4654 00000000 */ nop
/* 07DB08 800E4658 080391AD */ j .L800E46B4
/* 07DB0C 800E465C 00000000 */ nop
.L800E4660:
/* 07DB10 800E4660 3C0141A0 */ lui $at, 0x41a0
/* 07DB14 800E4664 44811000 */ mtc1 $at, $f2
/* 07DB18 800E4668 46000005 */ abs.s $f0, $f0
/* 07DB1C 800E466C 4602003C */ c.lt.s $f0, $f2
/* 07DB20 800E4670 080391AB */ j .L800E46AC
/* 07DB24 800E4674 00000000 */ nop
.L800E4678:
/* 07DB28 800E4678 C6020028 */ lwc1 $f2, 0x28($s0)
/* 07DB2C 800E467C 3C01C396 */ lui $at, 0xc396
/* 07DB30 800E4680 44810000 */ mtc1 $at, $f0
/* 07DB34 800E4684 00000000 */ nop
/* 07DB38 800E4688 4602003E */ c.le.s $f0, $f2
/* 07DB3C 800E468C 00000000 */ nop
/* 07DB40 800E4690 45000008 */ bc1f .L800E46B4
/* 07DB44 800E4694 00000000 */ nop
/* 07DB48 800E4698 3C01C30C */ lui $at, 0xc30c
/* 07DB4C 800E469C 44810000 */ mtc1 $at, $f0
/* 07DB50 800E46A0 00000000 */ nop
/* 07DB54 800E46A4 4600103E */ c.le.s $f2, $f0
/* 07DB58 800E46A8 00000000 */ nop
.L800E46AC:
/* 07DB5C 800E46AC 45030001 */ bc1tl .L800E46B4
/* 07DB60 800E46B0 0000282D */ daddu $a1, $zero, $zero
.L800E46B4:
/* 07DB64 800E46B4 8FBF0014 */ lw $ra, 0x14($sp)
/* 07DB68 800E46B8 8FB00010 */ lw $s0, 0x10($sp)
/* 07DB6C 800E46BC 00A0102D */ daddu $v0, $a1, $zero
/* 07DB70 800E46C0 03E00008 */ jr $ra
/* 07DB74 800E46C4 27BD0018 */ addiu $sp, $sp, 0x18
/* 07DB78 800E46C8 3C048011 */ lui $a0, 0x8011
/* 07DB7C 800E46CC 8C84F094 */ lw $a0, -0xf6c($a0)
/* 07DB80 800E46D0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 07DB84 800E46D4 AFBF0010 */ sw $ra, 0x10($sp)
/* 07DB88 800E46D8 0C044181 */ jal get_shadow_by_index
/* 07DB8C 800E46DC 00000000 */ nop
/* 07DB90 800E46E0 C4400030 */ lwc1 $f0, 0x30($v0)
/* 07DB94 800E46E4 3C018011 */ lui $at, 0x8011
/* 07DB98 800E46E8 D424BEE8 */ ldc1 $f4, -0x4118($at)
/* 07DB9C 800E46EC C4420028 */ lwc1 $f2, 0x28($v0)
/* 07DBA0 800E46F0 46000021 */ cvt.d.s $f0, $f0
/* 07DBA4 800E46F4 46240000 */ add.d $f0, $f0, $f4
/* 07DBA8 800E46F8 24020001 */ addiu $v0, $zero, 1
/* 07DBAC 800E46FC 460010A1 */ cvt.d.s $f2, $f2
/* 07DBB0 800E4700 46241080 */ add.d $f2, $f2, $f4
/* 07DBB4 800E4704 3C0141A0 */ lui $at, 0x41a0
/* 07DBB8 800E4708 44812000 */ mtc1 $at, $f4
/* 07DBBC 800E470C 46200020 */ cvt.s.d $f0, $f0
/* 07DBC0 800E4710 46000005 */ abs.s $f0, $f0
/* 07DBC4 800E4714 4604003C */ c.lt.s $f0, $f4
/* 07DBC8 800E4718 00000000 */ nop
/* 07DBCC 800E471C 45000006 */ bc1f .L800E4738
/* 07DBD0 800E4720 46201020 */ cvt.s.d $f0, $f2
/* 07DBD4 800E4724 46000005 */ abs.s $f0, $f0
/* 07DBD8 800E4728 4604003C */ c.lt.s $f0, $f4
/* 07DBDC 800E472C 00000000 */ nop
/* 07DBE0 800E4730 45030001 */ bc1tl .L800E4738
/* 07DBE4 800E4734 0000102D */ daddu $v0, $zero, $zero
.L800E4738:
/* 07DBE8 800E4738 8FBF0010 */ lw $ra, 0x10($sp)
/* 07DBEC 800E473C 03E00008 */ jr $ra
/* 07DBF0 800E4740 27BD0018 */ addiu $sp, $sp, 0x18