papermario/asm/nonmatchings/code_13870_len_6980/func_8003C668.s
2020-09-23 23:16:13 -04:00

81 lines
4.0 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003C668
/* 17A68 8003C668 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 17A6C 8003C66C AFB00018 */ sw $s0, 0x18($sp)
/* 17A70 8003C670 0080802D */ daddu $s0, $a0, $zero
/* 17A74 8003C674 AFB1001C */ sw $s1, 0x1c($sp)
/* 17A78 8003C678 00A0882D */ daddu $s1, $a1, $zero
/* 17A7C 8003C67C AFB20020 */ sw $s2, 0x20($sp)
/* 17A80 8003C680 02119021 */ addu $s2, $s0, $s1
/* 17A84 8003C684 AFBF0024 */ sw $ra, 0x24($sp)
/* 17A88 8003C688 82430330 */ lb $v1, 0x330($s2)
/* 17A8C 8003C68C 10600005 */ beqz $v1, .L8003C6A4
/* 17A90 8003C690 24020001 */ addiu $v0, $zero, 1
/* 17A94 8003C694 10620012 */ beq $v1, $v0, .L8003C6E0
/* 17A98 8003C698 00111080 */ sll $v0, $s1, 2
/* 17A9C 8003C69C 0800F1DD */ j .L8003C774
/* 17AA0 8003C6A0 00000000 */ nop
.L8003C6A4:
/* 17AA4 8003C6A4 00111080 */ sll $v0, $s1, 2
/* 17AA8 8003C6A8 24420324 */ addiu $v0, $v0, 0x324
/* 17AAC 8003C6AC 3C013F80 */ lui $at, 0x3f80
/* 17AB0 8003C6B0 44810000 */ mtc1 $at, $f0
/* 17AB4 8003C6B4 02021021 */ addu $v0, $s0, $v0
/* 17AB8 8003C6B8 AFA20014 */ sw $v0, 0x14($sp)
/* 17ABC 8003C6BC E7A00010 */ swc1 $f0, 0x10($sp)
/* 17AC0 8003C6C0 8E050038 */ lw $a1, 0x38($s0)
/* 17AC4 8003C6C4 8E06003C */ lw $a2, 0x3c($s0)
/* 17AC8 8003C6C8 8E070040 */ lw $a3, 0x40($s0)
/* 17ACC 8003C6CC 0C01C3AC */ jal func_80070EB0
/* 17AD0 8003C6D0 24040002 */ addiu $a0, $zero, 2
/* 17AD4 8003C6D4 24020001 */ addiu $v0, $zero, 1
/* 17AD8 8003C6D8 A2420330 */ sb $v0, 0x330($s2)
/* 17ADC 8003C6DC 00111080 */ sll $v0, $s1, 2
.L8003C6E0:
/* 17AE0 8003C6E0 02021021 */ addu $v0, $s0, $v0
/* 17AE4 8003C6E4 8C420324 */ lw $v0, 0x324($v0)
/* 17AE8 8003C6E8 C6000038 */ lwc1 $f0, 0x38($s0)
/* 17AEC 8003C6EC 8C43000C */ lw $v1, 0xc($v0)
/* 17AF0 8003C6F0 E4600004 */ swc1 $f0, 4($v1)
/* 17AF4 8003C6F4 C600003C */ lwc1 $f0, 0x3c($s0)
/* 17AF8 8003C6F8 E4600008 */ swc1 $f0, 8($v1)
/* 17AFC 8003C6FC C6000040 */ lwc1 $f0, 0x40($s0)
/* 17B00 8003C700 E460000C */ swc1 $f0, 0xc($v1)
/* 17B04 8003C704 860200A6 */ lh $v0, 0xa6($s0)
/* 17B08 8003C708 C6000054 */ lwc1 $f0, 0x54($s0)
/* 17B0C 8003C70C 44821000 */ mtc1 $v0, $f2
/* 17B10 8003C710 00000000 */ nop
/* 17B14 8003C714 468010A0 */ cvt.s.w $f2, $f2
/* 17B18 8003C718 46020002 */ mul.s $f0, $f0, $f2
/* 17B1C 8003C71C 00000000 */ nop
/* 17B20 8003C720 3C01800A */ lui $at, 0x800a
/* 17B24 8003C724 D4248520 */ ldc1 $f4, -0x7ae0($at)
/* 17B28 8003C728 46000021 */ cvt.d.s $f0, $f0
/* 17B2C 8003C72C 46240002 */ mul.d $f0, $f0, $f4
/* 17B30 8003C730 00000000 */ nop
/* 17B34 8003C734 46200020 */ cvt.s.d $f0, $f0
/* 17B38 8003C738 E460001C */ swc1 $f0, 0x1c($v1)
/* 17B3C 8003C73C 860200A8 */ lh $v0, 0xa8($s0)
/* 17B40 8003C740 C6000058 */ lwc1 $f0, 0x58($s0)
/* 17B44 8003C744 44821000 */ mtc1 $v0, $f2
/* 17B48 8003C748 00000000 */ nop
/* 17B4C 8003C74C 468010A0 */ cvt.s.w $f2, $f2
/* 17B50 8003C750 46020002 */ mul.s $f0, $f0, $f2
/* 17B54 8003C754 00000000 */ nop
/* 17B58 8003C758 46000021 */ cvt.d.s $f0, $f0
/* 17B5C 8003C75C 46240002 */ mul.d $f0, $f0, $f4
/* 17B60 8003C760 00000000 */ nop
/* 17B64 8003C764 46200020 */ cvt.s.d $f0, $f0
/* 17B68 8003C768 E4600020 */ swc1 $f0, 0x20($v1)
/* 17B6C 8003C76C C6000034 */ lwc1 $f0, 0x34($s0)
/* 17B70 8003C770 E4600064 */ swc1 $f0, 0x64($v1)
.L8003C774:
/* 17B74 8003C774 8FBF0024 */ lw $ra, 0x24($sp)
/* 17B78 8003C778 8FB20020 */ lw $s2, 0x20($sp)
/* 17B7C 8003C77C 8FB1001C */ lw $s1, 0x1c($sp)
/* 17B80 8003C780 8FB00018 */ lw $s0, 0x18($sp)
/* 17B84 8003C784 03E00008 */ jr $ra
/* 17B88 8003C788 27BD0028 */ addiu $sp, $sp, 0x28