papermario/ver/jp/asm/nonmatchings/main_13530/func_80039348.s

98 lines
4.8 KiB
ArmAsm
Raw Normal View History

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80039348
/* 14748 80039348 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 1474C 8003934C AFB00030 */ sw $s0, 0x30($sp)
/* 14750 80039350 0080802D */ daddu $s0, $a0, $zero
/* 14754 80039354 AFBF0034 */ sw $ra, 0x34($sp)
/* 14758 80039358 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 1475C 8003935C 8E030000 */ lw $v1, ($s0)
/* 14760 80039360 30620200 */ andi $v0, $v1, 0x200
/* 14764 80039364 1040004B */ beqz $v0, .L80039494
/* 14768 80039368 30620800 */ andi $v0, $v1, 0x800
/* 1476C 8003936C 14400047 */ bnez $v0, .L8003948C
/* 14770 80039370 2402EFFF */ addiu $v0, $zero, -0x1001
/* 14774 80039374 3C013F80 */ lui $at, 0x3f80
/* 14778 80039378 44810000 */ mtc1 $at, $f0
/* 1477C 8003937C C602001C */ lwc1 $f2, 0x1c($s0)
/* 14780 80039380 C6040038 */ lwc1 $f4, 0x38($s0)
/* 14784 80039384 46001081 */ sub.s $f2, $f2, $f0
/* 14788 80039388 E6000014 */ swc1 $f0, 0x14($s0)
/* 1478C 8003938C C600003C */ lwc1 $f0, 0x3c($s0)
/* 14790 80039390 E7A40020 */ swc1 $f4, 0x20($sp)
/* 14794 80039394 3C014150 */ lui $at, 0x4150
/* 14798 80039398 44812000 */ mtc1 $at, $f4
/* 1479C 8003939C 46020000 */ add.s $f0, $f0, $f2
/* 147A0 800393A0 3C030400 */ lui $v1, 0x400
/* 147A4 800393A4 E602001C */ swc1 $f2, 0x1c($s0)
/* 147A8 800393A8 E600003C */ swc1 $f0, 0x3c($s0)
/* 147AC 800393AC 3C014180 */ lui $at, 0x4180
/* 147B0 800393B0 44810000 */ mtc1 $at, $f0
/* 147B4 800393B4 46001085 */ abs.s $f2, $f2
/* 147B8 800393B8 46001080 */ add.s $f2, $f2, $f0
/* 147BC 800393BC C600003C */ lwc1 $f0, 0x3c($s0)
/* 147C0 800393C0 C6060040 */ lwc1 $f6, 0x40($s0)
/* 147C4 800393C4 46040000 */ add.s $f0, $f0, $f4
/* 147C8 800393C8 E7A60028 */ swc1 $f6, 0x28($sp)
/* 147CC 800393CC E7A2002C */ swc1 $f2, 0x2c($sp)
/* 147D0 800393D0 E7A00024 */ swc1 $f0, 0x24($sp)
/* 147D4 800393D4 8E020000 */ lw $v0, ($s0)
/* 147D8 800393D8 00431024 */ and $v0, $v0, $v1
/* 147DC 800393DC 1440000A */ bnez $v0, .L80039408
/* 147E0 800393E0 46001506 */ mov.s $f20, $f2
/* 147E4 800393E4 27A50020 */ addiu $a1, $sp, 0x20
/* 147E8 800393E8 27A60024 */ addiu $a2, $sp, 0x24
/* 147EC 800393EC 27A2002C */ addiu $v0, $sp, 0x2c
/* 147F0 800393F0 AFA20010 */ sw $v0, 0x10($sp)
/* 147F4 800393F4 8E040080 */ lw $a0, 0x80($s0)
/* 147F8 800393F8 0C0372D7 */ jal func_800DCB5C
/* 147FC 800393FC 27A70028 */ addiu $a3, $sp, 0x28
/* 14800 80039400 0800E510 */ j .L80039440
/* 14804 80039404 00000000 */ nop
.L80039408:
/* 14808 80039408 27A2002C */ addiu $v0, $sp, 0x2c
/* 1480C 8003940C AFA20010 */ sw $v0, 0x10($sp)
/* 14810 80039410 C600000C */ lwc1 $f0, 0xc($s0)
/* 14814 80039414 27A50020 */ addiu $a1, $sp, 0x20
/* 14818 80039418 E7A00014 */ swc1 $f0, 0x14($sp)
/* 1481C 8003941C 860200A6 */ lh $v0, 0xa6($s0)
/* 14820 80039420 27A60024 */ addiu $a2, $sp, 0x24
/* 14824 80039424 44820000 */ mtc1 $v0, $f0
/* 14828 80039428 00000000 */ nop
/* 1482C 8003942C 46800020 */ cvt.s.w $f0, $f0
/* 14830 80039430 E7A00018 */ swc1 $f0, 0x18($sp)
/* 14834 80039434 8E040080 */ lw $a0, 0x80($s0)
/* 14838 80039438 0C0371D6 */ jal func_800DC758
/* 1483C 8003943C 27A70028 */ addiu $a3, $sp, 0x28
.L80039440:
/* 14840 80039440 10400010 */ beqz $v0, .L80039484
/* 14844 80039444 00000000 */ nop
/* 14848 80039448 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 1484C 8003944C 4614003E */ c.le.s $f0, $f20
/* 14850 80039450 00000000 */ nop
/* 14854 80039454 4500000B */ bc1f .L80039484
/* 14858 80039458 00000000 */ nop
/* 1485C 8003945C 8E020000 */ lw $v0, ($s0)
/* 14860 80039460 AE00001C */ sw $zero, 0x1c($s0)
/* 14864 80039464 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 14868 80039468 3C038011 */ lui $v1, %hi(D_8010CB3A)
/* 1486C 8003946C 9463CB3A */ lhu $v1, %lo(D_8010CB3A)($v1)
/* 14870 80039470 34421000 */ ori $v0, $v0, 0x1000
/* 14874 80039474 AE020000 */ sw $v0, ($s0)
/* 14878 80039478 E600003C */ swc1 $f0, 0x3c($s0)
/* 1487C 8003947C 0800E525 */ j .L80039494
/* 14880 80039480 A6030084 */ sh $v1, 0x84($s0)
.L80039484:
/* 14884 80039484 8E020000 */ lw $v0, ($s0)
/* 14888 80039488 2403EFFF */ addiu $v1, $zero, -0x1001
.L8003948C:
/* 1488C 8003948C 00431024 */ and $v0, $v0, $v1
/* 14890 80039490 AE020000 */ sw $v0, ($s0)
.L80039494:
/* 14894 80039494 8FBF0034 */ lw $ra, 0x34($sp)
/* 14898 80039498 8FB00030 */ lw $s0, 0x30($sp)
/* 1489C 8003949C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 148A0 800394A0 03E00008 */ jr $ra
/* 148A4 800394A4 27BD0040 */ addiu $sp, $sp, 0x40