.late_rodata glabel D_8013E90C .float 0.64 glabel D_8013E910 .float 0.64 glabel D_8013E914 .float 9.58738E-5 glabel D_8013E918 .float 0.10546118 glabel D_8013E91C .float 9.58738E-5 glabel D_8013E920 .float 9.58738E-5 glabel D_8013E924 .float 9.58738E-5 glabel D_8013E928 .float 9.58738E-5 .text glabel func_8008FCC8 /* B06E68 8008FCC8 27BDFFD0 */ addiu $sp, $sp, -0x30 /* B06E6C 8008FCCC AFB10028 */ sw $s1, 0x28($sp) /* B06E70 8008FCD0 24010001 */ li $at, 1 /* B06E74 8008FCD4 00E08825 */ move $s1, $a3 /* B06E78 8008FCD8 AFBF002C */ sw $ra, 0x2c($sp) /* B06E7C 8008FCDC 14A10057 */ bne $a1, $at, .L8008FE3C /* B06E80 8008FCE0 AFB00024 */ sw $s0, 0x24($sp) /* B06E84 8008FCE4 8FB00044 */ lw $s0, 0x44($sp) /* B06E88 8008FCE8 3C018016 */ lui $at, %hi(D_80160014) # $at, 0x8016 /* B06E8C 8008FCEC 3C198016 */ lui $t9, %hi(gSaveContext+4) # $t9, 0x8016 /* B06E90 8008FCF0 920E015C */ lbu $t6, 0x15c($s0) /* B06E94 8008FCF4 8F39E664 */ lw $t9, %lo(gSaveContext+4)($t9) /* B06E98 8008FCF8 261808FC */ addiu $t8, $s0, 0x8fc /* B06E9C 8008FCFC AC2E0014 */ sw $t6, %lo(D_80160014)($at) /* B06EA0 8008FD00 920F015D */ lbu $t7, 0x15d($s0) /* B06EA4 8008FD04 3C018016 */ lui $at, %hi(D_80160018) # $at, 0x8016 /* B06EA8 8008FD08 AC2F0018 */ sw $t7, %lo(D_80160018)($at) /* B06EAC 8008FD0C 3C018016 */ lui $at, %hi(D_80160000) /* B06EB0 8008FD10 1320001B */ beqz $t9, .L8008FD80 /* B06EB4 8008FD14 AC380000 */ sw $t8, %lo(D_80160000)($at) /* B06EB8 8008FD18 920201E9 */ lbu $v0, 0x1e9($s0) /* B06EBC 8008FD1C 3C018014 */ lui $at, %hi(D_8013E90C) /* B06EC0 8008FD20 30430004 */ andi $v1, $v0, 4 /* B06EC4 8008FD24 10600003 */ beqz $v1, .L8008FD34 /* B06EC8 8008FD28 30480001 */ andi $t0, $v0, 1 /* B06ECC 8008FD2C 1100000B */ beqz $t0, .L8008FD5C /* B06ED0 8008FD30 00000000 */ nop .L8008FD34: /* B06ED4 8008FD34 C420E90C */ lwc1 $f0, %lo(D_8013E90C)($at) /* B06ED8 8008FD38 C6240000 */ lwc1 $f4, ($s1) /* B06EDC 8008FD3C C6280008 */ lwc1 $f8, 8($s1) /* B06EE0 8008FD40 46002182 */ mul.s $f6, $f4, $f0 /* B06EE4 8008FD44 00000000 */ nop /* B06EE8 8008FD48 46004282 */ mul.s $f10, $f8, $f0 /* B06EEC 8008FD4C E6260000 */ swc1 $f6, ($s1) /* B06EF0 8008FD50 E62A0008 */ swc1 $f10, 8($s1) /* B06EF4 8008FD54 920201E9 */ lbu $v0, 0x1e9($s0) /* B06EF8 8008FD58 30430004 */ andi $v1, $v0, 4 .L8008FD5C: /* B06EFC 8008FD5C 3C018014 */ lui $at, %hi(D_8013E910) /* B06F00 8008FD60 10600004 */ beqz $v1, .L8008FD74 /* B06F04 8008FD64 C420E910 */ lwc1 $f0, %lo(D_8013E910)($at) /* B06F08 8008FD68 30490002 */ andi $t1, $v0, 2 /* B06F0C 8008FD6C 51200005 */ beql $t1, $zero, .L8008FD84 /* B06F10 8008FD70 C6240004 */ lwc1 $f4, 4($s1) .L8008FD74: /* B06F14 8008FD74 C6300004 */ lwc1 $f16, 4($s1) /* B06F18 8008FD78 46008482 */ mul.s $f18, $f16, $f0 /* B06F1C 8008FD7C E6320004 */ swc1 $f18, 4($s1) .L8008FD80: /* B06F20 8008FD80 C6240004 */ lwc1 $f4, 4($s1) .L8008FD84: /* B06F24 8008FD84 C60606C4 */ lwc1 $f6, 0x6c4($s0) /* B06F28 8008FD88 46062201 */ sub.s $f8, $f4, $f6 /* B06F2C 8008FD8C E6280004 */ swc1 $f8, 4($s1) /* B06F30 8008FD90 860406C2 */ lh $a0, 0x6c2($s0) /* B06F34 8008FD94 5080009A */ beql $a0, $zero, .L80090000 /* B06F38 8008FD98 00001025 */ move $v0, $zero /* B06F3C 8008FD9C 0C01DE0D */ jal Math_Coss /* B06F40 8008FDA0 00000000 */ nop /* B06F44 8008FDA4 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* B06F48 8008FDA8 44815000 */ mtc1 $at, $f10 /* B06F4C 8008FDAC 3C014348 */ li $at, 0x43480000 # 0.000000 /* B06F50 8008FDB0 44819000 */ mtc1 $at, $f18 /* B06F54 8008FDB4 460A0401 */ sub.s $f16, $f0, $f10 /* B06F58 8008FDB8 C6260004 */ lwc1 $f6, 4($s1) /* B06F5C 8008FDBC C62C0000 */ lwc1 $f12, ($s1) /* B06F60 8008FDC0 8E260008 */ lw $a2, 8($s1) /* B06F64 8008FDC4 46128102 */ mul.s $f4, $f16, $f18 /* B06F68 8008FDC8 24070001 */ li $a3, 1 /* B06F6C 8008FDCC 0C034261 */ jal Matrix_Translate /* B06F70 8008FDD0 46062380 */ add.s $f14, $f4, $f6 /* B06F74 8008FDD4 860A06C2 */ lh $t2, 0x6c2($s0) /* B06F78 8008FDD8 3C018014 */ lui $at, %hi(D_8013E914) /* B06F7C 8008FDDC C430E914 */ lwc1 $f16, %lo(D_8013E914)($at) /* B06F80 8008FDE0 448A4000 */ mtc1 $t2, $f8 /* B06F84 8008FDE4 24050001 */ li $a1, 1 /* B06F88 8008FDE8 468042A0 */ cvt.s.w $f10, $f8 /* B06F8C 8008FDEC 46105302 */ mul.s $f12, $f10, $f16 /* B06F90 8008FDF0 0C0342DC */ jal Matrix_RotateX /* B06F94 8008FDF4 00000000 */ nop /* B06F98 8008FDF8 8FA20040 */ lw $v0, 0x40($sp) /* B06F9C 8008FDFC 24070001 */ li $a3, 1 /* B06FA0 8008FE00 84440000 */ lh $a0, ($v0) /* B06FA4 8008FE04 84450002 */ lh $a1, 2($v0) /* B06FA8 8008FE08 0C034421 */ jal Matrix_RotateRPY /* B06FAC 8008FE0C 84460004 */ lh $a2, 4($v0) /* B06FB0 8008FE10 8FA20040 */ lw $v0, 0x40($sp) /* B06FB4 8008FE14 44800000 */ mtc1 $zero, $f0 /* B06FB8 8008FE18 00000000 */ nop /* B06FBC 8008FE1C E6200008 */ swc1 $f0, 8($s1) /* B06FC0 8008FE20 E6200004 */ swc1 $f0, 4($s1) /* B06FC4 8008FE24 E6200000 */ swc1 $f0, ($s1) /* B06FC8 8008FE28 A4400004 */ sh $zero, 4($v0) /* B06FCC 8008FE2C 84430004 */ lh $v1, 4($v0) /* B06FD0 8008FE30 A4430002 */ sh $v1, 2($v0) /* B06FD4 8008FE34 10000071 */ b .L8008FFFC /* B06FD8 8008FE38 A4430000 */ sh $v1, ($v0) .L8008FE3C: /* B06FDC 8008FE3C 8CCB0000 */ lw $t3, ($a2) /* B06FE0 8008FE40 3C028016 */ lui $v0, %hi(D_80160000) /* B06FE4 8008FE44 24420000 */ addiu $v0, %lo(D_80160000) /* B06FE8 8008FE48 11600004 */ beqz $t3, .L8008FE5C /* B06FEC 8008FE4C 2401000B */ li $at, 11 /* B06FF0 8008FE50 8C4C0000 */ lw $t4, ($v0) /* B06FF4 8008FE54 258D000C */ addiu $t5, $t4, 0xc /* B06FF8 8008FE58 AC4D0000 */ sw $t5, ($v0) .L8008FE5C: /* B06FFC 8008FE5C 14A1000F */ bne $a1, $at, .L8008FE9C /* B07000 8008FE60 8FA20040 */ lw $v0, 0x40($sp) /* B07004 8008FE64 8FB00044 */ lw $s0, 0x44($sp) /* B07008 8008FE68 844E0000 */ lh $t6, ($v0) /* B0700C 8008FE6C 84590002 */ lh $t9, 2($v0) /* B07010 8008FE70 860F06BA */ lh $t7, 0x6ba($s0) /* B07014 8008FE74 844A0004 */ lh $t2, 4($v0) /* B07018 8008FE78 01CFC021 */ addu $t8, $t6, $t7 /* B0701C 8008FE7C A4580000 */ sh $t8, ($v0) /* B07020 8008FE80 860806B8 */ lh $t0, 0x6b8($s0) /* B07024 8008FE84 03284823 */ subu $t1, $t9, $t0 /* B07028 8008FE88 A4490002 */ sh $t1, 2($v0) /* B0702C 8008FE8C 860B06B6 */ lh $t3, 0x6b6($s0) /* B07030 8008FE90 014B6021 */ addu $t4, $t2, $t3 /* B07034 8008FE94 10000059 */ b .L8008FFFC /* B07038 8008FE98 A44C0004 */ sh $t4, 4($v0) .L8008FE9C: /* B0703C 8008FE9C 2401000A */ li $at, 10 /* B07040 8008FEA0 14A10034 */ bne $a1, $at, .L8008FF74 /* B07044 8008FEA4 8FB00044 */ lw $s0, 0x44($sp) /* B07048 8008FEA8 860D06B0 */ lh $t5, 0x6b0($s0) /* B0704C 8008FEAC 3C018014 */ lui $at, %hi(D_8013E918) /* B07050 8008FEB0 24050001 */ li $a1, 1 /* B07054 8008FEB4 51A0000D */ beql $t5, $zero, .L8008FEEC /* B07058 8008FEB8 860206BE */ lh $v0, 0x6be($s0) /* B0705C 8008FEBC 0C0343B5 */ jal Matrix_RotateZ /* B07060 8008FEC0 C42CE918 */ lwc1 $f12, %lo(D_8013E918)($at) /* B07064 8008FEC4 860E06B0 */ lh $t6, 0x6b0($s0) /* B07068 8008FEC8 3C018014 */ lui $at, %hi(D_8013E91C) /* B0706C 8008FECC C426E91C */ lwc1 $f6, %lo(D_8013E91C)($at) /* B07070 8008FED0 448E9000 */ mtc1 $t6, $f18 /* B07074 8008FED4 24050001 */ li $a1, 1 /* B07078 8008FED8 46809120 */ cvt.s.w $f4, $f18 /* B0707C 8008FEDC 46062302 */ mul.s $f12, $f4, $f6 /* B07080 8008FEE0 0C034348 */ jal Matrix_RotateY /* B07084 8008FEE4 00000000 */ nop /* B07088 8008FEE8 860206BE */ lh $v0, 0x6be($s0) .L8008FEEC: /* B0708C 8008FEEC 5040000A */ beql $v0, $zero, .L8008FF18 /* B07090 8008FEF0 860206BC */ lh $v0, 0x6bc($s0) /* B07094 8008FEF4 44824000 */ mtc1 $v0, $f8 /* B07098 8008FEF8 3C018014 */ lui $at, %hi(D_8013E920) /* B0709C 8008FEFC C430E920 */ lwc1 $f16, %lo(D_8013E920)($at) /* B070A0 8008FF00 468042A0 */ cvt.s.w $f10, $f8 /* B070A4 8008FF04 24050001 */ li $a1, 1 /* B070A8 8008FF08 46105302 */ mul.s $f12, $f10, $f16 /* B070AC 8008FF0C 0C034348 */ jal Matrix_RotateY /* B070B0 8008FF10 00000000 */ nop /* B070B4 8008FF14 860206BC */ lh $v0, 0x6bc($s0) .L8008FF18: /* B070B8 8008FF18 5040000A */ beql $v0, $zero, .L8008FF44 /* B070BC 8008FF1C 860206C0 */ lh $v0, 0x6c0($s0) /* B070C0 8008FF20 44829000 */ mtc1 $v0, $f18 /* B070C4 8008FF24 3C018014 */ lui $at, %hi(D_8013E924) /* B070C8 8008FF28 C426E924 */ lwc1 $f6, %lo(D_8013E924)($at) /* B070CC 8008FF2C 46809120 */ cvt.s.w $f4, $f18 /* B070D0 8008FF30 24050001 */ li $a1, 1 /* B070D4 8008FF34 46062302 */ mul.s $f12, $f4, $f6 /* B070D8 8008FF38 0C0342DC */ jal Matrix_RotateX /* B070DC 8008FF3C 00000000 */ nop /* B070E0 8008FF40 860206C0 */ lh $v0, 0x6c0($s0) .L8008FF44: /* B070E4 8008FF44 5040002E */ beql $v0, $zero, .L80090000 /* B070E8 8008FF48 00001025 */ move $v0, $zero /* B070EC 8008FF4C 44824000 */ mtc1 $v0, $f8 /* B070F0 8008FF50 3C018014 */ lui $at, %hi(D_8013E928) /* B070F4 8008FF54 C430E928 */ lwc1 $f16, %lo(D_8013E928)($at) /* B070F8 8008FF58 468042A0 */ cvt.s.w $f10, $f8 /* B070FC 8008FF5C 24050001 */ li $a1, 1 /* B07100 8008FF60 46105302 */ mul.s $f12, $f10, $f16 /* B07104 8008FF64 0C0343B5 */ jal Matrix_RotateZ /* B07108 8008FF68 00000000 */ nop /* B0710C 8008FF6C 10000024 */ b .L80090000 /* B07110 8008FF70 00001025 */ move $v0, $zero .L8008FF74: /* B07114 8008FF74 24010007 */ li $at, 7 /* B07118 8008FF78 14A1000E */ bne $a1, $at, .L8008FFB4 /* B0711C 8008FF7C 8FA20040 */ lw $v0, 0x40($sp) /* B07120 8008FF80 8FA50044 */ lw $a1, 0x44($sp) /* B07124 8008FF84 240F0007 */ li $t7, 7 /* B07128 8008FF88 24180008 */ li $t8, 8 /* B0712C 8008FF8C 24190009 */ li $t9, 9 /* B07130 8008FF90 AFB9001C */ sw $t9, 0x1c($sp) /* B07134 8008FF94 AFB80018 */ sw $t8, 0x18($sp) /* B07138 8008FF98 AFAF0014 */ sw $t7, 0x14($sp) /* B0713C 8008FF9C 02203825 */ move $a3, $s1 /* B07140 8008FFA0 AFA20010 */ sw $v0, 0x10($sp) /* B07144 8008FFA4 0C023E1F */ jal func_8008F87C /* B07148 8008FFA8 24A601B4 */ addiu $a2, $a1, 0x1b4 /* B0714C 8008FFAC 10000014 */ b .L80090000 /* B07150 8008FFB0 00001025 */ move $v0, $zero .L8008FFB4: /* B07154 8008FFB4 24010004 */ li $at, 4 /* B07158 8008FFB8 14A1000E */ bne $a1, $at, .L8008FFF4 /* B0715C 8008FFBC 8FA20040 */ lw $v0, 0x40($sp) /* B07160 8008FFC0 8FA50044 */ lw $a1, 0x44($sp) /* B07164 8008FFC4 24080004 */ li $t0, 4 /* B07168 8008FFC8 24090005 */ li $t1, 5 /* B0716C 8008FFCC 240A0006 */ li $t2, 6 /* B07170 8008FFD0 AFAA001C */ sw $t2, 0x1c($sp) /* B07174 8008FFD4 AFA90018 */ sw $t1, 0x18($sp) /* B07178 8008FFD8 AFA80014 */ sw $t0, 0x14($sp) /* B0717C 8008FFDC 02203825 */ move $a3, $s1 /* B07180 8008FFE0 AFA20010 */ sw $v0, 0x10($sp) /* B07184 8008FFE4 0C023E1F */ jal func_8008F87C /* B07188 8008FFE8 24A601B4 */ addiu $a2, $a1, 0x1b4 /* B0718C 8008FFEC 10000004 */ b .L80090000 /* B07190 8008FFF0 00001025 */ move $v0, $zero .L8008FFF4: /* B07194 8008FFF4 10000002 */ b .L80090000 /* B07198 8008FFF8 00001025 */ move $v0, $zero .L8008FFFC: /* B0719C 8008FFFC 00001025 */ move $v0, $zero .L80090000: /* B071A0 80090000 8FBF002C */ lw $ra, 0x2c($sp) /* B071A4 80090004 8FB00024 */ lw $s0, 0x24($sp) /* B071A8 80090008 8FB10028 */ lw $s1, 0x28($sp) /* B071AC 8009000C 03E00008 */ jr $ra /* B071B0 80090010 27BD0030 */ addiu $sp, $sp, 0x30