mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 08:52:40 +01:00
173 lines
8.7 KiB
ArmAsm
Generated
173 lines
8.7 KiB
ArmAsm
Generated
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_E0062220
|
|
/* 364520 E0062220 27BDFFC0 */ addiu $sp, $sp, -0x40
|
|
/* 364524 E0062224 AFB3001C */ sw $s3, 0x1c($sp)
|
|
/* 364528 E0062228 0080982D */ daddu $s3, $a0, $zero
|
|
/* 36452C E006222C AFBF0020 */ sw $ra, 0x20($sp)
|
|
/* 364530 E0062230 AFB20018 */ sw $s2, 0x18($sp)
|
|
/* 364534 E0062234 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 364538 E0062238 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 36453C E006223C F7B80038 */ sdc1 $f24, 0x38($sp)
|
|
/* 364540 E0062240 F7B60030 */ sdc1 $f22, 0x30($sp)
|
|
/* 364544 E0062244 F7B40028 */ sdc1 $f20, 0x28($sp)
|
|
/* 364548 E0062248 8E64000C */ lw $a0, 0xc($s3)
|
|
/* 36454C E006224C 8C820028 */ lw $v0, 0x28($a0)
|
|
/* 364550 E0062250 8C830024 */ lw $v1, 0x24($a0)
|
|
/* 364554 E0062254 24420001 */ addiu $v0, $v0, 1
|
|
/* 364558 E0062258 2463FFFF */ addiu $v1, $v1, -1
|
|
/* 36455C E006225C AC820028 */ sw $v0, 0x28($a0)
|
|
/* 364560 E0062260 04610005 */ bgez $v1, .LE0062278
|
|
/* 364564 E0062264 AC830024 */ sw $v1, 0x24($a0)
|
|
/* 364568 E0062268 0C080128 */ jal func_E02004A0
|
|
/* 36456C E006226C 0260202D */ daddu $a0, $s3, $zero
|
|
/* 364570 E0062270 08018920 */ j .LE0062480
|
|
/* 364574 E0062274 00000000 */ nop
|
|
.LE0062278:
|
|
/* 364578 E0062278 8C920028 */ lw $s2, 0x28($a0)
|
|
/* 36457C E006227C 2A42000B */ slti $v0, $s2, 0xb
|
|
/* 364580 E0062280 14400009 */ bnez $v0, .LE00622A8
|
|
/* 364584 E0062284 00000000 */ nop
|
|
/* 364588 E0062288 3C01E006 */ lui $at, %hi(D_E00628D0)
|
|
/* 36458C E006228C D42228D0 */ ldc1 $f2, %lo(D_E00628D0)($at)
|
|
/* 364590 E0062290 C4800034 */ lwc1 $f0, 0x34($a0)
|
|
/* 364594 E0062294 46800021 */ cvt.d.w $f0, $f0
|
|
/* 364598 E0062298 46220002 */ mul.d $f0, $f0, $f2
|
|
/* 36459C E006229C 00000000 */ nop
|
|
/* 3645A0 E00622A0 4620038D */ trunc.w.d $f14, $f0
|
|
/* 3645A4 E00622A4 E48E0034 */ swc1 $f14, 0x34($a0)
|
|
.LE00622A8:
|
|
/* 3645A8 E00622A8 8E620008 */ lw $v0, 8($s3)
|
|
/* 3645AC E00622AC 24110001 */ addiu $s1, $zero, 1
|
|
/* 3645B0 E00622B0 0222102A */ slt $v0, $s1, $v0
|
|
/* 3645B4 E00622B4 10400072 */ beqz $v0, .LE0062480
|
|
/* 3645B8 E00622B8 24840040 */ addiu $a0, $a0, 0x40
|
|
/* 3645BC E00622BC 24900008 */ addiu $s0, $a0, 8
|
|
/* 3645C0 E00622C0 3C01E006 */ lui $at, %hi(D_E00628D8)
|
|
/* 3645C4 E00622C4 D43428D8 */ ldc1 $f20, %lo(D_E00628D8)($at)
|
|
/* 3645C8 E00622C8 3C01E006 */ lui $at, %hi(D_E00628E0)
|
|
/* 3645CC E00622CC D43628E0 */ ldc1 $f22, %lo(D_E00628E0)($at)
|
|
/* 3645D0 E00622D0 3C0142B4 */ lui $at, 0x42b4
|
|
/* 3645D4 E00622D4 4481C000 */ mtc1 $at, $f24
|
|
.LE00622D8:
|
|
/* 3645D8 E00622D8 2A42000B */ slti $v0, $s2, 0xb
|
|
/* 3645DC E00622DC 1440002B */ bnez $v0, .LE006238C
|
|
/* 3645E0 E00622E0 2A42000A */ slti $v0, $s2, 0xa
|
|
/* 3645E4 E00622E4 C60A0014 */ lwc1 $f10, 0x14($s0)
|
|
/* 3645E8 E00622E8 3C013FF0 */ lui $at, 0x3ff0
|
|
/* 3645EC E00622EC 44816800 */ mtc1 $at, $f13
|
|
/* 3645F0 E00622F0 44806000 */ mtc1 $zero, $f12
|
|
/* 3645F4 E00622F4 460052A1 */ cvt.d.s $f10, $f10
|
|
/* 3645F8 E00622F8 462A6301 */ sub.d $f12, $f12, $f10
|
|
/* 3645FC E00622FC 46346302 */ mul.d $f12, $f12, $f20
|
|
/* 364600 E0062300 00000000 */ nop
|
|
/* 364604 E0062304 C6080018 */ lwc1 $f8, 0x18($s0)
|
|
/* 364608 E0062308 3C014019 */ lui $at, 0x4019
|
|
/* 36460C E006230C 3421999A */ ori $at, $at, 0x999a
|
|
/* 364610 E0062310 44812000 */ mtc1 $at, $f4
|
|
/* 364614 E0062314 00000000 */ nop
|
|
/* 364618 E0062318 46082101 */ sub.s $f4, $f4, $f8
|
|
/* 36461C E006231C 46002121 */ cvt.d.s $f4, $f4
|
|
/* 364620 E0062320 46342102 */ mul.d $f4, $f4, $f20
|
|
/* 364624 E0062324 00000000 */ nop
|
|
/* 364628 E0062328 C6060028 */ lwc1 $f6, 0x28($s0)
|
|
/* 36462C E006232C 3C0142C8 */ lui $at, 0x42c8
|
|
/* 364630 E0062330 44811000 */ mtc1 $at, $f2
|
|
/* 364634 E0062334 00000000 */ nop
|
|
/* 364638 E0062338 46061081 */ sub.s $f2, $f2, $f6
|
|
/* 36463C E006233C 3C01E006 */ lui $at, %hi(D_E00628E8)
|
|
/* 364640 E0062340 D42028E8 */ ldc1 $f0, %lo(D_E00628E8)($at)
|
|
/* 364644 E0062344 460010A1 */ cvt.d.s $f2, $f2
|
|
/* 364648 E0062348 46201082 */ mul.d $f2, $f2, $f0
|
|
/* 36464C E006234C 00000000 */ nop
|
|
/* 364650 E0062350 3C01E006 */ lui $at, %hi(D_E00628F0)
|
|
/* 364654 E0062354 D42028F0 */ ldc1 $f0, %lo(D_E00628F0)($at)
|
|
/* 364658 E0062358 46201082 */ mul.d $f2, $f2, $f0
|
|
/* 36465C E006235C 00000000 */ nop
|
|
/* 364660 E0062360 462C5280 */ add.d $f10, $f10, $f12
|
|
/* 364664 E0062364 46004221 */ cvt.d.s $f8, $f8
|
|
/* 364668 E0062368 46244200 */ add.d $f8, $f8, $f4
|
|
/* 36466C E006236C 460031A1 */ cvt.d.s $f6, $f6
|
|
/* 364670 E0062370 462052A0 */ cvt.s.d $f10, $f10
|
|
/* 364674 E0062374 46204220 */ cvt.s.d $f8, $f8
|
|
/* 364678 E0062378 46223180 */ add.d $f6, $f6, $f2
|
|
/* 36467C E006237C E60A0014 */ swc1 $f10, 0x14($s0)
|
|
/* 364680 E0062380 E6080018 */ swc1 $f8, 0x18($s0)
|
|
/* 364684 E0062384 462031A0 */ cvt.s.d $f6, $f6
|
|
/* 364688 E0062388 E6060028 */ swc1 $f6, 0x28($s0)
|
|
.LE006238C:
|
|
/* 36468C E006238C 10400029 */ beqz $v0, .LE0062434
|
|
/* 364690 E0062390 00000000 */ nop
|
|
/* 364694 E0062394 C60C0014 */ lwc1 $f12, 0x14($s0)
|
|
/* 364698 E0062398 3C0140E0 */ lui $at, 0x40e0
|
|
/* 36469C E006239C 44814000 */ mtc1 $at, $f8
|
|
/* 3646A0 E00623A0 00000000 */ nop
|
|
/* 3646A4 E00623A4 460C4201 */ sub.s $f8, $f8, $f12
|
|
/* 3646A8 E00623A8 46004221 */ cvt.d.s $f8, $f8
|
|
/* 3646AC E00623AC 46364202 */ mul.d $f8, $f8, $f22
|
|
/* 3646B0 E00623B0 00000000 */ nop
|
|
/* 3646B4 E00623B4 C60A0018 */ lwc1 $f10, 0x18($s0)
|
|
/* 3646B8 E00623B8 3C013F80 */ lui $at, 0x3f80
|
|
/* 3646BC E00623BC 44812000 */ mtc1 $at, $f4
|
|
/* 3646C0 E00623C0 00000000 */ nop
|
|
/* 3646C4 E00623C4 460A2101 */ sub.s $f4, $f4, $f10
|
|
/* 3646C8 E00623C8 46002121 */ cvt.d.s $f4, $f4
|
|
/* 3646CC E00623CC 46342102 */ mul.d $f4, $f4, $f20
|
|
/* 3646D0 E00623D0 00000000 */ nop
|
|
/* 3646D4 E00623D4 C6060028 */ lwc1 $f6, 0x28($s0)
|
|
/* 3646D8 E00623D8 3C014120 */ lui $at, 0x4120
|
|
/* 3646DC E00623DC 44811000 */ mtc1 $at, $f2
|
|
/* 3646E0 E00623E0 00000000 */ nop
|
|
/* 3646E4 E00623E4 46061081 */ sub.s $f2, $f2, $f6
|
|
/* 3646E8 E00623E8 460010A1 */ cvt.d.s $f2, $f2
|
|
/* 3646EC E00623EC 46361082 */ mul.d $f2, $f2, $f22
|
|
/* 3646F0 E00623F0 00000000 */ nop
|
|
/* 3646F4 E00623F4 3C01E006 */ lui $at, %hi(D_E00628F8)
|
|
/* 3646F8 E00623F8 D42028F8 */ ldc1 $f0, %lo(D_E00628F8)($at)
|
|
/* 3646FC E00623FC 46201082 */ mul.d $f2, $f2, $f0
|
|
/* 364700 E0062400 00000000 */ nop
|
|
/* 364704 E0062404 46006321 */ cvt.d.s $f12, $f12
|
|
/* 364708 E0062408 46286300 */ add.d $f12, $f12, $f8
|
|
/* 36470C E006240C 460052A1 */ cvt.d.s $f10, $f10
|
|
/* 364710 E0062410 46245280 */ add.d $f10, $f10, $f4
|
|
/* 364714 E0062414 460031A1 */ cvt.d.s $f6, $f6
|
|
/* 364718 E0062418 46206320 */ cvt.s.d $f12, $f12
|
|
/* 36471C E006241C 462052A0 */ cvt.s.d $f10, $f10
|
|
/* 364720 E0062420 46223180 */ add.d $f6, $f6, $f2
|
|
/* 364724 E0062424 E60C0014 */ swc1 $f12, 0x14($s0)
|
|
/* 364728 E0062428 E60A0018 */ swc1 $f10, 0x18($s0)
|
|
/* 36472C E006242C 462031A0 */ cvt.s.d $f6, $f6
|
|
/* 364730 E0062430 E6060028 */ swc1 $f6, 0x28($s0)
|
|
.LE0062434:
|
|
/* 364734 E0062434 C60C0024 */ lwc1 $f12, 0x24($s0)
|
|
/* 364738 E0062438 0C080144 */ jal func_E0200510
|
|
/* 36473C E006243C 46186300 */ add.s $f12, $f12, $f24
|
|
/* 364740 E0062440 C6020028 */ lwc1 $f2, 0x28($s0)
|
|
/* 364744 E0062444 46020002 */ mul.s $f0, $f0, $f2
|
|
/* 364748 E0062448 00000000 */ nop
|
|
/* 36474C E006244C C60C0024 */ lwc1 $f12, 0x24($s0)
|
|
/* 364750 E0062450 46186300 */ add.s $f12, $f12, $f24
|
|
/* 364754 E0062454 0C080140 */ jal func_E0200500
|
|
/* 364758 E0062458 E600FFFC */ swc1 $f0, -4($s0)
|
|
/* 36475C E006245C C6020028 */ lwc1 $f2, 0x28($s0)
|
|
/* 364760 E0062460 46020002 */ mul.s $f0, $f0, $f2
|
|
/* 364764 E0062464 00000000 */ nop
|
|
/* 364768 E0062468 26310001 */ addiu $s1, $s1, 1
|
|
/* 36476C E006246C E6000000 */ swc1 $f0, ($s0)
|
|
/* 364770 E0062470 8E620008 */ lw $v0, 8($s3)
|
|
/* 364774 E0062474 0222102A */ slt $v0, $s1, $v0
|
|
/* 364778 E0062478 1440FF97 */ bnez $v0, .LE00622D8
|
|
/* 36477C E006247C 26100040 */ addiu $s0, $s0, 0x40
|
|
.LE0062480:
|
|
/* 364780 E0062480 8FBF0020 */ lw $ra, 0x20($sp)
|
|
/* 364784 E0062484 8FB3001C */ lw $s3, 0x1c($sp)
|
|
/* 364788 E0062488 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* 36478C E006248C 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 364790 E0062490 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 364794 E0062494 D7B80038 */ ldc1 $f24, 0x38($sp)
|
|
/* 364798 E0062498 D7B60030 */ ldc1 $f22, 0x30($sp)
|
|
/* 36479C E006249C D7B40028 */ ldc1 $f20, 0x28($sp)
|
|
/* 3647A0 E00624A0 03E00008 */ jr $ra
|
|
/* 3647A4 E00624A4 27BD0040 */ addiu $sp, $sp, 0x40
|