mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
189 lines
8.6 KiB
ArmAsm
189 lines
8.6 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
glabel func_80032274
|
||
|
/* D674 80032274 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||
|
/* D678 80032278 F7BC0030 */ sdc1 $f28, 0x30($sp)
|
||
|
/* D67C 8003227C 4486E000 */ mtc1 $a2, $f28
|
||
|
/* D680 80032280 F7B60018 */ sdc1 $f22, 0x18($sp)
|
||
|
/* D684 80032284 C7B60050 */ lwc1 $f22, 0x50($sp)
|
||
|
/* D688 80032288 F7B40010 */ sdc1 $f20, 0x10($sp)
|
||
|
/* D68C 8003228C 46006506 */ mov.s $f20, $f12
|
||
|
/* D690 80032290 F7BA0028 */ sdc1 $f26, 0x28($sp)
|
||
|
/* D694 80032294 46007686 */ mov.s $f26, $f14
|
||
|
/* D698 80032298 F7B80020 */ sdc1 $f24, 0x20($sp)
|
||
|
/* D69C 8003229C 4614E481 */ sub.s $f18, $f28, $f20
|
||
|
/* D6A0 800322A0 C7B80054 */ lwc1 $f24, 0x54($sp)
|
||
|
/* D6A4 800322A4 C7A0005C */ lwc1 $f0, 0x5c($sp)
|
||
|
/* D6A8 800322A8 461AC181 */ sub.s $f6, $f24, $f26
|
||
|
/* D6AC 800322AC F7BE0038 */ sdc1 $f30, 0x38($sp)
|
||
|
/* D6B0 800322B0 461A0781 */ sub.s $f30, $f0, $f26
|
||
|
/* D6B4 800322B4 C7A20058 */ lwc1 $f2, 0x58($sp)
|
||
|
/* D6B8 800322B8 46161401 */ sub.s $f16, $f2, $f22
|
||
|
/* D6BC 800322BC 4487E000 */ mtc1 $a3, $f28
|
||
|
/* D6C0 800322C0 00000000 */ nop
|
||
|
/* D6C4 800322C4 461AE301 */ sub.s $f12, $f28, $f26
|
||
|
/* D6C8 800322C8 4614B701 */ sub.s $f28, $f22, $f20
|
||
|
/* D6CC 800322CC 46180381 */ sub.s $f14, $f0, $f24
|
||
|
/* D6D0 800322D0 E7BC0008 */ swc1 $f28, 8($sp)
|
||
|
/* D6D4 800322D4 46141701 */ sub.s $f28, $f2, $f20
|
||
|
/* D6D8 800322D8 44802000 */ mtc1 $zero, $f4
|
||
|
/* D6DC 800322DC 46009286 */ mov.s $f10, $f18
|
||
|
/* D6E0 800322E0 46049032 */ c.eq.s $f18, $f4
|
||
|
/* D6E4 800322E4 46006207 */ neg.s $f8, $f12
|
||
|
/* D6E8 800322E8 45000005 */ bc1f .L80032300
|
||
|
/* D6EC 800322EC E7BC0000 */ swc1 $f28, ($sp)
|
||
|
/* D6F0 800322F0 46046032 */ c.eq.s $f12, $f4
|
||
|
/* D6F4 800322F4 00000000 */ nop
|
||
|
/* D6F8 800322F8 45010086 */ bc1t .L80032514
|
||
|
/* D6FC 800322FC 0000102D */ daddu $v0, $zero, $zero
|
||
|
.L80032300:
|
||
|
/* D700 80032300 44800000 */ mtc1 $zero, $f0
|
||
|
/* D704 80032304 00000000 */ nop
|
||
|
/* D708 80032308 46008032 */ c.eq.s $f16, $f0
|
||
|
/* D70C 8003230C 00000000 */ nop
|
||
|
/* D710 80032310 45000005 */ bc1f .L80032328
|
||
|
/* D714 80032314 00000000 */ nop
|
||
|
/* D718 80032318 46007032 */ c.eq.s $f14, $f0
|
||
|
/* D71C 8003231C 00000000 */ nop
|
||
|
/* D720 80032320 4501007C */ bc1t .L80032514
|
||
|
/* D724 80032324 0000102D */ daddu $v0, $zero, $zero
|
||
|
.L80032328:
|
||
|
/* D728 80032328 46065002 */ mul.s $f0, $f10, $f6
|
||
|
/* D72C 8003232C 00000000 */ nop
|
||
|
/* D730 80032330 C7BC0008 */ lwc1 $f28, 8($sp)
|
||
|
/* D734 80032334 461C4082 */ mul.s $f2, $f8, $f28
|
||
|
/* D738 80032338 00000000 */ nop
|
||
|
/* D73C 8003233C 46001180 */ add.s $f6, $f2, $f0
|
||
|
/* D740 80032340 44800000 */ mtc1 $zero, $f0
|
||
|
/* D744 80032344 00000000 */ nop
|
||
|
/* D748 80032348 4600303C */ c.lt.s $f6, $f0
|
||
|
/* D74C 8003234C 3C01BF80 */ lui $at, 0xbf80
|
||
|
/* D750 80032350 44812000 */ mtc1 $at, $f4
|
||
|
/* D754 80032354 45010007 */ bc1t .L80032374
|
||
|
/* D758 80032358 00000000 */ nop
|
||
|
/* D75C 8003235C 4606003C */ c.lt.s $f0, $f6
|
||
|
/* D760 80032360 00000000 */ nop
|
||
|
/* D764 80032364 45000003 */ bc1f .L80032374
|
||
|
/* D768 80032368 46000106 */ mov.s $f4, $f0
|
||
|
/* D76C 8003236C 3C013F80 */ lui $at, 0x3f80
|
||
|
/* D770 80032370 44812000 */ mtc1 $at, $f4
|
||
|
.L80032374:
|
||
|
/* D774 80032374 461E5002 */ mul.s $f0, $f10, $f30
|
||
|
/* D778 80032378 00000000 */ nop
|
||
|
/* D77C 8003237C C7BC0000 */ lwc1 $f28, ($sp)
|
||
|
/* D780 80032380 461C4082 */ mul.s $f2, $f8, $f28
|
||
|
/* D784 80032384 00000000 */ nop
|
||
|
/* D788 80032388 46001080 */ add.s $f2, $f2, $f0
|
||
|
/* D78C 8003238C 44800000 */ mtc1 $zero, $f0
|
||
|
/* D790 80032390 00000000 */ nop
|
||
|
/* D794 80032394 4600103C */ c.lt.s $f2, $f0
|
||
|
/* D798 80032398 00000000 */ nop
|
||
|
/* D79C 8003239C 45000005 */ bc1f .L800323B4
|
||
|
/* D7A0 800323A0 46002186 */ mov.s $f6, $f4
|
||
|
/* D7A4 800323A4 3C01BF80 */ lui $at, 0xbf80
|
||
|
/* D7A8 800323A8 44810000 */ mtc1 $at, $f0
|
||
|
/* D7AC 800323AC 0800C8F4 */ j .L800323D0
|
||
|
/* D7B0 800323B0 00000000 */ nop
|
||
|
.L800323B4:
|
||
|
/* D7B4 800323B4 4602003C */ c.lt.s $f0, $f2
|
||
|
/* D7B8 800323B8 00000000 */ nop
|
||
|
/* D7BC 800323BC 45000004 */ bc1f .L800323D0
|
||
|
/* D7C0 800323C0 00000000 */ nop
|
||
|
/* D7C4 800323C4 3C013F80 */ lui $at, 0x3f80
|
||
|
/* D7C8 800323C8 44810000 */ mtc1 $at, $f0
|
||
|
/* D7CC 800323CC 00000000 */ nop
|
||
|
.L800323D0:
|
||
|
/* D7D0 800323D0 46003032 */ c.eq.s $f6, $f0
|
||
|
/* D7D4 800323D4 00000000 */ nop
|
||
|
/* D7D8 800323D8 4501004E */ bc1t .L80032514
|
||
|
/* D7DC 800323DC 0000102D */ daddu $v0, $zero, $zero
|
||
|
/* D7E0 800323E0 46009085 */ abs.s $f2, $f18
|
||
|
/* D7E4 800323E4 46008005 */ abs.s $f0, $f16
|
||
|
/* D7E8 800323E8 4602003C */ c.lt.s $f0, $f2
|
||
|
/* D7EC 800323EC 00000000 */ nop
|
||
|
/* D7F0 800323F0 4500001E */ bc1f .L8003246C
|
||
|
/* D7F4 800323F4 00000000 */ nop
|
||
|
/* D7F8 800323F8 460CA002 */ mul.s $f0, $f20, $f12
|
||
|
/* D7FC 800323FC 00000000 */ nop
|
||
|
/* D800 80032400 4612D182 */ mul.s $f6, $f26, $f18
|
||
|
/* D804 80032404 00000000 */ nop
|
||
|
/* D808 80032408 46189202 */ mul.s $f8, $f18, $f24
|
||
|
/* D80C 8003240C 00000000 */ nop
|
||
|
/* D810 80032410 46166282 */ mul.s $f10, $f12, $f22
|
||
|
/* D814 80032414 00000000 */ nop
|
||
|
/* D818 80032418 46106082 */ mul.s $f2, $f12, $f16
|
||
|
/* D81C 8003241C 00000000 */ nop
|
||
|
/* D820 80032420 460E9102 */ mul.s $f4, $f18, $f14
|
||
|
/* D824 80032424 00000000 */ nop
|
||
|
/* D828 80032428 46060001 */ sub.s $f0, $f0, $f6
|
||
|
/* D82C 8003242C 46041081 */ sub.s $f2, $f2, $f4
|
||
|
/* D830 80032430 46080000 */ add.s $f0, $f0, $f8
|
||
|
/* D834 80032434 460A0181 */ sub.s $f6, $f0, $f10
|
||
|
/* D838 80032438 46023183 */ div.s $f6, $f6, $f2
|
||
|
/* D83C 8003243C 46068002 */ mul.s $f0, $f16, $f6
|
||
|
/* D840 80032440 00000000 */ nop
|
||
|
/* D844 80032444 4600B000 */ add.s $f0, $f22, $f0
|
||
|
/* D848 80032448 46140001 */ sub.s $f0, $f0, $f20
|
||
|
/* D84C 8003244C 46120183 */ div.s $f6, $f0, $f18
|
||
|
/* D850 80032450 46069002 */ mul.s $f0, $f18, $f6
|
||
|
/* D854 80032454 00000000 */ nop
|
||
|
/* D858 80032458 46066082 */ mul.s $f2, $f12, $f6
|
||
|
/* D85C 8003245C 00000000 */ nop
|
||
|
/* D860 80032460 4600A300 */ add.s $f12, $f20, $f0
|
||
|
/* D864 80032464 0800C937 */ j .L800324DC
|
||
|
/* D868 80032468 4602D180 */ add.s $f6, $f26, $f2
|
||
|
.L8003246C:
|
||
|
/* D86C 8003246C 4610C002 */ mul.s $f0, $f24, $f16
|
||
|
/* D870 80032470 00000000 */ nop
|
||
|
/* D874 80032474 460EA182 */ mul.s $f6, $f20, $f14
|
||
|
/* D878 80032478 00000000 */ nop
|
||
|
/* D87C 8003247C 460EC202 */ mul.s $f8, $f24, $f14
|
||
|
/* D880 80032480 00000000 */ nop
|
||
|
/* D884 80032484 4610D282 */ mul.s $f10, $f26, $f16
|
||
|
/* D888 80032488 00000000 */ nop
|
||
|
/* D88C 8003248C 46106082 */ mul.s $f2, $f12, $f16
|
||
|
/* D890 80032490 00000000 */ nop
|
||
|
/* D894 80032494 460E9102 */ mul.s $f4, $f18, $f14
|
||
|
/* D898 80032498 00000000 */ nop
|
||
|
/* D89C 8003249C 46060000 */ add.s $f0, $f0, $f6
|
||
|
/* D8A0 800324A0 46041081 */ sub.s $f2, $f2, $f4
|
||
|
/* D8A4 800324A4 46080001 */ sub.s $f0, $f0, $f8
|
||
|
/* D8A8 800324A8 460A0181 */ sub.s $f6, $f0, $f10
|
||
|
/* D8AC 800324AC 46023183 */ div.s $f6, $f6, $f2
|
||
|
/* D8B0 800324B0 46069002 */ mul.s $f0, $f18, $f6
|
||
|
/* D8B4 800324B4 00000000 */ nop
|
||
|
/* D8B8 800324B8 4600A000 */ add.s $f0, $f20, $f0
|
||
|
/* D8BC 800324BC 46160001 */ sub.s $f0, $f0, $f22
|
||
|
/* D8C0 800324C0 46100183 */ div.s $f6, $f0, $f16
|
||
|
/* D8C4 800324C4 46068002 */ mul.s $f0, $f16, $f6
|
||
|
/* D8C8 800324C8 00000000 */ nop
|
||
|
/* D8CC 800324CC 46067082 */ mul.s $f2, $f14, $f6
|
||
|
/* D8D0 800324D0 00000000 */ nop
|
||
|
/* D8D4 800324D4 4600B300 */ add.s $f12, $f22, $f0
|
||
|
/* D8D8 800324D8 4602C180 */ add.s $f6, $f24, $f2
|
||
|
.L800324DC:
|
||
|
/* D8DC 800324DC 46166081 */ sub.s $f2, $f12, $f22
|
||
|
/* D8E0 800324E0 46021082 */ mul.s $f2, $f2, $f2
|
||
|
/* D8E4 800324E4 00000000 */ nop
|
||
|
/* D8E8 800324E8 46183001 */ sub.s $f0, $f6, $f24
|
||
|
/* D8EC 800324EC 8FA30060 */ lw $v1, 0x60($sp)
|
||
|
/* D8F0 800324F0 46000002 */ mul.s $f0, $f0, $f0
|
||
|
/* D8F4 800324F4 00000000 */ nop
|
||
|
/* D8F8 800324F8 E46C0000 */ swc1 $f12, ($v1)
|
||
|
/* D8FC 800324FC 8FA30064 */ lw $v1, 0x64($sp)
|
||
|
/* D900 80032500 E4660000 */ swc1 $f6, ($v1)
|
||
|
/* D904 80032504 46001080 */ add.s $f2, $f2, $f0
|
||
|
/* D908 80032508 8FA30068 */ lw $v1, 0x68($sp)
|
||
|
/* D90C 8003250C 24020001 */ addiu $v0, $zero, 1
|
||
|
/* D910 80032510 E4620000 */ swc1 $f2, ($v1)
|
||
|
.L80032514:
|
||
|
/* D914 80032514 D7BE0038 */ ldc1 $f30, 0x38($sp)
|
||
|
/* D918 80032518 D7BC0030 */ ldc1 $f28, 0x30($sp)
|
||
|
/* D91C 8003251C D7BA0028 */ ldc1 $f26, 0x28($sp)
|
||
|
/* D920 80032520 D7B80020 */ ldc1 $f24, 0x20($sp)
|
||
|
/* D924 80032524 D7B60018 */ ldc1 $f22, 0x18($sp)
|
||
|
/* D928 80032528 D7B40010 */ ldc1 $f20, 0x10($sp)
|
||
|
/* D92C 8003252C 03E00008 */ jr $ra
|
||
|
/* D930 80032530 27BD0040 */ addiu $sp, $sp, 0x40
|