papermario/asm/nonmatchings/code_EDC020/func_802403F0_EDC3D0.s

123 lines
6.3 KiB
ArmAsm
Raw Normal View History

2021-01-11 10:34:10 +01:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802403F0_EDC3D0
/* EDC3D0 802403F0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* EDC3D4 802403F4 AFB10014 */ sw $s1, 0x14($sp)
/* EDC3D8 802403F8 0080882D */ daddu $s1, $a0, $zero
/* EDC3DC 802403FC AFBF0024 */ sw $ra, 0x24($sp)
/* EDC3E0 80240400 AFB40020 */ sw $s4, 0x20($sp)
/* EDC3E4 80240404 AFB3001C */ sw $s3, 0x1c($sp)
/* EDC3E8 80240408 AFB20018 */ sw $s2, 0x18($sp)
/* EDC3EC 8024040C AFB00010 */ sw $s0, 0x10($sp)
/* EDC3F0 80240410 F7BC0048 */ sdc1 $f28, 0x48($sp)
/* EDC3F4 80240414 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* EDC3F8 80240418 F7B80038 */ sdc1 $f24, 0x38($sp)
/* EDC3FC 8024041C F7B60030 */ sdc1 $f22, 0x30($sp)
/* EDC400 80240420 F7B40028 */ sdc1 $f20, 0x28($sp)
/* EDC404 80240424 8E30000C */ lw $s0, 0xc($s1)
/* EDC408 80240428 8E130000 */ lw $s3, ($s0)
/* EDC40C 8024042C 26100004 */ addiu $s0, $s0, 4
/* EDC410 80240430 0C0B53A3 */ jal func_802D4E8C
/* EDC414 80240434 0260282D */ daddu $a1, $s3, $zero
/* EDC418 80240438 4482E000 */ mtc1 $v0, $f28
2021-01-11 13:40:52 +01:00
/* EDC41C 8024043C 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC420 80240440 4680E720 */ cvt.s.w $f28, $f28
/* EDC424 80240444 8E140000 */ lw $s4, ($s0)
/* EDC428 80240448 26100004 */ addiu $s0, $s0, 4
/* EDC42C 8024044C 0220202D */ daddu $a0, $s1, $zero
/* EDC430 80240450 0C0B53A3 */ jal func_802D4E8C
/* EDC434 80240454 0280282D */ daddu $a1, $s4, $zero
/* EDC438 80240458 4482D000 */ mtc1 $v0, $f26
2021-01-11 13:40:52 +01:00
/* EDC43C 8024045C 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC440 80240460 4680D6A0 */ cvt.s.w $f26, $f26
/* EDC444 80240464 8E100000 */ lw $s0, ($s0)
/* EDC448 80240468 0220202D */ daddu $a0, $s1, $zero
/* EDC44C 8024046C 0C0B53A3 */ jal func_802D4E8C
/* EDC450 80240470 0200282D */ daddu $a1, $s0, $zero
/* EDC454 80240474 4482C000 */ mtc1 $v0, $f24
2021-01-11 13:40:52 +01:00
/* EDC458 80240478 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC45C 8024047C 4680C620 */ cvt.s.w $f24, $f24
/* EDC460 80240480 3C128011 */ lui $s2, %hi(D_80117578)
/* EDC464 80240484 26527578 */ addiu $s2, $s2, %lo(D_80117578)
/* EDC468 80240488 3C038008 */ lui $v1, %hi(D_8007C760)
/* EDC46C 8024048C 8C63C760 */ lw $v1, %lo(D_8007C760)($v1)
/* EDC470 80240490 C64200A8 */ lwc1 $f2, 0xa8($s2)
/* EDC474 80240494 44800000 */ mtc1 $zero, $f0
/* EDC478 80240498 00031080 */ sll $v0, $v1, 2
/* EDC47C 8024049C 00431021 */ addu $v0, $v0, $v1
/* EDC480 802404A0 00021080 */ sll $v0, $v0, 2
/* EDC484 802404A4 00431023 */ subu $v0, $v0, $v1
/* EDC488 802404A8 000218C0 */ sll $v1, $v0, 3
/* EDC48C 802404AC 00431021 */ addu $v0, $v0, $v1
/* EDC490 802404B0 000210C0 */ sll $v0, $v0, 3
/* EDC494 802404B4 46001032 */ c.eq.s $f2, $f0
/* EDC498 802404B8 3C01800C */ lui $at, %hi(D_800B8DEC)
/* EDC49C 802404BC 00220821 */ addu $at, $at, $v0
/* EDC4A0 802404C0 C4368DEC */ lwc1 $f22, %lo(D_800B8DEC)($at)
/* EDC4A4 802404C4 45000005 */ bc1f .L802404DC
2021-01-11 13:40:52 +01:00
/* EDC4A8 802404C8 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC4AC 802404CC 3C0142C8 */ lui $at, 0x42c8
/* EDC4B0 802404D0 44810000 */ mtc1 $at, $f0
/* EDC4B4 802404D4 0809013B */ j .L802404EC
/* EDC4B8 802404D8 4600B581 */ sub.s $f22, $f22, $f0
.L802404DC:
/* EDC4BC 802404DC 3C0142C8 */ lui $at, 0x42c8
/* EDC4C0 802404E0 44810000 */ mtc1 $at, $f0
2021-01-11 13:40:52 +01:00
/* EDC4C4 802404E4 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC4C8 802404E8 4600B580 */ add.s $f22, $f22, $f0
.L802404EC:
/* EDC4CC 802404EC 0C00AB85 */ jal func_8002AE14
/* EDC4D0 802404F0 4600B306 */ mov.s $f12, $f22
/* EDC4D4 802404F4 46000586 */ mov.s $f22, $f0
/* EDC4D8 802404F8 3C014170 */ lui $at, 0x4170
/* EDC4DC 802404FC 4481A000 */ mtc1 $at, $f20
/* EDC4E0 80240500 0C00AD77 */ jal func_8002B5DC
/* EDC4E4 80240504 4600B306 */ mov.s $f12, $f22
/* EDC4E8 80240508 46140002 */ mul.s $f0, $f0, $f20
2021-01-11 13:40:52 +01:00
/* EDC4EC 8024050C 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC4F0 80240510 864200B0 */ lh $v0, 0xb0($s2)
/* EDC4F4 80240514 3C013F00 */ lui $at, 0x3f00
/* EDC4F8 80240518 44812000 */ mtc1 $at, $f4
/* EDC4FC 8024051C 44821000 */ mtc1 $v0, $f2
2021-01-11 13:40:52 +01:00
/* EDC500 80240520 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC504 80240524 468010A0 */ cvt.s.w $f2, $f2
/* EDC508 80240528 46041082 */ mul.s $f2, $f2, $f4
2021-01-11 13:40:52 +01:00
/* EDC50C 8024052C 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC510 80240530 4600E700 */ add.s $f28, $f28, $f0
/* EDC514 80240534 4602D680 */ add.s $f26, $f26, $f2
/* EDC518 80240538 0C00AD90 */ jal func_8002B640
/* EDC51C 8024053C 4600B306 */ mov.s $f12, $f22
/* EDC520 80240540 46140002 */ mul.s $f0, $f0, $f20
2021-01-11 13:40:52 +01:00
/* EDC524 80240544 00000000 */ nop
2021-01-11 10:34:10 +01:00
/* EDC528 80240548 0220202D */ daddu $a0, $s1, $zero
/* EDC52C 8024054C 0260282D */ daddu $a1, $s3, $zero
/* EDC530 80240550 4600E18D */ trunc.w.s $f6, $f28
/* EDC534 80240554 44063000 */ mfc1 $a2, $f6
/* EDC538 80240558 0C0B551A */ jal func_802D5468
/* EDC53C 8024055C 4600C601 */ sub.s $f24, $f24, $f0
/* EDC540 80240560 0220202D */ daddu $a0, $s1, $zero
/* EDC544 80240564 4600D18D */ trunc.w.s $f6, $f26
/* EDC548 80240568 44063000 */ mfc1 $a2, $f6
/* EDC54C 8024056C 0C0B551A */ jal func_802D5468
/* EDC550 80240570 0280282D */ daddu $a1, $s4, $zero
/* EDC554 80240574 0220202D */ daddu $a0, $s1, $zero
/* EDC558 80240578 4600C18D */ trunc.w.s $f6, $f24
/* EDC55C 8024057C 44063000 */ mfc1 $a2, $f6
/* EDC560 80240580 0C0B551A */ jal func_802D5468
/* EDC564 80240584 0200282D */ daddu $a1, $s0, $zero
/* EDC568 80240588 8FBF0024 */ lw $ra, 0x24($sp)
/* EDC56C 8024058C 8FB40020 */ lw $s4, 0x20($sp)
/* EDC570 80240590 8FB3001C */ lw $s3, 0x1c($sp)
/* EDC574 80240594 8FB20018 */ lw $s2, 0x18($sp)
/* EDC578 80240598 8FB10014 */ lw $s1, 0x14($sp)
/* EDC57C 8024059C 8FB00010 */ lw $s0, 0x10($sp)
/* EDC580 802405A0 D7BC0048 */ ldc1 $f28, 0x48($sp)
/* EDC584 802405A4 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* EDC588 802405A8 D7B80038 */ ldc1 $f24, 0x38($sp)
/* EDC58C 802405AC D7B60030 */ ldc1 $f22, 0x30($sp)
/* EDC590 802405B0 D7B40028 */ ldc1 $f20, 0x28($sp)
/* EDC594 802405B4 24020002 */ addiu $v0, $zero, 2
/* EDC598 802405B8 03E00008 */ jr $ra
/* EDC59C 802405BC 27BD0050 */ addiu $sp, $sp, 0x50