mirror of https://github.com/n64decomp/mk64.git
2502 lines
116 KiB
ArmAsm
2502 lines
116 KiB
ArmAsm
# Mario Kart 64 (U) disassembly and split file
|
|
# generated by n64split v0.4a - N64 ROM splitter
|
|
|
|
# assembler directives
|
|
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
.set gp=64
|
|
|
|
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
glabel func_8003DC40
|
|
/* 03E840 8003DC40 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03E844 8003DC44 44812000 */ mtc1 $at, $f4
|
|
/* 03E848 8003DC48 03E00008 */ jr $ra
|
|
/* 03E84C 8003DC4C E4840DAC */ swc1 $f4, 0xdac($a0)
|
|
|
|
/* 03E850 8003DC50 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 03E854 8003DC54 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 03E858 8003DC58 C4860230 */ lwc1 $f6, 0x230($a0)
|
|
/* 03E85C 8003DC5C C484023C */ lwc1 $f4, 0x23c($a0)
|
|
/* 03E860 8003DC60 00803025 */ move $a2, $a0
|
|
/* 03E864 8003DC64 00A03825 */ move $a3, $a1
|
|
/* 03E868 8003DC68 4604303E */ c.le.s $f6, $f4
|
|
/* 03E86C 8003DC6C 00E02025 */ move $a0, $a3
|
|
/* 03E870 8003DC70 45020039 */ bc1fl .L8003DD58
|
|
/* 03E874 8003DC74 C4C6012C */ lwc1 $f6, 0x12c($a2)
|
|
/* 03E878 8003DC78 C4C8012C */ lwc1 $f8, 0x12c($a2)
|
|
/* 03E87C 8003DC7C 3C01800F */ lui $at, %hi(D_800EDF10)
|
|
/* 03E880 8003DC80 D430DF10 */ ldc1 $f16, %lo(D_800EDF10)($at)
|
|
/* 03E884 8003DC84 460042A1 */ cvt.d.s $f10, $f8
|
|
/* 03E888 8003DC88 462A803E */ c.le.d $f16, $f10
|
|
/* 03E88C 8003DC8C 00000000 */ nop
|
|
/* 03E890 8003DC90 4502002A */ bc1fl .L8003DD3C
|
|
/* 03E894 8003DC94 44805000 */ mtc1 $zero, $f10
|
|
/* 03E898 8003DC98 84CE0206 */ lh $t6, 0x206($a2)
|
|
/* 03E89C 8003DC9C 240200B6 */ li $v0, 182
|
|
/* 03E8A0 8003DCA0 24030078 */ li $v1, 120
|
|
/* 03E8A4 8003DCA4 01C2001A */ div $zero, $t6, $v0
|
|
/* 03E8A8 8003DCA8 00007812 */ mflo $t7
|
|
/* 03E8AC 8003DCAC 14400002 */ bnez $v0, .L8003DCB8
|
|
/* 03E8B0 8003DCB0 00000000 */ nop
|
|
/* 03E8B4 8003DCB4 0007000D */ break 7
|
|
.L8003DCB8:
|
|
/* 03E8B8 8003DCB8 2401FFFF */ li $at, -1
|
|
/* 03E8BC 8003DCBC 14410004 */ bne $v0, $at, .L8003DCD0
|
|
/* 03E8C0 8003DCC0 3C018000 */ lui $at, 0x8000
|
|
/* 03E8C4 8003DCC4 15C10002 */ bne $t6, $at, .L8003DCD0
|
|
/* 03E8C8 8003DCC8 00000000 */ nop
|
|
/* 03E8CC 8003DCCC 0006000D */ break 6
|
|
.L8003DCD0:
|
|
/* 03E8D0 8003DCD0 01E30019 */ multu $t7, $v1
|
|
/* 03E8D4 8003DCD4 0000C012 */ mflo $t8
|
|
/* 03E8D8 8003DCD8 44989000 */ mtc1 $t8, $f18
|
|
/* 03E8DC 8003DCDC 00000000 */ nop
|
|
/* 03E8E0 8003DCE0 46809120 */ cvt.s.w $f4, $f18
|
|
/* 03E8E4 8003DCE4 E4E40000 */ swc1 $f4, ($a3)
|
|
/* 03E8E8 8003DCE8 84D900C4 */ lh $t9, 0xc4($a2)
|
|
/* 03E8EC 8003DCEC 0322001A */ div $zero, $t9, $v0
|
|
/* 03E8F0 8003DCF0 00004012 */ mflo $t0
|
|
/* 03E8F4 8003DCF4 00084823 */ negu $t1, $t0
|
|
/* 03E8F8 8003DCF8 14400002 */ bnez $v0, .L8003DD04
|
|
/* 03E8FC 8003DCFC 00000000 */ nop
|
|
/* 03E900 8003DD00 0007000D */ break 7
|
|
.L8003DD04:
|
|
/* 03E904 8003DD04 2401FFFF */ li $at, -1
|
|
/* 03E908 8003DD08 14410004 */ bne $v0, $at, .L8003DD1C
|
|
/* 03E90C 8003DD0C 3C018000 */ lui $at, 0x8000
|
|
/* 03E910 8003DD10 17210002 */ bne $t9, $at, .L8003DD1C
|
|
/* 03E914 8003DD14 00000000 */ nop
|
|
/* 03E918 8003DD18 0006000D */ break 6
|
|
.L8003DD1C:
|
|
/* 03E91C 8003DD1C 01230019 */ multu $t1, $v1
|
|
/* 03E920 8003DD20 00005012 */ mflo $t2
|
|
/* 03E924 8003DD24 448A3000 */ mtc1 $t2, $f6
|
|
/* 03E928 8003DD28 00000000 */ nop
|
|
/* 03E92C 8003DD2C 46803220 */ cvt.s.w $f8, $f6
|
|
/* 03E930 8003DD30 1000003E */ b .L8003DE2C
|
|
/* 03E934 8003DD34 E4E80008 */ swc1 $f8, 8($a3)
|
|
/* 03E938 8003DD38 44805000 */ mtc1 $zero, $f10
|
|
.L8003DD3C:
|
|
/* 03E93C 8003DD3C 44809000 */ mtc1 $zero, $f18
|
|
/* 03E940 8003DD40 46805420 */ cvt.s.w $f16, $f10
|
|
/* 03E944 8003DD44 46809120 */ cvt.s.w $f4, $f18
|
|
/* 03E948 8003DD48 E4F00000 */ swc1 $f16, ($a3)
|
|
/* 03E94C 8003DD4C 10000037 */ b .L8003DE2C
|
|
/* 03E950 8003DD50 E4E40008 */ swc1 $f4, 8($a3)
|
|
/* 03E954 8003DD54 C4C6012C */ lwc1 $f6, 0x12c($a2)
|
|
.L8003DD58:
|
|
/* 03E958 8003DD58 3C01800F */ lui $at, %hi(D_800EDF18)
|
|
/* 03E95C 8003DD5C D42ADF18 */ ldc1 $f10, %lo(D_800EDF18)($at)
|
|
/* 03E960 8003DD60 46003221 */ cvt.d.s $f8, $f6
|
|
/* 03E964 8003DD64 4628503E */ c.le.d $f10, $f8
|
|
/* 03E968 8003DD68 00000000 */ nop
|
|
/* 03E96C 8003DD6C 4502002A */ bc1fl .L8003DE18
|
|
/* 03E970 8003DD70 44804000 */ mtc1 $zero, $f8
|
|
/* 03E974 8003DD74 84CB0206 */ lh $t3, 0x206($a2)
|
|
/* 03E978 8003DD78 240200B6 */ li $v0, 182
|
|
/* 03E97C 8003DD7C 24030078 */ li $v1, 120
|
|
/* 03E980 8003DD80 0162001A */ div $zero, $t3, $v0
|
|
/* 03E984 8003DD84 00006012 */ mflo $t4
|
|
/* 03E988 8003DD88 14400002 */ bnez $v0, .L8003DD94
|
|
/* 03E98C 8003DD8C 00000000 */ nop
|
|
/* 03E990 8003DD90 0007000D */ break 7
|
|
.L8003DD94:
|
|
/* 03E994 8003DD94 2401FFFF */ li $at, -1
|
|
/* 03E998 8003DD98 14410004 */ bne $v0, $at, .L8003DDAC
|
|
/* 03E99C 8003DD9C 3C018000 */ lui $at, 0x8000
|
|
/* 03E9A0 8003DDA0 15610002 */ bne $t3, $at, .L8003DDAC
|
|
/* 03E9A4 8003DDA4 00000000 */ nop
|
|
/* 03E9A8 8003DDA8 0006000D */ break 6
|
|
.L8003DDAC:
|
|
/* 03E9AC 8003DDAC 01830019 */ multu $t4, $v1
|
|
/* 03E9B0 8003DDB0 00006812 */ mflo $t5
|
|
/* 03E9B4 8003DDB4 448D8000 */ mtc1 $t5, $f16
|
|
/* 03E9B8 8003DDB8 00000000 */ nop
|
|
/* 03E9BC 8003DDBC 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 03E9C0 8003DDC0 E4F20000 */ swc1 $f18, ($a3)
|
|
/* 03E9C4 8003DDC4 84CE00C4 */ lh $t6, 0xc4($a2)
|
|
/* 03E9C8 8003DDC8 01C2001A */ div $zero, $t6, $v0
|
|
/* 03E9CC 8003DDCC 00007812 */ mflo $t7
|
|
/* 03E9D0 8003DDD0 000FC023 */ negu $t8, $t7
|
|
/* 03E9D4 8003DDD4 14400002 */ bnez $v0, .L8003DDE0
|
|
/* 03E9D8 8003DDD8 00000000 */ nop
|
|
/* 03E9DC 8003DDDC 0007000D */ break 7
|
|
.L8003DDE0:
|
|
/* 03E9E0 8003DDE0 2401FFFF */ li $at, -1
|
|
/* 03E9E4 8003DDE4 14410004 */ bne $v0, $at, .L8003DDF8
|
|
/* 03E9E8 8003DDE8 3C018000 */ lui $at, 0x8000
|
|
/* 03E9EC 8003DDEC 15C10002 */ bne $t6, $at, .L8003DDF8
|
|
/* 03E9F0 8003DDF0 00000000 */ nop
|
|
/* 03E9F4 8003DDF4 0006000D */ break 6
|
|
.L8003DDF8:
|
|
/* 03E9F8 8003DDF8 03030019 */ multu $t8, $v1
|
|
/* 03E9FC 8003DDFC 0000C812 */ mflo $t9
|
|
/* 03EA00 8003DE00 44992000 */ mtc1 $t9, $f4
|
|
/* 03EA04 8003DE04 00000000 */ nop
|
|
/* 03EA08 8003DE08 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 03EA0C 8003DE0C 10000007 */ b .L8003DE2C
|
|
/* 03EA10 8003DE10 E4E60008 */ swc1 $f6, 8($a3)
|
|
/* 03EA14 8003DE14 44804000 */ mtc1 $zero, $f8
|
|
.L8003DE18:
|
|
/* 03EA18 8003DE18 44808000 */ mtc1 $zero, $f16
|
|
/* 03EA1C 8003DE1C 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 03EA20 8003DE20 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 03EA24 8003DE24 E4EA0000 */ swc1 $f10, ($a3)
|
|
/* 03EA28 8003DE28 E4F20008 */ swc1 $f18, 8($a3)
|
|
.L8003DE2C:
|
|
/* 03EA2C 8003DE2C 44802000 */ mtc1 $zero, $f4
|
|
/* 03EA30 8003DE30 24C50174 */ addiu $a1, $a2, 0x174
|
|
/* 03EA34 8003DE34 0C0AD8EE */ jal func_802B63B8
|
|
/* 03EA38 8003DE38 E4E40004 */ swc1 $f4, 4($a3)
|
|
/* 03EA3C 8003DE3C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 03EA40 8003DE40 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 03EA44 8003DE44 03E00008 */ jr $ra
|
|
/* 03EA48 8003DE48 00000000 */ nop
|
|
|
|
/* 03EA4C 8003DE4C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 03EA50 8003DE50 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 03EA54 8003DE54 C4860230 */ lwc1 $f6, 0x230($a0)
|
|
/* 03EA58 8003DE58 C484023C */ lwc1 $f4, 0x23c($a0)
|
|
/* 03EA5C 8003DE5C 00803025 */ move $a2, $a0
|
|
/* 03EA60 8003DE60 00A03825 */ move $a3, $a1
|
|
/* 03EA64 8003DE64 4604303E */ c.le.s $f6, $f4
|
|
/* 03EA68 8003DE68 00E02025 */ move $a0, $a3
|
|
/* 03EA6C 8003DE6C 45020039 */ bc1fl .L8003DF54
|
|
/* 03EA70 8003DE70 C4C60138 */ lwc1 $f6, 0x138($a2)
|
|
/* 03EA74 8003DE74 C4C80138 */ lwc1 $f8, 0x138($a2)
|
|
/* 03EA78 8003DE78 3C01800F */ lui $at, %hi(D_800EDF20)
|
|
/* 03EA7C 8003DE7C D430DF20 */ ldc1 $f16, %lo(D_800EDF20)($at)
|
|
/* 03EA80 8003DE80 460042A1 */ cvt.d.s $f10, $f8
|
|
/* 03EA84 8003DE84 462A803E */ c.le.d $f16, $f10
|
|
/* 03EA88 8003DE88 00000000 */ nop
|
|
/* 03EA8C 8003DE8C 4502002A */ bc1fl .L8003DF38
|
|
/* 03EA90 8003DE90 44805000 */ mtc1 $zero, $f10
|
|
/* 03EA94 8003DE94 84CE0206 */ lh $t6, 0x206($a2)
|
|
/* 03EA98 8003DE98 240200B6 */ li $v0, 182
|
|
/* 03EA9C 8003DE9C 24030078 */ li $v1, 120
|
|
/* 03EAA0 8003DEA0 01C2001A */ div $zero, $t6, $v0
|
|
/* 03EAA4 8003DEA4 00007812 */ mflo $t7
|
|
/* 03EAA8 8003DEA8 14400002 */ bnez $v0, .L8003DEB4
|
|
/* 03EAAC 8003DEAC 00000000 */ nop
|
|
/* 03EAB0 8003DEB0 0007000D */ break 7
|
|
.L8003DEB4:
|
|
/* 03EAB4 8003DEB4 2401FFFF */ li $at, -1
|
|
/* 03EAB8 8003DEB8 14410004 */ bne $v0, $at, .L8003DECC
|
|
/* 03EABC 8003DEBC 3C018000 */ lui $at, 0x8000
|
|
/* 03EAC0 8003DEC0 15C10002 */ bne $t6, $at, .L8003DECC
|
|
/* 03EAC4 8003DEC4 00000000 */ nop
|
|
/* 03EAC8 8003DEC8 0006000D */ break 6
|
|
.L8003DECC:
|
|
/* 03EACC 8003DECC 01E30019 */ multu $t7, $v1
|
|
/* 03EAD0 8003DED0 0000C012 */ mflo $t8
|
|
/* 03EAD4 8003DED4 44989000 */ mtc1 $t8, $f18
|
|
/* 03EAD8 8003DED8 00000000 */ nop
|
|
/* 03EADC 8003DEDC 46809120 */ cvt.s.w $f4, $f18
|
|
/* 03EAE0 8003DEE0 E4E40000 */ swc1 $f4, ($a3)
|
|
/* 03EAE4 8003DEE4 84D900C4 */ lh $t9, 0xc4($a2)
|
|
/* 03EAE8 8003DEE8 0322001A */ div $zero, $t9, $v0
|
|
/* 03EAEC 8003DEEC 00004012 */ mflo $t0
|
|
/* 03EAF0 8003DEF0 00084823 */ negu $t1, $t0
|
|
/* 03EAF4 8003DEF4 14400002 */ bnez $v0, .L8003DF00
|
|
/* 03EAF8 8003DEF8 00000000 */ nop
|
|
/* 03EAFC 8003DEFC 0007000D */ break 7
|
|
.L8003DF00:
|
|
/* 03EB00 8003DF00 2401FFFF */ li $at, -1
|
|
/* 03EB04 8003DF04 14410004 */ bne $v0, $at, .L8003DF18
|
|
/* 03EB08 8003DF08 3C018000 */ lui $at, 0x8000
|
|
/* 03EB0C 8003DF0C 17210002 */ bne $t9, $at, .L8003DF18
|
|
/* 03EB10 8003DF10 00000000 */ nop
|
|
/* 03EB14 8003DF14 0006000D */ break 6
|
|
.L8003DF18:
|
|
/* 03EB18 8003DF18 01230019 */ multu $t1, $v1
|
|
/* 03EB1C 8003DF1C 00005012 */ mflo $t2
|
|
/* 03EB20 8003DF20 448A3000 */ mtc1 $t2, $f6
|
|
/* 03EB24 8003DF24 00000000 */ nop
|
|
/* 03EB28 8003DF28 46803220 */ cvt.s.w $f8, $f6
|
|
/* 03EB2C 8003DF2C 1000003E */ b .L8003E028
|
|
/* 03EB30 8003DF30 E4E80008 */ swc1 $f8, 8($a3)
|
|
/* 03EB34 8003DF34 44805000 */ mtc1 $zero, $f10
|
|
.L8003DF38:
|
|
/* 03EB38 8003DF38 44809000 */ mtc1 $zero, $f18
|
|
/* 03EB3C 8003DF3C 46805420 */ cvt.s.w $f16, $f10
|
|
/* 03EB40 8003DF40 46809120 */ cvt.s.w $f4, $f18
|
|
/* 03EB44 8003DF44 E4F00000 */ swc1 $f16, ($a3)
|
|
/* 03EB48 8003DF48 10000037 */ b .L8003E028
|
|
/* 03EB4C 8003DF4C E4E40008 */ swc1 $f4, 8($a3)
|
|
/* 03EB50 8003DF50 C4C60138 */ lwc1 $f6, 0x138($a2)
|
|
.L8003DF54:
|
|
/* 03EB54 8003DF54 3C01800F */ lui $at, %hi(D_800EDF28)
|
|
/* 03EB58 8003DF58 D42ADF28 */ ldc1 $f10, %lo(D_800EDF28)($at)
|
|
/* 03EB5C 8003DF5C 46003221 */ cvt.d.s $f8, $f6
|
|
/* 03EB60 8003DF60 4628503E */ c.le.d $f10, $f8
|
|
/* 03EB64 8003DF64 00000000 */ nop
|
|
/* 03EB68 8003DF68 4502002A */ bc1fl .L8003E014
|
|
/* 03EB6C 8003DF6C 44804000 */ mtc1 $zero, $f8
|
|
/* 03EB70 8003DF70 84CB0206 */ lh $t3, 0x206($a2)
|
|
/* 03EB74 8003DF74 240200B6 */ li $v0, 182
|
|
/* 03EB78 8003DF78 24030078 */ li $v1, 120
|
|
/* 03EB7C 8003DF7C 0162001A */ div $zero, $t3, $v0
|
|
/* 03EB80 8003DF80 00006012 */ mflo $t4
|
|
/* 03EB84 8003DF84 14400002 */ bnez $v0, .L8003DF90
|
|
/* 03EB88 8003DF88 00000000 */ nop
|
|
/* 03EB8C 8003DF8C 0007000D */ break 7
|
|
.L8003DF90:
|
|
/* 03EB90 8003DF90 2401FFFF */ li $at, -1
|
|
/* 03EB94 8003DF94 14410004 */ bne $v0, $at, .L8003DFA8
|
|
/* 03EB98 8003DF98 3C018000 */ lui $at, 0x8000
|
|
/* 03EB9C 8003DF9C 15610002 */ bne $t3, $at, .L8003DFA8
|
|
/* 03EBA0 8003DFA0 00000000 */ nop
|
|
/* 03EBA4 8003DFA4 0006000D */ break 6
|
|
.L8003DFA8:
|
|
/* 03EBA8 8003DFA8 01830019 */ multu $t4, $v1
|
|
/* 03EBAC 8003DFAC 00006812 */ mflo $t5
|
|
/* 03EBB0 8003DFB0 448D8000 */ mtc1 $t5, $f16
|
|
/* 03EBB4 8003DFB4 00000000 */ nop
|
|
/* 03EBB8 8003DFB8 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 03EBBC 8003DFBC E4F20000 */ swc1 $f18, ($a3)
|
|
/* 03EBC0 8003DFC0 84CE00C4 */ lh $t6, 0xc4($a2)
|
|
/* 03EBC4 8003DFC4 01C2001A */ div $zero, $t6, $v0
|
|
/* 03EBC8 8003DFC8 00007812 */ mflo $t7
|
|
/* 03EBCC 8003DFCC 000FC023 */ negu $t8, $t7
|
|
/* 03EBD0 8003DFD0 14400002 */ bnez $v0, .L8003DFDC
|
|
/* 03EBD4 8003DFD4 00000000 */ nop
|
|
/* 03EBD8 8003DFD8 0007000D */ break 7
|
|
.L8003DFDC:
|
|
/* 03EBDC 8003DFDC 2401FFFF */ li $at, -1
|
|
/* 03EBE0 8003DFE0 14410004 */ bne $v0, $at, .L8003DFF4
|
|
/* 03EBE4 8003DFE4 3C018000 */ lui $at, 0x8000
|
|
/* 03EBE8 8003DFE8 15C10002 */ bne $t6, $at, .L8003DFF4
|
|
/* 03EBEC 8003DFEC 00000000 */ nop
|
|
/* 03EBF0 8003DFF0 0006000D */ break 6
|
|
.L8003DFF4:
|
|
/* 03EBF4 8003DFF4 03030019 */ multu $t8, $v1
|
|
/* 03EBF8 8003DFF8 0000C812 */ mflo $t9
|
|
/* 03EBFC 8003DFFC 44992000 */ mtc1 $t9, $f4
|
|
/* 03EC00 8003E000 00000000 */ nop
|
|
/* 03EC04 8003E004 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 03EC08 8003E008 10000007 */ b .L8003E028
|
|
/* 03EC0C 8003E00C E4E60008 */ swc1 $f6, 8($a3)
|
|
/* 03EC10 8003E010 44804000 */ mtc1 $zero, $f8
|
|
.L8003E014:
|
|
/* 03EC14 8003E014 44808000 */ mtc1 $zero, $f16
|
|
/* 03EC18 8003E018 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 03EC1C 8003E01C 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 03EC20 8003E020 E4EA0000 */ swc1 $f10, ($a3)
|
|
/* 03EC24 8003E024 E4F20008 */ swc1 $f18, 8($a3)
|
|
.L8003E028:
|
|
/* 03EC28 8003E028 44802000 */ mtc1 $zero, $f4
|
|
/* 03EC2C 8003E02C 24C50174 */ addiu $a1, $a2, 0x174
|
|
/* 03EC30 8003E030 0C0AD8EE */ jal func_802B63B8
|
|
/* 03EC34 8003E034 E4E40004 */ swc1 $f4, 4($a3)
|
|
/* 03EC38 8003E038 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 03EC3C 8003E03C 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 03EC40 8003E040 03E00008 */ jr $ra
|
|
/* 03EC44 8003E044 00000000 */ nop
|
|
|
|
glabel func_8003E048
|
|
/* 03EC48 8003E048 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 03EC4C 8003E04C AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 03EC50 8003E050 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 03EC54 8003E054 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 03EC58 8003E058 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 03EC5C 8003E05C C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03EC60 8003E060 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 03EC64 8003E064 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03EC68 8003E068 44810000 */ mtc1 $at, $f0
|
|
/* 03EC6C 8003E06C 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03EC70 8003E070 8FAF003C */ lw $t7, 0x3c($sp)
|
|
/* 03EC74 8003E074 3C01800F */ lui $at, %hi(D_800EDF30)
|
|
/* 03EC78 8003E078 00808025 */ move $s0, $a0
|
|
/* 03EC7C 8003E07C C5F00000 */ lwc1 $f16, ($t7)
|
|
/* 03EC80 8003E080 00E08825 */ move $s1, $a3
|
|
/* 03EC84 8003E084 44070000 */ mfc1 $a3, $f0
|
|
/* 03EC88 8003E088 46004282 */ mul.s $f10, $f8, $f0
|
|
/* 03EC8C 8003E08C 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 03EC90 8003E090 E5F20000 */ swc1 $f18, ($t7)
|
|
/* 03EC94 8003E094 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03EC98 8003E098 C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 03EC9C 8003E09C D42ADF30 */ ldc1 $f10, %lo(D_800EDF30)($at)
|
|
/* 03ECA0 8003E0A0 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 03ECA4 8003E0A4 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03ECA8 8003E0A8 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03ECAC 8003E0AC C7040000 */ lwc1 $f4, ($t8)
|
|
/* 03ECB0 8003E0B0 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 03ECB4 8003E0B4 46004421 */ cvt.d.s $f16, $f8
|
|
/* 03ECB8 8003E0B8 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 03ECBC 8003E0BC 46323200 */ add.d $f8, $f6, $f18
|
|
/* 03ECC0 8003E0C0 46204420 */ cvt.s.d $f16, $f8
|
|
/* 03ECC4 8003E0C4 E7100000 */ swc1 $f16, ($t8)
|
|
/* 03ECC8 8003E0C8 C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 03ECCC 8003E0CC C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 03ECD0 8003E0D0 8FB90044 */ lw $t9, 0x44($sp)
|
|
/* 03ECD4 8003E0D4 00A02025 */ move $a0, $a1
|
|
/* 03ECD8 8003E0D8 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03ECDC 8003E0DC C7280000 */ lwc1 $f8, ($t9)
|
|
/* 03ECE0 8003E0E0 44815000 */ mtc1 $at, $f10
|
|
/* 03ECE4 8003E0E4 46003482 */ mul.s $f18, $f6, $f0
|
|
/* 03ECE8 8003E0E8 46124400 */ add.s $f16, $f8, $f18
|
|
/* 03ECEC 8003E0EC E7300000 */ swc1 $f16, ($t9)
|
|
/* 03ECF0 8003E0F0 8FA80038 */ lw $t0, 0x38($sp)
|
|
/* 03ECF4 8003E0F4 8D050000 */ lw $a1, ($t0)
|
|
/* 03ECF8 8003E0F8 0C00A97D */ jal func_8002A5F4
|
|
/* 03ECFC 8003E0FC E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* 03ED00 8003E100 3C01800F */ lui $at, %hi(D_800EDF38) # $at, 0x800f
|
|
/* 03ED04 8003E104 C424DF38 */ lwc1 $f4, %lo(D_800EDF38)($at)
|
|
/* 03ED08 8003E108 C6060144 */ lwc1 $f6, 0x144($s0)
|
|
/* 03ED0C 8003E10C 4604303E */ c.le.s $f6, $f4
|
|
/* 03ED10 8003E110 00000000 */ nop
|
|
/* 03ED14 8003E114 4502003D */ bc1fl .L8003E20C
|
|
/* 03ED18 8003E118 3C0141A0 */ lui $at, 0x41a0
|
|
/* 03ED1C 8003E11C 86090206 */ lh $t1, 0x206($s0)
|
|
/* 03ED20 8003E120 240200B6 */ li $v0, 182
|
|
/* 03ED24 8003E124 240300B4 */ li $v1, 180
|
|
/* 03ED28 8003E128 0122001A */ div $zero, $t1, $v0
|
|
/* 03ED2C 8003E12C 00005012 */ mflo $t2
|
|
/* 03ED30 8003E130 02002025 */ move $a0, $s0
|
|
/* 03ED34 8003E134 14400002 */ bnez $v0, .L8003E140
|
|
/* 03ED38 8003E138 00000000 */ nop
|
|
/* 03ED3C 8003E13C 0007000D */ break 7
|
|
.L8003E140:
|
|
/* 03ED40 8003E140 2401FFFF */ li $at, -1
|
|
/* 03ED44 8003E144 14410004 */ bne $v0, $at, .L8003E158
|
|
/* 03ED48 8003E148 3C018000 */ lui $at, 0x8000
|
|
/* 03ED4C 8003E14C 15210002 */ bne $t1, $at, .L8003E158
|
|
/* 03ED50 8003E150 00000000 */ nop
|
|
/* 03ED54 8003E154 0006000D */ break 6
|
|
.L8003E158:
|
|
/* 03ED58 8003E158 01430019 */ multu $t2, $v1
|
|
/* 03ED5C 8003E15C 3C054080 */ lui $a1, 0x4080
|
|
/* 03ED60 8003E160 00005812 */ mflo $t3
|
|
/* 03ED64 8003E164 448B4000 */ mtc1 $t3, $f8
|
|
/* 03ED68 8003E168 00000000 */ nop
|
|
/* 03ED6C 8003E16C 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03ED70 8003E170 E6320000 */ swc1 $f18, ($s1)
|
|
/* 03ED74 8003E174 860C00C4 */ lh $t4, 0xc4($s0)
|
|
/* 03ED78 8003E178 0182001A */ div $zero, $t4, $v0
|
|
/* 03ED7C 8003E17C 00006812 */ mflo $t5
|
|
/* 03ED80 8003E180 000D7823 */ negu $t7, $t5
|
|
/* 03ED84 8003E184 14400002 */ bnez $v0, .L8003E190
|
|
/* 03ED88 8003E188 00000000 */ nop
|
|
/* 03ED8C 8003E18C 0007000D */ break 7
|
|
.L8003E190:
|
|
/* 03ED90 8003E190 2401FFFF */ li $at, -1
|
|
/* 03ED94 8003E194 14410004 */ bne $v0, $at, .L8003E1A8
|
|
/* 03ED98 8003E198 3C018000 */ lui $at, 0x8000
|
|
/* 03ED9C 8003E19C 15810002 */ bne $t4, $at, .L8003E1A8
|
|
/* 03EDA0 8003E1A0 00000000 */ nop
|
|
/* 03EDA4 8003E1A4 0006000D */ break 6
|
|
.L8003E1A8:
|
|
/* 03EDA8 8003E1A8 01E30019 */ multu $t7, $v1
|
|
/* 03EDAC 8003E1AC 0000C012 */ mflo $t8
|
|
/* 03EDB0 8003E1B0 44988000 */ mtc1 $t8, $f16
|
|
/* 03EDB4 8003E1B4 00000000 */ nop
|
|
/* 03EDB8 8003E1B8 468082A0 */ cvt.s.w $f10, $f16
|
|
/* 03EDBC 8003E1BC 0C00C7D2 */ jal func_80031F48
|
|
/* 03EDC0 8003E1C0 E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03EDC4 8003E1C4 8E1900BC */ lw $t9, 0xbc($s0)
|
|
/* 03EDC8 8003E1C8 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
|
/* 03EDCC 8003E1CC 44812000 */ mtc1 $at, $f4
|
|
/* 03EDD0 8003E1D0 332E2000 */ andi $t6, $t9, 0x2000
|
|
/* 03EDD4 8003E1D4 11C0005F */ beqz $t6, .L8003E354
|
|
/* 03EDD8 8003E1D8 E6040DAC */ swc1 $f4, 0xdac($s0)
|
|
/* 03EDDC 8003E1DC 0C023555 */ jal func_8008D554
|
|
/* 03EDE0 8003E1E0 02002025 */ move $a0, $s0
|
|
/* 03EDE4 8003E1E4 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03EDE8 8003E1E8 44810000 */ mtc1 $at, $f0
|
|
/* 03EDEC 8003E1EC C606009C */ lwc1 $f6, 0x9c($s0)
|
|
/* 03EDF0 8003E1F0 C612008C */ lwc1 $f18, 0x8c($s0)
|
|
/* 03EDF4 8003E1F4 46003203 */ div.s $f8, $f6, $f0
|
|
/* 03EDF8 8003E1F8 46009403 */ div.s $f16, $f18, $f0
|
|
/* 03EDFC 8003E1FC E608009C */ swc1 $f8, 0x9c($s0)
|
|
/* 03EE00 8003E200 10000054 */ b .L8003E354
|
|
/* 03EE04 8003E204 E610008C */ swc1 $f16, 0x8c($s0)
|
|
/* 03EE08 8003E208 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
.L8003E20C:
|
|
/* 03EE0C 8003E20C 44815000 */ mtc1 $at, $f10
|
|
/* 03EE10 8003E210 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03EE14 8003E214 44813000 */ mtc1 $at, $f6
|
|
/* 03EE18 8003E218 C6040094 */ lwc1 $f4, 0x94($s0)
|
|
/* 03EE1C 8003E21C 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03EE20 8003E220 44819000 */ mtc1 $at, $f18
|
|
/* 03EE24 8003E224 46062203 */ div.s $f8, $f4, $f6
|
|
/* 03EE28 8003E228 46124402 */ mul.s $f16, $f8, $f18
|
|
/* 03EE2C 8003E22C 4610503C */ c.lt.s $f10, $f16
|
|
/* 03EE30 8003E230 00000000 */ nop
|
|
/* 03EE34 8003E234 45030007 */ bc1tl .L8003E254
|
|
/* 03EE38 8003E238 860A0206 */ lh $t2, 0x206($s0)
|
|
/* 03EE3C 8003E23C 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 03EE40 8003E240 3C020001 */ lui $v0, 1
|
|
/* 03EE44 8003E244 01024824 */ and $t1, $t0, $v0
|
|
/* 03EE48 8003E248 5449002B */ bnel $v0, $t1, .L8003E2F8
|
|
/* 03EE4C 8003E24C 44805000 */ mtc1 $zero, $f10
|
|
/* 03EE50 8003E250 860A0206 */ lh $t2, 0x206($s0)
|
|
.L8003E254:
|
|
/* 03EE54 8003E254 240200B6 */ li $v0, 182
|
|
/* 03EE58 8003E258 0142001A */ div $zero, $t2, $v0
|
|
/* 03EE5C 8003E25C 00005812 */ mflo $t3
|
|
/* 03EE60 8003E260 000B6080 */ sll $t4, $t3, 2
|
|
/* 03EE64 8003E264 018B6023 */ subu $t4, $t4, $t3
|
|
/* 03EE68 8003E268 000C60C0 */ sll $t4, $t4, 3
|
|
/* 03EE6C 8003E26C 018B6021 */ addu $t4, $t4, $t3
|
|
/* 03EE70 8003E270 000C6040 */ sll $t4, $t4, 1
|
|
/* 03EE74 8003E274 448C2000 */ mtc1 $t4, $f4
|
|
/* 03EE78 8003E278 14400002 */ bnez $v0, .L8003E284
|
|
/* 03EE7C 8003E27C 00000000 */ nop
|
|
/* 03EE80 8003E280 0007000D */ break 7
|
|
.L8003E284:
|
|
/* 03EE84 8003E284 2401FFFF */ li $at, -1
|
|
/* 03EE88 8003E288 14410004 */ bne $v0, $at, .L8003E29C
|
|
/* 03EE8C 8003E28C 3C018000 */ lui $at, 0x8000
|
|
/* 03EE90 8003E290 15410002 */ bne $t2, $at, .L8003E29C
|
|
/* 03EE94 8003E294 00000000 */ nop
|
|
/* 03EE98 8003E298 0006000D */ break 6
|
|
.L8003E29C:
|
|
/* 03EE9C 8003E29C 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 03EEA0 8003E2A0 E6260000 */ swc1 $f6, ($s1)
|
|
/* 03EEA4 8003E2A4 860D00C4 */ lh $t5, 0xc4($s0)
|
|
/* 03EEA8 8003E2A8 01A2001A */ div $zero, $t5, $v0
|
|
/* 03EEAC 8003E2AC 00007812 */ mflo $t7
|
|
/* 03EEB0 8003E2B0 000FC023 */ negu $t8, $t7
|
|
/* 03EEB4 8003E2B4 0018C900 */ sll $t9, $t8, 4
|
|
/* 03EEB8 8003E2B8 0338C823 */ subu $t9, $t9, $t8
|
|
/* 03EEBC 8003E2BC 0019C880 */ sll $t9, $t9, 2
|
|
/* 03EEC0 8003E2C0 44994000 */ mtc1 $t9, $f8
|
|
/* 03EEC4 8003E2C4 14400002 */ bnez $v0, .L8003E2D0
|
|
/* 03EEC8 8003E2C8 00000000 */ nop
|
|
/* 03EECC 8003E2CC 0007000D */ break 7
|
|
.L8003E2D0:
|
|
/* 03EED0 8003E2D0 2401FFFF */ li $at, -1
|
|
/* 03EED4 8003E2D4 14410004 */ bne $v0, $at, .L8003E2E8
|
|
/* 03EED8 8003E2D8 3C018000 */ lui $at, 0x8000
|
|
/* 03EEDC 8003E2DC 15A10002 */ bne $t5, $at, .L8003E2E8
|
|
/* 03EEE0 8003E2E0 00000000 */ nop
|
|
/* 03EEE4 8003E2E4 0006000D */ break 6
|
|
.L8003E2E8:
|
|
/* 03EEE8 8003E2E8 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03EEEC 8003E2EC 10000019 */ b .L8003E354
|
|
/* 03EEF0 8003E2F0 E6320008 */ swc1 $f18, 8($s1)
|
|
/* 03EEF4 8003E2F4 44805000 */ mtc1 $zero, $f10
|
|
.L8003E2F8:
|
|
/* 03EEF8 8003E2F8 240200B6 */ li $v0, 182
|
|
/* 03EEFC 8003E2FC E62A0000 */ swc1 $f10, ($s1)
|
|
/* 03EF00 8003E300 860E00C4 */ lh $t6, 0xc4($s0)
|
|
/* 03EF04 8003E304 01C2001A */ div $zero, $t6, $v0
|
|
/* 03EF08 8003E308 00004012 */ mflo $t0
|
|
/* 03EF0C 8003E30C 00084823 */ negu $t1, $t0
|
|
/* 03EF10 8003E310 00095080 */ sll $t2, $t1, 2
|
|
/* 03EF14 8003E314 01495023 */ subu $t2, $t2, $t1
|
|
/* 03EF18 8003E318 000A50C0 */ sll $t2, $t2, 3
|
|
/* 03EF1C 8003E31C 01495021 */ addu $t2, $t2, $t1
|
|
/* 03EF20 8003E320 000A5040 */ sll $t2, $t2, 1
|
|
/* 03EF24 8003E324 448A8000 */ mtc1 $t2, $f16
|
|
/* 03EF28 8003E328 14400002 */ bnez $v0, .L8003E334
|
|
/* 03EF2C 8003E32C 00000000 */ nop
|
|
/* 03EF30 8003E330 0007000D */ break 7
|
|
.L8003E334:
|
|
/* 03EF34 8003E334 2401FFFF */ li $at, -1
|
|
/* 03EF38 8003E338 14410004 */ bne $v0, $at, .L8003E34C
|
|
/* 03EF3C 8003E33C 3C018000 */ lui $at, 0x8000
|
|
/* 03EF40 8003E340 15C10002 */ bne $t6, $at, .L8003E34C
|
|
/* 03EF44 8003E344 00000000 */ nop
|
|
/* 03EF48 8003E348 0006000D */ break 6
|
|
.L8003E34C:
|
|
/* 03EF4C 8003E34C 46808120 */ cvt.s.w $f4, $f16
|
|
/* 03EF50 8003E350 E6240008 */ swc1 $f4, 8($s1)
|
|
.L8003E354:
|
|
/* 03EF54 8003E354 44803000 */ mtc1 $zero, $f6
|
|
/* 03EF58 8003E358 02202025 */ move $a0, $s1
|
|
/* 03EF5C 8003E35C 26050174 */ addiu $a1, $s0, 0x174
|
|
/* 03EF60 8003E360 0C0AD8EE */ jal func_802B63B8
|
|
/* 03EF64 8003E364 E6260004 */ swc1 $f6, 4($s1)
|
|
/* 03EF68 8003E368 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 03EF6C 8003E36C 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 03EF70 8003E370 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 03EF74 8003E374 03E00008 */ jr $ra
|
|
/* 03EF78 8003E378 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003E37C
|
|
/* 03EF7C 8003E37C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 03EF80 8003E380 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 03EF84 8003E384 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 03EF88 8003E388 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 03EF8C 8003E38C AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 03EF90 8003E390 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03EF94 8003E394 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 03EF98 8003E398 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03EF9C 8003E39C 44810000 */ mtc1 $at, $f0
|
|
/* 03EFA0 8003E3A0 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03EFA4 8003E3A4 8FAF003C */ lw $t7, 0x3c($sp)
|
|
/* 03EFA8 8003E3A8 3C01800F */ lui $at, %hi(D_800EDF40)
|
|
/* 03EFAC 8003E3AC 00808025 */ move $s0, $a0
|
|
/* 03EFB0 8003E3B0 C5F00000 */ lwc1 $f16, ($t7)
|
|
/* 03EFB4 8003E3B4 00E08825 */ move $s1, $a3
|
|
/* 03EFB8 8003E3B8 3C073F00 */ lui $a3, 0x3f00
|
|
/* 03EFBC 8003E3BC 46004282 */ mul.s $f10, $f8, $f0
|
|
/* 03EFC0 8003E3C0 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 03EFC4 8003E3C4 E5F20000 */ swc1 $f18, ($t7)
|
|
/* 03EFC8 8003E3C8 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03EFCC 8003E3CC C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 03EFD0 8003E3D0 D42ADF40 */ ldc1 $f10, %lo(D_800EDF40)($at)
|
|
/* 03EFD4 8003E3D4 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 03EFD8 8003E3D8 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03EFDC 8003E3DC 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03EFE0 8003E3E0 C7040000 */ lwc1 $f4, ($t8)
|
|
/* 03EFE4 8003E3E4 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 03EFE8 8003E3E8 46004421 */ cvt.d.s $f16, $f8
|
|
/* 03EFEC 8003E3EC 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 03EFF0 8003E3F0 46323200 */ add.d $f8, $f6, $f18
|
|
/* 03EFF4 8003E3F4 46204420 */ cvt.s.d $f16, $f8
|
|
/* 03EFF8 8003E3F8 E7100000 */ swc1 $f16, ($t8)
|
|
/* 03EFFC 8003E3FC C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 03F000 8003E400 C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 03F004 8003E404 8FB90044 */ lw $t9, 0x44($sp)
|
|
/* 03F008 8003E408 00A02025 */ move $a0, $a1
|
|
/* 03F00C 8003E40C 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03F010 8003E410 C7280000 */ lwc1 $f8, ($t9)
|
|
/* 03F014 8003E414 44815000 */ mtc1 $at, $f10
|
|
/* 03F018 8003E418 46003482 */ mul.s $f18, $f6, $f0
|
|
/* 03F01C 8003E41C 46124400 */ add.s $f16, $f8, $f18
|
|
/* 03F020 8003E420 E7300000 */ swc1 $f16, ($t9)
|
|
/* 03F024 8003E424 8FA80038 */ lw $t0, 0x38($sp)
|
|
/* 03F028 8003E428 8D050000 */ lw $a1, ($t0)
|
|
/* 03F02C 8003E42C 0C00A97D */ jal func_8002A5F4
|
|
/* 03F030 8003E430 E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* 03F034 8003E434 3C01800F */ lui $at, %hi(D_800EDF48) # $at, 0x800f
|
|
/* 03F038 8003E438 C424DF48 */ lwc1 $f4, %lo(D_800EDF48)($at)
|
|
/* 03F03C 8003E43C C6060144 */ lwc1 $f6, 0x144($s0)
|
|
/* 03F040 8003E440 4604303E */ c.le.s $f6, $f4
|
|
/* 03F044 8003E444 00000000 */ nop
|
|
/* 03F048 8003E448 45030006 */ bc1tl .L8003E464
|
|
/* 03F04C 8003E44C 860A0206 */ lh $t2, 0x206($s0)
|
|
/* 03F050 8003E450 960900F8 */ lhu $t1, 0xf8($s0)
|
|
/* 03F054 8003E454 2401000C */ li $at, 12
|
|
/* 03F058 8003E458 5521004A */ bnel $t1, $at, .L8003E584
|
|
/* 03F05C 8003E45C 3C0141A0 */ lui $at, 0x41a0
|
|
/* 03F060 8003E460 860A0206 */ lh $t2, 0x206($s0)
|
|
.L8003E464:
|
|
/* 03F064 8003E464 240200B6 */ li $v0, 182
|
|
/* 03F068 8003E468 240300B4 */ li $v1, 180
|
|
/* 03F06C 8003E46C 0142001A */ div $zero, $t2, $v0
|
|
/* 03F070 8003E470 00005812 */ mflo $t3
|
|
/* 03F074 8003E474 02002025 */ move $a0, $s0
|
|
/* 03F078 8003E478 14400002 */ bnez $v0, .L8003E484
|
|
/* 03F07C 8003E47C 00000000 */ nop
|
|
/* 03F080 8003E480 0007000D */ break 7
|
|
.L8003E484:
|
|
/* 03F084 8003E484 2401FFFF */ li $at, -1
|
|
/* 03F088 8003E488 14410004 */ bne $v0, $at, .L8003E49C
|
|
/* 03F08C 8003E48C 3C018000 */ lui $at, 0x8000
|
|
/* 03F090 8003E490 15410002 */ bne $t2, $at, .L8003E49C
|
|
/* 03F094 8003E494 00000000 */ nop
|
|
/* 03F098 8003E498 0006000D */ break 6
|
|
.L8003E49C:
|
|
/* 03F09C 8003E49C 01630019 */ multu $t3, $v1
|
|
/* 03F0A0 8003E4A0 00006012 */ mflo $t4
|
|
/* 03F0A4 8003E4A4 448C4000 */ mtc1 $t4, $f8
|
|
/* 03F0A8 8003E4A8 00000000 */ nop
|
|
/* 03F0AC 8003E4AC 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03F0B0 8003E4B0 E6320000 */ swc1 $f18, ($s1)
|
|
/* 03F0B4 8003E4B4 860D00C4 */ lh $t5, 0xc4($s0)
|
|
/* 03F0B8 8003E4B8 01A2001A */ div $zero, $t5, $v0
|
|
/* 03F0BC 8003E4BC 00007812 */ mflo $t7
|
|
/* 03F0C0 8003E4C0 000FC023 */ negu $t8, $t7
|
|
/* 03F0C4 8003E4C4 14400002 */ bnez $v0, .L8003E4D0
|
|
/* 03F0C8 8003E4C8 00000000 */ nop
|
|
/* 03F0CC 8003E4CC 0007000D */ break 7
|
|
.L8003E4D0:
|
|
/* 03F0D0 8003E4D0 2401FFFF */ li $at, -1
|
|
/* 03F0D4 8003E4D4 14410004 */ bne $v0, $at, .L8003E4E8
|
|
/* 03F0D8 8003E4D8 3C018000 */ lui $at, 0x8000
|
|
/* 03F0DC 8003E4DC 15A10002 */ bne $t5, $at, .L8003E4E8
|
|
/* 03F0E0 8003E4E0 00000000 */ nop
|
|
/* 03F0E4 8003E4E4 0006000D */ break 6
|
|
.L8003E4E8:
|
|
/* 03F0E8 8003E4E8 03030019 */ multu $t8, $v1
|
|
/* 03F0EC 8003E4EC 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03F0F0 8003E4F0 44813000 */ mtc1 $at, $f6
|
|
/* 03F0F4 8003E4F4 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03F0F8 8003E4F8 44819000 */ mtc1 $at, $f18
|
|
/* 03F0FC 8003E4FC 3C014100 */ li $at, 0x41000000 # 8.000000
|
|
/* 03F100 8003E500 0000C812 */ mflo $t9
|
|
/* 03F104 8003E504 44998000 */ mtc1 $t9, $f16
|
|
/* 03F108 8003E508 00000000 */ nop
|
|
/* 03F10C 8003E50C 468082A0 */ cvt.s.w $f10, $f16
|
|
/* 03F110 8003E510 E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03F114 8003E514 C6040094 */ lwc1 $f4, 0x94($s0)
|
|
/* 03F118 8003E518 44815000 */ mtc1 $at, $f10
|
|
/* 03F11C 8003E51C 46062203 */ div.s $f8, $f4, $f6
|
|
/* 03F120 8003E520 46124402 */ mul.s $f16, $f8, $f18
|
|
/* 03F124 8003E524 4610503E */ c.le.s $f10, $f16
|
|
/* 03F128 8003E528 00000000 */ nop
|
|
/* 03F12C 8003E52C 45020004 */ bc1fl .L8003E540
|
|
/* 03F130 8003E530 8E0E00BC */ lw $t6, 0xbc($s0)
|
|
/* 03F134 8003E534 0C00C7D2 */ jal func_80031F48
|
|
/* 03F138 8003E538 3C0540A0 */ lui $a1, 0x40a0
|
|
/* 03F13C 8003E53C 8E0E00BC */ lw $t6, 0xbc($s0)
|
|
.L8003E540:
|
|
/* 03F140 8003E540 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
|
/* 03F144 8003E544 44812000 */ mtc1 $at, $f4
|
|
/* 03F148 8003E548 31C82000 */ andi $t0, $t6, 0x2000
|
|
/* 03F14C 8003E54C 1100005D */ beqz $t0, .L8003E6C4
|
|
/* 03F150 8003E550 E6040DAC */ swc1 $f4, 0xdac($s0)
|
|
/* 03F154 8003E554 0C023555 */ jal func_8008D554
|
|
/* 03F158 8003E558 02002025 */ move $a0, $s0
|
|
/* 03F15C 8003E55C 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03F160 8003E560 44810000 */ mtc1 $at, $f0
|
|
/* 03F164 8003E564 C606009C */ lwc1 $f6, 0x9c($s0)
|
|
/* 03F168 8003E568 C612008C */ lwc1 $f18, 0x8c($s0)
|
|
/* 03F16C 8003E56C 46003203 */ div.s $f8, $f6, $f0
|
|
/* 03F170 8003E570 46009403 */ div.s $f16, $f18, $f0
|
|
/* 03F174 8003E574 E608009C */ swc1 $f8, 0x9c($s0)
|
|
/* 03F178 8003E578 10000052 */ b .L8003E6C4
|
|
/* 03F17C 8003E57C E610008C */ swc1 $f16, 0x8c($s0)
|
|
/* 03F180 8003E580 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
.L8003E584:
|
|
/* 03F184 8003E584 44815000 */ mtc1 $at, $f10
|
|
/* 03F188 8003E588 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03F18C 8003E58C 44813000 */ mtc1 $at, $f6
|
|
/* 03F190 8003E590 C6040094 */ lwc1 $f4, 0x94($s0)
|
|
/* 03F194 8003E594 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03F198 8003E598 44819000 */ mtc1 $at, $f18
|
|
/* 03F19C 8003E59C 46062203 */ div.s $f8, $f4, $f6
|
|
/* 03F1A0 8003E5A0 46124402 */ mul.s $f16, $f8, $f18
|
|
/* 03F1A4 8003E5A4 4610503C */ c.lt.s $f10, $f16
|
|
/* 03F1A8 8003E5A8 00000000 */ nop
|
|
/* 03F1AC 8003E5AC 45030007 */ bc1tl .L8003E5CC
|
|
/* 03F1B0 8003E5B0 860B0206 */ lh $t3, 0x206($s0)
|
|
/* 03F1B4 8003E5B4 8E0900BC */ lw $t1, 0xbc($s0)
|
|
/* 03F1B8 8003E5B8 3C020001 */ lui $v0, 1
|
|
/* 03F1BC 8003E5BC 01225024 */ and $t2, $t1, $v0
|
|
/* 03F1C0 8003E5C0 544A002A */ bnel $v0, $t2, .L8003E66C
|
|
/* 03F1C4 8003E5C4 44805000 */ mtc1 $zero, $f10
|
|
/* 03F1C8 8003E5C8 860B0206 */ lh $t3, 0x206($s0)
|
|
.L8003E5CC:
|
|
/* 03F1CC 8003E5CC 240200B6 */ li $v0, 182
|
|
/* 03F1D0 8003E5D0 24030032 */ li $v1, 50
|
|
/* 03F1D4 8003E5D4 0162001A */ div $zero, $t3, $v0
|
|
/* 03F1D8 8003E5D8 00006012 */ mflo $t4
|
|
/* 03F1DC 8003E5DC 14400002 */ bnez $v0, .L8003E5E8
|
|
/* 03F1E0 8003E5E0 00000000 */ nop
|
|
/* 03F1E4 8003E5E4 0007000D */ break 7
|
|
.L8003E5E8:
|
|
/* 03F1E8 8003E5E8 2401FFFF */ li $at, -1
|
|
/* 03F1EC 8003E5EC 14410004 */ bne $v0, $at, .L8003E600
|
|
/* 03F1F0 8003E5F0 3C018000 */ lui $at, 0x8000
|
|
/* 03F1F4 8003E5F4 15610002 */ bne $t3, $at, .L8003E600
|
|
/* 03F1F8 8003E5F8 00000000 */ nop
|
|
/* 03F1FC 8003E5FC 0006000D */ break 6
|
|
.L8003E600:
|
|
/* 03F200 8003E600 01830019 */ multu $t4, $v1
|
|
/* 03F204 8003E604 00006812 */ mflo $t5
|
|
/* 03F208 8003E608 448D2000 */ mtc1 $t5, $f4
|
|
/* 03F20C 8003E60C 00000000 */ nop
|
|
/* 03F210 8003E610 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 03F214 8003E614 E6260000 */ swc1 $f6, ($s1)
|
|
/* 03F218 8003E618 860F00C4 */ lh $t7, 0xc4($s0)
|
|
/* 03F21C 8003E61C 01E2001A */ div $zero, $t7, $v0
|
|
/* 03F220 8003E620 0000C012 */ mflo $t8
|
|
/* 03F224 8003E624 0018C823 */ negu $t9, $t8
|
|
/* 03F228 8003E628 14400002 */ bnez $v0, .L8003E634
|
|
/* 03F22C 8003E62C 00000000 */ nop
|
|
/* 03F230 8003E630 0007000D */ break 7
|
|
.L8003E634:
|
|
/* 03F234 8003E634 2401FFFF */ li $at, -1
|
|
/* 03F238 8003E638 14410004 */ bne $v0, $at, .L8003E64C
|
|
/* 03F23C 8003E63C 3C018000 */ lui $at, 0x8000
|
|
/* 03F240 8003E640 15E10002 */ bne $t7, $at, .L8003E64C
|
|
/* 03F244 8003E644 00000000 */ nop
|
|
/* 03F248 8003E648 0006000D */ break 6
|
|
.L8003E64C:
|
|
/* 03F24C 8003E64C 03230019 */ multu $t9, $v1
|
|
/* 03F250 8003E650 00007012 */ mflo $t6
|
|
/* 03F254 8003E654 448E4000 */ mtc1 $t6, $f8
|
|
/* 03F258 8003E658 00000000 */ nop
|
|
/* 03F25C 8003E65C 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03F260 8003E660 10000018 */ b .L8003E6C4
|
|
/* 03F264 8003E664 E6320008 */ swc1 $f18, 8($s1)
|
|
/* 03F268 8003E668 44805000 */ mtc1 $zero, $f10
|
|
.L8003E66C:
|
|
/* 03F26C 8003E66C 240200B6 */ li $v0, 182
|
|
/* 03F270 8003E670 24030032 */ li $v1, 50
|
|
/* 03F274 8003E674 E62A0000 */ swc1 $f10, ($s1)
|
|
/* 03F278 8003E678 860800C4 */ lh $t0, 0xc4($s0)
|
|
/* 03F27C 8003E67C 0102001A */ div $zero, $t0, $v0
|
|
/* 03F280 8003E680 00004812 */ mflo $t1
|
|
/* 03F284 8003E684 00095023 */ negu $t2, $t1
|
|
/* 03F288 8003E688 14400002 */ bnez $v0, .L8003E694
|
|
/* 03F28C 8003E68C 00000000 */ nop
|
|
/* 03F290 8003E690 0007000D */ break 7
|
|
.L8003E694:
|
|
/* 03F294 8003E694 2401FFFF */ li $at, -1
|
|
/* 03F298 8003E698 14410004 */ bne $v0, $at, .L8003E6AC
|
|
/* 03F29C 8003E69C 3C018000 */ lui $at, 0x8000
|
|
/* 03F2A0 8003E6A0 15010002 */ bne $t0, $at, .L8003E6AC
|
|
/* 03F2A4 8003E6A4 00000000 */ nop
|
|
/* 03F2A8 8003E6A8 0006000D */ break 6
|
|
.L8003E6AC:
|
|
/* 03F2AC 8003E6AC 01430019 */ multu $t2, $v1
|
|
/* 03F2B0 8003E6B0 00005812 */ mflo $t3
|
|
/* 03F2B4 8003E6B4 448B8000 */ mtc1 $t3, $f16
|
|
/* 03F2B8 8003E6B8 00000000 */ nop
|
|
/* 03F2BC 8003E6BC 46808120 */ cvt.s.w $f4, $f16
|
|
/* 03F2C0 8003E6C0 E6240008 */ swc1 $f4, 8($s1)
|
|
.L8003E6C4:
|
|
/* 03F2C4 8003E6C4 44803000 */ mtc1 $zero, $f6
|
|
/* 03F2C8 8003E6C8 02202025 */ move $a0, $s1
|
|
/* 03F2CC 8003E6CC 26050174 */ addiu $a1, $s0, 0x174
|
|
/* 03F2D0 8003E6D0 0C0AD8EE */ jal func_802B63B8
|
|
/* 03F2D4 8003E6D4 E6260004 */ swc1 $f6, 4($s1)
|
|
/* 03F2D8 8003E6D8 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 03F2DC 8003E6DC 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 03F2E0 8003E6E0 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 03F2E4 8003E6E4 03E00008 */ jr $ra
|
|
/* 03F2E8 8003E6E8 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003E6EC
|
|
/* 03F2EC 8003E6EC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 03F2F0 8003E6F0 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 03F2F4 8003E6F4 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 03F2F8 8003E6F8 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 03F2FC 8003E6FC AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 03F300 8003E700 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03F304 8003E704 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 03F308 8003E708 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03F30C 8003E70C 44810000 */ mtc1 $at, $f0
|
|
/* 03F310 8003E710 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03F314 8003E714 8FAF003C */ lw $t7, 0x3c($sp)
|
|
/* 03F318 8003E718 3C01800F */ lui $at, %hi(D_800EDF50)
|
|
/* 03F31C 8003E71C 00808025 */ move $s0, $a0
|
|
/* 03F320 8003E720 C5F00000 */ lwc1 $f16, ($t7)
|
|
/* 03F324 8003E724 00E08825 */ move $s1, $a3
|
|
/* 03F328 8003E728 3C073F00 */ lui $a3, 0x3f00
|
|
/* 03F32C 8003E72C 46004282 */ mul.s $f10, $f8, $f0
|
|
/* 03F330 8003E730 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 03F334 8003E734 E5F20000 */ swc1 $f18, ($t7)
|
|
/* 03F338 8003E738 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03F33C 8003E73C C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 03F340 8003E740 D42ADF50 */ ldc1 $f10, %lo(D_800EDF50)($at)
|
|
/* 03F344 8003E744 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 03F348 8003E748 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03F34C 8003E74C 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03F350 8003E750 C7040000 */ lwc1 $f4, ($t8)
|
|
/* 03F354 8003E754 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 03F358 8003E758 46004421 */ cvt.d.s $f16, $f8
|
|
/* 03F35C 8003E75C 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 03F360 8003E760 46323200 */ add.d $f8, $f6, $f18
|
|
/* 03F364 8003E764 46204420 */ cvt.s.d $f16, $f8
|
|
/* 03F368 8003E768 E7100000 */ swc1 $f16, ($t8)
|
|
/* 03F36C 8003E76C C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 03F370 8003E770 C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 03F374 8003E774 8FB90044 */ lw $t9, 0x44($sp)
|
|
/* 03F378 8003E778 00A02025 */ move $a0, $a1
|
|
/* 03F37C 8003E77C 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03F380 8003E780 C7280000 */ lwc1 $f8, ($t9)
|
|
/* 03F384 8003E784 44815000 */ mtc1 $at, $f10
|
|
/* 03F388 8003E788 46003482 */ mul.s $f18, $f6, $f0
|
|
/* 03F38C 8003E78C 46124400 */ add.s $f16, $f8, $f18
|
|
/* 03F390 8003E790 E7300000 */ swc1 $f16, ($t9)
|
|
/* 03F394 8003E794 8FA80038 */ lw $t0, 0x38($sp)
|
|
/* 03F398 8003E798 8D050000 */ lw $a1, ($t0)
|
|
/* 03F39C 8003E79C 0C00A97D */ jal func_8002A5F4
|
|
/* 03F3A0 8003E7A0 E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* 03F3A4 8003E7A4 3C01800F */ lui $at, %hi(D_800EDF58) # $at, 0x800f
|
|
/* 03F3A8 8003E7A8 C424DF58 */ lwc1 $f4, %lo(D_800EDF58)($at)
|
|
/* 03F3AC 8003E7AC C6060144 */ lwc1 $f6, 0x144($s0)
|
|
/* 03F3B0 8003E7B0 4604303E */ c.le.s $f6, $f4
|
|
/* 03F3B4 8003E7B4 00000000 */ nop
|
|
/* 03F3B8 8003E7B8 45020030 */ bc1fl .L8003E87C
|
|
/* 03F3BC 8003E7BC 3C0141A0 */ lui $at, 0x41a0
|
|
/* 03F3C0 8003E7C0 86090206 */ lh $t1, 0x206($s0)
|
|
/* 03F3C4 8003E7C4 240200B6 */ li $v0, 182
|
|
/* 03F3C8 8003E7C8 240300B4 */ li $v1, 180
|
|
/* 03F3CC 8003E7CC 0122001A */ div $zero, $t1, $v0
|
|
/* 03F3D0 8003E7D0 00005012 */ mflo $t2
|
|
/* 03F3D4 8003E7D4 02002025 */ move $a0, $s0
|
|
/* 03F3D8 8003E7D8 14400002 */ bnez $v0, .L8003E7E4
|
|
/* 03F3DC 8003E7DC 00000000 */ nop
|
|
/* 03F3E0 8003E7E0 0007000D */ break 7
|
|
.L8003E7E4:
|
|
/* 03F3E4 8003E7E4 2401FFFF */ li $at, -1
|
|
/* 03F3E8 8003E7E8 14410004 */ bne $v0, $at, .L8003E7FC
|
|
/* 03F3EC 8003E7EC 3C018000 */ lui $at, 0x8000
|
|
/* 03F3F0 8003E7F0 15210002 */ bne $t1, $at, .L8003E7FC
|
|
/* 03F3F4 8003E7F4 00000000 */ nop
|
|
/* 03F3F8 8003E7F8 0006000D */ break 6
|
|
.L8003E7FC:
|
|
/* 03F3FC 8003E7FC 01430019 */ multu $t2, $v1
|
|
/* 03F400 8003E800 3C054080 */ lui $a1, 0x4080
|
|
/* 03F404 8003E804 00005812 */ mflo $t3
|
|
/* 03F408 8003E808 448B4000 */ mtc1 $t3, $f8
|
|
/* 03F40C 8003E80C 00000000 */ nop
|
|
/* 03F410 8003E810 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03F414 8003E814 E6320000 */ swc1 $f18, ($s1)
|
|
/* 03F418 8003E818 860C00C4 */ lh $t4, 0xc4($s0)
|
|
/* 03F41C 8003E81C 0182001A */ div $zero, $t4, $v0
|
|
/* 03F420 8003E820 00006812 */ mflo $t5
|
|
/* 03F424 8003E824 000D7823 */ negu $t7, $t5
|
|
/* 03F428 8003E828 14400002 */ bnez $v0, .L8003E834
|
|
/* 03F42C 8003E82C 00000000 */ nop
|
|
/* 03F430 8003E830 0007000D */ break 7
|
|
.L8003E834:
|
|
/* 03F434 8003E834 2401FFFF */ li $at, -1
|
|
/* 03F438 8003E838 14410004 */ bne $v0, $at, .L8003E84C
|
|
/* 03F43C 8003E83C 3C018000 */ lui $at, 0x8000
|
|
/* 03F440 8003E840 15810002 */ bne $t4, $at, .L8003E84C
|
|
/* 03F444 8003E844 00000000 */ nop
|
|
/* 03F448 8003E848 0006000D */ break 6
|
|
.L8003E84C:
|
|
/* 03F44C 8003E84C 01E30019 */ multu $t7, $v1
|
|
/* 03F450 8003E850 0000C012 */ mflo $t8
|
|
/* 03F454 8003E854 44988000 */ mtc1 $t8, $f16
|
|
/* 03F458 8003E858 00000000 */ nop
|
|
/* 03F45C 8003E85C 468082A0 */ cvt.s.w $f10, $f16
|
|
/* 03F460 8003E860 0C00C7D2 */ jal func_80031F48
|
|
/* 03F464 8003E864 E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03F468 8003E868 0C00F710 */ jal func_8003DC40
|
|
/* 03F46C 8003E86C 02002025 */ move $a0, $s0
|
|
/* 03F470 8003E870 10000055 */ b .L8003E9C8
|
|
/* 03F474 8003E874 44804000 */ mtc1 $zero, $f8
|
|
/* 03F478 8003E878 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
.L8003E87C:
|
|
/* 03F47C 8003E87C 44812000 */ mtc1 $at, $f4
|
|
/* 03F480 8003E880 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03F484 8003E884 44814000 */ mtc1 $at, $f8
|
|
/* 03F488 8003E888 C6060094 */ lwc1 $f6, 0x94($s0)
|
|
/* 03F48C 8003E88C 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03F490 8003E890 44818000 */ mtc1 $at, $f16
|
|
/* 03F494 8003E894 46083483 */ div.s $f18, $f6, $f8
|
|
/* 03F498 8003E898 46109282 */ mul.s $f10, $f18, $f16
|
|
/* 03F49C 8003E89C 460A203C */ c.lt.s $f4, $f10
|
|
/* 03F4A0 8003E8A0 00000000 */ nop
|
|
/* 03F4A4 8003E8A4 45030007 */ bc1tl .L8003E8C4
|
|
/* 03F4A8 8003E8A8 86080206 */ lh $t0, 0x206($s0)
|
|
/* 03F4AC 8003E8AC 8E1900BC */ lw $t9, 0xbc($s0)
|
|
/* 03F4B0 8003E8B0 3C020001 */ lui $v0, 1
|
|
/* 03F4B4 8003E8B4 03227024 */ and $t6, $t9, $v0
|
|
/* 03F4B8 8003E8B8 544E002B */ bnel $v0, $t6, .L8003E968
|
|
/* 03F4BC 8003E8BC 44802000 */ mtc1 $zero, $f4
|
|
/* 03F4C0 8003E8C0 86080206 */ lh $t0, 0x206($s0)
|
|
.L8003E8C4:
|
|
/* 03F4C4 8003E8C4 240200B6 */ li $v0, 182
|
|
/* 03F4C8 8003E8C8 0102001A */ div $zero, $t0, $v0
|
|
/* 03F4CC 8003E8CC 00004812 */ mflo $t1
|
|
/* 03F4D0 8003E8D0 00095080 */ sll $t2, $t1, 2
|
|
/* 03F4D4 8003E8D4 01495023 */ subu $t2, $t2, $t1
|
|
/* 03F4D8 8003E8D8 000A50C0 */ sll $t2, $t2, 3
|
|
/* 03F4DC 8003E8DC 01495021 */ addu $t2, $t2, $t1
|
|
/* 03F4E0 8003E8E0 000A5040 */ sll $t2, $t2, 1
|
|
/* 03F4E4 8003E8E4 448A3000 */ mtc1 $t2, $f6
|
|
/* 03F4E8 8003E8E8 14400002 */ bnez $v0, .L8003E8F4
|
|
/* 03F4EC 8003E8EC 00000000 */ nop
|
|
/* 03F4F0 8003E8F0 0007000D */ break 7
|
|
.L8003E8F4:
|
|
/* 03F4F4 8003E8F4 2401FFFF */ li $at, -1
|
|
/* 03F4F8 8003E8F8 14410004 */ bne $v0, $at, .L8003E90C
|
|
/* 03F4FC 8003E8FC 3C018000 */ lui $at, 0x8000
|
|
/* 03F500 8003E900 15010002 */ bne $t0, $at, .L8003E90C
|
|
/* 03F504 8003E904 00000000 */ nop
|
|
/* 03F508 8003E908 0006000D */ break 6
|
|
.L8003E90C:
|
|
/* 03F50C 8003E90C 46803220 */ cvt.s.w $f8, $f6
|
|
/* 03F510 8003E910 E6280000 */ swc1 $f8, ($s1)
|
|
/* 03F514 8003E914 860B00C4 */ lh $t3, 0xc4($s0)
|
|
/* 03F518 8003E918 0162001A */ div $zero, $t3, $v0
|
|
/* 03F51C 8003E91C 00006012 */ mflo $t4
|
|
/* 03F520 8003E920 000C6823 */ negu $t5, $t4
|
|
/* 03F524 8003E924 000D7900 */ sll $t7, $t5, 4
|
|
/* 03F528 8003E928 01ED7823 */ subu $t7, $t7, $t5
|
|
/* 03F52C 8003E92C 000F7880 */ sll $t7, $t7, 2
|
|
/* 03F530 8003E930 448F9000 */ mtc1 $t7, $f18
|
|
/* 03F534 8003E934 14400002 */ bnez $v0, .L8003E940
|
|
/* 03F538 8003E938 00000000 */ nop
|
|
/* 03F53C 8003E93C 0007000D */ break 7
|
|
.L8003E940:
|
|
/* 03F540 8003E940 2401FFFF */ li $at, -1
|
|
/* 03F544 8003E944 14410004 */ bne $v0, $at, .L8003E958
|
|
/* 03F548 8003E948 3C018000 */ lui $at, 0x8000
|
|
/* 03F54C 8003E94C 15610002 */ bne $t3, $at, .L8003E958
|
|
/* 03F550 8003E950 00000000 */ nop
|
|
/* 03F554 8003E954 0006000D */ break 6
|
|
.L8003E958:
|
|
/* 03F558 8003E958 46809420 */ cvt.s.w $f16, $f18
|
|
/* 03F55C 8003E95C 10000019 */ b .L8003E9C4
|
|
/* 03F560 8003E960 E6300008 */ swc1 $f16, 8($s1)
|
|
/* 03F564 8003E964 44802000 */ mtc1 $zero, $f4
|
|
.L8003E968:
|
|
/* 03F568 8003E968 240200B6 */ li $v0, 182
|
|
/* 03F56C 8003E96C E6240000 */ swc1 $f4, ($s1)
|
|
/* 03F570 8003E970 861800C4 */ lh $t8, 0xc4($s0)
|
|
/* 03F574 8003E974 0302001A */ div $zero, $t8, $v0
|
|
/* 03F578 8003E978 0000C812 */ mflo $t9
|
|
/* 03F57C 8003E97C 00197023 */ negu $t6, $t9
|
|
/* 03F580 8003E980 000E4080 */ sll $t0, $t6, 2
|
|
/* 03F584 8003E984 010E4023 */ subu $t0, $t0, $t6
|
|
/* 03F588 8003E988 000840C0 */ sll $t0, $t0, 3
|
|
/* 03F58C 8003E98C 010E4021 */ addu $t0, $t0, $t6
|
|
/* 03F590 8003E990 00084040 */ sll $t0, $t0, 1
|
|
/* 03F594 8003E994 44885000 */ mtc1 $t0, $f10
|
|
/* 03F598 8003E998 14400002 */ bnez $v0, .L8003E9A4
|
|
/* 03F59C 8003E99C 00000000 */ nop
|
|
/* 03F5A0 8003E9A0 0007000D */ break 7
|
|
.L8003E9A4:
|
|
/* 03F5A4 8003E9A4 2401FFFF */ li $at, -1
|
|
/* 03F5A8 8003E9A8 14410004 */ bne $v0, $at, .L8003E9BC
|
|
/* 03F5AC 8003E9AC 3C018000 */ lui $at, 0x8000
|
|
/* 03F5B0 8003E9B0 17010002 */ bne $t8, $at, .L8003E9BC
|
|
/* 03F5B4 8003E9B4 00000000 */ nop
|
|
/* 03F5B8 8003E9B8 0006000D */ break 6
|
|
.L8003E9BC:
|
|
/* 03F5BC 8003E9BC 468051A0 */ cvt.s.w $f6, $f10
|
|
/* 03F5C0 8003E9C0 E6260008 */ swc1 $f6, 8($s1)
|
|
.L8003E9C4:
|
|
/* 03F5C4 8003E9C4 44804000 */ mtc1 $zero, $f8
|
|
.L8003E9C8:
|
|
/* 03F5C8 8003E9C8 02202025 */ move $a0, $s1
|
|
/* 03F5CC 8003E9CC 26050174 */ addiu $a1, $s0, 0x174
|
|
/* 03F5D0 8003E9D0 0C0AD8EE */ jal func_802B63B8
|
|
/* 03F5D4 8003E9D4 E6280004 */ swc1 $f8, 4($s1)
|
|
/* 03F5D8 8003E9D8 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 03F5DC 8003E9DC 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 03F5E0 8003E9E0 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 03F5E4 8003E9E4 03E00008 */ jr $ra
|
|
/* 03F5E8 8003E9E8 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003E9EC
|
|
/* 03F5EC 8003E9EC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 03F5F0 8003E9F0 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 03F5F4 8003E9F4 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 03F5F8 8003E9F8 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 03F5FC 8003E9FC AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 03F600 8003EA00 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03F604 8003EA04 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 03F608 8003EA08 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03F60C 8003EA0C 44810000 */ mtc1 $at, $f0
|
|
/* 03F610 8003EA10 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03F614 8003EA14 8FAF003C */ lw $t7, 0x3c($sp)
|
|
/* 03F618 8003EA18 3C01800F */ lui $at, %hi(D_800EDF60)
|
|
/* 03F61C 8003EA1C 00808025 */ move $s0, $a0
|
|
/* 03F620 8003EA20 C5F00000 */ lwc1 $f16, ($t7)
|
|
/* 03F624 8003EA24 00E08825 */ move $s1, $a3
|
|
/* 03F628 8003EA28 3C073F99 */ lui $a3, (0x3F99999A >> 16) # lui $a3, 0x3f99
|
|
/* 03F62C 8003EA2C 46004282 */ mul.s $f10, $f8, $f0
|
|
/* 03F630 8003EA30 34E7999A */ ori $a3, (0x3F99999A & 0xFFFF) # ori $a3, $a3, 0x999a
|
|
/* 03F634 8003EA34 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 03F638 8003EA38 E5F20000 */ swc1 $f18, ($t7)
|
|
/* 03F63C 8003EA3C C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03F640 8003EA40 C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 03F644 8003EA44 D42ADF60 */ ldc1 $f10, %lo(D_800EDF60)($at)
|
|
/* 03F648 8003EA48 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 03F64C 8003EA4C 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03F650 8003EA50 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03F654 8003EA54 C7040000 */ lwc1 $f4, ($t8)
|
|
/* 03F658 8003EA58 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 03F65C 8003EA5C 46004421 */ cvt.d.s $f16, $f8
|
|
/* 03F660 8003EA60 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 03F664 8003EA64 46323200 */ add.d $f8, $f6, $f18
|
|
/* 03F668 8003EA68 46204420 */ cvt.s.d $f16, $f8
|
|
/* 03F66C 8003EA6C E7100000 */ swc1 $f16, ($t8)
|
|
/* 03F670 8003EA70 C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 03F674 8003EA74 C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 03F678 8003EA78 8FB90044 */ lw $t9, 0x44($sp)
|
|
/* 03F67C 8003EA7C 00A02025 */ move $a0, $a1
|
|
/* 03F680 8003EA80 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03F684 8003EA84 C7280000 */ lwc1 $f8, ($t9)
|
|
/* 03F688 8003EA88 44815000 */ mtc1 $at, $f10
|
|
/* 03F68C 8003EA8C 46003482 */ mul.s $f18, $f6, $f0
|
|
/* 03F690 8003EA90 46124400 */ add.s $f16, $f8, $f18
|
|
/* 03F694 8003EA94 E7300000 */ swc1 $f16, ($t9)
|
|
/* 03F698 8003EA98 8FA80038 */ lw $t0, 0x38($sp)
|
|
/* 03F69C 8003EA9C 8D050000 */ lw $a1, ($t0)
|
|
/* 03F6A0 8003EAA0 0C00A97D */ jal func_8002A5F4
|
|
/* 03F6A4 8003EAA4 E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* 03F6A8 8003EAA8 3C01800F */ lui $at, %hi(D_800EDF68) # $at, 0x800f
|
|
/* 03F6AC 8003EAAC C424DF68 */ lwc1 $f4, %lo(D_800EDF68)($at)
|
|
/* 03F6B0 8003EAB0 C6060144 */ lwc1 $f6, 0x144($s0)
|
|
/* 03F6B4 8003EAB4 4604303E */ c.le.s $f6, $f4
|
|
/* 03F6B8 8003EAB8 00000000 */ nop
|
|
/* 03F6BC 8003EABC 45020033 */ bc1fl .L8003EB8C
|
|
/* 03F6C0 8003EAC0 3C0141A0 */ lui $at, 0x41a0
|
|
/* 03F6C4 8003EAC4 86090206 */ lh $t1, 0x206($s0)
|
|
/* 03F6C8 8003EAC8 240200B6 */ li $v0, 182
|
|
/* 03F6CC 8003EACC 02002025 */ move $a0, $s0
|
|
/* 03F6D0 8003EAD0 0122001A */ div $zero, $t1, $v0
|
|
/* 03F6D4 8003EAD4 00005012 */ mflo $t2
|
|
/* 03F6D8 8003EAD8 000A5900 */ sll $t3, $t2, 4
|
|
/* 03F6DC 8003EADC 016A5823 */ subu $t3, $t3, $t2
|
|
/* 03F6E0 8003EAE0 000B58C0 */ sll $t3, $t3, 3
|
|
/* 03F6E4 8003EAE4 448B4000 */ mtc1 $t3, $f8
|
|
/* 03F6E8 8003EAE8 14400002 */ bnez $v0, .L8003EAF4
|
|
/* 03F6EC 8003EAEC 00000000 */ nop
|
|
/* 03F6F0 8003EAF0 0007000D */ break 7
|
|
.L8003EAF4:
|
|
/* 03F6F4 8003EAF4 2401FFFF */ li $at, -1
|
|
/* 03F6F8 8003EAF8 14410004 */ bne $v0, $at, .L8003EB0C
|
|
/* 03F6FC 8003EAFC 3C018000 */ lui $at, 0x8000
|
|
/* 03F700 8003EB00 15210002 */ bne $t1, $at, .L8003EB0C
|
|
/* 03F704 8003EB04 00000000 */ nop
|
|
/* 03F708 8003EB08 0006000D */ break 6
|
|
.L8003EB0C:
|
|
/* 03F70C 8003EB0C 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03F710 8003EB10 3C054080 */ lui $a1, 0x4080
|
|
/* 03F714 8003EB14 E6320000 */ swc1 $f18, ($s1)
|
|
/* 03F718 8003EB18 860C00C4 */ lh $t4, 0xc4($s0)
|
|
/* 03F71C 8003EB1C 0182001A */ div $zero, $t4, $v0
|
|
/* 03F720 8003EB20 00006812 */ mflo $t5
|
|
/* 03F724 8003EB24 000D7823 */ negu $t7, $t5
|
|
/* 03F728 8003EB28 000FC080 */ sll $t8, $t7, 2
|
|
/* 03F72C 8003EB2C 030FC023 */ subu $t8, $t8, $t7
|
|
/* 03F730 8003EB30 0018C080 */ sll $t8, $t8, 2
|
|
/* 03F734 8003EB34 030FC023 */ subu $t8, $t8, $t7
|
|
/* 03F738 8003EB38 0018C080 */ sll $t8, $t8, 2
|
|
/* 03F73C 8003EB3C 030FC021 */ addu $t8, $t8, $t7
|
|
/* 03F740 8003EB40 0018C080 */ sll $t8, $t8, 2
|
|
/* 03F744 8003EB44 44988000 */ mtc1 $t8, $f16
|
|
/* 03F748 8003EB48 14400002 */ bnez $v0, .L8003EB54
|
|
/* 03F74C 8003EB4C 00000000 */ nop
|
|
/* 03F750 8003EB50 0007000D */ break 7
|
|
.L8003EB54:
|
|
/* 03F754 8003EB54 2401FFFF */ li $at, -1
|
|
/* 03F758 8003EB58 14410004 */ bne $v0, $at, .L8003EB6C
|
|
/* 03F75C 8003EB5C 3C018000 */ lui $at, 0x8000
|
|
/* 03F760 8003EB60 15810002 */ bne $t4, $at, .L8003EB6C
|
|
/* 03F764 8003EB64 00000000 */ nop
|
|
/* 03F768 8003EB68 0006000D */ break 6
|
|
.L8003EB6C:
|
|
/* 03F76C 8003EB6C 468082A0 */ cvt.s.w $f10, $f16
|
|
/* 03F770 8003EB70 0C00C7D2 */ jal func_80031F48
|
|
/* 03F774 8003EB74 E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03F778 8003EB78 0C00F710 */ jal func_8003DC40
|
|
/* 03F77C 8003EB7C 02002025 */ move $a0, $s0
|
|
/* 03F780 8003EB80 100000A1 */ b .L8003EE08
|
|
/* 03F784 8003EB84 44804000 */ mtc1 $zero, $f8
|
|
/* 03F788 8003EB88 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
.L8003EB8C:
|
|
/* 03F78C 8003EB8C 44812000 */ mtc1 $at, $f4
|
|
/* 03F790 8003EB90 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03F794 8003EB94 44814000 */ mtc1 $at, $f8
|
|
/* 03F798 8003EB98 C6060094 */ lwc1 $f6, 0x94($s0)
|
|
/* 03F79C 8003EB9C 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03F7A0 8003EBA0 44818000 */ mtc1 $at, $f16
|
|
/* 03F7A4 8003EBA4 46083483 */ div.s $f18, $f6, $f8
|
|
/* 03F7A8 8003EBA8 46109282 */ mul.s $f10, $f18, $f16
|
|
/* 03F7AC 8003EBAC 460A203C */ c.lt.s $f4, $f10
|
|
/* 03F7B0 8003EBB0 00000000 */ nop
|
|
/* 03F7B4 8003EBB4 45030007 */ bc1tl .L8003EBD4
|
|
/* 03F7B8 8003EBB8 920801D4 */ lbu $t0, 0x1d4($s0)
|
|
/* 03F7BC 8003EBBC 8E1900BC */ lw $t9, 0xbc($s0)
|
|
/* 03F7C0 8003EBC0 3C030001 */ lui $v1, 1
|
|
/* 03F7C4 8003EBC4 03237024 */ and $t6, $t9, $v1
|
|
/* 03F7C8 8003EBC8 546E004A */ bnel $v1, $t6, .L8003ECF4
|
|
/* 03F7CC 8003EBCC 44803000 */ mtc1 $zero, $f6
|
|
/* 03F7D0 8003EBD0 920801D4 */ lbu $t0, 0x1d4($s0)
|
|
.L8003EBD4:
|
|
/* 03F7D4 8003EBD4 24020001 */ li $v0, 1
|
|
/* 03F7D8 8003EBD8 3C030001 */ lui $v1, 1
|
|
/* 03F7DC 8003EBDC 5048000B */ beql $v0, $t0, .L8003EC0C
|
|
/* 03F7E0 8003EBE0 860C0206 */ lh $t4, 0x206($s0)
|
|
/* 03F7E4 8003EBE4 920901EC */ lbu $t1, 0x1ec($s0)
|
|
/* 03F7E8 8003EBE8 50490008 */ beql $v0, $t1, .L8003EC0C
|
|
/* 03F7EC 8003EBEC 860C0206 */ lh $t4, 0x206($s0)
|
|
/* 03F7F0 8003EBF0 920A01BC */ lbu $t2, 0x1bc($s0)
|
|
/* 03F7F4 8003EBF4 504A0005 */ beql $v0, $t2, .L8003EC0C
|
|
/* 03F7F8 8003EBF8 860C0206 */ lh $t4, 0x206($s0)
|
|
/* 03F7FC 8003EBFC 920B01A4 */ lbu $t3, 0x1a4($s0)
|
|
/* 03F800 8003EC00 544B0015 */ bnel $v0, $t3, .L8003EC58
|
|
/* 03F804 8003EC04 86180206 */ lh $t8, 0x206($s0)
|
|
/* 03F808 8003EC08 860C0206 */ lh $t4, 0x206($s0)
|
|
.L8003EC0C:
|
|
/* 03F80C 8003EC0C 240200B6 */ li $v0, 182
|
|
/* 03F810 8003EC10 0182001A */ div $zero, $t4, $v0
|
|
/* 03F814 8003EC14 00006812 */ mflo $t5
|
|
/* 03F818 8003EC18 000D7880 */ sll $t7, $t5, 2
|
|
/* 03F81C 8003EC1C 01ED7821 */ addu $t7, $t7, $t5
|
|
/* 03F820 8003EC20 448F3000 */ mtc1 $t7, $f6
|
|
/* 03F824 8003EC24 14400002 */ bnez $v0, .L8003EC30
|
|
/* 03F828 8003EC28 00000000 */ nop
|
|
/* 03F82C 8003EC2C 0007000D */ break 7
|
|
.L8003EC30:
|
|
/* 03F830 8003EC30 2401FFFF */ li $at, -1
|
|
/* 03F834 8003EC34 14410004 */ bne $v0, $at, .L8003EC48
|
|
/* 03F838 8003EC38 3C018000 */ lui $at, 0x8000
|
|
/* 03F83C 8003EC3C 15810002 */ bne $t4, $at, .L8003EC48
|
|
/* 03F840 8003EC40 00000000 */ nop
|
|
/* 03F844 8003EC44 0006000D */ break 6
|
|
.L8003EC48:
|
|
/* 03F848 8003EC48 46803220 */ cvt.s.w $f8, $f6
|
|
/* 03F84C 8003EC4C 10000014 */ b .L8003ECA0
|
|
/* 03F850 8003EC50 E6280000 */ swc1 $f8, ($s1)
|
|
/* 03F854 8003EC54 86180206 */ lh $t8, 0x206($s0)
|
|
.L8003EC58:
|
|
/* 03F858 8003EC58 240200B6 */ li $v0, 182
|
|
/* 03F85C 8003EC5C 0302001A */ div $zero, $t8, $v0
|
|
/* 03F860 8003EC60 0000C812 */ mflo $t9
|
|
/* 03F864 8003EC64 00197080 */ sll $t6, $t9, 2
|
|
/* 03F868 8003EC68 01D97021 */ addu $t6, $t6, $t9
|
|
/* 03F86C 8003EC6C 000E70C0 */ sll $t6, $t6, 3
|
|
/* 03F870 8003EC70 448E9000 */ mtc1 $t6, $f18
|
|
/* 03F874 8003EC74 14400002 */ bnez $v0, .L8003EC80
|
|
/* 03F878 8003EC78 00000000 */ nop
|
|
/* 03F87C 8003EC7C 0007000D */ break 7
|
|
.L8003EC80:
|
|
/* 03F880 8003EC80 2401FFFF */ li $at, -1
|
|
/* 03F884 8003EC84 14410004 */ bne $v0, $at, .L8003EC98
|
|
/* 03F888 8003EC88 3C018000 */ lui $at, 0x8000
|
|
/* 03F88C 8003EC8C 17010002 */ bne $t8, $at, .L8003EC98
|
|
/* 03F890 8003EC90 00000000 */ nop
|
|
/* 03F894 8003EC94 0006000D */ break 6
|
|
.L8003EC98:
|
|
/* 03F898 8003EC98 46809420 */ cvt.s.w $f16, $f18
|
|
/* 03F89C 8003EC9C E6300000 */ swc1 $f16, ($s1)
|
|
.L8003ECA0:
|
|
/* 03F8A0 8003ECA0 860800C4 */ lh $t0, 0xc4($s0)
|
|
/* 03F8A4 8003ECA4 0102001A */ div $zero, $t0, $v0
|
|
/* 03F8A8 8003ECA8 00004812 */ mflo $t1
|
|
/* 03F8AC 8003ECAC 00095023 */ negu $t2, $t1
|
|
/* 03F8B0 8003ECB0 000A5880 */ sll $t3, $t2, 2
|
|
/* 03F8B4 8003ECB4 016A5821 */ addu $t3, $t3, $t2
|
|
/* 03F8B8 8003ECB8 000B58C0 */ sll $t3, $t3, 3
|
|
/* 03F8BC 8003ECBC 448B2000 */ mtc1 $t3, $f4
|
|
/* 03F8C0 8003ECC0 14400002 */ bnez $v0, .L8003ECCC
|
|
/* 03F8C4 8003ECC4 00000000 */ nop
|
|
/* 03F8C8 8003ECC8 0007000D */ break 7
|
|
.L8003ECCC:
|
|
/* 03F8CC 8003ECCC 2401FFFF */ li $at, -1
|
|
/* 03F8D0 8003ECD0 14410004 */ bne $v0, $at, .L8003ECE4
|
|
/* 03F8D4 8003ECD4 3C018000 */ lui $at, 0x8000
|
|
/* 03F8D8 8003ECD8 15010002 */ bne $t0, $at, .L8003ECE4
|
|
/* 03F8DC 8003ECDC 00000000 */ nop
|
|
/* 03F8E0 8003ECE0 0006000D */ break 6
|
|
.L8003ECE4:
|
|
/* 03F8E4 8003ECE4 468022A0 */ cvt.s.w $f10, $f4
|
|
/* 03F8E8 8003ECE8 10000019 */ b .L8003ED50
|
|
/* 03F8EC 8003ECEC E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03F8F0 8003ECF0 44803000 */ mtc1 $zero, $f6
|
|
.L8003ECF4:
|
|
/* 03F8F4 8003ECF4 240200B6 */ li $v0, 182
|
|
/* 03F8F8 8003ECF8 E6260000 */ swc1 $f6, ($s1)
|
|
/* 03F8FC 8003ECFC 860C00C4 */ lh $t4, 0xc4($s0)
|
|
/* 03F900 8003ED00 0182001A */ div $zero, $t4, $v0
|
|
/* 03F904 8003ED04 00006812 */ mflo $t5
|
|
/* 03F908 8003ED08 000D7823 */ negu $t7, $t5
|
|
/* 03F90C 8003ED0C 000FC080 */ sll $t8, $t7, 2
|
|
/* 03F910 8003ED10 030FC023 */ subu $t8, $t8, $t7
|
|
/* 03F914 8003ED14 0018C0C0 */ sll $t8, $t8, 3
|
|
/* 03F918 8003ED18 030FC021 */ addu $t8, $t8, $t7
|
|
/* 03F91C 8003ED1C 0018C040 */ sll $t8, $t8, 1
|
|
/* 03F920 8003ED20 44984000 */ mtc1 $t8, $f8
|
|
/* 03F924 8003ED24 14400002 */ bnez $v0, .L8003ED30
|
|
/* 03F928 8003ED28 00000000 */ nop
|
|
/* 03F92C 8003ED2C 0007000D */ break 7
|
|
.L8003ED30:
|
|
/* 03F930 8003ED30 2401FFFF */ li $at, -1
|
|
/* 03F934 8003ED34 14410004 */ bne $v0, $at, .L8003ED48
|
|
/* 03F938 8003ED38 3C018000 */ lui $at, 0x8000
|
|
/* 03F93C 8003ED3C 15810002 */ bne $t4, $at, .L8003ED48
|
|
/* 03F940 8003ED40 00000000 */ nop
|
|
/* 03F944 8003ED44 0006000D */ break 6
|
|
.L8003ED48:
|
|
/* 03F948 8003ED48 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03F94C 8003ED4C E6320008 */ swc1 $f18, 8($s1)
|
|
.L8003ED50:
|
|
/* 03F950 8003ED50 8E1900BC */ lw $t9, 0xbc($s0)
|
|
/* 03F954 8003ED54 03237024 */ and $t6, $t9, $v1
|
|
/* 03F958 8003ED58 51C0002B */ beql $t6, $zero, .L8003EE08
|
|
/* 03F95C 8003ED5C 44804000 */ mtc1 $zero, $f8
|
|
/* 03F960 8003ED60 86080206 */ lh $t0, 0x206($s0)
|
|
/* 03F964 8003ED64 0102001A */ div $zero, $t0, $v0
|
|
/* 03F968 8003ED68 00004812 */ mflo $t1
|
|
/* 03F96C 8003ED6C 00095100 */ sll $t2, $t1, 4
|
|
/* 03F970 8003ED70 01495023 */ subu $t2, $t2, $t1
|
|
/* 03F974 8003ED74 000A50C0 */ sll $t2, $t2, 3
|
|
/* 03F978 8003ED78 448A8000 */ mtc1 $t2, $f16
|
|
/* 03F97C 8003ED7C 14400002 */ bnez $v0, .L8003ED88
|
|
/* 03F980 8003ED80 00000000 */ nop
|
|
/* 03F984 8003ED84 0007000D */ break 7
|
|
.L8003ED88:
|
|
/* 03F988 8003ED88 2401FFFF */ li $at, -1
|
|
/* 03F98C 8003ED8C 14410004 */ bne $v0, $at, .L8003EDA0
|
|
/* 03F990 8003ED90 3C018000 */ lui $at, 0x8000
|
|
/* 03F994 8003ED94 15010002 */ bne $t0, $at, .L8003EDA0
|
|
/* 03F998 8003ED98 00000000 */ nop
|
|
/* 03F99C 8003ED9C 0006000D */ break 6
|
|
.L8003EDA0:
|
|
/* 03F9A0 8003EDA0 46808120 */ cvt.s.w $f4, $f16
|
|
/* 03F9A4 8003EDA4 E6240000 */ swc1 $f4, ($s1)
|
|
/* 03F9A8 8003EDA8 860B00C4 */ lh $t3, 0xc4($s0)
|
|
/* 03F9AC 8003EDAC 0162001A */ div $zero, $t3, $v0
|
|
/* 03F9B0 8003EDB0 00006012 */ mflo $t4
|
|
/* 03F9B4 8003EDB4 000C6823 */ negu $t5, $t4
|
|
/* 03F9B8 8003EDB8 000D7880 */ sll $t7, $t5, 2
|
|
/* 03F9BC 8003EDBC 01ED7823 */ subu $t7, $t7, $t5
|
|
/* 03F9C0 8003EDC0 000F7880 */ sll $t7, $t7, 2
|
|
/* 03F9C4 8003EDC4 01ED7823 */ subu $t7, $t7, $t5
|
|
/* 03F9C8 8003EDC8 000F7880 */ sll $t7, $t7, 2
|
|
/* 03F9CC 8003EDCC 01ED7821 */ addu $t7, $t7, $t5
|
|
/* 03F9D0 8003EDD0 000F7880 */ sll $t7, $t7, 2
|
|
/* 03F9D4 8003EDD4 448F5000 */ mtc1 $t7, $f10
|
|
/* 03F9D8 8003EDD8 14400002 */ bnez $v0, .L8003EDE4
|
|
/* 03F9DC 8003EDDC 00000000 */ nop
|
|
/* 03F9E0 8003EDE0 0007000D */ break 7
|
|
.L8003EDE4:
|
|
/* 03F9E4 8003EDE4 2401FFFF */ li $at, -1
|
|
/* 03F9E8 8003EDE8 14410004 */ bne $v0, $at, .L8003EDFC
|
|
/* 03F9EC 8003EDEC 3C018000 */ lui $at, 0x8000
|
|
/* 03F9F0 8003EDF0 15610002 */ bne $t3, $at, .L8003EDFC
|
|
/* 03F9F4 8003EDF4 00000000 */ nop
|
|
/* 03F9F8 8003EDF8 0006000D */ break 6
|
|
.L8003EDFC:
|
|
/* 03F9FC 8003EDFC 468051A0 */ cvt.s.w $f6, $f10
|
|
/* 03FA00 8003EE00 E6260008 */ swc1 $f6, 8($s1)
|
|
/* 03FA04 8003EE04 44804000 */ mtc1 $zero, $f8
|
|
.L8003EE08:
|
|
/* 03FA08 8003EE08 02202025 */ move $a0, $s1
|
|
/* 03FA0C 8003EE0C 26050174 */ addiu $a1, $s0, 0x174
|
|
/* 03FA10 8003EE10 0C0AD8EE */ jal func_802B63B8
|
|
/* 03FA14 8003EE14 E6280004 */ swc1 $f8, 4($s1)
|
|
/* 03FA18 8003EE18 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 03FA1C 8003EE1C 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 03FA20 8003EE20 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 03FA24 8003EE24 03E00008 */ jr $ra
|
|
/* 03FA28 8003EE28 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003EE2C
|
|
/* 03FA2C 8003EE2C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 03FA30 8003EE30 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 03FA34 8003EE34 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 03FA38 8003EE38 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 03FA3C 8003EE3C AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 03FA40 8003EE40 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03FA44 8003EE44 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 03FA48 8003EE48 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03FA4C 8003EE4C 44810000 */ mtc1 $at, $f0
|
|
/* 03FA50 8003EE50 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03FA54 8003EE54 8FAF003C */ lw $t7, 0x3c($sp)
|
|
/* 03FA58 8003EE58 3C01800F */ lui $at, %hi(D_800EDF70)
|
|
/* 03FA5C 8003EE5C 00808025 */ move $s0, $a0
|
|
/* 03FA60 8003EE60 C5F00000 */ lwc1 $f16, ($t7)
|
|
/* 03FA64 8003EE64 00E08825 */ move $s1, $a3
|
|
/* 03FA68 8003EE68 3C073F00 */ lui $a3, 0x3f00
|
|
/* 03FA6C 8003EE6C 46004282 */ mul.s $f10, $f8, $f0
|
|
/* 03FA70 8003EE70 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 03FA74 8003EE74 E5F20000 */ swc1 $f18, ($t7)
|
|
/* 03FA78 8003EE78 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03FA7C 8003EE7C C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 03FA80 8003EE80 D42ADF70 */ ldc1 $f10, %lo(D_800EDF70)($at)
|
|
/* 03FA84 8003EE84 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 03FA88 8003EE88 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03FA8C 8003EE8C 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03FA90 8003EE90 C7040000 */ lwc1 $f4, ($t8)
|
|
/* 03FA94 8003EE94 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 03FA98 8003EE98 46004421 */ cvt.d.s $f16, $f8
|
|
/* 03FA9C 8003EE9C 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 03FAA0 8003EEA0 46323200 */ add.d $f8, $f6, $f18
|
|
/* 03FAA4 8003EEA4 46204420 */ cvt.s.d $f16, $f8
|
|
/* 03FAA8 8003EEA8 E7100000 */ swc1 $f16, ($t8)
|
|
/* 03FAAC 8003EEAC C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 03FAB0 8003EEB0 C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 03FAB4 8003EEB4 8FB90044 */ lw $t9, 0x44($sp)
|
|
/* 03FAB8 8003EEB8 00A02025 */ move $a0, $a1
|
|
/* 03FABC 8003EEBC 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03FAC0 8003EEC0 C7280000 */ lwc1 $f8, ($t9)
|
|
/* 03FAC4 8003EEC4 44815000 */ mtc1 $at, $f10
|
|
/* 03FAC8 8003EEC8 46003482 */ mul.s $f18, $f6, $f0
|
|
/* 03FACC 8003EECC 46124400 */ add.s $f16, $f8, $f18
|
|
/* 03FAD0 8003EED0 E7300000 */ swc1 $f16, ($t9)
|
|
/* 03FAD4 8003EED4 8FA80038 */ lw $t0, 0x38($sp)
|
|
/* 03FAD8 8003EED8 8D050000 */ lw $a1, ($t0)
|
|
/* 03FADC 8003EEDC 0C00A97D */ jal func_8002A5F4
|
|
/* 03FAE0 8003EEE0 E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* 03FAE4 8003EEE4 3C01800F */ lui $at, %hi(D_800EDF78) # $at, 0x800f
|
|
/* 03FAE8 8003EEE8 C424DF78 */ lwc1 $f4, %lo(D_800EDF78)($at)
|
|
/* 03FAEC 8003EEEC C6060144 */ lwc1 $f6, 0x144($s0)
|
|
/* 03FAF0 8003EEF0 4604303E */ c.le.s $f6, $f4
|
|
/* 03FAF4 8003EEF4 00000000 */ nop
|
|
/* 03FAF8 8003EEF8 45020033 */ bc1fl .L8003EFC8
|
|
/* 03FAFC 8003EEFC 3C0141A0 */ lui $at, 0x41a0
|
|
/* 03FB00 8003EF00 86090206 */ lh $t1, 0x206($s0)
|
|
/* 03FB04 8003EF04 240200B6 */ li $v0, 182
|
|
/* 03FB08 8003EF08 02002025 */ move $a0, $s0
|
|
/* 03FB0C 8003EF0C 0122001A */ div $zero, $t1, $v0
|
|
/* 03FB10 8003EF10 00005012 */ mflo $t2
|
|
/* 03FB14 8003EF14 000A5900 */ sll $t3, $t2, 4
|
|
/* 03FB18 8003EF18 016A5823 */ subu $t3, $t3, $t2
|
|
/* 03FB1C 8003EF1C 000B58C0 */ sll $t3, $t3, 3
|
|
/* 03FB20 8003EF20 448B4000 */ mtc1 $t3, $f8
|
|
/* 03FB24 8003EF24 14400002 */ bnez $v0, .L8003EF30
|
|
/* 03FB28 8003EF28 00000000 */ nop
|
|
/* 03FB2C 8003EF2C 0007000D */ break 7
|
|
.L8003EF30:
|
|
/* 03FB30 8003EF30 2401FFFF */ li $at, -1
|
|
/* 03FB34 8003EF34 14410004 */ bne $v0, $at, .L8003EF48
|
|
/* 03FB38 8003EF38 3C018000 */ lui $at, 0x8000
|
|
/* 03FB3C 8003EF3C 15210002 */ bne $t1, $at, .L8003EF48
|
|
/* 03FB40 8003EF40 00000000 */ nop
|
|
/* 03FB44 8003EF44 0006000D */ break 6
|
|
.L8003EF48:
|
|
/* 03FB48 8003EF48 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03FB4C 8003EF4C 3C054080 */ lui $a1, 0x4080
|
|
/* 03FB50 8003EF50 E6320000 */ swc1 $f18, ($s1)
|
|
/* 03FB54 8003EF54 860C00C4 */ lh $t4, 0xc4($s0)
|
|
/* 03FB58 8003EF58 0182001A */ div $zero, $t4, $v0
|
|
/* 03FB5C 8003EF5C 00006812 */ mflo $t5
|
|
/* 03FB60 8003EF60 000D7823 */ negu $t7, $t5
|
|
/* 03FB64 8003EF64 000FC080 */ sll $t8, $t7, 2
|
|
/* 03FB68 8003EF68 030FC023 */ subu $t8, $t8, $t7
|
|
/* 03FB6C 8003EF6C 0018C080 */ sll $t8, $t8, 2
|
|
/* 03FB70 8003EF70 030FC023 */ subu $t8, $t8, $t7
|
|
/* 03FB74 8003EF74 0018C080 */ sll $t8, $t8, 2
|
|
/* 03FB78 8003EF78 030FC021 */ addu $t8, $t8, $t7
|
|
/* 03FB7C 8003EF7C 0018C080 */ sll $t8, $t8, 2
|
|
/* 03FB80 8003EF80 44988000 */ mtc1 $t8, $f16
|
|
/* 03FB84 8003EF84 14400002 */ bnez $v0, .L8003EF90
|
|
/* 03FB88 8003EF88 00000000 */ nop
|
|
/* 03FB8C 8003EF8C 0007000D */ break 7
|
|
.L8003EF90:
|
|
/* 03FB90 8003EF90 2401FFFF */ li $at, -1
|
|
/* 03FB94 8003EF94 14410004 */ bne $v0, $at, .L8003EFA8
|
|
/* 03FB98 8003EF98 3C018000 */ lui $at, 0x8000
|
|
/* 03FB9C 8003EF9C 15810002 */ bne $t4, $at, .L8003EFA8
|
|
/* 03FBA0 8003EFA0 00000000 */ nop
|
|
/* 03FBA4 8003EFA4 0006000D */ break 6
|
|
.L8003EFA8:
|
|
/* 03FBA8 8003EFA8 468082A0 */ cvt.s.w $f10, $f16
|
|
/* 03FBAC 8003EFAC 0C00C7D2 */ jal func_80031F48
|
|
/* 03FBB0 8003EFB0 E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03FBB4 8003EFB4 0C00F710 */ jal func_8003DC40
|
|
/* 03FBB8 8003EFB8 02002025 */ move $a0, $s0
|
|
/* 03FBBC 8003EFBC 10000055 */ b .L8003F114
|
|
/* 03FBC0 8003EFC0 44804000 */ mtc1 $zero, $f8
|
|
/* 03FBC4 8003EFC4 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
.L8003EFC8:
|
|
/* 03FBC8 8003EFC8 44812000 */ mtc1 $at, $f4
|
|
/* 03FBCC 8003EFCC 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03FBD0 8003EFD0 44814000 */ mtc1 $at, $f8
|
|
/* 03FBD4 8003EFD4 C6060094 */ lwc1 $f6, 0x94($s0)
|
|
/* 03FBD8 8003EFD8 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03FBDC 8003EFDC 44818000 */ mtc1 $at, $f16
|
|
/* 03FBE0 8003EFE0 46083483 */ div.s $f18, $f6, $f8
|
|
/* 03FBE4 8003EFE4 46109282 */ mul.s $f10, $f18, $f16
|
|
/* 03FBE8 8003EFE8 460A203C */ c.lt.s $f4, $f10
|
|
/* 03FBEC 8003EFEC 00000000 */ nop
|
|
/* 03FBF0 8003EFF0 45030007 */ bc1tl .L8003F010
|
|
/* 03FBF4 8003EFF4 86080206 */ lh $t0, 0x206($s0)
|
|
/* 03FBF8 8003EFF8 8E1900BC */ lw $t9, 0xbc($s0)
|
|
/* 03FBFC 8003EFFC 3C020001 */ lui $v0, 1
|
|
/* 03FC00 8003F000 03227024 */ and $t6, $t9, $v0
|
|
/* 03FC04 8003F004 544E002B */ bnel $v0, $t6, .L8003F0B4
|
|
/* 03FC08 8003F008 44802000 */ mtc1 $zero, $f4
|
|
/* 03FC0C 8003F00C 86080206 */ lh $t0, 0x206($s0)
|
|
.L8003F010:
|
|
/* 03FC10 8003F010 240200B6 */ li $v0, 182
|
|
/* 03FC14 8003F014 0102001A */ div $zero, $t0, $v0
|
|
/* 03FC18 8003F018 00004812 */ mflo $t1
|
|
/* 03FC1C 8003F01C 00095080 */ sll $t2, $t1, 2
|
|
/* 03FC20 8003F020 01495023 */ subu $t2, $t2, $t1
|
|
/* 03FC24 8003F024 000A50C0 */ sll $t2, $t2, 3
|
|
/* 03FC28 8003F028 01495021 */ addu $t2, $t2, $t1
|
|
/* 03FC2C 8003F02C 000A5040 */ sll $t2, $t2, 1
|
|
/* 03FC30 8003F030 448A3000 */ mtc1 $t2, $f6
|
|
/* 03FC34 8003F034 14400002 */ bnez $v0, .L8003F040
|
|
/* 03FC38 8003F038 00000000 */ nop
|
|
/* 03FC3C 8003F03C 0007000D */ break 7
|
|
.L8003F040:
|
|
/* 03FC40 8003F040 2401FFFF */ li $at, -1
|
|
/* 03FC44 8003F044 14410004 */ bne $v0, $at, .L8003F058
|
|
/* 03FC48 8003F048 3C018000 */ lui $at, 0x8000
|
|
/* 03FC4C 8003F04C 15010002 */ bne $t0, $at, .L8003F058
|
|
/* 03FC50 8003F050 00000000 */ nop
|
|
/* 03FC54 8003F054 0006000D */ break 6
|
|
.L8003F058:
|
|
/* 03FC58 8003F058 46803220 */ cvt.s.w $f8, $f6
|
|
/* 03FC5C 8003F05C E6280000 */ swc1 $f8, ($s1)
|
|
/* 03FC60 8003F060 860B00C4 */ lh $t3, 0xc4($s0)
|
|
/* 03FC64 8003F064 0162001A */ div $zero, $t3, $v0
|
|
/* 03FC68 8003F068 00006012 */ mflo $t4
|
|
/* 03FC6C 8003F06C 000C6823 */ negu $t5, $t4
|
|
/* 03FC70 8003F070 000D7900 */ sll $t7, $t5, 4
|
|
/* 03FC74 8003F074 01ED7823 */ subu $t7, $t7, $t5
|
|
/* 03FC78 8003F078 000F7880 */ sll $t7, $t7, 2
|
|
/* 03FC7C 8003F07C 448F9000 */ mtc1 $t7, $f18
|
|
/* 03FC80 8003F080 14400002 */ bnez $v0, .L8003F08C
|
|
/* 03FC84 8003F084 00000000 */ nop
|
|
/* 03FC88 8003F088 0007000D */ break 7
|
|
.L8003F08C:
|
|
/* 03FC8C 8003F08C 2401FFFF */ li $at, -1
|
|
/* 03FC90 8003F090 14410004 */ bne $v0, $at, .L8003F0A4
|
|
/* 03FC94 8003F094 3C018000 */ lui $at, 0x8000
|
|
/* 03FC98 8003F098 15610002 */ bne $t3, $at, .L8003F0A4
|
|
/* 03FC9C 8003F09C 00000000 */ nop
|
|
/* 03FCA0 8003F0A0 0006000D */ break 6
|
|
.L8003F0A4:
|
|
/* 03FCA4 8003F0A4 46809420 */ cvt.s.w $f16, $f18
|
|
/* 03FCA8 8003F0A8 10000019 */ b .L8003F110
|
|
/* 03FCAC 8003F0AC E6300008 */ swc1 $f16, 8($s1)
|
|
/* 03FCB0 8003F0B0 44802000 */ mtc1 $zero, $f4
|
|
.L8003F0B4:
|
|
/* 03FCB4 8003F0B4 240200B6 */ li $v0, 182
|
|
/* 03FCB8 8003F0B8 E6240000 */ swc1 $f4, ($s1)
|
|
/* 03FCBC 8003F0BC 861800C4 */ lh $t8, 0xc4($s0)
|
|
/* 03FCC0 8003F0C0 0302001A */ div $zero, $t8, $v0
|
|
/* 03FCC4 8003F0C4 0000C812 */ mflo $t9
|
|
/* 03FCC8 8003F0C8 00197023 */ negu $t6, $t9
|
|
/* 03FCCC 8003F0CC 000E4080 */ sll $t0, $t6, 2
|
|
/* 03FCD0 8003F0D0 010E4023 */ subu $t0, $t0, $t6
|
|
/* 03FCD4 8003F0D4 000840C0 */ sll $t0, $t0, 3
|
|
/* 03FCD8 8003F0D8 010E4021 */ addu $t0, $t0, $t6
|
|
/* 03FCDC 8003F0DC 00084040 */ sll $t0, $t0, 1
|
|
/* 03FCE0 8003F0E0 44885000 */ mtc1 $t0, $f10
|
|
/* 03FCE4 8003F0E4 14400002 */ bnez $v0, .L8003F0F0
|
|
/* 03FCE8 8003F0E8 00000000 */ nop
|
|
/* 03FCEC 8003F0EC 0007000D */ break 7
|
|
.L8003F0F0:
|
|
/* 03FCF0 8003F0F0 2401FFFF */ li $at, -1
|
|
/* 03FCF4 8003F0F4 14410004 */ bne $v0, $at, .L8003F108
|
|
/* 03FCF8 8003F0F8 3C018000 */ lui $at, 0x8000
|
|
/* 03FCFC 8003F0FC 17010002 */ bne $t8, $at, .L8003F108
|
|
/* 03FD00 8003F100 00000000 */ nop
|
|
/* 03FD04 8003F104 0006000D */ break 6
|
|
.L8003F108:
|
|
/* 03FD08 8003F108 468051A0 */ cvt.s.w $f6, $f10
|
|
/* 03FD0C 8003F10C E6260008 */ swc1 $f6, 8($s1)
|
|
.L8003F110:
|
|
/* 03FD10 8003F110 44804000 */ mtc1 $zero, $f8
|
|
.L8003F114:
|
|
/* 03FD14 8003F114 02202025 */ move $a0, $s1
|
|
/* 03FD18 8003F118 26050174 */ addiu $a1, $s0, 0x174
|
|
/* 03FD1C 8003F11C 0C0AD8EE */ jal func_802B63B8
|
|
/* 03FD20 8003F120 E6280004 */ swc1 $f8, 4($s1)
|
|
/* 03FD24 8003F124 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 03FD28 8003F128 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 03FD2C 8003F12C 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 03FD30 8003F130 03E00008 */ jr $ra
|
|
/* 03FD34 8003F134 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003F138
|
|
/* 03FD38 8003F138 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 03FD3C 8003F13C AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 03FD40 8003F140 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 03FD44 8003F144 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 03FD48 8003F148 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 03FD4C 8003F14C C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03FD50 8003F150 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 03FD54 8003F154 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 03FD58 8003F158 44810000 */ mtc1 $at, $f0
|
|
/* 03FD5C 8003F15C 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03FD60 8003F160 8FAF003C */ lw $t7, 0x3c($sp)
|
|
/* 03FD64 8003F164 3C01800F */ lui $at, %hi(D_800EDF80)
|
|
/* 03FD68 8003F168 00808025 */ move $s0, $a0
|
|
/* 03FD6C 8003F16C C5F00000 */ lwc1 $f16, ($t7)
|
|
/* 03FD70 8003F170 00E08825 */ move $s1, $a3
|
|
/* 03FD74 8003F174 3C073F00 */ lui $a3, 0x3f00
|
|
/* 03FD78 8003F178 46004282 */ mul.s $f10, $f8, $f0
|
|
/* 03FD7C 8003F17C 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 03FD80 8003F180 E5F20000 */ swc1 $f18, ($t7)
|
|
/* 03FD84 8003F184 C4860124 */ lwc1 $f6, 0x124($a0)
|
|
/* 03FD88 8003F188 C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 03FD8C 8003F18C D42ADF80 */ ldc1 $f10, %lo(D_800EDF80)($at)
|
|
/* 03FD90 8003F190 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 03FD94 8003F194 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 03FD98 8003F198 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 03FD9C 8003F19C C7040000 */ lwc1 $f4, ($t8)
|
|
/* 03FDA0 8003F1A0 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 03FDA4 8003F1A4 46004421 */ cvt.d.s $f16, $f8
|
|
/* 03FDA8 8003F1A8 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 03FDAC 8003F1AC 46323200 */ add.d $f8, $f6, $f18
|
|
/* 03FDB0 8003F1B0 46204420 */ cvt.s.d $f16, $f8
|
|
/* 03FDB4 8003F1B4 E7100000 */ swc1 $f16, ($t8)
|
|
/* 03FDB8 8003F1B8 C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 03FDBC 8003F1BC C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 03FDC0 8003F1C0 8FB90044 */ lw $t9, 0x44($sp)
|
|
/* 03FDC4 8003F1C4 00A02025 */ move $a0, $a1
|
|
/* 03FDC8 8003F1C8 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03FDCC 8003F1CC C7280000 */ lwc1 $f8, ($t9)
|
|
/* 03FDD0 8003F1D0 44815000 */ mtc1 $at, $f10
|
|
/* 03FDD4 8003F1D4 46003482 */ mul.s $f18, $f6, $f0
|
|
/* 03FDD8 8003F1D8 46124400 */ add.s $f16, $f8, $f18
|
|
/* 03FDDC 8003F1DC E7300000 */ swc1 $f16, ($t9)
|
|
/* 03FDE0 8003F1E0 8FA80038 */ lw $t0, 0x38($sp)
|
|
/* 03FDE4 8003F1E4 8D050000 */ lw $a1, ($t0)
|
|
/* 03FDE8 8003F1E8 0C00A97D */ jal func_8002A5F4
|
|
/* 03FDEC 8003F1EC E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* 03FDF0 8003F1F0 960900F8 */ lhu $t1, 0xf8($s0)
|
|
/* 03FDF4 8003F1F4 24010008 */ li $at, 8
|
|
/* 03FDF8 8003F1F8 15210005 */ bne $t1, $at, .L8003F210
|
|
/* 03FDFC 8003F1FC 00000000 */ nop
|
|
/* 03FE00 8003F200 860A0044 */ lh $t2, 0x44($s0)
|
|
/* 03FE04 8003F204 2401FFFE */ li $at, -2
|
|
/* 03FE08 8003F208 01415824 */ and $t3, $t2, $at
|
|
/* 03FE0C 8003F20C A60B0044 */ sh $t3, 0x44($s0)
|
|
.L8003F210:
|
|
/* 03FE10 8003F210 3C01800F */ lui $at, %hi(D_800EDF88) # $at, 0x800f
|
|
/* 03FE14 8003F214 C424DF88 */ lwc1 $f4, %lo(D_800EDF88)($at)
|
|
/* 03FE18 8003F218 C6060144 */ lwc1 $f6, 0x144($s0)
|
|
/* 03FE1C 8003F21C 4604303E */ c.le.s $f6, $f4
|
|
/* 03FE20 8003F220 00000000 */ nop
|
|
/* 03FE24 8003F224 45020033 */ bc1fl .L8003F2F4
|
|
/* 03FE28 8003F228 3C0141A0 */ lui $at, 0x41a0
|
|
/* 03FE2C 8003F22C 860C0206 */ lh $t4, 0x206($s0)
|
|
/* 03FE30 8003F230 240200B6 */ li $v0, 182
|
|
/* 03FE34 8003F234 240300C8 */ li $v1, 200
|
|
/* 03FE38 8003F238 0182001A */ div $zero, $t4, $v0
|
|
/* 03FE3C 8003F23C 00006812 */ mflo $t5
|
|
/* 03FE40 8003F240 02002025 */ move $a0, $s0
|
|
/* 03FE44 8003F244 14400002 */ bnez $v0, .L8003F250
|
|
/* 03FE48 8003F248 00000000 */ nop
|
|
/* 03FE4C 8003F24C 0007000D */ break 7
|
|
.L8003F250:
|
|
/* 03FE50 8003F250 2401FFFF */ li $at, -1
|
|
/* 03FE54 8003F254 14410004 */ bne $v0, $at, .L8003F268
|
|
/* 03FE58 8003F258 3C018000 */ lui $at, 0x8000
|
|
/* 03FE5C 8003F25C 15810002 */ bne $t4, $at, .L8003F268
|
|
/* 03FE60 8003F260 00000000 */ nop
|
|
/* 03FE64 8003F264 0006000D */ break 6
|
|
.L8003F268:
|
|
/* 03FE68 8003F268 01A30019 */ multu $t5, $v1
|
|
/* 03FE6C 8003F26C 3C054080 */ lui $a1, 0x4080
|
|
/* 03FE70 8003F270 00007812 */ mflo $t7
|
|
/* 03FE74 8003F274 448F4000 */ mtc1 $t7, $f8
|
|
/* 03FE78 8003F278 00000000 */ nop
|
|
/* 03FE7C 8003F27C 468044A0 */ cvt.s.w $f18, $f8
|
|
/* 03FE80 8003F280 E6320000 */ swc1 $f18, ($s1)
|
|
/* 03FE84 8003F284 861800C4 */ lh $t8, 0xc4($s0)
|
|
/* 03FE88 8003F288 0302001A */ div $zero, $t8, $v0
|
|
/* 03FE8C 8003F28C 0000C812 */ mflo $t9
|
|
/* 03FE90 8003F290 00197023 */ negu $t6, $t9
|
|
/* 03FE94 8003F294 14400002 */ bnez $v0, .L8003F2A0
|
|
/* 03FE98 8003F298 00000000 */ nop
|
|
/* 03FE9C 8003F29C 0007000D */ break 7
|
|
.L8003F2A0:
|
|
/* 03FEA0 8003F2A0 2401FFFF */ li $at, -1
|
|
/* 03FEA4 8003F2A4 14410004 */ bne $v0, $at, .L8003F2B8
|
|
/* 03FEA8 8003F2A8 3C018000 */ lui $at, 0x8000
|
|
/* 03FEAC 8003F2AC 17010002 */ bne $t8, $at, .L8003F2B8
|
|
/* 03FEB0 8003F2B0 00000000 */ nop
|
|
/* 03FEB4 8003F2B4 0006000D */ break 6
|
|
.L8003F2B8:
|
|
/* 03FEB8 8003F2B8 01C30019 */ multu $t6, $v1
|
|
/* 03FEBC 8003F2BC 00004012 */ mflo $t0
|
|
/* 03FEC0 8003F2C0 44888000 */ mtc1 $t0, $f16
|
|
/* 03FEC4 8003F2C4 00000000 */ nop
|
|
/* 03FEC8 8003F2C8 468082A0 */ cvt.s.w $f10, $f16
|
|
/* 03FECC 8003F2CC 0C00C7D2 */ jal func_80031F48
|
|
/* 03FED0 8003F2D0 E62A0008 */ swc1 $f10, 8($s1)
|
|
/* 03FED4 8003F2D4 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
|
/* 03FED8 8003F2D8 44812000 */ mtc1 $at, $f4
|
|
/* 03FEDC 8003F2DC 44803000 */ mtc1 $zero, $f6
|
|
/* 03FEE0 8003F2E0 44800000 */ mtc1 $zero, $f0
|
|
/* 03FEE4 8003F2E4 E6040DAC */ swc1 $f4, 0xdac($s0)
|
|
/* 03FEE8 8003F2E8 10000056 */ b .L8003F444
|
|
/* 03FEEC 8003F2EC E6260000 */ swc1 $f6, ($s1)
|
|
/* 03FEF0 8003F2F0 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
|
.L8003F2F4:
|
|
/* 03FEF4 8003F2F4 44814000 */ mtc1 $at, $f8
|
|
/* 03FEF8 8003F2F8 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 03FEFC 8003F2FC 44818000 */ mtc1 $at, $f16
|
|
/* 03FF00 8003F300 C6120094 */ lwc1 $f18, 0x94($s0)
|
|
/* 03FF04 8003F304 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 03FF08 8003F308 44812000 */ mtc1 $at, $f4
|
|
/* 03FF0C 8003F30C 46109283 */ div.s $f10, $f18, $f16
|
|
/* 03FF10 8003F310 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 03FF14 8003F314 4606403C */ c.lt.s $f8, $f6
|
|
/* 03FF18 8003F318 00000000 */ nop
|
|
/* 03FF1C 8003F31C 45030007 */ bc1tl .L8003F33C
|
|
/* 03FF20 8003F320 860B0206 */ lh $t3, 0x206($s0)
|
|
/* 03FF24 8003F324 8E0900BC */ lw $t1, 0xbc($s0)
|
|
/* 03FF28 8003F328 3C020001 */ lui $v0, 1
|
|
/* 03FF2C 8003F32C 01225024 */ and $t2, $t1, $v0
|
|
/* 03FF30 8003F330 544A002D */ bnel $v0, $t2, .L8003F3E8
|
|
/* 03FF34 8003F334 44800000 */ mtc1 $zero, $f0
|
|
/* 03FF38 8003F338 860B0206 */ lh $t3, 0x206($s0)
|
|
.L8003F33C:
|
|
/* 03FF3C 8003F33C 240200B6 */ li $v0, 182
|
|
/* 03FF40 8003F340 24030078 */ li $v1, 120
|
|
/* 03FF44 8003F344 0162001A */ div $zero, $t3, $v0
|
|
/* 03FF48 8003F348 00006012 */ mflo $t4
|
|
/* 03FF4C 8003F34C 44804000 */ mtc1 $zero, $f8
|
|
/* 03FF50 8003F350 14400002 */ bnez $v0, .L8003F35C
|
|
/* 03FF54 8003F354 00000000 */ nop
|
|
/* 03FF58 8003F358 0007000D */ break 7
|
|
.L8003F35C:
|
|
/* 03FF5C 8003F35C 2401FFFF */ li $at, -1
|
|
/* 03FF60 8003F360 14410004 */ bne $v0, $at, .L8003F374
|
|
/* 03FF64 8003F364 3C018000 */ lui $at, 0x8000
|
|
/* 03FF68 8003F368 15610002 */ bne $t3, $at, .L8003F374
|
|
/* 03FF6C 8003F36C 00000000 */ nop
|
|
/* 03FF70 8003F370 0006000D */ break 6
|
|
.L8003F374:
|
|
/* 03FF74 8003F374 01830019 */ multu $t4, $v1
|
|
/* 03FF78 8003F378 44800000 */ mtc1 $zero, $f0
|
|
/* 03FF7C 8003F37C 00006812 */ mflo $t5
|
|
/* 03FF80 8003F380 448D9000 */ mtc1 $t5, $f18
|
|
/* 03FF84 8003F384 00000000 */ nop
|
|
/* 03FF88 8003F388 46809420 */ cvt.s.w $f16, $f18
|
|
/* 03FF8C 8003F38C E6300000 */ swc1 $f16, ($s1)
|
|
/* 03FF90 8003F390 860F00C4 */ lh $t7, 0xc4($s0)
|
|
/* 03FF94 8003F394 E6280000 */ swc1 $f8, ($s1)
|
|
/* 03FF98 8003F398 01E2001A */ div $zero, $t7, $v0
|
|
/* 03FF9C 8003F39C 0000C012 */ mflo $t8
|
|
/* 03FFA0 8003F3A0 0018C823 */ negu $t9, $t8
|
|
/* 03FFA4 8003F3A4 14400002 */ bnez $v0, .L8003F3B0
|
|
/* 03FFA8 8003F3A8 00000000 */ nop
|
|
/* 03FFAC 8003F3AC 0007000D */ break 7
|
|
.L8003F3B0:
|
|
/* 03FFB0 8003F3B0 2401FFFF */ li $at, -1
|
|
/* 03FFB4 8003F3B4 14410004 */ bne $v0, $at, .L8003F3C8
|
|
/* 03FFB8 8003F3B8 3C018000 */ lui $at, 0x8000
|
|
/* 03FFBC 8003F3BC 15E10002 */ bne $t7, $at, .L8003F3C8
|
|
/* 03FFC0 8003F3C0 00000000 */ nop
|
|
/* 03FFC4 8003F3C4 0006000D */ break 6
|
|
.L8003F3C8:
|
|
/* 03FFC8 8003F3C8 03230019 */ multu $t9, $v1
|
|
/* 03FFCC 8003F3CC 00007012 */ mflo $t6
|
|
/* 03FFD0 8003F3D0 448E5000 */ mtc1 $t6, $f10
|
|
/* 03FFD4 8003F3D4 00000000 */ nop
|
|
/* 03FFD8 8003F3D8 46805120 */ cvt.s.w $f4, $f10
|
|
/* 03FFDC 8003F3DC 10000019 */ b .L8003F444
|
|
/* 03FFE0 8003F3E0 E6240008 */ swc1 $f4, 8($s1)
|
|
/* 03FFE4 8003F3E4 44800000 */ mtc1 $zero, $f0
|
|
.L8003F3E8:
|
|
/* 03FFE8 8003F3E8 240200B6 */ li $v0, 182
|
|
/* 03FFEC 8003F3EC E6200000 */ swc1 $f0, ($s1)
|
|
/* 03FFF0 8003F3F0 860800C4 */ lh $t0, 0xc4($s0)
|
|
/* 03FFF4 8003F3F4 0102001A */ div $zero, $t0, $v0
|
|
/* 03FFF8 8003F3F8 00004812 */ mflo $t1
|
|
/* 03FFFC 8003F3FC 00095023 */ negu $t2, $t1
|
|
/* 040000 8003F400 000A5880 */ sll $t3, $t2, 2
|
|
/* 040004 8003F404 016A5823 */ subu $t3, $t3, $t2
|
|
/* 040008 8003F408 000B58C0 */ sll $t3, $t3, 3
|
|
/* 04000C 8003F40C 016A5821 */ addu $t3, $t3, $t2
|
|
/* 040010 8003F410 000B5840 */ sll $t3, $t3, 1
|
|
/* 040014 8003F414 448B3000 */ mtc1 $t3, $f6
|
|
/* 040018 8003F418 14400002 */ bnez $v0, .L8003F424
|
|
/* 04001C 8003F41C 00000000 */ nop
|
|
/* 040020 8003F420 0007000D */ break 7
|
|
.L8003F424:
|
|
/* 040024 8003F424 2401FFFF */ li $at, -1
|
|
/* 040028 8003F428 14410004 */ bne $v0, $at, .L8003F43C
|
|
/* 04002C 8003F42C 3C018000 */ lui $at, 0x8000
|
|
/* 040030 8003F430 15010002 */ bne $t0, $at, .L8003F43C
|
|
/* 040034 8003F434 00000000 */ nop
|
|
/* 040038 8003F438 0006000D */ break 6
|
|
.L8003F43C:
|
|
/* 04003C 8003F43C 468034A0 */ cvt.s.w $f18, $f6
|
|
/* 040040 8003F440 E6320008 */ swc1 $f18, 8($s1)
|
|
.L8003F444:
|
|
/* 040044 8003F444 E6200004 */ swc1 $f0, 4($s1)
|
|
/* 040048 8003F448 E6200008 */ swc1 $f0, 8($s1)
|
|
/* 04004C 8003F44C 02202025 */ move $a0, $s1
|
|
/* 040050 8003F450 0C0AD8EE */ jal func_802B63B8
|
|
/* 040054 8003F454 26050174 */ addiu $a1, $s0, 0x174
|
|
/* 040058 8003F458 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 04005C 8003F45C 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 040060 8003F460 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 040064 8003F464 03E00008 */ jr $ra
|
|
/* 040068 8003F468 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003F46C
|
|
/* 04006C 8003F46C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 040070 8003F470 AFBF002C */ sw $ra, 0x2c($sp)
|
|
/* 040074 8003F474 AFB10028 */ sw $s1, 0x28($sp)
|
|
/* 040078 8003F478 AFB00024 */ sw $s0, 0x24($sp)
|
|
/* 04007C 8003F47C C4840140 */ lwc1 $f4, 0x140($a0)
|
|
/* 040080 8003F480 44800000 */ mtc1 $zero, $f0
|
|
/* 040084 8003F484 00A08025 */ move $s0, $a1
|
|
/* 040088 8003F488 46002187 */ neg.s $f6, $f4
|
|
/* 04008C 8003F48C 00808825 */ move $s1, $a0
|
|
/* 040090 8003F490 E4A60000 */ swc1 $f6, ($a1)
|
|
/* 040094 8003F494 C4880144 */ lwc1 $f8, 0x144($a0)
|
|
/* 040098 8003F498 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
|
|
/* 04009C 8003F49C 46004287 */ neg.s $f10, $f8
|
|
/* 0400A0 8003F4A0 E4AA0004 */ swc1 $f10, 4($a1)
|
|
/* 0400A4 8003F4A4 C4900148 */ lwc1 $f16, 0x148($a0)
|
|
/* 0400A8 8003F4A8 46008487 */ neg.s $f18, $f16
|
|
/* 0400AC 8003F4AC E4B20008 */ swc1 $f18, 8($a1)
|
|
/* 0400B0 8003F4B0 C4840144 */ lwc1 $f4, 0x144($a0)
|
|
/* 0400B4 8003F4B4 4600203C */ c.lt.s $f4, $f0
|
|
/* 0400B8 8003F4B8 00000000 */ nop
|
|
/* 0400BC 8003F4BC 4500002E */ bc1f .L8003F578
|
|
/* 0400C0 8003F4C0 00000000 */ nop
|
|
/* 0400C4 8003F4C4 848E00CA */ lh $t6, 0xca($a0)
|
|
/* 0400C8 8003F4C8 31CF0002 */ andi $t7, $t6, 2
|
|
/* 0400CC 8003F4CC 15E0002A */ bnez $t7, .L8003F578
|
|
/* 0400D0 8003F4D0 00000000 */ nop
|
|
/* 0400D4 8003F4D4 C4A60000 */ lwc1 $f6, ($a1)
|
|
/* 0400D8 8003F4D8 C4880124 */ lwc1 $f8, 0x124($a0)
|
|
/* 0400DC 8003F4DC 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 0400E0 8003F4E0 44811000 */ mtc1 $at, $f2
|
|
/* 0400E4 8003F4E4 46083282 */ mul.s $f10, $f6, $f8
|
|
/* 0400E8 8003F4E8 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0400EC 8003F4EC 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0400F0 8003F4F0 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0400F4 8003F4F4 C4520000 */ lwc1 $f18, ($v0)
|
|
/* 0400F8 8003F4F8 3C073F99 */ lui $a3, (0x3F99999A >> 16) # lui $a3, 0x3f99
|
|
/* 0400FC 8003F4FC 34E7999A */ ori $a3, (0x3F99999A & 0xFFFF) # ori $a3, $a3, 0x999a
|
|
/* 040100 8003F500 46025402 */ mul.s $f16, $f10, $f2
|
|
/* 040104 8003F504 46109100 */ add.s $f4, $f18, $f16
|
|
/* 040108 8003F508 E4440000 */ swc1 $f4, ($v0)
|
|
/* 04010C 8003F50C C4880124 */ lwc1 $f8, 0x124($a0)
|
|
/* 040110 8003F510 C4A60004 */ lwc1 $f6, 4($a1)
|
|
/* 040114 8003F514 C4700000 */ lwc1 $f16, ($v1)
|
|
/* 040118 8003F518 46083282 */ mul.s $f10, $f6, $f8
|
|
/* 04011C 8003F51C 00000000 */ nop
|
|
/* 040120 8003F520 46025482 */ mul.s $f18, $f10, $f2
|
|
/* 040124 8003F524 46128100 */ add.s $f4, $f16, $f18
|
|
/* 040128 8003F528 E4640000 */ swc1 $f4, ($v1)
|
|
/* 04012C 8003F52C C4880124 */ lwc1 $f8, 0x124($a0)
|
|
/* 040130 8003F530 C4A60008 */ lwc1 $f6, 8($a1)
|
|
/* 040134 8003F534 C5120000 */ lwc1 $f18, ($t0)
|
|
/* 040138 8003F538 00A02025 */ move $a0, $a1
|
|
/* 04013C 8003F53C 46083282 */ mul.s $f10, $f6, $f8
|
|
/* 040140 8003F540 00000000 */ nop
|
|
/* 040144 8003F544 46025402 */ mul.s $f16, $f10, $f2
|
|
/* 040148 8003F548 46109100 */ add.s $f4, $f18, $f16
|
|
/* 04014C 8003F54C E5040000 */ swc1 $f4, ($t0)
|
|
/* 040150 8003F550 8FB80040 */ lw $t8, 0x40($sp)
|
|
/* 040154 8003F554 8F050000 */ lw $a1, ($t8)
|
|
/* 040158 8003F558 0C00A97D */ jal func_8002A5F4
|
|
/* 04015C 8003F55C E7A00010 */ swc1 $f0, 0x10($sp)
|
|
/* 040160 8003F560 44800000 */ mtc1 $zero, $f0
|
|
/* 040164 8003F564 00000000 */ nop
|
|
/* 040168 8003F568 E62000F0 */ swc1 $f0, 0xf0($s1)
|
|
/* 04016C 8003F56C E62000F4 */ swc1 $f0, 0xf4($s1)
|
|
/* 040170 8003F570 1000006B */ b .L8003F720
|
|
/* 040174 8003F574 E62000EC */ swc1 $f0, 0xec($s1)
|
|
.L8003F578:
|
|
/* 040178 8003F578 9739C5A0 */ lhu $t9, %lo(gCurrentCourseId)($t9)
|
|
/* 04017C 8003F57C 2F210013 */ sltiu $at, $t9, 0x13
|
|
/* 040180 8003F580 10200054 */ beqz $at, .L8003F6D4
|
|
/* 040184 8003F584 0019C880 */ sll $t9, $t9, 2
|
|
/* 040188 8003F588 3C01800F */ lui $at, %hi(D_800EDF8C)
|
|
/* 04018C 8003F58C 00390821 */ addu $at, $at, $t9
|
|
/* 040190 8003F590 8C39DF8C */ lw $t9, %lo(D_800EDF8C)($at)
|
|
/* 040194 8003F594 03200008 */ jr $t9
|
|
/* 040198 8003F598 00000000 */ nop
|
|
glabel L8003F59C
|
|
/* 04019C 8003F59C 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0401A0 8003F5A0 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0401A4 8003F5A4 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0401A8 8003F5A8 8FA90040 */ lw $t1, 0x40($sp)
|
|
/* 0401AC 8003F5AC 02202025 */ move $a0, $s1
|
|
/* 0401B0 8003F5B0 02002825 */ move $a1, $s0
|
|
/* 0401B4 8003F5B4 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0401B8 8003F5B8 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0401BC 8003F5BC AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0401C0 8003F5C0 0C00F812 */ jal func_8003E048
|
|
/* 0401C4 8003F5C4 AFA90010 */ sw $t1, 0x10($sp)
|
|
/* 0401C8 8003F5C8 1000004E */ b .L8003F704
|
|
/* 0401CC 8003F5CC 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F5D0
|
|
/* 0401D0 8003F5D0 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0401D4 8003F5D4 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0401D8 8003F5D8 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0401DC 8003F5DC 8FAA0040 */ lw $t2, 0x40($sp)
|
|
/* 0401E0 8003F5E0 02202025 */ move $a0, $s1
|
|
/* 0401E4 8003F5E4 02002825 */ move $a1, $s0
|
|
/* 0401E8 8003F5E8 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0401EC 8003F5EC AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0401F0 8003F5F0 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0401F4 8003F5F4 0C00F8DF */ jal func_8003E37C
|
|
/* 0401F8 8003F5F8 AFAA0010 */ sw $t2, 0x10($sp)
|
|
/* 0401FC 8003F5FC 10000041 */ b .L8003F704
|
|
/* 040200 8003F600 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F604
|
|
/* 040204 8003F604 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 040208 8003F608 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 04020C 8003F60C 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 040210 8003F610 8FAB0040 */ lw $t3, 0x40($sp)
|
|
/* 040214 8003F614 02202025 */ move $a0, $s1
|
|
/* 040218 8003F618 02002825 */ move $a1, $s0
|
|
/* 04021C 8003F61C AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 040220 8003F620 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 040224 8003F624 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 040228 8003F628 0C00F9BB */ jal func_8003E6EC
|
|
/* 04022C 8003F62C AFAB0010 */ sw $t3, 0x10($sp)
|
|
/* 040230 8003F630 10000034 */ b .L8003F704
|
|
/* 040234 8003F634 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F638
|
|
/* 040238 8003F638 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 04023C 8003F63C 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 040240 8003F640 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 040244 8003F644 8FAC0040 */ lw $t4, 0x40($sp)
|
|
/* 040248 8003F648 02202025 */ move $a0, $s1
|
|
/* 04024C 8003F64C 02002825 */ move $a1, $s0
|
|
/* 040250 8003F650 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 040254 8003F654 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 040258 8003F658 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 04025C 8003F65C 0C00FA7B */ jal func_8003E9EC
|
|
/* 040260 8003F660 AFAC0010 */ sw $t4, 0x10($sp)
|
|
/* 040264 8003F664 10000027 */ b .L8003F704
|
|
/* 040268 8003F668 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F66C
|
|
/* 04026C 8003F66C 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 040270 8003F670 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 040274 8003F674 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 040278 8003F678 8FAD0040 */ lw $t5, 0x40($sp)
|
|
/* 04027C 8003F67C 02202025 */ move $a0, $s1
|
|
/* 040280 8003F680 02002825 */ move $a1, $s0
|
|
/* 040284 8003F684 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 040288 8003F688 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 04028C 8003F68C AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 040290 8003F690 0C00FB8B */ jal func_8003EE2C
|
|
/* 040294 8003F694 AFAD0010 */ sw $t5, 0x10($sp)
|
|
/* 040298 8003F698 1000001A */ b .L8003F704
|
|
/* 04029C 8003F69C 8E3800BC */ lw $t8, 0xbc($s1)
|
|
glabel L8003F6A0
|
|
/* 0402A0 8003F6A0 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0402A4 8003F6A4 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0402A8 8003F6A8 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0402AC 8003F6AC 8FAE0040 */ lw $t6, 0x40($sp)
|
|
/* 0402B0 8003F6B0 02202025 */ move $a0, $s1
|
|
/* 0402B4 8003F6B4 02002825 */ move $a1, $s0
|
|
/* 0402B8 8003F6B8 AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0402BC 8003F6BC AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0402C0 8003F6C0 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0402C4 8003F6C4 0C00FC4E */ jal func_8003F138
|
|
/* 0402C8 8003F6C8 AFAE0010 */ sw $t6, 0x10($sp)
|
|
/* 0402CC 8003F6CC 1000000D */ b .L8003F704
|
|
/* 0402D0 8003F6D0 8E3800BC */ lw $t8, 0xbc($s1)
|
|
.L8003F6D4:
|
|
glabel L8003F6D4
|
|
/* 0402D4 8003F6D4 8FA20044 */ lw $v0, 0x44($sp)
|
|
/* 0402D8 8003F6D8 8FA30048 */ lw $v1, 0x48($sp)
|
|
/* 0402DC 8003F6DC 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* 0402E0 8003F6E0 8FAF0040 */ lw $t7, 0x40($sp)
|
|
/* 0402E4 8003F6E4 02202025 */ move $a0, $s1
|
|
/* 0402E8 8003F6E8 02002825 */ move $a1, $s0
|
|
/* 0402EC 8003F6EC AFA20014 */ sw $v0, 0x14($sp)
|
|
/* 0402F0 8003F6F0 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0402F4 8003F6F4 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 0402F8 8003F6F8 0C00F812 */ jal func_8003E048
|
|
/* 0402FC 8003F6FC AFAF0010 */ sw $t7, 0x10($sp)
|
|
/* 040300 8003F700 8E3800BC */ lw $t8, 0xbc($s1)
|
|
.L8003F704:
|
|
/* 040304 8003F704 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
|
/* 040308 8003F708 0018CBC0 */ sll $t9, $t8, 0xf
|
|
/* 04030C 8003F70C 07230005 */ bgezl $t9, .L8003F724
|
|
/* 040310 8003F710 8FBF002C */ lw $ra, 0x2c($sp)
|
|
/* 040314 8003F714 44813000 */ mtc1 $at, $f6
|
|
/* 040318 8003F718 00000000 */ nop
|
|
/* 04031C 8003F71C E6260DAC */ swc1 $f6, 0xdac($s1)
|
|
.L8003F720:
|
|
/* 040320 8003F720 8FBF002C */ lw $ra, 0x2c($sp)
|
|
.L8003F724:
|
|
/* 040324 8003F724 8FB00024 */ lw $s0, 0x24($sp)
|
|
/* 040328 8003F728 8FB10028 */ lw $s1, 0x28($sp)
|
|
/* 04032C 8003F72C 03E00008 */ jr $ra
|
|
/* 040330 8003F730 27BD0030 */ addiu $sp, $sp, 0x30
|
|
|
|
glabel func_8003F734
|
|
/* 040334 8003F734 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 040338 8003F738 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 04033C 8003F73C AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 040340 8003F740 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 040344 8003F744 AFA70034 */ sw $a3, 0x34($sp)
|
|
/* 040348 8003F748 C4840128 */ lwc1 $f4, 0x128($a0)
|
|
/* 04034C 8003F74C 44801000 */ mtc1 $zero, $f2
|
|
/* 040350 8003F750 00808025 */ move $s0, $a0
|
|
/* 040354 8003F754 46002187 */ neg.s $f6, $f4
|
|
/* 040358 8003F758 00A08825 */ move $s1, $a1
|
|
/* 04035C 8003F75C E4A60000 */ swc1 $f6, ($a1)
|
|
/* 040360 8003F760 C488012C */ lwc1 $f8, 0x12c($a0)
|
|
/* 040364 8003F764 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
|
/* 040368 8003F768 46004287 */ neg.s $f10, $f8
|
|
/* 04036C 8003F76C E4AA0004 */ swc1 $f10, 4($a1)
|
|
/* 040370 8003F770 C4900130 */ lwc1 $f16, 0x130($a0)
|
|
/* 040374 8003F774 46008487 */ neg.s $f18, $f16
|
|
/* 040378 8003F778 E4B20008 */ swc1 $f18, 8($a1)
|
|
/* 04037C 8003F77C C480012C */ lwc1 $f0, 0x12c($a0)
|
|
/* 040380 8003F780 46001032 */ c.eq.s $f2, $f0
|
|
/* 040384 8003F784 00000000 */ nop
|
|
/* 040388 8003F788 45020044 */ bc1fl .L8003F89C
|
|
/* 04038C 8003F78C 44815800 */ mtc1 $at, $f11
|
|
/* 040390 8003F790 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 040394 8003F794 C486011C */ lwc1 $f6, 0x11c($a0)
|
|
/* 040398 8003F798 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 04039C 8003F79C 44816000 */ mtc1 $at, $f12
|
|
/* 0403A0 8003F7A0 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 0403A4 8003F7A4 8FA30038 */ lw $v1, 0x38($sp)
|
|
/* 0403A8 8003F7A8 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 0403AC 8003F7AC 8FA80040 */ lw $t0, 0x40($sp)
|
|
/* 0403B0 8003F7B0 C4700000 */ lwc1 $f16, ($v1)
|
|
/* 0403B4 8003F7B4 3C01800F */ lui $at, %hi(D_800EDFD8)
|
|
/* 0403B8 8003F7B8 3C073F00 */ lui $a3, 0x3f00
|
|
/* 0403BC 8003F7BC 460C4282 */ mul.s $f10, $f8, $f12
|
|
/* 0403C0 8003F7C0 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 0403C4 8003F7C4 E4720000 */ swc1 $f18, ($v1)
|
|
/* 0403C8 8003F7C8 C486011C */ lwc1 $f6, 0x11c($a0)
|
|
/* 0403CC 8003F7CC C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 0403D0 8003F7D0 D42ADFD8 */ ldc1 $f10, %lo(D_800EDFD8)($at)
|
|
/* 0403D4 8003F7D4 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 0403D8 8003F7D8 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 0403DC 8003F7DC C4440000 */ lwc1 $f4, ($v0)
|
|
/* 0403E0 8003F7E0 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 0403E4 8003F7E4 46004421 */ cvt.d.s $f16, $f8
|
|
/* 0403E8 8003F7E8 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 0403EC 8003F7EC 46323200 */ add.d $f8, $f6, $f18
|
|
/* 0403F0 8003F7F0 46204420 */ cvt.s.d $f16, $f8
|
|
/* 0403F4 8003F7F4 E4500000 */ swc1 $f16, ($v0)
|
|
/* 0403F8 8003F7F8 C484011C */ lwc1 $f4, 0x11c($a0)
|
|
/* 0403FC 8003F7FC C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 040400 8003F800 C5080000 */ lwc1 $f8, ($t0)
|
|
/* 040404 8003F804 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 040408 8003F808 00000000 */ nop
|
|
/* 04040C 8003F80C 460C3482 */ mul.s $f18, $f6, $f12
|
|
/* 040410 8003F810 46124400 */ add.s $f16, $f8, $f18
|
|
/* 040414 8003F814 E5100000 */ swc1 $f16, ($t0)
|
|
/* 040418 8003F818 848E00C4 */ lh $t6, 0xc4($a0)
|
|
/* 04041C 8003F81C 8FB80034 */ lw $t8, 0x34($sp)
|
|
/* 040420 8003F820 05C10015 */ bgez $t6, .L8003F878
|
|
/* 040424 8003F824 00000000 */ nop
|
|
/* 040428 8003F828 C48A0094 */ lwc1 $f10, 0x94($a0)
|
|
/* 04042C 8003F82C 44812000 */ mtc1 $at, $f4
|
|
/* 040430 8003F830 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 040434 8003F834 44814000 */ mtc1 $at, $f8
|
|
/* 040438 8003F838 46045183 */ div.s $f6, $f10, $f4
|
|
/* 04043C 8003F83C 3C014120 */ li $at, 0x41200000 # 10.000000
|
|
/* 040440 8003F840 44818000 */ mtc1 $at, $f16
|
|
/* 040444 8003F844 8FAF0034 */ lw $t7, 0x34($sp)
|
|
/* 040448 8003F848 46083482 */ mul.s $f18, $f6, $f8
|
|
/* 04044C 8003F84C 4610903C */ c.lt.s $f18, $f16
|
|
/* 040450 8003F850 00000000 */ nop
|
|
/* 040454 8003F854 45000008 */ bc1f .L8003F878
|
|
/* 040458 8003F858 00A02025 */ move $a0, $a1
|
|
/* 04045C 8003F85C 8DE50000 */ lw $a1, ($t7)
|
|
/* 040460 8003F860 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 040464 8003F864 0C00A97D */ jal func_8002A5F4
|
|
/* 040468 8003F868 3C074020 */ lui $a3, 0x4020
|
|
/* 04046C 8003F86C 44801000 */ mtc1 $zero, $f2
|
|
/* 040470 8003F870 10000007 */ b .L8003F890
|
|
/* 040474 8003F874 00000000 */ nop
|
|
.L8003F878:
|
|
/* 040478 8003F878 8F050000 */ lw $a1, ($t8)
|
|
/* 04047C 8003F87C E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 040480 8003F880 0C00A97D */ jal func_8002A5F4
|
|
/* 040484 8003F884 02202025 */ move $a0, $s1
|
|
/* 040488 8003F888 44801000 */ mtc1 $zero, $f2
|
|
/* 04048C 8003F88C 00000000 */ nop
|
|
.L8003F890:
|
|
/* 040490 8003F890 10000080 */ b .L8003FA94
|
|
/* 040494 8003F894 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040498 8003F898 44815800 */ mtc1 $at, $f11
|
|
.L8003F89C:
|
|
/* 04049C 8003F89C 44805000 */ mtc1 $zero, $f10
|
|
/* 0404A0 8003F8A0 46000121 */ cvt.d.s $f4, $f0
|
|
/* 0404A4 8003F8A4 462A203E */ c.le.d $f4, $f10
|
|
/* 0404A8 8003F8A8 00000000 */ nop
|
|
/* 0404AC 8003F8AC 45020039 */ bc1fl .L8003F994
|
|
/* 0404B0 8003F8B0 C62A0000 */ lwc1 $f10, ($s1)
|
|
/* 0404B4 8003F8B4 C6260000 */ lwc1 $f6, ($s1)
|
|
/* 0404B8 8003F8B8 C608011C */ lwc1 $f8, 0x11c($s0)
|
|
/* 0404BC 8003F8BC 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 0404C0 8003F8C0 44816000 */ mtc1 $at, $f12
|
|
/* 0404C4 8003F8C4 46083482 */ mul.s $f18, $f6, $f8
|
|
/* 0404C8 8003F8C8 8FB90038 */ lw $t9, 0x38($sp)
|
|
/* 0404CC 8003F8CC 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 0404D0 8003F8D0 3C01800F */ lui $at, %hi(D_800EDFE0)
|
|
/* 0404D4 8003F8D4 C72A0000 */ lwc1 $f10, ($t9)
|
|
/* 0404D8 8003F8D8 44076000 */ mfc1 $a3, $f12
|
|
/* 0404DC 8003F8DC 02202025 */ move $a0, $s1
|
|
/* 0404E0 8003F8E0 460C9402 */ mul.s $f16, $f18, $f12
|
|
/* 0404E4 8003F8E4 46105100 */ add.s $f4, $f10, $f16
|
|
/* 0404E8 8003F8E8 E7240000 */ swc1 $f4, ($t9)
|
|
/* 0404EC 8003F8EC C608011C */ lwc1 $f8, 0x11c($s0)
|
|
/* 0404F0 8003F8F0 C6260004 */ lwc1 $f6, 4($s1)
|
|
/* 0404F4 8003F8F4 D430DFE0 */ ldc1 $f16, %lo(D_800EDFE0)($at)
|
|
/* 0404F8 8003F8F8 46083482 */ mul.s $f18, $f6, $f8
|
|
/* 0404FC 8003F8FC C4460000 */ lwc1 $f6, ($v0)
|
|
/* 040500 8003F900 46003221 */ cvt.d.s $f8, $f6
|
|
/* 040504 8003F904 460092A1 */ cvt.d.s $f10, $f18
|
|
/* 040508 8003F908 46305102 */ mul.d $f4, $f10, $f16
|
|
/* 04050C 8003F90C 46244480 */ add.d $f18, $f8, $f4
|
|
/* 040510 8003F910 462092A0 */ cvt.s.d $f10, $f18
|
|
/* 040514 8003F914 E44A0000 */ swc1 $f10, ($v0)
|
|
/* 040518 8003F918 C606011C */ lwc1 $f6, 0x11c($s0)
|
|
/* 04051C 8003F91C C6300008 */ lwc1 $f16, 8($s1)
|
|
/* 040520 8003F920 8FA90040 */ lw $t1, 0x40($sp)
|
|
/* 040524 8003F924 46068202 */ mul.s $f8, $f16, $f6
|
|
/* 040528 8003F928 C5320000 */ lwc1 $f18, ($t1)
|
|
/* 04052C 8003F92C 460C4102 */ mul.s $f4, $f8, $f12
|
|
/* 040530 8003F930 46049280 */ add.s $f10, $f18, $f4
|
|
/* 040534 8003F934 E52A0000 */ swc1 $f10, ($t1)
|
|
/* 040538 8003F938 8FAA0034 */ lw $t2, 0x34($sp)
|
|
/* 04053C 8003F93C 8D450000 */ lw $a1, ($t2)
|
|
/* 040540 8003F940 AFA60030 */ sw $a2, 0x30($sp)
|
|
/* 040544 8003F944 0C00A97D */ jal func_8002A5F4
|
|
/* 040548 8003F948 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 04054C 8003F94C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040550 8003F950 44801000 */ mtc1 $zero, $f2
|
|
/* 040554 8003F954 8FA60030 */ lw $a2, 0x30($sp)
|
|
/* 040558 8003F958 00025BC0 */ sll $t3, $v0, 0xf
|
|
/* 04055C 8003F95C 0560004D */ bltz $t3, .L8003FA94
|
|
/* 040560 8003F960 304C0008 */ andi $t4, $v0, 8
|
|
/* 040564 8003F964 5580004C */ bnel $t4, $zero, .L8003FA98
|
|
/* 040568 8003F968 2401FFEF */ li $at, -17
|
|
/* 04056C 8003F96C C4D00004 */ lwc1 $f16, 4($a2)
|
|
/* 040570 8003F970 3C01800F */ lui $at, %hi(D_800EDFE8)
|
|
/* 040574 8003F974 D428DFE8 */ ldc1 $f8, %lo(D_800EDFE8)($at)
|
|
/* 040578 8003F978 460081A1 */ cvt.d.s $f6, $f16
|
|
/* 04057C 8003F97C 46283482 */ mul.d $f18, $f6, $f8
|
|
/* 040580 8003F980 46209120 */ cvt.s.d $f4, $f18
|
|
/* 040584 8003F984 E4C40004 */ swc1 $f4, 4($a2)
|
|
/* 040588 8003F988 10000042 */ b .L8003FA94
|
|
/* 04058C 8003F98C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040590 8003F990 C62A0000 */ lwc1 $f10, ($s1)
|
|
.L8003F994:
|
|
/* 040594 8003F994 C610011C */ lwc1 $f16, 0x11c($s0)
|
|
/* 040598 8003F998 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 04059C 8003F99C 44816000 */ mtc1 $at, $f12
|
|
/* 0405A0 8003F9A0 46105182 */ mul.s $f6, $f10, $f16
|
|
/* 0405A4 8003F9A4 8FAD0038 */ lw $t5, 0x38($sp)
|
|
/* 0405A8 8003F9A8 3C01800F */ lui $at, %hi(D_800EDFF0)
|
|
/* 0405AC 8003F9AC C5B20000 */ lwc1 $f18, ($t5)
|
|
/* 0405B0 8003F9B0 460C3202 */ mul.s $f8, $f6, $f12
|
|
/* 0405B4 8003F9B4 46089100 */ add.s $f4, $f18, $f8
|
|
/* 0405B8 8003F9B8 E5A40000 */ swc1 $f4, ($t5)
|
|
/* 0405BC 8003F9BC C610011C */ lwc1 $f16, 0x11c($s0)
|
|
/* 0405C0 8003F9C0 C62A0004 */ lwc1 $f10, 4($s1)
|
|
/* 0405C4 8003F9C4 46105002 */ mul.s $f0, $f10, $f16
|
|
/* 0405C8 8003F9C8 4602003C */ c.lt.s $f0, $f2
|
|
/* 0405CC 8003F9CC 00000000 */ nop
|
|
/* 0405D0 8003F9D0 4500000B */ bc1f .L8003FA00
|
|
/* 0405D4 8003F9D4 00000000 */ nop
|
|
/* 0405D8 8003F9D8 D432DFF0 */ ldc1 $f18, %lo(D_800EDFF0)($at)
|
|
/* 0405DC 8003F9DC 460001A1 */ cvt.d.s $f6, $f0
|
|
/* 0405E0 8003F9E0 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 0405E4 8003F9E4 46323202 */ mul.d $f8, $f6, $f18
|
|
/* 0405E8 8003F9E8 C4440000 */ lwc1 $f4, ($v0)
|
|
/* 0405EC 8003F9EC 460022A1 */ cvt.d.s $f10, $f4
|
|
/* 0405F0 8003F9F0 46285400 */ add.d $f16, $f10, $f8
|
|
/* 0405F4 8003F9F4 462081A0 */ cvt.s.d $f6, $f16
|
|
/* 0405F8 8003F9F8 10000006 */ b .L8003FA14
|
|
/* 0405FC 8003F9FC E4460000 */ swc1 $f6, ($v0)
|
|
.L8003FA00:
|
|
/* 040600 8003FA00 46020102 */ mul.s $f4, $f0, $f2
|
|
/* 040604 8003FA04 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 040608 8003FA08 C4520000 */ lwc1 $f18, ($v0)
|
|
/* 04060C 8003FA0C 46049280 */ add.s $f10, $f18, $f4
|
|
/* 040610 8003FA10 E44A0000 */ swc1 $f10, ($v0)
|
|
.L8003FA14:
|
|
/* 040614 8003FA14 C6280008 */ lwc1 $f8, 8($s1)
|
|
/* 040618 8003FA18 C610011C */ lwc1 $f16, 0x11c($s0)
|
|
/* 04061C 8003FA1C 8FAE0040 */ lw $t6, 0x40($sp)
|
|
/* 040620 8003FA20 3C073F99 */ lui $a3, (0x3F99999A >> 16) # lui $a3, 0x3f99
|
|
/* 040624 8003FA24 46104182 */ mul.s $f6, $f8, $f16
|
|
/* 040628 8003FA28 C5C40000 */ lwc1 $f4, ($t6)
|
|
/* 04062C 8003FA2C 34E7999A */ ori $a3, (0x3F99999A & 0xFFFF) # ori $a3, $a3, 0x999a
|
|
/* 040630 8003FA30 02202025 */ move $a0, $s1
|
|
/* 040634 8003FA34 460C3482 */ mul.s $f18, $f6, $f12
|
|
/* 040638 8003FA38 46122280 */ add.s $f10, $f4, $f18
|
|
/* 04063C 8003FA3C E5CA0000 */ swc1 $f10, ($t6)
|
|
/* 040640 8003FA40 8FAF0034 */ lw $t7, 0x34($sp)
|
|
/* 040644 8003FA44 8DE50000 */ lw $a1, ($t7)
|
|
/* 040648 8003FA48 AFA60030 */ sw $a2, 0x30($sp)
|
|
/* 04064C 8003FA4C 0C00A97D */ jal func_8002A5F4
|
|
/* 040650 8003FA50 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 040654 8003FA54 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040658 8003FA58 44801000 */ mtc1 $zero, $f2
|
|
/* 04065C 8003FA5C 8FA60030 */ lw $a2, 0x30($sp)
|
|
/* 040660 8003FA60 0002C3C0 */ sll $t8, $v0, 0xf
|
|
/* 040664 8003FA64 0700000B */ bltz $t8, .L8003FA94
|
|
/* 040668 8003FA68 30590008 */ andi $t9, $v0, 8
|
|
/* 04066C 8003FA6C 5720000A */ bnel $t9, $zero, .L8003FA98
|
|
/* 040670 8003FA70 2401FFEF */ li $at, -17
|
|
/* 040674 8003FA74 C4C80004 */ lwc1 $f8, 4($a2)
|
|
/* 040678 8003FA78 3C01800F */ lui $at, %hi(D_800EDFF8)
|
|
/* 04067C 8003FA7C D426DFF8 */ ldc1 $f6, %lo(D_800EDFF8)($at)
|
|
/* 040680 8003FA80 46004421 */ cvt.d.s $f16, $f8
|
|
/* 040684 8003FA84 46268102 */ mul.d $f4, $f16, $f6
|
|
/* 040688 8003FA88 462024A0 */ cvt.s.d $f18, $f4
|
|
/* 04068C 8003FA8C E4D20004 */ swc1 $f18, 4($a2)
|
|
/* 040690 8003FA90 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8003FA94:
|
|
/* 040694 8003FA94 2401FFEF */ li $at, -17
|
|
.L8003FA98:
|
|
/* 040698 8003FA98 00414824 */ and $t1, $v0, $at
|
|
/* 04069C 8003FA9C AE0900BC */ sw $t1, 0xbc($s0)
|
|
/* 0406A0 8003FAA0 C62A0000 */ lwc1 $f10, ($s1)
|
|
/* 0406A4 8003FAA4 C600011C */ lwc1 $f0, 0x11c($s0)
|
|
/* 0406A8 8003FAA8 C6280008 */ lwc1 $f8, 8($s1)
|
|
/* 0406AC 8003FAAC 46005302 */ mul.s $f12, $f10, $f0
|
|
/* 0406B0 8003FAB0 460C103E */ c.le.s $f2, $f12
|
|
/* 0406B4 8003FAB4 46004382 */ mul.s $f14, $f8, $f0
|
|
/* 0406B8 8003FAB8 45020006 */ bc1fl .L8003FAD4
|
|
/* 0406BC 8003FABC 4602603C */ c.lt.s $f12, $f2
|
|
/* 0406C0 8003FAC0 460E103E */ c.le.s $f2, $f14
|
|
/* 0406C4 8003FAC4 00000000 */ nop
|
|
/* 0406C8 8003FAC8 45030009 */ bc1tl .L8003FAF0
|
|
/* 0406CC 8003FACC 3C014000 */ lui $at, 0x4000
|
|
/* 0406D0 8003FAD0 4602603C */ c.lt.s $f12, $f2
|
|
.L8003FAD4:
|
|
/* 0406D4 8003FAD4 00000000 */ nop
|
|
/* 0406D8 8003FAD8 45020013 */ bc1fl .L8003FB28
|
|
/* 0406DC 8003FADC 4602603C */ c.lt.s $f12, $f2
|
|
/* 0406E0 8003FAE0 460E103E */ c.le.s $f2, $f14
|
|
/* 0406E4 8003FAE4 00000000 */ nop
|
|
/* 0406E8 8003FAE8 4500000E */ bc1f .L8003FB24
|
|
/* 0406EC 8003FAEC 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L8003FAF0:
|
|
/* 0406F0 8003FAF0 44813000 */ mtc1 $at, $f6
|
|
/* 0406F4 8003FAF4 C6100070 */ lwc1 $f16, 0x70($s0)
|
|
/* 0406F8 8003FAF8 8FAA0038 */ lw $t2, 0x38($sp)
|
|
/* 0406FC 8003FAFC 46068003 */ div.s $f0, $f16, $f6
|
|
/* 040700 8003FB00 C5440000 */ lwc1 $f4, ($t2)
|
|
/* 040704 8003FB04 460C2481 */ sub.s $f18, $f4, $f12
|
|
/* 040708 8003FB08 46009281 */ sub.s $f10, $f18, $f0
|
|
/* 04070C 8003FB0C E60A0218 */ swc1 $f10, 0x218($s0)
|
|
/* 040710 8003FB10 8FAB0040 */ lw $t3, 0x40($sp)
|
|
/* 040714 8003FB14 C5680000 */ lwc1 $f8, ($t3)
|
|
/* 040718 8003FB18 460E4401 */ sub.s $f16, $f8, $f14
|
|
/* 04071C 8003FB1C 46008181 */ sub.s $f6, $f16, $f0
|
|
/* 040720 8003FB20 E606021C */ swc1 $f6, 0x21c($s0)
|
|
.L8003FB24:
|
|
/* 040724 8003FB24 4602603C */ c.lt.s $f12, $f2
|
|
.L8003FB28:
|
|
/* 040728 8003FB28 00000000 */ nop
|
|
/* 04072C 8003FB2C 45020006 */ bc1fl .L8003FB48
|
|
/* 040730 8003FB30 460C103E */ c.le.s $f2, $f12
|
|
/* 040734 8003FB34 4602703C */ c.lt.s $f14, $f2
|
|
/* 040738 8003FB38 00000000 */ nop
|
|
/* 04073C 8003FB3C 45030009 */ bc1tl .L8003FB64
|
|
/* 040740 8003FB40 3C014000 */ lui $at, 0x4000
|
|
/* 040744 8003FB44 460C103E */ c.le.s $f2, $f12
|
|
.L8003FB48:
|
|
/* 040748 8003FB48 00000000 */ nop
|
|
/* 04074C 8003FB4C 45020013 */ bc1fl .L8003FB9C
|
|
/* 040750 8003FB50 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 040754 8003FB54 4602703C */ c.lt.s $f14, $f2
|
|
/* 040758 8003FB58 00000000 */ nop
|
|
/* 04075C 8003FB5C 4500000E */ bc1f .L8003FB98
|
|
/* 040760 8003FB60 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L8003FB64:
|
|
/* 040764 8003FB64 44819000 */ mtc1 $at, $f18
|
|
/* 040768 8003FB68 C6040070 */ lwc1 $f4, 0x70($s0)
|
|
/* 04076C 8003FB6C 8FAC0038 */ lw $t4, 0x38($sp)
|
|
/* 040770 8003FB70 46122003 */ div.s $f0, $f4, $f18
|
|
/* 040774 8003FB74 C58A0000 */ lwc1 $f10, ($t4)
|
|
/* 040778 8003FB78 460C5200 */ add.s $f8, $f10, $f12
|
|
/* 04077C 8003FB7C 46004400 */ add.s $f16, $f8, $f0
|
|
/* 040780 8003FB80 E6100218 */ swc1 $f16, 0x218($s0)
|
|
/* 040784 8003FB84 8FAD0040 */ lw $t5, 0x40($sp)
|
|
/* 040788 8003FB88 C5A60000 */ lwc1 $f6, ($t5)
|
|
/* 04078C 8003FB8C 460E3100 */ add.s $f4, $f6, $f14
|
|
/* 040790 8003FB90 46002480 */ add.s $f18, $f4, $f0
|
|
/* 040794 8003FB94 E612021C */ swc1 $f18, 0x21c($s0)
|
|
.L8003FB98:
|
|
/* 040798 8003FB98 8FBF0024 */ lw $ra, 0x24($sp)
|
|
.L8003FB9C:
|
|
/* 04079C 8003FB9C 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 0407A0 8003FBA0 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 0407A4 8003FBA4 03E00008 */ jr $ra
|
|
/* 0407A8 8003FBA8 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8003FBAC
|
|
/* 0407AC 8003FBAC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 0407B0 8003FBB0 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 0407B4 8003FBB4 AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 0407B8 8003FBB8 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 0407BC 8003FBBC AFA70034 */ sw $a3, 0x34($sp)
|
|
/* 0407C0 8003FBC0 C4840134 */ lwc1 $f4, 0x134($a0)
|
|
/* 0407C4 8003FBC4 44801000 */ mtc1 $zero, $f2
|
|
/* 0407C8 8003FBC8 00808025 */ move $s0, $a0
|
|
/* 0407CC 8003FBCC 46002187 */ neg.s $f6, $f4
|
|
/* 0407D0 8003FBD0 00A08825 */ move $s1, $a1
|
|
/* 0407D4 8003FBD4 E4A60000 */ swc1 $f6, ($a1)
|
|
/* 0407D8 8003FBD8 C4880138 */ lwc1 $f8, 0x138($a0)
|
|
/* 0407DC 8003FBDC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
|
/* 0407E0 8003FBE0 46004287 */ neg.s $f10, $f8
|
|
/* 0407E4 8003FBE4 E4AA0004 */ swc1 $f10, 4($a1)
|
|
/* 0407E8 8003FBE8 C490013C */ lwc1 $f16, 0x13c($a0)
|
|
/* 0407EC 8003FBEC 46008487 */ neg.s $f18, $f16
|
|
/* 0407F0 8003FBF0 E4B20008 */ swc1 $f18, 8($a1)
|
|
/* 0407F4 8003FBF4 C4800138 */ lwc1 $f0, 0x138($a0)
|
|
/* 0407F8 8003FBF8 46001032 */ c.eq.s $f2, $f0
|
|
/* 0407FC 8003FBFC 00000000 */ nop
|
|
/* 040800 8003FC00 45020044 */ bc1fl .L8003FD14
|
|
/* 040804 8003FC04 44815800 */ mtc1 $at, $f11
|
|
/* 040808 8003FC08 C4A40000 */ lwc1 $f4, ($a1)
|
|
/* 04080C 8003FC0C C4860120 */ lwc1 $f6, 0x120($a0)
|
|
/* 040810 8003FC10 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 040814 8003FC14 44816000 */ mtc1 $at, $f12
|
|
/* 040818 8003FC18 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 04081C 8003FC1C 8FA30038 */ lw $v1, 0x38($sp)
|
|
/* 040820 8003FC20 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 040824 8003FC24 8FA80040 */ lw $t0, 0x40($sp)
|
|
/* 040828 8003FC28 C4700000 */ lwc1 $f16, ($v1)
|
|
/* 04082C 8003FC2C 3C01800F */ lui $at, %hi(D_800EE000)
|
|
/* 040830 8003FC30 3C073F00 */ lui $a3, 0x3f00
|
|
/* 040834 8003FC34 460C4282 */ mul.s $f10, $f8, $f12
|
|
/* 040838 8003FC38 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 04083C 8003FC3C E4720000 */ swc1 $f18, ($v1)
|
|
/* 040840 8003FC40 C4860120 */ lwc1 $f6, 0x120($a0)
|
|
/* 040844 8003FC44 C4A40004 */ lwc1 $f4, 4($a1)
|
|
/* 040848 8003FC48 D42AE000 */ ldc1 $f10, %lo(D_800EE000)($at)
|
|
/* 04084C 8003FC4C 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 040850 8003FC50 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 040854 8003FC54 C4440000 */ lwc1 $f4, ($v0)
|
|
/* 040858 8003FC58 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 04085C 8003FC5C 46004421 */ cvt.d.s $f16, $f8
|
|
/* 040860 8003FC60 462A8482 */ mul.d $f18, $f16, $f10
|
|
/* 040864 8003FC64 46323200 */ add.d $f8, $f6, $f18
|
|
/* 040868 8003FC68 46204420 */ cvt.s.d $f16, $f8
|
|
/* 04086C 8003FC6C E4500000 */ swc1 $f16, ($v0)
|
|
/* 040870 8003FC70 C4840120 */ lwc1 $f4, 0x120($a0)
|
|
/* 040874 8003FC74 C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* 040878 8003FC78 C5080000 */ lwc1 $f8, ($t0)
|
|
/* 04087C 8003FC7C 46045182 */ mul.s $f6, $f10, $f4
|
|
/* 040880 8003FC80 00000000 */ nop
|
|
/* 040884 8003FC84 460C3482 */ mul.s $f18, $f6, $f12
|
|
/* 040888 8003FC88 46124400 */ add.s $f16, $f8, $f18
|
|
/* 04088C 8003FC8C E5100000 */ swc1 $f16, ($t0)
|
|
/* 040890 8003FC90 848E00C4 */ lh $t6, 0xc4($a0)
|
|
/* 040894 8003FC94 8FB80034 */ lw $t8, 0x34($sp)
|
|
/* 040898 8003FC98 05C10015 */ bgez $t6, .L8003FCF0
|
|
/* 04089C 8003FC9C 00000000 */ nop
|
|
/* 0408A0 8003FCA0 C48A0094 */ lwc1 $f10, 0x94($a0)
|
|
/* 0408A4 8003FCA4 44812000 */ mtc1 $at, $f4
|
|
/* 0408A8 8003FCA8 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 0408AC 8003FCAC 44814000 */ mtc1 $at, $f8
|
|
/* 0408B0 8003FCB0 46045183 */ div.s $f6, $f10, $f4
|
|
/* 0408B4 8003FCB4 3C014120 */ li $at, 0x41200000 # 10.000000
|
|
/* 0408B8 8003FCB8 44818000 */ mtc1 $at, $f16
|
|
/* 0408BC 8003FCBC 8FAF0034 */ lw $t7, 0x34($sp)
|
|
/* 0408C0 8003FCC0 46083482 */ mul.s $f18, $f6, $f8
|
|
/* 0408C4 8003FCC4 4610903C */ c.lt.s $f18, $f16
|
|
/* 0408C8 8003FCC8 00000000 */ nop
|
|
/* 0408CC 8003FCCC 45000008 */ bc1f .L8003FCF0
|
|
/* 0408D0 8003FCD0 00A02025 */ move $a0, $a1
|
|
/* 0408D4 8003FCD4 8DE50000 */ lw $a1, ($t7)
|
|
/* 0408D8 8003FCD8 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 0408DC 8003FCDC 0C00A97D */ jal func_8002A5F4
|
|
/* 0408E0 8003FCE0 3C073FC0 */ lui $a3, 0x3fc0
|
|
/* 0408E4 8003FCE4 44801000 */ mtc1 $zero, $f2
|
|
/* 0408E8 8003FCE8 10000007 */ b .L8003FD08
|
|
/* 0408EC 8003FCEC 00000000 */ nop
|
|
.L8003FCF0:
|
|
/* 0408F0 8003FCF0 8F050000 */ lw $a1, ($t8)
|
|
/* 0408F4 8003FCF4 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 0408F8 8003FCF8 0C00A97D */ jal func_8002A5F4
|
|
/* 0408FC 8003FCFC 02202025 */ move $a0, $s1
|
|
/* 040900 8003FD00 44801000 */ mtc1 $zero, $f2
|
|
/* 040904 8003FD04 00000000 */ nop
|
|
.L8003FD08:
|
|
/* 040908 8003FD08 10000080 */ b .L8003FF0C
|
|
/* 04090C 8003FD0C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040910 8003FD10 44815800 */ mtc1 $at, $f11
|
|
.L8003FD14:
|
|
/* 040914 8003FD14 44805000 */ mtc1 $zero, $f10
|
|
/* 040918 8003FD18 46000121 */ cvt.d.s $f4, $f0
|
|
/* 04091C 8003FD1C 462A203E */ c.le.d $f4, $f10
|
|
/* 040920 8003FD20 00000000 */ nop
|
|
/* 040924 8003FD24 45020039 */ bc1fl .L8003FE0C
|
|
/* 040928 8003FD28 C62A0000 */ lwc1 $f10, ($s1)
|
|
/* 04092C 8003FD2C C6260000 */ lwc1 $f6, ($s1)
|
|
/* 040930 8003FD30 C6080120 */ lwc1 $f8, 0x120($s0)
|
|
/* 040934 8003FD34 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 040938 8003FD38 44816000 */ mtc1 $at, $f12
|
|
/* 04093C 8003FD3C 46083482 */ mul.s $f18, $f6, $f8
|
|
/* 040940 8003FD40 8FB90038 */ lw $t9, 0x38($sp)
|
|
/* 040944 8003FD44 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 040948 8003FD48 3C01800F */ lui $at, %hi(D_800EE008)
|
|
/* 04094C 8003FD4C C72A0000 */ lwc1 $f10, ($t9)
|
|
/* 040950 8003FD50 44076000 */ mfc1 $a3, $f12
|
|
/* 040954 8003FD54 02202025 */ move $a0, $s1
|
|
/* 040958 8003FD58 460C9402 */ mul.s $f16, $f18, $f12
|
|
/* 04095C 8003FD5C 46105100 */ add.s $f4, $f10, $f16
|
|
/* 040960 8003FD60 E7240000 */ swc1 $f4, ($t9)
|
|
/* 040964 8003FD64 C6080120 */ lwc1 $f8, 0x120($s0)
|
|
/* 040968 8003FD68 C6260004 */ lwc1 $f6, 4($s1)
|
|
/* 04096C 8003FD6C D430E008 */ ldc1 $f16, %lo(D_800EE008)($at)
|
|
/* 040970 8003FD70 46083482 */ mul.s $f18, $f6, $f8
|
|
/* 040974 8003FD74 C4460000 */ lwc1 $f6, ($v0)
|
|
/* 040978 8003FD78 46003221 */ cvt.d.s $f8, $f6
|
|
/* 04097C 8003FD7C 460092A1 */ cvt.d.s $f10, $f18
|
|
/* 040980 8003FD80 46305102 */ mul.d $f4, $f10, $f16
|
|
/* 040984 8003FD84 46244480 */ add.d $f18, $f8, $f4
|
|
/* 040988 8003FD88 462092A0 */ cvt.s.d $f10, $f18
|
|
/* 04098C 8003FD8C E44A0000 */ swc1 $f10, ($v0)
|
|
/* 040990 8003FD90 C6060120 */ lwc1 $f6, 0x120($s0)
|
|
/* 040994 8003FD94 C6300008 */ lwc1 $f16, 8($s1)
|
|
/* 040998 8003FD98 8FA90040 */ lw $t1, 0x40($sp)
|
|
/* 04099C 8003FD9C 46068202 */ mul.s $f8, $f16, $f6
|
|
/* 0409A0 8003FDA0 C5320000 */ lwc1 $f18, ($t1)
|
|
/* 0409A4 8003FDA4 460C4102 */ mul.s $f4, $f8, $f12
|
|
/* 0409A8 8003FDA8 46049280 */ add.s $f10, $f18, $f4
|
|
/* 0409AC 8003FDAC E52A0000 */ swc1 $f10, ($t1)
|
|
/* 0409B0 8003FDB0 8FAA0034 */ lw $t2, 0x34($sp)
|
|
/* 0409B4 8003FDB4 8D450000 */ lw $a1, ($t2)
|
|
/* 0409B8 8003FDB8 AFA60030 */ sw $a2, 0x30($sp)
|
|
/* 0409BC 8003FDBC 0C00A97D */ jal func_8002A5F4
|
|
/* 0409C0 8003FDC0 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 0409C4 8003FDC4 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 0409C8 8003FDC8 44801000 */ mtc1 $zero, $f2
|
|
/* 0409CC 8003FDCC 8FA60030 */ lw $a2, 0x30($sp)
|
|
/* 0409D0 8003FDD0 00025BC0 */ sll $t3, $v0, 0xf
|
|
/* 0409D4 8003FDD4 0560004D */ bltz $t3, .L8003FF0C
|
|
/* 0409D8 8003FDD8 304C0008 */ andi $t4, $v0, 8
|
|
/* 0409DC 8003FDDC 5580004C */ bnel $t4, $zero, .L8003FF10
|
|
/* 0409E0 8003FDE0 2401FFEF */ li $at, -17
|
|
/* 0409E4 8003FDE4 C4D00004 */ lwc1 $f16, 4($a2)
|
|
/* 0409E8 8003FDE8 3C01800F */ lui $at, %hi(D_800EE010)
|
|
/* 0409EC 8003FDEC D428E010 */ ldc1 $f8, %lo(D_800EE010)($at)
|
|
/* 0409F0 8003FDF0 460081A1 */ cvt.d.s $f6, $f16
|
|
/* 0409F4 8003FDF4 46283482 */ mul.d $f18, $f6, $f8
|
|
/* 0409F8 8003FDF8 46209120 */ cvt.s.d $f4, $f18
|
|
/* 0409FC 8003FDFC E4C40004 */ swc1 $f4, 4($a2)
|
|
/* 040A00 8003FE00 10000042 */ b .L8003FF0C
|
|
/* 040A04 8003FE04 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040A08 8003FE08 C62A0000 */ lwc1 $f10, ($s1)
|
|
.L8003FE0C:
|
|
/* 040A0C 8003FE0C C6100120 */ lwc1 $f16, 0x120($s0)
|
|
/* 040A10 8003FE10 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 040A14 8003FE14 44816000 */ mtc1 $at, $f12
|
|
/* 040A18 8003FE18 46105182 */ mul.s $f6, $f10, $f16
|
|
/* 040A1C 8003FE1C 8FAD0038 */ lw $t5, 0x38($sp)
|
|
/* 040A20 8003FE20 3C01800F */ lui $at, %hi(D_800EE018)
|
|
/* 040A24 8003FE24 C5B20000 */ lwc1 $f18, ($t5)
|
|
/* 040A28 8003FE28 460C3202 */ mul.s $f8, $f6, $f12
|
|
/* 040A2C 8003FE2C 46089100 */ add.s $f4, $f18, $f8
|
|
/* 040A30 8003FE30 E5A40000 */ swc1 $f4, ($t5)
|
|
/* 040A34 8003FE34 C6100120 */ lwc1 $f16, 0x120($s0)
|
|
/* 040A38 8003FE38 C62A0004 */ lwc1 $f10, 4($s1)
|
|
/* 040A3C 8003FE3C 46105002 */ mul.s $f0, $f10, $f16
|
|
/* 040A40 8003FE40 4602003C */ c.lt.s $f0, $f2
|
|
/* 040A44 8003FE44 00000000 */ nop
|
|
/* 040A48 8003FE48 4500000B */ bc1f .L8003FE78
|
|
/* 040A4C 8003FE4C 00000000 */ nop
|
|
/* 040A50 8003FE50 D432E018 */ ldc1 $f18, %lo(D_800EE018)($at)
|
|
/* 040A54 8003FE54 460001A1 */ cvt.d.s $f6, $f0
|
|
/* 040A58 8003FE58 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 040A5C 8003FE5C 46323202 */ mul.d $f8, $f6, $f18
|
|
/* 040A60 8003FE60 C4440000 */ lwc1 $f4, ($v0)
|
|
/* 040A64 8003FE64 460022A1 */ cvt.d.s $f10, $f4
|
|
/* 040A68 8003FE68 46285400 */ add.d $f16, $f10, $f8
|
|
/* 040A6C 8003FE6C 462081A0 */ cvt.s.d $f6, $f16
|
|
/* 040A70 8003FE70 10000006 */ b .L8003FE8C
|
|
/* 040A74 8003FE74 E4460000 */ swc1 $f6, ($v0)
|
|
.L8003FE78:
|
|
/* 040A78 8003FE78 46020102 */ mul.s $f4, $f0, $f2
|
|
/* 040A7C 8003FE7C 8FA2003C */ lw $v0, 0x3c($sp)
|
|
/* 040A80 8003FE80 C4520000 */ lwc1 $f18, ($v0)
|
|
/* 040A84 8003FE84 46049280 */ add.s $f10, $f18, $f4
|
|
/* 040A88 8003FE88 E44A0000 */ swc1 $f10, ($v0)
|
|
.L8003FE8C:
|
|
/* 040A8C 8003FE8C C6280008 */ lwc1 $f8, 8($s1)
|
|
/* 040A90 8003FE90 C6100120 */ lwc1 $f16, 0x120($s0)
|
|
/* 040A94 8003FE94 8FAE0040 */ lw $t6, 0x40($sp)
|
|
/* 040A98 8003FE98 3C073F99 */ lui $a3, (0x3F99999A >> 16) # lui $a3, 0x3f99
|
|
/* 040A9C 8003FE9C 46104182 */ mul.s $f6, $f8, $f16
|
|
/* 040AA0 8003FEA0 C5C40000 */ lwc1 $f4, ($t6)
|
|
/* 040AA4 8003FEA4 34E7999A */ ori $a3, (0x3F99999A & 0xFFFF) # ori $a3, $a3, 0x999a
|
|
/* 040AA8 8003FEA8 02202025 */ move $a0, $s1
|
|
/* 040AAC 8003FEAC 460C3482 */ mul.s $f18, $f6, $f12
|
|
/* 040AB0 8003FEB0 46122280 */ add.s $f10, $f4, $f18
|
|
/* 040AB4 8003FEB4 E5CA0000 */ swc1 $f10, ($t6)
|
|
/* 040AB8 8003FEB8 8FAF0034 */ lw $t7, 0x34($sp)
|
|
/* 040ABC 8003FEBC 8DE50000 */ lw $a1, ($t7)
|
|
/* 040AC0 8003FEC0 AFA60030 */ sw $a2, 0x30($sp)
|
|
/* 040AC4 8003FEC4 0C00A97D */ jal func_8002A5F4
|
|
/* 040AC8 8003FEC8 E7A20010 */ swc1 $f2, 0x10($sp)
|
|
/* 040ACC 8003FECC 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 040AD0 8003FED0 44801000 */ mtc1 $zero, $f2
|
|
/* 040AD4 8003FED4 8FA60030 */ lw $a2, 0x30($sp)
|
|
/* 040AD8 8003FED8 0002C3C0 */ sll $t8, $v0, 0xf
|
|
/* 040ADC 8003FEDC 0700000B */ bltz $t8, .L8003FF0C
|
|
/* 040AE0 8003FEE0 30590008 */ andi $t9, $v0, 8
|
|
/* 040AE4 8003FEE4 5720000A */ bnel $t9, $zero, .L8003FF10
|
|
/* 040AE8 8003FEE8 2401FFEF */ li $at, -17
|
|
/* 040AEC 8003FEEC C4C80004 */ lwc1 $f8, 4($a2)
|
|
/* 040AF0 8003FEF0 3C01800F */ lui $at, %hi(D_800EE020)
|
|
/* 040AF4 8003FEF4 D426E020 */ ldc1 $f6, %lo(D_800EE020)($at)
|
|
/* 040AF8 8003FEF8 46004421 */ cvt.d.s $f16, $f8
|
|
/* 040AFC 8003FEFC 46268102 */ mul.d $f4, $f16, $f6
|
|
/* 040B00 8003FF00 462024A0 */ cvt.s.d $f18, $f4
|
|
/* 040B04 8003FF04 E4D20004 */ swc1 $f18, 4($a2)
|
|
/* 040B08 8003FF08 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8003FF0C:
|
|
/* 040B0C 8003FF0C 2401FFEF */ li $at, -17
|
|
.L8003FF10:
|
|
/* 040B10 8003FF10 00414824 */ and $t1, $v0, $at
|
|
/* 040B14 8003FF14 AE0900BC */ sw $t1, 0xbc($s0)
|
|
/* 040B18 8003FF18 C62A0000 */ lwc1 $f10, ($s1)
|
|
/* 040B1C 8003FF1C C6000120 */ lwc1 $f0, 0x120($s0)
|
|
/* 040B20 8003FF20 C6280008 */ lwc1 $f8, 8($s1)
|
|
/* 040B24 8003FF24 46005302 */ mul.s $f12, $f10, $f0
|
|
/* 040B28 8003FF28 460C103E */ c.le.s $f2, $f12
|
|
/* 040B2C 8003FF2C 46004382 */ mul.s $f14, $f8, $f0
|
|
/* 040B30 8003FF30 45020006 */ bc1fl .L8003FF4C
|
|
/* 040B34 8003FF34 460C103E */ c.le.s $f2, $f12
|
|
/* 040B38 8003FF38 460E103E */ c.le.s $f2, $f14
|
|
/* 040B3C 8003FF3C 00000000 */ nop
|
|
/* 040B40 8003FF40 45030009 */ bc1tl .L8003FF68
|
|
/* 040B44 8003FF44 3C014000 */ lui $at, 0x4000
|
|
/* 040B48 8003FF48 460C103E */ c.le.s $f2, $f12
|
|
.L8003FF4C:
|
|
/* 040B4C 8003FF4C 00000000 */ nop
|
|
/* 040B50 8003FF50 45020013 */ bc1fl .L8003FFA0
|
|
/* 040B54 8003FF54 4602603C */ c.lt.s $f12, $f2
|
|
/* 040B58 8003FF58 4602703C */ c.lt.s $f14, $f2
|
|
/* 040B5C 8003FF5C 00000000 */ nop
|
|
/* 040B60 8003FF60 4500000E */ bc1f .L8003FF9C
|
|
/* 040B64 8003FF64 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L8003FF68:
|
|
/* 040B68 8003FF68 44813000 */ mtc1 $at, $f6
|
|
/* 040B6C 8003FF6C C6100070 */ lwc1 $f16, 0x70($s0)
|
|
/* 040B70 8003FF70 8FAA0038 */ lw $t2, 0x38($sp)
|
|
/* 040B74 8003FF74 46068003 */ div.s $f0, $f16, $f6
|
|
/* 040B78 8003FF78 C5440000 */ lwc1 $f4, ($t2)
|
|
/* 040B7C 8003FF7C 460C2481 */ sub.s $f18, $f4, $f12
|
|
/* 040B80 8003FF80 46009281 */ sub.s $f10, $f18, $f0
|
|
/* 040B84 8003FF84 E60A0218 */ swc1 $f10, 0x218($s0)
|
|
/* 040B88 8003FF88 8FAB0040 */ lw $t3, 0x40($sp)
|
|
/* 040B8C 8003FF8C C5680000 */ lwc1 $f8, ($t3)
|
|
/* 040B90 8003FF90 460E4401 */ sub.s $f16, $f8, $f14
|
|
/* 040B94 8003FF94 46008181 */ sub.s $f6, $f16, $f0
|
|
/* 040B98 8003FF98 E606021C */ swc1 $f6, 0x21c($s0)
|
|
.L8003FF9C:
|
|
/* 040B9C 8003FF9C 4602603C */ c.lt.s $f12, $f2
|
|
.L8003FFA0:
|
|
/* 040BA0 8003FFA0 00000000 */ nop
|
|
/* 040BA4 8003FFA4 45020006 */ bc1fl .L8003FFC0
|
|
/* 040BA8 8003FFA8 4602603C */ c.lt.s $f12, $f2
|
|
/* 040BAC 8003FFAC 460E103E */ c.le.s $f2, $f14
|
|
/* 040BB0 8003FFB0 00000000 */ nop
|
|
/* 040BB4 8003FFB4 45030009 */ bc1tl .L8003FFDC
|
|
/* 040BB8 8003FFB8 3C014000 */ lui $at, 0x4000
|
|
/* 040BBC 8003FFBC 4602603C */ c.lt.s $f12, $f2
|
|
.L8003FFC0:
|
|
/* 040BC0 8003FFC0 00000000 */ nop
|
|
/* 040BC4 8003FFC4 45020013 */ bc1fl .L80040014
|
|
/* 040BC8 8003FFC8 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 040BCC 8003FFCC 4602703C */ c.lt.s $f14, $f2
|
|
/* 040BD0 8003FFD0 00000000 */ nop
|
|
/* 040BD4 8003FFD4 4500000E */ bc1f .L80040010
|
|
/* 040BD8 8003FFD8 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
.L8003FFDC:
|
|
/* 040BDC 8003FFDC 44819000 */ mtc1 $at, $f18
|
|
/* 040BE0 8003FFE0 C6040070 */ lwc1 $f4, 0x70($s0)
|
|
/* 040BE4 8003FFE4 8FAC0038 */ lw $t4, 0x38($sp)
|
|
/* 040BE8 8003FFE8 46122003 */ div.s $f0, $f4, $f18
|
|
/* 040BEC 8003FFEC C58A0000 */ lwc1 $f10, ($t4)
|
|
/* 040BF0 8003FFF0 460C5200 */ add.s $f8, $f10, $f12
|
|
/* 040BF4 8003FFF4 46004400 */ add.s $f16, $f8, $f0
|
|
/* 040BF8 8003FFF8 E6100218 */ swc1 $f16, 0x218($s0)
|
|
/* 040BFC 8003FFFC 8FAD0040 */ lw $t5, 0x40($sp)
|
|
/* 040C00 80040000 C5A60000 */ lwc1 $f6, ($t5)
|
|
/* 040C04 80040004 460E3100 */ add.s $f4, $f6, $f14
|
|
/* 040C08 80040008 46002480 */ add.s $f18, $f4, $f0
|
|
/* 040C0C 8004000C E612021C */ swc1 $f18, 0x21c($s0)
|
|
.L80040010:
|
|
/* 040C10 80040010 8FBF0024 */ lw $ra, 0x24($sp)
|
|
.L80040014:
|
|
/* 040C14 80040014 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 040C18 80040018 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 040C1C 8004001C 03E00008 */ jr $ra
|
|
/* 040C20 80040020 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
/* 040C24 80040024 00000000 */ nop
|
|
/* 040C28 80040028 00000000 */ nop
|
|
/* 040C2C 8004002C 00000000 */ nop
|