mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
550 lines
26 KiB
ArmAsm
550 lines
26 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
glabel func_80039C90
|
||
|
/* 15090 80039C90 27BDFF48 */ addiu $sp, $sp, -0xb8
|
||
|
/* 15094 80039C94 AFB1009C */ sw $s1, 0x9c($sp)
|
||
|
/* 15098 80039C98 AFBF00A0 */ sw $ra, 0xa0($sp)
|
||
|
/* 1509C 80039C9C AFB00098 */ sw $s0, 0x98($sp)
|
||
|
/* 150A0 80039CA0 F7B600B0 */ sdc1 $f22, 0xb0($sp)
|
||
|
/* 150A4 80039CA4 F7B400A8 */ sdc1 $f20, 0xa8($sp)
|
||
|
/* 150A8 80039CA8 0C00E699 */ jal func_80039A64
|
||
|
/* 150AC 80039CAC 0080882D */ daddu $s1, $a0, $zero
|
||
|
/* 150B0 80039CB0 27A40018 */ addiu $a0, $sp, 0x18
|
||
|
/* 150B4 80039CB4 822200AB */ lb $v0, 0xab($s1)
|
||
|
/* 150B8 80039CB8 C624003C */ lwc1 $f4, 0x3c($s1)
|
||
|
/* 150BC 80039CBC 44821000 */ mtc1 $v0, $f2
|
||
|
/* 150C0 80039CC0 00000000 */ nop
|
||
|
/* 150C4 80039CC4 468010A0 */ cvt.s.w $f2, $f2
|
||
|
/* 150C8 80039CC8 46022100 */ add.s $f4, $f4, $f2
|
||
|
/* 150CC 80039CCC 8E250038 */ lw $a1, 0x38($s1)
|
||
|
/* 150D0 80039CD0 8E270040 */ lw $a3, 0x40($s1)
|
||
|
/* 150D4 80039CD4 44062000 */ mfc1 $a2, $f4
|
||
|
/* 150D8 80039CD8 0C019E38 */ jal func_800678E0
|
||
|
/* 150DC 80039CDC 46000586 */ mov.s $f22, $f0
|
||
|
/* 150E0 80039CE0 8E220000 */ lw $v0, ($s1)
|
||
|
/* 150E4 80039CE4 30420080 */ andi $v0, $v0, 0x80
|
||
|
/* 150E8 80039CE8 10400007 */ beqz $v0, .L80039D08
|
||
|
/* 150EC 80039CEC 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 150F0 80039CF0 0C00E04E */ jal func_80038138
|
||
|
/* 150F4 80039CF4 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 150F8 80039CF8 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 150FC 80039CFC 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15100 80039D00 0C019D78 */ jal func_800675E0
|
||
|
/* 15104 80039D04 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039D08:
|
||
|
/* 15108 80039D08 C6200050 */ lwc1 $f0, 0x50($s1)
|
||
|
/* 1510C 80039D0C 4480A000 */ mtc1 $zero, $f20
|
||
|
/* 15110 80039D10 00000000 */ nop
|
||
|
/* 15114 80039D14 46140032 */ c.eq.s $f0, $f20
|
||
|
/* 15118 80039D18 00000000 */ nop
|
||
|
/* 1511C 80039D1C 4501000A */ bc1t .L80039D48
|
||
|
/* 15120 80039D20 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 15124 80039D24 4405A000 */ mfc1 $a1, $f20
|
||
|
/* 15128 80039D28 44060000 */ mfc1 $a2, $f0
|
||
|
/* 1512C 80039D2C 4407A000 */ mfc1 $a3, $f20
|
||
|
/* 15130 80039D30 0C019E38 */ jal func_800678E0
|
||
|
/* 15134 80039D34 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15138 80039D38 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 1513C 80039D3C 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15140 80039D40 0C019D78 */ jal func_800675E0
|
||
|
/* 15144 80039D44 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039D48:
|
||
|
/* 15148 80039D48 C6200048 */ lwc1 $f0, 0x48($s1)
|
||
|
/* 1514C 80039D4C 46140032 */ c.eq.s $f0, $f20
|
||
|
/* 15150 80039D50 00000000 */ nop
|
||
|
/* 15154 80039D54 4501000B */ bc1t .L80039D84
|
||
|
/* 15158 80039D58 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 1515C 80039D5C E7B40010 */ swc1 $f20, 0x10($sp)
|
||
|
/* 15160 80039D60 8E250048 */ lw $a1, 0x48($s1)
|
||
|
/* 15164 80039D64 4406A000 */ mfc1 $a2, $f20
|
||
|
/* 15168 80039D68 3C073F80 */ lui $a3, 0x3f80
|
||
|
/* 1516C 80039D6C 0C019EC0 */ jal func_80067B00
|
||
|
/* 15170 80039D70 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15174 80039D74 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15178 80039D78 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 1517C 80039D7C 0C019D78 */ jal func_800675E0
|
||
|
/* 15180 80039D80 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039D84:
|
||
|
/* 15184 80039D84 C6200044 */ lwc1 $f0, 0x44($s1)
|
||
|
/* 15188 80039D88 46140032 */ c.eq.s $f0, $f20
|
||
|
/* 1518C 80039D8C 00000000 */ nop
|
||
|
/* 15190 80039D90 4501000B */ bc1t .L80039DC0
|
||
|
/* 15194 80039D94 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 15198 80039D98 E7B40010 */ swc1 $f20, 0x10($sp)
|
||
|
/* 1519C 80039D9C 8E250044 */ lw $a1, 0x44($s1)
|
||
|
/* 151A0 80039DA0 3C063F80 */ lui $a2, 0x3f80
|
||
|
/* 151A4 80039DA4 4407A000 */ mfc1 $a3, $f20
|
||
|
/* 151A8 80039DA8 0C019EC0 */ jal func_80067B00
|
||
|
/* 151AC 80039DAC 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 151B0 80039DB0 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 151B4 80039DB4 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 151B8 80039DB8 0C019D78 */ jal func_800675E0
|
||
|
/* 151BC 80039DBC 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039DC0:
|
||
|
/* 151C0 80039DC0 C620004C */ lwc1 $f0, 0x4c($s1)
|
||
|
/* 151C4 80039DC4 46140032 */ c.eq.s $f0, $f20
|
||
|
/* 151C8 80039DC8 00000000 */ nop
|
||
|
/* 151CC 80039DCC 4501000E */ bc1t .L80039E08
|
||
|
/* 151D0 80039DD0 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 151D4 80039DD4 4406A000 */ mfc1 $a2, $f20
|
||
|
/* 151D8 80039DD8 4407A000 */ mfc1 $a3, $f20
|
||
|
/* 151DC 80039DDC 3C013F80 */ lui $at, 0x3f80
|
||
|
/* 151E0 80039DE0 44810000 */ mtc1 $at, $f0
|
||
|
/* 151E4 80039DE4 00000000 */ nop
|
||
|
/* 151E8 80039DE8 E7A00010 */ swc1 $f0, 0x10($sp)
|
||
|
/* 151EC 80039DEC 8E25004C */ lw $a1, 0x4c($s1)
|
||
|
/* 151F0 80039DF0 0C019EC0 */ jal func_80067B00
|
||
|
/* 151F4 80039DF4 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 151F8 80039DF8 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 151FC 80039DFC 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15200 80039E00 0C019D78 */ jal func_800675E0
|
||
|
/* 15204 80039E04 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039E08:
|
||
|
/* 15208 80039E08 C6200050 */ lwc1 $f0, 0x50($s1)
|
||
|
/* 1520C 80039E0C 46140032 */ c.eq.s $f0, $f20
|
||
|
/* 15210 80039E10 00000000 */ nop
|
||
|
/* 15214 80039E14 4501000B */ bc1t .L80039E44
|
||
|
/* 15218 80039E18 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 1521C 80039E1C 46000007 */ neg.s $f0, $f0
|
||
|
/* 15220 80039E20 4405A000 */ mfc1 $a1, $f20
|
||
|
/* 15224 80039E24 4407A000 */ mfc1 $a3, $f20
|
||
|
/* 15228 80039E28 44060000 */ mfc1 $a2, $f0
|
||
|
/* 1522C 80039E2C 0C019E38 */ jal func_800678E0
|
||
|
/* 15230 80039E30 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15234 80039E34 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15238 80039E38 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 1523C 80039E3C 0C019D78 */ jal func_800675E0
|
||
|
/* 15240 80039E40 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039E44:
|
||
|
/* 15244 80039E44 C6220318 */ lwc1 $f2, 0x318($s1)
|
||
|
/* 15248 80039E48 46141032 */ c.eq.s $f2, $f20
|
||
|
/* 1524C 80039E4C 00000000 */ nop
|
||
|
/* 15250 80039E50 45000006 */ bc1f .L80039E6C
|
||
|
/* 15254 80039E54 00000000 */ nop
|
||
|
/* 15258 80039E58 C620031C */ lwc1 $f0, 0x31c($s1)
|
||
|
/* 1525C 80039E5C 46140032 */ c.eq.s $f0, $f20
|
||
|
/* 15260 80039E60 00000000 */ nop
|
||
|
/* 15264 80039E64 4501000A */ bc1t .L80039E90
|
||
|
/* 15268 80039E68 00000000 */ nop
|
||
|
.L80039E6C:
|
||
|
/* 1526C 80039E6C 44051000 */ mfc1 $a1, $f2
|
||
|
/* 15270 80039E70 8E26031C */ lw $a2, 0x31c($s1)
|
||
|
/* 15274 80039E74 4407A000 */ mfc1 $a3, $f20
|
||
|
/* 15278 80039E78 0C019E38 */ jal func_800678E0
|
||
|
/* 1527C 80039E7C 27A40018 */ addiu $a0, $sp, 0x18
|
||
|
/* 15280 80039E80 27A40058 */ addiu $a0, $sp, 0x58
|
||
|
/* 15284 80039E84 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15288 80039E88 0C019D78 */ jal func_800675E0
|
||
|
/* 1528C 80039E8C 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039E90:
|
||
|
/* 15290 80039E90 C6200054 */ lwc1 $f0, 0x54($s1)
|
||
|
/* 15294 80039E94 3C01800A */ lui $at, %hi(D_80098460)
|
||
|
/* 15298 80039E98 D4268460 */ ldc1 $f6, %lo(D_80098460)($at)
|
||
|
/* 1529C 80039E9C 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 152A0 80039EA0 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 152A4 80039EA4 00000000 */ nop
|
||
|
/* 152A8 80039EA8 3C013FF0 */ lui $at, 0x3ff0
|
||
|
/* 152AC 80039EAC 44812800 */ mtc1 $at, $f5
|
||
|
/* 152B0 80039EB0 44802000 */ mtc1 $zero, $f4
|
||
|
/* 152B4 80039EB4 00000000 */ nop
|
||
|
/* 152B8 80039EB8 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 152BC 80039EBC 00000000 */ nop
|
||
|
/* 152C0 80039EC0 45000014 */ bc1f .L80039F14
|
||
|
/* 152C4 80039EC4 00000000 */ nop
|
||
|
/* 152C8 80039EC8 C6200058 */ lwc1 $f0, 0x58($s1)
|
||
|
/* 152CC 80039ECC C6220320 */ lwc1 $f2, 0x320($s1)
|
||
|
/* 152D0 80039ED0 46020002 */ mul.s $f0, $f0, $f2
|
||
|
/* 152D4 80039ED4 00000000 */ nop
|
||
|
/* 152D8 80039ED8 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 152DC 80039EDC 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 152E0 80039EE0 00000000 */ nop
|
||
|
/* 152E4 80039EE4 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 152E8 80039EE8 00000000 */ nop
|
||
|
/* 152EC 80039EEC 45000009 */ bc1f .L80039F14
|
||
|
/* 152F0 80039EF0 00000000 */ nop
|
||
|
/* 152F4 80039EF4 C620005C */ lwc1 $f0, 0x5c($s1)
|
||
|
/* 152F8 80039EF8 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 152FC 80039EFC 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 15300 80039F00 00000000 */ nop
|
||
|
/* 15304 80039F04 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 15308 80039F08 00000000 */ nop
|
||
|
/* 1530C 80039F0C 4501001F */ bc1t .L80039F8C
|
||
|
/* 15310 80039F10 00000000 */ nop
|
||
|
.L80039F14:
|
||
|
/* 15314 80039F14 C6260054 */ lwc1 $f6, 0x54($s1)
|
||
|
/* 15318 80039F18 3C01800A */ lui $at, %hi(D_80098468)
|
||
|
/* 1531C 80039F1C D4288468 */ ldc1 $f8, %lo(D_80098468)($at)
|
||
|
/* 15320 80039F20 460031A1 */ cvt.d.s $f6, $f6
|
||
|
/* 15324 80039F24 46283182 */ mul.d $f6, $f6, $f8
|
||
|
/* 15328 80039F28 00000000 */ nop
|
||
|
/* 1532C 80039F2C C622005C */ lwc1 $f2, 0x5c($s1)
|
||
|
/* 15330 80039F30 460010A1 */ cvt.d.s $f2, $f2
|
||
|
/* 15334 80039F34 46281082 */ mul.d $f2, $f2, $f8
|
||
|
/* 15338 80039F38 00000000 */ nop
|
||
|
/* 1533C 80039F3C C6200058 */ lwc1 $f0, 0x58($s1)
|
||
|
/* 15340 80039F40 C6240320 */ lwc1 $f4, 0x320($s1)
|
||
|
/* 15344 80039F44 46040002 */ mul.s $f0, $f0, $f4
|
||
|
/* 15348 80039F48 00000000 */ nop
|
||
|
/* 1534C 80039F4C 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 15350 80039F50 46280002 */ mul.d $f0, $f0, $f8
|
||
|
/* 15354 80039F54 00000000 */ nop
|
||
|
/* 15358 80039F58 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 1535C 80039F5C 462031A0 */ cvt.s.d $f6, $f6
|
||
|
/* 15360 80039F60 462010A0 */ cvt.s.d $f2, $f2
|
||
|
/* 15364 80039F64 44053000 */ mfc1 $a1, $f6
|
||
|
/* 15368 80039F68 44071000 */ mfc1 $a3, $f2
|
||
|
/* 1536C 80039F6C 46200020 */ cvt.s.d $f0, $f0
|
||
|
/* 15370 80039F70 44060000 */ mfc1 $a2, $f0
|
||
|
/* 15374 80039F74 0C019DE8 */ jal func_800677A0
|
||
|
/* 15378 80039F78 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 1537C 80039F7C 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15380 80039F80 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15384 80039F84 0C019D78 */ jal func_800675E0
|
||
|
/* 15388 80039F88 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L80039F8C:
|
||
|
/* 1538C 80039F8C 8E230000 */ lw $v1, ($s1)
|
||
|
/* 15390 80039F90 3C024000 */ lui $v0, 0x4000
|
||
|
/* 15394 80039F94 00621024 */ and $v0, $v1, $v0
|
||
|
/* 15398 80039F98 14400014 */ bnez $v0, .L80039FEC
|
||
|
/* 1539C 80039F9C 0220202D */ daddu $a0, $s1, $zero
|
||
|
/* 153A0 80039FA0 3C020100 */ lui $v0, 0x100
|
||
|
/* 153A4 80039FA4 00621024 */ and $v0, $v1, $v0
|
||
|
/* 153A8 80039FA8 14400017 */ bnez $v0, .L8003A008
|
||
|
/* 153AC 80039FAC 00000000 */ nop
|
||
|
/* 153B0 80039FB0 8E220028 */ lw $v0, 0x28($s1)
|
||
|
/* 153B4 80039FB4 10400014 */ beqz $v0, .L8003A008
|
||
|
/* 153B8 80039FB8 00000000 */ nop
|
||
|
/* 153BC 80039FBC 8E220024 */ lw $v0, 0x24($s1)
|
||
|
/* 153C0 80039FC0 04400011 */ bltz $v0, .L8003A008
|
||
|
/* 153C4 80039FC4 00000000 */ nop
|
||
|
/* 153C8 80039FC8 4600B28D */ trunc.w.s $f10, $f22
|
||
|
/* 153CC 80039FCC 44055000 */ mfc1 $a1, $f10
|
||
|
/* 153D0 80039FD0 0C00EC4F */ jal func_8003B13C
|
||
|
/* 153D4 80039FD4 27A60018 */ addiu $a2, $sp, 0x18
|
||
|
/* 153D8 80039FD8 8E240024 */ lw $a0, 0x24($s1)
|
||
|
/* 153DC 80039FDC 0C044846 */ jal func_80112118
|
||
|
/* 153E0 80039FE0 00000000 */ nop
|
||
|
/* 153E4 80039FE4 0800E802 */ j .L8003A008
|
||
|
/* 153E8 80039FE8 AE22002C */ sw $v0, 0x2c($s1)
|
||
|
.L80039FEC:
|
||
|
/* 153EC 80039FEC 4600B28D */ trunc.w.s $f10, $f22
|
||
|
/* 153F0 80039FF0 44055000 */ mfc1 $a1, $f10
|
||
|
/* 153F4 80039FF4 0C00EC4F */ jal func_8003B13C
|
||
|
/* 153F8 80039FF8 27A60018 */ addiu $a2, $sp, 0x18
|
||
|
/* 153FC 80039FFC 0C044685 */ jal func_80111A14
|
||
|
/* 15400 8003A000 24040001 */ addiu $a0, $zero, 1
|
||
|
/* 15404 8003A004 AE22002C */ sw $v0, 0x2c($s1)
|
||
|
.L8003A008:
|
||
|
/* 15408 8003A008 8E220000 */ lw $v0, ($s1)
|
||
|
/* 1540C 8003A00C 3C030002 */ lui $v1, 2
|
||
|
/* 15410 8003A010 00431024 */ and $v0, $v0, $v1
|
||
|
/* 15414 8003A014 1040008E */ beqz $v0, .L8003A250
|
||
|
/* 15418 8003A018 00000000 */ nop
|
||
|
/* 1541C 8003A01C 822200AB */ lb $v0, 0xab($s1)
|
||
|
/* 15420 8003A020 C622003C */ lwc1 $f2, 0x3c($s1)
|
||
|
/* 15424 8003A024 44820000 */ mtc1 $v0, $f0
|
||
|
/* 15428 8003A028 00000000 */ nop
|
||
|
/* 1542C 8003A02C 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 15430 8003A030 46001080 */ add.s $f2, $f2, $f0
|
||
|
/* 15434 8003A034 C6200040 */ lwc1 $f0, 0x40($s1)
|
||
|
/* 15438 8003A038 8E250038 */ lw $a1, 0x38($s1)
|
||
|
/* 1543C 8003A03C 46000007 */ neg.s $f0, $f0
|
||
|
/* 15440 8003A040 44070000 */ mfc1 $a3, $f0
|
||
|
/* 15444 8003A044 44061000 */ mfc1 $a2, $f2
|
||
|
/* 15448 8003A048 0C019E38 */ jal func_800678E0
|
||
|
/* 1544C 8003A04C 27A40018 */ addiu $a0, $sp, 0x18
|
||
|
/* 15450 8003A050 8E220000 */ lw $v0, ($s1)
|
||
|
/* 15454 8003A054 30420080 */ andi $v0, $v0, 0x80
|
||
|
/* 15458 8003A058 10400007 */ beqz $v0, .L8003A078
|
||
|
/* 1545C 8003A05C 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 15460 8003A060 0C00E04E */ jal func_80038138
|
||
|
/* 15464 8003A064 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15468 8003A068 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 1546C 8003A06C 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15470 8003A070 0C019D78 */ jal func_800675E0
|
||
|
/* 15474 8003A074 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L8003A078:
|
||
|
/* 15478 8003A078 C6200048 */ lwc1 $f0, 0x48($s1)
|
||
|
/* 1547C 8003A07C 44801000 */ mtc1 $zero, $f2
|
||
|
/* 15480 8003A080 00000000 */ nop
|
||
|
/* 15484 8003A084 46020032 */ c.eq.s $f0, $f2
|
||
|
/* 15488 8003A088 00000000 */ nop
|
||
|
/* 1548C 8003A08C 4500000B */ bc1f .L8003A0BC
|
||
|
/* 15490 8003A090 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 15494 8003A094 C6200044 */ lwc1 $f0, 0x44($s1)
|
||
|
/* 15498 8003A098 46020032 */ c.eq.s $f0, $f2
|
||
|
/* 1549C 8003A09C 00000000 */ nop
|
||
|
/* 154A0 8003A0A0 45000006 */ bc1f .L8003A0BC
|
||
|
/* 154A4 8003A0A4 00000000 */ nop
|
||
|
/* 154A8 8003A0A8 C620004C */ lwc1 $f0, 0x4c($s1)
|
||
|
/* 154AC 8003A0AC 46020032 */ c.eq.s $f0, $f2
|
||
|
/* 154B0 8003A0B0 00000000 */ nop
|
||
|
/* 154B4 8003A0B4 4501000A */ bc1t .L8003A0E0
|
||
|
/* 154B8 8003A0B8 00000000 */ nop
|
||
|
.L8003A0BC:
|
||
|
/* 154BC 8003A0BC 8E250044 */ lw $a1, 0x44($s1)
|
||
|
/* 154C0 8003A0C0 8E260048 */ lw $a2, 0x48($s1)
|
||
|
/* 154C4 8003A0C4 8E27004C */ lw $a3, 0x4c($s1)
|
||
|
/* 154C8 8003A0C8 0C0190A8 */ jal func_800642A0
|
||
|
/* 154CC 8003A0CC 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 154D0 8003A0D0 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 154D4 8003A0D4 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 154D8 8003A0D8 0C019D78 */ jal func_800675E0
|
||
|
/* 154DC 8003A0DC 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L8003A0E0:
|
||
|
/* 154E0 8003A0E0 C6200054 */ lwc1 $f0, 0x54($s1)
|
||
|
/* 154E4 8003A0E4 3C01800A */ lui $at, %hi(D_80098470)
|
||
|
/* 154E8 8003A0E8 D4268470 */ ldc1 $f6, %lo(D_80098470)($at)
|
||
|
/* 154EC 8003A0EC 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 154F0 8003A0F0 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 154F4 8003A0F4 00000000 */ nop
|
||
|
/* 154F8 8003A0F8 3C013FF0 */ lui $at, 0x3ff0
|
||
|
/* 154FC 8003A0FC 44812800 */ mtc1 $at, $f5
|
||
|
/* 15500 8003A100 44802000 */ mtc1 $zero, $f4
|
||
|
/* 15504 8003A104 00000000 */ nop
|
||
|
/* 15508 8003A108 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 1550C 8003A10C 00000000 */ nop
|
||
|
/* 15510 8003A110 45000014 */ bc1f .L8003A164
|
||
|
/* 15514 8003A114 00000000 */ nop
|
||
|
/* 15518 8003A118 C6200058 */ lwc1 $f0, 0x58($s1)
|
||
|
/* 1551C 8003A11C C6220320 */ lwc1 $f2, 0x320($s1)
|
||
|
/* 15520 8003A120 46020002 */ mul.s $f0, $f0, $f2
|
||
|
/* 15524 8003A124 00000000 */ nop
|
||
|
/* 15528 8003A128 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 1552C 8003A12C 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 15530 8003A130 00000000 */ nop
|
||
|
/* 15534 8003A134 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 15538 8003A138 00000000 */ nop
|
||
|
/* 1553C 8003A13C 45000009 */ bc1f .L8003A164
|
||
|
/* 15540 8003A140 00000000 */ nop
|
||
|
/* 15544 8003A144 C620005C */ lwc1 $f0, 0x5c($s1)
|
||
|
/* 15548 8003A148 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 1554C 8003A14C 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 15550 8003A150 00000000 */ nop
|
||
|
/* 15554 8003A154 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 15558 8003A158 00000000 */ nop
|
||
|
/* 1555C 8003A15C 4501001F */ bc1t .L8003A1DC
|
||
|
/* 15560 8003A160 00000000 */ nop
|
||
|
.L8003A164:
|
||
|
/* 15564 8003A164 C6260054 */ lwc1 $f6, 0x54($s1)
|
||
|
/* 15568 8003A168 3C01800A */ lui $at, %hi(D_80098478)
|
||
|
/* 1556C 8003A16C D4288478 */ ldc1 $f8, %lo(D_80098478)($at)
|
||
|
/* 15570 8003A170 460031A1 */ cvt.d.s $f6, $f6
|
||
|
/* 15574 8003A174 46283182 */ mul.d $f6, $f6, $f8
|
||
|
/* 15578 8003A178 00000000 */ nop
|
||
|
/* 1557C 8003A17C C624005C */ lwc1 $f4, 0x5c($s1)
|
||
|
/* 15580 8003A180 46002121 */ cvt.d.s $f4, $f4
|
||
|
/* 15584 8003A184 46282102 */ mul.d $f4, $f4, $f8
|
||
|
/* 15588 8003A188 00000000 */ nop
|
||
|
/* 1558C 8003A18C C6200058 */ lwc1 $f0, 0x58($s1)
|
||
|
/* 15590 8003A190 C6220320 */ lwc1 $f2, 0x320($s1)
|
||
|
/* 15594 8003A194 46020002 */ mul.s $f0, $f0, $f2
|
||
|
/* 15598 8003A198 00000000 */ nop
|
||
|
/* 1559C 8003A19C 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 155A0 8003A1A0 46280002 */ mul.d $f0, $f0, $f8
|
||
|
/* 155A4 8003A1A4 00000000 */ nop
|
||
|
/* 155A8 8003A1A8 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 155AC 8003A1AC 462031A0 */ cvt.s.d $f6, $f6
|
||
|
/* 155B0 8003A1B0 46202120 */ cvt.s.d $f4, $f4
|
||
|
/* 155B4 8003A1B4 44053000 */ mfc1 $a1, $f6
|
||
|
/* 155B8 8003A1B8 44072000 */ mfc1 $a3, $f4
|
||
|
/* 155BC 8003A1BC 46200020 */ cvt.s.d $f0, $f0
|
||
|
/* 155C0 8003A1C0 44060000 */ mfc1 $a2, $f0
|
||
|
/* 155C4 8003A1C4 0C019DE8 */ jal func_800677A0
|
||
|
/* 155C8 8003A1C8 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 155CC 8003A1CC 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 155D0 8003A1D0 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 155D4 8003A1D4 0C019D78 */ jal func_800675E0
|
||
|
/* 155D8 8003A1D8 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L8003A1DC:
|
||
|
/* 155DC 8003A1DC 8E230000 */ lw $v1, ($s1)
|
||
|
/* 155E0 8003A1E0 3C024000 */ lui $v0, 0x4000
|
||
|
/* 155E4 8003A1E4 00621024 */ and $v0, $v1, $v0
|
||
|
/* 155E8 8003A1E8 14400011 */ bnez $v0, .L8003A230
|
||
|
/* 155EC 8003A1EC 27A20018 */ addiu $v0, $sp, 0x18
|
||
|
/* 155F0 8003A1F0 3C020100 */ lui $v0, 0x100
|
||
|
/* 155F4 8003A1F4 00621024 */ and $v0, $v1, $v0
|
||
|
/* 155F8 8003A1F8 14400015 */ bnez $v0, .L8003A250
|
||
|
/* 155FC 8003A1FC 00000000 */ nop
|
||
|
/* 15600 8003A200 8E220028 */ lw $v0, 0x28($s1)
|
||
|
/* 15604 8003A204 10400012 */ beqz $v0, .L8003A250
|
||
|
/* 15608 8003A208 0000302D */ daddu $a2, $zero, $zero
|
||
|
/* 1560C 8003A20C 4600B28D */ trunc.w.s $f10, $f22
|
||
|
/* 15610 8003A210 44055000 */ mfc1 $a1, $f10
|
||
|
/* 15614 8003A214 27A20018 */ addiu $v0, $sp, 0x18
|
||
|
/* 15618 8003A218 AFA20010 */ sw $v0, 0x10($sp)
|
||
|
/* 1561C 8003A21C 8E240024 */ lw $a0, 0x24($s1)
|
||
|
/* 15620 8003A220 0C0447CA */ jal func_80111F28
|
||
|
/* 15624 8003A224 00C0382D */ daddu $a3, $a2, $zero
|
||
|
/* 15628 8003A228 0800E894 */ j .L8003A250
|
||
|
/* 1562C 8003A22C 00000000 */ nop
|
||
|
.L8003A230:
|
||
|
/* 15630 8003A230 AFA20010 */ sw $v0, 0x10($sp)
|
||
|
/* 15634 8003A234 3C044000 */ lui $a0, 0x4000
|
||
|
/* 15638 8003A238 34840001 */ ori $a0, $a0, 1
|
||
|
/* 1563C 8003A23C 4600B28D */ trunc.w.s $f10, $f22
|
||
|
/* 15640 8003A240 44055000 */ mfc1 $a1, $f10
|
||
|
/* 15644 8003A244 0000302D */ daddu $a2, $zero, $zero
|
||
|
/* 15648 8003A248 0C0445E4 */ jal func_80111790
|
||
|
/* 1564C 8003A24C 00C0382D */ daddu $a3, $a2, $zero
|
||
|
.L8003A250:
|
||
|
/* 15650 8003A250 8E220000 */ lw $v0, ($s1)
|
||
|
/* 15654 8003A254 3C030008 */ lui $v1, 8
|
||
|
/* 15658 8003A258 00431024 */ and $v0, $v0, $v1
|
||
|
/* 1565C 8003A25C 1040008A */ beqz $v0, .L8003A488
|
||
|
/* 15660 8003A260 00000000 */ nop
|
||
|
/* 15664 8003A264 822200AB */ lb $v0, 0xab($s1)
|
||
|
/* 15668 8003A268 C622003C */ lwc1 $f2, 0x3c($s1)
|
||
|
/* 1566C 8003A26C 44820000 */ mtc1 $v0, $f0
|
||
|
/* 15670 8003A270 00000000 */ nop
|
||
|
/* 15674 8003A274 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 15678 8003A278 46001080 */ add.s $f2, $f2, $f0
|
||
|
/* 1567C 8003A27C 8E250038 */ lw $a1, 0x38($s1)
|
||
|
/* 15680 8003A280 8E270040 */ lw $a3, 0x40($s1)
|
||
|
/* 15684 8003A284 46001087 */ neg.s $f2, $f2
|
||
|
/* 15688 8003A288 44061000 */ mfc1 $a2, $f2
|
||
|
/* 1568C 8003A28C 0C019E38 */ jal func_800678E0
|
||
|
/* 15690 8003A290 27A40018 */ addiu $a0, $sp, 0x18
|
||
|
/* 15694 8003A294 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 15698 8003A298 0C00E04E */ jal func_80038138
|
||
|
/* 1569C 8003A29C 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 156A0 8003A2A0 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 156A4 8003A2A4 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 156A8 8003A2A8 0C019D78 */ jal func_800675E0
|
||
|
/* 156AC 8003A2AC 00A0302D */ daddu $a2, $a1, $zero
|
||
|
/* 156B0 8003A2B0 C6200048 */ lwc1 $f0, 0x48($s1)
|
||
|
/* 156B4 8003A2B4 44801000 */ mtc1 $zero, $f2
|
||
|
/* 156B8 8003A2B8 00000000 */ nop
|
||
|
/* 156BC 8003A2BC 46020032 */ c.eq.s $f0, $f2
|
||
|
/* 156C0 8003A2C0 00000000 */ nop
|
||
|
/* 156C4 8003A2C4 4500000B */ bc1f .L8003A2F4
|
||
|
/* 156C8 8003A2C8 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 156CC 8003A2CC C6200044 */ lwc1 $f0, 0x44($s1)
|
||
|
/* 156D0 8003A2D0 46020032 */ c.eq.s $f0, $f2
|
||
|
/* 156D4 8003A2D4 00000000 */ nop
|
||
|
/* 156D8 8003A2D8 45000006 */ bc1f .L8003A2F4
|
||
|
/* 156DC 8003A2DC 00000000 */ nop
|
||
|
/* 156E0 8003A2E0 C620004C */ lwc1 $f0, 0x4c($s1)
|
||
|
/* 156E4 8003A2E4 46020032 */ c.eq.s $f0, $f2
|
||
|
/* 156E8 8003A2E8 00000000 */ nop
|
||
|
/* 156EC 8003A2EC 4501000A */ bc1t .L8003A318
|
||
|
/* 156F0 8003A2F0 00000000 */ nop
|
||
|
.L8003A2F4:
|
||
|
/* 156F4 8003A2F4 8E250044 */ lw $a1, 0x44($s1)
|
||
|
/* 156F8 8003A2F8 8E260048 */ lw $a2, 0x48($s1)
|
||
|
/* 156FC 8003A2FC 8E27004C */ lw $a3, 0x4c($s1)
|
||
|
/* 15700 8003A300 0C0190A8 */ jal func_800642A0
|
||
|
/* 15704 8003A304 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15708 8003A308 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 1570C 8003A30C 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 15710 8003A310 0C019D78 */ jal func_800675E0
|
||
|
/* 15714 8003A314 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L8003A318:
|
||
|
/* 15718 8003A318 C6200054 */ lwc1 $f0, 0x54($s1)
|
||
|
/* 1571C 8003A31C 3C01800A */ lui $at, %hi(D_80098480)
|
||
|
/* 15720 8003A320 D4268480 */ ldc1 $f6, %lo(D_80098480)($at)
|
||
|
/* 15724 8003A324 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 15728 8003A328 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 1572C 8003A32C 00000000 */ nop
|
||
|
/* 15730 8003A330 3C013FF0 */ lui $at, 0x3ff0
|
||
|
/* 15734 8003A334 44812800 */ mtc1 $at, $f5
|
||
|
/* 15738 8003A338 44802000 */ mtc1 $zero, $f4
|
||
|
/* 1573C 8003A33C 00000000 */ nop
|
||
|
/* 15740 8003A340 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 15744 8003A344 00000000 */ nop
|
||
|
/* 15748 8003A348 45000014 */ bc1f .L8003A39C
|
||
|
/* 1574C 8003A34C 00000000 */ nop
|
||
|
/* 15750 8003A350 C6200058 */ lwc1 $f0, 0x58($s1)
|
||
|
/* 15754 8003A354 C6220320 */ lwc1 $f2, 0x320($s1)
|
||
|
/* 15758 8003A358 46020002 */ mul.s $f0, $f0, $f2
|
||
|
/* 1575C 8003A35C 00000000 */ nop
|
||
|
/* 15760 8003A360 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 15764 8003A364 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 15768 8003A368 00000000 */ nop
|
||
|
/* 1576C 8003A36C 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 15770 8003A370 00000000 */ nop
|
||
|
/* 15774 8003A374 45000009 */ bc1f .L8003A39C
|
||
|
/* 15778 8003A378 00000000 */ nop
|
||
|
/* 1577C 8003A37C C620005C */ lwc1 $f0, 0x5c($s1)
|
||
|
/* 15780 8003A380 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 15784 8003A384 46260002 */ mul.d $f0, $f0, $f6
|
||
|
/* 15788 8003A388 00000000 */ nop
|
||
|
/* 1578C 8003A38C 46240032 */ c.eq.d $f0, $f4
|
||
|
/* 15790 8003A390 00000000 */ nop
|
||
|
/* 15794 8003A394 4501001F */ bc1t .L8003A414
|
||
|
/* 15798 8003A398 00000000 */ nop
|
||
|
.L8003A39C:
|
||
|
/* 1579C 8003A39C C6260054 */ lwc1 $f6, 0x54($s1)
|
||
|
/* 157A0 8003A3A0 3C01800A */ lui $at, %hi(D_80098488)
|
||
|
/* 157A4 8003A3A4 D4288488 */ ldc1 $f8, %lo(D_80098488)($at)
|
||
|
/* 157A8 8003A3A8 460031A1 */ cvt.d.s $f6, $f6
|
||
|
/* 157AC 8003A3AC 46283182 */ mul.d $f6, $f6, $f8
|
||
|
/* 157B0 8003A3B0 00000000 */ nop
|
||
|
/* 157B4 8003A3B4 C624005C */ lwc1 $f4, 0x5c($s1)
|
||
|
/* 157B8 8003A3B8 46002121 */ cvt.d.s $f4, $f4
|
||
|
/* 157BC 8003A3BC 46282102 */ mul.d $f4, $f4, $f8
|
||
|
/* 157C0 8003A3C0 00000000 */ nop
|
||
|
/* 157C4 8003A3C4 C6200058 */ lwc1 $f0, 0x58($s1)
|
||
|
/* 157C8 8003A3C8 C6220320 */ lwc1 $f2, 0x320($s1)
|
||
|
/* 157CC 8003A3CC 46020002 */ mul.s $f0, $f0, $f2
|
||
|
/* 157D0 8003A3D0 00000000 */ nop
|
||
|
/* 157D4 8003A3D4 46000021 */ cvt.d.s $f0, $f0
|
||
|
/* 157D8 8003A3D8 46280002 */ mul.d $f0, $f0, $f8
|
||
|
/* 157DC 8003A3DC 00000000 */ nop
|
||
|
/* 157E0 8003A3E0 27B00058 */ addiu $s0, $sp, 0x58
|
||
|
/* 157E4 8003A3E4 462031A0 */ cvt.s.d $f6, $f6
|
||
|
/* 157E8 8003A3E8 46202120 */ cvt.s.d $f4, $f4
|
||
|
/* 157EC 8003A3EC 44053000 */ mfc1 $a1, $f6
|
||
|
/* 157F0 8003A3F0 44072000 */ mfc1 $a3, $f4
|
||
|
/* 157F4 8003A3F4 46200020 */ cvt.s.d $f0, $f0
|
||
|
/* 157F8 8003A3F8 44060000 */ mfc1 $a2, $f0
|
||
|
/* 157FC 8003A3FC 0C019DE8 */ jal func_800677A0
|
||
|
/* 15800 8003A400 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15804 8003A404 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 15808 8003A408 27A50018 */ addiu $a1, $sp, 0x18
|
||
|
/* 1580C 8003A40C 0C019D78 */ jal func_800675E0
|
||
|
/* 15810 8003A410 00A0302D */ daddu $a2, $a1, $zero
|
||
|
.L8003A414:
|
||
|
/* 15814 8003A414 8E230000 */ lw $v1, ($s1)
|
||
|
/* 15818 8003A418 3C024000 */ lui $v0, 0x4000
|
||
|
/* 1581C 8003A41C 00621024 */ and $v0, $v1, $v0
|
||
|
/* 15820 8003A420 14400011 */ bnez $v0, .L8003A468
|
||
|
/* 15824 8003A424 27A20018 */ addiu $v0, $sp, 0x18
|
||
|
/* 15828 8003A428 3C020100 */ lui $v0, 0x100
|
||
|
/* 1582C 8003A42C 00621024 */ and $v0, $v1, $v0
|
||
|
/* 15830 8003A430 14400015 */ bnez $v0, .L8003A488
|
||
|
/* 15834 8003A434 00000000 */ nop
|
||
|
/* 15838 8003A438 8E220028 */ lw $v0, 0x28($s1)
|
||
|
/* 1583C 8003A43C 10400012 */ beqz $v0, .L8003A488
|
||
|
/* 15840 8003A440 0000302D */ daddu $a2, $zero, $zero
|
||
|
/* 15844 8003A444 4600B28D */ trunc.w.s $f10, $f22
|
||
|
/* 15848 8003A448 44055000 */ mfc1 $a1, $f10
|
||
|
/* 1584C 8003A44C 27A20018 */ addiu $v0, $sp, 0x18
|
||
|
/* 15850 8003A450 AFA20010 */ sw $v0, 0x10($sp)
|
||
|
/* 15854 8003A454 8E240024 */ lw $a0, 0x24($s1)
|
||
|
/* 15858 8003A458 0C0447CA */ jal func_80111F28
|
||
|
/* 1585C 8003A45C 00C0382D */ daddu $a3, $a2, $zero
|
||
|
/* 15860 8003A460 0800E922 */ j .L8003A488
|
||
|
/* 15864 8003A464 00000000 */ nop
|
||
|
.L8003A468:
|
||
|
/* 15868 8003A468 AFA20010 */ sw $v0, 0x10($sp)
|
||
|
/* 1586C 8003A46C 3C044000 */ lui $a0, 0x4000
|
||
|
/* 15870 8003A470 34840001 */ ori $a0, $a0, 1
|
||
|
/* 15874 8003A474 4600B28D */ trunc.w.s $f10, $f22
|
||
|
/* 15878 8003A478 44055000 */ mfc1 $a1, $f10
|
||
|
/* 1587C 8003A47C 0000302D */ daddu $a2, $zero, $zero
|
||
|
/* 15880 8003A480 0C0445E4 */ jal func_80111790
|
||
|
/* 15884 8003A484 00C0382D */ daddu $a3, $a2, $zero
|
||
|
.L8003A488:
|
||
|
/* 15888 8003A488 8E220008 */ lw $v0, 8($s1)
|
||
|
/* 1588C 8003A48C 0040F809 */ jalr $v0
|
||
|
/* 15890 8003A490 0220202D */ daddu $a0, $s1, $zero
|
||
|
/* 15894 8003A494 8FBF00A0 */ lw $ra, 0xa0($sp)
|
||
|
/* 15898 8003A498 8FB1009C */ lw $s1, 0x9c($sp)
|
||
|
/* 1589C 8003A49C 8FB00098 */ lw $s0, 0x98($sp)
|
||
|
/* 158A0 8003A4A0 D7B600B0 */ ldc1 $f22, 0xb0($sp)
|
||
|
/* 158A4 8003A4A4 D7B400A8 */ ldc1 $f20, 0xa8($sp)
|
||
|
/* 158A8 8003A4A8 03E00008 */ jr $ra
|
||
|
/* 158AC 8003A4AC 27BD00B8 */ addiu $sp, $sp, 0xb8
|