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

63 lines
2.5 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80059BD4
/* 034FD4 80059BD4 C4800010 */ lwc1 $f0, 0x10($a0)
/* 034FD8 80059BD8 44851000 */ mtc1 $a1, $f2
/* 034FDC 80059BDC 00000000 */ nop
/* 034FE0 80059BE0 468010A0 */ cvt.s.w $f2, $f2
/* 034FE4 80059BE4 46020002 */ mul.s $f0, $f0, $f2
/* 034FE8 80059BE8 00000000 */ nop
/* 034FEC 80059BEC C4820014 */ lwc1 $f2, 0x14($a0)
/* 034FF0 80059BF0 46001080 */ add.s $f2, $f2, $f0
/* 034FF4 80059BF4 24820014 */ addiu $v0, $a0, 0x14
/* 034FF8 80059BF8 3C014000 */ lui $at, 0x4000
/* 034FFC 80059BFC 44810800 */ mtc1 $at, $f1
/* 035000 80059C00 44800000 */ mtc1 $zero, $f0
/* 035004 80059C04 46001121 */ cvt.d.s $f4, $f2
/* 035008 80059C08 4624003C */ c.lt.d $f0, $f4
/* 03500C 80059C0C 00000000 */ nop
/* 035010 80059C10 45000008 */ bc1f .L80059C34
/* 035014 80059C14 E4820014 */ swc1 $f2, 0x14($a0)
/* 035018 80059C18 3C014010 */ lui $at, 0x4010
/* 03501C 80059C1C 44810800 */ mtc1 $at, $f1
/* 035020 80059C20 44800000 */ mtc1 $zero, $f0
/* 035024 80059C24 00000000 */ nop
/* 035028 80059C28 46202001 */ sub.d $f0, $f4, $f0
/* 03502C 80059C2C 0801670E */ j .L80059C38
/* 035030 80059C30 46200020 */ cvt.s.d $f0, $f0
.L80059C34:
/* 035034 80059C34 46001006 */ mov.s $f0, $f2
.L80059C38:
/* 035038 80059C38 E4400000 */ swc1 $f0, ($v0)
/* 03503C 80059C3C C4820014 */ lwc1 $f2, 0x14($a0)
/* 035040 80059C40 44800000 */ mtc1 $zero, $f0
/* 035044 80059C44 00000000 */ nop
/* 035048 80059C48 4600103C */ c.lt.s $f2, $f0
/* 03504C 80059C4C 00000000 */ nop
/* 035050 80059C50 45030001 */ bc1tl .L80059C58
/* 035054 80059C54 46001087 */ neg.s $f2, $f2
.L80059C58:
/* 035058 80059C58 3C013FF0 */ lui $at, 0x3ff0
/* 03505C 80059C5C 44810800 */ mtc1 $at, $f1
/* 035060 80059C60 44800000 */ mtc1 $zero, $f0
/* 035064 80059C64 460010A1 */ cvt.d.s $f2, $f2
/* 035068 80059C68 46201081 */ sub.d $f2, $f2, $f0
/* 03506C 80059C6C C480001C */ lwc1 $f0, 0x1c($a0)
/* 035070 80059C70 462010A0 */ cvt.s.d $f2, $f2
/* 035074 80059C74 46020002 */ mul.s $f0, $f0, $f2
/* 035078 80059C78 03E00008 */ jr $ra
/* 03507C 80059C7C 00000000 */ nop
/* 035080 80059C80 03E00008 */ jr $ra
/* 035084 80059C84 00000000 */ nop
/* 035088 80059C88 8C82000C */ lw $v0, 0xc($a0)
/* 03508C 80059C8C AC450004 */ sw $a1, 4($v0)
/* 035090 80059C90 AC460008 */ sw $a2, 8($v0)
/* 035094 80059C94 03E00008 */ jr $ra
/* 035098 80059C98 AC47000C */ sw $a3, 0xc($v0)