#include "versions.h" #include "macros.inc" .set noat .set noreorder .data glabel var8005ef40 .word 0x00040800 .word 0x00000000 .word 0x0c100000 .word 0x00000000 .word 0x00001400 .word 0x0018001c .word 0x00000000 glabel var8005ef5c .word model00018680+0xef4 .word model00018680+0xa3c .word model00018680+0x3a8 .word model00018680+0x990 .word model00018680+0xecc .word model00018680+0xed4 .word model00018680+0xe60 .word model00018680+0xe24 glabel var8005ef7c .word 0x00000000 glabel var8005ef80 .word model00019be0+0x84 .word model00019be0+0x90 .word model00019be0+0xa8 .word model00019be0+0xcc glabel var8005ef90 .word 0xff08ffff .word 0xffffffff .word 0x0c22ff44 .word 0x20ffffff .word 0xffff04ff .word 0xffffff00 .word 0x14000000 .rdata glabel var70054210 .word 0xbf7ffcb9 glabel var70054214 .word 0x3f7ffcb9 glabel var70054218 .word 0x40490fdb glabel var7005421c .word 0x40c90fdb glabel var70054220 .word 0x3fc90fda glabel var70054224 .word 0xbf7ffcb9 glabel var70054228 .word 0x3f7ffcb9 glabel var7005422c .word 0x38c90fdb glabel var70054230 .word 0x3fc90fda glabel var70054234 .word 0x38490fdb glabel var70054238 .word 0x3fc90fdb glabel var7005423c .word 0x46fffe00 glabel var70054240 .word 0x384910a4 glabel var70054244 .word 0x3fc90fda glabel var70054248 .word 0x362edef8 glabel var7005424c .word 0xb94fb7ff glabel var70054250 .word 0x3c08876a glabel var70054254 .word 0xbe2aaaa6 glabel var70054258 .word 0x3ea2f983 glabel var7005425c .word 0x40490fdb glabel var70054260 .word 0x330885a3 glabel var70054264 .word 0x362edef8 glabel var70054268 .word 0xb94fb7ff glabel var7005426c .word 0x3c08876a glabel var70054270 .word 0xbe2aaaa6 .text glabel model00018680 addiu $sp, $sp, -2048 sw $s0, 0x780($sp) sw $s1, 0x784($sp) sw $s2, 0x788($sp) sw $s3, 0x78c($sp) sw $s4, 0x790($sp) sw $s5, 0x794($sp) sw $s6, 0x798($sp) sw $s7, 0x79c($sp) sw $s8, 0x7a0($sp) sw $gp, 0x7a4($sp) sw $ra, 0x7a8($sp) swc1 $f20, 0x7b0($sp) swc1 $f21, 0x7b4($sp) swc1 $f22, 0x7b8($sp) swc1 $f23, 0x7bc($sp) swc1 $f24, 0x7c0($sp) swc1 $f25, 0x7c4($sp) swc1 $f26, 0x7c8($sp) swc1 $f27, 0x7cc($sp) swc1 $f28, 0x7d0($sp) swc1 $f29, 0x7d4($sp) swc1 $f30, 0x7d8($sp) swc1 $f31, 0x7dc($sp) sw $zero, 0x7f8($sp) lui $at, 0x3f80 mtc1 $at, $f31 or $t0, $sp, $zero lw $t1, 0x8($a1) lhu $t1, 0xe($t1) .L000186f8: sh $zero, 0x0($t0) addiu $t1, $t1, -1 bnezl $t1, .L000186f8 addiu $t0, $t0, 0x8 add $t0, $zero, $a1 lw $a2, 0x20($a1) beqz $a2, .L000189cc nop or $t0, $sp, $zero addi $t1, $zero, 0x0 lui $t4, %hi(var8005f010) addiu $t4, $t4, %lo(var8005f010) lw $t4, 0x0($t4) lh $t5, 0x0($a2) add $t4, $t4, $t5 lbu $t3, 0x0($t4) lui $t4, %hi(var8009a888) addiu $t4, $t4, %lo(var8009a888) lw $t4, 0x0($t4) sll $t3, $t3, 0x2 add $t4, $t4, $t3 lw $t2, 0x0($t4) lui $t4, %hi(g_Anims) addiu $t4, $t4, %lo(g_Anims) lw $t4, 0x0($t4) sll $t5, $t5, 0x2 add $t6, $t5, $t5 add $t5, $t5, $t6 add $t4, $t4, $t5 lh $t5, 0x8($t4) lbu $t4, 0xa($t4) add $t3, $t2, $t5 lui $t5, %hi(var8009a874) addiu $t5, $t5, %lo(var8009a874) lw $t5, 0x0($t5) beq $t2, $t3, .L00018874 addi $v0, $zero, 0x0 lbu $t6, 0x4($a2) sll $t6, $t6, 0x2 add $t6, $t5, $t6 lw $t6, 0x0($t6) jal model00019634 addi $gp, $zero, 0x0 mtc1 $zero, $f1 lwc1 $f0, 0x10($a2) c.eq.s $f1, $f0 bc1t .L00018874 nop or $t0, $sp, $zero addiu $t0, $t0, 0x3c0 lw $t1, 0x8($a1) lhu $t1, 0xe($t1) .L000187c8: sh $zero, 0x0($t0) addiu $t1, $t1, -1 bnezl $t1, .L000187c8 addiu $t0, $t0, 0x8 lui $at, 0x4580 mtc1 $at, $f2 or $t0, $sp, $zero mul.s $f0, $f0, $f2 addi $t1, $zero, 0x0 trunc.w.s $f0, $f0 lui $t4, %hi(var8005f010) addiu $t4, $t4, %lo(var8005f010) lw $t4, 0x0($t4) lh $t5, 0x0($a2) add $t4, $t4, $t5 lbu $t3, 0x0($t4) lui $t4, %hi(var8009a888) addiu $t4, $t4, %lo(var8009a888) lw $t4, 0x0($t4) sll $t3, $t3, 0x2 add $t4, $t4, $t3 lw $t2, 0x0($t4) lui $t4, %hi(g_Anims) addiu $t4, $t4, %lo(g_Anims) lw $t4, 0x0($t4) sll $t5, $t5, 0x2 add $t6, $t5, $t5 add $t5, $t5, $t6 add $t4, $t4, $t5 lh $t5, 0x8($t4) lbu $t4, 0xa($t4) add $t3, $t2, $t5 lui $t5, %hi(var8009a874) addiu $t5, $t5, %lo(var8009a874) lw $t5, 0x0($t5) beq $t2, $t3, .L00018874 addi $v0, $zero, 0x0 lbu $t6, 0x5($a2) sll $t6, $t6, 0x2 add $t6, $t5, $t6 lw $t6, 0x0($t6) jal model000198dc addi $gp, $zero, 0x0 .L00018874: mtc1 $zero, $f1 lwc1 $f0, 0x54($a2) c.eq.s $f0, $f1 bc1t .L000189cc swc1 $f0, 0x7e0($sp) or $t0, $sp, $zero addiu $t0, $t0, 0x3c0 addi $t1, $zero, 0x0 lui $t4, %hi(var8005f010) addiu $t4, $t4, %lo(var8005f010) lw $t4, 0x0($t4) lh $t5, 0x2($a2) add $t4, $t4, $t5 lbu $t3, 0x0($t4) lui $t4, %hi(var8009a888) addiu $t4, $t4, %lo(var8009a888) lw $t4, 0x0($t4) sll $t3, $t3, 0x2 add $t4, $t4, $t3 lw $t2, 0x0($t4) lui $t4, %hi(g_Anims) addiu $t4, $t4, %lo(g_Anims) lw $t4, 0x0($t4) sll $t5, $t5, 0x2 add $t6, $t5, $t5 add $t5, $t5, $t6 add $t4, $t4, $t5 lh $t5, 0x8($t4) lbu $t4, 0xa($t4) add $t3, $t2, $t5 lui $t5, %hi(var8009a874) addiu $t5, $t5, %lo(var8009a874) lw $t5, 0x0($t5) beq $t2, $t3, .L000189cc addi $v0, $zero, 0x0 lbu $t6, 0x6($a2) sll $t6, $t6, 0x2 add $t6, $t5, $t6 lw $t6, 0x0($t6) jal model00019634 addi $gp, $zero, 0x0 mtc1 $zero, $f1 lwc1 $f0, 0x34($a2) c.eq.s $f1, $f0 bc1t .L000189cc nop lui $at, 0x4580 mtc1 $at, $f2 or $t0, $sp, $zero addiu $t0, $t0, 0x3c0 mul.s $f0, $f0, $f2 addi $t1, $zero, 0x0 trunc.w.s $f0, $f0 lui $t4, %hi(var8005f010) addiu $t4, $t4, %lo(var8005f010) lw $t4, 0x0($t4) lh $t5, 0x2($a2) add $t4, $t4, $t5 lbu $t3, 0x0($t4) lui $t4, %hi(var8009a888) addiu $t4, $t4, %lo(var8009a888) lw $t4, 0x0($t4) sll $t3, $t3, 0x2 add $t4, $t4, $t3 lw $t2, 0x0($t4) lui $t4, %hi(g_Anims) addiu $t4, $t4, %lo(g_Anims) lw $t4, 0x0($t4) sll $t5, $t5, 0x2 add $t6, $t5, $t5 add $t5, $t5, $t6 add $t4, $t4, $t5 lh $t5, 0x8($t4) lbu $t4, 0xa($t4) add $t3, $t2, $t5 lui $t5, %hi(var8009a874) addiu $t5, $t5, %lo(var8009a874) lw $t5, 0x0($t5) beq $t2, $t3, .L000189cc addi $v0, $zero, 0x0 lbu $t6, 0x7($a2) sll $t6, $t6, 0x2 add $t6, $t5, $t6 lw $t6, 0x0($t6) jal model000198dc addi $gp, $zero, 0x0 .L000189cc: lw $a3, 0x8($a1) lw $gp, 0x0($a3) lw $s6, 0x4($a3) or $s7, $sp, $zero beqz $gp, .L000195c8 addiu $v0, $v0, 0x1 .L000189e4: lui $t1, %hi(var8005ef40) addiu $t1, $t1, %lo(var8005ef40) lhu $t0, 0x0($gp) andi $t0, $t0, 0xff add $t0, $t0, $t1 lui $t1, %hi(var8005ef5c) addiu $t1, $t1, %lo(var8005ef5c) lbu $t0, 0x0($t0) add $t0, $t1, $t0 lw $t1, 0x0($t0) lhu $t0, 0x0($gp) jr $t1 andi $t0, $t0, 0xff beqz $gp, .L000195c8 addiu $v0, $v0, 0x1 lh $t0, 0x0($gp) andi $t0, $t0, 0xff sw $zero, 0x7e4($sp) beqz $a1, .L0001900c lw $t0, 0x4($gp) beqz $a2, .L00018fd8 lhu $t1, 0xc($t0) lhu $t2, 0x0($a2) mtc1 $zero, $f29 lwc1 $f30, 0x7e0($sp) c.eq.s $f29, $f30 bc1t .L00018ba8 nop lbu $t2, 0x8($a2) beqz $t2, .L00018ab0 nop lw $t2, 0x4($s6) sll $t1, $t1, 0x1 add $t2, $t2, $t1 lbu $t1, 0x1($t2) sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lui $t2, 0x1 lhu $t4, 0x6($t0) bnez $t4, .L00018a90 sub $t4, $t2, $t4 addi $t4, $zero, 0x0 .L00018a90: lhu $t3, 0x4($t0) bnez $t3, .L00018aa0 sub $t3, $t2, $t3 addi $t3, $zero, 0x0 .L00018aa0: andi $t3, $t3, 0xffff andi $t4, $t4, 0xffff j .L00018ac8 lhu $t2, 0x2($t0) .L00018ab0: sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lhu $t2, 0x2($t0) lhu $t3, 0x4($t0) lhu $t4, 0x6($t0) .L00018ac8: lw $s0, 0x4($gp) lbu $s1, 0x9($a2) beqz $s1, .L00018b28 lhu $t1, 0xc($s0) lw $s0, 0x4($s6) sll $t1, $t1, 0x1 add $s0, $s0, $t1 lbu $t1, 0x1($s0) sll $t1, $t1, 0x3 add $t0, $s7, $t1 lui $s0, 0x1 lhu $s4, 0x3c6($t0) bnez $s4, .L00018b04 sub $s4, $s0, $s4 addi $s4, $zero, 0x0 .L00018b04: lhu $s3, 0x3c4($t0) bnez $s3, .L00018b14 sub $s3, $s0, $s3 addi $s3, $zero, 0x0 .L00018b14: andi $s3, $s3, 0xffff andi $s4, $s4, 0xffff lhu $s0, 0x2($t0) b .L00018b3c lhu $s2, 0x3c2($t0) .L00018b28: sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s2, 0x3c2($t0) lhu $s3, 0x3c4($t0) lhu $s4, 0x3c6($t0) .L00018b3c: jal model0001a024 sw $t0, 0x7e8($sp) jal model00019f2c nop mov.s $f16, $f0 mov.s $f17, $f1 mov.s $f18, $f2 mov.s $f19, $f3 or $t2, $s2, $zero or $t3, $s3, $zero jal model0001a024 or $t4, $s4, $zero jal model00019f2c nop jal model00019ddc lwc1 $f30, 0x7e0($sp) addiu $t0, $zero, 0x1 sw $t0, 0x7e4($sp) lw $t0, 0x7e8($sp) swc1 $f0, 0x7e8($sp) swc1 $f1, 0x7ec($sp) swc1 $f2, 0x7f0($sp) swc1 $f3, 0x7f4($sp) jal model0001a110 nop j .L00018c6c nop .L00018ba8: lbu $t2, 0x8($a2) beqz $t2, .L00018c04 nop lw $t2, 0x4($s6) sll $t1, $t1, 0x1 add $t2, $t2, $t1 lbu $t1, 0x1($t2) sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lui $t2, 0x1 lhu $t4, 0x6($t0) bnez $t4, .L00018be4 sub $t4, $t2, $t4 addi $t4, $zero, 0x0 .L00018be4: lhu $t3, 0x4($t0) bnez $t3, .L00018bf4 sub $t3, $t2, $t3 addi $t3, $zero, 0x0 .L00018bf4: andi $t3, $t3, 0xffff andi $t4, $t4, 0xffff b .L00018c1c lhu $t2, 0x2($t0) .L00018c04: sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lhu $t4, 0x6($t0) lhu $t3, 0x4($t0) lhu $t2, 0x2($t0) .L00018c1c: andi $t5, $s8, 0x1 bnez $t5, .L00018c50 add $s0, $zero, $t2 mtc1 $zero, $f13 mov.s $f12, $f31 mov.s $f16, $f31 mov.s $f20, $f31 mov.s $f14, $f13 mov.s $f15, $f13 mov.s $f17, $f13 mov.s $f18, $f13 j .L00018c6c mov.s $f19, $f13 .L00018c50: add $s0, $zero, $t2 add $s1, $zero, $t3 add $s2, $zero, $t4 jal model00019f98 add $s3, $zero, $t0 jal model0001a0ac add $t0, $zero, $s3 .L00018c6c: andi $t2, $s8, 0x2 beqz $t2, .L00018d04 nop lh $t2, 0x1e0($t0) lh $t3, 0x1e2($t0) lh $t4, 0x1e4($t0) lw $t5, 0x0($a3) bne $t5, $gp, .L00018cc0 lw $t0, 0x4($gp) lwc1 $f0, 0x88($a2) mtc1 $t2, $f21 mtc1 $t3, $f22 cvt.s.w $f21, $f21 mul.s $f21, $f21, $f0 mtc1 $t4, $f23 cvt.s.w $f22, $f22 mul.s $f22, $f22, $f0 cvt.s.w $f23, $f23 mul.s $f23, $f23, $f0 b .L00018d2c nop .L00018cc0: lwc1 $f3, 0x88($a2) mtc1 $t2, $f0 mtc1 $t3, $f1 cvt.s.w $f0, $f0 mul.s $f0, $f0, $f3 mtc1 $t4, $f2 cvt.s.w $f1, $f1 mul.s $f1, $f1, $f3 cvt.s.w $f2, $f2 mul.s $f2, $f2, $f3 lwc1 $f21, 0x0($t0) lwc1 $f22, 0x4($t0) lwc1 $f23, 0x8($t0) add.s $f21, $f21, $f0 add.s $f22, $f22, $f1 b .L00018d2c add.s $f23, $f23, $f2 .L00018d04: lw $t2, 0x0($a3) beq $gp, $t2, .L00018d20 lw $t0, 0x4($gp) lwc1 $f21, 0x0($t0) lwc1 $f22, 0x4($t0) j .L00018d2c lwc1 $f23, 0x8($t0) .L00018d20: mtc1 $zero, $f21 mtc1 $zero, $f22 mtc1 $zero, $f23 .L00018d2c: lw $t0, 0x8($gp) beqz $t0, .L00018d48 nop jal model0001a25c nop b .L00018d4c nop .L00018d48: lw $t0, 0x0($a0) .L00018d4c: lw $t1, 0x4($gp) lhu $t2, 0xe($t1) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jal model0001a1c0 add $t1, $t1, $t2 lui $t3, %hi(var8005efcc) addiu $t3, $t3, %lo(var8005efcc) lw $t3, 0x0($t3) beqz $t3, .L00018e80 nop addiu $sp, $sp, -128 sw $ra, 0x0($sp) sw $at, 0x4($sp) sw $v0, 0x8($sp) sw $v1, 0xc($sp) sw $a0, 0x10($sp) sw $a1, 0x14($sp) sw $a2, 0x18($sp) sw $a3, 0x1c($sp) sw $t0, 0x20($sp) sw $t1, 0x24($sp) sw $t2, 0x28($sp) sw $t3, 0x2c($sp) sw $t4, 0x30($sp) sw $t5, 0x34($sp) sw $t6, 0x38($sp) sw $t7, 0x3c($sp) sw $s0, 0x40($sp) sw $s1, 0x44($sp) sw $s2, 0x48($sp) sw $s3, 0x4c($sp) sw $s4, 0x50($sp) sw $s5, 0x54($sp) sw $s6, 0x58($sp) sw $s7, 0x5c($sp) sw $t8, 0x60($sp) sw $t9, 0x64($sp) sw $gp, 0x70($sp) sw $sp, 0x74($sp) sw $s8, 0x78($sp) lw $t1, 0x4($gp) lhu $a0, 0xe($t1) sll $t2, $a0, 0x6 lw $t1, 0xc($a1) jalr $t3 add $a1, $t1, $t2 lw $ra, 0x0($sp) lw $at, 0x4($sp) lw $v0, 0x8($sp) lw $v1, 0xc($sp) lw $a0, 0x10($sp) lw $a1, 0x14($sp) lw $a2, 0x18($sp) lw $a3, 0x1c($sp) lw $t0, 0x20($sp) lw $t1, 0x24($sp) lw $t2, 0x28($sp) lw $t3, 0x2c($sp) lw $t4, 0x30($sp) lw $t5, 0x34($sp) lw $t6, 0x38($sp) lw $t7, 0x3c($sp) lw $s0, 0x40($sp) lw $s1, 0x44($sp) lw $s2, 0x48($sp) lw $s3, 0x4c($sp) lw $s4, 0x50($sp) lw $s5, 0x54($sp) lw $s6, 0x58($sp) lw $s7, 0x5c($sp) lw $t8, 0x60($sp) lw $t9, 0x64($sp) lw $gp, 0x70($sp) lw $sp, 0x74($sp) lw $s8, 0x78($sp) addiu $sp, $sp, 0x80 .L00018e80: lh $t2, 0x0($gp) andi $t2, $t2, 0x100 beqz $t2, .L00019574 nop lw $v0, 0x7e4($sp) beqz $v0, .L00018eb0 addiu $t0, $t0, -12 lwc1 $f0, 0x7e8($sp) lwc1 $f1, 0x7ec($sp) lwc1 $f2, 0x7f0($sp) j .L00018ecc lwc1 $f3, 0x7f4($sp) .L00018eb0: add $t2, $zero, $s0 add $t3, $zero, $s1 add $t4, $zero, $s2 jal model0001a024 add $s0, $zero, $t0 jal model00019f2c add $t0, $zero, $s0 .L00018ecc: lui $at, 0x3f00 mtc1 $at, $f8 mtc1 $zero, $f4 mov.s $f6, $f0 lui $at, %hi(var70054210) lwc1 $f7, %lo(var70054210)($at) c.lt.s $f6, $f4 bc1f .L00018ef8 mov.s $f5, $f31 neg.s $f6, $f6 neg.s $f5, $f5 .L00018ef8: c.lt.s $f6, $f7 lui $at, %hi(var70054214) lwc1 $f7, %lo(var70054214)($at) bc1f .L00018f38 nop mul.s $f0, $f0, $f8 nop mul.s $f4, $f5, $f8 nop mul.s $f1, $f1, $f8 nop mul.s $f2, $f2, $f8 nop mul.s $f3, $f3, $f8 b .L00018fb4 sub.s $f0, $f0, $f4 .L00018f38: c.le.s $f6, $f7 bc1f .L00018f8c nop jal model0001a2dc nop mov.s $f17, $f0 mul.s $f12, $f6, $f8 add $s0, $zero, $t0 jal sinf add $s1, $zero, $t1 mul.s $f3, $f3, $f0 add $t0, $zero, $s0 mul.s $f2, $f2, $f0 add $t1, $zero, $s1 mul.s $f1, $f1, $f0 nop mul.s $f5, $f5, $f0 nop mul.s $f0, $f0, $f17 b .L00018fb4 add.s $f0, $f0, $f5 .L00018f8c: mul.s $f0, $f0, $f8 nop mul.s $f4, $f5, $f8 nop mul.s $f1, $f1, $f8 nop mul.s $f2, $f2, $f8 nop mul.s $f3, $f3, $f8 add.s $f0, $f0, $f4 .L00018fb4: jal model0001a110 lw $t1, 0x4($gp) lhu $t2, 0x10($t1) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jal model0001a1c0 add $t1, $t1, $t2 j .L00019574 nop .L00018fd8: mtc1 $zero, $f13 mov.s $f12, $f31 mov.s $f16, $f31 mov.s $f20, $f31 mov.s $f14, $f13 mov.s $f15, $f13 mov.s $f17, $f13 mov.s $f18, $f13 mov.s $f19, $f13 sll $t1, $t1, 0x3 add $t0, $s7, $t1 j .L00018c6c lhu $s8, 0x0($t0) .L0001900c: syscall jal model0001a25c add $t0, $zero, $gp lui $t2, %hi(g_ModelDistanceDisabled) addiu $t2, $t2, %lo(g_ModelDistanceDisabled) jal model00019d1c lw $t1, 0x4($gp) lw $t2, 0x0($t2) bnez $t2, .L00019068 mtc1 $zero, $f0 beqz $t0, .L00019068 mtc1 $zero, $f0 lui $t2, %hi(g_Vars) addiu $t2, $t2, %lo(g_Vars) lwc1 $f0, 0x38($t0) lw $t2, 0x284($t2) neg.s $f0, $f0 lwc1 $f1, 0x1774($t2) mul.s $f0, $f0, $f1 lui $t0, %hi(g_ModelDistanceScale) addiu $t0, $t0, %lo(g_ModelDistanceScale) lwc1 $f1, 0x0($t0) mul.s $f0, $f0, $f1 .L00019068: lwc1 $f1, 0x0($t1) lwc1 $f2, 0x14($a1) mtc1 $zero, $f4 mul.s $f3, $f1, $f2 c.eq.s $f1, $f4 bc1t .L00019090 lwc1 $f4, 0x4($t1) c.lt.s $f3, $f0 bc1f .L000190b0 nop .L00019090: mul.s $f3, $f4, $f2 c.le.s $f0, $f3 bc1f .L000190b0 lw $t1, 0x8($t1) addiu $t0, $zero, 0x1 sw $t0, 0x0($v0) j .L00019574 sw $t1, 0x14($gp) .L000190b0: sw $zero, 0x0($v0) j .L00019574 sw $zero, 0x14($gp) beqz $a1, .L000194a0 lw $t0, 0x4($gp) lhu $t2, 0x0($a2) beqz $a2, .L0001946c lhu $t1, 0x0($t0) mtc1 $zero, $f29 lwc1 $f30, 0x7e0($sp) c.eq.s $f29, $f30 bc1t .L00019220 nop lbu $t2, 0x8($a2) beqz $t2, .L00019140 nop lw $t2, 0x4($s6) sll $t1, $t1, 0x1 add $t2, $t2, $t1 lbu $t1, 0x1($t2) sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lui $t2, 0x1 lhu $t4, 0x6($t0) bnez $t4, .L00019120 sub $t4, $t2, $t4 addi $t4, $zero, 0x0 .L00019120: lhu $t3, 0x4($t0) bnez $t3, .L00019130 sub $t3, $t2, $t3 addi $t3, $zero, 0x0 .L00019130: andi $t3, $t3, 0xffff andi $t4, $t4, 0xffff j .L00019158 lhu $t2, 0x2($t0) .L00019140: sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lhu $t2, 0x2($t0) lhu $t3, 0x4($t0) lhu $t4, 0x6($t0) .L00019158: lw $s0, 0x4($gp) lbu $s1, 0x9($a2) beqz $s1, .L000191b8 lhu $t1, 0x0($s0) lw $s0, 0x4($s6) sll $t1, $t1, 0x1 add $s0, $s0, $t1 lbu $t1, 0x1($s0) sll $t1, $t1, 0x3 add $t0, $s7, $t1 lui $s0, 0x1 lhu $s4, 0x3c6($t0) bnez $s4, .L00019194 sub $s4, $s0, $s4 addi $s4, $zero, 0x0 .L00019194: lhu $s3, 0x3c4($t0) bnez $s3, .L000191a4 sub $s3, $s0, $s3 addi $s3, $zero, 0x0 .L000191a4: andi $s3, $s3, 0xffff andi $s4, $s4, 0xffff lhu $s0, 0x2($t0) b .L000191cc lhu $s2, 0x3c2($t0) .L000191b8: sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s2, 0x3c2($t0) lhu $s3, 0x3c4($t0) lhu $s4, 0x3c6($t0) .L000191cc: jal model0001a024 sw $t0, 0x7e8($sp) jal model00019f2c nop mov.s $f16, $f0 mov.s $f17, $f1 mov.s $f18, $f2 mov.s $f19, $f3 or $t2, $s2, $zero or $t3, $s3, $zero jal model0001a024 or $t4, $s4, $zero jal model00019f2c nop jal model00019ddc lwc1 $f30, 0x7e0($sp) lw $t0, 0x7e8($sp) jal model0001a110 nop j .L000192a8 nop .L00019220: lbu $t2, 0x8($a2) beqz $t2, .L00019284 lhu $t1, 0x0($t0) lw $t2, 0x4($s6) sll $t1, $t1, 0x1 add $t2, $t2, $t1 lbu $t1, 0x1($t2) sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lui $t2, 0x1 lhu $t4, 0x6($t0) bnez $t4, .L0001925c sub $t4, $t2, $t4 addi $t4, $zero, 0x0 .L0001925c: lhu $t3, 0x4($t0) bnez $t3, .L0001926c sub $t3, $t2, $t3 addi $t3, $zero, 0x0 .L0001926c: andi $t3, $t3, 0xffff andi $t4, $t4, 0xffff jal model00019f98 lhu $t2, 0x2($t0) b .L000192a0 nop .L00019284: sll $t1, $t1, 0x3 add $t0, $s7, $t1 lhu $s8, 0x0($t0) lhu $t4, 0x6($t0) lhu $t3, 0x4($t0) jal model00019f98 lhu $t2, 0x2($t0) .L000192a0: jal model0001a0ac nop .L000192a8: jal model00019d1c mtc1 $zero, $f0 mov.s $f27, $f12 mov.s $f28, $f13 mov.s $f29, $f14 mov.s $f30, $f15 lwc1 $f1, 0x18($v0) c.eq.s $f0, $f1 bc1t .L0001933c lwc1 $f12, 0x14($v0) lwc1 $f3, 0x1c($v0) lui $at, %hi(var70054218) lwc1 $f4, %lo(var70054218)($at) sub.s $f5, $f3, $f12 lui $at, %hi(var7005421c) lwc1 $f6, %lo(var7005421c)($at) c.lt.s $f5, $f0 bc1f .L000192f8 nop add.s $f5, $f5, $f6 .L000192f8: c.lt.s $f5, $f4 bc1t .L00019320 nop mul.s $f5, $f5, $f1 add.s $f12, $f12, $f5 c.le.s $f12, $f6 bc1t .L0001933c nop j .L0001933c sub.s $f12, $f12, $f6 .L00019320: sub.s $f5, $f6, $f5 mul.s $f5, $f5, $f1 sub.s $f12, $f12, $f5 c.lt.s $f12, $f0 bc1f .L0001933c nop add.s $f12, $f12, $f6 .L0001933c: lui $at, %hi(var70054220) lwc1 $f1, %lo(var70054220)($at) jal sinf add.s $f1, $f12, $f1 mov.s $f12, $f1 jal sinf mov.s $f1, $f0 neg.s $f2, $f1 mov.s $f12, $f27 mov.s $f13, $f28 mov.s $f14, $f29 mov.s $f15, $f30 lwc1 $f21, 0x8($v0) lwc1 $f22, 0xc($v0) lwc1 $f23, 0x10($v0) mul.s $f3, $f0, $f12 nop mul.s $f4, $f1, $f14 nop mul.s $f5, $f0, $f15 add.s $f3, $f3, $f4 mul.s $f6, $f1, $f17 nop mul.s $f7, $f0, $f18 add.s $f5, $f5, $f6 mul.s $f8, $f1, $f20 nop mul.s $f9, $f2, $f12 add.s $f7, $f7, $f8 mul.s $f10, $f0, $f14 nop mul.s $f4, $f2, $f15 add.s $f14, $f9, $f10 mul.s $f6, $f0, $f17 nop mul.s $f8, $f2, $f18 add.s $f17, $f4, $f6 mul.s $f10, $f0, $f20 mov.s $f12, $f3 add.s $f20, $f8, $f10 mov.s $f15, $f5 mov.s $f18, $f7 lwc1 $f0, 0x14($a1) c.eq.s $f31, $f0 bc1t .L00019438 nop mul.s $f12, $f12, $f0 nop mul.s $f13, $f13, $f0 nop mul.s $f14, $f14, $f0 nop mul.s $f15, $f15, $f0 nop mul.s $f16, $f16, $f0 nop mul.s $f17, $f17, $f0 nop mul.s $f18, $f18, $f0 nop mul.s $f19, $f19, $f0 nop mul.s $f20, $f20, $f0 .L00019438: lw $t0, 0x8($gp) beqz $t0, .L00019448 nop syscall .L00019448: lw $t1, 0x4($gp) lw $t0, 0x0($a0) lhu $t2, 0x2($t1) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jal model0001a1c0 add $t1, $t1, $t2 j .L00019574 nop .L0001946c: mtc1 $zero, $f13 mov.s $f12, $f31 mov.s $f16, $f31 mov.s $f20, $f31 mov.s $f14, $f13 mov.s $f15, $f13 mov.s $f17, $f13 mov.s $f18, $f13 mov.s $f19, $f13 sll $t1, $t1, 0x3 add $t0, $s7, $t1 j .L000192a8 lhu $s8, 0x0($t0) .L000194a0: syscall jal model00019d1c nop lw $t1, 0x0($v0) beqz $t1, .L00019574 nop sw $sp, 0x7f8($sp) lw $t2, 0x0($t1) beqz $t2, .L00019574 sw $t2, 0x14($gp) .L000194c8: sw $gp, 0x8($t2) lw $t2, 0xc($t2) bnez $t2, .L000194c8 nop j .L00019574 nop lw $t0, 0x8($gp) bnez $t0, .L000194f4 nop j .L000194fc lw $t0, 0x0($a0) .L000194f4: jal model0001a25c nop .L000194fc: lw $t1, 0x4($gp) mtc1 $zero, $f13 mov.s $f12, $f31 mov.s $f16, $f31 mov.s $f20, $f31 mov.s $f14, $f13 mov.s $f15, $f13 mov.s $f17, $f13 mov.s $f18, $f13 mov.s $f19, $f13 lwc1 $f21, 0x0($t1) lwc1 $f22, 0x4($t1) lwc1 $f23, 0x8($t1) lhu $t2, 0xc($t1) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jal model0001a1c0 add $t1, $t1, $t2 j .L00019574 nop j .L00019574 nop jal model00019d1c lw $t0, 0x4($gp) lw $t1, 0x0($v0) beqz $t1, .L00019570 lw $t1, 0x0($t0) j .L00019574 sw $t1, 0x14($gp) .L00019570: sw $zero, 0x14($gp) .L00019574: lw $t0, 0x14($gp) beqz $t0, .L00019588 nop j .L000189e4 add $gp, $zero, $t0 .L00019588: lw $t0, 0xc($gp) beqz $t0, .L0001959c nop j .L000189e4 add $gp, $zero, $t0 .L0001959c: lw $gp, 0x8($gp) beqz $gp, .L000195c8 nop lhu $t0, 0x0($gp) andi $t0, $t0, 0xff addiu $at, $zero, 0x17 bne $t0, $at, .L00019588 nop sw $t0, 0x7f8($sp) bnez $gp, .L00019588 nop .L000195c8: addiu $v0, $zero, 0x1 .L000195cc: lw $s0, 0x780($sp) lw $s1, 0x784($sp) lw $s2, 0x788($sp) lw $s3, 0x78c($sp) lw $s4, 0x790($sp) lw $s5, 0x794($sp) lw $s6, 0x798($sp) lw $s7, 0x79c($sp) lw $s8, 0x7a0($sp) lw $gp, 0x7a4($sp) lw $ra, 0x7a8($sp) lwc1 $f20, 0x7b0($sp) lwc1 $f21, 0x7b4($sp) lwc1 $f22, 0x7b8($sp) lwc1 $f23, 0x7bc($sp) lwc1 $f24, 0x7c0($sp) lwc1 $f25, 0x7c4($sp) lwc1 $f26, 0x7c8($sp) lwc1 $f27, 0x7cc($sp) lwc1 $f28, 0x7d0($sp) lwc1 $f29, 0x7d4($sp) lwc1 $f30, 0x7d8($sp) lwc1 $f31, 0x7dc($sp) jr $ra addiu $sp, $sp, 0x800 syscall glabel model00019634 sw $ra, 0x7ac($sp) .L00019638: lbu $t7, 0x0($t2) addiu $t2, $t2, 0x1 sh $t7, 0x0($t0) ori $t8, $zero, 0x0f slt $at, $t8, $t7 bnez $at, .L000195cc addi $v0, $zero, 0x0 andi $t8, $t7, 0x2 bnez $t8, .L000196cc addi $s0, $zero, 0x0 andi $t8, $t7, 0x8 addi $s1, $zero, 0x0 beqz $t8, .L00019808 addi $s2, $zero, 0x0 lbu $v0, 0x2($t2) lbu $v1, 0x5($t2) add $v0, $v0, $v1 lbu $v1, 0x8($t2) add $v0, $v0, $v1 lbu $v1, 0xb($t2) add $v0, $v0, $v1 slt $at, $v0, $gp bnez $at, .L000196c4 sub $v0, $v0, $gp addi $s8, $zero, 0x0 srl $t8, $v0, 0x3 add $t6, $t6, $t8 sll $t8, $t8, 0x3 sub $v0, $v0, $t8 lbu $s8, 0x0($t6) addiu $gp, $zero, 0x8 addiu $t6, $t6, 0x1 sub $gp, $gp, $v0 j .L00019808 addi $t2, $t2, 0xc .L000196c4: j .L00019808 addi $t2, $t2, 0xc .L000196cc: jal model00019be0 lbu $v1, 0x2($t2) add $s0, $zero, $v0 lbu $v1, 0x2($t2) addiu $s3, $zero, 0x10 slt $at, $v1, $s3 beqz $at, .L00019718 addiu $s3, $zero, 0x1 addiu $v0, $v1, -1 sllv $s3, $s3, $v0 and $s4, $s0, $s3 beqz $s4, .L00019718 addiu $s4, $zero, 0x10 sub $s4, $s4, $v1 addiu $v0, $zero, 0x1 sllv $v0, $v0, $s4 addiu $v0, $v0, -1 sllv $v0, $v0, $v1 or $s0, $s0, $v0 .L00019718: lbu $s3, 0x0($t2) sll $s3, $s3, 0x8 lbu $s4, 0x1($t2) addu $s3, $s3, $s4 addu $s0, $s0, $s3 andi $s0, $s0, 0xffff jal model00019be0 lbu $v1, 0x5($t2) add $s1, $zero, $v0 lbu $v1, 0x5($t2) addiu $s3, $zero, 0x10 slt $at, $v1, $s3 beqz $at, .L0001977c addiu $s3, $zero, 0x1 addiu $v0, $v1, -1 sllv $s3, $s3, $v0 and $s4, $s1, $s3 beqz $s4, .L0001977c addiu $s4, $zero, 0x10 sub $s4, $s4, $v1 addiu $v0, $zero, 0x1 sllv $v0, $v0, $s4 addiu $v0, $v0, -1 sllv $v0, $v0, $v1 or $s1, $s1, $v0 .L0001977c: lbu $s3, 0x3($t2) sll $s3, $s3, 0x8 lbu $s4, 0x4($t2) addu $s3, $s3, $s4 addu $s1, $s1, $s3 andi $s1, $s1, 0xffff jal model00019be0 lbu $v1, 0x8($t2) add $s2, $zero, $v0 lbu $v1, 0x8($t2) addiu $s3, $zero, 0x10 slt $at, $v1, $s3 beqz $at, .L000197e0 addiu $s3, $zero, 0x1 addiu $v0, $v1, -1 sllv $s3, $s3, $v0 and $s4, $s2, $s3 beqz $s4, .L000197e0 addiu $s4, $zero, 0x10 sub $s4, $s4, $v1 addiu $v0, $zero, 0x1 sllv $v0, $v0, $s4 addiu $v0, $v0, -1 sllv $v0, $v0, $v1 or $s2, $s2, $v0 .L000197e0: lbu $s3, 0x6($t2) sll $s3, $s3, 0x8 lbu $s4, 0x7($t2) addu $s3, $s3, $s4 addu $s2, $s2, $s3 andi $s2, $s2, 0xffff addi $t2, $t2, 0x9 sh $s0, 0x1e0($t0) sh $s1, 0x1e2($t0) sh $s2, 0x1e4($t0) .L00019808: andi $t8, $t7, 0x1 bnez $t8, .L00019820 addi $s0, $zero, 0x0 addi $s1, $zero, 0x0 j .L000198b4 addi $s2, $zero, 0x0 .L00019820: jal model00019be0 lbu $v1, 0x2($t2) add $s0, $zero, $v0 lbu $v1, 0x0($t2) sll $v1, $v1, 0x8 lbu $v0, 0x1($t2) addu $v1, $v1, $v0 addiu $v0, $zero, 0x10 addu $s0, $s0, $v1 sub $v0, $v0, $t4 sllv $s0, $s0, $v0 andi $s0, $s0, 0xffff jal model00019be0 lbu $v1, 0x5($t2) add $s1, $zero, $v0 lbu $v1, 0x3($t2) sll $v1, $v1, 0x8 lbu $v0, 0x4($t2) addu $v1, $v1, $v0 addiu $v0, $zero, 0x10 addu $s1, $s1, $v1 sub $v0, $v0, $t4 sllv $s1, $s1, $v0 andi $s1, $s1, 0xffff jal model00019be0 lbu $v1, 0x8($t2) add $s2, $zero, $v0 lbu $v1, 0x6($t2) sll $v1, $v1, 0x8 lbu $v0, 0x7($t2) addu $v1, $v1, $v0 addiu $v0, $zero, 0x10 addu $s2, $s2, $v1 sub $v0, $v0, $t4 sllv $s2, $s2, $v0 andi $s2, $s2, 0xffff addi $t2, $t2, 0x9 .L000198b4: sh $s0, 0x2($t0) sh $s1, 0x4($t0) sh $s2, 0x6($t0) addi $t0, $t0, 0x8 slt $at, $t2, $t3 bnez $at, .L00019638 nop lw $ra, 0x7ac($sp) jr $ra nop glabel model000198dc sw $ra, 0x7ac($sp) .L000198e0: lbu $t7, 0x0($t2) addi $t2, $t2, 0x1 ori $t8, $zero, 0x0f slt $at, $t8, $t7 bnez $at, .L000195cc addi $v0, $zero, 0x0 andi $t8, $t7, 0x2 bnez $t8, .L00019970 addi $s0, $zero, 0x0 andi $t8, $t7, 0x8 addi $s1, $zero, 0x0 beqz $t8, .L000199b8 addi $s2, $zero, 0x0 lbu $v0, 0x2($t2) lbu $v1, 0x5($t2) add $v0, $v0, $v1 lbu $v1, 0x8($t2) add $v0, $v0, $v1 lbu $v1, 0xb($t2) add $v0, $v0, $v1 slt $at, $v0, $gp bnez $at, .L00019968 sub $v0, $v0, $gp addi $s8, $zero, 0x0 srl $t8, $v0, 0x3 add $t6, $t6, $t8 sll $t8, $t8, 0x3 sub $v0, $v0, $t8 lbu $s8, 0x0($t6) addiu $gp, $zero, 0x8 addiu $t6, $t6, 0x1 sub $gp, $gp, $v0 j .L000199b8 addi $t2, $t2, 0xc .L00019968: j .L000199b8 addi $t2, $t2, 0xc .L00019970: lbu $v0, 0x2($t2) lbu $v1, 0x5($t2) add $v0, $v0, $v1 lbu $v1, 0x8($t2) add $v0, $v0, $v1 slt $at, $v0, $gp bnez $at, .L000199b4 sub $v0, $v0, $gp addi $s8, $zero, 0x0 srl $t8, $v0, 0x3 add $t6, $t6, $t8 sll $t8, $t8, 0x3 sub $v0, $v0, $t8 lbu $s8, 0x0($t6) addiu $gp, $zero, 0x8 addiu $t6, $t6, 0x1 sub $gp, $gp, $v0 .L000199b4: addi $t2, $t2, 0x9 .L000199b8: andi $t8, $t7, 0x1 bnez $t8, .L000199d0 addi $s0, $zero, 0x0 addi $s1, $zero, 0x0 j .L00019a64 addi $s2, $zero, 0x0 .L000199d0: jal model00019be0 lbu $v1, 0x2($t2) add $s0, $zero, $v0 lbu $v1, 0x0($t2) sll $v1, $v1, 0x8 lbu $v0, 0x1($t2) addu $v1, $v1, $v0 addiu $v0, $zero, 0x10 addu $s0, $s0, $v1 sub $v0, $v0, $t4 sllv $s0, $s0, $v0 andi $s0, $s0, 0xffff jal model00019be0 lbu $v1, 0x5($t2) add $s1, $zero, $v0 lbu $v1, 0x3($t2) sll $v1, $v1, 0x8 lbu $v0, 0x4($t2) addu $v1, $v1, $v0 addiu $v0, $zero, 0x10 addu $s1, $s1, $v1 sub $v0, $v0, $t4 sllv $s1, $s1, $v0 andi $s1, $s1, 0xffff jal model00019be0 lbu $v1, 0x8($t2) add $s2, $zero, $v0 lbu $v1, 0x6($t2) sll $v1, $v1, 0x8 lbu $v0, 0x7($t2) addu $v1, $v1, $v0 addiu $v0, $zero, 0x10 addu $s2, $s2, $v1 sub $v0, $v0, $t4 sllv $s2, $s2, $v0 andi $s2, $s2, 0xffff addi $t2, $t2, 0x9 .L00019a64: mfc1 $s3, $f0 lui $v1, 0x1 lhu $s4, 0x2($t0) sub $s5, $s0, $s4 bgez $s5, .L00019a80 nop add $s5, $s5, $v1 .L00019a80: dli $at, 0x8000 slt $at, $s5, $at beqz $at, .L00019abc nop multu $s5, $s3 mflo $s5 sra $s5, $s5, 0xc add $s0, $s4, $s5 lui $at, 0x1 slt $at, $s0, $at bnez $at, .L00019adc nop lui $s4, 0x1 j .L00019adc sub $s0, $s0, $s4 .L00019abc: sub $s5, $v1, $s5 multu $s5, $s3 mflo $s5 sra $s5, $s5, 0xc sub $s0, $s4, $s5 bgez $s0, .L00019adc nop add $s0, $s0, $v1 .L00019adc: lhu $s4, 0x4($t0) sub $s5, $s1, $s4 bgez $s5, .L00019af0 nop add $s5, $s5, $v1 .L00019af0: dli $at, 0x8000 slt $at, $s5, $at beqz $at, .L00019b28 nop multu $s5, $s3 mflo $s5 sra $s5, $s5, 0xc add $s1, $s4, $s5 lui $at, 0x1 slt $at, $s1, $at bnez $at, .L00019b48 nop j .L00019b48 sub $s1, $s1, $v1 .L00019b28: sub $s5, $v1, $s5 multu $s5, $s3 mflo $s5 sra $s5, $s5, 0xc sub $s1, $s4, $s5 bgez $s1, .L00019b48 nop add $s1, $s1, $v1 .L00019b48: lhu $s4, 0x6($t0) sub $s5, $s2, $s4 bgez $s5, .L00019b5c nop add $s5, $s5, $v1 .L00019b5c: dli $at, 0x8000 slt $at, $s5, $at beqz $at, .L00019b94 nop multu $s5, $s3 mflo $s5 sra $s5, $s5, 0xc add $s2, $s4, $s5 lui $at, 0x1 slt $at, $s2, $at bnez $at, .L00019bb8 nop j .L00019bb8 sub $s2, $s2, $v1 .L00019b94: sub $s5, $v1, $s5 multu $s5, $s3 mflo $s5 sra $s5, $s5, 0xc sub $s2, $s4, $s5 bgez $s2, .L00019bb8 nop lui $s4, 0x1 add $s2, $s2, $s4 .L00019bb8: sh $s0, 0x2($t0) sh $s1, 0x4($t0) sh $s2, 0x6($t0) addi $t0, $t0, 0x8 slt $at, $t2, $t3 bnez $at, .L000198e0 nop lw $ra, 0x7ac($sp) jr $ra nop glabel model00019be0 beqz $v1, .L00019d14 addi $v0, $zero, 0x0 .L00019be8: slt $at, $gp, $v1 beqz $at, .L00019cf4 nop sub $v1, $v1, $gp addi $s6, $zero, 0x1 sllv $s6, $s6, $gp addi $s6, $s6, -1 and $s6, $s8, $s6 sllv $s6, $s6, $v1 or $v0, $v0, $s6 sub $s6, $t3, $t6 slti $at, $s6, 0x4 bnez $at, .L00019c24 nop addiu $s6, $zero, 0x4 .L00019c24: andi $s8, $t6, 0x3 addiu $s8, $s8, -4 neg $s8, $s8 beqz $s8, .L00019c48 nop slt $at, $s8, $s6 beqz $at, .L00019c48 nop or $s6, $s8, $zero .L00019c48: lui $s8, %hi(var8005ef7c) addiu $s8, $s8, %lo(var8005ef7c) sll $s6, $s6, 0x2 add $s6, $s8, $s6 lw $s6, 0x0($s6) jr $s6 lbu $s8, 0x0($t6) addiu $t6, $t6, 0x1 j .L00019be8 addiu $gp, $zero, 0x8 sll $s8, $s8, 0x8 lbu $s6, 0x1($t6) or $s8, $s8, $s6 addiu $t6, $t6, 0x2 j .L00019be8 addiu $gp, $zero, 0x10 sll $s8, $s8, 0x8 lbu $s6, 0x1($t6) or $s8, $s8, $s6 sll $s8, $s8, 0x8 lbu $s6, 0x2($t6) or $s8, $s8, $s6 addiu $t6, $t6, 0x3 j .L00019be8 addiu $gp, $zero, 0x18 andi $s6, $t6, 0x3 beqz $s6, .L00019ce4 sll $s8, $s8, 0x8 lbu $s6, 0x1($t6) or $s8, $s8, $s6 sll $s8, $s8, 0x8 lbu $s6, 0x2($t6) or $s8, $s8, $s6 sll $s8, $s8, 0x8 lbu $s6, 0x3($t6) or $s8, $s8, $s6 addiu $t6, $t6, 0x4 j .L00019be8 addiu $gp, $zero, 0x20 .L00019ce4: lw $s8, 0x0($t6) addiu $t6, $t6, 0x4 j .L00019be8 addiu $gp, $zero, 0x20 .L00019cf4: beqz $v1, .L00019d14 sub $gp, $gp, $v1 srav $s6, $s8, $gp addi $s7, $zero, 0x1 sllv $s7, $s7, $v1 addi $s7, $s7, -1 and $s6, $s6, $s7 or $v0, $v0, $s6 .L00019d14: jr $ra nop glabel model00019d1c addiu $sp, $sp, -32 sw $gp, 0x0($sp) sw $t0, 0x4($sp) sw $t1, 0x8($sp) sw $t2, 0xc($sp) sw $t3, 0x10($sp) sw $t4, 0x14($sp) sw $ra, 0x18($sp) lw $t4, 0x4($gp) lui $t2, %hi(var8005ef90) addiu $t2, $t2, %lo(var8005ef90) lhu $t1, 0x0($gp) andi $t1, $t1, 0xff or $t0, $zero, $zero slti $at, $t1, 0x1a beqz $at, .L00019d78 lw $t3, 0x10($a1) add $t2, $t2, $t1 lbu $t2, 0x0($t2) addiu $at, $zero, 0xff beq $t2, $at, .L00019d78 add $t2, $t4, $t2 lhu $t0, 0x0($t2) .L00019d78: lw $t1, 0x818($sp) beqz $t1, .L00019db0 nop .L00019d84: lw $t1, 0x8($gp) beqz $t1, .L00019db0 or $gp, $t1, $zero lhu $t1, 0x0($gp) andi $t1, $t1, 0xff addiu $at, $zero, 0x17 bne $t1, $at, .L00019d84 nop jal model00019d1c nop lw $t3, 0x4($v0) .L00019db0: sll $t0, $t0, 0x2 add $v0, $t3, $t0 lw $gp, 0x0($sp) lw $t0, 0x4($sp) lw $t1, 0x8($sp) lw $t2, 0xc($sp) lw $t3, 0x10($sp) lw $t4, 0x14($sp) lw $ra, 0x18($sp) jr $ra addiu $sp, $sp, 0x20 #if VERSION < VERSION_NTSC_1_0 /** * NTSC beta uses a simple version of this function, implemented here in ASM. * NTSC 1.0 and newer reimplements the function in C and adds more to it. */ glabel modelGetNodeRwData addiu $sp, $sp, -16 sw $t0, 0x0($sp) sw $t1, 0x4($sp) sw $t3, 0x8($sp) sw $ra, 0xc($sp) lw $t4, 0x4($a1) lui $t2, 0x8006 addiu $t2, $t2, 0x1360 lhu $t1, 0x0($a1) andi $t1, $t1, 0xff or $t0, $zero, $zero slti $at, $t1, 0x1a beqz $at, .NB0001aefc lw $t3, 0x10($a0) add $t2, $t2, $t1 lbu $t2, 0x0($t2) addiu $at, $zero, 0xff beq $t2, $at, .NB0001aefc add $t2, $t4, $t2 lhu $t0, 0x0($t2) .NB0001aefc: lbu $t1, 0x0($a0) beqz $t1, .NB0001af34 sll $zero, $zero, 0x0 .NB0001af08: lw $t1, 0x8($a1) beqz $t1, .NB0001af34 or $a1, $t1, $zero lhu $t1, 0x0($a1) andi $t1, $t1, 0xff addiu $at, $zero, 0x17 bne $t1, $at, .NB0001af08 sll $zero, $zero, 0x0 jal modelGetNodeRwData sll $zero, $zero, 0x0 lw $t3, 0x4($v0) .NB0001af34: sll $t0, $t0, 0x2 add $v0, $t3, $t0 lw $t0, 0x0($sp) lw $t1, 0x4($sp) lw $t3, 0x8($sp) lw $ra, 0xc($sp) jr $ra addiu $sp, $sp, 0x10 #endif glabel model00019ddc sw $ra, 0x7ac($sp) .L00019de0: mul.s $f5, $f16, $f0 mtc1 $zero, $f4 mul.s $f6, $f17, $f1 nop mul.s $f7, $f18, $f2 add.s $f6, $f5, $f6 mul.s $f5, $f19, $f3 add.s $f6, $f6, $f7 add.s $f6, $f6, $f5 c.lt.s $f6, $f4 bc1fl .L00019e24 nop neg.s $f0, $f0 neg.s $f1, $f1 neg.s $f2, $f2 j .L00019de0 neg.s $f3, $f3 .L00019e24: lui $at, %hi(var70054224) lwc1 $f7, %lo(var70054224)($at) c.lt.s $f6, $f7 bc1fl .L00019e80 nop mul.s $f6, $f30, $f16 sub.s $f5, $f5, $f30 mul.s $f7, $f5, $f0 sub.s $f0, $f7, $f6 mul.s $f6, $f30, $f17 nop mul.s $f7, $f5, $f1 nop mul.s $f8, $f30, $f18 sub.s $f1, $f7, $f6 mul.s $f9, $f5, $f2 nop mul.s $f6, $f30, $f19 sub.s $f2, $f9, $f8 mul.s $f7, $f5, $f3 lw $ra, 0x7ac($sp) jr $ra sub.s $f2, $f7, $f6 .L00019e80: lui $at, %hi(var70054228) lwc1 $f7, %lo(var70054228)($at) c.le.s $f6, $f7 bc1f .L00019f20 nop jal model0001a2dc nop mov.s $f20, $f0 jal sinf mov.s $f12, $f7 mov.s $f12, $f31 sub.s $f12, $f12, $f30 mul.s $f12, $f12, $f7 jal sinf mov.s $f21, $f0 mul.s $f12, $f7, $f30 jal sinf mov.s $f22, $f0 div.s $f5, $f22, $f21 nop div.s $f30, $f0, $f21 mov.s $f0, $f20 .L00019ed8: mul.s $f6, $f5, $f16 nop mul.s $f7, $f30, $f0 nop mul.s $f8, $f5, $f17 add.s $f0, $f6, $f7 mul.s $f9, $f30, $f1 nop mul.s $f6, $f5, $f18 add.s $f1, $f8, $f9 mul.s $f7, $f30, $f2 nop mul.s $f8, $f5, $f19 add.s $f2, $f6, $f7 mul.s $f9, $f30, $f3 lw $ra, 0x7ac($sp) jr $ra add.s $f3, $f8, $f9 .L00019f20: mov.s $f5, $f31 j .L00019ed8 sub.s $f5, $f5, $f30 glabel model00019f2c mul.s $f6, $f0, $f2 nop mul.s $f7, $f0, $f3 nop mul.s $f8, $f1, $f2 nop mul.s $f9, $f1, $f3 nop mul.s $f0, $f6, $f4 nop mul.s $f1, $f9, $f5 nop mul.s $f2, $f8, $f4 add.s $f0, $f0, $f1 mul.s $f1, $f7, $f5 nop mul.s $f3, $f7, $f5 nop mul.s $f10, $f7, $f4 sub.s $f1, $f2, $f1 mul.s $f11, $f8, $f5 nop mul.s $f26, $f6, $f5 add.s $f2, $f10, $f11 mul.s $f10, $f9, $f4 jr $ra sub.s $f3, $f26, $f10 glabel model00019f98 add $t5, $zero, $ra lui $at, %hi(var7005422c) lwc1 $f29, %lo(var7005422c)($at) mtc1 $t4, $f8 mtc1 $t3, $f7 mtc1 $t2, $f6 cvt.s.w $f8, $f8 cvt.s.w $f7, $f7 cvt.s.w $f6, $f6 mul.s $f8, $f8, $f29 lui $at, %hi(var70054230) lwc1 $f30, %lo(var70054230)($at) mul.s $f7, $f7, $f29 mov.s $f12, $f8 jal sinf nop mul.s $f6, $f6, $f29 add.s $f12, $f8, $f30 jal sinf mov.s $f5, $f0 mov.s $f12, $f7 jal sinf mov.s $f4, $f0 add.s $f12, $f7, $f30 jal sinf mov.s $f3, $f0 mov.s $f12, $f6 jal sinf mov.s $f2, $f0 add.s $f12, $f6, $f30 jal sinf mov.s $f1, $f0 add $ra, $zero, $t5 jr $ra nop glabel model0001a024 add $t5, $zero, $ra lui $at, %hi(var70054234) lwc1 $f29, %lo(var70054234)($at) mtc1 $t4, $f8 mtc1 $t3, $f7 mtc1 $t2, $f6 cvt.s.w $f8, $f8 cvt.s.w $f7, $f7 cvt.s.w $f6, $f6 mul.s $f8, $f8, $f29 lui $at, %hi(var70054238) lwc1 $f30, %lo(var70054238)($at) mul.s $f7, $f7, $f29 jal sinf mov.s $f12, $f8 mul.s $f6, $f6, $f29 add.s $f12, $f8, $f30 jal sinf mov.s $f5, $f0 mov.s $f12, $f7 jal sinf mov.s $f4, $f0 add.s $f12, $f7, $f30 jal sinf mov.s $f3, $f0 mov.s $f12, $f6 jal sinf mov.s $f2, $f0 add.s $f12, $f6, $f30 jal sinf mov.s $f1, $f0 add $ra, $zero, $t5 jr $ra nop glabel model0001a0ac mul.s $f6, $f1, $f5 nop mul.s $f7, $f0, $f5 nop mul.s $f8, $f1, $f4 nop mul.s $f9, $f0, $f4 nop mul.s $f12, $f2, $f4 neg.s $f14, $f3 mul.s $f13, $f2, $f5 nop mul.s $f15, $f8, $f3 nop mul.s $f16, $f6, $f3 sub.s $f15, $f15, $f7 mul.s $f17, $f1, $f2 add.s $f16, $f16, $f9 mul.s $f18, $f9, $f3 nop mul.s $f19, $f7, $f3 add.s $f18, $f18, $f6 mul.s $f20, $f0, $f2 jr $ra sub.s $f19, $f19, $f8 glabel model0001a110 mul.s $f4, $f0, $f0 nop mul.s $f5, $f1, $f1 nop mul.s $f6, $f2, $f2 add.s $f4, $f4, $f5 mul.s $f5, $f3, $f3 add.s $f4, $f4, $f6 lui $at, 0x4000 mtc1 $at, $f6 add.s $f4, $f4, $f5 div.s $f4, $f6, $f4 mul.s $f5, $f1, $f4 nop mul.s $f6, $f2, $f4 nop mul.s $f7, $f3, $f4 nop mul.s $f8, $f0, $f5 nop mul.s $f9, $f0, $f6 nop mul.s $f10, $f0, $f7 nop mul.s $f11, $f1, $f5 nop mul.s $f24, $f1, $f6 sub.s $f16, $f31, $f11 mul.s $f25, $f1, $f7 sub.s $f20, $f31, $f11 mul.s $f26, $f2, $f6 add.s $f13, $f24, $f10 mul.s $f27, $f2, $f7 sub.s $f12, $f31, $f26 mul.s $f28, $f3, $f7 sub.s $f14, $f25, $f9 sub.s $f12, $f12, $f28 sub.s $f15, $f24, $f10 sub.s $f16, $f16, $f28 add.s $f17, $f27, $f8 add.s $f18, $f25, $f9 sub.s $f19, $f27, $f8 jr $ra sub.s $f20, $f20, $f26 glabel model0001a1c0 addiu $t2, $zero, 0x3 .L0001a1c4: lwc1 $f0, 0x0($t0) addiu $t0, $t0, 0x4 mul.s $f4, $f0, $f12 lwc1 $f1, 0xc($t0) lwc1 $f2, 0x1c($t0) mul.s $f5, $f1, $f13 lwc1 $f3, 0x2c($t0) mul.s $f6, $f2, $f14 add.s $f7, $f4, $f5 mul.s $f8, $f0, $f15 add.s $f7, $f7, $f6 mul.s $f9, $f1, $f16 swc1 $f7, 0x0($t1) mul.s $f10, $f2, $f17 add.s $f11, $f8, $f9 mul.s $f4, $f0, $f18 add.s $f11, $f11, $f10 mul.s $f5, $f1, $f19 swc1 $f11, 0x10($t1) mul.s $f6, $f2, $f20 add.s $f7, $f4, $f5 mul.s $f8, $f0, $f21 add.s $f7, $f7, $f6 mul.s $f9, $f1, $f22 swc1 $f7, 0x20($t1) mul.s $f10, $f2, $f23 add.s $f8, $f8, $f9 add.s $f10, $f10, $f3 addiu $t2, $t2, -1 add.s $f10, $f8, $f10 addiu $t1, $t1, 0x4 bnez $t2, .L0001a1c4 swc1 $f10, 0x2c($t1) sw $zero, 0x0($t1) sw $zero, 0x10($t1) sw $zero, 0x20($t1) jr $ra swc1 $f31, 0x30($t1) glabel model0001a25c .L0001a25c: lh $t1, 0x0($t0) andi $t1, $t1, 0xff addiu $t2, $zero, 0x1 bne $t1, $t2, .L0001a288 addiu $t2, $zero, 0x2 lw $t2, 0x4($t0) lhu $t2, 0x2($t2) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jr $ra add $t0, $t1, $t2 .L0001a288: bne $t1, $t2, .L0001a2a8 addiu $t2, $zero, 0x15 lw $t2, 0x4($t0) lhu $t2, 0xe($t2) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jr $ra add $t0, $t1, $t2 .L0001a2a8: bne $t1, $t2, .L0001a2c8 nop lw $t2, 0x4($t0) lhu $t2, 0xc($t2) sll $t2, $t2, 0x6 lw $t1, 0xc($a1) jr $ra add $t0, $t1, $t2 .L0001a2c8: lw $t0, 0x8($t0) bnez $t0, .L0001a25c nop jr $ra add $t0, $zero, $zero glabel model0001a2dc lui $at, %hi(var7005423c) lwc1 $f7, %lo(var7005423c)($at) mul.s $f7, $f6, $f7 trunc.w.s $f7, $f7 mfc1 $t2, $f7 nop slti $at, $t2, 0x7fff bnez $at, .L0001a308 nop b .L0001a318 addiu $t2, $zero, 0x7fff .L0001a308: slti $at, $t2, -32767 beqz $at, .L0001a318 nop addiu $t2, $zero, -32767 .L0001a318: bgez $t2, .L0001a324 add $t3, $zero, $t2 neg $t3, $t3 .L0001a324: slti $at, $t3, 0x7fe0 bnez $at, .L0001a348 nop lui $t4, %hi(var8006af8c) addiu $t4, $t4, %lo(var8006af8c) addi $t3, $t3, -32736 addiu $t5, $zero, 0x3 b .L0001a37c addiu $t6, $zero, 0x7 .L0001a348: slti $at, $t3, 0x7800 bnez $at, .L0001a36c nop lui $t4, %hi(var8006af0c) addiu $t4, $t4, %lo(var8006af0c) addi $t3, $t3, -30720 addiu $t5, $zero, 0x5 b .L0001a37c addiu $t6, $zero, 0x1f .L0001a36c: lui $t4, %hi(var8006ae90) addiu $t4, $t4, %lo(var8006ae90) addiu $t5, $zero, 0x9 addiu $t6, $zero, 0x1ff .L0001a37c: srav $s0, $t3, $t5 sll $s0, $s0, 0x1 add $t4, $t4, $s0 lhu $s1, 0x0($t4) lhu $s2, 0x2($t4) sub $s3, $s1, $s2 and $s4, $t3, $t6 multu $s3, $s4 mflo $s3 srav $s3, $s3, $t5 sub $t3, $s1, $s3 bgez $t2, .L0001a3b4 dli $t2, 0xffff sub $t3, $t2, $t3 .L0001a3b4: mtc1 $t3, $f8 lui $at, %hi(var70054240) lwc1 $f7, %lo(var70054240)($at) cvt.s.w $f8, $f8 mul.s $f7, $f8, $f7 jr $ra nop glabel cosf lui $at, %hi(var70054244) lwc1 $f13, %lo(var70054244)($at) add.s $f12, $f12, $f13 glabel sinf mfc1 $t0, $f12 nop sra $t0, $t0, 22 andi $t0, $t0, 0x1ff slti $at, $t0, 255 beqz $at, .L0001a454 nop slti $at, $t0, 230 bnez $at, .L0001a4f0 mov.s $f0, $f12 mul.s $f14, $f12, $f12 lui $at, %hi(var70054248) lwc1 $f15, %lo(var70054248)($at) lui $at, %hi(var7005424c) lwc1 $f13, %lo(var7005424c)($at) mul.s $f15, $f15, $f14 add.s $f15, $f13, $f15 lui $at, %hi(var70054250) lwc1 $f13, %lo(var70054250)($at) mul.s $f15, $f15, $f14 add.s $f15, $f13, $f15 lui $at, %hi(var70054254) lwc1 $f13, %lo(var70054254)($at) mul.s $f15, $f15, $f14 add.s $f15, $f13, $f15 mul.s $f15, $f15, $f14 nop mul.s $f15, $f15, $f12 jr $ra add.s $f0, $f15, $f12 .L0001a454: slti $at, $t0, 310 beqzl $at, .L0001a4f0 mtc1 $zero, $f0 lui $at, %hi(var70054258) lwc1 $f14, %lo(var70054258)($at) mul.s $f14, $f14, $f12 round.w.s $f14, $f14 mfc1 $t1, $f14 cvt.s.w $f14, $f14 lui $at, %hi(var7005425c) lwc1 $f15, %lo(var7005425c)($at) mul.s $f15, $f15, $f14 sub.s $f12, $f12, $f15 lui $at, %hi(var70054260) lwc1 $f15, %lo(var70054260)($at) mul.s $f15, $f15, $f14 sub.s $f12, $f12, $f15 lui $at, %hi(var70054264) lwc1 $f15, %lo(var70054264)($at) mul.s $f14, $f12, $f12 lui $at, %hi(var70054268) lwc1 $f13, %lo(var70054268)($at) mul.s $f15, $f15, $f14 add.s $f15, $f13, $f15 lui $at, %hi(var7005426c) lwc1 $f13, %lo(var7005426c)($at) mul.s $f15, $f15, $f14 add.s $f15, $f13, $f15 lui $at, %hi(var70054270) lwc1 $f13, %lo(var70054270)($at) mul.s $f15, $f15, $f14 add.s $f15, $f13, $f15 mul.s $f15, $f15, $f14 nop mul.s $f15, $f15, $f12 andi $t1, $t1, 1 add.s $f0, $f15, $f12 bnezl $t1, .L0001a4f0 neg.s $f0, $f0 .L0001a4f0: jr $ra nop