From 233e9f71a17009476d9441cdbf3e412cd93f403f Mon Sep 17 00:00:00 2001 From: David Benepe Date: Tue, 30 Jun 2020 19:25:25 -0500 Subject: [PATCH] split unknown_0255E0 --- asm/non_matchings/unknown_0255E0/D_80024D54.s | 524 + .../unknown_0255E0/func_800249F0.s | 233 + .../unknown_0255E0/func_80025510.s | 183 + .../unknown_0255E0/func_800257D0.s | 22 + .../unknown_0255E0/func_8002581C.s | 564 + .../unknown_0255E0/func_80026070.s | 251 + .../unknown_0255E0/func_80026430.s | 532 + .../unknown_0255E0/func_80026C14.s | 155 + .../unknown_0255E0/func_80026E54.s | 215 + .../unknown_0255E0/func_80027184.s | 254 + .../unknown_0255E0/func_80027568.s | 245 + .../unknown_0255E0/func_800278E8.s | 352 + .../unknown_0255E0/func_80027E24.s | 113 + .../unknown_0255E0/func_80027FC4.s | 36 + .../unknown_0255E0/func_80028044.s | 5 + .../unknown_0255E0/func_80028050.s | 612 + .../unknown_0255E0/func_800289B8.s | 154 + .../unknown_0255E0/func_80028C10.s | 52 + .../unknown_0255E0/func_80028CD0.s | 188 + .../unknown_0255E0/func_80028FA0.s | 5 + .../unknown_0255E0/func_80028FAC.s | 471 + .../unknown_0255E0/func_80029658.s | 318 + .../unknown_0255E0/func_80029AF8.s | 149 + .../unknown_0255E0/func_80029D14.s | 139 + .../unknown_0255E0/func_80029F18.s | 89 + .../unknown_0255E0/func_8002A05C.s | 59 + .../unknown_0255E0/func_8002A134.s | 115 + .../unknown_0255E0/func_8002A2DC.s | 21 + .../unknown_0255E0/func_8002A31C.s | 187 + .../unknown_0255E0/func_8002A5F8.s | 210 + .../unknown_0255E0/func_8002A900.s | 259 + .../unknown_0255E0/func_8002ACC8.s | 5 + .../unknown_0255E0/func_8002ACD4.s | 15 + .../unknown_0255E0/func_8002AD08.s | 287 + .../unknown_0255E0/func_8002B0F4.s | 602 + .../unknown_0255E0/func_8002B9BC.s | 68 + .../unknown_0255E0/func_8002BAB0.s | 418 + .../unknown_0255E0/func_8002C0C4.s | 426 + .../unknown_0255E0/func_8002C71C.s | 48 + .../unknown_0255E0/func_8002C7C4.s | 6 + .../unknown_0255E0/func_8002C7D4.s | 103 + .../unknown_0255E0/func_8002C954.s | 200 + .../unknown_0255E0/func_8002CC30.s | 462 + .../unknown_0255E0/func_8002D30C.s | 36 + .../unknown_0255E0/func_8002D384.s | 199 + .../unknown_0255E0/func_8002D670.s | 161 + .../unknown_0255E0/func_8002D8DC.s | 364 + .../unknown_0255E0/func_8002DE30.s | 269 + .../unknown_0255E0/func_8002E234.s | 459 + .../unknown_0255E0/func_8002E904.s | 404 + .../unknown_0255E0/func_8002EEEC.s | 259 + .../unknown_0255E0/func_8002F2AC.s | 110 + .../unknown_0255E0/func_8002F440.s | 406 + .../unknown_0255E0/func_8002FA64.s | 210 + .../unknown_0255E0/func_8002FD74.s | 146 + .../unknown_0255E0/func_8002FF6C.s | 369 + .../unknown_0255E0/func_800304C8.s | 109 + .../unknown_0255E0/func_80030664.s | 64 + .../unknown_0255E0/func_80030750.s | 29 + .../unknown_0255E0/func_800307BC.s | 33 + .../unknown_0255E0/func_80030838.s | 71 + .../unknown_0255E0/func_8003093C.s | 84 + .../unknown_0255E0/func_80030A74.s | 241 + .../unknown_0255E0/func_80030DE0.s | 158 + .../unknown_0255E0/func_80031018.s | 72 + .../unknown_0255E0/func_80031130.s | 265 + .../unknown_0255E0/func_800314DC.s | 90 + .../unknown_0255E0/func_80031600.s | 191 + .../unknown_0255E0/func_800318C8.s | 36 + .../unknown_0255E0/func_80031944.s | 6 + .../unknown_0255E0/func_80031954.s | 124 + .../unknown_0255E0/func_80031B18.s | 6 + .../unknown_0255E0/func_80031B24.s | 19 + asm/unknown_0255E0.s | 14355 ---------------- src/unknown_0255E0.c | 74 + 75 files changed, 14416 insertions(+), 14355 deletions(-) create mode 100644 asm/non_matchings/unknown_0255E0/D_80024D54.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800249F0.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80025510.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800257D0.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002581C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80026070.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80026430.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80026C14.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80026E54.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80027184.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80027568.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800278E8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80027E24.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80027FC4.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80028044.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80028050.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800289B8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80028C10.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80028CD0.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80028FA0.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80028FAC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80029658.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80029AF8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80029D14.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80029F18.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002A05C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002A134.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002A2DC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002A31C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002A5F8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002A900.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002ACC8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002ACD4.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002AD08.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002B0F4.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002B9BC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002BAB0.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002C0C4.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002C71C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002C7C4.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002C7D4.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002C954.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002CC30.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002D30C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002D384.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002D670.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002D8DC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002DE30.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002E234.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002E904.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002EEEC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002F2AC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002F440.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002FA64.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002FD74.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8002FF6C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800304C8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80030664.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80030750.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800307BC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80030838.s create mode 100644 asm/non_matchings/unknown_0255E0/func_8003093C.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80030A74.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80030DE0.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031018.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031130.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800314DC.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031600.s create mode 100644 asm/non_matchings/unknown_0255E0/func_800318C8.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031944.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031954.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031B18.s create mode 100644 asm/non_matchings/unknown_0255E0/func_80031B24.s delete mode 100755 asm/unknown_0255E0.s diff --git a/asm/non_matchings/unknown_0255E0/D_80024D54.s b/asm/non_matchings/unknown_0255E0/D_80024D54.s new file mode 100644 index 00000000..87d95714 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/D_80024D54.s @@ -0,0 +1,524 @@ +glabel D_80024D54 +/* 025954 80024D54 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 025958 80024D58 AFB10020 */ sw $s1, 0x20($sp) +/* 02595C 80024D5C AFBF002C */ sw $ra, 0x2c($sp) +/* 025960 80024D60 AFB30028 */ sw $s3, 0x28($sp) +/* 025964 80024D64 AFB20024 */ sw $s2, 0x24($sp) +/* 025968 80024D68 AFB0001C */ sw $s0, 0x1c($sp) +/* 02596C 80024D6C AFA40090 */ sw $a0, 0x90($sp) +/* 025970 80024D70 AFA50094 */ sw $a1, 0x94($sp) +/* 025974 80024D74 AFA60098 */ sw $a2, 0x98($sp) +/* 025978 80024D78 AFA7009C */ sw $a3, 0x9c($sp) +/* 02597C 80024D7C 8C8F0000 */ lw $t7, ($a0) +/* 025980 80024D80 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 +/* 025984 80024D84 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 +/* 025988 80024D88 AE2F0000 */ sw $t7, ($s1) +/* 02598C 80024D8C 8CB90000 */ lw $t9, ($a1) +/* 025990 80024D90 3C128012 */ lui $s2, %hi(D_8011B0A4) # $s2, 0x8012 +/* 025994 80024D94 2652B0A4 */ addiu $s2, %lo(D_8011B0A4) # addiu $s2, $s2, -0x4f5c +/* 025998 80024D98 AE590000 */ sw $t9, ($s2) +/* 02599C 80024D9C 8CCB0000 */ lw $t3, ($a2) +/* 0259A0 80024DA0 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 +/* 0259A4 80024DA4 AC2BB0A8 */ sw $t3, %lo(D_8011B0A8)($at) +/* 0259A8 80024DA8 8CED0000 */ lw $t5, ($a3) +/* 0259AC 80024DAC 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 +/* 0259B0 80024DB0 AC2DB0AC */ sw $t5, %lo(D_8011B0AC)($at) +/* 0259B4 80024DB4 3C018012 */ lui $at, %hi(D_8011B0DC) # $at, 0x8012 +/* 0259B8 80024DB8 240E0001 */ li $t6, 1 +/* 0259BC 80024DBC AC2EB0DC */ sw $t6, %lo(D_8011B0DC)($at) +/* 0259C0 80024DC0 3C018012 */ lui $at, %hi(D_8011B0C4) # $at, 0x8012 +/* 0259C4 80024DC4 AC20B0C4 */ sw $zero, %lo(D_8011B0C4)($at) +/* 0259C8 80024DC8 3C018012 */ lui $at, %hi(D_8011B0C0) # $at, 0x8012 +/* 0259CC 80024DCC AC20B0C0 */ sw $zero, %lo(D_8011B0C0)($at) +/* 0259D0 80024DD0 3C048012 */ lui $a0, %hi(D_8011D37C) # $a0, 0x8012 +/* 0259D4 80024DD4 3C018012 */ lui $at, %hi(D_8011B0BC) # $at, 0x8012 +/* 0259D8 80024DD8 8C84D37C */ lw $a0, %lo(D_8011D37C)($a0) +/* 0259DC 80024DDC 0C01994B */ jal func_8006652C +/* 0259E0 80024DE0 AC20B0BC */ sw $zero, %lo(D_8011B0BC)($at) +/* 0259E4 80024DE4 0C01BAA8 */ jal func_8006EAA0 +/* 0259E8 80024DE8 00409825 */ move $s3, $v0 +/* 0259EC 80024DEC 10400003 */ beqz $v0, .L80024DFC +/* 0259F0 80024DF0 3C188012 */ lui $t8, %hi(D_8011D384) # $t8, 0x8012 +/* 0259F4 80024DF4 10000004 */ b .L80024E08 +/* 0259F8 80024DF8 AFA00084 */ sw $zero, 0x84($sp) +.L80024DFC: +/* 0259FC 80024DFC 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 025A00 80024E00 00000000 */ nop +/* 025A04 80024E04 AFAF0084 */ sw $t7, 0x84($sp) +.L80024E08: +/* 025A08 80024E08 8F18D384 */ lw $t8, %lo(D_8011D384)($t8) +/* 025A0C 80024E0C 00000000 */ nop +/* 025A10 80024E10 13000005 */ beqz $t8, .L80024E28 +/* 025A14 80024E14 8FA600A0 */ lw $a2, 0xa0($sp) +/* 025A18 80024E18 8FA40084 */ lw $a0, 0x84($sp) +/* 025A1C 80024E1C 0C02E706 */ jal func_800B9C18 +/* 025A20 80024E20 00000000 */ nop +/* 025A24 80024E24 8FA600A0 */ lw $a2, 0xa0($sp) +.L80024E28: +/* 025A28 80024E28 24040002 */ li $a0, 2 +/* 025A2C 80024E2C 0C00B637 */ jal func_8002D8DC +/* 025A30 80024E30 24050002 */ li $a1, 2 +/* 025A34 80024E34 3C03800E */ lui $v1, %hi(D_800DC91C) # $v1, 0x800e +/* 025A38 80024E38 8C63C91C */ lw $v1, %lo(D_800DC91C)($v1) +/* 025A3C 80024E3C 00001025 */ move $v0, $zero +/* 025A40 80024E40 0062C821 */ addu $t9, $v1, $v0 +.L80024E44: +/* 025A44 80024E44 8F240074 */ lw $a0, 0x74($t9) +/* 025A48 80024E48 2401FFFF */ li $at, -1 +/* 025A4C 80024E4C 10810008 */ beq $a0, $at, .L80024E70 +/* 025A50 80024E50 00000000 */ nop +/* 025A54 80024E54 8FA50084 */ lw $a1, 0x84($sp) +/* 025A58 80024E58 0C01FC93 */ jal func_8007F24C +/* 025A5C 80024E5C AFA20034 */ sw $v0, 0x34($sp) +/* 025A60 80024E60 3C03800E */ lui $v1, %hi(D_800DC91C) # $v1, 0x800e +/* 025A64 80024E64 8C63C91C */ lw $v1, %lo(D_800DC91C)($v1) +/* 025A68 80024E68 8FA20034 */ lw $v0, 0x34($sp) +/* 025A6C 80024E6C 00000000 */ nop +.L80024E70: +/* 025A70 80024E70 24420004 */ addiu $v0, $v0, 4 +/* 025A74 80024E74 2841001C */ slti $at, $v0, 0x1c +/* 025A78 80024E78 1420FFF2 */ bnez $at, .L80024E44 +/* 025A7C 80024E7C 0062C821 */ addu $t9, $v1, $v0 +/* 025A80 80024E80 8C6400AC */ lw $a0, 0xac($v1) +/* 025A84 80024E84 2401FFFF */ li $at, -1 +/* 025A88 80024E88 10810007 */ beq $a0, $at, .L80024EA8 +/* 025A8C 80024E8C 00000000 */ nop +/* 025A90 80024E90 8FA50084 */ lw $a1, 0x84($sp) +/* 025A94 80024E94 0C01FD18 */ jal func_8007F460 +/* 025A98 80024E98 00000000 */ nop +/* 025A9C 80024E9C 3C03800E */ lui $v1, %hi(D_800DC91C) # $v1, 0x800e +/* 025AA0 80024EA0 8C63C91C */ lw $v1, %lo(D_800DC91C)($v1) +/* 025AA4 80024EA4 00000000 */ nop +.L80024EA8: +/* 025AA8 80024EA8 3C048012 */ lui $a0, %hi(D_8011B0E0) # $a0, 0x8012 +/* 025AAC 80024EAC 2484B0E0 */ addiu $a0, %lo(D_8011B0E0) # addiu $a0, $a0, -0x4f20 +/* 025AB0 80024EB0 24090001 */ li $t1, 1 +/* 025AB4 80024EB4 A0890000 */ sb $t1, ($a0) +/* 025AB8 80024EB8 8062004C */ lb $v0, 0x4c($v1) +/* 025ABC 80024EBC 24010007 */ li $at, 7 +/* 025AC0 80024EC0 14410007 */ bne $v0, $at, .L80024EE0 +/* 025AC4 80024EC4 24010006 */ li $at, 6 +/* 025AC8 80024EC8 A0800000 */ sb $zero, ($a0) +/* 025ACC 80024ECC 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 +/* 025AD0 80024ED0 AC29B0FC */ sw $t1, %lo(D_8011B0FC)($at) +/* 025AD4 80024ED4 8062004C */ lb $v0, 0x4c($v1) +/* 025AD8 80024ED8 00000000 */ nop +/* 025ADC 80024EDC 24010006 */ li $at, 6 +.L80024EE0: +/* 025AE0 80024EE0 10410004 */ beq $v0, $at, .L80024EF4 +/* 025AE4 80024EE4 00000000 */ nop +/* 025AE8 80024EE8 806A00BD */ lb $t2, 0xbd($v1) +/* 025AEC 80024EEC 00000000 */ nop +/* 025AF0 80024EF0 11400002 */ beqz $t2, .L80024EFC +.L80024EF4: +/* 025AF4 80024EF4 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 +/* 025AF8 80024EF8 AC29B0FC */ sw $t1, %lo(D_8011B0FC)($at) +.L80024EFC: +/* 025AFC 80024EFC 806B0049 */ lb $t3, 0x49($v1) +/* 025B00 80024F00 2401FFFF */ li $at, -1 +/* 025B04 80024F04 15610025 */ bne $t3, $at, .L80024F9C +/* 025B08 80024F08 00000000 */ nop +/* 025B0C 80024F0C 8FA70084 */ lw $a3, 0x84($sp) +/* 025B10 80024F10 806F00A2 */ lb $t7, 0xa2($v1) +/* 025B14 80024F14 8C6C00A4 */ lw $t4, 0xa4($v1) +/* 025B18 80024F18 01E70019 */ multu $t7, $a3 +/* 025B1C 80024F1C 91880000 */ lbu $t0, ($t4) +/* 025B20 80024F20 846E00A8 */ lh $t6, 0xa8($v1) +/* 025B24 80024F24 00086A40 */ sll $t5, $t0, 9 +/* 025B28 80024F28 25A8FFFF */ addiu $t0, $t5, -1 +/* 025B2C 80024F2C 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e +/* 025B30 80024F30 2442C91C */ addiu $v0, %lo(D_800DC91C) # addiu $v0, $v0, -0x36e4 +/* 025B34 80024F34 3C058012 */ lui $a1, %hi(D_8011B114) # $a1, 0x8012 +/* 025B38 80024F38 3C068012 */ lui $a2, %hi(D_8011B110) # $a2, 0x8012 +/* 025B3C 80024F3C 24C6B110 */ addiu $a2, %lo(D_8011B110) # addiu $a2, $a2, -0x4ef0 +/* 025B40 80024F40 24A5B114 */ addiu $a1, %lo(D_8011B114) # addiu $a1, $a1, -0x4eec +/* 025B44 80024F44 0000C012 */ mflo $t8 +/* 025B48 80024F48 01D8C821 */ addu $t9, $t6, $t8 +/* 025B4C 80024F4C 03285024 */ and $t2, $t9, $t0 +/* 025B50 80024F50 A46A00A8 */ sh $t2, 0xa8($v1) +/* 025B54 80024F54 8C430000 */ lw $v1, ($v0) +/* 025B58 80024F58 00000000 */ nop +/* 025B5C 80024F5C 806F00A3 */ lb $t7, 0xa3($v1) +/* 025B60 80024F60 8C6B00A4 */ lw $t3, 0xa4($v1) +/* 025B64 80024F64 01E70019 */ multu $t7, $a3 +/* 025B68 80024F68 91680001 */ lbu $t0, 1($t3) +/* 025B6C 80024F6C 846D00AA */ lh $t5, 0xaa($v1) +/* 025B70 80024F70 00086240 */ sll $t4, $t0, 9 +/* 025B74 80024F74 2588FFFF */ addiu $t0, $t4, -1 +/* 025B78 80024F78 00007012 */ mflo $t6 +/* 025B7C 80024F7C 01AEC021 */ addu $t8, $t5, $t6 +/* 025B80 80024F80 0308C824 */ and $t9, $t8, $t0 +/* 025B84 80024F84 A47900AA */ sh $t9, 0xaa($v1) +/* 025B88 80024F88 8C4A0000 */ lw $t2, ($v0) +/* 025B8C 80024F8C 00000000 */ nop +/* 025B90 80024F90 8D4400A4 */ lw $a0, 0xa4($t2) +/* 025B94 80024F94 0C01FBE0 */ jal func_8007EF80 +/* 025B98 80024F98 00000000 */ nop +.L80024F9C: +/* 025B9C 80024F9C 0C0270C3 */ jal func_8009C30C +/* 025BA0 80024FA0 A3A00083 */ sb $zero, 0x83($sp) +/* 025BA4 80024FA4 304B0004 */ andi $t3, $v0, 4 +/* 025BA8 80024FA8 11600003 */ beqz $t3, .L80024FB8 +/* 025BAC 80024FAC 3C0FA000 */ lui $t7, %hi(D_A0000200) # $t7, 0xa000 +/* 025BB0 80024FB0 240C0001 */ li $t4, 1 +/* 025BB4 80024FB4 A3AC0083 */ sb $t4, 0x83($sp) +.L80024FB8: +/* 025BB8 80024FB8 8DED0200 */ lw $t5, %lo(D_A0000200)($t7) +/* 025BBC 80024FBC 3C01AC29 */ lui $at, 0xac29 +/* 025BC0 80024FC0 11A10002 */ beq $t5, $at, .L80024FCC +/* 025BC4 80024FC4 240E0001 */ li $t6, 1 +/* 025BC8 80024FC8 A3AE0083 */ sb $t6, 0x83($sp) +.L80024FCC: +/* 025BCC 80024FCC 0C01ECF4 */ jal func_8007B3D0 +/* 025BD0 80024FD0 02202025 */ move $a0, $s1 +/* 025BD4 80024FD4 8E220000 */ lw $v0, ($s1) +/* 025BD8 80024FD8 3C19BC00 */ lui $t9, (0xBC000002 >> 16) # lui $t9, 0xbc00 +/* 025BDC 80024FDC 24580008 */ addiu $t8, $v0, 8 +/* 025BE0 80024FE0 AE380000 */ sw $t8, ($s1) +/* 025BE4 80024FE4 37390002 */ ori $t9, (0xBC000002 & 0xFFFF) # ori $t9, $t9, 2 +/* 025BE8 80024FE8 AC590000 */ sw $t9, ($v0) +/* 025BEC 80024FEC AC400004 */ sw $zero, 4($v0) +/* 025BF0 80024FF0 8E220000 */ lw $v0, ($s1) +/* 025BF4 80024FF4 3C0BB600 */ lui $t3, 0xb600 +/* 025BF8 80024FF8 244A0008 */ addiu $t2, $v0, 8 +/* 025BFC 80024FFC AE2A0000 */ sw $t2, ($s1) +/* 025C00 80025000 240C1000 */ li $t4, 4096 +/* 025C04 80025004 AC4C0004 */ sw $t4, 4($v0) +/* 025C08 80025008 AC4B0000 */ sw $t3, ($v0) +/* 025C0C 8002500C 8E220000 */ lw $v0, ($s1) +/* 025C10 80025010 3C0DF900 */ lui $t5, 0xf900 +/* 025C14 80025014 244F0008 */ addiu $t7, $v0, 8 +/* 025C18 80025018 AE2F0000 */ sw $t7, ($s1) +/* 025C1C 8002501C 240E0064 */ li $t6, 100 +/* 025C20 80025020 AC4E0004 */ sw $t6, 4($v0) +/* 025C24 80025024 AC4D0000 */ sw $t5, ($v0) +/* 025C28 80025028 8E220000 */ lw $v0, ($s1) +/* 025C2C 8002502C 240AFFFF */ li $t2, -1 +/* 025C30 80025030 24580008 */ addiu $t8, $v0, 8 +/* 025C34 80025034 AE380000 */ sw $t8, ($s1) +/* 025C38 80025038 3C19FA00 */ lui $t9, 0xfa00 +/* 025C3C 8002503C AC590000 */ sw $t9, ($v0) +/* 025C40 80025040 AC4A0004 */ sw $t2, 4($v0) +/* 025C44 80025044 8E220000 */ lw $v0, ($s1) +/* 025C48 80025048 240FFF00 */ li $t7, -256 +/* 025C4C 8002504C 244B0008 */ addiu $t3, $v0, 8 +/* 025C50 80025050 AE2B0000 */ sw $t3, ($s1) +/* 025C54 80025054 3C0CFB00 */ lui $t4, 0xfb00 +/* 025C58 80025058 AC4C0000 */ sw $t4, ($v0) +/* 025C5C 8002505C 0C02B503 */ jal func_800AD40C +/* 025C60 80025060 AC4F0004 */ sw $t7, 4($v0) +/* 025C64 80025064 8FA50084 */ lw $a1, 0x84($sp) +/* 025C68 80025068 0C00C20E */ jal func_80030838 +/* 025C6C 8002506C 02602025 */ move $a0, $s3 +/* 025C70 80025070 8FA40084 */ lw $a0, 0x84($sp) +/* 025C74 80025074 0C02BD01 */ jal func_800AF404 +/* 025C78 80025078 00000000 */ nop +/* 025C7C 8002507C 3C0D800E */ lui $t5, %hi(D_800DC918) # $t5, 0x800e +/* 025C80 80025080 8DADC918 */ lw $t5, %lo(D_800DC918)($t5) +/* 025C84 80025084 8FA40084 */ lw $a0, 0x84($sp) +/* 025C88 80025088 85AE001E */ lh $t6, 0x1e($t5) +/* 025C8C 8002508C 00000000 */ nop +/* 025C90 80025090 19C00003 */ blez $t6, .L800250A0 +/* 025C94 80025094 00000000 */ nop +/* 025C98 80025098 0C009F89 */ jal func_80027E24 +/* 025C9C 8002509C 00000000 */ nop +.L800250A0: +/* 025CA0 800250A0 3C108012 */ lui $s0, %hi(D_8011B0B4) # $s0, 0x8012 +/* 025CA4 800250A4 2610B0B4 */ addiu $s0, %lo(D_8011B0B4) # addiu $s0, $s0, -0x4f4c +/* 025CA8 800250A8 0013082A */ slt $at, $zero, $s3 +/* 025CAC 800250AC AE000000 */ sw $zero, ($s0) +/* 025CB0 800250B0 1020007E */ beqz $at, .L800252AC +/* 025CB4 800250B4 00001025 */ move $v0, $zero +.L800250B8: +/* 025CB8 800250B8 14400009 */ bnez $v0, .L800250E0 +/* 025CBC 800250BC 83B90083 */ lb $t9, 0x83($sp) +/* 025CC0 800250C0 0C003861 */ jal func_8000E184 +/* 025CC4 800250C4 00000000 */ nop +/* 025CC8 800250C8 10400004 */ beqz $v0, .L800250DC +/* 025CCC 800250CC 24010001 */ li $at, 1 +/* 025CD0 800250D0 16610002 */ bne $s3, $at, .L800250DC +/* 025CD4 800250D4 24180001 */ li $t8, 1 +/* 025CD8 800250D8 AE180000 */ sw $t8, ($s0) +.L800250DC: +/* 025CDC 800250DC 83B90083 */ lb $t9, 0x83($sp) +.L800250E0: +/* 025CE0 800250E0 3C0BB700 */ lui $t3, 0xb700 +/* 025CE4 800250E4 13200007 */ beqz $t9, .L80025104 +/* 025CE8 800250E8 00000000 */ nop +/* 025CEC 800250EC 8E220000 */ lw $v0, ($s1) +/* 025CF0 800250F0 240C1000 */ li $t4, 4096 +/* 025CF4 800250F4 244A0008 */ addiu $t2, $v0, 8 +/* 025CF8 800250F8 AE2A0000 */ sw $t2, ($s1) +/* 025CFC 800250FC AC4C0004 */ sw $t4, 4($v0) +/* 025D00 80025100 AC4B0000 */ sw $t3, ($v0) +.L80025104: +/* 025D04 80025104 8E040000 */ lw $a0, ($s0) +/* 025D08 80025108 0C00C24F */ jal func_8003093C +/* 025D0C 8002510C 00000000 */ nop +/* 025D10 80025110 8E220000 */ lw $v0, ($s1) +/* 025D14 80025114 3C0DE700 */ lui $t5, 0xe700 +/* 025D18 80025118 244F0008 */ addiu $t7, $v0, 8 +/* 025D1C 8002511C AE2F0000 */ sw $t7, ($s1) +/* 025D20 80025120 AC400004 */ sw $zero, 4($v0) +/* 025D24 80025124 AC4D0000 */ sw $t5, ($v0) +/* 025D28 80025128 8E040000 */ lw $a0, ($s0) +/* 025D2C 8002512C 0C01997A */ jal func_800665E8 +/* 025D30 80025130 00000000 */ nop +/* 025D34 80025134 02202025 */ move $a0, $s1 +/* 025D38 80025138 0C019B37 */ jal func_80066CDC +/* 025D3C 8002513C 02402825 */ move $a1, $s2 +/* 025D40 80025140 0C00A8C7 */ jal func_8002A31C +/* 025D44 80025144 00000000 */ nop +/* 025D48 80025148 2A610002 */ slti $at, $s3, 2 +/* 025D4C 8002514C 10200013 */ beqz $at, .L8002519C +/* 025D50 80025150 02202025 */ move $a0, $s1 +/* 025D54 80025154 02202025 */ move $a0, $s1 +/* 025D58 80025158 0C01A102 */ jal func_80068408 +/* 025D5C 8002515C 02402825 */ move $a1, $s2 +/* 025D60 80025160 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e +/* 025D64 80025164 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6) +/* 025D68 80025168 2401FFFF */ li $at, -1 +/* 025D6C 8002516C 81D80049 */ lb $t8, 0x49($t6) +/* 025D70 80025170 00000000 */ nop +/* 025D74 80025174 17010005 */ bne $t8, $at, .L8002518C +/* 025D78 80025178 00000000 */ nop +/* 025D7C 8002517C 0C00A014 */ jal func_80028050 +/* 025D80 80025180 00000000 */ nop +/* 025D84 80025184 10000010 */ b .L800251C8 +/* 025D88 80025188 8E220000 */ lw $v0, ($s1) +.L8002518C: +/* 025D8C 8002518C 0C00A304 */ jal func_80028C10 +/* 025D90 80025190 00000000 */ nop +/* 025D94 80025194 1000000C */ b .L800251C8 +/* 025D98 80025198 8E220000 */ lw $v0, ($s1) +.L8002519C: +/* 025D9C 8002519C 0C01A01F */ jal func_8006807C +/* 025DA0 800251A0 02402825 */ move $a1, $s2 +/* 025DA4 800251A4 0C00A26E */ jal func_800289B8 +/* 025DA8 800251A8 00000000 */ nop +/* 025DAC 800251AC 02202025 */ move $a0, $s1 +/* 025DB0 800251B0 0C019F4F */ jal func_80067D3C +/* 025DB4 800251B4 02402825 */ move $a1, $s2 +/* 025DB8 800251B8 02202025 */ move $a0, $s1 +/* 025DBC 800251BC 0C01A102 */ jal func_80068408 +/* 025DC0 800251C0 02402825 */ move $a1, $s2 +/* 025DC4 800251C4 8E220000 */ lw $v0, ($s1) +.L800251C8: +/* 025DC8 800251C8 3C0AE700 */ lui $t2, 0xe700 +/* 025DCC 800251CC 24590008 */ addiu $t9, $v0, 8 +/* 025DD0 800251D0 AE390000 */ sw $t9, ($s1) +/* 025DD4 800251D4 AC400004 */ sw $zero, 4($v0) +/* 025DD8 800251D8 AC4A0000 */ sw $t2, ($v0) +/* 025DDC 800251DC 8FA400A0 */ lw $a0, 0xa0($sp) +/* 025DE0 800251E0 0C00A334 */ jal func_80028CD0 +/* 025DE4 800251E4 00000000 */ nop +/* 025DE8 800251E8 2404FFFF */ li $a0, -1 +/* 025DEC 800251EC 0C02ACC2 */ jal func_800AB308 +/* 025DF0 800251F0 2405FE00 */ li $a1, -512 +/* 025DF4 800251F4 3C0B800E */ lui $t3, %hi(D_800DC91C) # $t3, 0x800e +/* 025DF8 800251F8 8D6BC91C */ lw $t3, %lo(D_800DC91C)($t3) +/* 025DFC 800251FC 2A610002 */ slti $at, $s3, 2 +/* 025E00 80025200 856C0090 */ lh $t4, 0x90($t3) +/* 025E04 80025204 00000000 */ nop +/* 025E08 80025208 1980000B */ blez $t4, .L80025238 +/* 025E0C 8002520C 00000000 */ nop +/* 025E10 80025210 10200009 */ beqz $at, .L80025238 +/* 025E14 80025214 02202025 */ move $a0, $s1 +/* 025E18 80025218 8FAF0084 */ lw $t7, 0x84($sp) +/* 025E1C 8002521C 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 +/* 025E20 80025220 3C078012 */ lui $a3, %hi(D_8011B0AC) # $a3, 0x8012 +/* 025E24 80025224 24E7B0AC */ addiu $a3, %lo(D_8011B0AC) # addiu $a3, $a3, -0x4f54 +/* 025E28 80025228 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 +/* 025E2C 8002522C 02402825 */ move $a1, $s2 +/* 025E30 80025230 0C02AF9A */ jal func_800ABE68 +/* 025E34 80025234 AFAF0010 */ sw $t7, 0x10($sp) +.L80025238: +/* 025E38 80025238 0C01A748 */ jal func_80069D20 +/* 025E3C 8002523C 00000000 */ nop +/* 025E40 80025240 0C02B40C */ jal func_800AD030 +/* 025E44 80025244 00402025 */ move $a0, $v0 +/* 025E48 80025248 0C01A748 */ jal func_80069D20 +/* 025E4C 8002524C 00000000 */ nop +/* 025E50 80025250 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 +/* 025E54 80025254 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 +/* 025E58 80025258 02202025 */ move $a0, $s1 +/* 025E5C 8002525C 02402825 */ move $a1, $s2 +/* 025E60 80025260 0C02B288 */ jal func_800ACA20 +/* 025E64 80025264 00403825 */ move $a3, $v0 +/* 025E68 80025268 8E040000 */ lw $a0, ($s0) +/* 025E6C 8002526C 0C006EC6 */ jal func_8001BB18 +/* 025E70 80025270 00000000 */ nop +/* 025E74 80025274 8FAD00A0 */ lw $t5, 0xa0($sp) +/* 025E78 80025278 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 +/* 025E7C 8002527C 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 +/* 025E80 80025280 02202025 */ move $a0, $s1 +/* 025E84 80025284 02402825 */ move $a1, $s2 +/* 025E88 80025288 00403825 */ move $a3, $v0 +/* 025E8C 8002528C 0C028068 */ jal func_800A01A0 +/* 025E90 80025290 AFAD0010 */ sw $t5, 0x10($sp) +/* 025E94 80025294 8E0E0000 */ lw $t6, ($s0) +/* 025E98 80025298 00000000 */ nop +/* 025E9C 8002529C 25C20001 */ addiu $v0, $t6, 1 +/* 025EA0 800252A0 0053082A */ slt $at, $v0, $s3 +/* 025EA4 800252A4 1420FF84 */ bnez $at, .L800250B8 +/* 025EA8 800252A8 AE020000 */ sw $v0, ($s0) +.L800252AC: +/* 025EAC 800252AC 24010003 */ li $at, 3 +/* 025EB0 800252B0 1661006C */ bne $s3, $at, .L80025464 +/* 025EB4 800252B4 00000000 */ nop +/* 025EB8 800252B8 0C01AF66 */ jal func_8006BD98 +/* 025EBC 800252BC 00000000 */ nop +/* 025EC0 800252C0 24010042 */ li $at, 66 +/* 025EC4 800252C4 10410067 */ beq $v0, $at, .L80025464 +/* 025EC8 800252C8 00000000 */ nop +/* 025ECC 800252CC 0C01AF66 */ jal func_8006BD98 +/* 025ED0 800252D0 00000000 */ nop +/* 025ED4 800252D4 24010040 */ li $at, 64 +/* 025ED8 800252D8 10410062 */ beq $v0, $at, .L80025464 +/* 025EDC 800252DC 00000000 */ nop +/* 025EE0 800252E0 0C01AF66 */ jal func_8006BD98 +/* 025EE4 800252E4 00000000 */ nop +/* 025EE8 800252E8 24010041 */ li $at, 65 +/* 025EEC 800252EC 1041005D */ beq $v0, $at, .L80025464 +/* 025EF0 800252F0 00000000 */ nop +/* 025EF4 800252F4 0C02A116 */ jal func_800A8458 +/* 025EF8 800252F8 00000000 */ nop +/* 025EFC 800252FC 14400054 */ bnez $v0, .L80025450 +/* 025F00 80025300 00000000 */ nop +/* 025F04 80025304 83B90083 */ lb $t9, 0x83($sp) +/* 025F08 80025308 00000000 */ nop +/* 025F0C 8002530C 13200008 */ beqz $t9, .L80025330 +/* 025F10 80025310 00000000 */ nop +/* 025F14 80025314 8E220000 */ lw $v0, ($s1) +/* 025F18 80025318 3C0BB700 */ lui $t3, 0xb700 +/* 025F1C 8002531C 244A0008 */ addiu $t2, $v0, 8 +/* 025F20 80025320 AE2A0000 */ sw $t2, ($s1) +/* 025F24 80025324 240C1000 */ li $t4, 4096 +/* 025F28 80025328 AC4C0004 */ sw $t4, 4($v0) +/* 025F2C 8002532C AC4B0000 */ sw $t3, ($v0) +.L80025330: +/* 025F30 80025330 0C00C24F */ jal func_8003093C +/* 025F34 80025334 24040003 */ li $a0, 3 +/* 025F38 80025338 8E220000 */ lw $v0, ($s1) +/* 025F3C 8002533C 3C0DE700 */ lui $t5, 0xe700 +/* 025F40 80025340 244F0008 */ addiu $t7, $v0, 8 +/* 025F44 80025344 AE2F0000 */ sw $t7, ($s1) +/* 025F48 80025348 24040003 */ li $a0, 3 +/* 025F4C 8002534C AC400004 */ sw $zero, 4($v0) +/* 025F50 80025350 0C01997A */ jal func_800665E8 +/* 025F54 80025354 AC4D0000 */ sw $t5, ($v0) +/* 025F58 80025358 0C019948 */ jal func_80066520 +/* 025F5C 8002535C 00000000 */ nop +/* 025F60 80025360 8FA400A0 */ lw $a0, 0xa0($sp) +/* 025F64 80025364 0C009E3A */ jal func_800278E8 +/* 025F68 80025368 00000000 */ nop +/* 025F6C 8002536C 02202025 */ move $a0, $s1 +/* 025F70 80025370 0C019B37 */ jal func_80066CDC +/* 025F74 80025374 02402825 */ move $a1, $s2 +/* 025F78 80025378 0C00A8C7 */ jal func_8002A31C +/* 025F7C 8002537C 00000000 */ nop +/* 025F80 80025380 02202025 */ move $a0, $s1 +/* 025F84 80025384 0C01A01F */ jal func_8006807C +/* 025F88 80025388 02402825 */ move $a1, $s2 +/* 025F8C 8002538C 0C00A26E */ jal func_800289B8 +/* 025F90 80025390 00000000 */ nop +/* 025F94 80025394 02202025 */ move $a0, $s1 +/* 025F98 80025398 0C019F4F */ jal func_80067D3C +/* 025F9C 8002539C 02402825 */ move $a1, $s2 +/* 025FA0 800253A0 02202025 */ move $a0, $s1 +/* 025FA4 800253A4 0C01A102 */ jal func_80068408 +/* 025FA8 800253A8 02402825 */ move $a1, $s2 +/* 025FAC 800253AC 8E220000 */ lw $v0, ($s1) +/* 025FB0 800253B0 3C18E700 */ lui $t8, 0xe700 +/* 025FB4 800253B4 244E0008 */ addiu $t6, $v0, 8 +/* 025FB8 800253B8 AE2E0000 */ sw $t6, ($s1) +/* 025FBC 800253BC AC400004 */ sw $zero, 4($v0) +/* 025FC0 800253C0 AC580000 */ sw $t8, ($v0) +/* 025FC4 800253C4 8FA400A0 */ lw $a0, 0xa0($sp) +/* 025FC8 800253C8 0C00A334 */ jal func_80028CD0 +/* 025FCC 800253CC 00000000 */ nop +/* 025FD0 800253D0 2404FFFF */ li $a0, -1 +/* 025FD4 800253D4 0C02ACC2 */ jal func_800AB308 +/* 025FD8 800253D8 2405FE00 */ li $a1, -512 +/* 025FDC 800253DC 0C01A748 */ jal func_80069D20 +/* 025FE0 800253E0 00000000 */ nop +/* 025FE4 800253E4 0C02B40C */ jal func_800AD030 +/* 025FE8 800253E8 00402025 */ move $a0, $v0 +/* 025FEC 800253EC 0C01A748 */ jal func_80069D20 +/* 025FF0 800253F0 00000000 */ nop +/* 025FF4 800253F4 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 +/* 025FF8 800253F8 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 +/* 025FFC 800253FC 02202025 */ move $a0, $s1 +/* 026000 80025400 02402825 */ move $a1, $s2 +/* 026004 80025404 0C02B288 */ jal func_800ACA20 +/* 026008 80025408 00403825 */ move $a3, $v0 +/* 02600C 8002540C 0C0310BB */ jal func_800C42EC +/* 026010 80025410 00002025 */ move $a0, $zero +/* 026014 80025414 3C198000 */ lui $t9, %hi(D_80000300) # $t9, 0x8000 +/* 026018 80025418 8F390300 */ lw $t9, %lo(D_80000300)($t9) +/* 02601C 8002541C 02202025 */ move $a0, $s1 +/* 026020 80025420 17200004 */ bnez $t9, .L80025434 +/* 026024 80025424 3C07800E */ lui $a3, %hi(D_800E5DF0) # $a3, 0x800e +/* 026028 80025428 240500A6 */ li $a1, 166 +/* 02602C 8002542C 10000003 */ b .L8002543C +/* 026030 80025430 2406008A */ li $a2, 138 +.L80025434: +/* 026034 80025434 240500AA */ li $a1, 170 +/* 026038 80025438 2406007D */ li $a2, 125 +.L8002543C: +/* 02603C 8002543C 24E75DF0 */ addiu $a3, %lo(D_800E5DF0) # addiu $a3, $a3, 0x5df0 +/* 026040 80025440 0C031110 */ jal func_800C4440 +/* 026044 80025444 AFA00010 */ sw $zero, 0x10($sp) +/* 026048 80025448 10000006 */ b .L80025464 +/* 02604C 8002544C 00000000 */ nop +.L80025450: +/* 026050 80025450 0C01997A */ jal func_800665E8 +/* 026054 80025454 24040003 */ li $a0, 3 +/* 026058 80025458 8FA400A0 */ lw $a0, 0xa0($sp) +/* 02605C 8002545C 0C009E3A */ jal func_800278E8 +/* 026060 80025460 00000000 */ nop +.L80025464: +/* 026064 80025464 0C01A0AB */ jal func_800682AC +/* 026068 80025468 02202025 */ move $a0, $s1 +/* 02606C 8002546C 8E220000 */ lw $v0, ($s1) +/* 026070 80025470 3C0BE700 */ lui $t3, 0xe700 +/* 026074 80025474 244A0008 */ addiu $t2, $v0, 8 +/* 026078 80025478 AE2A0000 */ sw $t2, ($s1) +/* 02607C 8002547C AC400004 */ sw $zero, 4($v0) +/* 026080 80025480 AC4B0000 */ sw $t3, ($v0) +/* 026084 80025484 8E220000 */ lw $v0, ($s1) +/* 026088 80025488 3C0FBC00 */ lui $t7, (0xBC000002 >> 16) # lui $t7, 0xbc00 +/* 02608C 8002548C 244C0008 */ addiu $t4, $v0, 8 +/* 026090 80025490 AE2C0000 */ sw $t4, ($s1) +/* 026094 80025494 3C058012 */ lui $a1, %hi(D_8011B0C8) # $a1, 0x8012 +/* 026098 80025498 35EF0002 */ ori $t7, (0xBC000002 & 0xFFFF) # ori $t7, $t7, 2 +/* 02609C 8002549C 24A5B0C8 */ addiu $a1, %lo(D_8011B0C8) # addiu $a1, $a1, -0x4f38 +/* 0260A0 800254A0 AC4F0000 */ sw $t7, ($v0) +/* 0260A4 800254A4 AC400004 */ sw $zero, 4($v0) +/* 0260A8 800254A8 8CAD0000 */ lw $t5, ($a1) +/* 0260AC 800254AC 240E0001 */ li $t6, 1 +/* 0260B0 800254B0 8FAA0090 */ lw $t2, 0x90($sp) +/* 0260B4 800254B4 8E390000 */ lw $t9, ($s1) +/* 0260B8 800254B8 01CDC023 */ subu $t8, $t6, $t5 +/* 0260BC 800254BC ACB80000 */ sw $t8, ($a1) +/* 0260C0 800254C0 AD590000 */ sw $t9, ($t2) +/* 0260C4 800254C4 8FAC0094 */ lw $t4, 0x94($sp) +/* 0260C8 800254C8 8E4B0000 */ lw $t3, ($s2) +/* 0260CC 800254CC 3C0F8012 */ lui $t7, %hi(D_8011B0A8) # $t7, 0x8012 +/* 0260D0 800254D0 AD8B0000 */ sw $t3, ($t4) +/* 0260D4 800254D4 8FAE0098 */ lw $t6, 0x98($sp) +/* 0260D8 800254D8 8DEFB0A8 */ lw $t7, %lo(D_8011B0A8)($t7) +/* 0260DC 800254DC 3C0D8012 */ lui $t5, %hi(D_8011B0AC) # $t5, 0x8012 +/* 0260E0 800254E0 ADCF0000 */ sw $t7, ($t6) +/* 0260E4 800254E4 8FB8009C */ lw $t8, 0x9c($sp) +/* 0260E8 800254E8 8DADB0AC */ lw $t5, %lo(D_8011B0AC)($t5) +/* 0260EC 800254EC 00000000 */ nop +/* 0260F0 800254F0 AF0D0000 */ sw $t5, ($t8) +/* 0260F4 800254F4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0260F8 800254F8 8FB30028 */ lw $s3, 0x28($sp) +/* 0260FC 800254FC 8FB20024 */ lw $s2, 0x24($sp) +/* 026100 80025500 8FB10020 */ lw $s1, 0x20($sp) +/* 026104 80025504 8FB0001C */ lw $s0, 0x1c($sp) +/* 026108 80025508 03E00008 */ jr $ra +/* 02610C 8002550C 27BD0090 */ addiu $sp, $sp, 0x90 + diff --git a/asm/non_matchings/unknown_0255E0/func_800249F0.s b/asm/non_matchings/unknown_0255E0/func_800249F0.s new file mode 100644 index 00000000..e4ba841d --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800249F0.s @@ -0,0 +1,233 @@ +glabel func_800249F0 +/* 0255F0 800249F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0255F4 800249F4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0255F8 800249F8 AFB2001C */ sw $s2, 0x1c($sp) +/* 0255FC 800249FC AFB10018 */ sw $s1, 0x18($sp) +/* 025600 80024A00 00808825 */ move $s1, $a0 +/* 025604 80024A04 00A09025 */ move $s2, $a1 +/* 025608 80024A08 AFB30020 */ sw $s3, 0x20($sp) +/* 02560C 80024A0C AFB00014 */ sw $s0, 0x14($sp) +/* 025610 80024A10 AFA60030 */ sw $a2, 0x30($sp) +/* 025614 80024A14 0C01AF6C */ jal func_8006BDB0 +/* 025618 80024A18 AFA70034 */ sw $a3, 0x34($sp) +/* 02561C 80024A1C 3C048012 */ lui $a0, %hi(D_8011B0F8) # $a0, 0x8012 +/* 025620 80024A20 3C05800E */ lui $a1, %hi(D_800DC91C) # $a1, 0x800e +/* 025624 80024A24 24A5C91C */ addiu $a1, %lo(D_800DC91C) # addiu $a1, $a1, -0x36e4 +/* 025628 80024A28 2484B0F8 */ addiu $a0, %lo(D_8011B0F8) # addiu $a0, $a0, -0x4f08 +/* 02562C 80024A2C ACA20000 */ sw $v0, ($a1) +/* 025630 80024A30 AC800000 */ sw $zero, ($a0) +/* 025634 80024A34 3C018012 */ lui $at, %hi(D_8011B100) # $at, 0x8012 +/* 025638 80024A38 AC20B100 */ sw $zero, %lo(D_8011B100)($at) +/* 02563C 80024A3C 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012 +/* 025640 80024A40 AC20B104 */ sw $zero, %lo(D_8011B104)($at) +/* 025644 80024A44 3C018012 */ lui $at, %hi(D_8011B108) # $at, 0x8012 +/* 025648 80024A48 AC20B108 */ sw $zero, %lo(D_8011B108)($at) +/* 02564C 80024A4C 3C018012 */ lui $at, %hi(D_8011B10C) # $at, 0x8012 +/* 025650 80024A50 AC20B10C */ sw $zero, %lo(D_8011B10C)($at) +/* 025654 80024A54 8CAE0000 */ lw $t6, ($a1) +/* 025658 80024A58 24010006 */ li $at, 6 +/* 02565C 80024A5C 81C3004C */ lb $v1, 0x4c($t6) +/* 025660 80024A60 00000000 */ nop +/* 025664 80024A64 10610002 */ beq $v1, $at, .L80024A70 +/* 025668 80024A68 24010007 */ li $at, 7 +/* 02566C 80024A6C 14610002 */ bne $v1, $at, .L80024A78 +.L80024A70: +/* 025670 80024A70 240F0001 */ li $t7, 1 +/* 025674 80024A74 AC8F0000 */ sw $t7, ($a0) +.L80024A78: +/* 025678 80024A78 0C00B031 */ jal func_8002C0C4 +/* 02567C 80024A7C 02202025 */ move $a0, $s1 +/* 025680 80024A80 8FB80030 */ lw $t8, 0x30($sp) +/* 025684 80024A84 3C108012 */ lui $s0, %hi(D_8011D384) # $s0, 0x8012 +/* 025688 80024A88 2610D384 */ addiu $s0, %lo(D_8011D384) # addiu $s0, $s0, -0x2c7c +/* 02568C 80024A8C 2B010002 */ slti $at, $t8, 2 +/* 025690 80024A90 1020001E */ beqz $at, .L80024B0C +/* 025694 80024A94 AE000000 */ sw $zero, ($s0) +/* 025698 80024A98 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02569C 80024A9C 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 0256A0 80024AA0 00003025 */ move $a2, $zero +/* 0256A4 80024AA4 8444001A */ lh $a0, 0x1a($v0) +/* 0256A8 80024AA8 00001825 */ move $v1, $zero +/* 0256AC 80024AAC 18800017 */ blez $a0, .L80024B0C +/* 0256B0 80024AB0 24050001 */ li $a1, 1 +.L80024AB4: +/* 0256B4 80024AB4 8C590004 */ lw $t9, 4($v0) +/* 0256B8 80024AB8 24C60001 */ addiu $a2, $a2, 1 +/* 0256BC 80024ABC 03234021 */ addu $t0, $t9, $v1 +/* 0256C0 80024AC0 8109002B */ lb $t1, 0x2b($t0) +/* 0256C4 80024AC4 00000000 */ nop +/* 0256C8 80024AC8 1120000E */ beqz $t1, .L80024B04 +/* 0256CC 80024ACC 00C4082A */ slt $at, $a2, $a0 +/* 0256D0 80024AD0 8E0A0000 */ lw $t2, ($s0) +/* 0256D4 80024AD4 00000000 */ nop +/* 0256D8 80024AD8 254B0001 */ addiu $t3, $t2, 1 +/* 0256DC 80024ADC AE0B0000 */ sw $t3, ($s0) +/* 0256E0 80024AE0 8C4C0004 */ lw $t4, 4($v0) +/* 0256E4 80024AE4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 0256E8 80024AE8 01836821 */ addu $t5, $t4, $v1 +/* 0256EC 80024AEC A1A5002B */ sb $a1, 0x2b($t5) +/* 0256F0 80024AF0 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 0256F4 80024AF4 00000000 */ nop +/* 0256F8 80024AF8 8444001A */ lh $a0, 0x1a($v0) +/* 0256FC 80024AFC 00000000 */ nop +/* 025700 80024B00 00C4082A */ slt $at, $a2, $a0 +.L80024B04: +/* 025704 80024B04 1420FFEB */ bnez $at, .L80024AB4 +/* 025708 80024B08 24630044 */ addiu $v1, $v1, 0x44 +.L80024B0C: +/* 02570C 80024B0C 0C027B20 */ jal func_8009EC80 +/* 025710 80024B10 00000000 */ nop +/* 025714 80024B14 1040000B */ beqz $v0, .L80024B44 +/* 025718 80024B18 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e +/* 02571C 80024B1C 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6) +/* 025720 80024B20 00000000 */ nop +/* 025724 80024B24 81C3004C */ lb $v1, 0x4c($t6) +/* 025728 80024B28 00000000 */ nop +/* 02572C 80024B2C 10600003 */ beqz $v1, .L80024B3C +/* 025730 80024B30 306F0040 */ andi $t7, $v1, 0x40 +/* 025734 80024B34 11E00004 */ beqz $t7, .L80024B48 +/* 025738 80024B38 8FA60030 */ lw $a2, 0x30($sp) +.L80024B3C: +/* 02573C 80024B3C 10000004 */ b .L80024B50 +/* 025740 80024B40 24060002 */ li $a2, 2 +.L80024B44: +/* 025744 80024B44 8FA60030 */ lw $a2, 0x30($sp) +.L80024B48: +/* 025748 80024B48 00000000 */ nop +/* 02574C 80024B4C 24C60001 */ addiu $a2, $a2, 1 +.L80024B50: +/* 025750 80024B50 8E180000 */ lw $t8, ($s0) +/* 025754 80024B54 00000000 */ nop +/* 025758 80024B58 13000006 */ beqz $t8, .L80024B74 +/* 02575C 80024B5C 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e +/* 025760 80024B60 3C05800E */ lui $a1, %hi(D_800DC91C) # $a1, 0x800e +/* 025764 80024B64 8CA5C91C */ lw $a1, %lo(D_800DC91C)($a1) +/* 025768 80024B68 8C84C918 */ lw $a0, %lo(D_800DC918)($a0) +/* 02576C 80024B6C 0C02E0AD */ jal func_800B82B4 +/* 025770 80024B70 00000000 */ nop +.L80024B74: +/* 025774 80024B74 8FA40030 */ lw $a0, 0x30($sp) +/* 025778 80024B78 0C01994B */ jal func_8006652C +/* 02577C 80024B7C 00000000 */ nop +/* 025780 80024B80 0C009FF1 */ jal func_80027FC4 +/* 025784 80024B84 02402025 */ move $a0, $s2 +/* 025788 80024B88 3C018012 */ lui $at, %hi(D_8011B110) # $at, 0x8012 +/* 02578C 80024B8C AC20B110 */ sw $zero, %lo(D_8011B110)($at) +/* 025790 80024B90 3C018012 */ lui $at, %hi(D_8011B114) # $at, 0x8012 +/* 025794 80024B94 3C190001 */ lui $t9, 1 +/* 025798 80024B98 0C0044E4 */ jal func_80011390 +/* 02579C 80024B9C AC39B114 */ sw $t9, %lo(D_8011B114)($at) +/* 0257A0 80024BA0 8FA40040 */ lw $a0, 0x40($sp) +/* 0257A4 80024BA4 0C00323E */ jal func_8000C8F8 +/* 0257A8 80024BA8 00002825 */ move $a1, $zero +/* 0257AC 80024BAC 8FA4003C */ lw $a0, 0x3c($sp) +/* 0257B0 80024BB0 0C00323E */ jal func_8000C8F8 +/* 0257B4 80024BB4 24050001 */ li $a1, 1 +/* 0257B8 80024BB8 8FB00038 */ lw $s0, 0x38($sp) +/* 0257BC 80024BBC 8FA80030 */ lw $t0, 0x30($sp) +/* 0257C0 80024BC0 3C138012 */ lui $s3, %hi(D_8011D37C) # $s3, 0x8012 +/* 0257C4 80024BC4 2673D37C */ addiu $s3, %lo(D_8011D37C) # addiu $s3, $s3, -0x2c84 +/* 0257C8 80024BC8 8FA40034 */ lw $a0, 0x34($sp) +/* 0257CC 80024BCC 8FA60030 */ lw $a2, 0x30($sp) +/* 0257D0 80024BD0 02002825 */ move $a1, $s0 +/* 0257D4 80024BD4 0C00331F */ jal func_8000CC7C +/* 0257D8 80024BD8 AE680000 */ sw $t0, ($s3) +/* 0257DC 80024BDC 24040048 */ li $a0, 72 +/* 0257E0 80024BE0 0C002C08 */ jal func_8000B020 +/* 0257E4 80024BE4 24050040 */ li $a1, 64 +/* 0257E8 80024BE8 16200008 */ bnez $s1, .L80024C0C +/* 0257EC 80024BEC 3C04800E */ lui $a0, 0x800e +/* 0257F0 80024BF0 16000006 */ bnez $s0, .L80024C0C +/* 0257F4 80024BF4 00000000 */ nop +/* 0257F8 80024BF8 3C04800E */ lui $a0, %hi(D_800DC87C) # $a0, 0x800e +/* 0257FC 80024BFC 0C030076 */ jal func_800C01D8 +/* 025800 80024C00 2484C87C */ addiu $a0, %lo(D_800DC87C) # addiu $a0, $a0, -0x3784 +/* 025804 80024C04 10000004 */ b .L80024C18 +/* 025808 80024C08 8E640000 */ lw $a0, ($s3) +.L80024C0C: +/* 02580C 80024C0C 0C030076 */ jal func_800C01D8 +/* 025810 80024C10 2484C874 */ addiu $a0, $a0, -0x378c +/* 025814 80024C14 8E640000 */ lw $a0, ($s3) +.L80024C18: +/* 025818 80024C18 0C01994B */ jal func_8006652C +/* 02581C 80024C1C 00000000 */ nop +/* 025820 80024C20 8E690000 */ lw $t1, ($s3) +/* 025824 80024C24 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 +/* 025828 80024C28 3C13FFFF */ lui $s3, (0xFFFF00FF >> 16) # lui $s3, 0xffff +/* 02582C 80024C2C 3C118012 */ lui $s1, %hi(D_8011D350) # $s1, 0x8012 +/* 025830 80024C30 3C128012 */ lui $s2, %hi(D_8011D320) # $s2, 0x8012 +/* 025834 80024C34 3C108012 */ lui $s0, %hi(D_8011D338) # $s0, 0x8012 +/* 025838 80024C38 AC20B0FC */ sw $zero, %lo(D_8011B0FC)($at) +/* 02583C 80024C3C 2610D338 */ addiu $s0, %lo(D_8011D338) # addiu $s0, $s0, -0x2cc8 +/* 025840 80024C40 2652D320 */ addiu $s2, %lo(D_8011D320) # addiu $s2, $s2, -0x2ce0 +/* 025844 80024C44 2631D350 */ addiu $s1, %lo(D_8011D350) # addiu $s1, $s1, -0x2cb0 +/* 025848 80024C48 367300FF */ ori $s3, (0xFFFF00FF & 0xFFFF) # ori $s3, $s3, 0xff +/* 02584C 80024C4C AFA90030 */ sw $t1, 0x30($sp) +.L80024C50: +/* 025850 80024C50 24040C80 */ li $a0, 3200 +/* 025854 80024C54 0C01C327 */ jal func_80070C9C +/* 025858 80024C58 02602825 */ move $a1, $s3 +/* 02585C 80024C5C AE220000 */ sw $v0, ($s1) +/* 025860 80024C60 24043200 */ li $a0, 12800 +/* 025864 80024C64 0C01C327 */ jal func_80070C9C +/* 025868 80024C68 02602825 */ move $a1, $s3 +/* 02586C 80024C6C AE420000 */ sw $v0, ($s2) +/* 025870 80024C70 24044E20 */ li $a0, 20000 +/* 025874 80024C74 0C01C327 */ jal func_80070C9C +/* 025878 80024C78 02602825 */ move $a1, $s3 +/* 02587C 80024C7C 3C0A8012 */ lui $t2, %hi(D_8011D348) # $t2, 0x8012 +/* 025880 80024C80 254AD348 */ addiu $t2, %lo(D_8011D348) # addiu $t2, $t2, -0x2cb8 +/* 025884 80024C84 26100004 */ addiu $s0, $s0, 4 +/* 025888 80024C88 26310004 */ addiu $s1, $s1, 4 +/* 02588C 80024C8C 26520004 */ addiu $s2, $s2, 4 +/* 025890 80024C90 160AFFEF */ bne $s0, $t2, .L80024C50 +/* 025894 80024C94 AE02FFFC */ sw $v0, -4($s0) +/* 025898 80024C98 3C108012 */ lui $s0, %hi(D_8011B0C8) # $s0, 0x8012 +/* 02589C 80024C9C 2610B0C8 */ addiu $s0, %lo(D_8011B0C8) # addiu $s0, $s0, -0x4f38 +/* 0258A0 80024CA0 AE000000 */ sw $zero, ($s0) +/* 0258A4 80024CA4 24040001 */ li $a0, 1 +/* 0258A8 80024CA8 24050001 */ li $a1, 1 +/* 0258AC 80024CAC 0C00B637 */ jal func_8002D8DC +/* 0258B0 80024CB0 00003025 */ move $a2, $zero +/* 0258B4 80024CB4 24040002 */ li $a0, 2 +/* 0258B8 80024CB8 24050002 */ li $a1, 2 +/* 0258BC 80024CBC 0C00B637 */ jal func_8002D8DC +/* 0258C0 80024CC0 00003025 */ move $a2, $zero +/* 0258C4 80024CC4 240B0001 */ li $t3, 1 +/* 0258C8 80024CC8 AE0B0000 */ sw $t3, ($s0) +/* 0258CC 80024CCC 24040001 */ li $a0, 1 +/* 0258D0 80024CD0 24050001 */ li $a1, 1 +/* 0258D4 80024CD4 0C00B637 */ jal func_8002D8DC +/* 0258D8 80024CD8 00003025 */ move $a2, $zero +/* 0258DC 80024CDC 24040002 */ li $a0, 2 +/* 0258E0 80024CE0 24050002 */ li $a1, 2 +/* 0258E4 80024CE4 0C00B637 */ jal func_8002D8DC +/* 0258E8 80024CE8 00003025 */ move $a2, $zero +/* 0258EC 80024CEC AE000000 */ sw $zero, ($s0) +/* 0258F0 80024CF0 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e +/* 0258F4 80024CF4 8C42C91C */ lw $v0, %lo(D_800DC91C)($v0) +/* 0258F8 80024CF8 3C018012 */ lui $at, %hi(D_8011B0E1) # $at, 0x8012 +/* 0258FC 80024CFC 904C00B7 */ lbu $t4, 0xb7($v0) +/* 025900 80024D00 00000000 */ nop +/* 025904 80024D04 1180000D */ beqz $t4, .L80024D3C +/* 025908 80024D08 8FBF0024 */ lw $ra, 0x24($sp) +/* 02590C 80024D0C 904D00B4 */ lbu $t5, 0xb4($v0) +/* 025910 80024D10 8FA40030 */ lw $a0, 0x30($sp) +/* 025914 80024D14 A02DB0E1 */ sb $t5, %lo(D_8011B0E1)($at) +/* 025918 80024D18 904E00B5 */ lbu $t6, 0xb5($v0) +/* 02591C 80024D1C 3C018012 */ lui $at, %hi(D_8011B0E2) # $at, 0x8012 +/* 025920 80024D20 A02EB0E2 */ sb $t6, %lo(D_8011B0E2)($at) +/* 025924 80024D24 904F00B6 */ lbu $t7, 0xb6($v0) +/* 025928 80024D28 3C018012 */ lui $at, %hi(D_8011B0E3) # $at, 0x8012 +/* 02592C 80024D2C 24840001 */ addiu $a0, $a0, 1 +/* 025930 80024D30 0C009544 */ jal func_80025510 +/* 025934 80024D34 A02FB0E3 */ sb $t7, %lo(D_8011B0E3)($at) +/* 025938 80024D38 8FBF0024 */ lw $ra, 0x24($sp) +.L80024D3C: +/* 02593C 80024D3C 8FB00014 */ lw $s0, 0x14($sp) +/* 025940 80024D40 8FB10018 */ lw $s1, 0x18($sp) +/* 025944 80024D44 8FB2001C */ lw $s2, 0x1c($sp) +/* 025948 80024D48 8FB30020 */ lw $s3, 0x20($sp) +/* 02594C 80024D4C 03E00008 */ jr $ra +/* 025950 80024D50 27BD0028 */ addiu $sp, $sp, 0x28 + diff --git a/asm/non_matchings/unknown_0255E0/func_80025510.s b/asm/non_matchings/unknown_0255E0/func_80025510.s new file mode 100644 index 00000000..6150ca79 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80025510.s @@ -0,0 +1,183 @@ +glabel func_80025510 +/* 026110 80025510 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 026114 80025514 3C068012 */ lui $a2, %hi(D_8011D4BC) # $a2, 0x8012 +/* 026118 80025518 3C098012 */ lui $t1, %hi(D_8011D4BA) # $t1, 0x8012 +/* 02611C 8002551C 2529D4BA */ addiu $t1, %lo(D_8011D4BA) # addiu $t1, $t1, -0x2b46 +/* 026120 80025520 24C6D4BC */ addiu $a2, %lo(D_8011D4BC) # addiu $a2, $a2, -0x2b44 +/* 026124 80025524 AFB00018 */ sw $s0, 0x18($sp) +/* 026128 80025528 240E00AF */ li $t6, 175 +/* 02612C 8002552C 240F002D */ li $t7, 45 +/* 026130 80025530 28810002 */ slti $at, $a0, 2 +/* 026134 80025534 00808025 */ move $s0, $a0 +/* 026138 80025538 AFBF001C */ sw $ra, 0x1c($sp) +/* 02613C 8002553C A52E0000 */ sh $t6, ($t1) +/* 026140 80025540 14200005 */ bnez $at, .L80025558 +/* 026144 80025544 A4CF0000 */ sh $t7, ($a2) +/* 026148 80025548 84D80000 */ lh $t8, ($a2) +/* 02614C 8002554C 00000000 */ nop +/* 026150 80025550 0018C843 */ sra $t9, $t8, 1 +/* 026154 80025554 A4D90000 */ sh $t9, ($a2) +.L80025558: +/* 026158 80025558 84C80000 */ lh $t0, ($a2) +/* 02615C 8002555C 85230000 */ lh $v1, ($t1) +/* 026160 80025560 00083880 */ sll $a3, $t0, 2 +/* 026164 80025564 00076880 */ sll $t5, $a3, 2 +/* 026168 80025568 01A76821 */ addu $t5, $t5, $a3 +/* 02616C 8002556C 000D6840 */ sll $t5, $t5, 1 +/* 026170 80025570 00087140 */ sll $t6, $t0, 5 +/* 026174 80025574 000350C0 */ sll $t2, $v1, 3 +/* 026178 80025578 254B0030 */ addiu $t3, $t2, 0x30 +/* 02617C 8002557C 25A700C8 */ addiu $a3, $t5, 0xc8 +/* 026180 80025580 25C800A0 */ addiu $t0, $t6, 0xa0 +/* 026184 80025584 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 026188 80025588 246C0005 */ addiu $t4, $v1, 5 +/* 02618C 8002558C AFAB0030 */ sw $t3, 0x30($sp) +/* 026190 80025590 AFAC002C */ sw $t4, 0x2c($sp) +/* 026194 80025594 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 026198 80025598 AFA80024 */ sw $t0, 0x24($sp) +/* 02619C 8002559C AFA70028 */ sw $a3, 0x28($sp) +/* 0261A0 800255A0 0C01C327 */ jal func_80070C9C +/* 0261A4 800255A4 00102100 */ sll $a0, $s0, 4 +/* 0261A8 800255A8 8FA70028 */ lw $a3, 0x28($sp) +/* 0261AC 800255AC 8FA80024 */ lw $t0, 0x24($sp) +/* 0261B0 800255B0 8FAF0030 */ lw $t7, 0x30($sp) +/* 0261B4 800255B4 00E85021 */ addu $t2, $a3, $t0 +/* 0261B8 800255B8 000A5840 */ sll $t3, $t2, 1 +/* 0261BC 800255BC 01700019 */ multu $t3, $s0 +/* 0261C0 800255C0 8FB8002C */ lw $t8, 0x2c($sp) +/* 0261C4 800255C4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012 +/* 0261C8 800255C8 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c +/* 0261CC 800255CC 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0261D0 800255D0 01F8C821 */ addu $t9, $t7, $t8 +/* 0261D4 800255D4 ACC20000 */ sw $v0, ($a2) +/* 0261D8 800255D8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0261DC 800255DC 00006012 */ mflo $t4 +/* 0261E0 800255E0 032C2021 */ addu $a0, $t9, $t4 +/* 0261E4 800255E4 0C01C327 */ jal func_80070C9C +/* 0261E8 800255E8 00000000 */ nop +/* 0261EC 800255EC 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e +/* 0261F0 800255F0 2484C924 */ addiu $a0, %lo(D_800DC924) # addiu $a0, $a0, -0x36dc +/* 0261F4 800255F4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012 +/* 0261F8 800255F8 8FA70028 */ lw $a3, 0x28($sp) +/* 0261FC 800255FC 8FA80024 */ lw $t0, 0x24($sp) +/* 026200 80025600 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c +/* 026204 80025604 1040006C */ beqz $v0, .L800257B8 +/* 026208 80025608 AC820000 */ sw $v0, ($a0) +/* 02620C 8002560C 8FAD0030 */ lw $t5, 0x30($sp) +/* 026210 80025610 3C018012 */ lui $at, %hi(D_8011D478) # $at, 0x8012 +/* 026214 80025614 AC22D478 */ sw $v0, %lo(D_8011D478)($at) +/* 026218 80025618 8FAE002C */ lw $t6, 0x2c($sp) +/* 02621C 8002561C 3C018012 */ lui $at, %hi(D_8011D47C) # $at, 0x8012 +/* 026220 80025620 004D1821 */ addu $v1, $v0, $t5 +/* 026224 80025624 AC23D47C */ sw $v1, %lo(D_8011D47C)($at) +/* 026228 80025628 006E1821 */ addu $v1, $v1, $t6 +/* 02622C 8002562C 24630008 */ addiu $v1, $v1, 8 +/* 026230 80025630 2401FFF8 */ li $at, -8 +/* 026234 80025634 00617824 */ and $t7, $v1, $at +/* 026238 80025638 01E01825 */ move $v1, $t7 +/* 02623C 8002563C 1A00005E */ blez $s0, .L800257B8 +/* 026240 80025640 00002025 */ move $a0, $zero +/* 026244 80025644 32090003 */ andi $t1, $s0, 3 +/* 026248 80025648 11200016 */ beqz $t1, .L800256A4 +/* 02624C 8002564C 01202825 */ move $a1, $t1 +/* 026250 80025650 00001100 */ sll $v0, $zero, 4 +.L80025654: +/* 026254 80025654 8CD80000 */ lw $t8, ($a2) +/* 026258 80025658 24840001 */ addiu $a0, $a0, 1 +/* 02625C 8002565C 03025021 */ addu $t2, $t8, $v0 +/* 026260 80025660 AD430000 */ sw $v1, ($t2) +/* 026264 80025664 8CCB0000 */ lw $t3, ($a2) +/* 026268 80025668 00681821 */ addu $v1, $v1, $t0 +/* 02626C 8002566C 0162C821 */ addu $t9, $t3, $v0 +/* 026270 80025670 AF230004 */ sw $v1, 4($t9) +/* 026274 80025674 8CCC0000 */ lw $t4, ($a2) +/* 026278 80025678 00681821 */ addu $v1, $v1, $t0 +/* 02627C 8002567C 01826821 */ addu $t5, $t4, $v0 +/* 026280 80025680 ADA30008 */ sw $v1, 8($t5) +/* 026284 80025684 8CCE0000 */ lw $t6, ($a2) +/* 026288 80025688 00671821 */ addu $v1, $v1, $a3 +/* 02628C 8002568C 01C27821 */ addu $t7, $t6, $v0 +/* 026290 80025690 ADE3000C */ sw $v1, 0xc($t7) +/* 026294 80025694 00671821 */ addu $v1, $v1, $a3 +/* 026298 80025698 14A4FFEE */ bne $a1, $a0, .L80025654 +/* 02629C 8002569C 24420010 */ addiu $v0, $v0, 0x10 +/* 0262A0 800256A0 10900045 */ beq $a0, $s0, .L800257B8 +.L800256A4: +/* 0262A4 800256A4 00041100 */ sll $v0, $a0, 4 +/* 0262A8 800256A8 00102900 */ sll $a1, $s0, 4 +.L800256AC: +/* 0262AC 800256AC 8CD80000 */ lw $t8, ($a2) +/* 0262B0 800256B0 00000000 */ nop +/* 0262B4 800256B4 03025021 */ addu $t2, $t8, $v0 +/* 0262B8 800256B8 AD430000 */ sw $v1, ($t2) +/* 0262BC 800256BC 8CCB0000 */ lw $t3, ($a2) +/* 0262C0 800256C0 00681821 */ addu $v1, $v1, $t0 +/* 0262C4 800256C4 0162C821 */ addu $t9, $t3, $v0 +/* 0262C8 800256C8 AF230004 */ sw $v1, 4($t9) +/* 0262CC 800256CC 8CCC0000 */ lw $t4, ($a2) +/* 0262D0 800256D0 00681821 */ addu $v1, $v1, $t0 +/* 0262D4 800256D4 01826821 */ addu $t5, $t4, $v0 +/* 0262D8 800256D8 ADA30008 */ sw $v1, 8($t5) +/* 0262DC 800256DC 8CCE0000 */ lw $t6, ($a2) +/* 0262E0 800256E0 00671821 */ addu $v1, $v1, $a3 +/* 0262E4 800256E4 01C27821 */ addu $t7, $t6, $v0 +/* 0262E8 800256E8 ADE3000C */ sw $v1, 0xc($t7) +/* 0262EC 800256EC 8CD80000 */ lw $t8, ($a2) +/* 0262F0 800256F0 00671821 */ addu $v1, $v1, $a3 +/* 0262F4 800256F4 03025021 */ addu $t2, $t8, $v0 +/* 0262F8 800256F8 AD430010 */ sw $v1, 0x10($t2) +/* 0262FC 800256FC 8CCB0000 */ lw $t3, ($a2) +/* 026300 80025700 00681821 */ addu $v1, $v1, $t0 +/* 026304 80025704 0162C821 */ addu $t9, $t3, $v0 +/* 026308 80025708 AF230014 */ sw $v1, 0x14($t9) +/* 02630C 8002570C 8CCC0000 */ lw $t4, ($a2) +/* 026310 80025710 00681821 */ addu $v1, $v1, $t0 +/* 026314 80025714 01826821 */ addu $t5, $t4, $v0 +/* 026318 80025718 ADA30018 */ sw $v1, 0x18($t5) +/* 02631C 8002571C 8CCE0000 */ lw $t6, ($a2) +/* 026320 80025720 00671821 */ addu $v1, $v1, $a3 +/* 026324 80025724 01C27821 */ addu $t7, $t6, $v0 +/* 026328 80025728 ADE3001C */ sw $v1, 0x1c($t7) +/* 02632C 8002572C 8CD80000 */ lw $t8, ($a2) +/* 026330 80025730 00671821 */ addu $v1, $v1, $a3 +/* 026334 80025734 03025021 */ addu $t2, $t8, $v0 +/* 026338 80025738 AD430020 */ sw $v1, 0x20($t2) +/* 02633C 8002573C 8CCB0000 */ lw $t3, ($a2) +/* 026340 80025740 00681821 */ addu $v1, $v1, $t0 +/* 026344 80025744 0162C821 */ addu $t9, $t3, $v0 +/* 026348 80025748 AF230024 */ sw $v1, 0x24($t9) +/* 02634C 8002574C 8CCC0000 */ lw $t4, ($a2) +/* 026350 80025750 00681821 */ addu $v1, $v1, $t0 +/* 026354 80025754 01826821 */ addu $t5, $t4, $v0 +/* 026358 80025758 ADA30028 */ sw $v1, 0x28($t5) +/* 02635C 8002575C 8CCE0000 */ lw $t6, ($a2) +/* 026360 80025760 00671821 */ addu $v1, $v1, $a3 +/* 026364 80025764 01C27821 */ addu $t7, $t6, $v0 +/* 026368 80025768 ADE3002C */ sw $v1, 0x2c($t7) +/* 02636C 8002576C 8CD80000 */ lw $t8, ($a2) +/* 026370 80025770 00671821 */ addu $v1, $v1, $a3 +/* 026374 80025774 03025021 */ addu $t2, $t8, $v0 +/* 026378 80025778 AD430030 */ sw $v1, 0x30($t2) +/* 02637C 8002577C 8CCB0000 */ lw $t3, ($a2) +/* 026380 80025780 00681821 */ addu $v1, $v1, $t0 +/* 026384 80025784 0162C821 */ addu $t9, $t3, $v0 +/* 026388 80025788 AF230034 */ sw $v1, 0x34($t9) +/* 02638C 8002578C 8CCC0000 */ lw $t4, ($a2) +/* 026390 80025790 00681821 */ addu $v1, $v1, $t0 +/* 026394 80025794 01826821 */ addu $t5, $t4, $v0 +/* 026398 80025798 ADA30038 */ sw $v1, 0x38($t5) +/* 02639C 8002579C 8CCE0000 */ lw $t6, ($a2) +/* 0263A0 800257A0 00671821 */ addu $v1, $v1, $a3 +/* 0263A4 800257A4 01C27821 */ addu $t7, $t6, $v0 +/* 0263A8 800257A8 ADE3003C */ sw $v1, 0x3c($t7) +/* 0263AC 800257AC 24420040 */ addiu $v0, $v0, 0x40 +/* 0263B0 800257B0 1445FFBE */ bne $v0, $a1, .L800256AC +/* 0263B4 800257B4 00671821 */ addu $v1, $v1, $a3 +.L800257B8: +/* 0263B8 800257B8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0263BC 800257BC 3C018012 */ lui $at, %hi(D_8011D4B4) # $at, 0x8012 +/* 0263C0 800257C0 8FB00018 */ lw $s0, 0x18($sp) +/* 0263C4 800257C4 A020D4B4 */ sb $zero, %lo(D_8011D4B4)($at) +/* 0263C8 800257C8 03E00008 */ jr $ra +/* 0263CC 800257CC 27BD0038 */ addiu $sp, $sp, 0x38 + diff --git a/asm/non_matchings/unknown_0255E0/func_800257D0.s b/asm/non_matchings/unknown_0255E0/func_800257D0.s new file mode 100644 index 00000000..6abc10da --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800257D0.s @@ -0,0 +1,22 @@ +glabel func_800257D0 +/* 0263D0 800257D0 3C0E800E */ lui $t6, %hi(D_800DC924) # $t6, 0x800e +/* 0263D4 800257D4 8DCEC924 */ lw $t6, %lo(D_800DC924)($t6) +/* 0263D8 800257D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0263DC 800257DC 11C0000B */ beqz $t6, .L8002580C +/* 0263E0 800257E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0263E4 800257E4 3C048012 */ lui $a0, %hi(D_8011D474) # $a0, 0x8012 +/* 0263E8 800257E8 8C84D474 */ lw $a0, %lo(D_8011D474)($a0) +/* 0263EC 800257EC 0C01C450 */ jal func_80071140 +/* 0263F0 800257F0 00000000 */ nop +/* 0263F4 800257F4 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e +/* 0263F8 800257F8 8C84C924 */ lw $a0, %lo(D_800DC924)($a0) +/* 0263FC 800257FC 0C01C450 */ jal func_80071140 +/* 026400 80025800 00000000 */ nop +/* 026404 80025804 3C01800E */ lui $at, %hi(D_800DC924) # $at, 0x800e +/* 026408 80025808 AC20C924 */ sw $zero, %lo(D_800DC924)($at) +.L8002580C: +/* 02640C 8002580C 8FBF0014 */ lw $ra, 0x14($sp) +/* 026410 80025810 27BD0018 */ addiu $sp, $sp, 0x18 +/* 026414 80025814 03E00008 */ jr $ra +/* 026418 80025818 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002581C.s b/asm/non_matchings/unknown_0255E0/func_8002581C.s new file mode 100644 index 00000000..7b01b41e --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002581C.s @@ -0,0 +1,564 @@ +glabel func_8002581C +/* 02641C 8002581C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 026420 80025820 3C0E8012 */ lui $t6, %hi(D_8011D474) # $t6, 0x8012 +/* 026424 80025824 8DCED474 */ lw $t6, %lo(D_8011D474)($t6) +/* 026428 80025828 00067900 */ sll $t7, $a2, 4 +/* 02642C 8002582C AFBF004C */ sw $ra, 0x4c($sp) +/* 026430 80025830 AFB40048 */ sw $s4, 0x48($sp) +/* 026434 80025834 AFB30044 */ sw $s3, 0x44($sp) +/* 026438 80025838 AFB20040 */ sw $s2, 0x40($sp) +/* 02643C 8002583C AFB1003C */ sw $s1, 0x3c($sp) +/* 026440 80025840 AFB00038 */ sw $s0, 0x38($sp) +/* 026444 80025844 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 026448 80025848 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 02644C 8002584C E7B90028 */ swc1 $f25, 0x28($sp) +/* 026450 80025850 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 026454 80025854 E7B70020 */ swc1 $f23, 0x20($sp) +/* 026458 80025858 E7B60024 */ swc1 $f22, 0x24($sp) +/* 02645C 8002585C E7B50018 */ swc1 $f21, 0x18($sp) +/* 026460 80025860 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 026464 80025864 AFA400C0 */ sw $a0, 0xc0($sp) +/* 026468 80025868 AFA500C4 */ sw $a1, 0xc4($sp) +/* 02646C 8002586C 01CF1021 */ addu $v0, $t6, $t7 +/* 026470 80025870 8C580000 */ lw $t8, ($v0) +/* 026474 80025874 3C038012 */ lui $v1, %hi(D_8011D490) # $v1, 0x8012 +/* 026478 80025878 2463D490 */ addiu $v1, %lo(D_8011D490) # addiu $v1, $v1, -0x2b70 +/* 02647C 8002587C AC780000 */ sw $t8, ($v1) +/* 026480 80025880 8C590004 */ lw $t9, 4($v0) +/* 026484 80025884 3C088012 */ lui $t0, %hi(D_8011D480) # $t0, 0x8012 +/* 026488 80025888 AC790004 */ sw $t9, 4($v1) +/* 02648C 8002588C 8C4A0008 */ lw $t2, 8($v0) +/* 026490 80025890 2508D480 */ addiu $t0, %lo(D_8011D480) # addiu $t0, $t0, -0x2b80 +/* 026494 80025894 AD0A0000 */ sw $t2, ($t0) +/* 026498 80025898 8C4B000C */ lw $t3, 0xc($v0) +/* 02649C 8002589C 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012 +/* 0264A0 800258A0 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60 +/* 0264A4 800258A4 00002825 */ move $a1, $zero +/* 0264A8 800258A8 24060003 */ li $a2, 3 +/* 0264AC 800258AC 0C01ED32 */ jal func_8007B4C8 +/* 0264B0 800258B0 AD0B0004 */ sw $t3, 4($t0) +/* 0264B4 800258B4 3C018012 */ lui $at, %hi(D_8011D49C) # $at, 0x8012 +/* 0264B8 800258B8 A420D49C */ sh $zero, %lo(D_8011D49C)($at) +/* 0264BC 800258BC 3C108012 */ lui $s0, %hi(D_8011B0B0) # $s0, 0x8012 +/* 0264C0 800258C0 3C018012 */ lui $at, %hi(D_8011D49E) # $at, 0x8012 +/* 0264C4 800258C4 2610B0B0 */ addiu $s0, %lo(D_8011B0B0) # addiu $s0, $s0, -0x4f50 +/* 0264C8 800258C8 A420D49E */ sh $zero, %lo(D_8011D49E)($at) +/* 0264CC 800258CC 8E0C0000 */ lw $t4, ($s0) +/* 0264D0 800258D0 00000000 */ nop +/* 0264D4 800258D4 85840000 */ lh $a0, ($t4) +/* 0264D8 800258D8 00000000 */ nop +/* 0264DC 800258DC 00042023 */ negu $a0, $a0 +/* 0264E0 800258E0 00046C00 */ sll $t5, $a0, 0x10 +/* 0264E4 800258E4 0C01C1F1 */ jal func_800707C4 +/* 0264E8 800258E8 000D2403 */ sra $a0, $t5, 0x10 +/* 0264EC 800258EC 8E0F0000 */ lw $t7, ($s0) +/* 0264F0 800258F0 46000686 */ mov.s $f26, $f0 +/* 0264F4 800258F4 85E40000 */ lh $a0, ($t7) +/* 0264F8 800258F8 00000000 */ nop +/* 0264FC 800258FC 00042023 */ negu $a0, $a0 +/* 026500 80025900 0004C400 */ sll $t8, $a0, 0x10 +/* 026504 80025904 0C01C1FE */ jal func_800707F8 +/* 026508 80025908 00182403 */ sra $a0, $t8, 0x10 +/* 02650C 8002590C 3C01800E */ lui $at, %hi(D_800E5E64) # $at, 0x800e +/* 026510 80025910 C42F5E60 */ lwc1 $f15, %lo(D_800E5E60)($at) +/* 026514 80025914 C42E5E64 */ lwc1 $f14, %lo(D_800E5E64)($at) +/* 026518 80025918 4600D221 */ cvt.d.s $f8, $f26 +/* 02651C 8002591C 462E4282 */ mul.d $f10, $f8, $f14 +/* 026520 80025920 8E020000 */ lw $v0, ($s0) +/* 026524 80025924 3C038012 */ lui $v1, %hi(D_8011D4AC) # $v1, 0x8012 +/* 026528 80025928 C444000C */ lwc1 $f4, 0xc($v0) +/* 02652C 8002592C 2463D4AC */ addiu $v1, %lo(D_8011D4AC) # addiu $v1, $v1, -0x2b54 +/* 026530 80025930 460021A1 */ cvt.d.s $f6, $f4 +/* 026534 80025934 462A3400 */ add.d $f16, $f6, $f10 +/* 026538 80025938 3C048012 */ lui $a0, %hi(D_8011D4B0) # $a0, 0x8012 +/* 02653C 8002593C 462084A0 */ cvt.s.d $f18, $f16 +/* 026540 80025940 2484D4B0 */ addiu $a0, %lo(D_8011D4B0) # addiu $a0, $a0, -0x2b50 +/* 026544 80025944 460001A1 */ cvt.d.s $f6, $f0 +/* 026548 80025948 462E3282 */ mul.d $f10, $f6, $f14 +/* 02654C 8002594C E4720000 */ swc1 $f18, ($v1) +/* 026550 80025950 C4440014 */ lwc1 $f4, 0x14($v0) +/* 026554 80025954 C4620000 */ lwc1 $f2, ($v1) +/* 026558 80025958 3C058012 */ lui $a1, %hi(D_8011D4A0) # $a1, 0x8012 +/* 02655C 8002595C 46002221 */ cvt.d.s $f8, $f4 +/* 026560 80025960 462A4400 */ add.d $f16, $f8, $f10 +/* 026564 80025964 24A5D4A0 */ addiu $a1, %lo(D_8011D4A0) # addiu $a1, $a1, -0x2b60 +/* 026568 80025968 462084A0 */ cvt.s.d $f18, $f16 +/* 02656C 8002596C 3C068012 */ lui $a2, %hi(D_8011D4A4) # $a2, 0x8012 +/* 026570 80025970 4602D102 */ mul.s $f4, $f26, $f2 +/* 026574 80025974 E4920000 */ swc1 $f18, ($a0) +/* 026578 80025978 C48C0000 */ lwc1 $f12, ($a0) +/* 02657C 8002597C 24C6D4A4 */ addiu $a2, %lo(D_8011D4A4) # addiu $a2, $a2, -0x2b5c +/* 026580 80025980 46000207 */ neg.s $f8, $f0 +/* 026584 80025984 460C0182 */ mul.s $f6, $f0, $f12 +/* 026588 80025988 E4A80000 */ swc1 $f8, ($a1) +/* 02658C 8002598C C4AA0000 */ lwc1 $f10, ($a1) +/* 026590 80025990 E4DA0000 */ swc1 $f26, ($a2) +/* 026594 80025994 46025402 */ mul.s $f16, $f10, $f2 +/* 026598 80025998 C4D20000 */ lwc1 $f18, ($a2) +/* 02659C 8002599C 8FAA00C4 */ lw $t2, 0xc4($sp) +/* 0265A0 800259A0 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 +/* 0265A4 800259A4 46062580 */ add.s $f22, $f4, $f6 +/* 0265A8 800259A8 3C14800E */ lui $s4, %hi(D_800DC918) # $s4, 0x800e +/* 0265AC 800259AC 460C9102 */ mul.s $f4, $f18, $f12 +/* 0265B0 800259B0 46000606 */ mov.s $f24, $f0 +/* 0265B4 800259B4 4600B587 */ neg.s $f22, $f22 +/* 0265B8 800259B8 00009025 */ move $s2, $zero +/* 0265BC 800259BC 46048180 */ add.s $f6, $f16, $f4 +/* 0265C0 800259C0 2694C918 */ addiu $s4, %lo(D_800DC918) # addiu $s4, $s4, -0x36e8 +/* 0265C4 800259C4 46003207 */ neg.s $f8, $f6 +/* 0265C8 800259C8 19400069 */ blez $t2, .L80025B70 +/* 0265CC 800259CC E428D4A8 */ swc1 $f8, %lo(D_8011D4A8)($at) +/* 0265D0 800259D0 4480A800 */ mtc1 $zero, $f21 +/* 0265D4 800259D4 4480A000 */ mtc1 $zero, $f20 +/* 0265D8 800259D8 24130044 */ li $s3, 68 +/* 0265DC 800259DC 8FAB00C0 */ lw $t3, 0xc0($sp) +.L800259E0: +/* 0265E0 800259E0 8E830000 */ lw $v1, ($s4) +/* 0265E4 800259E4 024B8821 */ addu $s1, $s2, $t3 +/* 0265E8 800259E8 92220000 */ lbu $v0, ($s1) +/* 0265EC 800259EC 8C6D0008 */ lw $t5, 8($v1) +/* 0265F0 800259F0 00026080 */ sll $t4, $v0, 2 +/* 0265F4 800259F4 01826023 */ subu $t4, $t4, $v0 +/* 0265F8 800259F8 000C6080 */ sll $t4, $t4, 2 +/* 0265FC 800259FC 018D8021 */ addu $s0, $t4, $t5 +/* 026600 80025A00 860E0000 */ lh $t6, ($s0) +/* 026604 80025A04 860F0004 */ lh $t7, 4($s0) +/* 026608 80025A08 448E5000 */ mtc1 $t6, $f10 +/* 02660C 80025A0C 448F8000 */ mtc1 $t7, $f16 +/* 026610 80025A10 468054A0 */ cvt.s.w $f18, $f10 +/* 026614 80025A14 00003025 */ move $a2, $zero +/* 026618 80025A18 461A9002 */ mul.s $f0, $f18, $f26 +/* 02661C 80025A1C 46808120 */ cvt.s.w $f4, $f16 +/* 026620 80025A20 4604C082 */ mul.s $f2, $f24, $f4 +/* 026624 80025A24 46020180 */ add.s $f6, $f0, $f2 +/* 026628 80025A28 46163200 */ add.s $f8, $f6, $f22 +/* 02662C 80025A2C 460042A1 */ cvt.d.s $f10, $f8 +/* 026630 80025A30 4634503E */ c.le.d $f10, $f20 +/* 026634 80025A34 00000000 */ nop +/* 026638 80025A38 45000002 */ bc1f .L80025A44 +/* 02663C 80025A3C 00000000 */ nop +/* 026640 80025A40 24060001 */ li $a2, 1 +.L80025A44: +/* 026644 80025A44 860A0006 */ lh $t2, 6($s0) +/* 026648 80025A48 0006C400 */ sll $t8, $a2, 0x10 +/* 02664C 80025A4C 448A9000 */ mtc1 $t2, $f18 +/* 026650 80025A50 00183403 */ sra $a2, $t8, 0x10 +/* 026654 80025A54 46809420 */ cvt.s.w $f16, $f18 +/* 026658 80025A58 00005825 */ move $t3, $zero +/* 02665C 80025A5C 4610D302 */ mul.s $f12, $f26, $f16 +/* 026660 80025A60 46026100 */ add.s $f4, $f12, $f2 +/* 026664 80025A64 46162180 */ add.s $f6, $f4, $f22 +/* 026668 80025A68 46003221 */ cvt.d.s $f8, $f6 +/* 02666C 80025A6C 4634403E */ c.le.d $f8, $f20 +/* 026670 80025A70 00000000 */ nop +/* 026674 80025A74 45000002 */ bc1f .L80025A80 +/* 026678 80025A78 00000000 */ nop +/* 02667C 80025A7C 240B0001 */ li $t3, 1 +.L80025A80: +/* 026680 80025A80 860E000A */ lh $t6, 0xa($s0) +/* 026684 80025A84 00CB3021 */ addu $a2, $a2, $t3 +/* 026688 80025A88 448E5000 */ mtc1 $t6, $f10 +/* 02668C 80025A8C 00066400 */ sll $t4, $a2, 0x10 +/* 026690 80025A90 468054A0 */ cvt.s.w $f18, $f10 +/* 026694 80025A94 000C3403 */ sra $a2, $t4, 0x10 +/* 026698 80025A98 00007825 */ move $t7, $zero +/* 02669C 80025A9C 4612C382 */ mul.s $f14, $f24, $f18 +/* 0266A0 80025AA0 00005025 */ move $t2, $zero +/* 0266A4 80025AA4 460E0400 */ add.s $f16, $f0, $f14 +/* 0266A8 80025AA8 46168100 */ add.s $f4, $f16, $f22 +/* 0266AC 80025AAC 460021A1 */ cvt.d.s $f6, $f4 +/* 0266B0 80025AB0 4634303E */ c.le.d $f6, $f20 +/* 0266B4 80025AB4 460E6200 */ add.s $f8, $f12, $f14 +/* 0266B8 80025AB8 45000002 */ bc1f .L80025AC4 +/* 0266BC 80025ABC 46164280 */ add.s $f10, $f8, $f22 +/* 0266C0 80025AC0 240F0001 */ li $t7, 1 +.L80025AC4: +/* 0266C4 80025AC4 460054A1 */ cvt.d.s $f18, $f10 +/* 0266C8 80025AC8 4634903E */ c.le.d $f18, $f20 +/* 0266CC 80025ACC 00CF3021 */ addu $a2, $a2, $t7 +/* 0266D0 80025AD0 0006C400 */ sll $t8, $a2, 0x10 +/* 0266D4 80025AD4 45000002 */ bc1f .L80025AE0 +/* 0266D8 80025AD8 00183403 */ sra $a2, $t8, 0x10 +/* 0266DC 80025ADC 240A0001 */ li $t2, 1 +.L80025AE0: +/* 0266E0 80025AE0 00CA6021 */ addu $t4, $a2, $t2 +/* 0266E4 80025AE4 318D0003 */ andi $t5, $t4, 3 +/* 0266E8 80025AE8 11A0001A */ beqz $t5, .L80025B54 +/* 0266EC 80025AEC 00000000 */ nop +/* 0266F0 80025AF0 00530019 */ multu $v0, $s3 +/* 0266F4 80025AF4 8C6F0004 */ lw $t7, 4($v1) +/* 0266F8 80025AF8 4405D000 */ mfc1 $a1, $f26 +/* 0266FC 80025AFC 4406C000 */ mfc1 $a2, $f24 +/* 026700 80025B00 4407B000 */ mfc1 $a3, $f22 +/* 026704 80025B04 00007012 */ mflo $t6 +/* 026708 80025B08 01CF2021 */ addu $a0, $t6, $t7 +/* 02670C 80025B0C 0C00990C */ jal func_80026430 +/* 026710 80025B10 00000000 */ nop +/* 026714 80025B14 922A0000 */ lbu $t2, ($s1) +/* 026718 80025B18 8E980000 */ lw $t8, ($s4) +/* 02671C 80025B1C 01530019 */ multu $t2, $s3 +/* 026720 80025B20 8F190004 */ lw $t9, 4($t8) +/* 026724 80025B24 00005812 */ mflo $t3 +/* 026728 80025B28 032B6021 */ addu $t4, $t9, $t3 +/* 02672C 80025B2C 8D8D003C */ lw $t5, 0x3c($t4) +/* 026730 80025B30 00000000 */ nop +/* 026734 80025B34 31AE0002 */ andi $t6, $t5, 2 +/* 026738 80025B38 11C00006 */ beqz $t6, .L80025B54 +/* 02673C 80025B3C 00000000 */ nop +/* 026740 80025B40 4405D000 */ mfc1 $a1, $f26 +/* 026744 80025B44 4406C000 */ mfc1 $a2, $f24 +/* 026748 80025B48 4407B000 */ mfc1 $a3, $f22 +/* 02674C 80025B4C 0C00981C */ jal func_80026070 +/* 026750 80025B50 02002025 */ move $a0, $s0 +.L80025B54: +/* 026754 80025B54 26520001 */ addiu $s2, $s2, 1 +/* 026758 80025B58 8FAA00C4 */ lw $t2, 0xc4($sp) +/* 02675C 80025B5C 00127C00 */ sll $t7, $s2, 0x10 +/* 026760 80025B60 000F9403 */ sra $s2, $t7, 0x10 +/* 026764 80025B64 024A082A */ slt $at, $s2, $t2 +/* 026768 80025B68 1420FF9D */ bnez $at, .L800259E0 +/* 02676C 80025B6C 8FAB00C0 */ lw $t3, 0xc0($sp) +.L80025B70: +/* 026770 80025B70 3C14800E */ lui $s4, %hi(D_800DC918) # $s4, 0x800e +/* 026774 80025B74 2694C918 */ addiu $s4, %lo(D_800DC918) # addiu $s4, $s4, -0x36e8 +/* 026778 80025B78 8E990000 */ lw $t9, ($s4) +/* 02677C 80025B7C 2404012C */ li $a0, 300 +/* 026780 80025B80 87250040 */ lh $a1, 0x40($t9) +/* 026784 80025B84 24060001 */ li $a2, 1 +/* 026788 80025B88 24A5FF3D */ addiu $a1, $a1, -0xc3 +/* 02678C 80025B8C 00055C00 */ sll $t3, $a1, 0x10 +/* 026790 80025B90 0C009B05 */ jal func_80026C14 +/* 026794 80025B94 000B2C03 */ sra $a1, $t3, 0x10 +/* 026798 80025B98 8E8D0000 */ lw $t5, ($s4) +/* 02679C 80025B9C 2404FED4 */ li $a0, -300 +/* 0267A0 80025BA0 85A50040 */ lh $a1, 0x40($t5) +/* 0267A4 80025BA4 24060001 */ li $a2, 1 +/* 0267A8 80025BA8 24A5FF3D */ addiu $a1, $a1, -0xc3 +/* 0267AC 80025BAC 00057400 */ sll $t6, $a1, 0x10 +/* 0267B0 80025BB0 0C009B05 */ jal func_80026C14 +/* 0267B4 80025BB4 000E2C03 */ sra $a1, $t6, 0x10 +/* 0267B8 80025BB8 8E980000 */ lw $t8, ($s4) +/* 0267BC 80025BBC 2404012C */ li $a0, 300 +/* 0267C0 80025BC0 87050042 */ lh $a1, 0x42($t8) +/* 0267C4 80025BC4 00003025 */ move $a2, $zero +/* 0267C8 80025BC8 24A500C3 */ addiu $a1, $a1, 0xc3 +/* 0267CC 80025BCC 00055400 */ sll $t2, $a1, 0x10 +/* 0267D0 80025BD0 0C009B05 */ jal func_80026C14 +/* 0267D4 80025BD4 000A2C03 */ sra $a1, $t2, 0x10 +/* 0267D8 80025BD8 8E8B0000 */ lw $t3, ($s4) +/* 0267DC 80025BDC 2404FED4 */ li $a0, -300 +/* 0267E0 80025BE0 85650042 */ lh $a1, 0x42($t3) +/* 0267E4 80025BE4 00003025 */ move $a2, $zero +/* 0267E8 80025BE8 24A500C3 */ addiu $a1, $a1, 0xc3 +/* 0267EC 80025BEC 00056400 */ sll $t4, $a1, 0x10 +/* 0267F0 80025BF0 0C009B05 */ jal func_80026C14 +/* 0267F4 80025BF4 000C2C03 */ sra $a1, $t4, 0x10 +/* 0267F8 80025BF8 3C098012 */ lui $t1, %hi(D_8011D49E) # $t1, 0x8012 +/* 0267FC 80025BFC 2529D49E */ addiu $t1, %lo(D_8011D49E) # addiu $t1, $t1, -0x2b62 +/* 026800 80025C00 3C0E8012 */ lui $t6, %hi(D_8011D4BA) # $t6, 0x8012 +/* 026804 80025C04 85CED4BA */ lh $t6, %lo(D_8011D4BA)($t6) +/* 026808 80025C08 85270000 */ lh $a3, ($t1) +/* 02680C 80025C0C 00000000 */ nop +/* 026810 80025C10 00EE082A */ slt $at, $a3, $t6 +/* 026814 80025C14 10200107 */ beqz $at, .L80026034 +/* 026818 80025C18 8FBF004C */ lw $ra, 0x4c($sp) +/* 02681C 80025C1C 10E00104 */ beqz $a3, .L80026030 +/* 026820 80025C20 00009025 */ move $s2, $zero +/* 026824 80025C24 3C088012 */ lui $t0, %hi(D_8011D478) # $t0, 0x8012 +/* 026828 80025C28 2508D478 */ addiu $t0, %lo(D_8011D478) # addiu $t0, $t0, -0x2b88 +/* 02682C 80025C2C 24E5FFFF */ addiu $a1, $a3, -1 +.L80025C30: +/* 026830 80025C30 8D020000 */ lw $v0, ($t0) +/* 026834 80025C34 18A0001A */ blez $a1, .L80025CA0 +/* 026838 80025C38 24060001 */ li $a2, 1 +.L80025C3C: +/* 02683C 80025C3C 8D0F0000 */ lw $t7, ($t0) +/* 026840 80025C40 0012C0C0 */ sll $t8, $s2, 3 +/* 026844 80025C44 01F82021 */ addu $a0, $t7, $t8 +/* 026848 80025C48 848A0008 */ lh $t2, 8($a0) +/* 02684C 80025C4C 84990000 */ lh $t9, ($a0) +/* 026850 80025C50 26520001 */ addiu $s2, $s2, 1 +/* 026854 80025C54 0159082A */ slt $at, $t2, $t9 +/* 026858 80025C58 1020000C */ beqz $at, .L80025C8C +/* 02685C 80025C5C 00126C00 */ sll $t5, $s2, 0x10 +/* 026860 80025C60 8C430000 */ lw $v1, ($v0) +/* 026864 80025C64 8C4B0008 */ lw $t3, 8($v0) +/* 026868 80025C68 AC430008 */ sw $v1, 8($v0) +/* 02686C 80025C6C 8C430004 */ lw $v1, 4($v0) +/* 026870 80025C70 8C4C000C */ lw $t4, 0xc($v0) +/* 026874 80025C74 AC4B0000 */ sw $t3, ($v0) +/* 026878 80025C78 AC43000C */ sw $v1, 0xc($v0) +/* 02687C 80025C7C AC4C0004 */ sw $t4, 4($v0) +/* 026880 80025C80 85270000 */ lh $a3, ($t1) +/* 026884 80025C84 00003025 */ move $a2, $zero +/* 026888 80025C88 24E5FFFF */ addiu $a1, $a3, -1 +.L80025C8C: +/* 02688C 80025C8C 000D9403 */ sra $s2, $t5, 0x10 +/* 026890 80025C90 0245082A */ slt $at, $s2, $a1 +/* 026894 80025C94 1420FFE9 */ bnez $at, .L80025C3C +/* 026898 80025C98 24420008 */ addiu $v0, $v0, 8 +/* 02689C 80025C9C 00009025 */ move $s2, $zero +.L80025CA0: +/* 0268A0 80025CA0 10C0FFE3 */ beqz $a2, .L80025C30 +/* 0268A4 80025CA4 00000000 */ nop +/* 0268A8 80025CA8 18E00022 */ blez $a3, .L80025D34 +/* 0268AC 80025CAC 00008025 */ move $s0, $zero +/* 0268B0 80025CB0 3C058012 */ lui $a1, %hi(D_8011D47C) # $a1, 0x8012 +/* 0268B4 80025CB4 24A5D47C */ addiu $a1, %lo(D_8011D47C) # addiu $a1, $a1, -0x2b84 +/* 0268B8 80025CB8 2406FFFF */ li $a2, -1 +.L80025CBC: +/* 0268BC 80025CBC 8D0F0000 */ lw $t7, ($t0) +/* 0268C0 80025CC0 0012C0C0 */ sll $t8, $s2, 3 +/* 0268C4 80025CC4 01F82021 */ addu $a0, $t7, $t8 +/* 0268C8 80025CC8 808A0007 */ lb $t2, 7($a0) +/* 0268CC 80025CCC 8CAC0000 */ lw $t4, ($a1) +/* 0268D0 80025CD0 000ACC40 */ sll $t9, $t2, 0x11 +/* 0268D4 80025CD4 00195C03 */ sra $t3, $t9, 0x10 +/* 0268D8 80025CD8 016C1021 */ addu $v0, $t3, $t4 +/* 0268DC 80025CDC 804D0000 */ lb $t5, ($v0) +/* 0268E0 80025CE0 00000000 */ nop +/* 0268E4 80025CE4 14CD000A */ bne $a2, $t5, .L80025D10 +/* 0268E8 80025CE8 00000000 */ nop +/* 0268EC 80025CEC 808E0006 */ lb $t6, 6($a0) +/* 0268F0 80025CF0 00000000 */ nop +/* 0268F4 80025CF4 35CF0002 */ ori $t7, $t6, 2 +/* 0268F8 80025CF8 A08F0006 */ sb $t7, 6($a0) +/* 0268FC 80025CFC 8CB80000 */ lw $t8, ($a1) +/* 026900 80025D00 00000000 */ nop +/* 026904 80025D04 030B5021 */ addu $t2, $t8, $t3 +/* 026908 80025D08 10000002 */ b .L80025D14 +/* 02690C 80025D0C A1520000 */ sb $s2, ($t2) +.L80025D10: +/* 026910 80025D10 A0520001 */ sb $s2, 1($v0) +.L80025D14: +/* 026914 80025D14 26520001 */ addiu $s2, $s2, 1 +/* 026918 80025D18 85270000 */ lh $a3, ($t1) +/* 02691C 80025D1C 0012CC00 */ sll $t9, $s2, 0x10 +/* 026920 80025D20 00199403 */ sra $s2, $t9, 0x10 +/* 026924 80025D24 0247082A */ slt $at, $s2, $a3 +/* 026928 80025D28 1420FFE4 */ bnez $at, .L80025CBC +/* 02692C 80025D2C 00000000 */ nop +/* 026930 80025D30 00009025 */ move $s2, $zero +.L80025D34: +/* 026934 80025D34 3C048012 */ lui $a0, %hi(D_8011D4B4) # $a0, 0x8012 +/* 026938 80025D38 2484D4B4 */ addiu $a0, %lo(D_8011D4B4) # addiu $a0, $a0, -0x2b4c +/* 02693C 80025D3C 80820000 */ lb $v0, ($a0) +/* 026940 80025D40 8D0C0000 */ lw $t4, ($t0) +/* 026944 80025D44 3C188012 */ lui $t8, 0x8012 +/* 026948 80025D48 00021880 */ sll $v1, $v0, 2 +/* 02694C 80025D4C 0303C021 */ addu $t8, $t8, $v1 +/* 026950 80025D50 8F18D480 */ lw $t8, -0x2b80($t8) +/* 026954 80025D54 85930000 */ lh $s3, ($t4) +/* 026958 80025D58 3C0E8012 */ lui $t6, %hi(D_8011B0A8) # $t6, 0x8012 +/* 02695C 80025D5C 3C0A8012 */ lui $t2, 0x8012 +/* 026960 80025D60 8DCEB0A8 */ lw $t6, %lo(D_8011B0A8)($t6) +/* 026964 80025D64 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 +/* 026968 80025D68 01435021 */ addu $t2, $t2, $v1 +/* 02696C 80025D6C 8D4AD490 */ lw $t2, -0x2b70($t2) +/* 026970 80025D70 3C0F8012 */ lui $t7, %hi(D_8011B0AC) # $t7, 0x8012 +/* 026974 80025D74 AC38B0A8 */ sw $t8, %lo(D_8011B0A8)($at) +/* 026978 80025D78 8DEFB0AC */ lw $t7, %lo(D_8011B0AC)($t7) +/* 02697C 80025D7C 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 +/* 026980 80025D80 24190001 */ li $t9, 1 +/* 026984 80025D84 03225823 */ subu $t3, $t9, $v0 +/* 026988 80025D88 0013A400 */ sll $s4, $s3, 0x10 +/* 02698C 80025D8C AC2AB0AC */ sw $t2, %lo(D_8011B0AC)($at) +/* 026990 80025D90 00146C03 */ sra $t5, $s4, 0x10 +/* 026994 80025D94 A08B0000 */ sb $t3, ($a0) +/* 026998 80025D98 3C0C8012 */ lui $t4, %hi(D_8011B0A8) # $t4, 0x8012 +/* 02699C 80025D9C 8D8CB0A8 */ lw $t4, %lo(D_8011B0A8)($t4) +/* 0269A0 80025DA0 01A0A025 */ move $s4, $t5 +/* 0269A4 80025DA4 3C018012 */ lui $at, %hi(D_8011D488) # $at, 0x8012 +/* 0269A8 80025DA8 3C0D8012 */ lui $t5, %hi(D_8011B0AC) # $t5, 0x8012 +/* 0269AC 80025DAC 8DADB0AC */ lw $t5, %lo(D_8011B0AC)($t5) +/* 0269B0 80025DB0 AC2CD488 */ sw $t4, %lo(D_8011D488)($at) +/* 0269B4 80025DB4 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012 +/* 0269B8 80025DB8 AC2DD498 */ sw $t5, %lo(D_8011D498)($at) +/* 0269BC 80025DBC 3C018012 */ lui $at, %hi(D_8011D4B6) # $at, 0x8012 +/* 0269C0 80025DC0 A420D4B6 */ sh $zero, %lo(D_8011D4B6)($at) +/* 0269C4 80025DC4 3C018012 */ lui $at, %hi(D_8011D4B8) # $at, 0x8012 +/* 0269C8 80025DC8 A420D4B8 */ sh $zero, %lo(D_8011D4B8)($at) +/* 0269CC 80025DCC AFAE00AC */ sw $t6, 0xac($sp) +/* 0269D0 80025DD0 18E0005C */ blez $a3, .L80025F44 +/* 0269D4 80025DD4 AFAF00A8 */ sw $t7, 0xa8($sp) +/* 0269D8 80025DD8 27B1007C */ addiu $s1, $sp, 0x7c +/* 0269DC 80025DDC 0247082A */ slt $at, $s2, $a3 +.L80025DE0: +/* 0269E0 80025DE0 1020003A */ beqz $at, .L80025ECC +/* 0269E4 80025DE4 0247082A */ slt $at, $s2, $a3 +/* 0269E8 80025DE8 8D050000 */ lw $a1, ($t0) +/* 0269EC 80025DEC 001270C0 */ sll $t6, $s2, 3 +/* 0269F0 80025DF0 00AE2021 */ addu $a0, $a1, $t6 +/* 0269F4 80025DF4 848F0000 */ lh $t7, ($a0) +/* 0269F8 80025DF8 00000000 */ nop +/* 0269FC 80025DFC 168F0033 */ bne $s4, $t7, .L80025ECC +/* 026A00 80025E00 0247082A */ slt $at, $s2, $a3 +.L80025E04: +/* 026A04 80025E04 80980006 */ lb $t8, 6($a0) +/* 026A08 80025E08 02305821 */ addu $t3, $s1, $s0 +/* 026A0C 80025E0C 330A0002 */ andi $t2, $t8, 2 +/* 026A10 80025E10 11400007 */ beqz $t2, .L80025E30 +/* 026A14 80025E14 26520001 */ addiu $s2, $s2, 1 +/* 026A18 80025E18 80990007 */ lb $t9, 7($a0) +/* 026A1C 80025E1C 26100001 */ addiu $s0, $s0, 1 +/* 026A20 80025E20 00106400 */ sll $t4, $s0, 0x10 +/* 026A24 80025E24 000C8403 */ sra $s0, $t4, 0x10 +/* 026A28 80025E28 1000001C */ b .L80025E9C +/* 026A2C 80025E2C A1790000 */ sb $t9, ($t3) +.L80025E30: +/* 026A30 80025E30 1A00001A */ blez $s0, .L80025E9C +/* 026A34 80025E34 00001825 */ move $v1, $zero +/* 026A38 80025E38 02237021 */ addu $t6, $s1, $v1 +.L80025E3C: +/* 026A3C 80025E3C 81CF0000 */ lb $t7, ($t6) +/* 026A40 80025E40 80980007 */ lb $t8, 7($a0) +/* 026A44 80025E44 00000000 */ nop +/* 026A48 80025E48 15F8000E */ bne $t7, $t8, .L80025E84 +/* 026A4C 80025E4C 00000000 */ nop +/* 026A50 80025E50 2610FFFF */ addiu $s0, $s0, -1 +/* 026A54 80025E54 00105400 */ sll $t2, $s0, 0x10 +/* 026A58 80025E58 000A8403 */ sra $s0, $t2, 0x10 +/* 026A5C 80025E5C 0070082A */ slt $at, $v1, $s0 +/* 026A60 80025E60 10200008 */ beqz $at, .L80025E84 +.L80025E64: +/* 026A64 80025E64 02231021 */ addu $v0, $s1, $v1 +/* 026A68 80025E68 24630001 */ addiu $v1, $v1, 1 +/* 026A6C 80025E6C 00036400 */ sll $t4, $v1, 0x10 +/* 026A70 80025E70 804B0001 */ lb $t3, 1($v0) +/* 026A74 80025E74 000C1C03 */ sra $v1, $t4, 0x10 +/* 026A78 80025E78 0070082A */ slt $at, $v1, $s0 +/* 026A7C 80025E7C 1420FFF9 */ bnez $at, .L80025E64 +/* 026A80 80025E80 A04B0000 */ sb $t3, ($v0) +.L80025E84: +/* 026A84 80025E84 24630001 */ addiu $v1, $v1, 1 +/* 026A88 80025E88 00037400 */ sll $t6, $v1, 0x10 +/* 026A8C 80025E8C 000E1C03 */ sra $v1, $t6, 0x10 +/* 026A90 80025E90 0070082A */ slt $at, $v1, $s0 +/* 026A94 80025E94 1420FFE9 */ bnez $at, .L80025E3C +/* 026A98 80025E98 02237021 */ addu $t6, $s1, $v1 +.L80025E9C: +/* 026A9C 80025E9C 0012C400 */ sll $t8, $s2, 0x10 +/* 026AA0 80025EA0 00185403 */ sra $t2, $t8, 0x10 +/* 026AA4 80025EA4 0147082A */ slt $at, $t2, $a3 +/* 026AA8 80025EA8 10200007 */ beqz $at, .L80025EC8 +/* 026AAC 80025EAC 01409025 */ move $s2, $t2 +/* 026AB0 80025EB0 000AC8C0 */ sll $t9, $t2, 3 +/* 026AB4 80025EB4 00B92021 */ addu $a0, $a1, $t9 +/* 026AB8 80025EB8 848B0000 */ lh $t3, ($a0) +/* 026ABC 80025EBC 00000000 */ nop +/* 026AC0 80025EC0 128BFFD0 */ beq $s4, $t3, .L80025E04 +/* 026AC4 80025EC4 00000000 */ nop +.L80025EC8: +/* 026AC8 80025EC8 0247082A */ slt $at, $s2, $a3 +.L80025ECC: +/* 026ACC 80025ECC 1020001B */ beqz $at, .L80025F3C +/* 026AD0 80025ED0 0247082A */ slt $at, $s2, $a3 +/* 026AD4 80025ED4 8D0C0000 */ lw $t4, ($t0) +/* 026AD8 80025ED8 001268C0 */ sll $t5, $s2, 3 +/* 026ADC 80025EDC 018D7021 */ addu $t6, $t4, $t5 +/* 026AE0 80025EE0 85D30000 */ lh $s3, ($t6) +/* 026AE4 80025EE4 00000000 */ nop +/* 026AE8 80025EE8 12930014 */ beq $s4, $s3, .L80025F3C +/* 026AEC 80025EEC 0247082A */ slt $at, $s2, $a3 +/* 026AF0 80025EF0 44938000 */ mtc1 $s3, $f16 +/* 026AF4 80025EF4 44942000 */ mtc1 $s4, $f4 +/* 026AF8 80025EF8 46808420 */ cvt.s.w $f16, $f16 +/* 026AFC 80025EFC 00102400 */ sll $a0, $s0, 0x10 +/* 026B00 80025F00 00047C03 */ sra $t7, $a0, 0x10 +/* 026B04 80025F04 46802120 */ cvt.s.w $f4, $f4 +/* 026B08 80025F08 44068000 */ mfc1 $a2, $f16 +/* 026B0C 80025F0C 01E02025 */ move $a0, $t7 +/* 026B10 80025F10 44072000 */ mfc1 $a3, $f4 +/* 026B14 80025F14 0C009B95 */ jal func_80026E54 +/* 026B18 80025F18 02202825 */ move $a1, $s1 +/* 026B1C 80025F1C 0013A400 */ sll $s4, $s3, 0x10 +/* 026B20 80025F20 3C078012 */ lui $a3, %hi(D_8011D49E) # $a3, 0x8012 +/* 026B24 80025F24 3C088012 */ lui $t0, %hi(D_8011D478) # $t0, 0x8012 +/* 026B28 80025F28 0014C403 */ sra $t8, $s4, 0x10 +/* 026B2C 80025F2C 84E7D49E */ lh $a3, %lo(D_8011D49E)($a3) +/* 026B30 80025F30 2508D478 */ addiu $t0, %lo(D_8011D478) # addiu $t0, $t0, -0x2b88 +/* 026B34 80025F34 0300A025 */ move $s4, $t8 +/* 026B38 80025F38 0247082A */ slt $at, $s2, $a3 +.L80025F3C: +/* 026B3C 80025F3C 1420FFA8 */ bnez $at, .L80025DE0 +/* 026B40 80025F40 0247082A */ slt $at, $s2, $a3 +.L80025F44: +/* 026B44 80025F44 3C068012 */ lui $a2, %hi(D_8011D4B6) # $a2, 0x8012 +/* 026B48 80025F48 84C6D4B6 */ lh $a2, %lo(D_8011D4B6)($a2) +/* 026B4C 80025F4C 3C078000 */ lui $a3, 0x8000 +/* 026B50 80025F50 10C00031 */ beqz $a2, .L80026018 +/* 026B54 80025F54 3C088012 */ lui $t0, %hi(D_8011B0A0) # $t0, 0x8012 +/* 026B58 80025F58 2508B0A0 */ addiu $t0, %lo(D_8011B0A0) # addiu $t0, $t0, -0x4f60 +/* 026B5C 80025F5C 8D020000 */ lw $v0, ($t0) +/* 026B60 80025F60 3C0C8012 */ lui $t4, %hi(D_8011D488) # $t4, 0x8012 +/* 026B64 80025F64 244A0008 */ addiu $t2, $v0, 8 +/* 026B68 80025F68 AD0A0000 */ sw $t2, ($t0) +/* 026B6C 80025F6C 8D8CD488 */ lw $t4, %lo(D_8011D488)($t4) +/* 026B70 80025F70 24D9FFFF */ addiu $t9, $a2, -1 +/* 026B74 80025F74 01876821 */ addu $t5, $t4, $a3 +/* 026B78 80025F78 31AE0006 */ andi $t6, $t5, 6 +/* 026B7C 80025F7C 001958C0 */ sll $t3, $t9, 3 +/* 026B80 80025F80 016E7825 */ or $t7, $t3, $t6 +/* 026B84 80025F84 000660C0 */ sll $t4, $a2, 3 +/* 026B88 80025F88 01866821 */ addu $t5, $t4, $a2 +/* 026B8C 80025F8C 000D5840 */ sll $t3, $t5, 1 +/* 026B90 80025F90 31F800FF */ andi $t8, $t7, 0xff +/* 026B94 80025F94 00185400 */ sll $t2, $t8, 0x10 +/* 026B98 80025F98 256E0008 */ addiu $t6, $t3, 8 +/* 026B9C 80025F9C 3C010400 */ lui $at, 0x400 +/* 026BA0 80025FA0 0141C825 */ or $t9, $t2, $at +/* 026BA4 80025FA4 31CFFFFF */ andi $t7, $t6, 0xffff +/* 026BA8 80025FA8 032FC025 */ or $t8, $t9, $t7 +/* 026BAC 80025FAC 3C0A8012 */ lui $t2, %hi(D_8011D488) # $t2, 0x8012 +/* 026BB0 80025FB0 AC580000 */ sw $t8, ($v0) +/* 026BB4 80025FB4 8D4AD488 */ lw $t2, %lo(D_8011D488)($t2) +/* 026BB8 80025FB8 3C058012 */ lui $a1, %hi(D_8011D4B6) # $a1, 0x8012 +/* 026BBC 80025FBC 01476021 */ addu $t4, $t2, $a3 +/* 026BC0 80025FC0 AC4C0004 */ sw $t4, 4($v0) +/* 026BC4 80025FC4 8D020000 */ lw $v0, ($t0) +/* 026BC8 80025FC8 3C010500 */ lui $at, 0x500 +/* 026BCC 80025FCC 244D0008 */ addiu $t5, $v0, 8 +/* 026BD0 80025FD0 AD0D0000 */ sw $t5, ($t0) +/* 026BD4 80025FD4 84A5D4B6 */ lh $a1, %lo(D_8011D4B6)($a1) +/* 026BD8 80025FD8 00000000 */ nop +/* 026BDC 80025FDC 00055843 */ sra $t3, $a1, 1 +/* 026BE0 80025FE0 256EFFFF */ addiu $t6, $t3, -1 +/* 026BE4 80025FE4 000EC900 */ sll $t9, $t6, 4 +/* 026BE8 80025FE8 332F00FF */ andi $t7, $t9, 0xff +/* 026BEC 80025FEC 000FC400 */ sll $t8, $t7, 0x10 +/* 026BF0 80025FF0 000B6100 */ sll $t4, $t3, 4 +/* 026BF4 80025FF4 318DFFFF */ andi $t5, $t4, 0xffff +/* 026BF8 80025FF8 03015025 */ or $t2, $t8, $at +/* 026BFC 80025FFC 014D5825 */ or $t3, $t2, $t5 +/* 026C00 80026000 3C0E8012 */ lui $t6, %hi(D_8011D498) # $t6, 0x8012 +/* 026C04 80026004 AC4B0000 */ sw $t3, ($v0) +/* 026C08 80026008 8DCED498 */ lw $t6, %lo(D_8011D498)($t6) +/* 026C0C 8002600C 00000000 */ nop +/* 026C10 80026010 01C7C821 */ addu $t9, $t6, $a3 +/* 026C14 80026014 AC590004 */ sw $t9, 4($v0) +.L80026018: +/* 026C18 80026018 8FAF00AC */ lw $t7, 0xac($sp) +/* 026C1C 8002601C 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 +/* 026C20 80026020 8FB800A8 */ lw $t8, 0xa8($sp) +/* 026C24 80026024 AC2FB0A8 */ sw $t7, %lo(D_8011B0A8)($at) +/* 026C28 80026028 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 +/* 026C2C 8002602C AC38B0AC */ sw $t8, %lo(D_8011B0AC)($at) +.L80026030: +/* 026C30 80026030 8FBF004C */ lw $ra, 0x4c($sp) +.L80026034: +/* 026C34 80026034 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 026C38 80026038 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 026C3C 8002603C C7B70020 */ lwc1 $f23, 0x20($sp) +/* 026C40 80026040 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 026C44 80026044 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 026C48 80026048 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 026C4C 8002604C C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 026C50 80026050 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 026C54 80026054 8FB00038 */ lw $s0, 0x38($sp) +/* 026C58 80026058 8FB1003C */ lw $s1, 0x3c($sp) +/* 026C5C 8002605C 8FB20040 */ lw $s2, 0x40($sp) +/* 026C60 80026060 8FB30044 */ lw $s3, 0x44($sp) +/* 026C64 80026064 8FB40048 */ lw $s4, 0x48($sp) +/* 026C68 80026068 03E00008 */ jr $ra +/* 026C6C 8002606C 27BD00C0 */ addiu $sp, $sp, 0xc0 + diff --git a/asm/non_matchings/unknown_0255E0/func_80026070.s b/asm/non_matchings/unknown_0255E0/func_80026070.s new file mode 100644 index 00000000..a0c6a027 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80026070.s @@ -0,0 +1,251 @@ +glabel func_80026070 +/* 026C70 80026070 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 026C74 80026074 AFBF001C */ sw $ra, 0x1c($sp) +/* 026C78 80026078 E7B50010 */ swc1 $f21, 0x10($sp) +/* 026C7C 8002607C E7B40014 */ swc1 $f20, 0x14($sp) +/* 026C80 80026080 848E0000 */ lh $t6, ($a0) +/* 026C84 80026084 44857000 */ mtc1 $a1, $f14 +/* 026C88 80026088 448E2000 */ mtc1 $t6, $f4 +/* 026C8C 8002608C 44866000 */ mtc1 $a2, $f12 +/* 026C90 80026090 468021A0 */ cvt.s.w $f6, $f4 +/* 026C94 80026094 4487A000 */ mtc1 $a3, $f20 +/* 026C98 80026098 44801800 */ mtc1 $zero, $f3 +/* 026C9C 8002609C E7A60080 */ swc1 $f6, 0x80($sp) +/* 026CA0 800260A0 848F0004 */ lh $t7, 4($a0) +/* 026CA4 800260A4 44801000 */ mtc1 $zero, $f2 +/* 026CA8 800260A8 448F4000 */ mtc1 $t7, $f8 +/* 026CAC 800260AC 00003025 */ move $a2, $zero +/* 026CB0 800260B0 468042A0 */ cvt.s.w $f10, $f8 +/* 026CB4 800260B4 00002825 */ move $a1, $zero +/* 026CB8 800260B8 27AC0040 */ addiu $t4, $sp, 0x40 +/* 026CBC 800260BC E7AA0070 */ swc1 $f10, 0x70($sp) +/* 026CC0 800260C0 84980006 */ lh $t8, 6($a0) +/* 026CC4 800260C4 27AB0080 */ addiu $t3, $sp, 0x80 +/* 026CC8 800260C8 44982000 */ mtc1 $t8, $f4 +/* 026CCC 800260CC 27AA0070 */ addiu $t2, $sp, 0x70 +/* 026CD0 800260D0 468021A0 */ cvt.s.w $f6, $f4 +/* 026CD4 800260D4 27A90060 */ addiu $t1, $sp, 0x60 +/* 026CD8 800260D8 E7A60084 */ swc1 $f6, 0x84($sp) +/* 026CDC 800260DC 84990004 */ lh $t9, 4($a0) +/* 026CE0 800260E0 00000000 */ nop +/* 026CE4 800260E4 44994000 */ mtc1 $t9, $f8 +/* 026CE8 800260E8 00000000 */ nop +/* 026CEC 800260EC 468042A0 */ cvt.s.w $f10, $f8 +/* 026CF0 800260F0 E7AA0074 */ swc1 $f10, 0x74($sp) +/* 026CF4 800260F4 848E0006 */ lh $t6, 6($a0) +/* 026CF8 800260F8 00000000 */ nop +/* 026CFC 800260FC 448E2000 */ mtc1 $t6, $f4 +/* 026D00 80026100 00000000 */ nop +/* 026D04 80026104 468021A0 */ cvt.s.w $f6, $f4 +/* 026D08 80026108 E7A60088 */ swc1 $f6, 0x88($sp) +/* 026D0C 8002610C 848F000A */ lh $t7, 0xa($a0) +/* 026D10 80026110 00000000 */ nop +/* 026D14 80026114 448F4000 */ mtc1 $t7, $f8 +/* 026D18 80026118 00000000 */ nop +/* 026D1C 8002611C 468042A0 */ cvt.s.w $f10, $f8 +/* 026D20 80026120 E7AA0078 */ swc1 $f10, 0x78($sp) +/* 026D24 80026124 84980000 */ lh $t8, ($a0) +/* 026D28 80026128 00000000 */ nop +/* 026D2C 8002612C 44982000 */ mtc1 $t8, $f4 +/* 026D30 80026130 00000000 */ nop +/* 026D34 80026134 468021A0 */ cvt.s.w $f6, $f4 +/* 026D38 80026138 E7A6008C */ swc1 $f6, 0x8c($sp) +/* 026D3C 8002613C 8499000A */ lh $t9, 0xa($a0) +/* 026D40 80026140 00000000 */ nop +/* 026D44 80026144 44994000 */ mtc1 $t9, $f8 +/* 026D48 80026148 00000000 */ nop +/* 026D4C 8002614C 468042A0 */ cvt.s.w $f10, $f8 +/* 026D50 80026150 E7AA007C */ swc1 $f10, 0x7c($sp) +.L80026154: +/* 026D54 80026154 00051080 */ sll $v0, $a1, 2 +/* 026D58 80026158 01427021 */ addu $t6, $t2, $v0 +/* 026D5C 8002615C C5C40000 */ lwc1 $f4, ($t6) +/* 026D60 80026160 01627821 */ addu $t7, $t3, $v0 +/* 026D64 80026164 460C2182 */ mul.s $f6, $f4, $f12 +/* 026D68 80026168 C5E80000 */ lwc1 $f8, ($t7) +/* 026D6C 8002616C 0122C021 */ addu $t8, $t1, $v0 +/* 026D70 80026170 0005C840 */ sll $t9, $a1, 1 +/* 026D74 80026174 46087282 */ mul.s $f10, $f14, $f8 +/* 026D78 80026178 24A50001 */ addiu $a1, $a1, 1 +/* 026D7C 8002617C 01991821 */ addu $v1, $t4, $t9 +/* 026D80 80026180 00007025 */ move $t6, $zero +/* 026D84 80026184 460A3100 */ add.s $f4, $f6, $f10 +/* 026D88 80026188 46142000 */ add.s $f0, $f4, $f20 +/* 026D8C 8002618C 46000221 */ cvt.d.s $f8, $f0 +/* 026D90 80026190 4622403E */ c.le.d $f8, $f2 +/* 026D94 80026194 E7000000 */ swc1 $f0, ($t8) +/* 026D98 80026198 45000002 */ bc1f .L800261A4 +/* 026D9C 8002619C 00000000 */ nop +/* 026DA0 800261A0 240E0001 */ li $t6, 1 +.L800261A4: +/* 026DA4 800261A4 A46E0000 */ sh $t6, ($v1) +/* 026DA8 800261A8 846F0000 */ lh $t7, ($v1) +/* 026DAC 800261AC 00057400 */ sll $t6, $a1, 0x10 +/* 026DB0 800261B0 00CF3021 */ addu $a2, $a2, $t7 +/* 026DB4 800261B4 000E2C03 */ sra $a1, $t6, 0x10 +/* 026DB8 800261B8 0006C400 */ sll $t8, $a2, 0x10 +/* 026DBC 800261BC 28A10004 */ slti $at, $a1, 4 +/* 026DC0 800261C0 0018CC03 */ sra $t9, $t8, 0x10 +/* 026DC4 800261C4 1420FFE3 */ bnez $at, .L80026154 +/* 026DC8 800261C8 03203025 */ move $a2, $t9 +/* 026DCC 800261CC 13200093 */ beqz $t9, .L8002641C +/* 026DD0 800261D0 24010004 */ li $at, 4 +/* 026DD4 800261D4 13210091 */ beq $t9, $at, .L8002641C +/* 026DD8 800261D8 00004025 */ move $t0, $zero +/* 026DDC 800261DC 00002825 */ move $a1, $zero +/* 026DE0 800261E0 27BF004C */ addiu $ra, $sp, 0x4c +/* 026DE4 800261E4 27AD0054 */ addiu $t5, $sp, 0x54 +.L800261E8: +/* 026DE8 800261E8 24A60001 */ addiu $a2, $a1, 1 +/* 026DEC 800261EC 0006CC00 */ sll $t9, $a2, 0x10 +/* 026DF0 800261F0 00063C00 */ sll $a3, $a2, 0x10 +/* 026DF4 800261F4 00197403 */ sra $t6, $t9, 0x10 +/* 026DF8 800261F8 0007C403 */ sra $t8, $a3, 0x10 +/* 026DFC 800261FC 29C10004 */ slti $at, $t6, 4 +/* 026E00 80026200 14200002 */ bnez $at, .L8002620C +/* 026E04 80026204 03003825 */ move $a3, $t8 +/* 026E08 80026208 00003825 */ move $a3, $zero +.L8002620C: +/* 026E0C 8002620C 00077840 */ sll $t7, $a3, 1 +/* 026E10 80026210 018FC021 */ addu $t8, $t4, $t7 +/* 026E14 80026214 00057040 */ sll $t6, $a1, 1 +/* 026E18 80026218 87190000 */ lh $t9, ($t8) +/* 026E1C 8002621C 018E7821 */ addu $t7, $t4, $t6 +/* 026E20 80026220 85F80000 */ lh $t8, ($t7) +/* 026E24 80026224 00051080 */ sll $v0, $a1, 2 +/* 026E28 80026228 1338001D */ beq $t9, $t8, .L800262A0 +/* 026E2C 8002622C 01227821 */ addu $t7, $t1, $v0 +/* 026E30 80026230 00071880 */ sll $v1, $a3, 2 +/* 026E34 80026234 0123C821 */ addu $t9, $t1, $v1 +/* 026E38 80026238 C7260000 */ lwc1 $f6, ($t9) +/* 026E3C 8002623C C5EC0000 */ lwc1 $f12, ($t7) +/* 026E40 80026240 01637021 */ addu $t6, $t3, $v1 +/* 026E44 80026244 46066281 */ sub.s $f10, $f12, $f6 +/* 026E48 80026248 0162C021 */ addu $t8, $t3, $v0 +/* 026E4C 8002624C 460A6383 */ div.s $f14, $f12, $f10 +/* 026E50 80026250 C7020000 */ lwc1 $f2, ($t8) +/* 026E54 80026254 C5C40000 */ lwc1 $f4, ($t6) +/* 026E58 80026258 00082080 */ sll $a0, $t0, 2 +/* 026E5C 8002625C 46022201 */ sub.s $f8, $f4, $f2 +/* 026E60 80026260 01A47821 */ addu $t7, $t5, $a0 +/* 026E64 80026264 0143C021 */ addu $t8, $t2, $v1 +/* 026E68 80026268 0142C821 */ addu $t9, $t2, $v0 +/* 026E6C 8002626C 25080001 */ addiu $t0, $t0, 1 +/* 026E70 80026270 03E47021 */ addu $t6, $ra, $a0 +/* 026E74 80026274 460E4182 */ mul.s $f6, $f8, $f14 +/* 026E78 80026278 46023280 */ add.s $f10, $f6, $f2 +/* 026E7C 8002627C E5EA0000 */ swc1 $f10, ($t7) +/* 026E80 80026280 C7040000 */ lwc1 $f4, ($t8) +/* 026E84 80026284 C7200000 */ lwc1 $f0, ($t9) +/* 026E88 80026288 00087C00 */ sll $t7, $t0, 0x10 +/* 026E8C 8002628C 46002201 */ sub.s $f8, $f4, $f0 +/* 026E90 80026290 000F4403 */ sra $t0, $t7, 0x10 +/* 026E94 80026294 460E4182 */ mul.s $f6, $f8, $f14 +/* 026E98 80026298 46003280 */ add.s $f10, $f6, $f0 +/* 026E9C 8002629C E5CA0000 */ swc1 $f10, ($t6) +.L800262A0: +/* 026EA0 800262A0 00062C00 */ sll $a1, $a2, 0x10 +/* 026EA4 800262A4 0005C403 */ sra $t8, $a1, 0x10 +/* 026EA8 800262A8 2B010004 */ slti $at, $t8, 4 +/* 026EAC 800262AC 1420FFCE */ bnez $at, .L800261E8 +/* 026EB0 800262B0 03002825 */ move $a1, $t8 +/* 026EB4 800262B4 24010002 */ li $at, 2 +/* 026EB8 800262B8 15010058 */ bne $t0, $at, .L8002641C +/* 026EBC 800262BC 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 +/* 026EC0 800262C0 C420D4A4 */ lwc1 $f0, %lo(D_8011D4A4)($at) +/* 026EC4 800262C4 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 026EC8 800262C8 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 +/* 026ECC 800262CC 46002202 */ mul.s $f8, $f4, $f0 +/* 026ED0 800262D0 C422D4A0 */ lwc1 $f2, %lo(D_8011D4A0)($at) +/* 026ED4 800262D4 C7A60054 */ lwc1 $f6, 0x54($sp) +/* 026ED8 800262D8 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 +/* 026EDC 800262DC 46061282 */ mul.s $f10, $f2, $f6 +/* 026EE0 800262E0 C7A60050 */ lwc1 $f6, 0x50($sp) +/* 026EE4 800262E4 C42CD4A8 */ lwc1 $f12, %lo(D_8011D4A8)($at) +/* 026EE8 800262E8 3C01800E */ lui $at, %hi(D_800E5E6C) # $at, 0x800e +/* 026EEC 800262EC 460A4100 */ add.s $f4, $f8, $f10 +/* 026EF0 800262F0 C7AA0058 */ lwc1 $f10, 0x58($sp) +/* 026EF4 800262F4 46003202 */ mul.s $f8, $f6, $f0 +/* 026EF8 800262F8 460C2400 */ add.s $f16, $f4, $f12 +/* 026EFC 800262FC 460A1102 */ mul.s $f4, $f2, $f10 +/* 026F00 80026300 46044180 */ add.s $f6, $f8, $f4 +/* 026F04 80026304 460C3480 */ add.s $f18, $f6, $f12 +/* 026F08 80026308 4610903C */ c.lt.s $f18, $f16 +/* 026F0C 8002630C 00000000 */ nop +/* 026F10 80026310 45000004 */ bc1f .L80026324 +/* 026F14 80026314 00000000 */ nop +/* 026F18 80026318 46008386 */ mov.s $f14, $f16 +/* 026F1C 8002631C 46009406 */ mov.s $f16, $f18 +/* 026F20 80026320 46007486 */ mov.s $f18, $f14 +.L80026324: +/* 026F24 80026324 C42D5E68 */ lwc1 $f13, %lo(D_800E5E68)($at) +/* 026F28 80026328 C42C5E6C */ lwc1 $f12, %lo(D_800E5E6C)($at) +/* 026F2C 8002632C 46009021 */ cvt.d.s $f0, $f18 +/* 026F30 80026330 462C003C */ c.lt.d $f0, $f12 +/* 026F34 80026334 3C01800E */ lui $at, %hi(D_800E5E74) # $at, 0x800e +/* 026F38 80026338 45010038 */ bc1t .L8002641C +/* 026F3C 8002633C E7B20064 */ swc1 $f18, 0x64($sp) +/* 026F40 80026340 C42F5E70 */ lwc1 $f15, %lo(D_800E5E70)($at) +/* 026F44 80026344 C42E5E74 */ lwc1 $f14, %lo(D_800E5E74)($at) +/* 026F48 80026348 460080A1 */ cvt.d.s $f2, $f16 +/* 026F4C 8002634C 4622703C */ c.lt.d $f14, $f2 +/* 026F50 80026350 E7B00060 */ swc1 $f16, 0x60($sp) +/* 026F54 80026354 45010031 */ bc1t .L8002641C +/* 026F58 80026358 3C18800E */ lui $t8, %hi(D_800DC918) # $t8, 0x800e +/* 026F5C 8002635C 462C103C */ c.lt.d $f2, $f12 +/* 026F60 80026360 3C01C396 */ li $at, 0xC3960000 # -300.000000 +/* 026F64 80026364 45000004 */ bc1f .L80026378 +/* 026F68 80026368 00003025 */ move $a2, $zero +/* 026F6C 8002636C 44818000 */ mtc1 $at, $f16 +/* 026F70 80026370 00000000 */ nop +/* 026F74 80026374 E7B00060 */ swc1 $f16, 0x60($sp) +.L80026378: +/* 026F78 80026378 4620703C */ c.lt.d $f14, $f0 +/* 026F7C 8002637C 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 026F80 80026380 45000004 */ bc1f .L80026394 +/* 026F84 80026384 00000000 */ nop +/* 026F88 80026388 44819000 */ mtc1 $at, $f18 +/* 026F8C 8002638C 00000000 */ nop +/* 026F90 80026390 E7B20064 */ swc1 $f18, 0x64($sp) +.L80026394: +/* 026F94 80026394 444EF800 */ cfc1 $t6, $31 +/* 026F98 80026398 C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 026F9C 8002639C 35C10003 */ ori $at, $t6, 3 +/* 026FA0 800263A0 38210002 */ xori $at, $at, 2 +/* 026FA4 800263A4 44C1F800 */ ctc1 $at, $31 +/* 026FA8 800263A8 8F18C918 */ lw $t8, %lo(D_800DC918)($t8) +/* 026FAC 800263AC 46005224 */ cvt.w.s $f8, $f10 +/* 026FB0 800263B0 87050040 */ lh $a1, 0x40($t8) +/* 026FB4 800263B4 44044000 */ mfc1 $a0, $f8 +/* 026FB8 800263B8 44CEF800 */ ctc1 $t6, $31 +/* 026FBC 800263BC 24A5FF3D */ addiu $a1, $a1, -0xc3 +/* 026FC0 800263C0 00057400 */ sll $t6, $a1, 0x10 +/* 026FC4 800263C4 00047C00 */ sll $t7, $a0, 0x10 +/* 026FC8 800263C8 000F2403 */ sra $a0, $t7, 0x10 +/* 026FCC 800263CC 0C009B05 */ jal func_80026C14 +/* 026FD0 800263D0 000E2C03 */ sra $a1, $t6, 0x10 +/* 026FD4 800263D4 4459F800 */ cfc1 $t9, $31 +/* 026FD8 800263D8 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 026FDC 800263DC 37210003 */ ori $at, $t9, 3 +/* 026FE0 800263E0 38210002 */ xori $at, $at, 2 +/* 026FE4 800263E4 44C1F800 */ ctc1 $at, $31 +/* 026FE8 800263E8 3C0F800E */ lui $t7, %hi(D_800DC918) # $t7, 0x800e +/* 026FEC 800263EC 8DEFC918 */ lw $t7, %lo(D_800DC918)($t7) +/* 026FF0 800263F0 460021A4 */ cvt.w.s $f6, $f4 +/* 026FF4 800263F4 85E50040 */ lh $a1, 0x40($t7) +/* 026FF8 800263F8 44043000 */ mfc1 $a0, $f6 +/* 026FFC 800263FC 44D9F800 */ ctc1 $t9, $31 +/* 027000 80026400 24A5FF3D */ addiu $a1, $a1, -0xc3 +/* 027004 80026404 0005CC00 */ sll $t9, $a1, 0x10 +/* 027008 80026408 0004C400 */ sll $t8, $a0, 0x10 +/* 02700C 8002640C 00182403 */ sra $a0, $t8, 0x10 +/* 027010 80026410 00192C03 */ sra $a1, $t9, 0x10 +/* 027014 80026414 0C009B05 */ jal func_80026C14 +/* 027018 80026418 00003025 */ move $a2, $zero +.L8002641C: +/* 02701C 8002641C 8FBF001C */ lw $ra, 0x1c($sp) +/* 027020 80026420 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 027024 80026424 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 027028 80026428 03E00008 */ jr $ra +/* 02702C 8002642C 27BD0090 */ addiu $sp, $sp, 0x90 + diff --git a/asm/non_matchings/unknown_0255E0/func_80026430.s b/asm/non_matchings/unknown_0255E0/func_80026430.s new file mode 100644 index 00000000..fb4c4e40 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80026430.s @@ -0,0 +1,532 @@ +glabel func_80026430 +/* 027030 80026430 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* 027034 80026434 3C0E8012 */ lui $t6, %hi(D_8011D49E) # $t6, 0x8012 +/* 027038 80026438 3C0F8012 */ lui $t7, %hi(D_8011D4BA) # $t7, 0x8012 +/* 02703C 8002643C 85EFD4BA */ lh $t7, %lo(D_8011D4BA)($t7) +/* 027040 80026440 85CED49E */ lh $t6, %lo(D_8011D49E)($t6) +/* 027044 80026444 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 027048 80026448 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 02704C 8002644C E7B8002C */ swc1 $f24, 0x2c($sp) +/* 027050 80026450 4486C000 */ mtc1 $a2, $f24 +/* 027054 80026454 4485D000 */ mtc1 $a1, $f26 +/* 027058 80026458 4487E000 */ mtc1 $a3, $f28 +/* 02705C 8002645C AFB60060 */ sw $s6, 0x60($sp) +/* 027060 80026460 01CF082A */ slt $at, $t6, $t7 +/* 027064 80026464 0080B025 */ move $s6, $a0 +/* 027068 80026468 AFBF006C */ sw $ra, 0x6c($sp) +/* 02706C 8002646C AFBE0068 */ sw $fp, 0x68($sp) +/* 027070 80026470 AFB70064 */ sw $s7, 0x64($sp) +/* 027074 80026474 AFB5005C */ sw $s5, 0x5c($sp) +/* 027078 80026478 AFB40058 */ sw $s4, 0x58($sp) +/* 02707C 8002647C AFB30054 */ sw $s3, 0x54($sp) +/* 027080 80026480 AFB20050 */ sw $s2, 0x50($sp) +/* 027084 80026484 AFB1004C */ sw $s1, 0x4c($sp) +/* 027088 80026488 AFB00048 */ sw $s0, 0x48($sp) +/* 02708C 8002648C E7BF0040 */ swc1 $f31, 0x40($sp) +/* 027090 80026490 E7BE0044 */ swc1 $f30, 0x44($sp) +/* 027094 80026494 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 027098 80026498 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 02709C 8002649C E7B90028 */ swc1 $f25, 0x28($sp) +/* 0270A0 800264A0 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0270A4 800264A4 E7B60024 */ swc1 $f22, 0x24($sp) +/* 0270A8 800264A8 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0270AC 800264AC 102001C1 */ beqz $at, .L80026BB4 +/* 0270B0 800264B0 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0270B4 800264B4 A7A0010E */ sh $zero, 0x10e($sp) +/* 0270B8 800264B8 84840020 */ lh $a0, 0x20($a0) +/* 0270BC 800264BC 3C01800E */ lui $at, %hi(D_800E5E7C) # $at, 0x800e +/* 0270C0 800264C0 188001BC */ blez $a0, .L80026BB4 +/* 0270C4 800264C4 27BE00B8 */ addiu $fp, $sp, 0xb8 +/* 0270C8 800264C8 C43F5E78 */ lwc1 $f31, %lo(D_800E5E78)($at) +/* 0270CC 800264CC C43E5E7C */ lwc1 $f30, %lo(D_800E5E7C)($at) +/* 0270D0 800264D0 4480A800 */ mtc1 $zero, $f21 +/* 0270D4 800264D4 4480A000 */ mtc1 $zero, $f20 +/* 0270D8 800264D8 27B500D0 */ addiu $s5, $sp, 0xd0 +/* 0270DC 800264DC 27B400DC */ addiu $s4, $sp, 0xdc +/* 0270E0 800264E0 27B300E8 */ addiu $s3, $sp, 0xe8 +/* 0270E4 800264E4 27B200F8 */ addiu $s2, $sp, 0xf8 +/* 0270E8 800264E8 27B100C4 */ addiu $s1, $sp, 0xc4 +/* 0270EC 800264EC 241F0001 */ li $ra, 1 +/* 0270F0 800264F0 27AD00A8 */ addiu $t5, $sp, 0xa8 +/* 0270F4 800264F4 27AC00A0 */ addiu $t4, $sp, 0xa0 +/* 0270F8 800264F8 27AB00B0 */ addiu $t3, $sp, 0xb0 +/* 0270FC 800264FC 240A000A */ li $t2, 10 +.L80026500: +/* 027100 80026500 87B9010E */ lh $t9, 0x10e($sp) +/* 027104 80026504 8ED8000C */ lw $t8, 0xc($s6) +/* 027108 80026508 00197080 */ sll $t6, $t9, 2 +/* 02710C 8002650C 01D97023 */ subu $t6, $t6, $t9 +/* 027110 80026510 000E7080 */ sll $t6, $t6, 2 +/* 027114 80026514 030E1021 */ addu $v0, $t8, $t6 +/* 027118 80026518 844F0010 */ lh $t7, 0x10($v0) +/* 02711C 8002651C 84430004 */ lh $v1, 4($v0) +/* 027120 80026520 84490002 */ lh $t1, 2($v0) +/* 027124 80026524 A7AF0108 */ sh $t7, 0x108($sp) +/* 027128 80026528 8C590008 */ lw $t9, 8($v0) +/* 02712C 8002652C 87AF0108 */ lh $t7, 0x108($sp) +/* 027130 80026530 33380300 */ andi $t8, $t9, 0x300 +/* 027134 80026534 13000004 */ beqz $t8, .L80026548 +/* 027138 80026538 0003BC00 */ sll $s7, $v1, 0x10 +/* 02713C 8002653C 87A30108 */ lh $v1, 0x108($sp) +/* 027140 80026540 00000000 */ nop +/* 027144 80026544 0003BC00 */ sll $s7, $v1, 0x10 +.L80026548: +/* 027148 80026548 00177403 */ sra $t6, $s7, 0x10 +/* 02714C 8002654C 006F082A */ slt $at, $v1, $t7 +/* 027150 80026550 10200190 */ beqz $at, .L80026B94 +/* 027154 80026554 01C0B825 */ move $s7, $t6 +.L80026558: +/* 027158 80026558 8ED90004 */ lw $t9, 4($s6) +/* 02715C 8002655C 0017C100 */ sll $t8, $s7, 4 +/* 027160 80026560 03387021 */ addu $t6, $t9, $t8 +/* 027164 80026564 91CF0000 */ lbu $t7, ($t6) +/* 027168 80026568 00004025 */ move $t0, $zero +/* 02716C 8002656C 31F90040 */ andi $t9, $t7, 0x40 +/* 027170 80026570 1720017F */ bnez $t9, .L80026B70 +/* 027174 80026574 00003825 */ move $a3, $zero +.L80026578: +/* 027178 80026578 8ED80004 */ lw $t8, 4($s6) +/* 02717C 8002657C 00177100 */ sll $t6, $s7, 4 +/* 027180 80026580 030E7821 */ addu $t7, $t8, $t6 +/* 027184 80026584 01E7C821 */ addu $t9, $t7, $a3 +/* 027188 80026588 93380001 */ lbu $t8, 1($t9) +/* 02718C 8002658C 8ED90000 */ lw $t9, ($s6) +/* 027190 80026590 03097021 */ addu $t6, $t8, $t1 +/* 027194 80026594 01CA0019 */ multu $t6, $t2 +/* 027198 80026598 00071080 */ sll $v0, $a3, 2 +/* 02719C 8002659C 02622021 */ addu $a0, $s3, $v0 +/* 0271A0 800265A0 02A22821 */ addu $a1, $s5, $v0 +/* 0271A4 800265A4 02473021 */ addu $a2, $s2, $a3 +/* 0271A8 800265A8 24E70001 */ addiu $a3, $a3, 1 +/* 0271AC 800265AC 00007812 */ mflo $t7 +/* 0271B0 800265B0 01F91821 */ addu $v1, $t7, $t9 +/* 0271B4 800265B4 84780000 */ lh $t8, ($v1) +/* 0271B8 800265B8 02827821 */ addu $t7, $s4, $v0 +/* 0271BC 800265BC 44982000 */ mtc1 $t8, $f4 +/* 0271C0 800265C0 0222C021 */ addu $t8, $s1, $v0 +/* 0271C4 800265C4 468021A0 */ cvt.s.w $f6, $f4 +/* 0271C8 800265C8 E4860000 */ swc1 $f6, ($a0) +/* 0271CC 800265CC 846E0002 */ lh $t6, 2($v1) +/* 0271D0 800265D0 00000000 */ nop +/* 0271D4 800265D4 448E4000 */ mtc1 $t6, $f8 +/* 0271D8 800265D8 00007025 */ move $t6, $zero +/* 0271DC 800265DC 468042A0 */ cvt.s.w $f10, $f8 +/* 0271E0 800265E0 E5EA0000 */ swc1 $f10, ($t7) +/* 0271E4 800265E4 84790004 */ lh $t9, 4($v1) +/* 0271E8 800265E8 00000000 */ nop +/* 0271EC 800265EC 44992000 */ mtc1 $t9, $f4 +/* 0271F0 800265F0 00000000 */ nop +/* 0271F4 800265F4 468021A0 */ cvt.s.w $f6, $f4 +/* 0271F8 800265F8 C4840000 */ lwc1 $f4, ($a0) +/* 0271FC 800265FC E4A60000 */ swc1 $f6, ($a1) +/* 027200 80026600 C4A80000 */ lwc1 $f8, ($a1) +/* 027204 80026604 00000000 */ nop +/* 027208 80026608 46184282 */ mul.s $f10, $f8, $f24 +/* 02720C 8002660C 00000000 */ nop +/* 027210 80026610 4604D182 */ mul.s $f6, $f26, $f4 +/* 027214 80026614 46065200 */ add.s $f8, $f10, $f6 +/* 027218 80026618 461C4000 */ add.s $f0, $f8, $f28 +/* 02721C 8002661C 46000121 */ cvt.d.s $f4, $f0 +/* 027220 80026620 4634203E */ c.le.d $f4, $f20 +/* 027224 80026624 E7000000 */ swc1 $f0, ($t8) +/* 027228 80026628 45000002 */ bc1f .L80026634 +/* 02722C 8002662C 00000000 */ nop +/* 027230 80026630 240E0001 */ li $t6, 1 +.L80026634: +/* 027234 80026634 A0CE0000 */ sb $t6, ($a2) +/* 027238 80026638 80CF0000 */ lb $t7, ($a2) +/* 02723C 8002663C 0000C825 */ move $t9, $zero +/* 027240 80026640 448F5000 */ mtc1 $t7, $f10 +/* 027244 80026644 00077C00 */ sll $t7, $a3, 0x10 +/* 027248 80026648 468051A1 */ cvt.d.w $f6, $f10 +/* 02724C 8002664C 000F3C03 */ sra $a3, $t7, 0x10 +/* 027250 80026650 28E10003 */ slti $at, $a3, 3 +/* 027254 80026654 4634303E */ c.le.d $f6, $f20 +/* 027258 80026658 00000000 */ nop +/* 02725C 8002665C 45000002 */ bc1f .L80026668 +/* 027260 80026660 00000000 */ nop +/* 027264 80026664 24190001 */ li $t9, 1 +.L80026668: +/* 027268 80026668 01194021 */ addu $t0, $t0, $t9 +/* 02726C 8002666C 0008C400 */ sll $t8, $t0, 0x10 +/* 027270 80026670 00187403 */ sra $t6, $t8, 0x10 +/* 027274 80026674 1420FFC0 */ bnez $at, .L80026578 +/* 027278 80026678 01C04025 */ move $t0, $t6 +/* 02727C 8002667C 11DF0002 */ beq $t6, $ra, .L80026688 +/* 027280 80026680 24010002 */ li $at, 2 +/* 027284 80026684 15C1013A */ bne $t6, $at, .L80026B70 +.L80026688: +/* 027288 80026688 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 +/* 02728C 8002668C C428D4A4 */ lwc1 $f8, %lo(D_8011D4A4)($at) +/* 027290 80026690 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 +/* 027294 80026694 C424D4A0 */ lwc1 $f4, %lo(D_8011D4A0)($at) +/* 027298 80026698 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 +/* 02729C 8002669C C436D4A8 */ lwc1 $f22, %lo(D_8011D4A8)($at) +/* 0272A0 800266A0 00008025 */ move $s0, $zero +/* 0272A4 800266A4 00003825 */ move $a3, $zero +/* 0272A8 800266A8 E7A80098 */ swc1 $f8, 0x98($sp) +/* 0272AC 800266AC E7A40094 */ swc1 $f4, 0x94($sp) +.L800266B0: +/* 0272B0 800266B0 24E60001 */ addiu $a2, $a3, 1 +/* 0272B4 800266B4 00067400 */ sll $t6, $a2, 0x10 +/* 0272B8 800266B8 00062C00 */ sll $a1, $a2, 0x10 +/* 0272BC 800266BC 000E7C03 */ sra $t7, $t6, 0x10 +/* 0272C0 800266C0 0005C403 */ sra $t8, $a1, 0x10 +/* 0272C4 800266C4 29E10003 */ slti $at, $t7, 3 +/* 0272C8 800266C8 14200002 */ bnez $at, .L800266D4 +/* 0272CC 800266CC 03002825 */ move $a1, $t8 +/* 0272D0 800266D0 00002825 */ move $a1, $zero +.L800266D4: +/* 0272D4 800266D4 0245C821 */ addu $t9, $s2, $a1 +/* 0272D8 800266D8 02477021 */ addu $t6, $s2, $a3 +/* 0272DC 800266DC 81CF0000 */ lb $t7, ($t6) +/* 0272E0 800266E0 83380000 */ lb $t8, ($t9) +/* 0272E4 800266E4 00071080 */ sll $v0, $a3, 2 +/* 0272E8 800266E8 130F0028 */ beq $t8, $t7, .L8002678C +/* 0272EC 800266EC 02227021 */ addu $t6, $s1, $v0 +/* 0272F0 800266F0 00051880 */ sll $v1, $a1, 2 +/* 0272F4 800266F4 0223C021 */ addu $t8, $s1, $v1 +/* 0272F8 800266F8 C70A0000 */ lwc1 $f10, ($t8) +/* 0272FC 800266FC C5D20000 */ lwc1 $f18, ($t6) +/* 027300 80026700 0263C821 */ addu $t9, $s3, $v1 +/* 027304 80026704 460A9181 */ sub.s $f6, $f18, $f10 +/* 027308 80026708 02627821 */ addu $t7, $s3, $v0 +/* 02730C 8002670C 46069403 */ div.s $f16, $f18, $f6 +/* 027310 80026710 C5E20000 */ lwc1 $f2, ($t7) +/* 027314 80026714 C7280000 */ lwc1 $f8, ($t9) +/* 027318 80026718 00102080 */ sll $a0, $s0, 2 +/* 02731C 8002671C 46024101 */ sub.s $f4, $f8, $f2 +/* 027320 80026720 01647021 */ addu $t6, $t3, $a0 +/* 027324 80026724 02837821 */ addu $t7, $s4, $v1 +/* 027328 80026728 0282C021 */ addu $t8, $s4, $v0 +/* 02732C 8002672C 03C4C821 */ addu $t9, $fp, $a0 +/* 027330 80026730 26100001 */ addiu $s0, $s0, 1 +/* 027334 80026734 46102282 */ mul.s $f10, $f4, $f16 +/* 027338 80026738 46025180 */ add.s $f6, $f10, $f2 +/* 02733C 8002673C E5C60000 */ swc1 $f6, ($t6) +/* 027340 80026740 C5E80000 */ lwc1 $f8, ($t7) +/* 027344 80026744 C70C0000 */ lwc1 $f12, ($t8) +/* 027348 80026748 01847021 */ addu $t6, $t4, $a0 +/* 02734C 8002674C 460C4101 */ sub.s $f4, $f8, $f12 +/* 027350 80026750 02A2C021 */ addu $t8, $s5, $v0 +/* 027354 80026754 46102282 */ mul.s $f10, $f4, $f16 +/* 027358 80026758 02A37821 */ addu $t7, $s5, $v1 +/* 02735C 8002675C 460C5380 */ add.s $f14, $f10, $f12 +/* 027360 80026760 E72E0000 */ swc1 $f14, ($t9) +/* 027364 80026764 E5CE0000 */ swc1 $f14, ($t6) +/* 027368 80026768 C5E60000 */ lwc1 $f6, ($t7) +/* 02736C 8002676C C7000000 */ lwc1 $f0, ($t8) +/* 027370 80026770 01A4C821 */ addu $t9, $t5, $a0 +/* 027374 80026774 46003201 */ sub.s $f8, $f6, $f0 +/* 027378 80026778 00107400 */ sll $t6, $s0, 0x10 +/* 02737C 8002677C 46104102 */ mul.s $f4, $f8, $f16 +/* 027380 80026780 000E8403 */ sra $s0, $t6, 0x10 +/* 027384 80026784 46002280 */ add.s $f10, $f4, $f0 +/* 027388 80026788 E72A0000 */ swc1 $f10, ($t9) +.L8002678C: +/* 02738C 8002678C 00063C00 */ sll $a3, $a2, 0x10 +/* 027390 80026790 00077C03 */ sra $t7, $a3, 0x10 +/* 027394 80026794 29E10003 */ slti $at, $t7, 3 +/* 027398 80026798 1420FFC5 */ bnez $at, .L800266B0 +/* 02739C 8002679C 01E03825 */ move $a3, $t7 +/* 0273A0 800267A0 C7AE0098 */ lwc1 $f14, 0x98($sp) +/* 0273A4 800267A4 C7A600A8 */ lwc1 $f6, 0xa8($sp) +/* 0273A8 800267A8 C7A00094 */ lwc1 $f0, 0x94($sp) +/* 0273AC 800267AC 460E3202 */ mul.s $f8, $f6, $f14 +/* 0273B0 800267B0 C7A400B0 */ lwc1 $f4, 0xb0($sp) +/* 0273B4 800267B4 3C01800E */ lui $at, %hi(D_800E5E84) # $at, 0x800e +/* 0273B8 800267B8 00008025 */ move $s0, $zero +/* 0273BC 800267BC 46040282 */ mul.s $f10, $f0, $f4 +/* 0273C0 800267C0 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 0273C4 800267C4 00001025 */ move $v0, $zero +/* 0273C8 800267C8 00001825 */ move $v1, $zero +/* 0273CC 800267CC 460A4180 */ add.s $f6, $f8, $f10 +/* 0273D0 800267D0 C7AA00B4 */ lwc1 $f10, 0xb4($sp) +/* 0273D4 800267D4 460E2202 */ mul.s $f8, $f4, $f14 +/* 0273D8 800267D8 46163080 */ add.s $f2, $f6, $f22 +/* 0273DC 800267DC C4295E80 */ lwc1 $f9, %lo(D_800E5E80)($at) +/* 0273E0 800267E0 E7A200C4 */ swc1 $f2, 0xc4($sp) +/* 0273E4 800267E4 460A0182 */ mul.s $f6, $f0, $f10 +/* 0273E8 800267E8 C7AA00C4 */ lwc1 $f10, 0xc4($sp) +/* 0273EC 800267EC 46064100 */ add.s $f4, $f8, $f6 +/* 0273F0 800267F0 C4285E84 */ lwc1 $f8, %lo(D_800E5E84)($at) +/* 0273F4 800267F4 46005021 */ cvt.d.s $f0, $f10 +/* 0273F8 800267F8 4628003C */ c.lt.d $f0, $f8 +/* 0273FC 800267FC 46162300 */ add.s $f12, $f4, $f22 +/* 027400 80026800 45000004 */ bc1f .L80026814 +/* 027404 80026804 E7AC00C8 */ swc1 $f12, 0xc8($sp) +/* 027408 80026808 001F1600 */ sll $v0, $ra, 0x18 +/* 02740C 8002680C 0002CE03 */ sra $t9, $v0, 0x18 +/* 027410 80026810 03201025 */ move $v0, $t9 +.L80026814: +/* 027414 80026814 4620F03C */ c.lt.d $f30, $f0 +/* 027418 80026818 C7A600C8 */ lwc1 $f6, 0xc8($sp) +/* 02741C 8002681C 45000004 */ bc1f .L80026830 +/* 027420 80026820 3C01800E */ lui $at, %hi(D_800E5E8C) # $at, 0x800e +/* 027424 80026824 344E0002 */ ori $t6, $v0, 2 +/* 027428 80026828 000EC600 */ sll $t8, $t6, 0x18 +/* 02742C 8002682C 00181603 */ sra $v0, $t8, 0x18 +.L80026830: +/* 027430 80026830 C4255E88 */ lwc1 $f5, %lo(D_800E5E88)($at) +/* 027434 80026834 C4245E8C */ lwc1 $f4, %lo(D_800E5E8C)($at) +/* 027438 80026838 46003021 */ cvt.d.s $f0, $f6 +/* 02743C 8002683C 4624003C */ c.lt.d $f0, $f4 +/* 027440 80026840 00000000 */ nop +/* 027444 80026844 45000004 */ bc1f .L80026858 +/* 027448 80026848 00000000 */ nop +/* 02744C 8002684C 001F1E00 */ sll $v1, $ra, 0x18 +/* 027450 80026850 0003CE03 */ sra $t9, $v1, 0x18 +/* 027454 80026854 03201825 */ move $v1, $t9 +.L80026858: +/* 027458 80026858 4620F03C */ c.lt.d $f30, $f0 +/* 02745C 8002685C 346E0002 */ ori $t6, $v1, 2 +/* 027460 80026860 45000002 */ bc1f .L8002686C +/* 027464 80026864 000EC600 */ sll $t8, $t6, 0x18 +/* 027468 80026868 00181E03 */ sra $v1, $t8, 0x18 +.L8002686C: +/* 02746C 8002686C 0062C825 */ or $t9, $v1, $v0 +/* 027470 80026870 17200007 */ bnez $t9, .L80026890 +/* 027474 80026874 00000000 */ nop +/* 027478 80026878 001F8400 */ sll $s0, $ra, 0x10 +/* 02747C 8002687C 00107403 */ sra $t6, $s0, 0x10 +/* 027480 80026880 01C08025 */ move $s0, $t6 +/* 027484 80026884 A3A300F9 */ sb $v1, 0xf9($sp) +/* 027488 80026888 10000050 */ b .L800269CC +/* 02748C 8002688C A3A200F8 */ sb $v0, 0xf8($sp) +.L80026890: +/* 027490 80026890 A3A200F8 */ sb $v0, 0xf8($sp) +/* 027494 80026894 1062004D */ beq $v1, $v0, .L800269CC +/* 027498 80026898 A3A300F9 */ sb $v1, 0xf9($sp) +/* 02749C 8002689C C7AA00C8 */ lwc1 $f10, 0xc8($sp) +/* 0274A0 800268A0 C7A800C4 */ lwc1 $f8, 0xc4($sp) +/* 0274A4 800268A4 00003825 */ move $a3, $zero +/* 0274A8 800268A8 4608503C */ c.lt.s $f10, $f8 +/* 0274AC 800268AC 001F8400 */ sll $s0, $ra, 0x10 +/* 0274B0 800268B0 45000005 */ bc1f .L800268C8 +/* 0274B4 800268B4 0247C821 */ addu $t9, $s2, $a3 +/* 0274B8 800268B8 001F3C00 */ sll $a3, $ra, 0x10 +/* 0274BC 800268BC 00077C03 */ sra $t7, $a3, 0x10 +/* 0274C0 800268C0 01E03825 */ move $a3, $t7 +/* 0274C4 800268C4 0247C821 */ addu $t9, $s2, $a3 +.L800268C8: +/* 0274C8 800268C8 832E0000 */ lb $t6, ($t9) +/* 0274CC 800268CC 00071080 */ sll $v0, $a3, 2 +/* 0274D0 800268D0 17EE001D */ bne $ra, $t6, .L80026948 +/* 0274D4 800268D4 03E73023 */ subu $a2, $ra, $a3 +/* 0274D8 800268D8 03E72823 */ subu $a1, $ra, $a3 +/* 0274DC 800268DC 0005C400 */ sll $t8, $a1, 0x10 +/* 0274E0 800268E0 02221821 */ addu $v1, $s1, $v0 +/* 0274E4 800268E4 C4720000 */ lwc1 $f18, ($v1) +/* 0274E8 800268E8 00187C03 */ sra $t7, $t8, 0x10 +/* 0274EC 800268EC 000FC880 */ sll $t9, $t7, 2 +/* 0274F0 800268F0 02397021 */ addu $t6, $s1, $t9 +/* 0274F4 800268F4 46009187 */ neg.s $f6, $f18 +/* 0274F8 800268F8 C5C80000 */ lwc1 $f8, ($t6) +/* 0274FC 800268FC 46003121 */ cvt.d.s $f4, $f6 +/* 027500 80026900 463E2281 */ sub.d $f10, $f4, $f30 +/* 027504 80026904 03D9C021 */ addu $t8, $fp, $t9 +/* 027508 80026908 46124181 */ sub.s $f6, $f8, $f18 +/* 02750C 8002690C 03C22021 */ addu $a0, $fp, $v0 +/* 027510 80026910 46003121 */ cvt.d.s $f4, $f6 +/* 027514 80026914 00000000 */ nop +/* 027518 80026918 46245203 */ div.d $f8, $f10, $f4 +/* 02751C 8002691C C7060000 */ lwc1 $f6, ($t8) +/* 027520 80026920 C4800000 */ lwc1 $f0, ($a0) +/* 027524 80026924 3C01C396 */ li $at, 0xC3960000 # -300.000000 +/* 027528 80026928 46003281 */ sub.s $f10, $f6, $f0 +/* 02752C 8002692C 44813000 */ mtc1 $at, $f6 +/* 027530 80026930 00000000 */ nop +/* 027534 80026934 E4660000 */ swc1 $f6, ($v1) +/* 027538 80026938 46204420 */ cvt.s.d $f16, $f8 +/* 02753C 8002693C 46105102 */ mul.s $f4, $f10, $f16 +/* 027540 80026940 46002200 */ add.s $f8, $f4, $f0 +/* 027544 80026944 E4880000 */ swc1 $f8, ($a0) +.L80026948: +/* 027548 80026948 00067C00 */ sll $t7, $a2, 0x10 +/* 02754C 8002694C 000FCC03 */ sra $t9, $t7, 0x10 +/* 027550 80026950 02597021 */ addu $t6, $s2, $t9 +/* 027554 80026954 81D80000 */ lb $t8, ($t6) +/* 027558 80026958 24010002 */ li $at, 2 +/* 02755C 8002695C 1701001A */ bne $t8, $at, .L800269C8 +/* 027560 80026960 00107403 */ sra $t6, $s0, 0x10 +/* 027564 80026964 00192880 */ sll $a1, $t9, 2 +/* 027568 80026968 02251821 */ addu $v1, $s1, $a1 +/* 02756C 8002696C 00071080 */ sll $v0, $a3, 2 +/* 027570 80026970 C4600000 */ lwc1 $f0, ($v1) +/* 027574 80026974 02227821 */ addu $t7, $s1, $v0 +/* 027578 80026978 C5E80000 */ lwc1 $f8, ($t7) +/* 02757C 8002697C 460002A1 */ cvt.d.s $f10, $f0 +/* 027580 80026980 463E5101 */ sub.d $f4, $f10, $f30 +/* 027584 80026984 03C2C821 */ addu $t9, $fp, $v0 +/* 027588 80026988 46080181 */ sub.s $f6, $f0, $f8 +/* 02758C 8002698C 03C52021 */ addu $a0, $fp, $a1 +/* 027590 80026990 460032A1 */ cvt.d.s $f10, $f6 +/* 027594 80026994 00000000 */ nop +/* 027598 80026998 462A2203 */ div.d $f8, $f4, $f10 +/* 02759C 8002699C C7260000 */ lwc1 $f6, ($t9) +/* 0275A0 800269A0 C4820000 */ lwc1 $f2, ($a0) +/* 0275A4 800269A4 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 0275A8 800269A8 46023101 */ sub.s $f4, $f6, $f2 +/* 0275AC 800269AC 44813000 */ mtc1 $at, $f6 +/* 0275B0 800269B0 00000000 */ nop +/* 0275B4 800269B4 E4660000 */ swc1 $f6, ($v1) +/* 0275B8 800269B8 46204420 */ cvt.s.d $f16, $f8 +/* 0275BC 800269BC 46102282 */ mul.s $f10, $f4, $f16 +/* 0275C0 800269C0 46025200 */ add.s $f8, $f10, $f2 +/* 0275C4 800269C4 E4880000 */ swc1 $f8, ($a0) +.L800269C8: +/* 0275C8 800269C8 01C08025 */ move $s0, $t6 +.L800269CC: +/* 0275CC 800269CC 12000068 */ beqz $s0, .L80026B70 +/* 0275D0 800269D0 001778C0 */ sll $t7, $s7, 3 +/* 0275D4 800269D4 8ED80014 */ lw $t8, 0x14($s6) +/* 0275D8 800269D8 C7A400B0 */ lwc1 $f4, 0xb0($sp) +/* 0275DC 800269DC 030FC821 */ addu $t9, $t8, $t7 +/* 0275E0 800269E0 972E0000 */ lhu $t6, ($t9) +/* 0275E4 800269E4 8ED90018 */ lw $t9, 0x18($s6) +/* 0275E8 800269E8 000EC480 */ sll $t8, $t6, 0x12 +/* 0275EC 800269EC 00187C03 */ sra $t7, $t8, 0x10 +/* 0275F0 800269F0 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 0275F4 800269F4 000F7080 */ sll $t6, $t7, 2 +/* 0275F8 800269F8 032E1021 */ addu $v0, $t9, $t6 +/* 0275FC 800269FC C4460000 */ lwc1 $f6, ($v0) +/* 027600 80026A00 460A2200 */ add.s $f8, $f4, $f10 +/* 027604 80026A04 C7A400B8 */ lwc1 $f4, 0xb8($sp) +/* 027608 80026A08 46083402 */ mul.s $f16, $f6, $f8 +/* 02760C 80026A0C C4400004 */ lwc1 $f0, 4($v0) +/* 027610 80026A10 C7A80098 */ lwc1 $f8, 0x98($sp) +/* 027614 80026A14 C7A600A8 */ lwc1 $f6, 0xa8($sp) +/* 027618 80026A18 46002282 */ mul.s $f10, $f4, $f0 +/* 02761C 80026A1C 46083100 */ add.s $f4, $f6, $f8 +/* 027620 80026A20 C448000C */ lwc1 $f8, 0xc($v0) +/* 027624 80026A24 00001825 */ move $v1, $zero +/* 027628 80026A28 460A8400 */ add.s $f16, $f16, $f10 +/* 02762C 80026A2C C44A0008 */ lwc1 $f10, 8($v0) +/* 027630 80026A30 00000000 */ nop +/* 027634 80026A34 460A2182 */ mul.s $f6, $f4, $f10 +/* 027638 80026A38 44805000 */ mtc1 $zero, $f10 +/* 02763C 80026A3C 46068400 */ add.s $f16, $f16, $f6 +/* 027640 80026A40 C7A600C4 */ lwc1 $f6, 0xc4($sp) +/* 027644 80026A44 46088400 */ add.s $f16, $f16, $f8 +/* 027648 80026A48 C7A800C8 */ lwc1 $f8, 0xc8($sp) +/* 02764C 80026A4C 46008121 */ cvt.d.s $f4, $f16 +/* 027650 80026A50 4624A03C */ c.lt.d $f20, $f4 +/* 027654 80026A54 00000000 */ nop +/* 027658 80026A58 45000003 */ bc1f .L80026A68 +/* 02765C 80026A5C 0003C080 */ sll $t8, $v1, 2 +/* 027660 80026A60 24030001 */ li $v1, 1 +/* 027664 80026A64 0003C080 */ sll $t8, $v1, 2 +.L80026A68: +/* 027668 80026A68 460A003C */ c.lt.s $f0, $f10 +/* 02766C 80026A6C 00188400 */ sll $s0, $t8, 0x10 +/* 027670 80026A70 00107C03 */ sra $t7, $s0, 0x10 +/* 027674 80026A74 45000005 */ bc1f .L80026A8C +/* 027678 80026A78 01E08025 */ move $s0, $t7 +/* 02767C 80026A7C 0300C825 */ move $t9, $t8 +/* 027680 80026A80 372E0001 */ ori $t6, $t9, 1 +/* 027684 80026A84 000EC400 */ sll $t8, $t6, 0x10 +/* 027688 80026A88 00188403 */ sra $s0, $t8, 0x10 +.L80026A8C: +/* 02768C 80026A8C 46083032 */ c.eq.s $f6, $f8 +/* 027690 80026A90 36190008 */ ori $t9, $s0, 8 +/* 027694 80026A94 45000002 */ bc1f .L80026AA0 +/* 027698 80026A98 00197400 */ sll $t6, $t9, 0x10 +/* 02769C 80026A9C 000E8403 */ sra $s0, $t6, 0x10 +.L80026AA0: +/* 0276A0 80026AA0 444FF800 */ cfc1 $t7, $31 +/* 0276A4 80026AA4 C7A400C4 */ lwc1 $f4, 0xc4($sp) +/* 0276A8 80026AA8 35E10003 */ ori $at, $t7, 3 +/* 0276AC 80026AAC 38210002 */ xori $at, $at, 2 +/* 0276B0 80026AB0 44C1F800 */ ctc1 $at, $31 +/* 0276B4 80026AB4 C7A600B8 */ lwc1 $f6, 0xb8($sp) +/* 0276B8 80026AB8 460022A4 */ cvt.w.s $f10, $f4 +/* 0276BC 80026ABC 02003025 */ move $a2, $s0 +/* 0276C0 80026AC0 44CFF800 */ ctc1 $t7, $31 +/* 0276C4 80026AC4 44045000 */ mfc1 $a0, $f10 +/* 0276C8 80026AC8 A7A9010A */ sh $t1, 0x10a($sp) +/* 0276CC 80026ACC 4458F800 */ cfc1 $t8, $31 +/* 0276D0 80026AD0 0004CC00 */ sll $t9, $a0, 0x10 +/* 0276D4 80026AD4 37010003 */ ori $at, $t8, 3 +/* 0276D8 80026AD8 38210002 */ xori $at, $at, 2 +/* 0276DC 80026ADC 44C1F800 */ ctc1 $at, $31 +/* 0276E0 80026AE0 00192403 */ sra $a0, $t9, 0x10 +/* 0276E4 80026AE4 46003224 */ cvt.w.s $f8, $f6 +/* 0276E8 80026AE8 44054000 */ mfc1 $a1, $f8 +/* 0276EC 80026AEC 44D8F800 */ ctc1 $t8, $31 +/* 0276F0 80026AF0 00057C00 */ sll $t7, $a1, 0x10 +/* 0276F4 80026AF4 0C009B05 */ jal func_80026C14 +/* 0276F8 80026AF8 000F2C03 */ sra $a1, $t7, 0x10 +/* 0276FC 80026AFC 444EF800 */ cfc1 $t6, $31 +/* 027700 80026B00 C7A400C8 */ lwc1 $f4, 0xc8($sp) +/* 027704 80026B04 35C10003 */ ori $at, $t6, 3 +/* 027708 80026B08 38210002 */ xori $at, $at, 2 +/* 02770C 80026B0C 44C1F800 */ ctc1 $at, $31 +/* 027710 80026B10 C7A600BC */ lwc1 $f6, 0xbc($sp) +/* 027714 80026B14 460022A4 */ cvt.w.s $f10, $f4 +/* 027718 80026B18 02003025 */ move $a2, $s0 +/* 02771C 80026B1C 44CEF800 */ ctc1 $t6, $31 +/* 027720 80026B20 44045000 */ mfc1 $a0, $f10 +/* 027724 80026B24 00000000 */ nop +/* 027728 80026B28 4459F800 */ cfc1 $t9, $31 +/* 02772C 80026B2C 0004C400 */ sll $t8, $a0, 0x10 +/* 027730 80026B30 37210003 */ ori $at, $t9, 3 +/* 027734 80026B34 38210002 */ xori $at, $at, 2 +/* 027738 80026B38 44C1F800 */ ctc1 $at, $31 +/* 02773C 80026B3C 00182403 */ sra $a0, $t8, 0x10 +/* 027740 80026B40 46003224 */ cvt.w.s $f8, $f6 +/* 027744 80026B44 44054000 */ mfc1 $a1, $f8 +/* 027748 80026B48 44D9F800 */ ctc1 $t9, $31 +/* 02774C 80026B4C 00057400 */ sll $t6, $a1, 0x10 +/* 027750 80026B50 0C009B05 */ jal func_80026C14 +/* 027754 80026B54 000E2C03 */ sra $a1, $t6, 0x10 +/* 027758 80026B58 87A9010A */ lh $t1, 0x10a($sp) +/* 02775C 80026B5C 240A000A */ li $t2, 10 +/* 027760 80026B60 27AB00B0 */ addiu $t3, $sp, 0xb0 +/* 027764 80026B64 27AC00A0 */ addiu $t4, $sp, 0xa0 +/* 027768 80026B68 27AD00A8 */ addiu $t5, $sp, 0xa8 +/* 02776C 80026B6C 241F0001 */ li $ra, 1 +.L80026B70: +/* 027770 80026B70 26F70001 */ addiu $s7, $s7, 1 +/* 027774 80026B74 87AE0108 */ lh $t6, 0x108($sp) +/* 027778 80026B78 00177C00 */ sll $t7, $s7, 0x10 +/* 02777C 80026B7C 000FBC03 */ sra $s7, $t7, 0x10 +/* 027780 80026B80 02EE082A */ slt $at, $s7, $t6 +/* 027784 80026B84 1420FE74 */ bnez $at, .L80026558 +/* 027788 80026B88 00000000 */ nop +/* 02778C 80026B8C 86C40020 */ lh $a0, 0x20($s6) +/* 027790 80026B90 00000000 */ nop +.L80026B94: +/* 027794 80026B94 87A2010E */ lh $v0, 0x10e($sp) +/* 027798 80026B98 00000000 */ nop +/* 02779C 80026B9C 24420001 */ addiu $v0, $v0, 1 +/* 0277A0 80026BA0 0002C400 */ sll $t8, $v0, 0x10 +/* 0277A4 80026BA4 00187C03 */ sra $t7, $t8, 0x10 +/* 0277A8 80026BA8 01E4082A */ slt $at, $t7, $a0 +/* 0277AC 80026BAC 1420FE54 */ bnez $at, .L80026500 +/* 0277B0 80026BB0 A7AF010E */ sh $t7, 0x10e($sp) +.L80026BB4: +/* 0277B4 80026BB4 8FBF006C */ lw $ra, 0x6c($sp) +/* 0277B8 80026BB8 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0277BC 80026BBC C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0277C0 80026BC0 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0277C4 80026BC4 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0277C8 80026BC8 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0277CC 80026BCC C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0277D0 80026BD0 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0277D4 80026BD4 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0277D8 80026BD8 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 0277DC 80026BDC C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 0277E0 80026BE0 C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 0277E4 80026BE4 C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 0277E8 80026BE8 8FB00048 */ lw $s0, 0x48($sp) +/* 0277EC 80026BEC 8FB1004C */ lw $s1, 0x4c($sp) +/* 0277F0 80026BF0 8FB20050 */ lw $s2, 0x50($sp) +/* 0277F4 80026BF4 8FB30054 */ lw $s3, 0x54($sp) +/* 0277F8 80026BF8 8FB40058 */ lw $s4, 0x58($sp) +/* 0277FC 80026BFC 8FB5005C */ lw $s5, 0x5c($sp) +/* 027800 80026C00 8FB60060 */ lw $s6, 0x60($sp) +/* 027804 80026C04 8FB70064 */ lw $s7, 0x64($sp) +/* 027808 80026C08 8FBE0068 */ lw $fp, 0x68($sp) +/* 02780C 80026C0C 03E00008 */ jr $ra +/* 027810 80026C10 27BD0110 */ addiu $sp, $sp, 0x110 + diff --git a/asm/non_matchings/unknown_0255E0/func_80026C14.s b/asm/non_matchings/unknown_0255E0/func_80026C14.s new file mode 100644 index 00000000..e80f6ee9 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80026C14.s @@ -0,0 +1,155 @@ +glabel func_80026C14 +/* 027814 80026C14 3C088012 */ lui $t0, %hi(D_8011D49E) # $t0, 0x8012 +/* 027818 80026C18 2508D49E */ addiu $t0, %lo(D_8011D49E) # addiu $t0, $t0, -0x2b62 +/* 02781C 80026C1C 27BDFFF8 */ addiu $sp, $sp, -8 +/* 027820 80026C20 3C188012 */ lui $t8, %hi(D_8011D4BA) # $t8, 0x8012 +/* 027824 80026C24 8718D4BA */ lh $t8, %lo(D_8011D4BA)($t8) +/* 027828 80026C28 85020000 */ lh $v0, ($t0) +/* 02782C 80026C2C AFB00004 */ sw $s0, 4($sp) +/* 027830 80026C30 00058400 */ sll $s0, $a1, 0x10 +/* 027834 80026C34 00043C00 */ sll $a3, $a0, 0x10 +/* 027838 80026C38 00077403 */ sra $t6, $a3, 0x10 +/* 02783C 80026C3C 00107C03 */ sra $t7, $s0, 0x10 +/* 027840 80026C40 0058082A */ slt $at, $v0, $t8 +/* 027844 80026C44 01E08025 */ move $s0, $t7 +/* 027848 80026C48 01C03825 */ move $a3, $t6 +/* 02784C 80026C4C AFA40008 */ sw $a0, 8($sp) +/* 027850 80026C50 AFA5000C */ sw $a1, 0xc($sp) +/* 027854 80026C54 1020007C */ beqz $at, .L80026E48 +/* 027858 80026C58 AFA60010 */ sw $a2, 0x10($sp) +/* 02785C 80026C5C 18400017 */ blez $v0, .L80026CBC +/* 027860 80026C60 00001825 */ move $v1, $zero +/* 027864 80026C64 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012 +/* 027868 80026C68 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88 +/* 02786C 80026C6C 8D240000 */ lw $a0, ($t1) +/* 027870 80026C70 00000000 */ nop +/* 027874 80026C74 84990000 */ lh $t9, ($a0) +/* 027878 80026C78 00000000 */ nop +/* 02787C 80026C7C 032E082A */ slt $at, $t9, $t6 +/* 027880 80026C80 1020000E */ beqz $at, .L80026CBC +/* 027884 80026C84 00000000 */ nop +.L80026C88: +/* 027888 80026C88 24630001 */ addiu $v1, $v1, 1 +/* 02788C 80026C8C 00035400 */ sll $t2, $v1, 0x10 +/* 027890 80026C90 000A5C03 */ sra $t3, $t2, 0x10 +/* 027894 80026C94 0162082A */ slt $at, $t3, $v0 +/* 027898 80026C98 10200008 */ beqz $at, .L80026CBC +/* 02789C 80026C9C 01601825 */ move $v1, $t3 +/* 0278A0 80026CA0 000B60C0 */ sll $t4, $t3, 3 +/* 0278A4 80026CA4 008C6821 */ addu $t5, $a0, $t4 +/* 0278A8 80026CA8 85AE0000 */ lh $t6, ($t5) +/* 0278AC 80026CAC 00000000 */ nop +/* 0278B0 80026CB0 01C7082A */ slt $at, $t6, $a3 +/* 0278B4 80026CB4 1420FFF4 */ bnez $at, .L80026C88 +/* 0278B8 80026CB8 00000000 */ nop +.L80026CBC: +/* 0278BC 80026CBC 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012 +/* 0278C0 80026CC0 0062082A */ slt $at, $v1, $v0 +/* 0278C4 80026CC4 1020001E */ beqz $at, .L80026D40 +/* 0278C8 80026CC8 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88 +/* 0278CC 80026CCC 8D240000 */ lw $a0, ($t1) +/* 0278D0 80026CD0 000378C0 */ sll $t7, $v1, 3 +/* 0278D4 80026CD4 008F2821 */ addu $a1, $a0, $t7 +/* 0278D8 80026CD8 84B80000 */ lh $t8, ($a1) +/* 0278DC 80026CDC 00000000 */ nop +/* 0278E0 80026CE0 14F80017 */ bne $a3, $t8, .L80026D40 +/* 0278E4 80026CE4 00000000 */ nop +/* 0278E8 80026CE8 84B90002 */ lh $t9, 2($a1) +/* 0278EC 80026CEC 00000000 */ nop +/* 0278F0 80026CF0 0330082A */ slt $at, $t9, $s0 +/* 0278F4 80026CF4 10200013 */ beqz $at, .L80026D44 +/* 0278F8 80026CF8 00022C00 */ sll $a1, $v0, 0x10 +.L80026CFC: +/* 0278FC 80026CFC 24630001 */ addiu $v1, $v1, 1 +/* 027900 80026D00 00035400 */ sll $t2, $v1, 0x10 +/* 027904 80026D04 000A5C03 */ sra $t3, $t2, 0x10 +/* 027908 80026D08 0162082A */ slt $at, $t3, $v0 +/* 02790C 80026D0C 1020000C */ beqz $at, .L80026D40 +/* 027910 80026D10 01601825 */ move $v1, $t3 +/* 027914 80026D14 000B60C0 */ sll $t4, $t3, 3 +/* 027918 80026D18 008C2821 */ addu $a1, $a0, $t4 +/* 02791C 80026D1C 84AD0000 */ lh $t5, ($a1) +/* 027920 80026D20 00000000 */ nop +/* 027924 80026D24 14ED0006 */ bne $a3, $t5, .L80026D40 +/* 027928 80026D28 00000000 */ nop +/* 02792C 80026D2C 84AE0002 */ lh $t6, 2($a1) +/* 027930 80026D30 00000000 */ nop +/* 027934 80026D34 01D0082A */ slt $at, $t6, $s0 +/* 027938 80026D38 1420FFF0 */ bnez $at, .L80026CFC +/* 02793C 80026D3C 00000000 */ nop +.L80026D40: +/* 027940 80026D40 00022C00 */ sll $a1, $v0, 0x10 +.L80026D44: +/* 027944 80026D44 00057C03 */ sra $t7, $a1, 0x10 +/* 027948 80026D48 006F082A */ slt $at, $v1, $t7 +/* 02794C 80026D4C 01E02825 */ move $a1, $t7 +/* 027950 80026D50 10200019 */ beqz $at, .L80026DB8 +/* 027954 80026D54 000320C0 */ sll $a0, $v1, 3 +.L80026D58: +/* 027958 80026D58 8D380000 */ lw $t8, ($t1) +/* 02795C 80026D5C 000510C0 */ sll $v0, $a1, 3 +/* 027960 80026D60 03023021 */ addu $a2, $t8, $v0 +/* 027964 80026D64 84D9FFF8 */ lh $t9, -8($a2) +/* 027968 80026D68 24A5FFFF */ addiu $a1, $a1, -1 +/* 02796C 80026D6C A4D90000 */ sh $t9, ($a2) +/* 027970 80026D70 8D2A0000 */ lw $t2, ($t1) +/* 027974 80026D74 0005C400 */ sll $t8, $a1, 0x10 +/* 027978 80026D78 01423021 */ addu $a2, $t2, $v0 +/* 02797C 80026D7C 84CBFFFA */ lh $t3, -6($a2) +/* 027980 80026D80 00182C03 */ sra $a1, $t8, 0x10 +/* 027984 80026D84 A4CB0002 */ sh $t3, 2($a2) +/* 027988 80026D88 8D2C0000 */ lw $t4, ($t1) +/* 02798C 80026D8C 0065082A */ slt $at, $v1, $a1 +/* 027990 80026D90 01823021 */ addu $a2, $t4, $v0 +/* 027994 80026D94 80CDFFFF */ lb $t5, -1($a2) +/* 027998 80026D98 00000000 */ nop +/* 02799C 80026D9C A0CD0007 */ sb $t5, 7($a2) +/* 0279A0 80026DA0 8D2E0000 */ lw $t6, ($t1) +/* 0279A4 80026DA4 00000000 */ nop +/* 0279A8 80026DA8 01C23021 */ addu $a2, $t6, $v0 +/* 0279AC 80026DAC 80CFFFFE */ lb $t7, -2($a2) +/* 0279B0 80026DB0 1420FFE9 */ bnez $at, .L80026D58 +/* 0279B4 80026DB4 A0CF0006 */ sb $t7, 6($a2) +.L80026DB8: +/* 0279B8 80026DB8 8D2A0000 */ lw $t2, ($t1) +/* 0279BC 80026DBC 3C038012 */ lui $v1, %hi(D_8011D49C) # $v1, 0x8012 +/* 0279C0 80026DC0 01445821 */ addu $t3, $t2, $a0 +/* 0279C4 80026DC4 A5670000 */ sh $a3, ($t3) +/* 0279C8 80026DC8 8D2C0000 */ lw $t4, ($t1) +/* 0279CC 80026DCC 2463D49C */ addiu $v1, %lo(D_8011D49C) # addiu $v1, $v1, -0x2b64 +/* 0279D0 80026DD0 01846821 */ addu $t5, $t4, $a0 +/* 0279D4 80026DD4 A5B00002 */ sh $s0, 2($t5) +/* 0279D8 80026DD8 8D2E0000 */ lw $t6, ($t1) +/* 0279DC 80026DDC 00000000 */ nop +/* 0279E0 80026DE0 01C47821 */ addu $t7, $t6, $a0 +/* 0279E4 80026DE4 A5E00004 */ sh $zero, 4($t7) +/* 0279E8 80026DE8 8D390000 */ lw $t9, ($t1) +/* 0279EC 80026DEC 84780000 */ lh $t8, ($v1) +/* 0279F0 80026DF0 03245021 */ addu $t2, $t9, $a0 +/* 0279F4 80026DF4 A1580007 */ sb $t8, 7($t2) +/* 0279F8 80026DF8 8D2C0000 */ lw $t4, ($t1) +/* 0279FC 80026DFC 8FAB0010 */ lw $t3, 0x10($sp) +/* 027A00 80026E00 01846821 */ addu $t5, $t4, $a0 +/* 027A04 80026E04 A1AB0006 */ sb $t3, 6($t5) +/* 027A08 80026E08 3C0F8012 */ lui $t7, %hi(D_8011D47C) # $t7, 0x8012 +/* 027A0C 80026E0C 8DEFD47C */ lw $t7, %lo(D_8011D47C)($t7) +/* 027A10 80026E10 85190000 */ lh $t9, ($t0) +/* 027A14 80026E14 240EFFFF */ li $t6, -1 +/* 027A18 80026E18 01F9C021 */ addu $t8, $t7, $t9 +/* 027A1C 80026E1C A30E0000 */ sb $t6, ($t8) +/* 027A20 80026E20 85020000 */ lh $v0, ($t0) +/* 027A24 80026E24 00000000 */ nop +/* 027A28 80026E28 304A0001 */ andi $t2, $v0, 1 +/* 027A2C 80026E2C 11400005 */ beqz $t2, .L80026E44 +/* 027A30 80026E30 244D0001 */ addiu $t5, $v0, 1 +/* 027A34 80026E34 846C0000 */ lh $t4, ($v1) +/* 027A38 80026E38 00000000 */ nop +/* 027A3C 80026E3C 258B0001 */ addiu $t3, $t4, 1 +/* 027A40 80026E40 A46B0000 */ sh $t3, ($v1) +.L80026E44: +/* 027A44 80026E44 A50D0000 */ sh $t5, ($t0) +.L80026E48: +/* 027A48 80026E48 8FB00004 */ lw $s0, 4($sp) +/* 027A4C 80026E4C 03E00008 */ jr $ra +/* 027A50 80026E50 27BD0008 */ addiu $sp, $sp, 8 + diff --git a/asm/non_matchings/unknown_0255E0/func_80026E54.s b/asm/non_matchings/unknown_0255E0/func_80026E54.s new file mode 100644 index 00000000..fa73b1ae --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80026E54.s @@ -0,0 +1,215 @@ +glabel func_80026E54 +/* 027A54 80026E54 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 027A58 80026E58 AFB5003C */ sw $s5, 0x3c($sp) +/* 027A5C 80026E5C 0004AC00 */ sll $s5, $a0, 0x10 +/* 027A60 80026E60 00157403 */ sra $t6, $s5, 0x10 +/* 027A64 80026E64 E7B60024 */ swc1 $f22, 0x24($sp) +/* 027A68 80026E68 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 027A6C 80026E6C 4487A000 */ mtc1 $a3, $f20 +/* 027A70 80026E70 4486B000 */ mtc1 $a2, $f22 +/* 027A74 80026E74 AFB30034 */ sw $s3, 0x34($sp) +/* 027A78 80026E78 29C1000A */ slti $at, $t6, 0xa +/* 027A7C 80026E7C 00A09825 */ move $s3, $a1 +/* 027A80 80026E80 01C0A825 */ move $s5, $t6 +/* 027A84 80026E84 AFBF0044 */ sw $ra, 0x44($sp) +/* 027A88 80026E88 AFB60040 */ sw $s6, 0x40($sp) +/* 027A8C 80026E8C AFB40038 */ sw $s4, 0x38($sp) +/* 027A90 80026E90 AFB20030 */ sw $s2, 0x30($sp) +/* 027A94 80026E94 AFB1002C */ sw $s1, 0x2c($sp) +/* 027A98 80026E98 AFB00028 */ sw $s0, 0x28($sp) +/* 027A9C 80026E9C E7B70020 */ swc1 $f23, 0x20($sp) +/* 027AA0 80026EA0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 027AA4 80026EA4 102000A9 */ beqz $at, .L8002714C +/* 027AA8 80026EA8 AFA40108 */ sw $a0, 0x108($sp) +/* 027AAC 80026EAC 11C000A7 */ beqz $t6, .L8002714C +/* 027AB0 80026EB0 00001025 */ move $v0, $zero +/* 027AB4 80026EB4 19C0004D */ blez $t6, .L80026FEC +/* 027AB8 80026EB8 00008025 */ move $s0, $zero +/* 027ABC 80026EBC 3C088012 */ lui $t0, %hi(D_8011D47C) # $t0, 0x8012 +/* 027AC0 80026EC0 3C078012 */ lui $a3, %hi(D_8011D478) # $a3, 0x8012 +/* 027AC4 80026EC4 8CE7D478 */ lw $a3, %lo(D_8011D478)($a3) +/* 027AC8 80026EC8 8D08D47C */ lw $t0, %lo(D_8011D47C)($t0) +/* 027ACC 80026ECC 27B40094 */ addiu $s4, $sp, 0x94 +/* 027AD0 80026ED0 27B20060 */ addiu $s2, $sp, 0x60 +/* 027AD4 80026ED4 27A5006C */ addiu $a1, $sp, 0x6c +.L80026ED8: +/* 027AD8 80026ED8 02137821 */ addu $t7, $s0, $s3 +/* 027ADC 80026EDC 81F80000 */ lb $t8, ($t7) +/* 027AE0 80026EE0 00000000 */ nop +/* 027AE4 80026EE4 0018CC40 */ sll $t9, $t8, 0x11 +/* 027AE8 80026EE8 00195403 */ sra $t2, $t9, 0x10 +/* 027AEC 80026EEC 01482021 */ addu $a0, $t2, $t0 +/* 027AF0 80026EF0 808B0000 */ lb $t3, ($a0) +/* 027AF4 80026EF4 808D0001 */ lb $t5, 1($a0) +/* 027AF8 80026EF8 000B60C0 */ sll $t4, $t3, 3 +/* 027AFC 80026EFC 000D70C0 */ sll $t6, $t5, 3 +/* 027B00 80026F00 01871821 */ addu $v1, $t4, $a3 +/* 027B04 80026F04 01C73021 */ addu $a2, $t6, $a3 +/* 027B08 80026F08 846F0000 */ lh $t7, ($v1) +/* 027B0C 80026F0C 84D90000 */ lh $t9, ($a2) +/* 027B10 80026F10 448F2000 */ mtc1 $t7, $f4 +/* 027B14 80026F14 44994000 */ mtc1 $t9, $f8 +/* 027B18 80026F18 468020A0 */ cvt.s.w $f2, $f4 +/* 027B1C 80026F1C 84780002 */ lh $t8, 2($v1) +/* 027B20 80026F20 84CA0002 */ lh $t2, 2($a2) +/* 027B24 80026F24 468043A0 */ cvt.s.w $f14, $f8 +/* 027B28 80026F28 44983000 */ mtc1 $t8, $f6 +/* 027B2C 80026F2C 448A5000 */ mtc1 $t2, $f10 +/* 027B30 80026F30 460E1032 */ c.eq.s $f2, $f14 +/* 027B34 80026F34 46803320 */ cvt.s.w $f12, $f6 +/* 027B38 80026F38 45010084 */ bc1t .L8002714C +/* 027B3C 80026F3C 46805420 */ cvt.s.w $f16, $f10 +/* 027B40 80026F40 460E1001 */ sub.s $f0, $f2, $f14 +/* 027B44 80026F44 00025880 */ sll $t3, $v0, 2 +/* 027B48 80026F48 46141101 */ sub.s $f4, $f2, $f20 +/* 027B4C 80026F4C 24420001 */ addiu $v0, $v0, 1 +/* 027B50 80026F50 46002183 */ div.s $f6, $f4, $f0 +/* 027B54 80026F54 460C8481 */ sub.s $f18, $f16, $f12 +/* 027B58 80026F58 00026C00 */ sll $t5, $v0, 0x10 +/* 027B5C 80026F5C 000D7403 */ sra $t6, $t5, 0x10 +/* 027B60 80026F60 028B6021 */ addu $t4, $s4, $t3 +/* 027B64 80026F64 000EC080 */ sll $t8, $t6, 2 +/* 027B68 80026F68 02981821 */ addu $v1, $s4, $t8 +/* 027B6C 80026F6C 00107880 */ sll $t7, $s0, 2 +/* 027B70 80026F70 00AF2021 */ addu $a0, $a1, $t7 +/* 027B74 80026F74 0250C821 */ addu $t9, $s2, $s0 +/* 027B78 80026F78 25C20001 */ addiu $v0, $t6, 1 +/* 027B7C 80026F7C 00025400 */ sll $t2, $v0, 0x10 +/* 027B80 80026F80 46069202 */ mul.s $f8, $f18, $f6 +/* 027B84 80026F84 460EB181 */ sub.s $f6, $f22, $f14 +/* 027B88 80026F88 000A1403 */ sra $v0, $t2, 0x10 +/* 027B8C 80026F8C 460C4280 */ add.s $f10, $f8, $f12 +/* 027B90 80026F90 00000000 */ nop +/* 027B94 80026F94 46003203 */ div.s $f8, $f6, $f0 +/* 027B98 80026F98 46106481 */ sub.s $f18, $f12, $f16 +/* 027B9C 80026F9C E58A0000 */ swc1 $f10, ($t4) +/* 027BA0 80026FA0 C464FFFC */ lwc1 $f4, -4($v1) +/* 027BA4 80026FA4 A3300000 */ sb $s0, ($t9) +/* 027BA8 80026FA8 E4840000 */ swc1 $f4, ($a0) +/* 027BAC 80026FAC 00026080 */ sll $t4, $v0, 2 +/* 027BB0 80026FB0 028C6821 */ addu $t5, $s4, $t4 +/* 027BB4 80026FB4 26100001 */ addiu $s0, $s0, 1 +/* 027BB8 80026FB8 00107400 */ sll $t6, $s0, 0x10 +/* 027BBC 80026FBC 000E8403 */ sra $s0, $t6, 0x10 +/* 027BC0 80026FC0 0215082A */ slt $at, $s0, $s5 +/* 027BC4 80026FC4 46089282 */ mul.s $f10, $f18, $f8 +/* 027BC8 80026FC8 46105100 */ add.s $f4, $f10, $f16 +/* 027BCC 80026FCC E4640000 */ swc1 $f4, ($v1) +/* 027BD0 80026FD0 C4860000 */ lwc1 $f6, ($a0) +/* 027BD4 80026FD4 C5B2FFFC */ lwc1 $f18, -4($t5) +/* 027BD8 80026FD8 00000000 */ nop +/* 027BDC 80026FDC 46123200 */ add.s $f8, $f6, $f18 +/* 027BE0 80026FE0 1420FFBD */ bnez $at, .L80026ED8 +/* 027BE4 80026FE4 E4880000 */ swc1 $f8, ($a0) +/* 027BE8 80026FE8 00008025 */ move $s0, $zero +.L80026FEC: +/* 027BEC 80026FEC 27A5006C */ addiu $a1, $sp, 0x6c +/* 027BF0 80026FF0 27B20060 */ addiu $s2, $sp, 0x60 +/* 027BF4 80026FF4 27B40094 */ addiu $s4, $sp, 0x94 +/* 027BF8 80026FF8 26B1FFFF */ addiu $s1, $s5, -1 +.L80026FFC: +/* 027BFC 80026FFC 1A20001F */ blez $s1, .L8002707C +/* 027C00 80027000 24060001 */ li $a2, 1 +/* 027C04 80027004 02501821 */ addu $v1, $s2, $s0 +.L80027008: +/* 027C08 80027008 80780001 */ lb $t8, 1($v1) +/* 027C0C 8002700C 806B0000 */ lb $t3, ($v1) +/* 027C10 80027010 0018C880 */ sll $t9, $t8, 2 +/* 027C14 80027014 000B6080 */ sll $t4, $t3, 2 +/* 027C18 80027018 00AC6821 */ addu $t5, $a1, $t4 +/* 027C1C 8002701C 00B95021 */ addu $t2, $a1, $t9 +/* 027C20 80027020 C54A0000 */ lwc1 $f10, ($t2) +/* 027C24 80027024 C5A40000 */ lwc1 $f4, ($t5) +/* 027C28 80027028 02132021 */ addu $a0, $s0, $s3 +/* 027C2C 8002702C 4604503C */ c.lt.s $f10, $f4 +/* 027C30 80027030 00000000 */ nop +/* 027C34 80027034 4500000A */ bc1f .L80027060 +/* 027C38 80027038 00000000 */ nop +/* 027C3C 8002703C 80820000 */ lb $v0, ($a0) +/* 027C40 80027040 808E0001 */ lb $t6, 1($a0) +/* 027C44 80027044 A0820001 */ sb $v0, 1($a0) +/* 027C48 80027048 A08E0000 */ sb $t6, ($a0) +/* 027C4C 8002704C 80620000 */ lb $v0, ($v1) +/* 027C50 80027050 806F0001 */ lb $t7, 1($v1) +/* 027C54 80027054 00003025 */ move $a2, $zero +/* 027C58 80027058 A0620001 */ sb $v0, 1($v1) +/* 027C5C 8002705C A06F0000 */ sb $t7, ($v1) +.L80027060: +/* 027C60 80027060 26100001 */ addiu $s0, $s0, 1 +/* 027C64 80027064 0010C400 */ sll $t8, $s0, 0x10 +/* 027C68 80027068 00188403 */ sra $s0, $t8, 0x10 +/* 027C6C 8002706C 0211082A */ slt $at, $s0, $s1 +/* 027C70 80027070 1420FFE5 */ bnez $at, .L80027008 +/* 027C74 80027074 02501821 */ addu $v1, $s2, $s0 +/* 027C78 80027078 00008025 */ move $s0, $zero +.L8002707C: +/* 027C7C 8002707C 10C0FFDF */ beqz $a2, .L80026FFC +/* 027C80 80027080 00000000 */ nop +/* 027C84 80027084 1A200031 */ blez $s1, .L8002714C +/* 027C88 80027088 3C168012 */ lui $s6, %hi(D_8011D47C) # $s6, 0x8012 +/* 027C8C 8002708C 3C158012 */ lui $s5, %hi(D_8011D478) # $s5, 0x8012 +/* 027C90 80027090 26B5D478 */ addiu $s5, %lo(D_8011D478) # addiu $s5, $s5, -0x2b88 +/* 027C94 80027094 26D6D47C */ addiu $s6, %lo(D_8011D47C) # addiu $s6, $s6, -0x2b84 +/* 027C98 80027098 02132021 */ addu $a0, $s0, $s3 +.L8002709C: +/* 027C9C 8002709C 808A0000 */ lb $t2, ($a0) +/* 027CA0 800270A0 8EC80000 */ lw $t0, ($s6) +/* 027CA4 800270A4 000A5840 */ sll $t3, $t2, 1 +/* 027CA8 800270A8 01686021 */ addu $t4, $t3, $t0 +/* 027CAC 800270AC 818D0000 */ lb $t5, ($t4) +/* 027CB0 800270B0 8EA70000 */ lw $a3, ($s5) +/* 027CB4 800270B4 808B0001 */ lb $t3, 1($a0) +/* 027CB8 800270B8 000D70C0 */ sll $t6, $t5, 3 +/* 027CBC 800270BC 00EE7821 */ addu $t7, $a3, $t6 +/* 027CC0 800270C0 000B6040 */ sll $t4, $t3, 1 +/* 027CC4 800270C4 81E20006 */ lb $v0, 6($t7) +/* 027CC8 800270C8 01886821 */ addu $t5, $t4, $t0 +/* 027CCC 800270CC 81AE0000 */ lb $t6, ($t5) +/* 027CD0 800270D0 30580001 */ andi $t8, $v0, 1 +/* 027CD4 800270D4 0018CE00 */ sll $t9, $t8, 0x18 +/* 027CD8 800270D8 000E78C0 */ sll $t7, $t6, 3 +/* 027CDC 800270DC 00EFC021 */ addu $t8, $a3, $t7 +/* 027CE0 800270E0 83030006 */ lb $v1, 6($t8) +/* 027CE4 800270E4 00191603 */ sra $v0, $t9, 0x18 +/* 027CE8 800270E8 30790001 */ andi $t9, $v1, 1 +/* 027CEC 800270EC 00195600 */ sll $t2, $t9, 0x18 +/* 027CF0 800270F0 10400010 */ beqz $v0, .L80027134 +/* 027CF4 800270F4 000A5E03 */ sra $t3, $t2, 0x18 +/* 027CF8 800270F8 1560000E */ bnez $t3, .L80027134 +/* 027CFC 800270FC 02501821 */ addu $v1, $s2, $s0 +/* 027D00 80027100 806C0000 */ lb $t4, ($v1) +/* 027D04 80027104 806F0001 */ lb $t7, 1($v1) +/* 027D08 80027108 000C6C40 */ sll $t5, $t4, 0x11 +/* 027D0C 8002710C 000FC440 */ sll $t8, $t7, 0x11 +/* 027D10 80027110 000D7403 */ sra $t6, $t5, 0x10 +/* 027D14 80027114 0018CC03 */ sra $t9, $t8, 0x10 +/* 027D18 80027118 00195880 */ sll $t3, $t9, 2 +/* 027D1C 8002711C 000E5080 */ sll $t2, $t6, 2 +/* 027D20 80027120 4406A000 */ mfc1 $a2, $f20 +/* 027D24 80027124 4407B000 */ mfc1 $a3, $f22 +/* 027D28 80027128 028A2021 */ addu $a0, $s4, $t2 +/* 027D2C 8002712C 0C009C61 */ jal func_80027184 +/* 027D30 80027130 028B2821 */ addu $a1, $s4, $t3 +.L80027134: +/* 027D34 80027134 26100001 */ addiu $s0, $s0, 1 +/* 027D38 80027138 00106400 */ sll $t4, $s0, 0x10 +/* 027D3C 8002713C 000C8403 */ sra $s0, $t4, 0x10 +/* 027D40 80027140 0211082A */ slt $at, $s0, $s1 +/* 027D44 80027144 1420FFD5 */ bnez $at, .L8002709C +/* 027D48 80027148 02132021 */ addu $a0, $s0, $s3 +.L8002714C: +/* 027D4C 8002714C 8FBF0044 */ lw $ra, 0x44($sp) +/* 027D50 80027150 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 027D54 80027154 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 027D58 80027158 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 027D5C 8002715C C7B60024 */ lwc1 $f22, 0x24($sp) +/* 027D60 80027160 8FB00028 */ lw $s0, 0x28($sp) +/* 027D64 80027164 8FB1002C */ lw $s1, 0x2c($sp) +/* 027D68 80027168 8FB20030 */ lw $s2, 0x30($sp) +/* 027D6C 8002716C 8FB30034 */ lw $s3, 0x34($sp) +/* 027D70 80027170 8FB40038 */ lw $s4, 0x38($sp) +/* 027D74 80027174 8FB5003C */ lw $s5, 0x3c($sp) +/* 027D78 80027178 8FB60040 */ lw $s6, 0x40($sp) +/* 027D7C 8002717C 03E00008 */ jr $ra +/* 027D80 80027180 27BD0108 */ addiu $sp, $sp, 0x108 + diff --git a/asm/non_matchings/unknown_0255E0/func_80027184.s b/asm/non_matchings/unknown_0255E0/func_80027184.s new file mode 100644 index 00000000..60b98818 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80027184.s @@ -0,0 +1,254 @@ +glabel func_80027184 +/* 027D84 80027184 44866000 */ mtc1 $a2, $f12 +/* 027D88 80027188 3C068012 */ lui $a2, %hi(D_8011D4B8) # $a2, 0x8012 +/* 027D8C 8002718C 24C6D4B8 */ addiu $a2, %lo(D_8011D4B8) # addiu $a2, $a2, -0x2b48 +/* 027D90 80027190 3C0F8012 */ lui $t7, %hi(D_8011D4BC) # $t7, 0x8012 +/* 027D94 80027194 85EFD4BC */ lh $t7, %lo(D_8011D4BC)($t7) +/* 027D98 80027198 84CE0000 */ lh $t6, ($a2) +/* 027D9C 8002719C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 027DA0 800271A0 01CF082A */ slt $at, $t6, $t7 +/* 027DA4 800271A4 AFB1000C */ sw $s1, 0xc($sp) +/* 027DA8 800271A8 AFB00008 */ sw $s0, 8($sp) +/* 027DAC 800271AC 14200003 */ bnez $at, .L800271BC +/* 027DB0 800271B0 AFA7001C */ sw $a3, 0x1c($sp) +/* 027DB4 800271B4 100000E8 */ b .L80027558 +/* 027DB8 800271B8 00001025 */ move $v0, $zero +.L800271BC: +/* 027DBC 800271BC 3C038012 */ lui $v1, %hi(D_8011D4B6) # $v1, 0x8012 +/* 027DC0 800271C0 2463D4B6 */ addiu $v1, %lo(D_8011D4B6) # addiu $v1, $v1, -0x2b4a +/* 027DC4 800271C4 84620000 */ lh $v0, ($v1) +/* 027DC8 800271C8 24010018 */ li $at, 24 +/* 027DCC 800271CC 1441003A */ bne $v0, $at, .L800272B8 +/* 027DD0 800271D0 3C078012 */ lui $a3, %hi(D_8011B0A8) # $a3, 0x8012 +/* 027DD4 800271D4 3C0D8012 */ lui $t5, %hi(D_8011B0A0) # $t5, 0x8012 +/* 027DD8 800271D8 25ADB0A0 */ addiu $t5, %lo(D_8011B0A0) # addiu $t5, $t5, -0x4f60 +/* 027DDC 800271DC 8DAA0000 */ lw $t2, ($t5) +/* 027DE0 800271E0 3C108012 */ lui $s0, %hi(D_8011D488) # $s0, 0x8012 +/* 027DE4 800271E4 2610D488 */ addiu $s0, %lo(D_8011D488) # addiu $s0, $s0, -0x2b78 +/* 027DE8 800271E8 8E0F0000 */ lw $t7, ($s0) +/* 027DEC 800271EC 25580008 */ addiu $t8, $t2, 8 +/* 027DF0 800271F0 3C118000 */ lui $s1, 0x8000 +/* 027DF4 800271F4 ADB80000 */ sw $t8, ($t5) +/* 027DF8 800271F8 2459FFFF */ addiu $t9, $v0, -1 +/* 027DFC 800271FC 001970C0 */ sll $t6, $t9, 3 +/* 027E00 80027200 01F1C021 */ addu $t8, $t7, $s1 +/* 027E04 80027204 33190006 */ andi $t9, $t8, 6 +/* 027E08 80027208 01D97825 */ or $t7, $t6, $t9 +/* 027E0C 8002720C 31F800FF */ andi $t8, $t7, 0xff +/* 027E10 80027210 00187400 */ sll $t6, $t8, 0x10 +/* 027E14 80027214 000278C0 */ sll $t7, $v0, 3 +/* 027E18 80027218 3C010400 */ lui $at, 0x400 +/* 027E1C 8002721C 01C1C825 */ or $t9, $t6, $at +/* 027E20 80027220 01E2C021 */ addu $t8, $t7, $v0 +/* 027E24 80027224 00187040 */ sll $t6, $t8, 1 +/* 027E28 80027228 25CF0008 */ addiu $t7, $t6, 8 +/* 027E2C 8002722C 31F8FFFF */ andi $t8, $t7, 0xffff +/* 027E30 80027230 03387025 */ or $t6, $t9, $t8 +/* 027E34 80027234 AD4E0000 */ sw $t6, ($t2) +/* 027E38 80027238 8E0F0000 */ lw $t7, ($s0) +/* 027E3C 8002723C 3C010500 */ lui $at, 0x500 +/* 027E40 80027240 01F1C821 */ addu $t9, $t7, $s1 +/* 027E44 80027244 AD590004 */ sw $t9, 4($t2) +/* 027E48 80027248 846C0000 */ lh $t4, ($v1) +/* 027E4C 8002724C 8DAA0000 */ lw $t2, ($t5) +/* 027E50 80027250 000C7043 */ sra $t6, $t4, 1 +/* 027E54 80027254 25CFFFFF */ addiu $t7, $t6, -1 +/* 027E58 80027258 25580008 */ addiu $t8, $t2, 8 +/* 027E5C 8002725C ADB80000 */ sw $t8, ($t5) +/* 027E60 80027260 000FC900 */ sll $t9, $t7, 4 +/* 027E64 80027264 333800FF */ andi $t8, $t9, 0xff +/* 027E68 80027268 01C06025 */ move $t4, $t6 +/* 027E6C 8002726C 00187400 */ sll $t6, $t8, 0x10 +/* 027E70 80027270 000CC900 */ sll $t9, $t4, 4 +/* 027E74 80027274 3338FFFF */ andi $t8, $t9, 0xffff +/* 027E78 80027278 01C17825 */ or $t7, $t6, $at +/* 027E7C 8002727C 01F87025 */ or $t6, $t7, $t8 +/* 027E80 80027280 3C198012 */ lui $t9, %hi(D_8011D498) # $t9, 0x8012 +/* 027E84 80027284 AD4E0000 */ sw $t6, ($t2) +/* 027E88 80027288 8F39D498 */ lw $t9, %lo(D_8011D498)($t9) +/* 027E8C 8002728C 24E7B0A8 */ addiu $a3, %lo(D_8011B0A8) # addiu $a3, $a3, -0x4f58 +/* 027E90 80027290 03317821 */ addu $t7, $t9, $s1 +/* 027E94 80027294 AD4F0004 */ sw $t7, 4($t2) +/* 027E98 80027298 3C088012 */ lui $t0, %hi(D_8011B0AC) # $t0, 0x8012 +/* 027E9C 8002729C 8CF80000 */ lw $t8, ($a3) +/* 027EA0 800272A0 2508B0AC */ addiu $t0, %lo(D_8011B0AC) # addiu $t0, $t0, -0x4f54 +/* 027EA4 800272A4 8D0E0000 */ lw $t6, ($t0) +/* 027EA8 800272A8 A4600000 */ sh $zero, ($v1) +/* 027EAC 800272AC 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012 +/* 027EB0 800272B0 AE180000 */ sw $t8, ($s0) +/* 027EB4 800272B4 AC2ED498 */ sw $t6, %lo(D_8011D498)($at) +.L800272B8: +/* 027EB8 800272B8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 027EBC 800272BC 44819000 */ mtc1 $at, $f18 +/* 027EC0 800272C0 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 +/* 027EC4 800272C4 C420D4A0 */ lwc1 $f0, %lo(D_8011D4A0)($at) +/* 027EC8 800272C8 3C018012 */ lui $at, %hi(D_8011D4AC) # $at, 0x8012 +/* 027ECC 800272CC 46006102 */ mul.s $f4, $f12, $f0 +/* 027ED0 800272D0 C422D4AC */ lwc1 $f2, %lo(D_8011D4AC)($at) +/* 027ED4 800272D4 3C078012 */ lui $a3, %hi(D_8011B0A8) # $a3, 0x8012 +/* 027ED8 800272D8 24E7B0A8 */ addiu $a3, %lo(D_8011B0A8) # addiu $a3, $a3, -0x4f58 +/* 027EDC 800272DC 46022180 */ add.s $f6, $f4, $f2 +/* 027EE0 800272E0 8CE20000 */ lw $v0, ($a3) +/* 027EE4 800272E4 4459F800 */ cfc1 $t9, $31 +/* 027EE8 800272E8 3C0D8012 */ lui $t5, %hi(D_8011B0E1) # $t5, 0x8012 +/* 027EEC 800272EC 37210003 */ ori $at, $t9, 3 +/* 027EF0 800272F0 38210002 */ xori $at, $at, 2 +/* 027EF4 800272F4 44C1F800 */ ctc1 $at, $31 +/* 027EF8 800272F8 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 +/* 027EFC 800272FC 46003224 */ cvt.w.s $f8, $f6 +/* 027F00 80027300 C42ED4A4 */ lwc1 $f14, %lo(D_8011D4A4)($at) +/* 027F04 80027304 44D9F800 */ ctc1 $t9, $31 +/* 027F08 80027308 3C018012 */ lui $at, %hi(D_8011D4B0) # $at, 0x8012 +/* 027F0C 8002730C 460E6282 */ mul.s $f10, $f12, $f14 +/* 027F10 80027310 C430D4B0 */ lwc1 $f16, %lo(D_8011D4B0)($at) +/* 027F14 80027314 44094000 */ mfc1 $t1, $f8 +/* 027F18 80027318 C7A8001C */ lwc1 $f8, 0x1c($sp) +/* 027F1C 8002731C 46105100 */ add.s $f4, $f10, $f16 +/* 027F20 80027320 3C108012 */ lui $s0, %hi(D_8011B0E2) # $s0, 0x8012 +/* 027F24 80027324 444EF800 */ cfc1 $t6, $31 +/* 027F28 80027328 3C118012 */ lui $s1, %hi(D_8011B0E3) # $s1, 0x8012 +/* 027F2C 8002732C 35C10003 */ ori $at, $t6, 3 +/* 027F30 80027330 38210002 */ xori $at, $at, 2 +/* 027F34 80027334 44C1F800 */ ctc1 $at, $31 +/* 027F38 80027338 91ADB0E1 */ lbu $t5, %lo(D_8011B0E1)($t5) +/* 027F3C 8002733C 460021A4 */ cvt.w.s $f6, $f4 +/* 027F40 80027340 9210B0E2 */ lbu $s0, %lo(D_8011B0E2)($s0) +/* 027F44 80027344 44CEF800 */ ctc1 $t6, $31 +/* 027F48 80027348 440A3000 */ mfc1 $t2, $f6 +/* 027F4C 8002734C 46004282 */ mul.s $f10, $f8, $f0 +/* 027F50 80027350 9231B0E3 */ lbu $s1, %lo(D_8011B0E3)($s1) +/* 027F54 80027354 A4490000 */ sh $t1, ($v0) +/* 027F58 80027358 3C088012 */ lui $t0, %hi(D_8011B0AC) # $t0, 0x8012 +/* 027F5C 8002735C 46025100 */ add.s $f4, $f10, $f2 +/* 027F60 80027360 2508B0AC */ addiu $t0, %lo(D_8011B0AC) # addiu $t0, $t0, -0x4f54 +/* 027F64 80027364 4458F800 */ cfc1 $t8, $31 +/* 027F68 80027368 24420028 */ addiu $v0, $v0, 0x28 +/* 027F6C 8002736C 37010003 */ ori $at, $t8, 3 +/* 027F70 80027370 38210002 */ xori $at, $at, 2 +/* 027F74 80027374 44C1F800 */ ctc1 $at, $31 +/* 027F78 80027378 00000000 */ nop +/* 027F7C 8002737C 460021A4 */ cvt.w.s $f6, $f4 +/* 027F80 80027380 44D8F800 */ ctc1 $t8, $31 +/* 027F84 80027384 440B3000 */ mfc1 $t3, $f6 +/* 027F88 80027388 460E4282 */ mul.s $f10, $f8, $f14 +/* 027F8C 8002738C C4880000 */ lwc1 $f8, ($a0) +/* 027F90 80027390 241800FF */ li $t8, 255 +/* 027F94 80027394 A058FFE1 */ sb $t8, -0x1f($v0) +/* 027F98 80027398 46105100 */ add.s $f4, $f10, $f16 +/* 027F9C 8002739C A04DFFDE */ sb $t5, -0x22($v0) +/* 027FA0 800273A0 444FF800 */ cfc1 $t7, $31 +/* 027FA4 800273A4 A050FFDF */ sb $s0, -0x21($v0) +/* 027FA8 800273A8 35E10003 */ ori $at, $t7, 3 +/* 027FAC 800273AC 38210002 */ xori $at, $at, 2 +/* 027FB0 800273B0 44C1F800 */ ctc1 $at, $31 +/* 027FB4 800273B4 A44AFFDC */ sh $t2, -0x24($v0) +/* 027FB8 800273B8 460021A4 */ cvt.w.s $f6, $f4 +/* 027FBC 800273BC A051FFE0 */ sb $s1, -0x20($v0) +/* 027FC0 800273C0 44CFF800 */ ctc1 $t7, $31 +/* 027FC4 800273C4 440C3000 */ mfc1 $t4, $f6 +/* 027FC8 800273C8 46124280 */ add.s $f10, $f8, $f18 +/* 027FCC 800273CC A44BFFE2 */ sh $t3, -0x1e($v0) +/* 027FD0 800273D0 4459F800 */ cfc1 $t9, $31 +/* 027FD4 800273D4 00000000 */ nop +/* 027FD8 800273D8 37210003 */ ori $at, $t9, 3 +/* 027FDC 800273DC 38210002 */ xori $at, $at, 2 +/* 027FE0 800273E0 44C1F800 */ ctc1 $at, $31 +/* 027FE4 800273E4 00000000 */ nop +/* 027FE8 800273E8 46005124 */ cvt.w.s $f4, $f10 +/* 027FEC 800273EC 440F2000 */ mfc1 $t7, $f4 +/* 027FF0 800273F0 44D9F800 */ ctc1 $t9, $31 +/* 027FF4 800273F4 A44FFFDA */ sh $t7, -0x26($v0) +/* 027FF8 800273F8 C4860004 */ lwc1 $f6, 4($a0) +/* 027FFC 800273FC 240F00FF */ li $t7, 255 +/* 028000 80027400 46123200 */ add.s $f8, $f6, $f18 +/* 028004 80027404 A04FFFEB */ sb $t7, -0x15($v0) +/* 028008 80027408 444EF800 */ cfc1 $t6, $31 +/* 02800C 8002740C A449FFEC */ sh $t1, -0x14($v0) +/* 028010 80027410 35C10003 */ ori $at, $t6, 3 +/* 028014 80027414 38210002 */ xori $at, $at, 2 +/* 028018 80027418 44C1F800 */ ctc1 $at, $31 +/* 02801C 8002741C A04DFFE8 */ sb $t5, -0x18($v0) +/* 028020 80027420 460042A4 */ cvt.w.s $f10, $f8 +/* 028024 80027424 A050FFE9 */ sb $s0, -0x17($v0) +/* 028028 80027428 44195000 */ mfc1 $t9, $f10 +/* 02802C 8002742C A051FFEA */ sb $s1, -0x16($v0) +/* 028030 80027430 A44CFFE6 */ sh $t4, -0x1a($v0) +/* 028034 80027434 A459FFE4 */ sh $t9, -0x1c($v0) +/* 028038 80027438 44CEF800 */ ctc1 $t6, $31 +/* 02803C 8002743C C4A40000 */ lwc1 $f4, ($a1) +/* 028040 80027440 241900FF */ li $t9, 255 +/* 028044 80027444 46122181 */ sub.s $f6, $f4, $f18 +/* 028048 80027448 A059FFF5 */ sb $t9, -0xb($v0) +/* 02804C 8002744C 4458F800 */ cfc1 $t8, $31 +/* 028050 80027450 A04DFFF2 */ sb $t5, -0xe($v0) +/* 028054 80027454 37010003 */ ori $at, $t8, 3 +/* 028058 80027458 38210002 */ xori $at, $at, 2 +/* 02805C 8002745C 44C1F800 */ ctc1 $at, $31 +/* 028060 80027460 A050FFF3 */ sb $s0, -0xd($v0) +/* 028064 80027464 46003224 */ cvt.w.s $f8, $f6 +/* 028068 80027468 A44AFFF0 */ sh $t2, -0x10($v0) +/* 02806C 8002746C 440E4000 */ mfc1 $t6, $f8 +/* 028070 80027470 A051FFF4 */ sb $s1, -0xc($v0) +/* 028074 80027474 A44BFFF6 */ sh $t3, -0xa($v0) +/* 028078 80027478 A44EFFEE */ sh $t6, -0x12($v0) +/* 02807C 8002747C 44D8F800 */ ctc1 $t8, $31 +/* 028080 80027480 C4AA0004 */ lwc1 $f10, 4($a1) +/* 028084 80027484 240E00FF */ li $t6, 255 +/* 028088 80027488 46125101 */ sub.s $f4, $f10, $f18 +/* 02808C 8002748C A04DFFFC */ sb $t5, -4($v0) +/* 028090 80027490 444FF800 */ cfc1 $t7, $31 +/* 028094 80027494 A050FFFD */ sb $s0, -3($v0) +/* 028098 80027498 35E10003 */ ori $at, $t7, 3 +/* 02809C 8002749C 38210002 */ xori $at, $at, 2 +/* 0280A0 800274A0 44C1F800 */ ctc1 $at, $31 +/* 0280A4 800274A4 A44CFFFA */ sh $t4, -6($v0) +/* 0280A8 800274A8 460021A4 */ cvt.w.s $f6, $f4 +/* 0280AC 800274AC A04EFFFF */ sb $t6, -1($v0) +/* 0280B0 800274B0 44183000 */ mfc1 $t8, $f6 +/* 0280B4 800274B4 A051FFFE */ sb $s1, -2($v0) +/* 0280B8 800274B8 A458FFF8 */ sh $t8, -8($v0) +/* 0280BC 800274BC 90650001 */ lbu $a1, 1($v1) +/* 0280C0 800274C0 8D040000 */ lw $a0, ($t0) +/* 0280C4 800274C4 ACE20000 */ sw $v0, ($a3) +/* 0280C8 800274C8 240D03E0 */ li $t5, 992 +/* 0280CC 800274CC 24100001 */ li $s0, 1 +/* 0280D0 800274D0 240C0040 */ li $t4, 64 +/* 0280D4 800274D4 24AA0002 */ addiu $t2, $a1, 2 +/* 0280D8 800274D8 24AB0001 */ addiu $t3, $a1, 1 +/* 0280DC 800274DC 24B90003 */ addiu $t9, $a1, 3 +/* 0280E0 800274E0 A0990011 */ sb $t9, 0x11($a0) +/* 0280E4 800274E4 A08C0000 */ sb $t4, ($a0) +/* 0280E8 800274E8 A08A0001 */ sb $t2, 1($a0) +/* 0280EC 800274EC A08B0002 */ sb $t3, 2($a0) +/* 0280F0 800274F0 A0850003 */ sb $a1, 3($a0) +/* 0280F4 800274F4 A48D0004 */ sh $t5, 4($a0) +/* 0280F8 800274F8 A48D0006 */ sh $t5, 6($a0) +/* 0280FC 800274FC A48D0008 */ sh $t5, 8($a0) +/* 028100 80027500 A480000A */ sh $zero, 0xa($a0) +/* 028104 80027504 A490000C */ sh $s0, 0xc($a0) +/* 028108 80027508 A480000E */ sh $zero, 0xe($a0) +/* 02810C 8002750C A08C0010 */ sb $t4, 0x10($a0) +/* 028110 80027510 A08B0012 */ sb $t3, 0x12($a0) +/* 028114 80027514 A08A0013 */ sb $t2, 0x13($a0) +/* 028118 80027518 A4900014 */ sh $s0, 0x14($a0) +/* 02811C 8002751C A48D0016 */ sh $t5, 0x16($a0) +/* 028120 80027520 A48D0018 */ sh $t5, 0x18($a0) +/* 028124 80027524 A48D001A */ sh $t5, 0x1a($a0) +/* 028128 80027528 A490001C */ sh $s0, 0x1c($a0) +/* 02812C 8002752C A480001E */ sh $zero, 0x1e($a0) +/* 028130 80027530 44CFF800 */ ctc1 $t7, $31 +/* 028134 80027534 846F0000 */ lh $t7, ($v1) +/* 028138 80027538 84CE0000 */ lh $t6, ($a2) +/* 02813C 8002753C 24840020 */ addiu $a0, $a0, 0x20 +/* 028140 80027540 25F80004 */ addiu $t8, $t7, 4 +/* 028144 80027544 25D90001 */ addiu $t9, $t6, 1 +/* 028148 80027548 AD040000 */ sw $a0, ($t0) +/* 02814C 8002754C A4780000 */ sh $t8, ($v1) +/* 028150 80027550 A4D90000 */ sh $t9, ($a2) +/* 028154 80027554 00001025 */ move $v0, $zero +.L80027558: +/* 028158 80027558 8FB00008 */ lw $s0, 8($sp) +/* 02815C 8002755C 8FB1000C */ lw $s1, 0xc($sp) +/* 028160 80027560 03E00008 */ jr $ra +/* 028164 80027564 27BD0010 */ addiu $sp, $sp, 0x10 + diff --git a/asm/non_matchings/unknown_0255E0/func_80027568.s b/asm/non_matchings/unknown_0255E0/func_80027568.s new file mode 100644 index 00000000..b5b21bcf --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80027568.s @@ -0,0 +1,245 @@ +glabel func_80027568 +/* 028168 80027568 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 02816C 8002756C AFBF0044 */ sw $ra, 0x44($sp) +/* 028170 80027570 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 028174 80027574 E7BE003C */ swc1 $f30, 0x3c($sp) +/* 028178 80027578 E7BD0030 */ swc1 $f29, 0x30($sp) +/* 02817C 8002757C E7BC0034 */ swc1 $f28, 0x34($sp) +/* 028180 80027580 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 028184 80027584 E7BA002C */ swc1 $f26, 0x2c($sp) +/* 028188 80027588 E7B90020 */ swc1 $f25, 0x20($sp) +/* 02818C 8002758C E7B80024 */ swc1 $f24, 0x24($sp) +/* 028190 80027590 E7B70018 */ swc1 $f23, 0x18($sp) +/* 028194 80027594 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 028198 80027598 E7B50010 */ swc1 $f21, 0x10($sp) +/* 02819C 8002759C E7B40014 */ swc1 $f20, 0x14($sp) +/* 0281A0 800275A0 0C006E9D */ jal func_8001BA74 +/* 0281A4 800275A4 27A400C4 */ addiu $a0, $sp, 0xc4 +/* 0281A8 800275A8 8FAE00C4 */ lw $t6, 0xc4($sp) +/* 0281AC 800275AC 00403025 */ move $a2, $v0 +/* 0281B0 800275B0 15C00003 */ bnez $t6, .L800275C0 +/* 0281B4 800275B4 00000000 */ nop +/* 0281B8 800275B8 100000BC */ b .L800278AC +/* 0281BC 800275BC 00001025 */ move $v0, $zero +.L800275C0: +/* 0281C0 800275C0 0C019944 */ jal func_80066510 +/* 0281C4 800275C4 AFA60080 */ sw $a2, 0x80($sp) +/* 0281C8 800275C8 8FA60080 */ lw $a2, 0x80($sp) +/* 0281CC 800275CC 1440000A */ bnez $v0, .L800275F8 +/* 0281D0 800275D0 3C0F8012 */ lui $t7, %hi(D_8011B0B0) # $t7, 0x8012 +/* 0281D4 800275D4 8DEFB0B0 */ lw $t7, %lo(D_8011B0B0)($t7) +/* 0281D8 800275D8 00000000 */ nop +/* 0281DC 800275DC 85E20036 */ lh $v0, 0x36($t7) +/* 0281E0 800275E0 00000000 */ nop +/* 0281E4 800275E4 28410005 */ slti $at, $v0, 5 +/* 0281E8 800275E8 10200003 */ beqz $at, .L800275F8 +/* 0281EC 800275EC 24010003 */ li $at, 3 +/* 0281F0 800275F0 14410003 */ bne $v0, $at, .L80027600 +/* 0281F4 800275F4 00000000 */ nop +.L800275F8: +/* 0281F8 800275F8 100000AC */ b .L800278AC +/* 0281FC 800275FC 00001025 */ move $v0, $zero +.L80027600: +/* 028200 80027600 0C019888 */ jal func_80066220 +/* 028204 80027604 AFA60080 */ sw $a2, 0x80($sp) +/* 028208 80027608 8FB800C4 */ lw $t8, 0xc4($sp) +/* 02820C 8002760C 8FA60080 */ lw $a2, 0x80($sp) +/* 028210 80027610 00005825 */ move $t3, $zero +/* 028214 80027614 1B000011 */ blez $t8, .L8002765C +/* 028218 80027618 00001825 */ move $v1, $zero +/* 02821C 8002761C 0003C880 */ sll $t9, $v1, 2 +.L80027620: +/* 028220 80027620 00D97021 */ addu $t6, $a2, $t9 +/* 028224 80027624 8DC50000 */ lw $a1, ($t6) +/* 028228 80027628 8FB800C4 */ lw $t8, 0xc4($sp) +/* 02822C 8002762C 8CA40064 */ lw $a0, 0x64($a1) +/* 028230 80027630 00000000 */ nop +/* 028234 80027634 848F0000 */ lh $t7, ($a0) +/* 028238 80027638 00000000 */ nop +/* 02823C 8002763C 144F0004 */ bne $v0, $t7, .L80027650 +/* 028240 80027640 24630001 */ addiu $v1, $v1, 1 +/* 028244 80027644 8FA300C4 */ lw $v1, 0xc4($sp) +/* 028248 80027648 00A05825 */ move $t3, $a1 +/* 02824C 8002764C 24630001 */ addiu $v1, $v1, 1 +.L80027650: +/* 028250 80027650 0078082A */ slt $at, $v1, $t8 +/* 028254 80027654 1420FFF2 */ bnez $at, .L80027620 +/* 028258 80027658 0003C880 */ sll $t9, $v1, 2 +.L8002765C: +/* 02825C 8002765C 15600003 */ bnez $t3, .L8002766C +/* 028260 80027660 24040001 */ li $a0, 1 +/* 028264 80027664 10000091 */ b .L800278AC +/* 028268 80027668 00001025 */ move $v0, $zero +.L8002766C: +/* 02826C 8002766C 3C068012 */ lui $a2, %hi(D_8011B0B0) # $a2, 0x8012 +/* 028270 80027670 8CC6B0B0 */ lw $a2, %lo(D_8011B0B0)($a2) +/* 028274 80027674 2565000C */ addiu $a1, $t3, 0xc +/* 028278 80027678 2407FFFF */ li $a3, -1 +/* 02827C 8002767C AFAB007C */ sw $t3, 0x7c($sp) +/* 028280 80027680 0C00C44C */ jal func_80031130 +/* 028284 80027684 24C6000C */ addiu $a2, $a2, 0xc +/* 028288 80027688 3C038012 */ lui $v1, %hi(D_8011D378) # $v1, 0x8012 +/* 02828C 8002768C 8C63D378 */ lw $v1, %lo(D_8011D378)($v1) +/* 028290 80027690 8FAB007C */ lw $t3, 0x7c($sp) +/* 028294 80027694 18600084 */ blez $v1, .L800278A8 +/* 028298 80027698 00003825 */ move $a3, $zero +/* 02829C 8002769C 3C198012 */ lui $t9, %hi(D_8011D370) # $t9, 0x8012 +/* 0282A0 800276A0 8F39D370 */ lw $t9, %lo(D_8011D370)($t9) +/* 0282A4 800276A4 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0282A8 800276A8 00006080 */ sll $t4, $zero, 2 +/* 0282AC 800276AC 00037080 */ sll $t6, $v1, 2 +/* 0282B0 800276B0 4481D000 */ mtc1 $at, $f26 +/* 0282B4 800276B4 8FBF00E4 */ lw $ra, 0xe4($sp) +/* 0282B8 800276B8 AFAE004C */ sw $t6, 0x4c($sp) +/* 0282BC 800276BC 24090001 */ li $t1, 1 +/* 0282C0 800276C0 032C6821 */ addu $t5, $t9, $t4 +.L800276C4: +/* 0282C4 800276C4 8DA40000 */ lw $a0, ($t5) +/* 0282C8 800276C8 3C018000 */ lui $at, 0x8000 +/* 0282CC 800276CC 18800003 */ blez $a0, .L800276DC +/* 0282D0 800276D0 3C058012 */ lui $a1, %hi(D_8011B0B0) # $a1, 0x8012 +/* 0282D4 800276D4 1000006C */ b .L80027888 +/* 0282D8 800276D8 0081F825 */ or $ra, $a0, $at +.L800276DC: +/* 0282DC 800276DC 948F0000 */ lhu $t7, ($a0) +/* 0282E0 800276E0 8FE80018 */ lw $t0, 0x18($ra) +/* 0282E4 800276E4 8CA5B0B0 */ lw $a1, %lo(D_8011B0B0)($a1) +/* 0282E8 800276E8 000FC100 */ sll $t8, $t7, 4 +/* 0282EC 800276EC 01181821 */ addu $v1, $t0, $t8 +/* 0282F0 800276F0 C4620000 */ lwc1 $f2, ($v1) +/* 0282F4 800276F4 C4BC000C */ lwc1 $f28, 0xc($a1) +/* 0282F8 800276F8 C4740004 */ lwc1 $f20, 4($v1) +/* 0282FC 800276FC 4602E102 */ mul.s $f4, $f28, $f2 +/* 028300 80027700 C4BE0010 */ lwc1 $f30, 0x10($a1) +/* 028304 80027704 C4760008 */ lwc1 $f22, 8($v1) +/* 028308 80027708 C4A00014 */ lwc1 $f0, 0x14($a1) +/* 02830C 8002770C 461EA182 */ mul.s $f6, $f20, $f30 +/* 028310 80027710 C478000C */ lwc1 $f24, 0xc($v1) +/* 028314 80027714 3C01402C */ li $at, 0x402C0000 # 2.687500 +/* 028318 80027718 00805025 */ move $t2, $a0 +/* 02831C 8002771C 4600B282 */ mul.s $f10, $f22, $f0 +/* 028320 80027720 46062200 */ add.s $f8, $f4, $f6 +/* 028324 80027724 44815800 */ mtc1 $at, $f11 +/* 028328 80027728 3C01800E */ lui $at, %hi(D_800E5E90) # $at, 0x800e +/* 02832C 8002772C 460A4100 */ add.s $f4, $f8, $f10 +/* 028330 80027730 44805000 */ mtc1 $zero, $f10 +/* 028334 80027734 46182180 */ add.s $f6, $f4, $f24 +/* 028338 80027738 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 02833C 8002773C 46003221 */ cvt.d.s $f8, $f6 +/* 028340 80027740 462A4101 */ sub.d $f4, $f8, $f10 +/* 028344 80027744 C4285E94 */ lwc1 $f8, %lo(D_800E5E94)($at) +/* 028348 80027748 46202320 */ cvt.s.d $f12, $f4 +/* 02834C 8002774C C4295E90 */ lwc1 $f9, %lo(D_800E5E90)($at) +/* 028350 80027750 460061A1 */ cvt.d.s $f6, $f12 +/* 028354 80027754 4628303C */ c.lt.d $f6, $f8 +/* 028358 80027758 00000000 */ nop +/* 02835C 8002775C 4500004B */ bc1f .L8002788C +/* 028360 80027760 8FB9004C */ lw $t9, 0x4c($sp) +/* 028364 80027764 C56E000C */ lwc1 $f14, 0xc($t3) +/* 028368 80027768 C5700010 */ lwc1 $f16, 0x10($t3) +/* 02836C 8002776C 46027282 */ mul.s $f10, $f14, $f2 +/* 028370 80027770 C5720014 */ lwc1 $f18, 0x14($t3) +/* 028374 80027774 3C01800E */ lui $at, %hi(D_800E5E9C) # $at, 0x800e +/* 028378 80027778 00001025 */ move $v0, $zero +/* 02837C 8002777C 4610A102 */ mul.s $f4, $f20, $f16 +/* 028380 80027780 00000000 */ nop +/* 028384 80027784 4612B202 */ mul.s $f8, $f22, $f18 +/* 028388 80027788 46045180 */ add.s $f6, $f10, $f4 +/* 02838C 8002778C C4275E98 */ lwc1 $f7, %lo(D_800E5E98)($at) +/* 028390 80027790 46083280 */ add.s $f10, $f6, $f8 +/* 028394 80027794 C4265E9C */ lwc1 $f6, %lo(D_800E5E9C)($at) +/* 028398 80027798 46185000 */ add.s $f0, $f10, $f24 +/* 02839C 8002779C C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 0283A0 800277A0 46000121 */ cvt.d.s $f4, $f0 +/* 0283A4 800277A4 4624303E */ c.le.d $f6, $f4 +/* 0283A8 800277A8 00000000 */ nop +/* 0283AC 800277AC 45000036 */ bc1f .L80027888 +/* 0283B0 800277B0 00000000 */ nop +/* 0283B4 800277B4 460C0032 */ c.eq.s $f0, $f12 +/* 0283B8 800277B8 460EE501 */ sub.s $f20, $f28, $f14 +/* 0283BC 800277BC 24070001 */ li $a3, 1 +/* 0283C0 800277C0 4610F581 */ sub.s $f22, $f30, $f16 +/* 0283C4 800277C4 45010004 */ bc1t .L800277D8 +/* 0283C8 800277C8 46124601 */ sub.s $f24, $f8, $f18 +/* 0283CC 800277CC 460C0281 */ sub.s $f10, $f0, $f12 +/* 0283D0 800277D0 10000003 */ b .L800277E0 +/* 0283D4 800277D4 460A0083 */ div.s $f2, $f0, $f10 +.L800277D8: +/* 0283D8 800277D8 44801000 */ mtc1 $zero, $f2 +/* 0283DC 800277DC 00000000 */ nop +.L800277E0: +/* 0283E0 800277E0 4602A102 */ mul.s $f4, $f20, $f2 +/* 0283E4 800277E4 00022840 */ sll $a1, $v0, 1 +/* 0283E8 800277E8 01453021 */ addu $a2, $t2, $a1 +/* 0283EC 800277EC 4602B182 */ mul.s $f6, $f22, $f2 +/* 0283F0 800277F0 46047500 */ add.s $f20, $f14, $f4 +/* 0283F4 800277F4 4602C202 */ mul.s $f8, $f24, $f2 +/* 0283F8 800277F8 46068580 */ add.s $f22, $f16, $f6 +/* 0283FC 800277FC 46089600 */ add.s $f24, $f18, $f8 +.L80027800: +/* 028400 80027800 94C20002 */ lhu $v0, 2($a2) +/* 028404 80027804 24A50002 */ addiu $a1, $a1, 2 +/* 028408 80027808 30598000 */ andi $t9, $v0, 0x8000 +/* 02840C 8002780C 13200004 */ beqz $t9, .L80027820 +/* 028410 80027810 00002025 */ move $a0, $zero +/* 028414 80027814 304E7FFF */ andi $t6, $v0, 0x7fff +/* 028418 80027818 01C01025 */ move $v0, $t6 +/* 02841C 8002781C 01202025 */ move $a0, $t1 +.L80027820: +/* 028420 80027820 0002C100 */ sll $t8, $v0, 4 +/* 028424 80027824 01181821 */ addu $v1, $t0, $t8 +/* 028428 80027828 C4600000 */ lwc1 $f0, ($v1) +/* 02842C 8002782C C4620004 */ lwc1 $f2, 4($v1) +/* 028430 80027830 46140282 */ mul.s $f10, $f0, $f20 +/* 028434 80027834 C46C0008 */ lwc1 $f12, 8($v1) +/* 028438 80027838 C46E000C */ lwc1 $f14, 0xc($v1) +/* 02843C 8002783C 28A10006 */ slti $at, $a1, 6 +/* 028440 80027840 46161102 */ mul.s $f4, $f2, $f22 +/* 028444 80027844 00000000 */ nop +/* 028448 80027848 46186202 */ mul.s $f8, $f12, $f24 +/* 02844C 8002784C 46045180 */ add.s $f6, $f10, $f4 +/* 028450 80027850 46083280 */ add.s $f10, $f6, $f8 +/* 028454 80027854 460E5480 */ add.s $f18, $f10, $f14 +/* 028458 80027858 10800002 */ beqz $a0, .L80027864 +/* 02845C 8002785C 46009406 */ mov.s $f16, $f18 +/* 028460 80027860 46009407 */ neg.s $f16, $f18 +.L80027864: +/* 028464 80027864 4610D03C */ c.lt.s $f26, $f16 +/* 028468 80027868 00000000 */ nop +/* 02846C 8002786C 45000002 */ bc1f .L80027878 +/* 028470 80027870 00000000 */ nop +/* 028474 80027874 00003825 */ move $a3, $zero +.L80027878: +/* 028478 80027878 10200003 */ beqz $at, .L80027888 +/* 02847C 8002787C 24C60002 */ addiu $a2, $a2, 2 +/* 028480 80027880 10E9FFDF */ beq $a3, $t1, .L80027800 +/* 028484 80027884 00000000 */ nop +.L80027888: +/* 028488 80027888 8FB9004C */ lw $t9, 0x4c($sp) +.L8002788C: +/* 02848C 8002788C 258C0004 */ addiu $t4, $t4, 4 +/* 028490 80027890 0199082A */ slt $at, $t4, $t9 +/* 028494 80027894 10200004 */ beqz $at, .L800278A8 +/* 028498 80027898 25AD0004 */ addiu $t5, $t5, 4 +/* 02849C 8002789C 10E0FF89 */ beqz $a3, .L800276C4 +/* 0284A0 800278A0 00000000 */ nop +/* 0284A4 800278A4 AFBF00E4 */ sw $ra, 0xe4($sp) +.L800278A8: +/* 0284A8 800278A8 00E01025 */ move $v0, $a3 +.L800278AC: +/* 0284AC 800278AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 0284B0 800278B0 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0284B4 800278B4 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0284B8 800278B8 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 0284BC 800278BC C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 0284C0 800278C0 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 0284C4 800278C4 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 0284C8 800278C8 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 0284CC 800278CC C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 0284D0 800278D0 C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 0284D4 800278D4 C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 0284D8 800278D8 C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 0284DC 800278DC C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 0284E0 800278E0 03E00008 */ jr $ra +/* 0284E4 800278E4 27BD00E8 */ addiu $sp, $sp, 0xe8 + diff --git a/asm/non_matchings/unknown_0255E0/func_800278E8.s b/asm/non_matchings/unknown_0255E0/func_800278E8.s new file mode 100644 index 00000000..e4db33ff --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800278E8.s @@ -0,0 +1,352 @@ +glabel func_800278E8 +/* 0284E8 800278E8 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0284EC 800278EC AFBF001C */ sw $ra, 0x1c($sp) +/* 0284F0 800278F0 AFA40070 */ sw $a0, 0x70($sp) +/* 0284F4 800278F4 AFB10018 */ sw $s1, 0x18($sp) +/* 0284F8 800278F8 AFB00014 */ sw $s0, 0x14($sp) +/* 0284FC 800278FC 0C006E9D */ jal func_8001BA74 +/* 028500 80027900 27A40038 */ addiu $a0, $sp, 0x38 +/* 028504 80027904 8FAE0038 */ lw $t6, 0x38($sp) +/* 028508 80027908 00001825 */ move $v1, $zero +/* 02850C 8002790C 19C00031 */ blez $t6, .L800279D4 +/* 028510 80027910 00003025 */ move $a2, $zero +/* 028514 80027914 00408025 */ move $s0, $v0 +.L80027918: +/* 028518 80027918 8E020000 */ lw $v0, ($s0) +/* 02851C 8002791C 00000000 */ nop +/* 028520 80027920 10400028 */ beqz $v0, .L800279C4 +/* 028524 80027924 8FAE0038 */ lw $t6, 0x38($sp) +/* 028528 80027928 8C510064 */ lw $s1, 0x64($v0) +/* 02852C 8002792C 27A50030 */ addiu $a1, $sp, 0x30 +/* 028530 80027930 822F01FD */ lb $t7, 0x1fd($s1) +/* 028534 80027934 00000000 */ nop +/* 028538 80027938 AFAF0030 */ sw $t7, 0x30($sp) +/* 02853C 8002793C 8E040000 */ lw $a0, ($s0) +/* 028540 80027940 AFA60034 */ sw $a2, 0x34($sp) +/* 028544 80027944 0C006F75 */ jal func_8001BDD4 +/* 028548 80027948 AFA30040 */ sw $v1, 0x40($sp) +/* 02854C 8002794C 8FB80030 */ lw $t8, 0x30($sp) +/* 028550 80027950 823901D8 */ lb $t9, 0x1d8($s1) +/* 028554 80027954 8FA30040 */ lw $v1, 0x40($sp) +/* 028558 80027958 8FA60034 */ lw $a2, 0x34($sp) +/* 02855C 8002795C 13200009 */ beqz $t9, .L80027984 +/* 028560 80027960 A23801FD */ sb $t8, 0x1fd($s1) +/* 028564 80027964 862801AC */ lh $t0, 0x1ac($s1) +/* 028568 80027968 24010001 */ li $at, 1 +/* 02856C 8002796C 15010015 */ bne $t0, $at, .L800279C4 +/* 028570 80027970 8FAE0038 */ lw $t6, 0x38($sp) +/* 028574 80027974 AFB1003C */ sw $s1, 0x3c($sp) +/* 028578 80027978 8E090000 */ lw $t1, ($s0) +/* 02857C 8002797C 10000010 */ b .L800279C0 +/* 028580 80027980 AFA90048 */ sw $t1, 0x48($sp) +.L80027984: +/* 028584 80027984 14600005 */ bnez $v1, .L8002799C +/* 028588 80027988 00000000 */ nop +/* 02858C 8002798C 8E0A0000 */ lw $t2, ($s0) +/* 028590 80027990 02201825 */ move $v1, $s1 +/* 028594 80027994 1000000A */ b .L800279C0 +/* 028598 80027998 AFAA004C */ sw $t2, 0x4c($sp) +.L8002799C: +/* 02859C 8002799C 862B01AE */ lh $t3, 0x1ae($s1) +/* 0285A0 800279A0 846C01AE */ lh $t4, 0x1ae($v1) +/* 0285A4 800279A4 00000000 */ nop +/* 0285A8 800279A8 016C082A */ slt $at, $t3, $t4 +/* 0285AC 800279AC 10200005 */ beqz $at, .L800279C4 +/* 0285B0 800279B0 8FAE0038 */ lw $t6, 0x38($sp) +/* 0285B4 800279B4 8E0D0000 */ lw $t5, ($s0) +/* 0285B8 800279B8 02201825 */ move $v1, $s1 +/* 0285BC 800279BC AFAD004C */ sw $t5, 0x4c($sp) +.L800279C0: +/* 0285C0 800279C0 8FAE0038 */ lw $t6, 0x38($sp) +.L800279C4: +/* 0285C4 800279C4 24C60001 */ addiu $a2, $a2, 1 +/* 0285C8 800279C8 00CE082A */ slt $at, $a2, $t6 +/* 0285CC 800279CC 1420FFD2 */ bnez $at, .L80027918 +/* 0285D0 800279D0 26100004 */ addiu $s0, $s0, 4 +.L800279D4: +/* 0285D4 800279D4 10600005 */ beqz $v1, .L800279EC +/* 0285D8 800279D8 8FB1003C */ lw $s1, 0x3c($sp) +/* 0285DC 800279DC 8FA5004C */ lw $a1, 0x4c($sp) +/* 0285E0 800279E0 10000004 */ b .L800279F4 +/* 0285E4 800279E4 00608825 */ move $s1, $v1 +/* 0285E8 800279E8 8FB1003C */ lw $s1, 0x3c($sp) +.L800279EC: +/* 0285EC 800279EC 8FA50048 */ lw $a1, 0x48($sp) +/* 0285F0 800279F0 00000000 */ nop +.L800279F4: +/* 0285F4 800279F4 822401FD */ lb $a0, 0x1fd($s1) +/* 0285F8 800279F8 0C006F65 */ jal func_8001BD94 +/* 0285FC 800279FC AFA50054 */ sw $a1, 0x54($sp) +/* 028600 80027A00 3C0F8012 */ lui $t7, %hi(D_8011B104) # $t7, 0x8012 +/* 028604 80027A04 8DEFB104 */ lw $t7, %lo(D_8011B104)($t7) +/* 028608 80027A08 823801FD */ lb $t8, 0x1fd($s1) +/* 02860C 80027A0C 8FA50054 */ lw $a1, 0x54($sp) +/* 028610 80027A10 11F80005 */ beq $t7, $t8, .L80027A28 +/* 028614 80027A14 00408025 */ move $s0, $v0 +/* 028618 80027A18 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 +/* 02861C 80027A1C 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 +/* 028620 80027A20 1000000E */ b .L80027A5C +/* 028624 80027A24 ACE00000 */ sw $zero, ($a3) +.L80027A28: +/* 028628 80027A28 3C038012 */ lui $v1, %hi(D_8011B100) # $v1, 0x8012 +/* 02862C 80027A2C 2463B100 */ addiu $v1, %lo(D_8011B100) # addiu $v1, $v1, -0x4f00 +/* 028630 80027A30 8C790000 */ lw $t9, ($v1) +/* 028634 80027A34 86280000 */ lh $t0, ($s1) +/* 028638 80027A38 00000000 */ nop +/* 02863C 80027A3C 13280007 */ beq $t9, $t0, .L80027A5C +/* 028640 80027A40 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 +/* 028644 80027A44 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 +/* 028648 80027A48 240900B4 */ li $t1, 180 +/* 02864C 80027A4C ACE90000 */ sw $t1, ($a3) +/* 028650 80027A50 862A0000 */ lh $t2, ($s1) +/* 028654 80027A54 00000000 */ nop +/* 028658 80027A58 AC6A0000 */ sw $t2, ($v1) +.L80027A5C: +/* 02865C 80027A5C 104000ED */ beqz $v0, .L80027E14 +/* 028660 80027A60 8FBF001C */ lw $ra, 0x1c($sp) +/* 028664 80027A64 0C01A73F */ jal func_80069CFC +/* 028668 80027A68 AFA50054 */ sw $a1, 0x54($sp) +/* 02866C 80027A6C C604000C */ lwc1 $f4, 0xc($s0) +/* 028670 80027A70 8FA50054 */ lw $a1, 0x54($sp) +/* 028674 80027A74 E444000C */ swc1 $f4, 0xc($v0) +/* 028678 80027A78 C6060010 */ lwc1 $f6, 0x10($s0) +/* 02867C 80027A7C C44A000C */ lwc1 $f10, 0xc($v0) +/* 028680 80027A80 E4460010 */ swc1 $f6, 0x10($v0) +/* 028684 80027A84 C6080014 */ lwc1 $f8, 0x14($s0) +/* 028688 80027A88 C4520010 */ lwc1 $f18, 0x10($v0) +/* 02868C 80027A8C E4480014 */ swc1 $f8, 0x14($v0) +/* 028690 80027A90 C4A40010 */ lwc1 $f4, 0x10($a1) +/* 028694 80027A94 C4B0000C */ lwc1 $f16, 0xc($a1) +/* 028698 80027A98 46049181 */ sub.s $f6, $f18, $f4 +/* 02869C 80027A9C 46105081 */ sub.s $f2, $f10, $f16 +/* 0286A0 80027AA0 E7A60064 */ swc1 $f6, 0x64($sp) +/* 0286A4 80027AA4 C4480014 */ lwc1 $f8, 0x14($v0) +/* 0286A8 80027AA8 C4AA0014 */ lwc1 $f10, 0x14($a1) +/* 0286AC 80027AAC 46021402 */ mul.s $f16, $f2, $f2 +/* 0286B0 80027AB0 460A4381 */ sub.s $f14, $f8, $f10 +/* 0286B4 80027AB4 E7A20068 */ swc1 $f2, 0x68($sp) +/* 0286B8 80027AB8 E7AE0060 */ swc1 $f14, 0x60($sp) +/* 0286BC 80027ABC 460E7482 */ mul.s $f18, $f14, $f14 +/* 0286C0 80027AC0 AFA20058 */ sw $v0, 0x58($sp) +/* 0286C4 80027AC4 0C0326B4 */ jal sqrtf +/* 0286C8 80027AC8 46128300 */ add.s $f12, $f16, $f18 +/* 0286CC 80027ACC 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 +/* 0286D0 80027AD0 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 +/* 0286D4 80027AD4 8CEB0000 */ lw $t3, ($a3) +/* 0286D8 80027AD8 8FA30058 */ lw $v1, 0x58($sp) +/* 0286DC 80027ADC C7A20068 */ lwc1 $f2, 0x68($sp) +/* 0286E0 80027AE0 C7AE0060 */ lwc1 $f14, 0x60($sp) +/* 0286E4 80027AE4 1160008C */ beqz $t3, .L80027D18 +/* 0286E8 80027AE8 46000306 */ mov.s $f12, $f0 +/* 0286EC 80027AEC 444CF800 */ cfc1 $t4, $31 +/* 0286F0 80027AF0 AFA30058 */ sw $v1, 0x58($sp) +/* 0286F4 80027AF4 35810003 */ ori $at, $t4, 3 +/* 0286F8 80027AF8 38210002 */ xori $at, $at, 2 +/* 0286FC 80027AFC 44C1F800 */ ctc1 $at, $31 +/* 028700 80027B00 E7AC005C */ swc1 $f12, 0x5c($sp) +/* 028704 80027B04 46001124 */ cvt.w.s $f4, $f2 +/* 028708 80027B08 44CCF800 */ ctc1 $t4, $31 +/* 02870C 80027B0C 44042000 */ mfc1 $a0, $f4 +/* 028710 80027B10 00000000 */ nop +/* 028714 80027B14 444DF800 */ cfc1 $t5, $31 +/* 028718 80027B18 00000000 */ nop +/* 02871C 80027B1C 35A10003 */ ori $at, $t5, 3 +/* 028720 80027B20 38210002 */ xori $at, $at, 2 +/* 028724 80027B24 44C1F800 */ ctc1 $at, $31 +/* 028728 80027B28 00000000 */ nop +/* 02872C 80027B2C 460071A4 */ cvt.w.s $f6, $f14 +/* 028730 80027B30 44053000 */ mfc1 $a1, $f6 +/* 028734 80027B34 44CDF800 */ ctc1 $t5, $31 +/* 028738 80027B38 0C01C19B */ jal func_8007066C +/* 02873C 80027B3C 00000000 */ nop +/* 028740 80027B40 8FA30058 */ lw $v1, 0x58($sp) +/* 028744 80027B44 00027023 */ negu $t6, $v0 +/* 028748 80027B48 84660000 */ lh $a2, ($v1) +/* 02874C 80027B4C 34018000 */ li $at, 32768 +/* 028750 80027B50 01C68023 */ subu $s0, $t6, $a2 +/* 028754 80027B54 02018021 */ addu $s0, $s0, $at +/* 028758 80027B58 00107C00 */ sll $t7, $s0, 0x10 +/* 02875C 80027B5C 000FC403 */ sra $t8, $t7, 0x10 +/* 028760 80027B60 34018001 */ li $at, 32769 +/* 028764 80027B64 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 +/* 028768 80027B68 C7AC005C */ lwc1 $f12, 0x5c($sp) +/* 02876C 80027B6C 0301082A */ slt $at, $t8, $at +/* 028770 80027B70 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 +/* 028774 80027B74 14200007 */ bnez $at, .L80027B94 +/* 028778 80027B78 03008025 */ move $s0, $t8 +/* 02877C 80027B7C 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff +/* 028780 80027B80 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1 +/* 028784 80027B84 0018C823 */ negu $t9, $t8 +/* 028788 80027B88 01198023 */ subu $s0, $t0, $t9 +/* 02878C 80027B8C 00104C00 */ sll $t1, $s0, 0x10 +/* 028790 80027B90 00098403 */ sra $s0, $t1, 0x10 +.L80027B94: +/* 028794 80027B94 8CEB0000 */ lw $t3, ($a3) +/* 028798 80027B98 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 02879C 80027B9C 448B4000 */ mtc1 $t3, $f8 +/* 0287A0 80027BA0 44818000 */ mtc1 $at, $f16 +/* 0287A4 80027BA4 468042A0 */ cvt.s.w $f10, $f8 +/* 0287A8 80027BA8 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 0287AC 80027BAC 44812000 */ mtc1 $at, $f4 +/* 0287B0 80027BB0 46105483 */ div.s $f18, $f10, $f16 +/* 0287B4 80027BB4 44904000 */ mtc1 $s0, $f8 +/* 0287B8 80027BB8 00000000 */ nop +/* 0287BC 80027BBC 468042A0 */ cvt.s.w $f10, $f8 +/* 0287C0 80027BC0 46122182 */ mul.s $f6, $f4, $f18 +/* 0287C4 80027BC4 00000000 */ nop +/* 0287C8 80027BC8 46065403 */ div.s $f16, $f10, $f6 +/* 0287CC 80027BCC 444CF800 */ cfc1 $t4, $31 +/* 0287D0 80027BD0 00000000 */ nop +/* 0287D4 80027BD4 35810003 */ ori $at, $t4, 3 +/* 0287D8 80027BD8 38210002 */ xori $at, $at, 2 +/* 0287DC 80027BDC 44C1F800 */ ctc1 $at, $31 +/* 0287E0 80027BE0 00000000 */ nop +/* 0287E4 80027BE4 46008124 */ cvt.w.s $f4, $f16 +/* 0287E8 80027BE8 44CCF800 */ ctc1 $t4, $31 +/* 0287EC 80027BEC 440E2000 */ mfc1 $t6, $f4 +/* 0287F0 80027BF0 00000000 */ nop +/* 0287F4 80027BF4 4458F800 */ cfc1 $t8, $31 +/* 0287F8 80027BF8 00CE7821 */ addu $t7, $a2, $t6 +/* 0287FC 80027BFC 37010003 */ ori $at, $t8, 3 +/* 028800 80027C00 A46F0000 */ sh $t7, ($v1) +/* 028804 80027C04 38210002 */ xori $at, $at, 2 +/* 028808 80027C08 44C1F800 */ ctc1 $at, $31 +/* 02880C 80027C0C C7B20064 */ lwc1 $f18, 0x64($sp) +/* 028810 80027C10 AFA30058 */ sw $v1, 0x58($sp) +/* 028814 80027C14 46009224 */ cvt.w.s $f8, $f18 +/* 028818 80027C18 44D8F800 */ ctc1 $t8, $31 +/* 02881C 80027C1C 44044000 */ mfc1 $a0, $f8 +/* 028820 80027C20 00000000 */ nop +/* 028824 80027C24 4448F800 */ cfc1 $t0, $31 +/* 028828 80027C28 00000000 */ nop +/* 02882C 80027C2C 35010003 */ ori $at, $t0, 3 +/* 028830 80027C30 38210002 */ xori $at, $at, 2 +/* 028834 80027C34 44C1F800 */ ctc1 $at, $31 +/* 028838 80027C38 00000000 */ nop +/* 02883C 80027C3C 460062A4 */ cvt.w.s $f10, $f12 +/* 028840 80027C40 44055000 */ mfc1 $a1, $f10 +/* 028844 80027C44 44C8F800 */ ctc1 $t0, $31 +/* 028848 80027C48 0C01C19B */ jal func_8007066C +/* 02884C 80027C4C 00000000 */ nop +/* 028850 80027C50 8FA30058 */ lw $v1, 0x58($sp) +/* 028854 80027C54 34018001 */ li $at, 32769 +/* 028858 80027C58 84640002 */ lh $a0, 2($v1) +/* 02885C 80027C5C 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 +/* 028860 80027C60 00448023 */ subu $s0, $v0, $a0 +/* 028864 80027C64 0010CC00 */ sll $t9, $s0, 0x10 +/* 028868 80027C68 00194C03 */ sra $t1, $t9, 0x10 +/* 02886C 80027C6C 0121082A */ slt $at, $t1, $at +/* 028870 80027C70 01208025 */ move $s0, $t1 +/* 028874 80027C74 14200007 */ bnez $at, .L80027C94 +/* 028878 80027C78 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 +/* 02887C 80027C7C 3C0BFFFF */ lui $t3, (0xFFFF0001 >> 16) # lui $t3, 0xffff +/* 028880 80027C80 356B0001 */ ori $t3, (0xFFFF0001 & 0xFFFF) # ori $t3, $t3, 1 +/* 028884 80027C84 00095023 */ negu $t2, $t1 +/* 028888 80027C88 016A8023 */ subu $s0, $t3, $t2 +/* 02888C 80027C8C 00106400 */ sll $t4, $s0, 0x10 +/* 028890 80027C90 000C8403 */ sra $s0, $t4, 0x10 +.L80027C94: +/* 028894 80027C94 8CEE0000 */ lw $t6, ($a3) +/* 028898 80027C98 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 02889C 80027C9C 448E3000 */ mtc1 $t6, $f6 +/* 0288A0 80027CA0 44812000 */ mtc1 $at, $f4 +/* 0288A4 80027CA4 46803420 */ cvt.s.w $f16, $f6 +/* 0288A8 80027CA8 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 0288AC 80027CAC 44814000 */ mtc1 $at, $f8 +/* 0288B0 80027CB0 46048483 */ div.s $f18, $f16, $f4 +/* 0288B4 80027CB4 44903000 */ mtc1 $s0, $f6 +/* 0288B8 80027CB8 00000000 */ nop +/* 0288BC 80027CBC 46803420 */ cvt.s.w $f16, $f6 +/* 0288C0 80027CC0 46124282 */ mul.s $f10, $f8, $f18 +/* 0288C4 80027CC4 00000000 */ nop +/* 0288C8 80027CC8 460A8103 */ div.s $f4, $f16, $f10 +/* 0288CC 80027CCC 444FF800 */ cfc1 $t7, $31 +/* 0288D0 80027CD0 00000000 */ nop +/* 0288D4 80027CD4 35E10003 */ ori $at, $t7, 3 +/* 0288D8 80027CD8 38210002 */ xori $at, $at, 2 +/* 0288DC 80027CDC 44C1F800 */ ctc1 $at, $31 +/* 0288E0 80027CE0 00000000 */ nop +/* 0288E4 80027CE4 46002224 */ cvt.w.s $f8, $f4 +/* 0288E8 80027CE8 44084000 */ mfc1 $t0, $f8 +/* 0288EC 80027CEC 44CFF800 */ ctc1 $t7, $31 +/* 0288F0 80027CF0 0088C821 */ addu $t9, $a0, $t0 +/* 0288F4 80027CF4 A4790002 */ sh $t9, 2($v1) +/* 0288F8 80027CF8 8CE90000 */ lw $t1, ($a3) +/* 0288FC 80027CFC 8FAB0070 */ lw $t3, 0x70($sp) +/* 028900 80027D00 00000000 */ nop +/* 028904 80027D04 012B5023 */ subu $t2, $t1, $t3 +/* 028908 80027D08 05410035 */ bgez $t2, .L80027DE0 +/* 02890C 80027D0C ACEA0000 */ sw $t2, ($a3) +/* 028910 80027D10 10000033 */ b .L80027DE0 +/* 028914 80027D14 ACE00000 */ sw $zero, ($a3) +.L80027D18: +/* 028918 80027D18 444DF800 */ cfc1 $t5, $31 +/* 02891C 80027D1C AFA30058 */ sw $v1, 0x58($sp) +/* 028920 80027D20 35A10003 */ ori $at, $t5, 3 +/* 028924 80027D24 38210002 */ xori $at, $at, 2 +/* 028928 80027D28 44C1F800 */ ctc1 $at, $31 +/* 02892C 80027D2C E7AC005C */ swc1 $f12, 0x5c($sp) +/* 028930 80027D30 460014A4 */ cvt.w.s $f18, $f2 +/* 028934 80027D34 44CDF800 */ ctc1 $t5, $31 +/* 028938 80027D38 44049000 */ mfc1 $a0, $f18 +/* 02893C 80027D3C 00000000 */ nop +/* 028940 80027D40 444EF800 */ cfc1 $t6, $31 +/* 028944 80027D44 00000000 */ nop +/* 028948 80027D48 35C10003 */ ori $at, $t6, 3 +/* 02894C 80027D4C 38210002 */ xori $at, $at, 2 +/* 028950 80027D50 44C1F800 */ ctc1 $at, $31 +/* 028954 80027D54 00000000 */ nop +/* 028958 80027D58 460071A4 */ cvt.w.s $f6, $f14 +/* 02895C 80027D5C 44053000 */ mfc1 $a1, $f6 +/* 028960 80027D60 44CEF800 */ ctc1 $t6, $31 +/* 028964 80027D64 0C01C19B */ jal func_8007066C +/* 028968 80027D68 00000000 */ nop +/* 02896C 80027D6C 4448F800 */ cfc1 $t0, $31 +/* 028970 80027D70 8FA30058 */ lw $v1, 0x58($sp) +/* 028974 80027D74 340F8000 */ li $t7, 32768 +/* 028978 80027D78 C7AC005C */ lwc1 $f12, 0x5c($sp) +/* 02897C 80027D7C 01E2C023 */ subu $t8, $t7, $v0 +/* 028980 80027D80 35010003 */ ori $at, $t0, 3 +/* 028984 80027D84 38210002 */ xori $at, $at, 2 +/* 028988 80027D88 A4780000 */ sh $t8, ($v1) +/* 02898C 80027D8C C7B00064 */ lwc1 $f16, 0x64($sp) +/* 028990 80027D90 44C1F800 */ ctc1 $at, $31 +/* 028994 80027D94 00000000 */ nop +/* 028998 80027D98 460082A4 */ cvt.w.s $f10, $f16 +/* 02899C 80027D9C 44C8F800 */ ctc1 $t0, $31 +/* 0289A0 80027DA0 44045000 */ mfc1 $a0, $f10 +/* 0289A4 80027DA4 00000000 */ nop +/* 0289A8 80027DA8 4459F800 */ cfc1 $t9, $31 +/* 0289AC 80027DAC 00000000 */ nop +/* 0289B0 80027DB0 37210003 */ ori $at, $t9, 3 +/* 0289B4 80027DB4 38210002 */ xori $at, $at, 2 +/* 0289B8 80027DB8 44C1F800 */ ctc1 $at, $31 +/* 0289BC 80027DBC 00000000 */ nop +/* 0289C0 80027DC0 46006124 */ cvt.w.s $f4, $f12 +/* 0289C4 80027DC4 44052000 */ mfc1 $a1, $f4 +/* 0289C8 80027DC8 44D9F800 */ ctc1 $t9, $31 +/* 0289CC 80027DCC 0C01C19B */ jal func_8007066C +/* 0289D0 80027DD0 00000000 */ nop +/* 0289D4 80027DD4 8FA30058 */ lw $v1, 0x58($sp) +/* 0289D8 80027DD8 00000000 */ nop +/* 0289DC 80027DDC A4620002 */ sh $v0, 2($v1) +.L80027DE0: +/* 0289E0 80027DE0 A4600004 */ sh $zero, 4($v1) +/* 0289E4 80027DE4 C62E003C */ lwc1 $f14, 0x3c($s1) +/* 0289E8 80027DE8 C46C000C */ lwc1 $f12, 0xc($v1) +/* 0289EC 80027DEC 8C660014 */ lw $a2, 0x14($v1) +/* 0289F0 80027DF0 0C00A7C6 */ jal func_80029F18 +/* 0289F4 80027DF4 AFA30058 */ sw $v1, 0x58($sp) +/* 0289F8 80027DF8 8FA30058 */ lw $v1, 0x58($sp) +/* 0289FC 80027DFC 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012 +/* 028A00 80027E00 A4620034 */ sh $v0, 0x34($v1) +/* 028A04 80027E04 822901FD */ lb $t1, 0x1fd($s1) +/* 028A08 80027E08 00000000 */ nop +/* 028A0C 80027E0C AC29B104 */ sw $t1, %lo(D_8011B104)($at) +/* 028A10 80027E10 8FBF001C */ lw $ra, 0x1c($sp) +.L80027E14: +/* 028A14 80027E14 8FB00014 */ lw $s0, 0x14($sp) +/* 028A18 80027E18 8FB10018 */ lw $s1, 0x18($sp) +/* 028A1C 80027E1C 03E00008 */ jr $ra +/* 028A20 80027E20 27BD0070 */ addiu $sp, $sp, 0x70 + diff --git a/asm/non_matchings/unknown_0255E0/func_80027E24.s b/asm/non_matchings/unknown_0255E0/func_80027E24.s new file mode 100644 index 00000000..70417692 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80027E24.s @@ -0,0 +1,113 @@ +glabel func_80027E24 +/* 028A24 80027E24 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 028A28 80027E28 3C05800E */ lui $a1, %hi(D_800DC918) # $a1, 0x800e +/* 028A2C 80027E2C 8CA5C918 */ lw $a1, %lo(D_800DC918)($a1) +/* 028A30 80027E30 AFBF003C */ sw $ra, 0x3c($sp) +/* 028A34 80027E34 AFBE0038 */ sw $fp, 0x38($sp) +/* 028A38 80027E38 AFB70034 */ sw $s7, 0x34($sp) +/* 028A3C 80027E3C AFB60030 */ sw $s6, 0x30($sp) +/* 028A40 80027E40 AFB5002C */ sw $s5, 0x2c($sp) +/* 028A44 80027E44 AFB40028 */ sw $s4, 0x28($sp) +/* 028A48 80027E48 AFB30024 */ sw $s3, 0x24($sp) +/* 028A4C 80027E4C AFB20020 */ sw $s2, 0x20($sp) +/* 028A50 80027E50 AFB1001C */ sw $s1, 0x1c($sp) +/* 028A54 80027E54 AFB00018 */ sw $s0, 0x18($sp) +/* 028A58 80027E58 8CA30004 */ lw $v1, 4($a1) +/* 028A5C 80027E5C AFA0006C */ sw $zero, 0x6c($sp) +/* 028A60 80027E60 84A2001A */ lh $v0, 0x1a($a1) +/* 028A64 80027E64 00809825 */ move $s3, $a0 +/* 028A68 80027E68 1840004A */ blez $v0, .L80027F94 +/* 028A6C 80027E6C 0060B025 */ move $s6, $v1 +/* 028A70 80027E70 241E00FF */ li $fp, 255 +/* 028A74 80027E74 3C170001 */ lui $s7, 1 +/* 028A78 80027E78 27B40058 */ addiu $s4, $sp, 0x58 +.L80027E7C: +/* 028A7C 80027E7C 86C30020 */ lh $v1, 0x20($s6) +/* 028A80 80027E80 8ED5000C */ lw $s5, 0xc($s6) +/* 028A84 80027E84 1860003D */ blez $v1, .L80027F7C +/* 028A88 80027E88 00008825 */ move $s1, $zero +/* 028A8C 80027E8C 00009025 */ move $s2, $zero +/* 028A90 80027E90 02A08025 */ move $s0, $s5 +.L80027E94: +/* 028A94 80027E94 8E0E0008 */ lw $t6, 8($s0) +/* 028A98 80027E98 00000000 */ nop +/* 028A9C 80027E9C 01D77824 */ and $t7, $t6, $s7 +/* 028AA0 80027EA0 11E0002F */ beqz $t7, .L80027F60 +/* 028AA4 80027EA4 00000000 */ nop +/* 028AA8 80027EA8 92020000 */ lbu $v0, ($s0) +/* 028AAC 80027EAC 00000000 */ nop +/* 028AB0 80027EB0 13C2002B */ beq $fp, $v0, .L80027F60 +/* 028AB4 80027EB4 00000000 */ nop +/* 028AB8 80027EB8 8CB80000 */ lw $t8, ($a1) +/* 028ABC 80027EBC 0002C8C0 */ sll $t9, $v0, 3 +/* 028AC0 80027EC0 03194021 */ addu $t0, $t8, $t9 +/* 028AC4 80027EC4 8D040000 */ lw $a0, ($t0) +/* 028AC8 80027EC8 24010100 */ li $at, 256 +/* 028ACC 80027ECC 94890012 */ lhu $t1, 0x12($a0) +/* 028AD0 80027ED0 00000000 */ nop +/* 028AD4 80027ED4 11210022 */ beq $t1, $at, .L80027F60 +/* 028AD8 80027ED8 00000000 */ nop +/* 028ADC 80027EDC 948A0014 */ lhu $t2, 0x14($a0) +/* 028AE0 80027EE0 00000000 */ nop +/* 028AE4 80027EE4 1140001E */ beqz $t2, .L80027F60 +/* 028AE8 80027EE8 00000000 */ nop +/* 028AEC 80027EEC 920B0007 */ lbu $t3, 7($s0) +/* 028AF0 80027EF0 02552821 */ addu $a1, $s2, $s5 +/* 028AF4 80027EF4 000B6180 */ sll $t4, $t3, 6 +/* 028AF8 80027EF8 AFAC0058 */ sw $t4, 0x58($sp) +/* 028AFC 80027EFC 8E0D0008 */ lw $t5, 8($s0) +/* 028B00 80027F00 24A50008 */ addiu $a1, $a1, 8 +/* 028B04 80027F04 000D7000 */ sll $t6, $t5, 0 +/* 028B08 80027F08 05C1000C */ bgez $t6, .L80027F3C +/* 028B0C 80027F0C 02803025 */ move $a2, $s4 +/* 028B10 80027F10 92180006 */ lbu $t8, 6($s0) +/* 028B14 80027F14 02803025 */ move $a2, $s4 +/* 028B18 80027F18 0198C825 */ or $t9, $t4, $t8 +/* 028B1C 80027F1C AFB90058 */ sw $t9, 0x58($sp) +/* 028B20 80027F20 0C01FBE0 */ jal func_8007EF80 +/* 028B24 80027F24 02603825 */ move $a3, $s3 +/* 028B28 80027F28 8FA80058 */ lw $t0, 0x58($sp) +/* 028B2C 80027F2C 00000000 */ nop +/* 028B30 80027F30 3109003F */ andi $t1, $t0, 0x3f +/* 028B34 80027F34 10000003 */ b .L80027F44 +/* 028B38 80027F38 A2090006 */ sb $t1, 6($s0) +.L80027F3C: +/* 028B3C 80027F3C 0C01FBE0 */ jal func_8007EF80 +/* 028B40 80027F40 02603825 */ move $a3, $s3 +.L80027F44: +/* 028B44 80027F44 8FAA0058 */ lw $t2, 0x58($sp) +/* 028B48 80027F48 3C05800E */ lui $a1, %hi(D_800DC918) # $a1, 0x800e +/* 028B4C 80027F4C 000A6183 */ sra $t4, $t2, 6 +/* 028B50 80027F50 A20C0007 */ sb $t4, 7($s0) +/* 028B54 80027F54 86C30020 */ lh $v1, 0x20($s6) +/* 028B58 80027F58 8CA5C918 */ lw $a1, %lo(D_800DC918)($a1) +/* 028B5C 80027F5C 00000000 */ nop +.L80027F60: +/* 028B60 80027F60 26310001 */ addiu $s1, $s1, 1 +/* 028B64 80027F64 0223082A */ slt $at, $s1, $v1 +/* 028B68 80027F68 2652000C */ addiu $s2, $s2, 0xc +/* 028B6C 80027F6C 1420FFC9 */ bnez $at, .L80027E94 +/* 028B70 80027F70 2610000C */ addiu $s0, $s0, 0xc +/* 028B74 80027F74 84A2001A */ lh $v0, 0x1a($a1) +/* 028B78 80027F78 00000000 */ nop +.L80027F7C: +/* 028B7C 80027F7C 8FAD006C */ lw $t5, 0x6c($sp) +/* 028B80 80027F80 26D60044 */ addiu $s6, $s6, 0x44 +/* 028B84 80027F84 25AE0001 */ addiu $t6, $t5, 1 +/* 028B88 80027F88 01C2082A */ slt $at, $t6, $v0 +/* 028B8C 80027F8C 1420FFBB */ bnez $at, .L80027E7C +/* 028B90 80027F90 AFAE006C */ sw $t6, 0x6c($sp) +.L80027F94: +/* 028B94 80027F94 8FBF003C */ lw $ra, 0x3c($sp) +/* 028B98 80027F98 8FB00018 */ lw $s0, 0x18($sp) +/* 028B9C 80027F9C 8FB1001C */ lw $s1, 0x1c($sp) +/* 028BA0 80027FA0 8FB20020 */ lw $s2, 0x20($sp) +/* 028BA4 80027FA4 8FB30024 */ lw $s3, 0x24($sp) +/* 028BA8 80027FA8 8FB40028 */ lw $s4, 0x28($sp) +/* 028BAC 80027FAC 8FB5002C */ lw $s5, 0x2c($sp) +/* 028BB0 80027FB0 8FB60030 */ lw $s6, 0x30($sp) +/* 028BB4 80027FB4 8FB70034 */ lw $s7, 0x34($sp) +/* 028BB8 80027FB8 8FBE0038 */ lw $fp, 0x38($sp) +/* 028BBC 80027FBC 03E00008 */ jr $ra +/* 028BC0 80027FC0 27BD0070 */ addiu $sp, $sp, 0x70 + diff --git a/asm/non_matchings/unknown_0255E0/func_80027FC4.s b/asm/non_matchings/unknown_0255E0/func_80027FC4.s new file mode 100644 index 00000000..8f7c2e66 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80027FC4.s @@ -0,0 +1,36 @@ +glabel func_80027FC4 +/* 028BC4 80027FC4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 028BC8 80027FC8 AFBF0014 */ sw $ra, 0x14($sp) +/* 028BCC 80027FCC 0C0168F4 */ jal func_8005A3D0 +/* 028BD0 80027FD0 AFA40028 */ sw $a0, 0x28($sp) +/* 028BD4 80027FD4 8FA20028 */ lw $v0, 0x28($sp) +/* 028BD8 80027FD8 2401FFFF */ li $at, -1 +/* 028BDC 80027FDC 14410004 */ bne $v0, $at, .L80027FF0 +/* 028BE0 80027FE0 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012 +/* 028BE4 80027FE4 2484B0B8 */ addiu $a0, %lo(D_8011B0B8) # addiu $a0, $a0, -0x4f48 +/* 028BE8 80027FE8 10000012 */ b .L80028034 +/* 028BEC 80027FEC AC800000 */ sw $zero, ($a0) +.L80027FF0: +/* 028BF0 80027FF0 240E0008 */ li $t6, 8 +/* 028BF4 80027FF4 A7A00022 */ sh $zero, 0x22($sp) +/* 028BF8 80027FF8 A7A00024 */ sh $zero, 0x24($sp) +/* 028BFC 80027FFC A7A00026 */ sh $zero, 0x26($sp) +/* 028C00 80028000 A3AE0021 */ sb $t6, 0x21($sp) +/* 028C04 80028004 A3A20020 */ sb $v0, 0x20($sp) +/* 028C08 80028008 27A40020 */ addiu $a0, $sp, 0x20 +/* 028C0C 8002800C 0C003A95 */ jal func_8000EA54 +/* 028C10 80028010 24050002 */ li $a1, 2 +/* 028C14 80028014 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012 +/* 028C18 80028018 2484B0B8 */ addiu $a0, %lo(D_8011B0B8) # addiu $a0, $a0, -0x4f48 +/* 028C1C 8002801C 10400005 */ beqz $v0, .L80028034 +/* 028C20 80028020 AC820000 */ sw $v0, ($a0) +/* 028C24 80028024 AC40003C */ sw $zero, 0x3c($v0) +/* 028C28 80028028 8C980000 */ lw $t8, ($a0) +/* 028C2C 8002802C 240FFFFF */ li $t7, -1 +/* 028C30 80028030 A70F004A */ sh $t7, 0x4a($t8) +.L80028034: +/* 028C34 80028034 8FBF0014 */ lw $ra, 0x14($sp) +/* 028C38 80028038 27BD0028 */ addiu $sp, $sp, 0x28 +/* 028C3C 8002803C 03E00008 */ jr $ra +/* 028C40 80028040 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_80028044.s b/asm/non_matchings/unknown_0255E0/func_80028044.s new file mode 100644 index 00000000..75341877 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80028044.s @@ -0,0 +1,5 @@ +glabel func_80028044 +/* 028C44 80028044 3C018012 */ lui $at, 0x8012 +/* 028C48 80028048 03E00008 */ jr $ra +/* 028C4C 8002804C AC24B0DC */ sw $a0, -0x4f24($at) + diff --git a/asm/non_matchings/unknown_0255E0/func_80028050.s b/asm/non_matchings/unknown_0255E0/func_80028050.s new file mode 100644 index 00000000..ce6c017d --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80028050.s @@ -0,0 +1,612 @@ +glabel func_80028050 +/* 028C50 80028050 27BDFEA8 */ addiu $sp, $sp, -0x158 +/* 028C54 80028054 AFB10018 */ sw $s1, 0x18($sp) +/* 028C58 80028058 AFB00014 */ sw $s0, 0x14($sp) +/* 028C5C 8002805C 3C118012 */ lui $s1, %hi(D_8011B0A8) # $s1, 0x8012 +/* 028C60 80028060 3C108012 */ lui $s0, %hi(D_8011B0AC) # $s0, 0x8012 +/* 028C64 80028064 AFBF0024 */ sw $ra, 0x24($sp) +/* 028C68 80028068 8E31B0A8 */ lw $s1, %lo(D_8011B0A8)($s1) +/* 028C6C 8002806C 8E10B0AC */ lw $s0, %lo(D_8011B0AC)($s0) +/* 028C70 80028070 AFB30020 */ sw $s3, 0x20($sp) +/* 028C74 80028074 0C01A748 */ jal func_80069D20 +/* 028C78 80028078 AFB2001C */ sw $s2, 0x1c($sp) +/* 028C7C 8002807C 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e +/* 028C80 80028080 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6) +/* 028C84 80028084 00409025 */ move $s2, $v0 +/* 028C88 80028088 8DC300A4 */ lw $v1, 0xa4($t6) +/* 028C8C 8002808C 00000000 */ nop +/* 028C90 80028090 90780001 */ lbu $t8, 1($v1) +/* 028C94 80028094 90730000 */ lbu $s3, ($v1) +/* 028C98 80028098 0018C940 */ sll $t9, $t8, 5 +/* 028C9C 8002809C 272CFFFF */ addiu $t4, $t9, -1 +/* 028CA0 800280A0 AFAC014C */ sw $t4, 0x14c($sp) +/* 028CA4 800280A4 84440000 */ lh $a0, ($v0) +/* 028CA8 800280A8 00137940 */ sll $t7, $s3, 5 +/* 028CAC 800280AC 00042023 */ negu $a0, $a0 +/* 028CB0 800280B0 00046C00 */ sll $t5, $a0, 0x10 +/* 028CB4 800280B4 25F3FFFF */ addiu $s3, $t7, -1 +/* 028CB8 800280B8 000D2403 */ sra $a0, $t5, 0x10 +/* 028CBC 800280BC 0C01C1F1 */ jal func_800707C4 +/* 028CC0 800280C0 AFA30074 */ sw $v1, 0x74($sp) +/* 028CC4 800280C4 E7A0010C */ swc1 $f0, 0x10c($sp) +/* 028CC8 800280C8 86440000 */ lh $a0, ($s2) +/* 028CCC 800280CC 00000000 */ nop +/* 028CD0 800280D0 00042023 */ negu $a0, $a0 +/* 028CD4 800280D4 00047C00 */ sll $t7, $a0, 0x10 +/* 028CD8 800280D8 0C01C1FE */ jal func_800707F8 +/* 028CDC 800280DC 000F2403 */ sra $a0, $t7, 0x10 +/* 028CE0 800280E0 3C0144A0 */ li $at, 0x44A00000 # 1280.000000 +/* 028CE4 800280E4 44812000 */ mtc1 $at, $f4 +/* 028CE8 800280E8 44814000 */ mtc1 $at, $f8 +/* 028CEC 800280EC 46040302 */ mul.s $f12, $f0, $f4 +/* 028CF0 800280F0 C7A6010C */ lwc1 $f6, 0x10c($sp) +/* 028CF4 800280F4 8FA70074 */ lw $a3, 0x74($sp) +/* 028CF8 800280F8 3C04800E */ lui $a0, %hi(D_800DC91C) # $a0, 0x800e +/* 028CFC 800280FC 46083082 */ mul.s $f2, $f6, $f8 +/* 028D00 80028100 46006487 */ neg.s $f18, $f12 +/* 028D04 80028104 8C84C91C */ lw $a0, %lo(D_800DC91C)($a0) +/* 028D08 80028108 46029200 */ add.s $f8, $f18, $f2 +/* 028D0C 8002810C 46029281 */ sub.s $f10, $f18, $f2 +/* 028D10 80028110 E7A80030 */ swc1 $f8, 0x30($sp) +/* 028D14 80028114 46026201 */ sub.s $f8, $f12, $f2 +/* 028D18 80028118 E7AA0034 */ swc1 $f10, 0x34($sp) +/* 028D1C 8002811C C7A40034 */ lwc1 $f4, 0x34($sp) +/* 028D20 80028120 E7A8002C */ swc1 $f8, 0x2c($sp) +/* 028D24 80028124 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 028D28 80028128 E7A400DC */ swc1 $f4, 0xdc($sp) +/* 028D2C 8002812C E7A400BC */ swc1 $f4, 0xbc($sp) +/* 028D30 80028130 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 028D34 80028134 46026100 */ add.s $f4, $f12, $f2 +/* 028D38 80028138 E7A800E0 */ swc1 $f8, 0xe0($sp) +/* 028D3C 8002813C E7A800C0 */ swc1 $f8, 0xc0($sp) +/* 028D40 80028140 44804000 */ mtc1 $zero, $f8 +/* 028D44 80028144 E7A40034 */ swc1 $f4, 0x34($sp) +/* 028D48 80028148 C7A40034 */ lwc1 $f4, 0x34($sp) +/* 028D4C 8002814C E7AA00B8 */ swc1 $f10, 0xb8($sp) +/* 028D50 80028150 E7AA00E8 */ swc1 $f10, 0xe8($sp) +/* 028D54 80028154 E7A800EC */ swc1 $f8, 0xec($sp) +/* 028D58 80028158 44805000 */ mtc1 $zero, $f10 +/* 028D5C 8002815C 460C6200 */ add.s $f8, $f12, $f12 +/* 028D60 80028160 E7A400E4 */ swc1 $f4, 0xe4($sp) +/* 028D64 80028164 46021400 */ add.s $f16, $f2, $f2 +/* 028D68 80028168 E7A80030 */ swc1 $f8, 0x30($sp) +/* 028D6C 8002816C E7A400C4 */ swc1 $f4, 0xc4($sp) +/* 028D70 80028170 E7AA00C8 */ swc1 $f10, 0xc8($sp) +/* 028D74 80028174 46109101 */ sub.s $f4, $f18, $f16 +/* 028D78 80028178 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 028D7C 8002817C E7A400F0 */ swc1 $f4, 0xf0($sp) +/* 028D80 80028180 460A1201 */ sub.s $f8, $f2, $f10 +/* 028D84 80028184 46005107 */ neg.s $f4, $f10 +/* 028D88 80028188 E7A800CC */ swc1 $f8, 0xcc($sp) +/* 028D8C 8002818C 46022201 */ sub.s $f8, $f4, $f2 +/* 028D90 80028190 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 028D94 80028194 46106281 */ sub.s $f10, $f12, $f16 +/* 028D98 80028198 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 028D9C 8002819C E7A800D0 */ swc1 $f8, 0xd0($sp) +/* 028DA0 800281A0 46022201 */ sub.s $f8, $f4, $f2 +/* 028DA4 800281A4 E7AA00F4 */ swc1 $f10, 0xf4($sp) +/* 028DA8 800281A8 46106280 */ add.s $f10, $f12, $f16 +/* 028DAC 800281AC C7A40030 */ lwc1 $f4, 0x30($sp) +/* 028DB0 800281B0 E7AA00F8 */ swc1 $f10, 0xf8($sp) +/* 028DB4 800281B4 E7A800D4 */ swc1 $f8, 0xd4($sp) +/* 028DB8 800281B8 46109280 */ add.s $f10, $f18, $f16 +/* 028DBC 800281BC 46022200 */ add.s $f8, $f4, $f2 +/* 028DC0 800281C0 E7AA00FC */ swc1 $f10, 0xfc($sp) +/* 028DC4 800281C4 E7A800D8 */ swc1 $f8, 0xd8($sp) +/* 028DC8 800281C8 90F90000 */ lbu $t9, ($a3) +/* 028DCC 800281CC 908D00A0 */ lbu $t5, 0xa0($a0) +/* 028DD0 800281D0 00196100 */ sll $t4, $t9, 4 +/* 028DD4 800281D4 018D0019 */ multu $t4, $t5 +/* 028DD8 800281D8 44815000 */ mtc1 $at, $f10 +/* 028DDC 800281DC 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 028DE0 800281E0 44812000 */ mtc1 $at, $f4 +/* 028DE4 800281E4 90EE0001 */ lbu $t6, 1($a3) +/* 028DE8 800281E8 46045202 */ mul.s $f8, $f10, $f4 +/* 028DEC 800281EC 909800A1 */ lbu $t8, 0xa1($a0) +/* 028DF0 800281F0 000E7900 */ sll $t7, $t6, 4 +/* 028DF4 800281F4 E7A8003C */ swc1 $f8, 0x3c($sp) +/* 028DF8 800281F8 00002812 */ mflo $a1 +/* 028DFC 800281FC 44855000 */ mtc1 $a1, $f10 +/* 028E00 80028200 00000000 */ nop +/* 028E04 80028204 46805120 */ cvt.s.w $f4, $f10 +/* 028E08 80028208 01F80019 */ multu $t7, $t8 +/* 028E0C 8002820C E7A40038 */ swc1 $f4, 0x38($sp) +/* 028E10 80028210 C7AA0038 */ lwc1 $f10, 0x38($sp) +/* 028E14 80028214 848D00A8 */ lh $t5, 0xa8($a0) +/* 028E18 80028218 460A4103 */ div.s $f4, $f8, $f10 +/* 028E1C 8002821C C64A000C */ lwc1 $f10, 0xc($s2) +/* 028E20 80028220 000D7103 */ sra $t6, $t5, 4 +/* 028E24 80028224 00003012 */ mflo $a2 +/* 028E28 80028228 46045282 */ mul.s $f10, $f10, $f4 +/* 028E2C 8002822C 4459F800 */ cfc1 $t9, $31 +/* 028E30 80028230 00000000 */ nop +/* 028E34 80028234 37210003 */ ori $at, $t9, 3 +/* 028E38 80028238 38210002 */ xori $at, $at, 2 +/* 028E3C 8002823C 44C1F800 */ ctc1 $at, $31 +/* 028E40 80028240 00000000 */ nop +/* 028E44 80028244 46005124 */ cvt.w.s $f4, $f10 +/* 028E48 80028248 44865000 */ mtc1 $a2, $f10 +/* 028E4C 8002824C 44D9F800 */ ctc1 $t9, $31 +/* 028E50 80028250 440C2000 */ mfc1 $t4, $f4 +/* 028E54 80028254 46805120 */ cvt.s.w $f4, $f10 +/* 028E58 80028258 018E7821 */ addu $t7, $t4, $t6 +/* 028E5C 8002825C 01F31024 */ and $v0, $t7, $s3 +/* 028E60 80028260 E7A40048 */ swc1 $f4, 0x48($sp) +/* 028E64 80028264 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 028E68 80028268 848D00AA */ lh $t5, 0xaa($a0) +/* 028E6C 8002826C 460A4103 */ div.s $f4, $f8, $f10 +/* 028E70 80028270 C6480014 */ lwc1 $f8, 0x14($s2) +/* 028E74 80028274 8FAF014C */ lw $t7, 0x14c($sp) +/* 028E78 80028278 000D6103 */ sra $t4, $t5, 4 +/* 028E7C 8002827C A7A20130 */ sh $v0, 0x130($sp) +/* 028E80 80028280 46044282 */ mul.s $f10, $f8, $f4 +/* 028E84 80028284 C7A40038 */ lwc1 $f4, 0x38($sp) +/* 028E88 80028288 4458F800 */ cfc1 $t8, $31 +/* 028E8C 8002828C 00000000 */ nop +/* 028E90 80028290 37010003 */ ori $at, $t8, 3 +/* 028E94 80028294 38210002 */ xori $at, $at, 2 +/* 028E98 80028298 44C1F800 */ ctc1 $at, $31 +/* 028E9C 8002829C 37010003 */ ori $at, $t8, 3 +/* 028EA0 800282A0 46005224 */ cvt.w.s $f8, $f10 +/* 028EA4 800282A4 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 028EA8 800282A8 44D8F800 */ ctc1 $t8, $31 +/* 028EAC 800282AC 44194000 */ mfc1 $t9, $f8 +/* 028EB0 800282B0 46002382 */ mul.s $f14, $f4, $f0 +/* 028EB4 800282B4 38210002 */ xori $at, $at, 2 +/* 028EB8 800282B8 032C7021 */ addu $t6, $t9, $t4 +/* 028EBC 800282BC 01CF1824 */ and $v1, $t6, $t7 +/* 028EC0 800282C0 46065002 */ mul.s $f0, $f10, $f6 +/* 028EC4 800282C4 46007407 */ neg.s $f16, $f14 +/* 028EC8 800282C8 E7AE00B4 */ swc1 $f14, 0xb4($sp) +/* 028ECC 800282CC E7AE00AC */ swc1 $f14, 0xac($sp) +/* 028ED0 800282D0 46008201 */ sub.s $f8, $f16, $f0 +/* 028ED4 800282D4 A7A3011C */ sh $v1, 0x11c($sp) +/* 028ED8 800282D8 44C1F800 */ ctc1 $at, $31 +/* 028EDC 800282DC 00000000 */ nop +/* 028EE0 800282E0 46004124 */ cvt.w.s $f4, $f8 +/* 028EE4 800282E4 44D8F800 */ ctc1 $t8, $31 +/* 028EE8 800282E8 440C2000 */ mfc1 $t4, $f4 +/* 028EEC 800282EC 460E0281 */ sub.s $f10, $f0, $f14 +/* 028EF0 800282F0 01827021 */ addu $t6, $t4, $v0 +/* 028EF4 800282F4 444FF800 */ cfc1 $t7, $31 +/* 028EF8 800282F8 A7AE0128 */ sh $t6, 0x128($sp) +/* 028EFC 800282FC 35E10003 */ ori $at, $t7, 3 +/* 028F00 80028300 38210002 */ xori $at, $at, 2 +/* 028F04 80028304 44C1F800 */ ctc1 $at, $31 +/* 028F08 80028308 00000000 */ nop +/* 028F0C 8002830C 460051A4 */ cvt.w.s $f6, $f10 +/* 028F10 80028310 44CFF800 */ ctc1 $t7, $31 +/* 028F14 80028314 44043000 */ mfc1 $a0, $f6 +/* 028F18 80028318 46007201 */ sub.s $f8, $f14, $f0 +/* 028F1C 8002831C 0083C821 */ addu $t9, $a0, $v1 +/* 028F20 80028320 444CF800 */ cfc1 $t4, $31 +/* 028F24 80028324 A7B90114 */ sh $t9, 0x114($sp) +/* 028F28 80028328 35810003 */ ori $at, $t4, 3 +/* 028F2C 8002832C 38210002 */ xori $at, $at, 2 +/* 028F30 80028330 44C1F800 */ ctc1 $at, $31 +/* 028F34 80028334 00000000 */ nop +/* 028F38 80028338 46004124 */ cvt.w.s $f4, $f8 +/* 028F3C 8002833C 44CCF800 */ ctc1 $t4, $31 +/* 028F40 80028340 44182000 */ mfc1 $t8, $f4 +/* 028F44 80028344 46008281 */ sub.s $f10, $f16, $f0 +/* 028F48 80028348 03026821 */ addu $t5, $t8, $v0 +/* 028F4C 8002834C 4459F800 */ cfc1 $t9, $31 +/* 028F50 80028350 A7AD012A */ sh $t5, 0x12a($sp) +/* 028F54 80028354 37210003 */ ori $at, $t9, 3 +/* 028F58 80028358 38210002 */ xori $at, $at, 2 +/* 028F5C 8002835C 44C1F800 */ ctc1 $at, $31 +/* 028F60 80028360 00000000 */ nop +/* 028F64 80028364 460051A4 */ cvt.w.s $f6, $f10 +/* 028F68 80028368 44D9F800 */ ctc1 $t9, $31 +/* 028F6C 8002836C 440F3000 */ mfc1 $t7, $f6 +/* 028F70 80028370 46007200 */ add.s $f8, $f14, $f0 +/* 028F74 80028374 01E3C021 */ addu $t8, $t7, $v1 +/* 028F78 80028378 444DF800 */ cfc1 $t5, $31 +/* 028F7C 8002837C A7B80116 */ sh $t8, 0x116($sp) +/* 028F80 80028380 35A10003 */ ori $at, $t5, 3 +/* 028F84 80028384 38210002 */ xori $at, $at, 2 +/* 028F88 80028388 44C1F800 */ ctc1 $at, $31 +/* 028F8C 8002838C 00000000 */ nop +/* 028F90 80028390 46004124 */ cvt.w.s $f4, $f8 +/* 028F94 80028394 44CDF800 */ ctc1 $t5, $31 +/* 028F98 80028398 44052000 */ mfc1 $a1, $f4 +/* 028F9C 8002839C 46007281 */ sub.s $f10, $f14, $f0 +/* 028FA0 800283A0 00A27021 */ addu $t6, $a1, $v0 +/* 028FA4 800283A4 444FF800 */ cfc1 $t7, $31 +/* 028FA8 800283A8 A7AE012C */ sh $t6, 0x12c($sp) +/* 028FAC 800283AC 35E10003 */ ori $at, $t7, 3 +/* 028FB0 800283B0 38210002 */ xori $at, $at, 2 +/* 028FB4 800283B4 44C1F800 */ ctc1 $at, $31 +/* 028FB8 800283B8 00827021 */ addu $t6, $a0, $v0 +/* 028FBC 800283BC 460051A4 */ cvt.w.s $f6, $f10 +/* 028FC0 800283C0 A7AE012E */ sh $t6, 0x12e($sp) +/* 028FC4 800283C4 44CFF800 */ ctc1 $t7, $31 +/* 028FC8 800283C8 00A37821 */ addu $t7, $a1, $v1 +/* 028FCC 800283CC 46000300 */ add.s $f12, $f0, $f0 +/* 028FD0 800283D0 A7AF011A */ sh $t7, 0x11a($sp) +/* 028FD4 800283D4 460C8201 */ sub.s $f8, $f16, $f12 +/* 028FD8 800283D8 44193000 */ mfc1 $t9, $f6 +/* 028FDC 800283DC 4458F800 */ cfc1 $t8, $31 +/* 028FE0 800283E0 03236021 */ addu $t4, $t9, $v1 +/* 028FE4 800283E4 37010003 */ ori $at, $t8, 3 +/* 028FE8 800283E8 38210002 */ xori $at, $at, 2 +/* 028FEC 800283EC 44C1F800 */ ctc1 $at, $31 +/* 028FF0 800283F0 A7AC0118 */ sh $t4, 0x118($sp) +/* 028FF4 800283F4 46004124 */ cvt.w.s $f4, $f8 +/* 028FF8 800283F8 44D8F800 */ ctc1 $t8, $31 +/* 028FFC 800283FC 440C2000 */ mfc1 $t4, $f4 +/* 029000 80028400 460E7080 */ add.s $f2, $f14, $f14 +/* 029004 80028404 01827021 */ addu $t6, $t4, $v0 +/* 029008 80028408 46020281 */ sub.s $f10, $f0, $f2 +/* 02900C 8002840C A7AE0132 */ sh $t6, 0x132($sp) +/* 029010 80028410 444FF800 */ cfc1 $t7, $31 +/* 029014 80028414 00000000 */ nop +/* 029018 80028418 35E10003 */ ori $at, $t7, 3 +/* 02901C 8002841C 38210002 */ xori $at, $at, 2 +/* 029020 80028420 44C1F800 */ ctc1 $at, $31 +/* 029024 80028424 00000000 */ nop +/* 029028 80028428 460051A4 */ cvt.w.s $f6, $f10 +/* 02902C 8002842C 44CFF800 */ ctc1 $t7, $31 +/* 029030 80028430 44193000 */ mfc1 $t9, $f6 +/* 029034 80028434 460C7201 */ sub.s $f8, $f14, $f12 +/* 029038 80028438 03236021 */ addu $t4, $t9, $v1 +/* 02903C 8002843C 444EF800 */ cfc1 $t6, $31 +/* 029040 80028440 A7AC011E */ sh $t4, 0x11e($sp) +/* 029044 80028444 35C10003 */ ori $at, $t6, 3 +/* 029048 80028448 38210002 */ xori $at, $at, 2 +/* 02904C 8002844C 44C1F800 */ ctc1 $at, $31 +/* 029050 80028450 00000000 */ nop +/* 029054 80028454 46004124 */ cvt.w.s $f4, $f8 +/* 029058 80028458 44CEF800 */ ctc1 $t6, $31 +/* 02905C 8002845C 440D2000 */ mfc1 $t5, $f4 +/* 029060 80028460 46001287 */ neg.s $f10, $f2 +/* 029064 80028464 46005181 */ sub.s $f6, $f10, $f0 +/* 029068 80028468 01A2C821 */ addu $t9, $t5, $v0 +/* 02906C 8002846C 444CF800 */ cfc1 $t4, $31 +/* 029070 80028470 A7B90134 */ sh $t9, 0x134($sp) +/* 029074 80028474 35810003 */ ori $at, $t4, 3 +/* 029078 80028478 38210002 */ xori $at, $at, 2 +/* 02907C 8002847C 44C1F800 */ ctc1 $at, $31 +/* 029080 80028480 00000000 */ nop +/* 029084 80028484 46003224 */ cvt.w.s $f8, $f6 +/* 029088 80028488 44CCF800 */ ctc1 $t4, $31 +/* 02908C 8002848C 00000000 */ nop +/* 029090 80028490 00000000 */ nop +/* 029094 80028494 C7AE00B4 */ lwc1 $f14, 0xb4($sp) +/* 029098 80028498 C7B000AC */ lwc1 $f16, 0xac($sp) +/* 02909C 8002849C 460C7100 */ add.s $f4, $f14, $f12 +/* 0290A0 800284A0 44184000 */ mfc1 $t8, $f8 +/* 0290A4 800284A4 4459F800 */ cfc1 $t9, $31 +/* 0290A8 800284A8 03036821 */ addu $t5, $t8, $v1 +/* 0290AC 800284AC 37210003 */ ori $at, $t9, 3 +/* 0290B0 800284B0 38210002 */ xori $at, $at, 2 +/* 0290B4 800284B4 44C1F800 */ ctc1 $at, $31 +/* 0290B8 800284B8 A7AD0120 */ sh $t5, 0x120($sp) +/* 0290BC 800284BC 460022A4 */ cvt.w.s $f10, $f4 +/* 0290C0 800284C0 3C138012 */ lui $s3, %hi(D_8011B0A0) # $s3, 0x8012 +/* 0290C4 800284C4 44D9F800 */ ctc1 $t9, $31 +/* 0290C8 800284C8 440F5000 */ mfc1 $t7, $f10 +/* 0290CC 800284CC 46108080 */ add.s $f2, $f16, $f16 +/* 0290D0 800284D0 01E2C021 */ addu $t8, $t7, $v0 +/* 0290D4 800284D4 46001181 */ sub.s $f6, $f2, $f0 +/* 0290D8 800284D8 A7B80136 */ sh $t8, 0x136($sp) +/* 0290DC 800284DC 444DF800 */ cfc1 $t5, $31 +/* 0290E0 800284E0 2673B0A0 */ addiu $s3, %lo(D_8011B0A0) # addiu $s3, $s3, -0x4f60 +/* 0290E4 800284E4 35A10003 */ ori $at, $t5, 3 +/* 0290E8 800284E8 38210002 */ xori $at, $at, 2 +/* 0290EC 800284EC 44C1F800 */ ctc1 $at, $31 +/* 0290F0 800284F0 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012 +/* 0290F4 800284F4 46003224 */ cvt.w.s $f8, $f6 +/* 0290F8 800284F8 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c +/* 0290FC 800284FC 44CDF800 */ ctc1 $t5, $31 +/* 029100 80028500 440E4000 */ mfc1 $t6, $f8 +/* 029104 80028504 460E6101 */ sub.s $f4, $f12, $f14 +/* 029108 80028508 01C37821 */ addu $t7, $t6, $v1 +/* 02910C 8002850C 4458F800 */ cfc1 $t8, $31 +/* 029110 80028510 A7AF0122 */ sh $t7, 0x122($sp) +/* 029114 80028514 37010003 */ ori $at, $t8, 3 +/* 029118 80028518 38210002 */ xori $at, $at, 2 +/* 02911C 8002851C 44C1F800 */ ctc1 $at, $31 +/* 029120 80028520 02602025 */ move $a0, $s3 +/* 029124 80028524 460022A4 */ cvt.w.s $f10, $f4 +/* 029128 80028528 44D8F800 */ ctc1 $t8, $31 +/* 02912C 8002852C 440C5000 */ mfc1 $t4, $f10 +/* 029130 80028530 46001180 */ add.s $f6, $f2, $f0 +/* 029134 80028534 01827021 */ addu $t6, $t4, $v0 +/* 029138 80028538 444FF800 */ cfc1 $t7, $31 +/* 02913C 8002853C A7AE0138 */ sh $t6, 0x138($sp) +/* 029140 80028540 35E10003 */ ori $at, $t7, 3 +/* 029144 80028544 38210002 */ xori $at, $at, 2 +/* 029148 80028548 44C1F800 */ ctc1 $at, $31 +/* 02914C 8002854C 00000000 */ nop +/* 029150 80028550 46003224 */ cvt.w.s $f8, $f6 +/* 029154 80028554 44194000 */ mfc1 $t9, $f8 +/* 029158 80028558 44CFF800 */ ctc1 $t7, $31 +/* 02915C 8002855C 03236021 */ addu $t4, $t9, $v1 +/* 029160 80028560 0C01A102 */ jal func_80068408 +/* 029164 80028564 A7AC0124 */ sh $t4, 0x124($sp) +/* 029168 80028568 3C04800E */ lui $a0, %hi(D_800DC91C) # $a0, 0x800e +/* 02916C 8002856C 8C84C91C */ lw $a0, %lo(D_800DC91C)($a0) +/* 029170 80028570 2403FFFF */ li $v1, -1 +/* 029174 80028574 8C8A0074 */ lw $t2, 0x74($a0) +/* 029178 80028578 2406FFFF */ li $a2, -1 +/* 02917C 8002857C 11430007 */ beq $t2, $v1, .L8002859C +/* 029180 80028580 24050001 */ li $a1, 1 +/* 029184 80028584 8C820078 */ lw $v0, 0x78($a0) +/* 029188 80028588 00000000 */ nop +/* 02918C 8002858C 14430005 */ bne $v0, $v1, .L800285A4 +/* 029190 80028590 00000000 */ nop +/* 029194 80028594 10000003 */ b .L800285A4 +/* 029198 80028598 01401025 */ move $v0, $t2 +.L8002859C: +/* 02919C 8002859C 8FA20078 */ lw $v0, 0x78($sp) +/* 0291A0 800285A0 00005025 */ move $t2, $zero +.L800285A4: +/* 0291A4 800285A4 11400006 */ beqz $t2, .L800285C0 +/* 0291A8 800285A8 2407FF00 */ li $a3, -256 +/* 0291AC 800285AC 8C470010 */ lw $a3, 0x10($v0) +/* 0291B0 800285B0 2401FF00 */ li $at, -256 +/* 0291B4 800285B4 00E17024 */ and $t6, $a3, $at +/* 0291B8 800285B8 8D460010 */ lw $a2, 0x10($t2) +/* 0291BC 800285BC 01C03825 */ move $a3, $t6 +.L800285C0: +/* 0291C0 800285C0 02602025 */ move $a0, $s3 +/* 0291C4 800285C4 0C01FD65 */ jal func_8007F594 +/* 0291C8 800285C8 AFAA007C */ sw $t2, 0x7c($sp) +/* 0291CC 800285CC 3C058012 */ lui $a1, %hi(D_8011B110) # $a1, 0x8012 +/* 0291D0 800285D0 8CA5B110 */ lw $a1, %lo(D_8011B110)($a1) +/* 0291D4 800285D4 8FA40074 */ lw $a0, 0x74($sp) +/* 0291D8 800285D8 00057A00 */ sll $t7, $a1, 8 +/* 0291DC 800285DC 0C01ED1B */ jal func_8007B46C +/* 0291E0 800285E0 01E02825 */ move $a1, $t7 +/* 0291E4 800285E4 8E630000 */ lw $v1, ($s3) +/* 0291E8 800285E8 3C010700 */ lui $at, 0x700 +/* 0291EC 800285EC 24780008 */ addiu $t8, $v1, 8 +/* 0291F0 800285F0 AE780000 */ sw $t8, ($s3) +/* 0291F4 800285F4 8445000A */ lh $a1, 0xa($v0) +/* 0291F8 800285F8 8FAA007C */ lw $t2, 0x7c($sp) +/* 0291FC 800285FC 30AD00FF */ andi $t5, $a1, 0xff +/* 029200 80028600 000DCC00 */ sll $t9, $t5, 0x10 +/* 029204 80028604 000570C0 */ sll $t6, $a1, 3 +/* 029208 80028608 31CFFFFF */ andi $t7, $t6, 0xffff +/* 02920C 8002860C 03216025 */ or $t4, $t9, $at +/* 029210 80028610 018FC025 */ or $t8, $t4, $t7 +/* 029214 80028614 AC780000 */ sw $t8, ($v1) +/* 029218 80028618 8C4D000C */ lw $t5, 0xc($v0) +/* 02921C 8002861C 3C098000 */ lui $t1, 0x8000 +/* 029220 80028620 3C0B8012 */ lui $t3, %hi(D_8011B0A8) # $t3, 0x8012 +/* 029224 80028624 01A9C821 */ addu $t9, $t5, $t1 +/* 029228 80028628 256BB0A8 */ addiu $t3, %lo(D_8011B0A8) # addiu $t3, $t3, -0x4f58 +/* 02922C 8002862C AC790004 */ sw $t9, 4($v1) +/* 029230 80028630 8D6C0000 */ lw $t4, ($t3) +/* 029234 80028634 8E630000 */ lw $v1, ($s3) +/* 029238 80028638 01897821 */ addu $t7, $t4, $t1 +/* 02923C 8002863C 31F80006 */ andi $t8, $t7, 6 +/* 029240 80028640 370D0040 */ ori $t5, $t8, 0x40 +/* 029244 80028644 246E0008 */ addiu $t6, $v1, 8 +/* 029248 80028648 AE6E0000 */ sw $t6, ($s3) +/* 02924C 8002864C 31B900FF */ andi $t9, $t5, 0xff +/* 029250 80028650 00197400 */ sll $t6, $t9, 0x10 +/* 029254 80028654 3C010400 */ lui $at, 0x400 +/* 029258 80028658 01C16025 */ or $t4, $t6, $at +/* 02925C 8002865C 358F00AA */ ori $t7, $t4, 0xaa +/* 029260 80028660 AC6F0000 */ sw $t7, ($v1) +/* 029264 80028664 8D780000 */ lw $t8, ($t3) +/* 029268 80028668 3C0E0571 */ lui $t6, (0x05710080 >> 16) # lui $t6, 0x571 +/* 02926C 8002866C 03096821 */ addu $t5, $t8, $t1 +/* 029270 80028670 AC6D0004 */ sw $t5, 4($v1) +/* 029274 80028674 8E630000 */ lw $v1, ($s3) +/* 029278 80028678 35CE0080 */ ori $t6, (0x05710080 & 0xFFFF) # ori $t6, $t6, 0x80 +/* 02927C 8002867C 24790008 */ addiu $t9, $v1, 8 +/* 029280 80028680 AE790000 */ sw $t9, ($s3) +/* 029284 80028684 3C0C8012 */ lui $t4, %hi(D_8011B0AC) # $t4, 0x8012 +/* 029288 80028688 AC6E0000 */ sw $t6, ($v1) +/* 02928C 8002868C 8D8CB0AC */ lw $t4, %lo(D_8011B0AC)($t4) +/* 029290 80028690 3C0DE700 */ lui $t5, 0xe700 +/* 029294 80028694 01897821 */ addu $t7, $t4, $t1 +/* 029298 80028698 AC6F0004 */ sw $t7, 4($v1) +/* 02929C 8002869C 8E630000 */ lw $v1, ($s3) +/* 0292A0 800286A0 3C0EFA00 */ lui $t6, 0xfa00 +/* 0292A4 800286A4 24780008 */ addiu $t8, $v1, 8 +/* 0292A8 800286A8 AE780000 */ sw $t8, ($s3) +/* 0292AC 800286AC AC600004 */ sw $zero, 4($v1) +/* 0292B0 800286B0 1140000E */ beqz $t2, .L800286EC +/* 0292B4 800286B4 AC6D0000 */ sw $t5, ($v1) +/* 0292B8 800286B8 8E630000 */ lw $v1, ($s3) +/* 0292BC 800286BC 240CFFFF */ li $t4, -1 +/* 0292C0 800286C0 24790008 */ addiu $t9, $v1, 8 +/* 0292C4 800286C4 AE790000 */ sw $t9, ($s3) +/* 0292C8 800286C8 AC6C0004 */ sw $t4, 4($v1) +/* 0292CC 800286CC AC6E0000 */ sw $t6, ($v1) +/* 0292D0 800286D0 8E630000 */ lw $v1, ($s3) +/* 0292D4 800286D4 3C18FB00 */ lui $t8, 0xfb00 +/* 0292D8 800286D8 246F0008 */ addiu $t7, $v1, 8 +/* 0292DC 800286DC AE6F0000 */ sw $t7, ($s3) +/* 0292E0 800286E0 240DFF00 */ li $t5, -256 +/* 0292E4 800286E4 AC6D0004 */ sw $t5, 4($v1) +/* 0292E8 800286E8 AC780000 */ sw $t8, ($v1) +.L800286EC: +/* 0292EC 800286EC 0C01ECF4 */ jal func_8007B3D0 +/* 0292F0 800286F0 02602025 */ move $a0, $s3 +/* 0292F4 800286F4 3C014340 */ li $at, 0x43400000 # 192.000000 +/* 0292F8 800286F8 44815000 */ mtc1 $at, $f10 +/* 0292FC 800286FC C6440010 */ lwc1 $f4, 0x10($s2) +/* 029300 80028700 27A400DC */ addiu $a0, $sp, 0xdc +/* 029304 80028704 460A2180 */ add.s $f6, $f4, $f10 +/* 029308 80028708 27A200B8 */ addiu $v0, $sp, 0xb8 +/* 02930C 8002870C 4459F800 */ cfc1 $t9, $31 +/* 029310 80028710 27A700DC */ addiu $a3, $sp, 0xdc +/* 029314 80028714 37210003 */ ori $at, $t9, 3 +/* 029318 80028718 38210002 */ xori $at, $at, 2 +/* 02931C 8002871C 44C1F800 */ ctc1 $at, $31 +/* 029320 80028720 27A600CC */ addiu $a2, $sp, 0xcc +/* 029324 80028724 46003224 */ cvt.w.s $f8, $f6 +/* 029328 80028728 240300FF */ li $v1, 255 +/* 02932C 8002872C 44054000 */ mfc1 $a1, $f8 +/* 029330 80028730 44D9F800 */ ctc1 $t9, $31 +/* 029334 80028734 00057400 */ sll $t6, $a1, 0x10 +/* 029338 80028738 000E2C03 */ sra $a1, $t6, 0x10 +.L8002873C: +/* 02933C 8002873C C4840000 */ lwc1 $f4, ($a0) +/* 029340 80028740 C64A000C */ lwc1 $f10, 0xc($s2) +/* 029344 80028744 A6250002 */ sh $a1, 2($s1) +/* 029348 80028748 460A2180 */ add.s $f6, $f4, $f10 +/* 02934C 8002874C 24840004 */ addiu $a0, $a0, 4 +/* 029350 80028750 444FF800 */ cfc1 $t7, $31 +/* 029354 80028754 00000000 */ nop +/* 029358 80028758 35E10003 */ ori $at, $t7, 3 +/* 02935C 8002875C 38210002 */ xori $at, $at, 2 +/* 029360 80028760 44C1F800 */ ctc1 $at, $31 +/* 029364 80028764 00000000 */ nop +/* 029368 80028768 46003224 */ cvt.w.s $f8, $f6 +/* 02936C 8002876C 44184000 */ mfc1 $t8, $f8 +/* 029370 80028770 44CFF800 */ ctc1 $t7, $31 +/* 029374 80028774 A6380000 */ sh $t8, ($s1) +/* 029378 80028778 C64A0014 */ lwc1 $f10, 0x14($s2) +/* 02937C 8002877C C4440000 */ lwc1 $f4, ($v0) +/* 029380 80028780 A2230006 */ sb $v1, 6($s1) +/* 029384 80028784 460A2180 */ add.s $f6, $f4, $f10 +/* 029388 80028788 A2230007 */ sb $v1, 7($s1) +/* 02938C 8002878C 444DF800 */ cfc1 $t5, $31 +/* 029390 80028790 A2230008 */ sb $v1, 8($s1) +/* 029394 80028794 35A10003 */ ori $at, $t5, 3 +/* 029398 80028798 38210002 */ xori $at, $at, 2 +/* 02939C 8002879C 44C1F800 */ ctc1 $at, $31 +/* 0293A0 800287A0 0046082B */ sltu $at, $v0, $a2 +/* 0293A4 800287A4 46003224 */ cvt.w.s $f8, $f6 +/* 0293A8 800287A8 24420004 */ addiu $v0, $v0, 4 +/* 0293AC 800287AC 44194000 */ mfc1 $t9, $f8 +/* 0293B0 800287B0 44CDF800 */ ctc1 $t5, $31 +/* 0293B4 800287B4 10200003 */ beqz $at, .L800287C4 +/* 0293B8 800287B8 A6390004 */ sh $t9, 4($s1) +/* 0293BC 800287BC 10000002 */ b .L800287C8 +/* 0293C0 800287C0 A2230009 */ sb $v1, 9($s1) +.L800287C4: +/* 0293C4 800287C4 A2200009 */ sb $zero, 9($s1) +.L800287C8: +/* 0293C8 800287C8 0047082B */ sltu $at, $v0, $a3 +/* 0293CC 800287CC 1420FFDB */ bnez $at, .L8002873C +/* 0293D0 800287D0 2631000A */ addiu $s1, $s1, 0xa +/* 0293D4 800287D4 3C02800E */ lui $v0, %hi(D_800DC92C) # $v0, 0x800e +/* 0293D8 800287D8 2442C92C */ addiu $v0, %lo(D_800DC92C) # addiu $v0, $v0, -0x36d4 +/* 0293DC 800287DC 00003025 */ move $a2, $zero +/* 0293E0 800287E0 24070008 */ li $a3, 8 +/* 0293E4 800287E4 24050040 */ li $a1, 64 +/* 0293E8 800287E8 27A40114 */ addiu $a0, $sp, 0x114 +/* 0293EC 800287EC 27A30128 */ addiu $v1, $sp, 0x128 +.L800287F0: +/* 0293F0 800287F0 A2050000 */ sb $a1, ($s0) +/* 0293F4 800287F4 904E0000 */ lbu $t6, ($v0) +/* 0293F8 800287F8 24C60002 */ addiu $a2, $a2, 2 +/* 0293FC 800287FC A20E0001 */ sb $t6, 1($s0) +/* 029400 80028800 904C0000 */ lbu $t4, ($v0) +/* 029404 80028804 24420006 */ addiu $v0, $v0, 6 +/* 029408 80028808 000C7840 */ sll $t7, $t4, 1 +/* 02940C 8002880C 006FC021 */ addu $t8, $v1, $t7 +/* 029410 80028810 870D0000 */ lh $t5, ($t8) +/* 029414 80028814 26100020 */ addiu $s0, $s0, 0x20 +/* 029418 80028818 A60DFFE4 */ sh $t5, -0x1c($s0) +/* 02941C 8002881C 9059FFFA */ lbu $t9, -6($v0) +/* 029420 80028820 00000000 */ nop +/* 029424 80028824 00197040 */ sll $t6, $t9, 1 +/* 029428 80028828 008E6021 */ addu $t4, $a0, $t6 +/* 02942C 8002882C 858F0000 */ lh $t7, ($t4) +/* 029430 80028830 00000000 */ nop +/* 029434 80028834 A60FFFE6 */ sh $t7, -0x1a($s0) +/* 029438 80028838 9058FFFB */ lbu $t8, -5($v0) +/* 02943C 8002883C 00000000 */ nop +/* 029440 80028840 A218FFE2 */ sb $t8, -0x1e($s0) +/* 029444 80028844 904DFFFB */ lbu $t5, -5($v0) +/* 029448 80028848 00000000 */ nop +/* 02944C 8002884C 000DC840 */ sll $t9, $t5, 1 +/* 029450 80028850 00797021 */ addu $t6, $v1, $t9 +/* 029454 80028854 85CC0000 */ lh $t4, ($t6) +/* 029458 80028858 00000000 */ nop +/* 02945C 8002885C A60CFFE8 */ sh $t4, -0x18($s0) +/* 029460 80028860 904FFFFB */ lbu $t7, -5($v0) +/* 029464 80028864 00000000 */ nop +/* 029468 80028868 000FC040 */ sll $t8, $t7, 1 +/* 02946C 8002886C 00986821 */ addu $t5, $a0, $t8 +/* 029470 80028870 85B90000 */ lh $t9, ($t5) +/* 029474 80028874 00000000 */ nop +/* 029478 80028878 A619FFEA */ sh $t9, -0x16($s0) +/* 02947C 8002887C 904EFFFC */ lbu $t6, -4($v0) +/* 029480 80028880 00000000 */ nop +/* 029484 80028884 A20EFFE3 */ sb $t6, -0x1d($s0) +/* 029488 80028888 904CFFFC */ lbu $t4, -4($v0) +/* 02948C 8002888C 00000000 */ nop +/* 029490 80028890 000C7840 */ sll $t7, $t4, 1 +/* 029494 80028894 006FC021 */ addu $t8, $v1, $t7 +/* 029498 80028898 870D0000 */ lh $t5, ($t8) +/* 02949C 8002889C 00000000 */ nop +/* 0294A0 800288A0 A60DFFEC */ sh $t5, -0x14($s0) +/* 0294A4 800288A4 9059FFFC */ lbu $t9, -4($v0) +/* 0294A8 800288A8 00000000 */ nop +/* 0294AC 800288AC 00197040 */ sll $t6, $t9, 1 +/* 0294B0 800288B0 008E6021 */ addu $t4, $a0, $t6 +/* 0294B4 800288B4 858F0000 */ lh $t7, ($t4) +/* 0294B8 800288B8 A205FFF0 */ sb $a1, -0x10($s0) +/* 0294BC 800288BC A60FFFEE */ sh $t7, -0x12($s0) +/* 0294C0 800288C0 9058FFFD */ lbu $t8, -3($v0) +/* 0294C4 800288C4 00000000 */ nop +/* 0294C8 800288C8 A218FFF1 */ sb $t8, -0xf($s0) +/* 0294CC 800288CC 904DFFFD */ lbu $t5, -3($v0) +/* 0294D0 800288D0 00000000 */ nop +/* 0294D4 800288D4 000DC840 */ sll $t9, $t5, 1 +/* 0294D8 800288D8 00797021 */ addu $t6, $v1, $t9 +/* 0294DC 800288DC 85CC0000 */ lh $t4, ($t6) +/* 0294E0 800288E0 00000000 */ nop +/* 0294E4 800288E4 A60CFFF4 */ sh $t4, -0xc($s0) +/* 0294E8 800288E8 904FFFFD */ lbu $t7, -3($v0) +/* 0294EC 800288EC 00000000 */ nop +/* 0294F0 800288F0 000FC040 */ sll $t8, $t7, 1 +/* 0294F4 800288F4 00986821 */ addu $t5, $a0, $t8 +/* 0294F8 800288F8 85B90000 */ lh $t9, ($t5) +/* 0294FC 800288FC 00000000 */ nop +/* 029500 80028900 A619FFF6 */ sh $t9, -0xa($s0) +/* 029504 80028904 904EFFFE */ lbu $t6, -2($v0) +/* 029508 80028908 00000000 */ nop +/* 02950C 8002890C A20EFFF2 */ sb $t6, -0xe($s0) +/* 029510 80028910 904CFFFE */ lbu $t4, -2($v0) +/* 029514 80028914 00000000 */ nop +/* 029518 80028918 000C7840 */ sll $t7, $t4, 1 +/* 02951C 8002891C 006FC021 */ addu $t8, $v1, $t7 +/* 029520 80028920 870D0000 */ lh $t5, ($t8) +/* 029524 80028924 00000000 */ nop +/* 029528 80028928 A60DFFF8 */ sh $t5, -8($s0) +/* 02952C 8002892C 9059FFFE */ lbu $t9, -2($v0) +/* 029530 80028930 00000000 */ nop +/* 029534 80028934 00197040 */ sll $t6, $t9, 1 +/* 029538 80028938 008E6021 */ addu $t4, $a0, $t6 +/* 02953C 8002893C 858F0000 */ lh $t7, ($t4) +/* 029540 80028940 00000000 */ nop +/* 029544 80028944 A60FFFFA */ sh $t7, -6($s0) +/* 029548 80028948 9058FFFF */ lbu $t8, -1($v0) +/* 02954C 8002894C 00000000 */ nop +/* 029550 80028950 A218FFF3 */ sb $t8, -0xd($s0) +/* 029554 80028954 904DFFFF */ lbu $t5, -1($v0) +/* 029558 80028958 00000000 */ nop +/* 02955C 8002895C 000DC840 */ sll $t9, $t5, 1 +/* 029560 80028960 00797021 */ addu $t6, $v1, $t9 +/* 029564 80028964 85CC0000 */ lh $t4, ($t6) +/* 029568 80028968 00000000 */ nop +/* 02956C 8002896C A60CFFFC */ sh $t4, -4($s0) +/* 029570 80028970 904FFFFF */ lbu $t7, -1($v0) +/* 029574 80028974 00000000 */ nop +/* 029578 80028978 000FC040 */ sll $t8, $t7, 1 +/* 02957C 8002897C 00986821 */ addu $t5, $a0, $t8 +/* 029580 80028980 85B90000 */ lh $t9, ($t5) +/* 029584 80028984 14C7FF9A */ bne $a2, $a3, .L800287F0 +/* 029588 80028988 A619FFFE */ sh $t9, -2($s0) +/* 02958C 8002898C 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 +/* 029590 80028990 AC31B0A8 */ sw $s1, %lo(D_8011B0A8)($at) +/* 029594 80028994 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 +/* 029598 80028998 8FBF0024 */ lw $ra, 0x24($sp) +/* 02959C 8002899C AC30B0AC */ sw $s0, %lo(D_8011B0AC)($at) +/* 0295A0 800289A0 8FB00014 */ lw $s0, 0x14($sp) +/* 0295A4 800289A4 8FB10018 */ lw $s1, 0x18($sp) +/* 0295A8 800289A8 8FB2001C */ lw $s2, 0x1c($sp) +/* 0295AC 800289AC 8FB30020 */ lw $s3, 0x20($sp) +/* 0295B0 800289B0 03E00008 */ jr $ra +/* 0295B4 800289B4 27BD0158 */ addiu $sp, $sp, 0x158 + diff --git a/asm/non_matchings/unknown_0255E0/func_800289B8.s b/asm/non_matchings/unknown_0255E0/func_800289B8.s new file mode 100644 index 00000000..19b32d99 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800289B8.s @@ -0,0 +1,154 @@ +glabel func_800289B8 +/* 0295B8 800289B8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0295BC 800289BC 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e +/* 0295C0 800289C0 8C42C91C */ lw $v0, %lo(D_800DC91C)($v0) +/* 0295C4 800289C4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0295C8 800289C8 AFB00018 */ sw $s0, 0x18($sp) +/* 0295CC 800289CC 904E00C1 */ lbu $t6, 0xc1($v0) +/* 0295D0 800289D0 3C038012 */ lui $v1, %hi(D_8011B0A8) # $v1, 0x8012 +/* 0295D4 800289D4 A3AE002F */ sb $t6, 0x2f($sp) +/* 0295D8 800289D8 904F00C2 */ lbu $t7, 0xc2($v0) +/* 0295DC 800289DC 3C078012 */ lui $a3, %hi(D_8011B0AC) # $a3, 0x8012 +/* 0295E0 800289E0 A3AF002E */ sb $t7, 0x2e($sp) +/* 0295E4 800289E4 905800C3 */ lbu $t8, 0xc3($v0) +/* 0295E8 800289E8 8C63B0A8 */ lw $v1, %lo(D_8011B0A8)($v1) +/* 0295EC 800289EC A3B8002D */ sb $t8, 0x2d($sp) +/* 0295F0 800289F0 905900BE */ lbu $t9, 0xbe($v0) +/* 0295F4 800289F4 8CE7B0AC */ lw $a3, %lo(D_8011B0AC)($a3) +/* 0295F8 800289F8 A3B9002C */ sb $t9, 0x2c($sp) +/* 0295FC 800289FC 904E00BF */ lbu $t6, 0xbf($v0) +/* 029600 80028A00 3C108012 */ lui $s0, %hi(D_8011B0A0) # $s0, 0x8012 +/* 029604 80028A04 A3AE002B */ sb $t6, 0x2b($sp) +/* 029608 80028A08 904F00C0 */ lbu $t7, 0xc0($v0) +/* 02960C 80028A0C 2610B0A0 */ addiu $s0, %lo(D_8011B0A0) # addiu $s0, $s0, -0x4f60 +/* 029610 80028A10 02002025 */ move $a0, $s0 +/* 029614 80028A14 AFA30024 */ sw $v1, 0x24($sp) +/* 029618 80028A18 AFA70020 */ sw $a3, 0x20($sp) +/* 02961C 80028A1C 0C01ECF4 */ jal func_8007B3D0 +/* 029620 80028A20 A3AF002A */ sb $t7, 0x2a($sp) +/* 029624 80028A24 02002025 */ move $a0, $s0 +/* 029628 80028A28 00002825 */ move $a1, $zero +/* 02962C 80028A2C 0C01ED32 */ jal func_8007B4C8 +/* 029630 80028A30 24060008 */ li $a2, 8 +/* 029634 80028A34 8FA30024 */ lw $v1, 0x24($sp) +/* 029638 80028A38 3C088000 */ lui $t0, 0x8000 +/* 02963C 80028A3C 8E020000 */ lw $v0, ($s0) +/* 029640 80028A40 00682821 */ addu $a1, $v1, $t0 +/* 029644 80028A44 30B90006 */ andi $t9, $a1, 6 +/* 029648 80028A48 372E0018 */ ori $t6, $t9, 0x18 +/* 02964C 80028A4C 24580008 */ addiu $t8, $v0, 8 +/* 029650 80028A50 AE180000 */ sw $t8, ($s0) +/* 029654 80028A54 31CF00FF */ andi $t7, $t6, 0xff +/* 029658 80028A58 000FC400 */ sll $t8, $t7, 0x10 +/* 02965C 80028A5C 3C010400 */ lui $at, 0x400 +/* 029660 80028A60 8FA70020 */ lw $a3, 0x20($sp) +/* 029664 80028A64 0301C825 */ or $t9, $t8, $at +/* 029668 80028A68 372E0050 */ ori $t6, $t9, 0x50 +/* 02966C 80028A6C AC4E0000 */ sw $t6, ($v0) +/* 029670 80028A70 AC450004 */ sw $a1, 4($v0) +/* 029674 80028A74 8E020000 */ lw $v0, ($s0) +/* 029678 80028A78 3C180510 */ lui $t8, (0x05100020 >> 16) # lui $t8, 0x510 +/* 02967C 80028A7C 244F0008 */ addiu $t7, $v0, 8 +/* 029680 80028A80 AE0F0000 */ sw $t7, ($s0) +/* 029684 80028A84 37180020 */ ori $t8, (0x05100020 & 0xFFFF) # ori $t8, $t8, 0x20 +/* 029688 80028A88 00E8C821 */ addu $t9, $a3, $t0 +/* 02968C 80028A8C 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 029690 80028A90 AC590004 */ sw $t9, 4($v0) +/* 029694 80028A94 AC580000 */ sw $t8, ($v0) +/* 029698 80028A98 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 02969C 80028A9C 2410FF6A */ li $s0, -150 +/* 0296A0 80028AA0 15C00004 */ bnez $t6, .L80028AB4 +/* 0296A4 80028AA4 24040096 */ li $a0, 150 +/* 0296A8 80028AA8 2410FF4C */ li $s0, -180 +/* 0296AC 80028AAC 10000001 */ b .L80028AB4 +/* 0296B0 80028AB0 240400B4 */ li $a0, 180 +.L80028AB4: +/* 0296B4 80028AB4 AFA30024 */ sw $v1, 0x24($sp) +/* 0296B8 80028AB8 A7A40030 */ sh $a0, 0x30($sp) +/* 0296BC 80028ABC 0C019884 */ jal func_80066210 +/* 0296C0 80028AC0 AFA70020 */ sw $a3, 0x20($sp) +/* 0296C4 80028AC4 8FA30024 */ lw $v1, 0x24($sp) +/* 0296C8 80028AC8 87A40030 */ lh $a0, 0x30($sp) +/* 0296CC 80028ACC 8FA70020 */ lw $a3, 0x20($sp) +/* 0296D0 80028AD0 24010001 */ li $at, 1 +/* 0296D4 80028AD4 14410007 */ bne $v0, $at, .L80028AF4 +/* 0296D8 80028AD8 240500FF */ li $a1, 255 +/* 0296DC 80028ADC 00107843 */ sra $t7, $s0, 1 +/* 0296E0 80028AE0 000FC400 */ sll $t8, $t7, 0x10 +/* 0296E4 80028AE4 00047043 */ sra $t6, $a0, 1 +/* 0296E8 80028AE8 000E7C00 */ sll $t7, $t6, 0x10 +/* 0296EC 80028AEC 00188403 */ sra $s0, $t8, 0x10 +/* 0296F0 80028AF0 000F2403 */ sra $a0, $t7, 0x10 +.L80028AF4: +/* 0296F4 80028AF4 93A9002F */ lbu $t1, 0x2f($sp) +/* 0296F8 80028AF8 93AA002E */ lbu $t2, 0x2e($sp) +/* 0296FC 80028AFC 93AB002D */ lbu $t3, 0x2d($sp) +/* 029700 80028B00 24020014 */ li $v0, 20 +/* 029704 80028B04 2406FF38 */ li $a2, -200 +/* 029708 80028B08 240800C8 */ li $t0, 200 +/* 02970C 80028B0C A4660000 */ sh $a2, ($v1) +/* 029710 80028B10 A4700002 */ sh $s0, 2($v1) +/* 029714 80028B14 A4620004 */ sh $v0, 4($v1) +/* 029718 80028B18 A0650009 */ sb $a1, 9($v1) +/* 02971C 80028B1C A468000A */ sh $t0, 0xa($v1) +/* 029720 80028B20 A470000C */ sh $s0, 0xc($v1) +/* 029724 80028B24 A462000E */ sh $v0, 0xe($v1) +/* 029728 80028B28 A0690006 */ sb $t1, 6($v1) +/* 02972C 80028B2C A0690010 */ sb $t1, 0x10($v1) +/* 029730 80028B30 A06A0007 */ sb $t2, 7($v1) +/* 029734 80028B34 A06B0008 */ sb $t3, 8($v1) +/* 029738 80028B38 93BF002A */ lbu $ra, 0x2a($sp) +/* 02973C 80028B3C 93AD002B */ lbu $t5, 0x2b($sp) +/* 029740 80028B40 93AC002C */ lbu $t4, 0x2c($sp) +/* 029744 80028B44 A4660014 */ sh $a2, 0x14($v1) +/* 029748 80028B48 A468001E */ sh $t0, 0x1e($v1) +/* 02974C 80028B4C A0650013 */ sb $a1, 0x13($v1) +/* 029750 80028B50 A4640016 */ sh $a0, 0x16($v1) +/* 029754 80028B54 A4620018 */ sh $v0, 0x18($v1) +/* 029758 80028B58 A065001D */ sb $a1, 0x1d($v1) +/* 02975C 80028B5C A4640020 */ sh $a0, 0x20($v1) +/* 029760 80028B60 A4620022 */ sh $v0, 0x22($v1) +/* 029764 80028B64 A0650027 */ sb $a1, 0x27($v1) +/* 029768 80028B68 A06A0011 */ sb $t2, 0x11($v1) +/* 02976C 80028B6C A06B0012 */ sb $t3, 0x12($v1) +/* 029770 80028B70 A07F001C */ sb $ra, 0x1c($v1) +/* 029774 80028B74 A07F0026 */ sb $ra, 0x26($v1) +/* 029778 80028B78 A06D001B */ sb $t5, 0x1b($v1) +/* 02977C 80028B7C A06D0025 */ sb $t5, 0x25($v1) +/* 029780 80028B80 A06C001A */ sb $t4, 0x1a($v1) +/* 029784 80028B84 A06C0024 */ sb $t4, 0x24($v1) +/* 029788 80028B88 24080002 */ li $t0, 2 +/* 02978C 80028B8C 24060040 */ li $a2, 64 +/* 029790 80028B90 24090001 */ li $t1, 1 +/* 029794 80028B94 24190003 */ li $t9, 3 +/* 029798 80028B98 A0E60000 */ sb $a2, ($a3) +/* 02979C 80028B9C A0E80001 */ sb $t0, 1($a3) +/* 0297A0 80028BA0 A0E90002 */ sb $t1, 2($a3) +/* 0297A4 80028BA4 A0E00003 */ sb $zero, 3($a3) +/* 0297A8 80028BA8 A4E00004 */ sh $zero, 4($a3) +/* 0297AC 80028BAC A4E00006 */ sh $zero, 6($a3) +/* 0297B0 80028BB0 A4E00008 */ sh $zero, 8($a3) +/* 0297B4 80028BB4 A4E0000A */ sh $zero, 0xa($a3) +/* 0297B8 80028BB8 A4E0000C */ sh $zero, 0xc($a3) +/* 0297BC 80028BBC A4E0000E */ sh $zero, 0xe($a3) +/* 0297C0 80028BC0 A0E60010 */ sb $a2, 0x10($a3) +/* 0297C4 80028BC4 A0F90011 */ sb $t9, 0x11($a3) +/* 0297C8 80028BC8 A0E80012 */ sb $t0, 0x12($a3) +/* 0297CC 80028BCC A0E90013 */ sb $t1, 0x13($a3) +/* 0297D0 80028BD0 A4E00014 */ sh $zero, 0x14($a3) +/* 0297D4 80028BD4 A4E00016 */ sh $zero, 0x16($a3) +/* 0297D8 80028BD8 A4E00018 */ sh $zero, 0x18($a3) +/* 0297DC 80028BDC A4E0001A */ sh $zero, 0x1a($a3) +/* 0297E0 80028BE0 A4E0001C */ sh $zero, 0x1c($a3) +/* 0297E4 80028BE4 A4E0001E */ sh $zero, 0x1e($a3) +/* 0297E8 80028BE8 24630028 */ addiu $v1, $v1, 0x28 +/* 0297EC 80028BEC 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 +/* 0297F0 80028BF0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0297F4 80028BF4 AC23B0A8 */ sw $v1, %lo(D_8011B0A8)($at) +/* 0297F8 80028BF8 24E70020 */ addiu $a3, $a3, 0x20 +/* 0297FC 80028BFC 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 +/* 029800 80028C00 8FB00018 */ lw $s0, 0x18($sp) +/* 029804 80028C04 AC27B0AC */ sw $a3, %lo(D_8011B0AC)($at) +/* 029808 80028C08 03E00008 */ jr $ra +/* 02980C 80028C0C 27BD0038 */ addiu $sp, $sp, 0x38 + diff --git a/asm/non_matchings/unknown_0255E0/func_80028C10.s b/asm/non_matchings/unknown_0255E0/func_80028C10.s new file mode 100644 index 00000000..04397708 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80028C10.s @@ -0,0 +1,52 @@ +glabel func_80028C10 +/* 029810 80028C10 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012 +/* 029814 80028C14 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48 +/* 029818 80028C18 8C6E0000 */ lw $t6, ($v1) +/* 02981C 80028C1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 029820 80028C20 11C00027 */ beqz $t6, .L80028CC0 +/* 029824 80028C24 AFBF0014 */ sw $ra, 0x14($sp) +/* 029828 80028C28 0C01A748 */ jal func_80069D20 +/* 02982C 80028C2C 00000000 */ nop +/* 029830 80028C30 3C0F800E */ lui $t7, %hi(D_800DC91C) # $t7, 0x800e +/* 029834 80028C34 8DEFC91C */ lw $t7, %lo(D_800DC91C)($t7) +/* 029838 80028C38 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012 +/* 02983C 80028C3C 81F80049 */ lb $t8, 0x49($t7) +/* 029840 80028C40 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48 +/* 029844 80028C44 1700000D */ bnez $t8, .L80028C7C +/* 029848 80028C48 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012 +/* 02984C 80028C4C C444000C */ lwc1 $f4, 0xc($v0) +/* 029850 80028C50 8C790000 */ lw $t9, ($v1) +/* 029854 80028C54 00000000 */ nop +/* 029858 80028C58 E724000C */ swc1 $f4, 0xc($t9) +/* 02985C 80028C5C 8C680000 */ lw $t0, ($v1) +/* 029860 80028C60 C4460010 */ lwc1 $f6, 0x10($v0) +/* 029864 80028C64 00000000 */ nop +/* 029868 80028C68 E5060010 */ swc1 $f6, 0x10($t0) +/* 02986C 80028C6C 8C690000 */ lw $t1, ($v1) +/* 029870 80028C70 C4480014 */ lwc1 $f8, 0x14($v0) +/* 029874 80028C74 00000000 */ nop +/* 029878 80028C78 E5280014 */ swc1 $f8, 0x14($t1) +.L80028C7C: +/* 02987C 80028C7C 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012 +/* 029880 80028C80 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c +/* 029884 80028C84 0C01A102 */ jal func_80068408 +/* 029888 80028C88 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60 +/* 02988C 80028C8C 3C0A8012 */ lui $t2, %hi(D_8011B0DC) # $t2, 0x8012 +/* 029890 80028C90 8D4AB0DC */ lw $t2, %lo(D_8011B0DC)($t2) +/* 029894 80028C94 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012 +/* 029898 80028C98 11400009 */ beqz $t2, .L80028CC0 +/* 02989C 80028C9C 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48 +/* 0298A0 80028CA0 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012 +/* 0298A4 80028CA4 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012 +/* 0298A8 80028CA8 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 +/* 0298AC 80028CAC 8C670000 */ lw $a3, ($v1) +/* 0298B0 80028CB0 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 +/* 0298B4 80028CB4 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c +/* 0298B8 80028CB8 0C004B57 */ jal func_80012D5C +/* 0298BC 80028CBC 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60 +.L80028CC0: +/* 0298C0 80028CC0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0298C4 80028CC4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0298C8 80028CC8 03E00008 */ jr $ra +/* 0298CC 80028CCC 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_80028CD0.s b/asm/non_matchings/unknown_0255E0/func_80028CD0.s new file mode 100644 index 00000000..fca2c488 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80028CD0.s @@ -0,0 +1,188 @@ +glabel func_80028CD0 +/* 0298D0 80028CD0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0298D4 80028CD4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0298D8 80028CD8 0C01A748 */ jal func_80069D20 +/* 0298DC 80028CDC AFA40048 */ sw $a0, 0x48($sp) +/* 0298E0 80028CE0 3C018012 */ lui $at, %hi(D_8011B0B0) # $at, 0x8012 +/* 0298E4 80028CE4 0C019888 */ jal func_80066220 +/* 0298E8 80028CE8 AC22B0B0 */ sw $v0, %lo(D_8011B0B0)($at) +/* 0298EC 80028CEC 0C00C406 */ jal func_80031018 +/* 0298F0 80028CF0 AFA2003C */ sw $v0, 0x3c($sp) +/* 0298F4 80028CF4 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012 +/* 0298F8 80028CF8 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98 +/* 0298FC 80028CFC 8C580008 */ lw $t8, 8($v0) +/* 029900 80028D00 8C4E0000 */ lw $t6, ($v0) +/* 029904 80028D04 44988000 */ mtc1 $t8, $f16 +/* 029908 80028D08 448E2000 */ mtc1 $t6, $f4 +/* 02990C 80028D0C 468084A0 */ cvt.s.w $f18, $f16 +/* 029910 80028D10 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 029914 80028D14 44810000 */ mtc1 $at, $f0 +/* 029918 80028D18 468021A0 */ cvt.s.w $f6, $f4 +/* 02991C 80028D1C 8C4F0004 */ lw $t7, 4($v0) +/* 029920 80028D20 46009103 */ div.s $f4, $f18, $f0 +/* 029924 80028D24 448F4000 */ mtc1 $t7, $f8 +/* 029928 80028D28 00000000 */ nop +/* 02992C 80028D2C 468042A0 */ cvt.s.w $f10, $f8 +/* 029930 80028D30 44062000 */ mfc1 $a2, $f4 +/* 029934 80028D34 46005383 */ div.s $f14, $f10, $f0 +/* 029938 80028D38 0C007578 */ jal func_8001D5E0 +/* 02993C 80028D3C 46003303 */ div.s $f12, $f6, $f0 +/* 029940 80028D40 3C038012 */ lui $v1, %hi(D_8011B0B0) # $v1, 0x8012 +/* 029944 80028D44 8C63B0B0 */ lw $v1, %lo(D_8011B0B0)($v1) +/* 029948 80028D48 8FA7003C */ lw $a3, 0x3c($sp) +/* 02994C 80028D4C 84620034 */ lh $v0, 0x34($v1) +/* 029950 80028D50 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e +/* 029954 80028D54 0440000E */ bltz $v0, .L80028D90 +/* 029958 80028D58 3C0E8012 */ lui $t6, %hi(D_8011D384) # $t6, 0x8012 +/* 02995C 80028D5C 8C84C918 */ lw $a0, %lo(D_800DC918)($a0) +/* 029960 80028D60 00025100 */ sll $t2, $v0, 4 +/* 029964 80028D64 8499001A */ lh $t9, 0x1a($a0) +/* 029968 80028D68 01425021 */ addu $t2, $t2, $v0 +/* 02996C 80028D6C 0059082A */ slt $at, $v0, $t9 +/* 029970 80028D70 10200007 */ beqz $at, .L80028D90 +/* 029974 80028D74 000A5080 */ sll $t2, $t2, 2 +/* 029978 80028D78 8C890004 */ lw $t1, 4($a0) +/* 02997C 80028D7C 3C018012 */ lui $at, %hi(D_8011B0D4) # $at, 0x8012 +/* 029980 80028D80 012A5821 */ addu $t3, $t1, $t2 +/* 029984 80028D84 856C0028 */ lh $t4, 0x28($t3) +/* 029988 80028D88 10000004 */ b .L80028D9C +/* 02998C 80028D8C AC2CB0D4 */ sw $t4, %lo(D_8011B0D4)($at) +.L80028D90: +/* 029990 80028D90 240DFFFF */ li $t5, -1 +/* 029994 80028D94 3C018012 */ lui $at, %hi(D_8011B0D4) # $at, 0x8012 +/* 029998 80028D98 AC2DB0D4 */ sw $t5, %lo(D_8011B0D4)($at) +.L80028D9C: +/* 02999C 80028D9C C466000C */ lwc1 $f6, 0xc($v1) +/* 0299A0 80028DA0 3C018012 */ lui $at, %hi(D_8011D314) # $at, 0x8012 +/* 0299A4 80028DA4 E426D314 */ swc1 $f6, %lo(D_8011D314)($at) +/* 0299A8 80028DA8 C4680010 */ lwc1 $f8, 0x10($v1) +/* 0299AC 80028DAC 3C018012 */ lui $at, %hi(D_8011D318) # $at, 0x8012 +/* 0299B0 80028DB0 E428D318 */ swc1 $f8, %lo(D_8011D318)($at) +/* 0299B4 80028DB4 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 0299B8 80028DB8 8DCED384 */ lw $t6, %lo(D_8011D384)($t6) +/* 0299BC 80028DBC 3C018012 */ lui $at, %hi(D_8011D31C) # $at, 0x8012 +/* 0299C0 80028DC0 11C0006E */ beqz $t6, .L80028F7C +/* 0299C4 80028DC4 E42AD31C */ swc1 $f10, %lo(D_8011D31C)($at) +/* 0299C8 80028DC8 0C02E2E3 */ jal func_800B8B8C +/* 0299CC 80028DCC AFA7003C */ sw $a3, 0x3c($sp) +/* 0299D0 80028DD0 0C006E9D */ jal func_8001BA74 +/* 0299D4 80028DD4 27A40040 */ addiu $a0, $sp, 0x40 +/* 0299D8 80028DD8 3C0F8012 */ lui $t7, %hi(D_8011B0B0) # $t7, 0x8012 +/* 0299DC 80028DDC 8DEFB0B0 */ lw $t7, %lo(D_8011B0B0)($t7) +/* 0299E0 80028DE0 8FA7003C */ lw $a3, 0x3c($sp) +/* 0299E4 80028DE4 85F80036 */ lh $t8, 0x36($t7) +/* 0299E8 80028DE8 24010007 */ li $at, 7 +/* 0299EC 80028DEC 1301003F */ beq $t8, $at, .L80028EEC +/* 0299F0 80028DF0 00000000 */ nop +/* 0299F4 80028DF4 8FB90040 */ lw $t9, 0x40($sp) +/* 0299F8 80028DF8 00000000 */ nop +/* 0299FC 80028DFC 1B20003B */ blez $t9, .L80028EEC +/* 029A00 80028E00 00000000 */ nop +/* 029A04 80028E04 AFA20038 */ sw $v0, 0x38($sp) +/* 029A08 80028E08 0C019944 */ jal func_80066510 +/* 029A0C 80028E0C AFA7003C */ sw $a3, 0x3c($sp) +/* 029A10 80028E10 8FA40038 */ lw $a0, 0x38($sp) +/* 029A14 80028E14 8FA7003C */ lw $a3, 0x3c($sp) +/* 029A18 80028E18 14400034 */ bnez $v0, .L80028EEC +/* 029A1C 80028E1C 2483FFFC */ addiu $v1, $a0, -4 +/* 029A20 80028E20 8FA50040 */ lw $a1, 0x40($sp) +/* 029A24 80028E24 2402FFFF */ li $v0, -1 +/* 029A28 80028E28 24A5FFFF */ addiu $a1, $a1, -1 +.L80028E2C: +/* 029A2C 80028E2C 8C690004 */ lw $t1, 4($v1) +/* 029A30 80028E30 24420001 */ addiu $v0, $v0, 1 +/* 029A34 80028E34 0045082A */ slt $at, $v0, $a1 +/* 029A38 80028E38 8D240064 */ lw $a0, 0x64($t1) +/* 029A3C 80028E3C 10200005 */ beqz $at, .L80028E54 +/* 029A40 80028E40 24630004 */ addiu $v1, $v1, 4 +/* 029A44 80028E44 848A0000 */ lh $t2, ($a0) +/* 029A48 80028E48 00000000 */ nop +/* 029A4C 80028E4C 14EAFFF7 */ bne $a3, $t2, .L80028E2C +/* 029A50 80028E50 00000000 */ nop +.L80028E54: +/* 029A54 80028E54 0C019888 */ jal func_80066220 +/* 029A58 80028E58 AFA30028 */ sw $v1, 0x28($sp) +/* 029A5C 80028E5C 8FA30028 */ lw $v1, 0x28($sp) +/* 029A60 80028E60 444BF800 */ cfc1 $t3, $31 +/* 029A64 80028E64 8C680000 */ lw $t0, ($v1) +/* 029A68 80028E68 35610003 */ ori $at, $t3, 3 +/* 029A6C 80028E6C 38210002 */ xori $at, $at, 2 +/* 029A70 80028E70 44C1F800 */ ctc1 $at, $31 +/* 029A74 80028E74 C510000C */ lwc1 $f16, 0xc($t0) +/* 029A78 80028E78 C5040010 */ lwc1 $f4, 0x10($t0) +/* 029A7C 80028E7C 460084A4 */ cvt.w.s $f18, $f16 +/* 029A80 80028E80 C5080014 */ lwc1 $f8, 0x14($t0) +/* 029A84 80028E84 44CBF800 */ ctc1 $t3, $31 +/* 029A88 80028E88 8FAE0048 */ lw $t6, 0x48($sp) +/* 029A8C 80028E8C 44049000 */ mfc1 $a0, $f18 +/* 029A90 80028E90 444CF800 */ cfc1 $t4, $31 +/* 029A94 80028E94 00403825 */ move $a3, $v0 +/* 029A98 80028E98 35810003 */ ori $at, $t4, 3 +/* 029A9C 80028E9C 38210002 */ xori $at, $at, 2 +/* 029AA0 80028EA0 44C1F800 */ ctc1 $at, $31 +/* 029AA4 80028EA4 AFAE0010 */ sw $t6, 0x10($sp) +/* 029AA8 80028EA8 460021A4 */ cvt.w.s $f6, $f4 +/* 029AAC 80028EAC 44CCF800 */ ctc1 $t4, $31 +/* 029AB0 80028EB0 44053000 */ mfc1 $a1, $f6 +/* 029AB4 80028EB4 00000000 */ nop +/* 029AB8 80028EB8 444DF800 */ cfc1 $t5, $31 +/* 029ABC 80028EBC 00000000 */ nop +/* 029AC0 80028EC0 35A10003 */ ori $at, $t5, 3 +/* 029AC4 80028EC4 38210002 */ xori $at, $at, 2 +/* 029AC8 80028EC8 44C1F800 */ ctc1 $at, $31 +/* 029ACC 80028ECC 00000000 */ nop +/* 029AD0 80028ED0 460042A4 */ cvt.w.s $f10, $f8 +/* 029AD4 80028ED4 44065000 */ mfc1 $a2, $f10 +/* 029AD8 80028ED8 44CDF800 */ ctc1 $t5, $31 +/* 029ADC 80028EDC 0C02E301 */ jal func_800B8C04 +/* 029AE0 80028EE0 00000000 */ nop +/* 029AE4 80028EE4 10000025 */ b .L80028F7C +/* 029AE8 80028EE8 00000000 */ nop +.L80028EEC: +/* 029AEC 80028EEC 0C019888 */ jal func_80066220 +/* 029AF0 80028EF0 00000000 */ nop +/* 029AF4 80028EF4 444FF800 */ cfc1 $t7, $31 +/* 029AF8 80028EF8 3C038012 */ lui $v1, %hi(D_8011B0B0) # $v1, 0x8012 +/* 029AFC 80028EFC 8C63B0B0 */ lw $v1, %lo(D_8011B0B0)($v1) +/* 029B00 80028F00 35E10003 */ ori $at, $t7, 3 +/* 029B04 80028F04 38210002 */ xori $at, $at, 2 +/* 029B08 80028F08 44C1F800 */ ctc1 $at, $31 +/* 029B0C 80028F0C C470000C */ lwc1 $f16, 0xc($v1) +/* 029B10 80028F10 C4640010 */ lwc1 $f4, 0x10($v1) +/* 029B14 80028F14 460084A4 */ cvt.w.s $f18, $f16 +/* 029B18 80028F18 C4680014 */ lwc1 $f8, 0x14($v1) +/* 029B1C 80028F1C 44CFF800 */ ctc1 $t7, $31 +/* 029B20 80028F20 8FA90048 */ lw $t1, 0x48($sp) +/* 029B24 80028F24 44049000 */ mfc1 $a0, $f18 +/* 029B28 80028F28 4458F800 */ cfc1 $t8, $31 +/* 029B2C 80028F2C 00403825 */ move $a3, $v0 +/* 029B30 80028F30 37010003 */ ori $at, $t8, 3 +/* 029B34 80028F34 38210002 */ xori $at, $at, 2 +/* 029B38 80028F38 44C1F800 */ ctc1 $at, $31 +/* 029B3C 80028F3C AFA90010 */ sw $t1, 0x10($sp) +/* 029B40 80028F40 460021A4 */ cvt.w.s $f6, $f4 +/* 029B44 80028F44 44D8F800 */ ctc1 $t8, $31 +/* 029B48 80028F48 44053000 */ mfc1 $a1, $f6 +/* 029B4C 80028F4C 00000000 */ nop +/* 029B50 80028F50 4459F800 */ cfc1 $t9, $31 +/* 029B54 80028F54 00000000 */ nop +/* 029B58 80028F58 37210003 */ ori $at, $t9, 3 +/* 029B5C 80028F5C 38210002 */ xori $at, $at, 2 +/* 029B60 80028F60 44C1F800 */ ctc1 $at, $31 +/* 029B64 80028F64 00000000 */ nop +/* 029B68 80028F68 460042A4 */ cvt.w.s $f10, $f8 +/* 029B6C 80028F6C 44065000 */ mfc1 $a2, $f10 +/* 029B70 80028F70 44D9F800 */ ctc1 $t9, $31 +/* 029B74 80028F74 0C02E301 */ jal func_800B8C04 +/* 029B78 80028F78 00000000 */ nop +.L80028F7C: +/* 029B7C 80028F7C 0C01AF6C */ jal func_8006BDB0 +/* 029B80 80028F80 00000000 */ nop +/* 029B84 80028F84 240A0001 */ li $t2, 1 +/* 029B88 80028F88 0C00A3EB */ jal func_80028FAC +/* 029B8C 80028F8C A04A0003 */ sb $t2, 3($v0) +/* 029B90 80028F90 8FBF001C */ lw $ra, 0x1c($sp) +/* 029B94 80028F94 27BD0048 */ addiu $sp, $sp, 0x48 +/* 029B98 80028F98 03E00008 */ jr $ra +/* 029B9C 80028F9C 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_80028FA0.s b/asm/non_matchings/unknown_0255E0/func_80028FA0.s new file mode 100644 index 00000000..606b7643 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80028FA0.s @@ -0,0 +1,5 @@ +glabel func_80028FA0 +/* 029BA0 80028FA0 3C018012 */ lui $at, 0x8012 +/* 029BA4 80028FA4 03E00008 */ jr $ra +/* 029BA8 80028FA8 AC24B0FC */ sw $a0, -0x4f04($at) + diff --git a/asm/non_matchings/unknown_0255E0/func_80028FAC.s b/asm/non_matchings/unknown_0255E0/func_80028FAC.s new file mode 100644 index 00000000..404124bb --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80028FAC.s @@ -0,0 +1,471 @@ +glabel func_80028FAC +/* 029BAC 80028FAC 27BDFE90 */ addiu $sp, $sp, -0x170 +/* 029BB0 80028FB0 AFBF003C */ sw $ra, 0x3c($sp) +/* 029BB4 80028FB4 AFB60038 */ sw $s6, 0x38($sp) +/* 029BB8 80028FB8 AFB50034 */ sw $s5, 0x34($sp) +/* 029BBC 80028FBC AFB40030 */ sw $s4, 0x30($sp) +/* 029BC0 80028FC0 AFB3002C */ sw $s3, 0x2c($sp) +/* 029BC4 80028FC4 AFB20028 */ sw $s2, 0x28($sp) +/* 029BC8 80028FC8 AFB10024 */ sw $s1, 0x24($sp) +/* 029BCC 80028FCC 0C004B0C */ jal func_80012C30 +/* 029BD0 80028FD0 AFB00020 */ sw $s0, 0x20($sp) +/* 029BD4 80028FD4 0C01BAA4 */ jal func_8006EA90 +/* 029BD8 80028FD8 00000000 */ nop +/* 029BDC 80028FDC 904E0049 */ lbu $t6, 0x49($v0) +/* 029BE0 80028FE0 24010024 */ li $at, 36 +/* 029BE4 80028FE4 15C10003 */ bne $t6, $at, .L80028FF4 +/* 029BE8 80028FE8 240F0001 */ li $t7, 1 +/* 029BEC 80028FEC 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 +/* 029BF0 80028FF0 AC2FB0FC */ sw $t7, %lo(D_8011B0FC)($at) +.L80028FF4: +/* 029BF4 80028FF4 0C005205 */ jal func_80014814 +/* 029BF8 80028FF8 27A4016C */ addiu $a0, $sp, 0x16c +/* 029BFC 80028FFC 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e +/* 029C00 80029000 8E10C918 */ lw $s0, %lo(D_800DC918)($s0) +/* 029C04 80029004 AFA20160 */ sw $v0, 0x160($sp) +/* 029C08 80029008 8618001A */ lh $t8, 0x1a($s0) +/* 029C0C 8002900C 00000000 */ nop +/* 029C10 80029010 2B010002 */ slti $at, $t8, 2 +/* 029C14 80029014 1420000F */ bnez $at, .L80029054 +/* 029C18 80029018 24080001 */ li $t0, 1 +/* 029C1C 8002901C AFA00168 */ sw $zero, 0x168($sp) +/* 029C20 80029020 8606001A */ lh $a2, 0x1a($s0) +/* 029C24 80029024 27B90168 */ addiu $t9, $sp, 0x168 +/* 029C28 80029028 AFB90010 */ sw $t9, 0x10($sp) +/* 029C2C 8002902C 00002025 */ move $a0, $zero +/* 029C30 80029030 00002825 */ move $a1, $zero +/* 029C34 80029034 27A700D8 */ addiu $a3, $sp, 0xd8 +/* 029C38 80029038 0C00A6BE */ jal func_80029AF8 +/* 029C3C 8002903C 24C6FFFF */ addiu $a2, $a2, -1 +/* 029C40 80029040 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e +/* 029C44 80029044 8E10C918 */ lw $s0, %lo(D_800DC918)($s0) +/* 029C48 80029048 10000005 */ b .L80029060 +/* 029C4C 8002904C 8609001A */ lh $t1, 0x1a($s0) +/* 029C50 80029050 24080001 */ li $t0, 1 +.L80029054: +/* 029C54 80029054 AFA80168 */ sw $t0, 0x168($sp) +/* 029C58 80029058 A3A000D8 */ sb $zero, 0xd8($sp) +/* 029C5C 8002905C 8609001A */ lh $t1, 0x1a($s0) +.L80029060: +/* 029C60 80029060 24120001 */ li $s2, 1 +/* 029C64 80029064 19200008 */ blez $t1, .L80029088 +/* 029C68 80029068 3C0C8012 */ lui $t4, %hi(D_8011B0E0) # $t4, 0x8012 +/* 029C6C 8002906C 27A20059 */ addiu $v0, $sp, 0x59 +.L80029070: +/* 029C70 80029070 A0400000 */ sb $zero, ($v0) +/* 029C74 80029074 860A001A */ lh $t2, 0x1a($s0) +/* 029C78 80029078 26520001 */ addiu $s2, $s2, 1 +/* 029C7C 8002907C 0152082A */ slt $at, $t2, $s2 +/* 029C80 80029080 1020FFFB */ beqz $at, .L80029070 +/* 029C84 80029084 24420001 */ addiu $v0, $v0, 1 +.L80029088: +/* 029C88 80029088 818CB0E0 */ lb $t4, %lo(D_8011B0E0)($t4) +/* 029C8C 8002908C 240B0001 */ li $t3, 1 +/* 029C90 80029090 11800016 */ beqz $t4, .L800290EC +/* 029C94 80029094 A3AB0058 */ sb $t3, 0x58($sp) +/* 029C98 80029098 8FAD0168 */ lw $t5, 0x168($sp) +/* 029C9C 8002909C 00009025 */ move $s2, $zero +/* 029CA0 800290A0 19A00012 */ blez $t5, .L800290EC +/* 029CA4 800290A4 27B60058 */ addiu $s6, $sp, 0x58 +/* 029CA8 800290A8 27B000D8 */ addiu $s0, $sp, 0xd8 +/* 029CAC 800290AC 24110001 */ li $s1, 1 +.L800290B0: +/* 029CB0 800290B0 92040000 */ lbu $a0, ($s0) +/* 029CB4 800290B4 0C00A596 */ jal func_80029658 +/* 029CB8 800290B8 00002825 */ move $a1, $zero +/* 029CBC 800290BC 920E0000 */ lbu $t6, ($s0) +/* 029CC0 800290C0 26520001 */ addiu $s2, $s2, 1 +/* 029CC4 800290C4 02CE7821 */ addu $t7, $s6, $t6 +/* 029CC8 800290C8 A1F10001 */ sb $s1, 1($t7) +/* 029CCC 800290CC 8FB80168 */ lw $t8, 0x168($sp) +/* 029CD0 800290D0 26100001 */ addiu $s0, $s0, 1 +/* 029CD4 800290D4 0258082A */ slt $at, $s2, $t8 +/* 029CD8 800290D8 1420FFF5 */ bnez $at, .L800290B0 +/* 029CDC 800290DC 00000000 */ nop +/* 029CE0 800290E0 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e +/* 029CE4 800290E4 8E10C918 */ lw $s0, %lo(D_800DC918)($s0) +/* 029CE8 800290E8 00000000 */ nop +.L800290EC: +/* 029CEC 800290EC 8619001A */ lh $t9, 0x1a($s0) +/* 029CF0 800290F0 27B60058 */ addiu $s6, $sp, 0x58 +/* 029CF4 800290F4 2B210002 */ slti $at, $t9, 2 +/* 029CF8 800290F8 10200003 */ beqz $at, .L80029108 +/* 029CFC 800290FC 3C138012 */ lui $s3, %hi(D_8011B0A0) # $s3, 0x8012 +/* 029D00 80029100 24080001 */ li $t0, 1 +/* 029D04 80029104 A3A80059 */ sb $t0, 0x59($sp) +.L80029108: +/* 029D08 80029108 2673B0A0 */ addiu $s3, %lo(D_8011B0A0) # addiu $s3, $s3, -0x4f60 +/* 029D0C 8002910C 0C01ECF4 */ jal func_8007B3D0 +/* 029D10 80029110 02602025 */ move $a0, $s3 +/* 029D14 80029114 8FA3016C */ lw $v1, 0x16c($sp) +/* 029D18 80029118 8FA40160 */ lw $a0, 0x160($sp) +/* 029D1C 8002911C 0C0054D2 */ jal func_80015348 +/* 029D20 80029120 2465FFFF */ addiu $a1, $v1, -1 +/* 029D24 80029124 0C019888 */ jal func_80066220 +/* 029D28 80029128 00000000 */ nop +/* 029D2C 8002912C 8FA3016C */ lw $v1, 0x16c($sp) +/* 029D30 80029130 8FB20160 */ lw $s2, 0x160($sp) +/* 029D34 80029134 30490001 */ andi $t1, $v0, 1 +/* 029D38 80029138 240A0200 */ li $t2, 512 +/* 029D3C 8002913C 012A5804 */ sllv $t3, $t2, $t1 +/* 029D40 80029140 0243082A */ slt $at, $s2, $v1 +/* 029D44 80029144 10200056 */ beqz $at, .L800292A0 +/* 029D48 80029148 AFAB0158 */ sw $t3, 0x158($sp) +/* 029D4C 8002914C 3C158012 */ lui $s5, %hi(D_8011B0A8) # $s5, 0x8012 +/* 029D50 80029150 3C148012 */ lui $s4, %hi(D_8011B0A4) # $s4, 0x8012 +/* 029D54 80029154 2694B0A4 */ addiu $s4, %lo(D_8011B0A4) # addiu $s4, $s4, -0x4f5c +/* 029D58 80029158 26B5B0A8 */ addiu $s5, %lo(D_8011B0A8) # addiu $s5, $s5, -0x4f58 +/* 029D5C 8002915C 02402025 */ move $a0, $s2 +.L80029160: +/* 029D60 80029160 0C003A52 */ jal func_8000E948 +/* 029D64 80029164 241000FF */ li $s0, 255 +/* 029D68 80029168 84430006 */ lh $v1, 6($v0) +/* 029D6C 8002916C 8FAF0158 */ lw $t7, 0x158($sp) +/* 029D70 80029170 306D0080 */ andi $t5, $v1, 0x80 +/* 029D74 80029174 11A00003 */ beqz $t5, .L80029184 +/* 029D78 80029178 00408825 */ move $s1, $v0 +/* 029D7C 8002917C 10000006 */ b .L80029198 +/* 029D80 80029180 00008025 */ move $s0, $zero +.L80029184: +/* 029D84 80029184 306E8000 */ andi $t6, $v1, 0x8000 +/* 029D88 80029188 15C00004 */ bnez $t6, .L8002919C +/* 029D8C 8002918C 006FC024 */ and $t8, $v1, $t7 +/* 029D90 80029190 90500039 */ lbu $s0, 0x39($v0) +/* 029D94 80029194 00000000 */ nop +.L80029198: +/* 029D98 80029198 006FC024 */ and $t8, $v1, $t7 +.L8002919C: +/* 029D9C 8002919C 13000002 */ beqz $t8, .L800291A8 +/* 029DA0 800291A0 240100FF */ li $at, 255 +/* 029DA4 800291A4 00008025 */ move $s0, $zero +.L800291A8: +/* 029DA8 800291A8 10400039 */ beqz $v0, .L80029290 +/* 029DAC 800291AC 8FA3016C */ lw $v1, 0x16c($sp) +/* 029DB0 800291B0 16010037 */ bne $s0, $at, .L80029290 +/* 029DB4 800291B4 8FA3016C */ lw $v1, 0x16c($sp) +/* 029DB8 800291B8 0C00AA40 */ jal func_8002A900 +/* 029DBC 800291BC 02202025 */ move $a0, $s1 +/* 029DC0 800291C0 10400033 */ beqz $v0, .L80029290 +/* 029DC4 800291C4 8FA3016C */ lw $v1, 0x16c($sp) +/* 029DC8 800291C8 8639002E */ lh $t9, 0x2e($s1) +/* 029DCC 800291CC 3C01800E */ lui $at, %hi(D_800E5EA4) # $at, 0x800e +/* 029DD0 800291D0 02D94021 */ addu $t0, $s6, $t9 +/* 029DD4 800291D4 910A0001 */ lbu $t2, 1($t0) +/* 029DD8 800291D8 00000000 */ nop +/* 029DDC 800291DC 15400009 */ bnez $t2, .L80029204 +/* 029DE0 800291E0 00000000 */ nop +/* 029DE4 800291E4 C6260034 */ lwc1 $f6, 0x34($s1) +/* 029DE8 800291E8 C4255EA0 */ lwc1 $f5, %lo(D_800E5EA0)($at) +/* 029DEC 800291EC C4245EA4 */ lwc1 $f4, %lo(D_800E5EA4)($at) +/* 029DF0 800291F0 46003221 */ cvt.d.s $f8, $f6 +/* 029DF4 800291F4 4628203C */ c.lt.d $f4, $f8 +/* 029DF8 800291F8 00000000 */ nop +/* 029DFC 800291FC 45000024 */ bc1f .L80029290 +/* 029E00 80029200 8FA3016C */ lw $v1, 0x16c($sp) +.L80029204: +/* 029E04 80029204 86290006 */ lh $t1, 6($s1) +/* 029E08 80029208 02602025 */ move $a0, $s3 +/* 029E0C 8002920C 312B8000 */ andi $t3, $t1, 0x8000 +/* 029E10 80029210 11600006 */ beqz $t3, .L8002922C +/* 029E14 80029214 02802825 */ move $a1, $s4 +/* 029E18 80029218 02A03025 */ move $a2, $s5 +/* 029E1C 8002921C 0C004B57 */ jal func_80012D5C +/* 029E20 80029220 02203825 */ move $a3, $s1 +/* 029E24 80029224 1000001A */ b .L80029290 +/* 029E28 80029228 8FA3016C */ lw $v1, 0x16c($sp) +.L8002922C: +/* 029E2C 8002922C 8E250050 */ lw $a1, 0x50($s1) +/* 029E30 80029230 00000000 */ nop +/* 029E34 80029234 10A00004 */ beqz $a1, .L80029248 +/* 029E38 80029238 02602025 */ move $a0, $s3 +/* 029E3C 8002923C 0C00B4E1 */ jal func_8002D384 +/* 029E40 80029240 02202025 */ move $a0, $s1 +/* 029E44 80029244 02602025 */ move $a0, $s3 +.L80029248: +/* 029E48 80029248 02802825 */ move $a1, $s4 +/* 029E4C 8002924C 02A03025 */ move $a2, $s5 +/* 029E50 80029250 0C004B57 */ jal func_80012D5C +/* 029E54 80029254 02203825 */ move $a3, $s1 +/* 029E58 80029258 8E250058 */ lw $a1, 0x58($s1) +/* 029E5C 8002925C 00000000 */ nop +/* 029E60 80029260 10A0000B */ beqz $a1, .L80029290 +/* 029E64 80029264 8FA3016C */ lw $v1, 0x16c($sp) +/* 029E68 80029268 8E2C0040 */ lw $t4, 0x40($s1) +/* 029E6C 8002926C 00000000 */ nop +/* 029E70 80029270 958D0030 */ lhu $t5, 0x30($t4) +/* 029E74 80029274 00000000 */ nop +/* 029E78 80029278 31AE0010 */ andi $t6, $t5, 0x10 +/* 029E7C 8002927C 11C00004 */ beqz $t6, .L80029290 +/* 029E80 80029280 8FA3016C */ lw $v1, 0x16c($sp) +/* 029E84 80029284 0C00B59C */ jal func_8002D670 +/* 029E88 80029288 02202025 */ move $a0, $s1 +/* 029E8C 8002928C 8FA3016C */ lw $v1, 0x16c($sp) +.L80029290: +/* 029E90 80029290 26520001 */ addiu $s2, $s2, 1 +/* 029E94 80029294 0243082A */ slt $at, $s2, $v1 +/* 029E98 80029298 1420FFB1 */ bnez $at, .L80029160 +/* 029E9C 8002929C 02402025 */ move $a0, $s2 +.L800292A0: +/* 029EA0 800292A0 8FAF0160 */ lw $t7, 0x160($sp) +/* 029EA4 800292A4 2472FFFF */ addiu $s2, $v1, -1 +/* 029EA8 800292A8 3C148012 */ lui $s4, %hi(D_8011B0A4) # $s4, 0x8012 +/* 029EAC 800292AC 3C158012 */ lui $s5, %hi(D_8011B0A8) # $s5, 0x8012 +/* 029EB0 800292B0 024F082A */ slt $at, $s2, $t7 +/* 029EB4 800292B4 26B5B0A8 */ addiu $s5, %lo(D_8011B0A8) # addiu $s5, $s5, -0x4f58 +/* 029EB8 800292B8 14200044 */ bnez $at, .L800293CC +/* 029EBC 800292BC 2694B0A4 */ addiu $s4, %lo(D_8011B0A4) # addiu $s4, $s4, -0x4f5c +/* 029EC0 800292C0 25F8FFFF */ addiu $t8, $t7, -1 +/* 029EC4 800292C4 AFB80044 */ sw $t8, 0x44($sp) +.L800292C8: +/* 029EC8 800292C8 0C003A52 */ jal func_8000E948 +/* 029ECC 800292CC 02402025 */ move $a0, $s2 +/* 029ED0 800292D0 84430006 */ lh $v1, 6($v0) +/* 029ED4 800292D4 8FB90158 */ lw $t9, 0x158($sp) +/* 029ED8 800292D8 00408825 */ move $s1, $v0 +/* 029EDC 800292DC 00794024 */ and $t0, $v1, $t9 +/* 029EE0 800292E0 11000003 */ beqz $t0, .L800292F0 +/* 029EE4 800292E4 24100001 */ li $s0, 1 +/* 029EE8 800292E8 10000001 */ b .L800292F0 +/* 029EEC 800292EC 00008025 */ move $s0, $zero +.L800292F0: +/* 029EF0 800292F0 10400033 */ beqz $v0, .L800293C0 +/* 029EF4 800292F4 8FA80044 */ lw $t0, 0x44($sp) +/* 029EF8 800292F8 12000030 */ beqz $s0, .L800293BC +/* 029EFC 800292FC 306A0100 */ andi $t2, $v1, 0x100 +/* 029F00 80029300 1140002F */ beqz $t2, .L800293C0 +/* 029F04 80029304 8FA80044 */ lw $t0, 0x44($sp) +/* 029F08 80029308 8449002E */ lh $t1, 0x2e($v0) +/* 029F0C 8002930C 00000000 */ nop +/* 029F10 80029310 02C95821 */ addu $t3, $s6, $t1 +/* 029F14 80029314 916C0001 */ lbu $t4, 1($t3) +/* 029F18 80029318 00000000 */ nop +/* 029F1C 8002931C 11800028 */ beqz $t4, .L800293C0 +/* 029F20 80029320 8FA80044 */ lw $t0, 0x44($sp) +/* 029F24 80029324 0C00AA40 */ jal func_8002A900 +/* 029F28 80029328 02202025 */ move $a0, $s1 +/* 029F2C 8002932C 10400024 */ beqz $v0, .L800293C0 +/* 029F30 80029330 8FA80044 */ lw $t0, 0x44($sp) +/* 029F34 80029334 862D0006 */ lh $t5, 6($s1) +/* 029F38 80029338 02602025 */ move $a0, $s3 +/* 029F3C 8002933C 31AE8000 */ andi $t6, $t5, 0x8000 +/* 029F40 80029340 11C00006 */ beqz $t6, .L8002935C +/* 029F44 80029344 02802825 */ move $a1, $s4 +/* 029F48 80029348 02A03025 */ move $a2, $s5 +/* 029F4C 8002934C 0C004B57 */ jal func_80012D5C +/* 029F50 80029350 02203825 */ move $a3, $s1 +/* 029F54 80029354 1000001A */ b .L800293C0 +/* 029F58 80029358 8FA80044 */ lw $t0, 0x44($sp) +.L8002935C: +/* 029F5C 8002935C 8E250050 */ lw $a1, 0x50($s1) +/* 029F60 80029360 00000000 */ nop +/* 029F64 80029364 10A00004 */ beqz $a1, .L80029378 +/* 029F68 80029368 02602025 */ move $a0, $s3 +/* 029F6C 8002936C 0C00B4E1 */ jal func_8002D384 +/* 029F70 80029370 02202025 */ move $a0, $s1 +/* 029F74 80029374 02602025 */ move $a0, $s3 +.L80029378: +/* 029F78 80029378 02802825 */ move $a1, $s4 +/* 029F7C 8002937C 02A03025 */ move $a2, $s5 +/* 029F80 80029380 0C004B57 */ jal func_80012D5C +/* 029F84 80029384 02203825 */ move $a3, $s1 +/* 029F88 80029388 8E250058 */ lw $a1, 0x58($s1) +/* 029F8C 8002938C 00000000 */ nop +/* 029F90 80029390 10A0000B */ beqz $a1, .L800293C0 +/* 029F94 80029394 8FA80044 */ lw $t0, 0x44($sp) +/* 029F98 80029398 8E2F0040 */ lw $t7, 0x40($s1) +/* 029F9C 8002939C 00000000 */ nop +/* 029FA0 800293A0 95F80030 */ lhu $t8, 0x30($t7) +/* 029FA4 800293A4 00000000 */ nop +/* 029FA8 800293A8 33190010 */ andi $t9, $t8, 0x10 +/* 029FAC 800293AC 13200004 */ beqz $t9, .L800293C0 +/* 029FB0 800293B0 8FA80044 */ lw $t0, 0x44($sp) +/* 029FB4 800293B4 0C00B59C */ jal func_8002D670 +/* 029FB8 800293B8 02202025 */ move $a0, $s1 +.L800293BC: +/* 029FBC 800293BC 8FA80044 */ lw $t0, 0x44($sp) +.L800293C0: +/* 029FC0 800293C0 2652FFFF */ addiu $s2, $s2, -1 +/* 029FC4 800293C4 1648FFC0 */ bne $s2, $t0, .L800292C8 +/* 029FC8 800293C8 00000000 */ nop +.L800293CC: +/* 029FCC 800293CC 3C0A8012 */ lui $t2, %hi(D_8011B0E0) # $t2, 0x8012 +/* 029FD0 800293D0 814AB0E0 */ lb $t2, %lo(D_8011B0E0)($t2) +/* 029FD4 800293D4 8FA20168 */ lw $v0, 0x168($sp) +/* 029FD8 800293D8 1140000C */ beqz $t2, .L8002940C +/* 029FDC 800293DC 2442FFFF */ addiu $v0, $v0, -1 +/* 029FE0 800293E0 0440000A */ bltz $v0, .L8002940C +/* 029FE4 800293E4 27A900D8 */ addiu $t1, $sp, 0xd8 +/* 029FE8 800293E8 00498021 */ addu $s0, $v0, $t1 +/* 029FEC 800293EC 27B100D8 */ addiu $s1, $sp, 0xd8 +.L800293F0: +/* 029FF0 800293F0 92040000 */ lbu $a0, ($s0) +/* 029FF4 800293F4 0C00A596 */ jal func_80029658 +/* 029FF8 800293F8 24050001 */ li $a1, 1 +/* 029FFC 800293FC 2610FFFF */ addiu $s0, $s0, -1 +/* 02A000 80029400 0211082B */ sltu $at, $s0, $s1 +/* 02A004 80029404 1020FFFA */ beqz $at, .L800293F0 +/* 02A008 80029408 00000000 */ nop +.L8002940C: +/* 02A00C 8002940C 3C0B8012 */ lui $t3, %hi(D_8011D384) # $t3, 0x8012 +/* 02A010 80029410 8D6BD384 */ lw $t3, %lo(D_8011D384)($t3) +/* 02A014 80029414 00000000 */ nop +/* 02A018 80029418 11600007 */ beqz $t3, .L80029438 +/* 02A01C 8002941C 00000000 */ nop +/* 02A020 80029420 0C019888 */ jal func_80066220 +/* 02A024 80029424 00000000 */ nop +/* 02A028 80029428 02602025 */ move $a0, $s3 +/* 02A02C 8002942C 02802825 */ move $a1, $s4 +/* 02A030 80029430 0C02EA39 */ jal func_800BA8E4 +/* 02A034 80029434 00403025 */ move $a2, $v0 +.L80029438: +/* 02A038 80029438 0C01ECF4 */ jal func_8007B3D0 +/* 02A03C 8002943C 02602025 */ move $a0, $s3 +/* 02A040 80029440 02602025 */ move $a0, $s3 +/* 02A044 80029444 00002825 */ move $a1, $zero +/* 02A048 80029448 0C01ED32 */ jal func_8007B4C8 +/* 02A04C 8002944C 2406000A */ li $a2, 10 +/* 02A050 80029450 0C004B0F */ jal func_80012C3C +/* 02A054 80029454 02602025 */ move $a0, $s3 +/* 02A058 80029458 8FA3016C */ lw $v1, 0x16c($sp) +/* 02A05C 8002945C 8FAC0160 */ lw $t4, 0x160($sp) +/* 02A060 80029460 2472FFFF */ addiu $s2, $v1, -1 +/* 02A064 80029464 024C082A */ slt $at, $s2, $t4 +/* 02A068 80029468 14200060 */ bnez $at, .L800295EC +/* 02A06C 8002946C 258DFFFF */ addiu $t5, $t4, -1 +/* 02A070 80029470 AFAD0044 */ sw $t5, 0x44($sp) +/* 02A074 80029474 02402025 */ move $a0, $s2 +.L80029478: +/* 02A078 80029478 0C003A52 */ jal func_8000E948 +/* 02A07C 8002947C 241000FF */ li $s0, 255 +/* 02A080 80029480 84430006 */ lh $v1, 6($v0) +/* 02A084 80029484 8FB80158 */ lw $t8, 0x158($sp) +/* 02A088 80029488 306E0080 */ andi $t6, $v1, 0x80 +/* 02A08C 8002948C 11C00003 */ beqz $t6, .L8002949C +/* 02A090 80029490 00408825 */ move $s1, $v0 +/* 02A094 80029494 10000006 */ b .L800294B0 +/* 02A098 80029498 24100001 */ li $s0, 1 +.L8002949C: +/* 02A09C 8002949C 306F8000 */ andi $t7, $v1, 0x8000 +/* 02A0A0 800294A0 15E00004 */ bnez $t7, .L800294B4 +/* 02A0A4 800294A4 0078C824 */ and $t9, $v1, $t8 +/* 02A0A8 800294A8 90500039 */ lbu $s0, 0x39($v0) +/* 02A0AC 800294AC 00000000 */ nop +.L800294B0: +/* 02A0B0 800294B0 0078C824 */ and $t9, $v1, $t8 +.L800294B4: +/* 02A0B4 800294B4 13200002 */ beqz $t9, .L800294C0 +/* 02A0B8 800294B8 00000000 */ nop +/* 02A0BC 800294BC 00008025 */ move $s0, $zero +.L800294C0: +/* 02A0C0 800294C0 84480048 */ lh $t0, 0x48($v0) +/* 02A0C4 800294C4 24010001 */ li $at, 1 +/* 02A0C8 800294C8 15010004 */ bne $t0, $at, .L800294DC +/* 02A0CC 800294CC 2A0100FF */ slti $at, $s0, 0xff +/* 02A0D0 800294D0 14200002 */ bnez $at, .L800294DC +/* 02A0D4 800294D4 00000000 */ nop +/* 02A0D8 800294D8 00008025 */ move $s0, $zero +.L800294DC: +/* 02A0DC 800294DC 1040003F */ beqz $v0, .L800295DC +/* 02A0E0 800294E0 2A0100FF */ slti $at, $s0, 0xff +/* 02A0E4 800294E4 1020003E */ beqz $at, .L800295E0 +/* 02A0E8 800294E8 8FA80044 */ lw $t0, 0x44($sp) +/* 02A0EC 800294EC 844A002E */ lh $t2, 0x2e($v0) +/* 02A0F0 800294F0 00000000 */ nop +/* 02A0F4 800294F4 02CA4821 */ addu $t1, $s6, $t2 +/* 02A0F8 800294F8 912B0001 */ lbu $t3, 1($t1) +/* 02A0FC 800294FC 00000000 */ nop +/* 02A100 80029500 11600037 */ beqz $t3, .L800295E0 +/* 02A104 80029504 8FA80044 */ lw $t0, 0x44($sp) +/* 02A108 80029508 0C00AA40 */ jal func_8002A900 +/* 02A10C 8002950C 02202025 */ move $a0, $s1 +/* 02A110 80029510 10400033 */ beqz $v0, .L800295E0 +/* 02A114 80029514 8FA80044 */ lw $t0, 0x44($sp) +/* 02A118 80029518 1A000023 */ blez $s0, .L800295A8 +/* 02A11C 8002951C 00000000 */ nop +/* 02A120 80029520 862C0006 */ lh $t4, 6($s1) +/* 02A124 80029524 02602025 */ move $a0, $s3 +/* 02A128 80029528 318D8000 */ andi $t5, $t4, 0x8000 +/* 02A12C 8002952C 11A00006 */ beqz $t5, .L80029548 +/* 02A130 80029530 02802825 */ move $a1, $s4 +/* 02A134 80029534 02A03025 */ move $a2, $s5 +/* 02A138 80029538 0C004B57 */ jal func_80012D5C +/* 02A13C 8002953C 02203825 */ move $a3, $s1 +/* 02A140 80029540 1000001A */ b .L800295AC +/* 02A144 80029544 86390048 */ lh $t9, 0x48($s1) +.L80029548: +/* 02A148 80029548 8E250050 */ lw $a1, 0x50($s1) +/* 02A14C 8002954C 00000000 */ nop +/* 02A150 80029550 10A00004 */ beqz $a1, .L80029564 +/* 02A154 80029554 02602025 */ move $a0, $s3 +/* 02A158 80029558 0C00B4E1 */ jal func_8002D384 +/* 02A15C 8002955C 02202025 */ move $a0, $s1 +/* 02A160 80029560 02602025 */ move $a0, $s3 +.L80029564: +/* 02A164 80029564 02802825 */ move $a1, $s4 +/* 02A168 80029568 02A03025 */ move $a2, $s5 +/* 02A16C 8002956C 0C004B57 */ jal func_80012D5C +/* 02A170 80029570 02203825 */ move $a3, $s1 +/* 02A174 80029574 8E250058 */ lw $a1, 0x58($s1) +/* 02A178 80029578 00000000 */ nop +/* 02A17C 8002957C 10A0000A */ beqz $a1, .L800295A8 +/* 02A180 80029580 00000000 */ nop +/* 02A184 80029584 8E2E0040 */ lw $t6, 0x40($s1) +/* 02A188 80029588 00000000 */ nop +/* 02A18C 8002958C 95CF0030 */ lhu $t7, 0x30($t6) +/* 02A190 80029590 00000000 */ nop +/* 02A194 80029594 31F80010 */ andi $t8, $t7, 0x10 +/* 02A198 80029598 13000003 */ beqz $t8, .L800295A8 +/* 02A19C 8002959C 00000000 */ nop +/* 02A1A0 800295A0 0C00B59C */ jal func_8002D670 +/* 02A1A4 800295A4 02202025 */ move $a0, $s1 +.L800295A8: +/* 02A1A8 800295A8 86390048 */ lh $t9, 0x48($s1) +.L800295AC: +/* 02A1AC 800295AC 24010001 */ li $at, 1 +/* 02A1B0 800295B0 1721000A */ bne $t9, $at, .L800295DC +/* 02A1B4 800295B4 02602025 */ move $a0, $s3 +/* 02A1B8 800295B8 02802825 */ move $a1, $s4 +/* 02A1BC 800295BC 02A03025 */ move $a2, $s5 +/* 02A1C0 800295C0 0C004E83 */ jal func_80013A0C +/* 02A1C4 800295C4 02203825 */ move $a3, $s1 +/* 02A1C8 800295C8 02602025 */ move $a0, $s3 +/* 02A1CC 800295CC 02802825 */ move $a1, $s4 +/* 02A1D0 800295D0 02A03025 */ move $a2, $s5 +/* 02A1D4 800295D4 0C004F73 */ jal func_80013DCC +/* 02A1D8 800295D8 02203825 */ move $a3, $s1 +.L800295DC: +/* 02A1DC 800295DC 8FA80044 */ lw $t0, 0x44($sp) +.L800295E0: +/* 02A1E0 800295E0 2652FFFF */ addiu $s2, $s2, -1 +/* 02A1E4 800295E4 1648FFA4 */ bne $s2, $t0, .L80029478 +/* 02A1E8 800295E8 02402025 */ move $a0, $s2 +.L800295EC: +/* 02A1EC 800295EC 3C0A800E */ lui $t2, %hi(D_800DC924) # $t2, 0x800e +/* 02A1F0 800295F0 8D4AC924 */ lw $t2, %lo(D_800DC924)($t2) +/* 02A1F4 800295F4 00000000 */ nop +/* 02A1F8 800295F8 1140000C */ beqz $t2, .L8002962C +/* 02A1FC 800295FC 8FBF003C */ lw $ra, 0x3c($sp) +/* 02A200 80029600 0C009D5A */ jal func_80027568 +/* 02A204 80029604 00000000 */ nop +/* 02A208 80029608 10400008 */ beqz $v0, .L8002962C +/* 02A20C 8002960C 8FBF003C */ lw $ra, 0x3c($sp) +/* 02A210 80029610 0C019888 */ jal func_80066220 +/* 02A214 80029614 00000000 */ nop +/* 02A218 80029618 8FA50168 */ lw $a1, 0x168($sp) +/* 02A21C 8002961C 27A400D8 */ addiu $a0, $sp, 0xd8 +/* 02A220 80029620 0C009607 */ jal func_8002581C +/* 02A224 80029624 00403025 */ move $a2, $v0 +/* 02A228 80029628 8FBF003C */ lw $ra, 0x3c($sp) +.L8002962C: +/* 02A22C 8002962C 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 +/* 02A230 80029630 8FB00020 */ lw $s0, 0x20($sp) +/* 02A234 80029634 8FB10024 */ lw $s1, 0x24($sp) +/* 02A238 80029638 8FB20028 */ lw $s2, 0x28($sp) +/* 02A23C 8002963C 8FB3002C */ lw $s3, 0x2c($sp) +/* 02A240 80029640 8FB40030 */ lw $s4, 0x30($sp) +/* 02A244 80029644 8FB50034 */ lw $s5, 0x34($sp) +/* 02A248 80029648 8FB60038 */ lw $s6, 0x38($sp) +/* 02A24C 8002964C AC20B0FC */ sw $zero, %lo(D_8011B0FC)($at) +/* 02A250 80029650 03E00008 */ jr $ra +/* 02A254 80029654 27BD0170 */ addiu $sp, $sp, 0x170 + diff --git a/asm/non_matchings/unknown_0255E0/func_80029658.s b/asm/non_matchings/unknown_0255E0/func_80029658.s new file mode 100644 index 00000000..350f0981 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80029658.s @@ -0,0 +1,318 @@ +glabel func_80029658 +/* 02A258 80029658 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 02A25C 8002965C 3C0E800E */ lui $t6, %hi(D_800DC918) # $t6, 0x800e +/* 02A260 80029660 8DCEC918 */ lw $t6, %lo(D_800DC918)($t6) +/* 02A264 80029664 AFBF003C */ sw $ra, 0x3c($sp) +/* 02A268 80029668 AFBE0038 */ sw $fp, 0x38($sp) +/* 02A26C 8002966C AFB70034 */ sw $s7, 0x34($sp) +/* 02A270 80029670 AFB60030 */ sw $s6, 0x30($sp) +/* 02A274 80029674 AFB5002C */ sw $s5, 0x2c($sp) +/* 02A278 80029678 AFB40028 */ sw $s4, 0x28($sp) +/* 02A27C 8002967C AFB30024 */ sw $s3, 0x24($sp) +/* 02A280 80029680 AFB20020 */ sw $s2, 0x20($sp) +/* 02A284 80029684 AFB1001C */ sw $s1, 0x1c($sp) +/* 02A288 80029688 AFB00018 */ sw $s0, 0x18($sp) +/* 02A28C 8002968C AFA500B4 */ sw $a1, 0xb4($sp) +/* 02A290 80029690 0004C100 */ sll $t8, $a0, 4 +/* 02A294 80029694 8DCF0004 */ lw $t7, 4($t6) +/* 02A298 80029698 0304C021 */ addu $t8, $t8, $a0 +/* 02A29C 8002969C 0018C080 */ sll $t8, $t8, 2 +/* 02A2A0 800296A0 01F8C821 */ addu $t9, $t7, $t8 +/* 02A2A4 800296A4 10A0000A */ beqz $a1, .L800296D0 +/* 02A2A8 800296A8 AFB900AC */ sw $t9, 0xac($sp) +/* 02A2AC 800296AC 3C0C8012 */ lui $t4, %hi(D_8011D384) # $t4, 0x8012 +/* 02A2B0 800296B0 8D8CD384 */ lw $t4, %lo(D_8011D384)($t4) +/* 02A2B4 800296B4 00000000 */ nop +/* 02A2B8 800296B8 11800005 */ beqz $t4, .L800296D0 +/* 02A2BC 800296BC 00000000 */ nop +/* 02A2C0 800296C0 0C02E48A */ jal func_800B9228 +/* 02A2C4 800296C4 03202025 */ move $a0, $t9 +/* 02A2C8 800296C8 10000002 */ b .L800296D4 +/* 02A2CC 800296CC AFA20078 */ sw $v0, 0x78($sp) +.L800296D0: +/* 02A2D0 800296D0 AFA00078 */ sw $zero, 0x78($sp) +.L800296D4: +/* 02A2D4 800296D4 8FAD00B4 */ lw $t5, 0xb4($sp) +/* 02A2D8 800296D8 8FB800AC */ lw $t8, 0xac($sp) +/* 02A2DC 800296DC 11A00007 */ beqz $t5, .L800296FC +/* 02A2E0 800296E0 3C1E8000 */ lui $fp, 0x8000 +/* 02A2E4 800296E4 8FAE00AC */ lw $t6, 0xac($sp) +/* 02A2E8 800296E8 00000000 */ nop +/* 02A2EC 800296EC 85CF0020 */ lh $t7, 0x20($t6) +/* 02A2F0 800296F0 91C20040 */ lbu $v0, 0x40($t6) +/* 02A2F4 800296F4 10000004 */ b .L80029708 +/* 02A2F8 800296F8 AFAF0070 */ sw $t7, 0x70($sp) +.L800296FC: +/* 02A2FC 800296FC 930B0040 */ lbu $t3, 0x40($t8) +/* 02A300 80029700 00001025 */ move $v0, $zero +/* 02A304 80029704 AFAB0070 */ sw $t3, 0x70($sp) +.L80029708: +/* 02A308 80029708 8FAC0070 */ lw $t4, 0x70($sp) +/* 02A30C 8002970C 00404825 */ move $t1, $v0 +/* 02A310 80029710 004C082A */ slt $at, $v0, $t4 +/* 02A314 80029714 102000EC */ beqz $at, .L80029AC8 +/* 02A318 80029718 00025080 */ sll $t2, $v0, 2 +/* 02A31C 8002971C 01425023 */ subu $t2, $t2, $v0 +/* 02A320 80029720 3C128012 */ lui $s2, %hi(D_8011B0A0) # $s2, 0x8012 +/* 02A324 80029724 2652B0A0 */ addiu $s2, %lo(D_8011B0A0) # addiu $s2, $s2, -0x4f60 +/* 02A328 80029728 000A5080 */ sll $t2, $t2, 2 +.L8002972C: +/* 02A32C 8002972C 8FB900AC */ lw $t9, 0xac($sp) +/* 02A330 80029730 00003025 */ move $a2, $zero +/* 02A334 80029734 8F2D000C */ lw $t5, 0xc($t9) +/* 02A338 80029738 00000000 */ nop +/* 02A33C 8002973C 01AA2821 */ addu $a1, $t5, $t2 +/* 02A340 80029740 8CA30008 */ lw $v1, 8($a1) +/* 02A344 80029744 00000000 */ nop +/* 02A348 80029748 30620100 */ andi $v0, $v1, 0x100 +/* 02A34C 8002974C 144000DA */ bnez $v0, .L80029AB8 +/* 02A350 80029750 00608825 */ move $s1, $v1 +/* 02A354 80029754 90A20000 */ lbu $v0, ($a1) +/* 02A358 80029758 240100FF */ li $at, 255 +/* 02A35C 8002975C 14410003 */ bne $v0, $at, .L8002976C +/* 02A360 80029760 00002025 */ move $a0, $zero +/* 02A364 80029764 1000000B */ b .L80029794 +/* 02A368 80029768 0000A825 */ move $s5, $zero +.L8002976C: +/* 02A36C 8002976C 3C0E800E */ lui $t6, %hi(D_800DC918) # $t6, 0x800e +/* 02A370 80029770 8DCEC918 */ lw $t6, %lo(D_800DC918)($t6) +/* 02A374 80029774 0002C0C0 */ sll $t8, $v0, 3 +/* 02A378 80029778 8DCF0000 */ lw $t7, ($t6) +/* 02A37C 8002977C 00000000 */ nop +/* 02A380 80029780 01F85821 */ addu $t3, $t7, $t8 +/* 02A384 80029784 8D750000 */ lw $s5, ($t3) +/* 02A388 80029788 00000000 */ nop +/* 02A38C 8002978C 86A60006 */ lh $a2, 6($s5) +/* 02A390 80029790 00000000 */ nop +.L80029794: +/* 02A394 80029794 362C000A */ ori $t4, $s1, 0xa +/* 02A398 80029798 31990010 */ andi $t9, $t4, 0x10 +/* 02A39C 8002979C 17200007 */ bnez $t9, .L800297BC +/* 02A3A0 800297A0 01808825 */ move $s1, $t4 +/* 02A3A4 800297A4 318D0800 */ andi $t5, $t4, 0x800 +/* 02A3A8 800297A8 15A00004 */ bnez $t5, .L800297BC +/* 02A3AC 800297AC 3C0E8012 */ lui $t6, %hi(D_8011B0FC) # $t6, 0x8012 +/* 02A3B0 800297B0 8DCEB0FC */ lw $t6, %lo(D_8011B0FC)($t6) +/* 02A3B4 800297B4 00000000 */ nop +/* 02A3B8 800297B8 018E8825 */ or $s1, $t4, $t6 +.L800297BC: +/* 02A3BC 800297BC 30CF0004 */ andi $t7, $a2, 4 +/* 02A3C0 800297C0 8FAC00B4 */ lw $t4, 0xb4($sp) +/* 02A3C4 800297C4 8FAD0078 */ lw $t5, 0x78($sp) +/* 02A3C8 800297C8 15E00002 */ bnez $t7, .L800297D4 +/* 02A3CC 800297CC 32382000 */ andi $t8, $s1, 0x2000 +/* 02A3D0 800297D0 13000003 */ beqz $t8, .L800297E0 +.L800297D4: +/* 02A3D4 800297D4 322B0800 */ andi $t3, $s1, 0x800 +/* 02A3D8 800297D8 11600002 */ beqz $t3, .L800297E4 +/* 02A3DC 800297DC 00000000 */ nop +.L800297E0: +/* 02A3E0 800297E0 24040001 */ li $a0, 1 +.L800297E4: +/* 02A3E4 800297E4 11800004 */ beqz $t4, .L800297F8 +/* 02A3E8 800297E8 322E2000 */ andi $t6, $s1, 0x2000 +/* 02A3EC 800297EC 24840001 */ addiu $a0, $a0, 1 +/* 02A3F0 800297F0 30990001 */ andi $t9, $a0, 1 +/* 02A3F4 800297F4 03202025 */ move $a0, $t9 +.L800297F8: +/* 02A3F8 800297F8 11A00004 */ beqz $t5, .L8002980C +/* 02A3FC 800297FC 00000000 */ nop +/* 02A400 80029800 11C00002 */ beqz $t6, .L8002980C +/* 02A404 80029804 00000000 */ nop +/* 02A408 80029808 00002025 */ move $a0, $zero +.L8002980C: +/* 02A40C 8002980C 108000AB */ beqz $a0, .L80029ABC +/* 02A410 80029810 8FAF0070 */ lw $t7, 0x70($sp) +/* 02A414 80029814 84A20002 */ lh $v0, 2($a1) +/* 02A418 80029818 8FAB00AC */ lw $t3, 0xac($sp) +/* 02A41C 8002981C 84A30004 */ lh $v1, 4($a1) +/* 02A420 80029820 84AF000E */ lh $t7, 0xe($a1) +/* 02A424 80029824 84B80010 */ lh $t8, 0x10($a1) +/* 02A428 80029828 90A70007 */ lbu $a3, 7($a1) +/* 02A42C 8002982C 0002C880 */ sll $t9, $v0, 2 +/* 02A430 80029830 8D6C0000 */ lw $t4, ($t3) +/* 02A434 80029834 8D6D0004 */ lw $t5, 4($t3) +/* 02A438 80029838 00112703 */ sra $a0, $s1, 0x1c +/* 02A43C 8002983C 0322C821 */ addu $t9, $t9, $v0 +/* 02A440 80029840 01E29823 */ subu $s3, $t7, $v0 +/* 02A444 80029844 0303A023 */ subu $s4, $t8, $v1 +/* 02A448 80029848 0019C840 */ sll $t9, $t9, 1 +/* 02A44C 8002984C 30980007 */ andi $t8, $a0, 7 +/* 02A450 80029850 00037100 */ sll $t6, $v1, 4 +/* 02A454 80029854 00077B80 */ sll $t7, $a3, 0xe +/* 02A458 80029858 01E03825 */ move $a3, $t7 +/* 02A45C 8002985C 0199B021 */ addu $s6, $t4, $t9 +/* 02A460 80029860 13000018 */ beqz $t8, .L800298C4 +/* 02A464 80029864 01AEB821 */ addu $s7, $t5, $t6 +/* 02A468 80029868 8E500000 */ lw $s0, ($s2) +/* 02A46C 8002986C 3C19FB00 */ lui $t9, 0xfb00 +/* 02A470 80029870 260C0008 */ addiu $t4, $s0, 8 +/* 02A474 80029874 AE4C0000 */ sw $t4, ($s2) +/* 02A478 80029878 3C0B800E */ lui $t3, %hi(D_800DC91C) # $t3, 0x800e +/* 02A47C 8002987C AE190000 */ sw $t9, ($s0) +/* 02A480 80029880 8D6BC91C */ lw $t3, %lo(D_800DC91C)($t3) +/* 02A484 80029884 00186880 */ sll $t5, $t8, 2 +/* 02A488 80029888 016D7021 */ addu $t6, $t3, $t5 +/* 02A48C 8002988C 8DC20070 */ lw $v0, 0x70($t6) +/* 02A490 80029890 00000000 */ nop +/* 02A494 80029894 90590010 */ lbu $t9, 0x10($v0) +/* 02A498 80029898 90580013 */ lbu $t8, 0x13($v0) +/* 02A49C 8002989C 00195E00 */ sll $t3, $t9, 0x18 +/* 02A4A0 800298A0 904F0011 */ lbu $t7, 0x11($v0) +/* 02A4A4 800298A4 030B6825 */ or $t5, $t8, $t3 +/* 02A4A8 800298A8 904B0012 */ lbu $t3, 0x12($v0) +/* 02A4AC 800298AC 000F6400 */ sll $t4, $t7, 0x10 +/* 02A4B0 800298B0 01ACC825 */ or $t9, $t5, $t4 +/* 02A4B4 800298B4 000B7200 */ sll $t6, $t3, 8 +/* 02A4B8 800298B8 032E7825 */ or $t7, $t9, $t6 +/* 02A4BC 800298BC 10000008 */ b .L800298E0 +/* 02A4C0 800298C0 AE0F0004 */ sw $t7, 4($s0) +.L800298C4: +/* 02A4C4 800298C4 8E500000 */ lw $s0, ($s2) +/* 02A4C8 800298C8 3C0CFB00 */ lui $t4, 0xfb00 +/* 02A4CC 800298CC 260D0008 */ addiu $t5, $s0, 8 +/* 02A4D0 800298D0 AE4D0000 */ sw $t5, ($s2) +/* 02A4D4 800298D4 2418FF00 */ li $t8, -256 +/* 02A4D8 800298D8 AE180004 */ sw $t8, 4($s0) +/* 02A4DC 800298DC AE0C0000 */ sw $t4, ($s0) +.L800298E0: +/* 02A4E0 800298E0 00115B40 */ sll $t3, $s1, 0xd +/* 02A4E4 800298E4 05610046 */ bgez $t3, .L80029A00 +/* 02A4E8 800298E8 02402025 */ move $a0, $s2 +/* 02A4EC 800298EC 3C19800E */ lui $t9, %hi(D_800DC91C) # $t9, 0x800e +/* 02A4F0 800298F0 8F39C91C */ lw $t9, %lo(D_800DC91C)($t9) +/* 02A4F4 800298F4 8E500000 */ lw $s0, ($s2) +/* 02A4F8 800298F8 8F2E00AC */ lw $t6, 0xac($t9) +/* 02A4FC 800298FC 260F0008 */ addiu $t7, $s0, 8 +/* 02A500 80029900 8DC80008 */ lw $t0, 8($t6) +/* 02A504 80029904 AE4F0000 */ sw $t7, ($s2) +/* 02A508 80029908 310200FF */ andi $v0, $t0, 0xff +/* 02A50C 8002990C 00026600 */ sll $t4, $v0, 0x18 +/* 02A510 80029910 0002C400 */ sll $t8, $v0, 0x10 +/* 02A514 80029914 01985825 */ or $t3, $t4, $t8 +/* 02A518 80029918 0002CA00 */ sll $t9, $v0, 8 +/* 02A51C 8002991C 01797025 */ or $t6, $t3, $t9 +/* 02A520 80029920 01C27825 */ or $t7, $t6, $v0 +/* 02A524 80029924 3C0DFA00 */ lui $t5, 0xfa00 +/* 02A528 80029928 AE0D0000 */ sw $t5, ($s0) +/* 02A52C 8002992C AE0F0004 */ sw $t7, 4($s0) +/* 02A530 80029930 AFAA0040 */ sw $t2, 0x40($sp) +/* 02A534 80029934 AFA900A8 */ sw $t1, 0xa8($sp) +/* 02A538 80029938 02402025 */ move $a0, $s2 +/* 02A53C 8002993C 02A02825 */ move $a1, $s5 +/* 02A540 80029940 0C01EE97 */ jal func_8007BA5C +/* 02A544 80029944 02203025 */ move $a2, $s1 +/* 02A548 80029948 02DE1821 */ addu $v1, $s6, $fp +/* 02A54C 8002994C 266CFFFF */ addiu $t4, $s3, -1 +/* 02A550 80029950 000CC0C0 */ sll $t8, $t4, 3 +/* 02A554 80029954 306B0006 */ andi $t3, $v1, 6 +/* 02A558 80029958 030BC825 */ or $t9, $t8, $t3 +/* 02A55C 8002995C 8E500000 */ lw $s0, ($s2) +/* 02A560 80029960 001360C0 */ sll $t4, $s3, 3 +/* 02A564 80029964 0193C021 */ addu $t8, $t4, $s3 +/* 02A568 80029968 332E00FF */ andi $t6, $t9, 0xff +/* 02A56C 8002996C 000E7C00 */ sll $t7, $t6, 0x10 +/* 02A570 80029970 00185840 */ sll $t3, $t8, 1 +/* 02A574 80029974 260D0008 */ addiu $t5, $s0, 8 +/* 02A578 80029978 AE4D0000 */ sw $t5, ($s2) +/* 02A57C 8002997C 25790008 */ addiu $t9, $t3, 8 +/* 02A580 80029980 3C010400 */ lui $at, 0x400 +/* 02A584 80029984 8FA900A8 */ lw $t1, 0xa8($sp) +/* 02A588 80029988 8FAA0040 */ lw $t2, 0x40($sp) +/* 02A58C 8002998C 01E16825 */ or $t5, $t7, $at +/* 02A590 80029990 332EFFFF */ andi $t6, $t9, 0xffff +/* 02A594 80029994 01AE7825 */ or $t7, $t5, $t6 +/* 02A598 80029998 AE0F0000 */ sw $t7, ($s0) +/* 02A59C 8002999C AE030004 */ sw $v1, 4($s0) +/* 02A5A0 800299A0 8E500000 */ lw $s0, ($s2) +/* 02A5A4 800299A4 2698FFFF */ addiu $t8, $s4, -1 +/* 02A5A8 800299A8 00185900 */ sll $t3, $t8, 4 +/* 02A5AC 800299AC 35790001 */ ori $t9, $t3, 1 +/* 02A5B0 800299B0 260C0008 */ addiu $t4, $s0, 8 +/* 02A5B4 800299B4 AE4C0000 */ sw $t4, ($s2) +/* 02A5B8 800299B8 332D00FF */ andi $t5, $t9, 0xff +/* 02A5BC 800299BC 000D7400 */ sll $t6, $t5, 0x10 +/* 02A5C0 800299C0 00146100 */ sll $t4, $s4, 4 +/* 02A5C4 800299C4 3C010500 */ lui $at, 0x500 +/* 02A5C8 800299C8 01C17825 */ or $t7, $t6, $at +/* 02A5CC 800299CC 3198FFFF */ andi $t8, $t4, 0xffff +/* 02A5D0 800299D0 01F85825 */ or $t3, $t7, $t8 +/* 02A5D4 800299D4 02FEC821 */ addu $t9, $s7, $fp +/* 02A5D8 800299D8 AE190004 */ sw $t9, 4($s0) +/* 02A5DC 800299DC AE0B0000 */ sw $t3, ($s0) +/* 02A5E0 800299E0 8E500000 */ lw $s0, ($s2) +/* 02A5E4 800299E4 240CFFFF */ li $t4, -1 +/* 02A5E8 800299E8 260D0008 */ addiu $t5, $s0, 8 +/* 02A5EC 800299EC AE4D0000 */ sw $t5, ($s2) +/* 02A5F0 800299F0 3C0EFA00 */ lui $t6, 0xfa00 +/* 02A5F4 800299F4 AE0E0000 */ sw $t6, ($s0) +/* 02A5F8 800299F8 1000002F */ b .L80029AB8 +/* 02A5FC 800299FC AE0C0004 */ sw $t4, 4($s0) +.L80029A00: +/* 02A600 80029A00 02A02825 */ move $a1, $s5 +/* 02A604 80029A04 02203025 */ move $a2, $s1 +/* 02A608 80029A08 AFA900A8 */ sw $t1, 0xa8($sp) +/* 02A60C 80029A0C 0C01ED3A */ jal func_8007B4E8 +/* 02A610 80029A10 AFAA0040 */ sw $t2, 0x40($sp) +/* 02A614 80029A14 8FA900A8 */ lw $t1, 0xa8($sp) +/* 02A618 80029A18 8FAA0040 */ lw $t2, 0x40($sp) +/* 02A61C 80029A1C 16A00002 */ bnez $s5, .L80029A28 +/* 02A620 80029A20 24110001 */ li $s1, 1 +/* 02A624 80029A24 00008825 */ move $s1, $zero +.L80029A28: +/* 02A628 80029A28 02DE1821 */ addu $v1, $s6, $fp +/* 02A62C 80029A2C 2678FFFF */ addiu $t8, $s3, -1 +/* 02A630 80029A30 001858C0 */ sll $t3, $t8, 3 +/* 02A634 80029A34 30790006 */ andi $t9, $v1, 6 +/* 02A638 80029A38 01796825 */ or $t5, $t3, $t9 +/* 02A63C 80029A3C 8E500000 */ lw $s0, ($s2) +/* 02A640 80029A40 0013C0C0 */ sll $t8, $s3, 3 +/* 02A644 80029A44 03135821 */ addu $t3, $t8, $s3 +/* 02A648 80029A48 31AE00FF */ andi $t6, $t5, 0xff +/* 02A64C 80029A4C 000E6400 */ sll $t4, $t6, 0x10 +/* 02A650 80029A50 000BC840 */ sll $t9, $t3, 1 +/* 02A654 80029A54 260F0008 */ addiu $t7, $s0, 8 +/* 02A658 80029A58 AE4F0000 */ sw $t7, ($s2) +/* 02A65C 80029A5C 272D0008 */ addiu $t5, $t9, 8 +/* 02A660 80029A60 3C010400 */ lui $at, 0x400 +/* 02A664 80029A64 01817825 */ or $t7, $t4, $at +/* 02A668 80029A68 31AEFFFF */ andi $t6, $t5, 0xffff +/* 02A66C 80029A6C 01EE6025 */ or $t4, $t7, $t6 +/* 02A670 80029A70 AE0C0000 */ sw $t4, ($s0) +/* 02A674 80029A74 AE030004 */ sw $v1, 4($s0) +/* 02A678 80029A78 8E500000 */ lw $s0, ($s2) +/* 02A67C 80029A7C 268BFFFF */ addiu $t3, $s4, -1 +/* 02A680 80029A80 000BC900 */ sll $t9, $t3, 4 +/* 02A684 80029A84 03316825 */ or $t5, $t9, $s1 +/* 02A688 80029A88 26180008 */ addiu $t8, $s0, 8 +/* 02A68C 80029A8C AE580000 */ sw $t8, ($s2) +/* 02A690 80029A90 31AF00FF */ andi $t7, $t5, 0xff +/* 02A694 80029A94 000F7400 */ sll $t6, $t7, 0x10 +/* 02A698 80029A98 0014C100 */ sll $t8, $s4, 4 +/* 02A69C 80029A9C 3C010500 */ lui $at, 0x500 +/* 02A6A0 80029AA0 01C16025 */ or $t4, $t6, $at +/* 02A6A4 80029AA4 330BFFFF */ andi $t3, $t8, 0xffff +/* 02A6A8 80029AA8 018BC825 */ or $t9, $t4, $t3 +/* 02A6AC 80029AAC 02FE6821 */ addu $t5, $s7, $fp +/* 02A6B0 80029AB0 AE0D0004 */ sw $t5, 4($s0) +/* 02A6B4 80029AB4 AE190000 */ sw $t9, ($s0) +.L80029AB8: +/* 02A6B8 80029AB8 8FAF0070 */ lw $t7, 0x70($sp) +.L80029ABC: +/* 02A6BC 80029ABC 25290001 */ addiu $t1, $t1, 1 +/* 02A6C0 80029AC0 152FFF1A */ bne $t1, $t7, .L8002972C +/* 02A6C4 80029AC4 254A000C */ addiu $t2, $t2, 0xc +.L80029AC8: +/* 02A6C8 80029AC8 8FBF003C */ lw $ra, 0x3c($sp) +/* 02A6CC 80029ACC 8FB00018 */ lw $s0, 0x18($sp) +/* 02A6D0 80029AD0 8FB1001C */ lw $s1, 0x1c($sp) +/* 02A6D4 80029AD4 8FB20020 */ lw $s2, 0x20($sp) +/* 02A6D8 80029AD8 8FB30024 */ lw $s3, 0x24($sp) +/* 02A6DC 80029ADC 8FB40028 */ lw $s4, 0x28($sp) +/* 02A6E0 80029AE0 8FB5002C */ lw $s5, 0x2c($sp) +/* 02A6E4 80029AE4 8FB60030 */ lw $s6, 0x30($sp) +/* 02A6E8 80029AE8 8FB70034 */ lw $s7, 0x34($sp) +/* 02A6EC 80029AEC 8FBE0038 */ lw $fp, 0x38($sp) +/* 02A6F0 80029AF0 03E00008 */ jr $ra +/* 02A6F4 80029AF4 27BD00B0 */ addiu $sp, $sp, 0xb0 + diff --git a/asm/non_matchings/unknown_0255E0/func_80029AF8.s b/asm/non_matchings/unknown_0255E0/func_80029AF8.s new file mode 100644 index 00000000..f015d8f6 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80029AF8.s @@ -0,0 +1,149 @@ +glabel func_80029AF8 +/* 02A6F8 80029AF8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 02A6FC 80029AFC AFBE0040 */ sw $fp, 0x40($sp) +/* 02A700 80029B00 AFB7003C */ sw $s7, 0x3c($sp) +/* 02A704 80029B04 AFB3002C */ sw $s3, 0x2c($sp) +/* 02A708 80029B08 3C178012 */ lui $s7, %hi(D_8011B0B0) # $s7, 0x8012 +/* 02A70C 80029B0C 3C1E800E */ lui $fp, %hi(D_800DC918) # $fp, 0x800e +/* 02A710 80029B10 AFB60038 */ sw $s6, 0x38($sp) +/* 02A714 80029B14 AFB50034 */ sw $s5, 0x34($sp) +/* 02A718 80029B18 AFB40030 */ sw $s4, 0x30($sp) +/* 02A71C 80029B1C AFB20028 */ sw $s2, 0x28($sp) +/* 02A720 80029B20 AFB10024 */ sw $s1, 0x24($sp) +/* 02A724 80029B24 8FB30058 */ lw $s3, 0x58($sp) +/* 02A728 80029B28 00808825 */ move $s1, $a0 +/* 02A72C 80029B2C 00E09025 */ move $s2, $a3 +/* 02A730 80029B30 00A0A025 */ move $s4, $a1 +/* 02A734 80029B34 00C0A825 */ move $s5, $a2 +/* 02A738 80029B38 2416FFFF */ li $s6, -1 +/* 02A73C 80029B3C 27DEC918 */ addiu $fp, %lo(D_800DC918) # addiu $fp, $fp, -0x36e8 +/* 02A740 80029B40 26F7B0B0 */ addiu $s7, %lo(D_8011B0B0) # addiu $s7, $s7, -0x4f50 +/* 02A744 80029B44 AFBF0044 */ sw $ra, 0x44($sp) +/* 02A748 80029B48 AFB00020 */ sw $s0, 0x20($sp) +.L80029B4C: +/* 02A74C 80029B4C 8FCE0000 */ lw $t6, ($fp) +/* 02A750 80029B50 0011C0C0 */ sll $t8, $s1, 3 +/* 02A754 80029B54 8DCF0014 */ lw $t7, 0x14($t6) +/* 02A758 80029B58 24010001 */ li $at, 1 +/* 02A75C 80029B5C 01F88021 */ addu $s0, $t7, $t8 +/* 02A760 80029B60 92020004 */ lbu $v0, 4($s0) +/* 02A764 80029B64 00000000 */ nop +/* 02A768 80029B68 1440000D */ bnez $v0, .L80029BA0 +/* 02A76C 80029B6C 00000000 */ nop +/* 02A770 80029B70 4448F800 */ cfc1 $t0, $31 +/* 02A774 80029B74 8EF90000 */ lw $t9, ($s7) +/* 02A778 80029B78 35010003 */ ori $at, $t0, 3 +/* 02A77C 80029B7C 38210002 */ xori $at, $at, 2 +/* 02A780 80029B80 44C1F800 */ ctc1 $at, $31 +/* 02A784 80029B84 C724000C */ lwc1 $f4, 0xc($t9) +/* 02A788 80029B88 00000000 */ nop +/* 02A78C 80029B8C 460021A4 */ cvt.w.s $f6, $f4 +/* 02A790 80029B90 44023000 */ mfc1 $v0, $f6 +/* 02A794 80029B94 44C8F800 */ ctc1 $t0, $31 +/* 02A798 80029B98 1000001B */ b .L80029C08 +/* 02A79C 80029B9C 860D0006 */ lh $t5, 6($s0) +.L80029BA0: +/* 02A7A0 80029BA0 1441000D */ bne $v0, $at, .L80029BD8 +/* 02A7A4 80029BA4 00000000 */ nop +/* 02A7A8 80029BA8 444AF800 */ cfc1 $t2, $31 +/* 02A7AC 80029BAC 8EE90000 */ lw $t1, ($s7) +/* 02A7B0 80029BB0 35410003 */ ori $at, $t2, 3 +/* 02A7B4 80029BB4 38210002 */ xori $at, $at, 2 +/* 02A7B8 80029BB8 44C1F800 */ ctc1 $at, $31 +/* 02A7BC 80029BBC C5280010 */ lwc1 $f8, 0x10($t1) +/* 02A7C0 80029BC0 00000000 */ nop +/* 02A7C4 80029BC4 460042A4 */ cvt.w.s $f10, $f8 +/* 02A7C8 80029BC8 44025000 */ mfc1 $v0, $f10 +/* 02A7CC 80029BCC 44CAF800 */ ctc1 $t2, $31 +/* 02A7D0 80029BD0 1000000D */ b .L80029C08 +/* 02A7D4 80029BD4 860D0006 */ lh $t5, 6($s0) +.L80029BD8: +/* 02A7D8 80029BD8 444CF800 */ cfc1 $t4, $31 +/* 02A7DC 80029BDC 8EEB0000 */ lw $t3, ($s7) +/* 02A7E0 80029BE0 35810003 */ ori $at, $t4, 3 +/* 02A7E4 80029BE4 38210002 */ xori $at, $at, 2 +/* 02A7E8 80029BE8 44C1F800 */ ctc1 $at, $31 +/* 02A7EC 80029BEC C5700014 */ lwc1 $f16, 0x14($t3) +/* 02A7F0 80029BF0 00000000 */ nop +/* 02A7F4 80029BF4 460084A4 */ cvt.w.s $f18, $f16 +/* 02A7F8 80029BF8 44CCF800 */ ctc1 $t4, $31 +/* 02A7FC 80029BFC 44029000 */ mfc1 $v0, $f18 +/* 02A800 80029C00 00000000 */ nop +/* 02A804 80029C04 860D0006 */ lh $t5, 6($s0) +.L80029C08: +/* 02A808 80029C08 00000000 */ nop +/* 02A80C 80029C0C 004D082A */ slt $at, $v0, $t5 +/* 02A810 80029C10 1020001C */ beqz $at, .L80029C84 +/* 02A814 80029C14 00000000 */ nop +/* 02A818 80029C18 86040000 */ lh $a0, ($s0) +/* 02A81C 80029C1C 02602825 */ move $a1, $s3 +/* 02A820 80029C20 12C40009 */ beq $s6, $a0, .L80029C48 +/* 02A824 80029C24 02403025 */ move $a2, $s2 +/* 02A828 80029C28 92060005 */ lbu $a2, 5($s0) +/* 02A82C 80029C2C AFB30010 */ sw $s3, 0x10($sp) +/* 02A830 80029C30 02802825 */ move $a1, $s4 +/* 02A834 80029C34 02403825 */ move $a3, $s2 +/* 02A838 80029C38 0C00A6BE */ jal func_80029AF8 +/* 02A83C 80029C3C 24C6FFFF */ addiu $a2, $a2, -1 +/* 02A840 80029C40 10000004 */ b .L80029C54 +/* 02A844 80029C44 86040002 */ lh $a0, 2($s0) +.L80029C48: +/* 02A848 80029C48 0C00A745 */ jal func_80029D14 +/* 02A84C 80029C4C 02802025 */ move $a0, $s4 +/* 02A850 80029C50 86040002 */ lh $a0, 2($s0) +.L80029C54: +/* 02A854 80029C54 00000000 */ nop +/* 02A858 80029C58 12C40004 */ beq $s6, $a0, .L80029C6C +/* 02A85C 80029C5C 00000000 */ nop +/* 02A860 80029C60 92140005 */ lbu $s4, 5($s0) +/* 02A864 80029C64 1000FFB9 */ b .L80029B4C +/* 02A868 80029C68 00808825 */ move $s1, $a0 +.L80029C6C: +/* 02A86C 80029C6C 02A02025 */ move $a0, $s5 +/* 02A870 80029C70 02602825 */ move $a1, $s3 +/* 02A874 80029C74 0C00A745 */ jal func_80029D14 +/* 02A878 80029C78 02403025 */ move $a2, $s2 +/* 02A87C 80029C7C 1000001A */ b .L80029CE8 +/* 02A880 80029C80 8FBF0044 */ lw $ra, 0x44($sp) +.L80029C84: +/* 02A884 80029C84 86040002 */ lh $a0, 2($s0) +/* 02A888 80029C88 02602825 */ move $a1, $s3 +/* 02A88C 80029C8C 12C40008 */ beq $s6, $a0, .L80029CB0 +/* 02A890 80029C90 02403025 */ move $a2, $s2 +/* 02A894 80029C94 92050005 */ lbu $a1, 5($s0) +/* 02A898 80029C98 AFB30010 */ sw $s3, 0x10($sp) +/* 02A89C 80029C9C 02A03025 */ move $a2, $s5 +/* 02A8A0 80029CA0 0C00A6BE */ jal func_80029AF8 +/* 02A8A4 80029CA4 02403825 */ move $a3, $s2 +/* 02A8A8 80029CA8 10000004 */ b .L80029CBC +/* 02A8AC 80029CAC 86040000 */ lh $a0, ($s0) +.L80029CB0: +/* 02A8B0 80029CB0 0C00A745 */ jal func_80029D14 +/* 02A8B4 80029CB4 02A02025 */ move $a0, $s5 +/* 02A8B8 80029CB8 86040000 */ lh $a0, ($s0) +.L80029CBC: +/* 02A8BC 80029CBC 00000000 */ nop +/* 02A8C0 80029CC0 12C40004 */ beq $s6, $a0, .L80029CD4 +/* 02A8C4 80029CC4 00808825 */ move $s1, $a0 +/* 02A8C8 80029CC8 92150005 */ lbu $s5, 5($s0) +/* 02A8CC 80029CCC 1000FF9F */ b .L80029B4C +/* 02A8D0 80029CD0 26B5FFFF */ addiu $s5, $s5, -1 +.L80029CD4: +/* 02A8D4 80029CD4 02802025 */ move $a0, $s4 +/* 02A8D8 80029CD8 02602825 */ move $a1, $s3 +/* 02A8DC 80029CDC 0C00A745 */ jal func_80029D14 +/* 02A8E0 80029CE0 02403025 */ move $a2, $s2 +/* 02A8E4 80029CE4 8FBF0044 */ lw $ra, 0x44($sp) +.L80029CE8: +/* 02A8E8 80029CE8 8FB00020 */ lw $s0, 0x20($sp) +/* 02A8EC 80029CEC 8FB10024 */ lw $s1, 0x24($sp) +/* 02A8F0 80029CF0 8FB20028 */ lw $s2, 0x28($sp) +/* 02A8F4 80029CF4 8FB3002C */ lw $s3, 0x2c($sp) +/* 02A8F8 80029CF8 8FB40030 */ lw $s4, 0x30($sp) +/* 02A8FC 80029CFC 8FB50034 */ lw $s5, 0x34($sp) +/* 02A900 80029D00 8FB60038 */ lw $s6, 0x38($sp) +/* 02A904 80029D04 8FB7003C */ lw $s7, 0x3c($sp) +/* 02A908 80029D08 8FBE0040 */ lw $fp, 0x40($sp) +/* 02A90C 80029D0C 03E00008 */ jr $ra +/* 02A910 80029D10 27BD0048 */ addiu $sp, $sp, 0x48 + diff --git a/asm/non_matchings/unknown_0255E0/func_80029D14.s b/asm/non_matchings/unknown_0255E0/func_80029D14.s new file mode 100644 index 00000000..fd0e158b --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80029D14.s @@ -0,0 +1,139 @@ +glabel func_80029D14 +/* 02A914 80029D14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02A918 80029D18 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e +/* 02A91C 80029D1C 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) +/* 02A920 80029D20 AFBF0014 */ sw $ra, 0x14($sp) +/* 02A924 80029D24 AFA60020 */ sw $a2, 0x20($sp) +/* 02A928 80029D28 850E001A */ lh $t6, 0x1a($t0) +/* 02A92C 80029D2C 00803825 */ move $a3, $a0 +/* 02A930 80029D30 008E082A */ slt $at, $a0, $t6 +/* 02A934 80029D34 10200026 */ beqz $at, .L80029DD0 +/* 02A938 80029D38 3C038012 */ lui $v1, %hi(D_8011B0D4) # $v1, 0x8012 +/* 02A93C 80029D3C 8C63B0D4 */ lw $v1, %lo(D_8011B0D4)($v1) +/* 02A940 80029D40 2401FFFF */ li $at, -1 +/* 02A944 80029D44 1061000B */ beq $v1, $at, .L80029D74 +/* 02A948 80029D48 24020001 */ li $v0, 1 +/* 02A94C 80029D4C 8D0F0010 */ lw $t7, 0x10($t0) +/* 02A950 80029D50 0004C8C3 */ sra $t9, $a0, 3 +/* 02A954 80029D54 01E3C021 */ addu $t8, $t7, $v1 +/* 02A958 80029D58 03194821 */ addu $t1, $t8, $t9 +/* 02A95C 80029D5C 91220000 */ lbu $v0, ($t1) +/* 02A960 80029D60 308A0007 */ andi $t2, $a0, 7 +/* 02A964 80029D64 01421006 */ srlv $v0, $v0, $t2 +/* 02A968 80029D68 304B00FF */ andi $t3, $v0, 0xff +/* 02A96C 80029D6C 10000001 */ b .L80029D74 +/* 02A970 80029D70 01601025 */ move $v0, $t3 +.L80029D74: +/* 02A974 80029D74 304C0001 */ andi $t4, $v0, 1 +/* 02A978 80029D78 11800015 */ beqz $t4, .L80029DD0 +/* 02A97C 80029D7C 00077080 */ sll $t6, $a3, 2 +/* 02A980 80029D80 8D0D0008 */ lw $t5, 8($t0) +/* 02A984 80029D84 01C77023 */ subu $t6, $t6, $a3 +/* 02A988 80029D88 000E7080 */ sll $t6, $t6, 2 +/* 02A98C 80029D8C AFA70018 */ sw $a3, 0x18($sp) +/* 02A990 80029D90 AFA5001C */ sw $a1, 0x1c($sp) +/* 02A994 80029D94 0C00A97E */ jal func_8002A5F8 +/* 02A998 80029D98 01AE2021 */ addu $a0, $t5, $t6 +/* 02A99C 80029D9C 8FA5001C */ lw $a1, 0x1c($sp) +/* 02A9A0 80029DA0 8FA70018 */ lw $a3, 0x18($sp) +/* 02A9A4 80029DA4 1040000B */ beqz $v0, .L80029DD4 +/* 02A9A8 80029DA8 8FBF0014 */ lw $ra, 0x14($sp) +/* 02A9AC 80029DAC 8FAF0020 */ lw $t7, 0x20($sp) +/* 02A9B0 80029DB0 8CB80000 */ lw $t8, ($a1) +/* 02A9B4 80029DB4 00000000 */ nop +/* 02A9B8 80029DB8 01F8C821 */ addu $t9, $t7, $t8 +/* 02A9BC 80029DBC A3270000 */ sb $a3, ($t9) +/* 02A9C0 80029DC0 8CA90000 */ lw $t1, ($a1) +/* 02A9C4 80029DC4 00000000 */ nop +/* 02A9C8 80029DC8 252A0001 */ addiu $t2, $t1, 1 +/* 02A9CC 80029DCC ACAA0000 */ sw $t2, ($a1) +.L80029DD0: +/* 02A9D0 80029DD0 8FBF0014 */ lw $ra, 0x14($sp) +.L80029DD4: +/* 02A9D4 80029DD4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02A9D8 80029DD8 03E00008 */ jr $ra +/* 02A9DC 80029DDC 00000000 */ nop + +/* 02A9E0 80029DE0 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02A9E4 80029DE4 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 02A9E8 80029DE8 00803025 */ move $a2, $a0 +/* 02A9EC 80029DEC 844E001A */ lh $t6, 0x1a($v0) +/* 02A9F0 80029DF0 00000000 */ nop +/* 02A9F4 80029DF4 00AE082A */ slt $at, $a1, $t6 +/* 02A9F8 80029DF8 14200003 */ bnez $at, .L80029E08 +/* 02A9FC 80029DFC 00000000 */ nop +/* 02AA00 80029E00 03E00008 */ jr $ra +/* 02AA04 80029E04 00001025 */ move $v0, $zero + +.L80029E08: +/* 02AA08 80029E08 4459F800 */ cfc1 $t9, $31 +/* 02AA0C 80029E0C C4C4000C */ lwc1 $f4, 0xc($a2) +/* 02AA10 80029E10 37210003 */ ori $at, $t9, 3 +/* 02AA14 80029E14 38210002 */ xori $at, $at, 2 +/* 02AA18 80029E18 44C1F800 */ ctc1 $at, $31 +/* 02AA1C 80029E1C C4C80010 */ lwc1 $f8, 0x10($a2) +/* 02AA20 80029E20 460021A4 */ cvt.w.s $f6, $f4 +/* 02AA24 80029E24 0005C080 */ sll $t8, $a1, 2 +/* 02AA28 80029E28 44D9F800 */ ctc1 $t9, $31 +/* 02AA2C 80029E2C 8C4F0008 */ lw $t7, 8($v0) +/* 02AA30 80029E30 0305C023 */ subu $t8, $t8, $a1 +/* 02AA34 80029E34 4449F800 */ cfc1 $t1, $31 +/* 02AA38 80029E38 C4D00014 */ lwc1 $f16, 0x14($a2) +/* 02AA3C 80029E3C 35210003 */ ori $at, $t1, 3 +/* 02AA40 80029E40 38210002 */ xori $at, $at, 2 +/* 02AA44 80029E44 44C1F800 */ ctc1 $at, $31 +/* 02AA48 80029E48 0018C080 */ sll $t8, $t8, 2 +/* 02AA4C 80029E4C 460042A4 */ cvt.w.s $f10, $f8 +/* 02AA50 80029E50 01F81821 */ addu $v1, $t7, $t8 +/* 02AA54 80029E54 44C9F800 */ ctc1 $t1, $31 +/* 02AA58 80029E58 846B0006 */ lh $t3, 6($v1) +/* 02AA5C 80029E5C 44043000 */ mfc1 $a0, $f6 +/* 02AA60 80029E60 444AF800 */ cfc1 $t2, $31 +/* 02AA64 80029E64 256C0019 */ addiu $t4, $t3, 0x19 +/* 02AA68 80029E68 35410003 */ ori $at, $t2, 3 +/* 02AA6C 80029E6C 38210002 */ xori $at, $at, 2 +/* 02AA70 80029E70 44C1F800 */ ctc1 $at, $31 +/* 02AA74 80029E74 44075000 */ mfc1 $a3, $f10 +/* 02AA78 80029E78 460084A4 */ cvt.w.s $f18, $f16 +/* 02AA7C 80029E7C 008C082A */ slt $at, $a0, $t4 +/* 02AA80 80029E80 44089000 */ mfc1 $t0, $f18 +/* 02AA84 80029E84 44CAF800 */ ctc1 $t2, $31 +/* 02AA88 80029E88 10200021 */ beqz $at, .L80029F10 +/* 02AA8C 80029E8C 00001025 */ move $v0, $zero +/* 02AA90 80029E90 846D0000 */ lh $t5, ($v1) +/* 02AA94 80029E94 00000000 */ nop +/* 02AA98 80029E98 25AEFFE7 */ addiu $t6, $t5, -0x19 +/* 02AA9C 80029E9C 01C4082A */ slt $at, $t6, $a0 +/* 02AAA0 80029EA0 1020001B */ beqz $at, .L80029F10 +/* 02AAA4 80029EA4 00000000 */ nop +/* 02AAA8 80029EA8 846F000A */ lh $t7, 0xa($v1) +/* 02AAAC 80029EAC 00000000 */ nop +/* 02AAB0 80029EB0 25F80019 */ addiu $t8, $t7, 0x19 +/* 02AAB4 80029EB4 0118082A */ slt $at, $t0, $t8 +/* 02AAB8 80029EB8 10200015 */ beqz $at, .L80029F10 +/* 02AABC 80029EBC 00000000 */ nop +/* 02AAC0 80029EC0 84790004 */ lh $t9, 4($v1) +/* 02AAC4 80029EC4 00000000 */ nop +/* 02AAC8 80029EC8 2729FFE7 */ addiu $t1, $t9, -0x19 +/* 02AACC 80029ECC 0128082A */ slt $at, $t1, $t0 +/* 02AAD0 80029ED0 1020000F */ beqz $at, .L80029F10 +/* 02AAD4 80029ED4 00000000 */ nop +/* 02AAD8 80029ED8 846A0008 */ lh $t2, 8($v1) +/* 02AADC 80029EDC 00000000 */ nop +/* 02AAE0 80029EE0 254B0019 */ addiu $t3, $t2, 0x19 +/* 02AAE4 80029EE4 00EB082A */ slt $at, $a3, $t3 +/* 02AAE8 80029EE8 10200009 */ beqz $at, .L80029F10 +/* 02AAEC 80029EEC 00000000 */ nop +/* 02AAF0 80029EF0 846C0002 */ lh $t4, 2($v1) +/* 02AAF4 80029EF4 00000000 */ nop +/* 02AAF8 80029EF8 258DFFE7 */ addiu $t5, $t4, -0x19 +/* 02AAFC 80029EFC 01A7082A */ slt $at, $t5, $a3 +/* 02AB00 80029F00 10200003 */ beqz $at, .L80029F10 +/* 02AB04 80029F04 00000000 */ nop +/* 02AB08 80029F08 03E00008 */ jr $ra +/* 02AB0C 80029F0C 24020001 */ li $v0, 1 + +.L80029F10: +/* 02AB10 80029F10 03E00008 */ jr $ra +/* 02AB14 80029F14 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_80029F18.s b/asm/non_matchings/unknown_0255E0/func_80029F18.s new file mode 100644 index 00000000..eebb1c7c --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80029F18.s @@ -0,0 +1,89 @@ +glabel func_80029F18 +/* 02AB18 80029F18 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 02AB1C 80029F1C 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02AB20 80029F20 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 02AB24 80029F24 E7B4000C */ swc1 $f20, 0xc($sp) +/* 02AB28 80029F28 4486A000 */ mtc1 $a2, $f20 +/* 02AB2C 80029F2C 14400003 */ bnez $v0, .L80029F3C +/* 02AB30 80029F30 E7B50008 */ swc1 $f21, 8($sp) +/* 02AB34 80029F34 10000045 */ b .L8002A04C +/* 02AB38 80029F38 2402FFFF */ li $v0, -1 +.L80029F3C: +/* 02AB3C 80029F3C 8447001A */ lh $a3, 0x1a($v0) +/* 02AB40 80029F40 3C04000F */ lui $a0, (0x000F4240 >> 16) # lui $a0, 0xf +/* 02AB44 80029F44 34844240 */ ori $a0, (0x000F4240 & 0xFFFF) # ori $a0, $a0, 0x4240 +/* 02AB48 80029F48 2405FFFF */ li $a1, -1 +/* 02AB4C 80029F4C 18E0003E */ blez $a3, .L8002A048 +/* 02AB50 80029F50 00003025 */ move $a2, $zero +/* 02AB54 80029F54 444EF800 */ cfc1 $t6, $31 +/* 02AB58 80029F58 8C490008 */ lw $t1, 8($v0) +/* 02AB5C 80029F5C 35C10003 */ ori $at, $t6, 3 +/* 02AB60 80029F60 38210002 */ xori $at, $at, 2 +/* 02AB64 80029F64 44C1F800 */ ctc1 $at, $31 +/* 02AB68 80029F68 00000000 */ nop +/* 02AB6C 80029F6C 46006124 */ cvt.w.s $f4, $f12 +/* 02AB70 80029F70 44CEF800 */ ctc1 $t6, $31 +/* 02AB74 80029F74 44032000 */ mfc1 $v1, $f4 +/* 02AB78 80029F78 00000000 */ nop +.L80029F7C: +/* 02AB7C 80029F7C 852F0006 */ lh $t7, 6($t1) +/* 02AB80 80029F80 01204025 */ move $t0, $t1 +/* 02AB84 80029F84 006F082A */ slt $at, $v1, $t7 +/* 02AB88 80029F88 1020002B */ beqz $at, .L8002A038 +/* 02AB8C 80029F8C 00000000 */ nop +/* 02AB90 80029F90 85180000 */ lh $t8, ($t0) +/* 02AB94 80029F94 00000000 */ nop +/* 02AB98 80029F98 0303082A */ slt $at, $t8, $v1 +/* 02AB9C 80029F9C 10200026 */ beqz $at, .L8002A038 +/* 02ABA0 80029FA0 00000000 */ nop +/* 02ABA4 80029FA4 4459F800 */ cfc1 $t9, $31 +/* 02ABA8 80029FA8 850A000A */ lh $t2, 0xa($t0) +/* 02ABAC 80029FAC 37210003 */ ori $at, $t9, 3 +/* 02ABB0 80029FB0 38210002 */ xori $at, $at, 2 +/* 02ABB4 80029FB4 44C1F800 */ ctc1 $at, $31 +/* 02ABB8 80029FB8 00000000 */ nop +/* 02ABBC 80029FBC 4600A1A4 */ cvt.w.s $f6, $f20 +/* 02ABC0 80029FC0 44023000 */ mfc1 $v0, $f6 +/* 02ABC4 80029FC4 44D9F800 */ ctc1 $t9, $31 +/* 02ABC8 80029FC8 004A082A */ slt $at, $v0, $t2 +/* 02ABCC 80029FCC 1020001A */ beqz $at, .L8002A038 +/* 02ABD0 80029FD0 00000000 */ nop +/* 02ABD4 80029FD4 850B0004 */ lh $t3, 4($t0) +/* 02ABD8 80029FD8 00000000 */ nop +/* 02ABDC 80029FDC 0162082A */ slt $at, $t3, $v0 +/* 02ABE0 80029FE0 10200015 */ beqz $at, .L8002A038 +/* 02ABE4 80029FE4 00000000 */ nop +/* 02ABE8 80029FE8 444FF800 */ cfc1 $t7, $31 +/* 02ABEC 80029FEC 850C0008 */ lh $t4, 8($t0) +/* 02ABF0 80029FF0 35E10003 */ ori $at, $t7, 3 +/* 02ABF4 80029FF4 38210002 */ xori $at, $at, 2 +/* 02ABF8 80029FF8 44C1F800 */ ctc1 $at, $31 +/* 02ABFC 80029FFC 850D0002 */ lh $t5, 2($t0) +/* 02AC00 8002A000 46007224 */ cvt.w.s $f8, $f14 +/* 02AC04 8002A004 018D1021 */ addu $v0, $t4, $t5 +/* 02AC08 8002A008 44184000 */ mfc1 $t8, $f8 +/* 02AC0C 8002A00C 00027043 */ sra $t6, $v0, 1 +/* 02AC10 8002A010 44CFF800 */ ctc1 $t7, $31 +/* 02AC14 8002A014 030E1023 */ subu $v0, $t8, $t6 +/* 02AC18 8002A018 04410003 */ bgez $v0, .L8002A028 +/* 02AC1C 8002A01C 0044082A */ slt $at, $v0, $a0 +/* 02AC20 8002A020 00021023 */ negu $v0, $v0 +/* 02AC24 8002A024 0044082A */ slt $at, $v0, $a0 +.L8002A028: +/* 02AC28 8002A028 10200003 */ beqz $at, .L8002A038 +/* 02AC2C 8002A02C 00000000 */ nop +/* 02AC30 8002A030 00402025 */ move $a0, $v0 +/* 02AC34 8002A034 00C02825 */ move $a1, $a2 +.L8002A038: +/* 02AC38 8002A038 24C60001 */ addiu $a2, $a2, 1 +/* 02AC3C 8002A03C 00C7082A */ slt $at, $a2, $a3 +/* 02AC40 8002A040 1420FFCE */ bnez $at, .L80029F7C +/* 02AC44 8002A044 2529000C */ addiu $t1, $t1, 0xc +.L8002A048: +/* 02AC48 8002A048 00A01025 */ move $v0, $a1 +.L8002A04C: +/* 02AC4C 8002A04C C7B50008 */ lwc1 $f21, 8($sp) +/* 02AC50 8002A050 C7B4000C */ lwc1 $f20, 0xc($sp) +/* 02AC54 8002A054 03E00008 */ jr $ra +/* 02AC58 8002A058 27BD0010 */ addiu $sp, $sp, 0x10 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A05C.s b/asm/non_matchings/unknown_0255E0/func_8002A05C.s new file mode 100644 index 00000000..7ab83127 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002A05C.s @@ -0,0 +1,59 @@ +glabel func_8002A05C +/* 02AC5C 8002A05C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 02AC60 8002A060 3C07800E */ lui $a3, %hi(D_800DC918) # $a3, 0x800e +/* 02AC64 8002A064 8CE7C918 */ lw $a3, %lo(D_800DC918)($a3) +/* 02AC68 8002A068 AFB1000C */ sw $s1, 0xc($sp) +/* 02AC6C 8002A06C AFB00008 */ sw $s0, 8($sp) +/* 02AC70 8002A070 84E8001A */ lh $t0, 0x1a($a3) +/* 02AC74 8002A074 00808025 */ move $s0, $a0 +/* 02AC78 8002A078 00A08825 */ move $s1, $a1 +/* 02AC7C 8002A07C 00001825 */ move $v1, $zero +/* 02AC80 8002A080 19000027 */ blez $t0, .L8002A120 +/* 02AC84 8002A084 00001025 */ move $v0, $zero +/* 02AC88 8002A088 00002825 */ move $a1, $zero +.L8002A08C: +/* 02AC8C 8002A08C 8CEE0008 */ lw $t6, 8($a3) +/* 02AC90 8002A090 00000000 */ nop +/* 02AC94 8002A094 01C52021 */ addu $a0, $t6, $a1 +/* 02AC98 8002A098 848F0006 */ lh $t7, 6($a0) +/* 02AC9C 8002A09C 00000000 */ nop +/* 02ACA0 8002A0A0 25F80004 */ addiu $t8, $t7, 4 +/* 02ACA4 8002A0A4 0218082A */ slt $at, $s0, $t8 +/* 02ACA8 8002A0A8 10200019 */ beqz $at, .L8002A110 +/* 02ACAC 8002A0AC 00000000 */ nop +/* 02ACB0 8002A0B0 84990000 */ lh $t9, ($a0) +/* 02ACB4 8002A0B4 00000000 */ nop +/* 02ACB8 8002A0B8 2729FFFC */ addiu $t1, $t9, -4 +/* 02ACBC 8002A0BC 0130082A */ slt $at, $t1, $s0 +/* 02ACC0 8002A0C0 10200013 */ beqz $at, .L8002A110 +/* 02ACC4 8002A0C4 00000000 */ nop +/* 02ACC8 8002A0C8 848A000A */ lh $t2, 0xa($a0) +/* 02ACCC 8002A0CC 00000000 */ nop +/* 02ACD0 8002A0D0 254B0004 */ addiu $t3, $t2, 4 +/* 02ACD4 8002A0D4 022B082A */ slt $at, $s1, $t3 +/* 02ACD8 8002A0D8 1020000D */ beqz $at, .L8002A110 +/* 02ACDC 8002A0DC 00000000 */ nop +/* 02ACE0 8002A0E0 848C0004 */ lh $t4, 4($a0) +/* 02ACE4 8002A0E4 00000000 */ nop +/* 02ACE8 8002A0E8 258DFFFC */ addiu $t5, $t4, -4 +/* 02ACEC 8002A0EC 01B1082A */ slt $at, $t5, $s1 +/* 02ACF0 8002A0F0 10200007 */ beqz $at, .L8002A110 +/* 02ACF4 8002A0F4 00000000 */ nop +/* 02ACF8 8002A0F8 ACC20000 */ sw $v0, ($a2) +/* 02ACFC 8002A0FC 3C07800E */ lui $a3, %hi(D_800DC918) # $a3, 0x800e +/* 02AD00 8002A100 8CE7C918 */ lw $a3, %lo(D_800DC918)($a3) +/* 02AD04 8002A104 24630001 */ addiu $v1, $v1, 1 +/* 02AD08 8002A108 84E8001A */ lh $t0, 0x1a($a3) +/* 02AD0C 8002A10C 24C60004 */ addiu $a2, $a2, 4 +.L8002A110: +/* 02AD10 8002A110 24420001 */ addiu $v0, $v0, 1 +/* 02AD14 8002A114 0048082A */ slt $at, $v0, $t0 +/* 02AD18 8002A118 1420FFDC */ bnez $at, .L8002A08C +/* 02AD1C 8002A11C 24A5000C */ addiu $a1, $a1, 0xc +.L8002A120: +/* 02AD20 8002A120 8FB00008 */ lw $s0, 8($sp) +/* 02AD24 8002A124 8FB1000C */ lw $s1, 0xc($sp) +/* 02AD28 8002A128 27BD0010 */ addiu $sp, $sp, 0x10 +/* 02AD2C 8002A12C 03E00008 */ jr $ra +/* 02AD30 8002A130 00601025 */ move $v0, $v1 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A134.s b/asm/non_matchings/unknown_0255E0/func_8002A134.s new file mode 100644 index 00000000..8f0806a5 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002A134.s @@ -0,0 +1,115 @@ +glabel func_8002A134 +/* 02AD34 8002A134 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 02AD38 8002A138 AFB20010 */ sw $s2, 0x10($sp) +/* 02AD3C 8002A13C AFB1000C */ sw $s1, 0xc($sp) +/* 02AD40 8002A140 AFB00008 */ sw $s0, 8($sp) +/* 02AD44 8002A144 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e +/* 02AD48 8002A148 87B0002A */ lh $s0, 0x2a($sp) +/* 02AD4C 8002A14C 87B1002E */ lh $s1, 0x2e($sp) +/* 02AD50 8002A150 87B20032 */ lh $s2, 0x32($sp) +/* 02AD54 8002A154 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) +/* 02AD58 8002A158 AFA5001C */ sw $a1, 0x1c($sp) +/* 02AD5C 8002A15C AFA60020 */ sw $a2, 0x20($sp) +/* 02AD60 8002A160 AFA70024 */ sw $a3, 0x24($sp) +/* 02AD64 8002A164 00A07825 */ move $t7, $a1 +/* 02AD68 8002A168 00C0C825 */ move $t9, $a2 +/* 02AD6C 8002A16C 00E06025 */ move $t4, $a3 +/* 02AD70 8002A170 AFB30014 */ sw $s3, 0x14($sp) +/* 02AD74 8002A174 25E5FFFC */ addiu $a1, $t7, -4 +/* 02AD78 8002A178 2726FFFC */ addiu $a2, $t9, -4 +/* 02AD7C 8002A17C 2587FFFC */ addiu $a3, $t4, -4 +/* 02AD80 8002A180 8509001A */ lh $t1, 0x1a($t0) +/* 02AD84 8002A184 26100004 */ addiu $s0, $s0, 4 +/* 02AD88 8002A188 26310004 */ addiu $s1, $s1, 4 +/* 02AD8C 8002A18C 26520004 */ addiu $s2, $s2, 4 +/* 02AD90 8002A190 00056C00 */ sll $t5, $a1, 0x10 +/* 02AD94 8002A194 00067C00 */ sll $t7, $a2, 0x10 +/* 02AD98 8002A198 0007CC00 */ sll $t9, $a3, 0x10 +/* 02AD9C 8002A19C 00106400 */ sll $t4, $s0, 0x10 +/* 02ADA0 8002A1A0 00117400 */ sll $t6, $s1, 0x10 +/* 02ADA4 8002A1A4 0012C400 */ sll $t8, $s2, 0x10 +/* 02ADA8 8002A1A8 00809825 */ move $s3, $a0 +/* 02ADAC 8002A1AC 000D2C03 */ sra $a1, $t5, 0x10 +/* 02ADB0 8002A1B0 000F3403 */ sra $a2, $t7, 0x10 +/* 02ADB4 8002A1B4 00193C03 */ sra $a3, $t9, 0x10 +/* 02ADB8 8002A1B8 000C8403 */ sra $s0, $t4, 0x10 +/* 02ADBC 8002A1BC 000E8C03 */ sra $s1, $t6, 0x10 +/* 02ADC0 8002A1C0 00189403 */ sra $s2, $t8, 0x10 +/* 02ADC4 8002A1C4 00001025 */ move $v0, $zero +/* 02ADC8 8002A1C8 1920002D */ blez $t1, .L8002A280 +/* 02ADCC 8002A1CC 00001825 */ move $v1, $zero +/* 02ADD0 8002A1D0 00005025 */ move $t2, $zero +.L8002A1D4: +/* 02ADD4 8002A1D4 8D0B0008 */ lw $t3, 8($t0) +/* 02ADD8 8002A1D8 00000000 */ nop +/* 02ADDC 8002A1DC 016A2021 */ addu $a0, $t3, $t2 +/* 02ADE0 8002A1E0 848C0006 */ lh $t4, 6($a0) +/* 02ADE4 8002A1E4 00000000 */ nop +/* 02ADE8 8002A1E8 0185082A */ slt $at, $t4, $a1 +/* 02ADEC 8002A1EC 14200020 */ bnez $at, .L8002A270 +/* 02ADF0 8002A1F0 00000000 */ nop +/* 02ADF4 8002A1F4 848D0000 */ lh $t5, ($a0) +/* 02ADF8 8002A1F8 00000000 */ nop +/* 02ADFC 8002A1FC 020D082A */ slt $at, $s0, $t5 +/* 02AE00 8002A200 1420001B */ bnez $at, .L8002A270 +/* 02AE04 8002A204 00000000 */ nop +/* 02AE08 8002A208 848E000A */ lh $t6, 0xa($a0) +/* 02AE0C 8002A20C 00000000 */ nop +/* 02AE10 8002A210 01C7082A */ slt $at, $t6, $a3 +/* 02AE14 8002A214 14200016 */ bnez $at, .L8002A270 +/* 02AE18 8002A218 00000000 */ nop +/* 02AE1C 8002A21C 848F0004 */ lh $t7, 4($a0) +/* 02AE20 8002A220 00000000 */ nop +/* 02AE24 8002A224 024F082A */ slt $at, $s2, $t7 +/* 02AE28 8002A228 14200011 */ bnez $at, .L8002A270 +/* 02AE2C 8002A22C 00000000 */ nop +/* 02AE30 8002A230 84980008 */ lh $t8, 8($a0) +/* 02AE34 8002A234 00000000 */ nop +/* 02AE38 8002A238 0306082A */ slt $at, $t8, $a2 +/* 02AE3C 8002A23C 1420000C */ bnez $at, .L8002A270 +/* 02AE40 8002A240 00000000 */ nop +/* 02AE44 8002A244 84990002 */ lh $t9, 2($a0) +/* 02AE48 8002A248 00000000 */ nop +/* 02AE4C 8002A24C 0239082A */ slt $at, $s1, $t9 +/* 02AE50 8002A250 14200007 */ bnez $at, .L8002A270 +/* 02AE54 8002A254 00000000 */ nop +/* 02AE58 8002A258 AE620000 */ sw $v0, ($s3) +/* 02AE5C 8002A25C 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e +/* 02AE60 8002A260 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) +/* 02AE64 8002A264 24630001 */ addiu $v1, $v1, 1 +/* 02AE68 8002A268 8509001A */ lh $t1, 0x1a($t0) +/* 02AE6C 8002A26C 26730004 */ addiu $s3, $s3, 4 +.L8002A270: +/* 02AE70 8002A270 24420001 */ addiu $v0, $v0, 1 +/* 02AE74 8002A274 0049082A */ slt $at, $v0, $t1 +/* 02AE78 8002A278 1420FFD6 */ bnez $at, .L8002A1D4 +/* 02AE7C 8002A27C 254A000C */ addiu $t2, $t2, 0xc +.L8002A280: +/* 02AE80 8002A280 8FB00008 */ lw $s0, 8($sp) +/* 02AE84 8002A284 8FB1000C */ lw $s1, 0xc($sp) +/* 02AE88 8002A288 8FB20010 */ lw $s2, 0x10($sp) +/* 02AE8C 8002A28C 8FB30014 */ lw $s3, 0x14($sp) +/* 02AE90 8002A290 27BD0018 */ addiu $sp, $sp, 0x18 +/* 02AE94 8002A294 03E00008 */ jr $ra +/* 02AE98 8002A298 00601025 */ move $v0, $v1 + +/* 02AE9C 8002A29C 04800008 */ bltz $a0, .L8002A2C0 +/* 02AEA0 8002A2A0 3C03800E */ lui $v1, %hi(D_800DC918) # $v1, 0x800e +/* 02AEA4 8002A2A4 8C63C918 */ lw $v1, %lo(D_800DC918)($v1) +/* 02AEA8 8002A2A8 0004C100 */ sll $t8, $a0, 4 +/* 02AEAC 8002A2AC 846E001A */ lh $t6, 0x1a($v1) +/* 02AEB0 8002A2B0 0304C021 */ addu $t8, $t8, $a0 +/* 02AEB4 8002A2B4 01C4082A */ slt $at, $t6, $a0 +/* 02AEB8 8002A2B8 10200003 */ beqz $at, .L8002A2C8 +/* 02AEBC 8002A2BC 00000000 */ nop +.L8002A2C0: +/* 02AEC0 8002A2C0 03E00008 */ jr $ra +/* 02AEC4 8002A2C4 00001025 */ move $v0, $zero + +.L8002A2C8: +/* 02AEC8 8002A2C8 8C6F0004 */ lw $t7, 4($v1) +/* 02AECC 8002A2CC 0018C080 */ sll $t8, $t8, 2 +/* 02AED0 8002A2D0 01F81021 */ addu $v0, $t7, $t8 +/* 02AED4 8002A2D4 03E00008 */ jr $ra +/* 02AED8 8002A2D8 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A2DC.s b/asm/non_matchings/unknown_0255E0/func_8002A2DC.s new file mode 100644 index 00000000..0c91f0ec --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002A2DC.s @@ -0,0 +1,21 @@ +glabel func_8002A2DC +/* 02AEDC 8002A2DC 04800008 */ bltz $a0, .L8002A300 +/* 02AEE0 8002A2E0 3C03800E */ lui $v1, %hi(D_800DC918) # $v1, 0x800e +/* 02AEE4 8002A2E4 8C63C918 */ lw $v1, %lo(D_800DC918)($v1) +/* 02AEE8 8002A2E8 0004C080 */ sll $t8, $a0, 2 +/* 02AEEC 8002A2EC 846E001A */ lh $t6, 0x1a($v1) +/* 02AEF0 8002A2F0 0304C023 */ subu $t8, $t8, $a0 +/* 02AEF4 8002A2F4 01C4082A */ slt $at, $t6, $a0 +/* 02AEF8 8002A2F8 10200003 */ beqz $at, .L8002A308 +/* 02AEFC 8002A2FC 00000000 */ nop +.L8002A300: +/* 02AF00 8002A300 03E00008 */ jr $ra +/* 02AF04 8002A304 00001025 */ move $v0, $zero + +.L8002A308: +/* 02AF08 8002A308 8C6F0008 */ lw $t7, 8($v1) +/* 02AF0C 8002A30C 0018C080 */ sll $t8, $t8, 2 +/* 02AF10 8002A310 01F81021 */ addu $v0, $t7, $t8 +/* 02AF14 8002A314 03E00008 */ jr $ra +/* 02AF18 8002A318 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A31C.s b/asm/non_matchings/unknown_0255E0/func_8002A31C.s new file mode 100644 index 00000000..fea721ea --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002A31C.s @@ -0,0 +1,187 @@ +glabel func_8002A31C +/* 02AF1C 8002A31C 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 02AF20 8002A320 AFBF007C */ sw $ra, 0x7c($sp) +/* 02AF24 8002A324 AFBE0078 */ sw $fp, 0x78($sp) +/* 02AF28 8002A328 AFB70074 */ sw $s7, 0x74($sp) +/* 02AF2C 8002A32C AFB60070 */ sw $s6, 0x70($sp) +/* 02AF30 8002A330 AFB5006C */ sw $s5, 0x6c($sp) +/* 02AF34 8002A334 AFB40068 */ sw $s4, 0x68($sp) +/* 02AF38 8002A338 AFB30064 */ sw $s3, 0x64($sp) +/* 02AF3C 8002A33C AFB20060 */ sw $s2, 0x60($sp) +/* 02AF40 8002A340 AFB1005C */ sw $s1, 0x5c($sp) +/* 02AF44 8002A344 AFB00058 */ sw $s0, 0x58($sp) +/* 02AF48 8002A348 E7BF0050 */ swc1 $f31, 0x50($sp) +/* 02AF4C 8002A34C E7BE0054 */ swc1 $f30, 0x54($sp) +/* 02AF50 8002A350 E7BD0048 */ swc1 $f29, 0x48($sp) +/* 02AF54 8002A354 E7BC004C */ swc1 $f28, 0x4c($sp) +/* 02AF58 8002A358 E7BB0040 */ swc1 $f27, 0x40($sp) +/* 02AF5C 8002A35C E7BA0044 */ swc1 $f26, 0x44($sp) +/* 02AF60 8002A360 E7B90038 */ swc1 $f25, 0x38($sp) +/* 02AF64 8002A364 E7B8003C */ swc1 $f24, 0x3c($sp) +/* 02AF68 8002A368 E7B70030 */ swc1 $f23, 0x30($sp) +/* 02AF6C 8002A36C E7B60034 */ swc1 $f22, 0x34($sp) +/* 02AF70 8002A370 E7B50028 */ swc1 $f21, 0x28($sp) +/* 02AF74 8002A374 0C01A769 */ jal func_80069DA4 +/* 02AF78 8002A378 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 02AF7C 8002A37C 3C10800E */ lui $s0, %hi(D_800DC8AC) # $s0, 0x800e +/* 02AF80 8002A380 3C118012 */ lui $s1, %hi(D_8011D0F8) # $s1, 0x8012 +/* 02AF84 8002A384 00409025 */ move $s2, $v0 +/* 02AF88 8002A388 2631D0F8 */ addiu $s1, %lo(D_8011D0F8) # addiu $s1, $s1, -0x2f08 +/* 02AF8C 8002A38C 2610C8AC */ addiu $s0, %lo(D_800DC8AC) # addiu $s0, $s0, -0x3754 +/* 02AF90 8002A390 27BE00B8 */ addiu $fp, $sp, 0xb8 +/* 02AF94 8002A394 27B700BC */ addiu $s7, $sp, 0xbc +/* 02AF98 8002A398 27B600C0 */ addiu $s6, $sp, 0xc0 +/* 02AF9C 8002A39C 27B500C4 */ addiu $s5, $sp, 0xc4 +/* 02AFA0 8002A3A0 27B400C8 */ addiu $s4, $sp, 0xc8 +/* 02AFA4 8002A3A4 27B300CC */ addiu $s3, $sp, 0xcc +.L8002A3A8: +/* 02AFA8 8002A3A8 C6000000 */ lwc1 $f0, ($s0) +/* 02AFAC 8002A3AC C6020004 */ lwc1 $f2, 4($s0) +/* 02AFB0 8002A3B0 C60C0008 */ lwc1 $f12, 8($s0) +/* 02AFB4 8002A3B4 44050000 */ mfc1 $a1, $f0 +/* 02AFB8 8002A3B8 44061000 */ mfc1 $a2, $f2 +/* 02AFBC 8002A3BC 44076000 */ mfc1 $a3, $f12 +/* 02AFC0 8002A3C0 02402025 */ move $a0, $s2 +/* 02AFC4 8002A3C4 AFB30010 */ sw $s3, 0x10($sp) +/* 02AFC8 8002A3C8 AFB40014 */ sw $s4, 0x14($sp) +/* 02AFCC 8002A3CC AFB50018 */ sw $s5, 0x18($sp) +/* 02AFD0 8002A3D0 E7A000CC */ swc1 $f0, 0xcc($sp) +/* 02AFD4 8002A3D4 E7A200C8 */ swc1 $f2, 0xc8($sp) +/* 02AFD8 8002A3D8 0C01BD93 */ jal func_8006F64C +/* 02AFDC 8002A3DC E7AC00C4 */ swc1 $f12, 0xc4($sp) +/* 02AFE0 8002A3E0 C60E000C */ lwc1 $f14, 0xc($s0) +/* 02AFE4 8002A3E4 C6100010 */ lwc1 $f16, 0x10($s0) +/* 02AFE8 8002A3E8 C6120014 */ lwc1 $f18, 0x14($s0) +/* 02AFEC 8002A3EC 44057000 */ mfc1 $a1, $f14 +/* 02AFF0 8002A3F0 44068000 */ mfc1 $a2, $f16 +/* 02AFF4 8002A3F4 44079000 */ mfc1 $a3, $f18 +/* 02AFF8 8002A3F8 02402025 */ move $a0, $s2 +/* 02AFFC 8002A3FC AFB60010 */ sw $s6, 0x10($sp) +/* 02B000 8002A400 AFB70014 */ sw $s7, 0x14($sp) +/* 02B004 8002A404 AFBE0018 */ sw $fp, 0x18($sp) +/* 02B008 8002A408 E7AE00C0 */ swc1 $f14, 0xc0($sp) +/* 02B00C 8002A40C E7B000BC */ swc1 $f16, 0xbc($sp) +/* 02B010 8002A410 0C01BD93 */ jal func_8006F64C +/* 02B014 8002A414 E7B200B8 */ swc1 $f18, 0xb8($sp) +/* 02B018 8002A418 C61A0018 */ lwc1 $f26, 0x18($s0) +/* 02B01C 8002A41C C61C001C */ lwc1 $f28, 0x1c($s0) +/* 02B020 8002A420 C61E0020 */ lwc1 $f30, 0x20($s0) +/* 02B024 8002A424 27AE00B4 */ addiu $t6, $sp, 0xb4 +/* 02B028 8002A428 27AF00B0 */ addiu $t7, $sp, 0xb0 +/* 02B02C 8002A42C 27B800AC */ addiu $t8, $sp, 0xac +/* 02B030 8002A430 4405D000 */ mfc1 $a1, $f26 +/* 02B034 8002A434 4406E000 */ mfc1 $a2, $f28 +/* 02B038 8002A438 4407F000 */ mfc1 $a3, $f30 +/* 02B03C 8002A43C AFB80018 */ sw $t8, 0x18($sp) +/* 02B040 8002A440 AFAF0014 */ sw $t7, 0x14($sp) +/* 02B044 8002A444 AFAE0010 */ sw $t6, 0x10($sp) +/* 02B048 8002A448 02402025 */ move $a0, $s2 +/* 02B04C 8002A44C E7BA00B4 */ swc1 $f26, 0xb4($sp) +/* 02B050 8002A450 E7BC00B0 */ swc1 $f28, 0xb0($sp) +/* 02B054 8002A454 0C01BD93 */ jal func_8006F64C +/* 02B058 8002A458 E7BE00AC */ swc1 $f30, 0xac($sp) +/* 02B05C 8002A45C C7B200B8 */ lwc1 $f18, 0xb8($sp) +/* 02B060 8002A460 C7BE00AC */ lwc1 $f30, 0xac($sp) +/* 02B064 8002A464 C7A200C8 */ lwc1 $f2, 0xc8($sp) +/* 02B068 8002A468 461E9101 */ sub.s $f4, $f18, $f30 +/* 02B06C 8002A46C C7AC00C4 */ lwc1 $f12, 0xc4($sp) +/* 02B070 8002A470 46022182 */ mul.s $f6, $f4, $f2 +/* 02B074 8002A474 C7B000BC */ lwc1 $f16, 0xbc($sp) +/* 02B078 8002A478 C7BC00B0 */ lwc1 $f28, 0xb0($sp) +/* 02B07C 8002A47C C7AE00C0 */ lwc1 $f14, 0xc0($sp) +/* 02B080 8002A480 460CF201 */ sub.s $f8, $f30, $f12 +/* 02B084 8002A484 C7BA00B4 */ lwc1 $f26, 0xb4($sp) +/* 02B088 8002A488 46088282 */ mul.s $f10, $f16, $f8 +/* 02B08C 8002A48C 46126201 */ sub.s $f8, $f12, $f18 +/* 02B090 8002A490 C7A000CC */ lwc1 $f0, 0xcc($sp) +/* 02B094 8002A494 460A3100 */ add.s $f4, $f6, $f10 +/* 02B098 8002A498 4608E182 */ mul.s $f6, $f28, $f8 +/* 02B09C 8002A49C 461A7281 */ sub.s $f10, $f14, $f26 +/* 02B0A0 8002A4A0 460C5202 */ mul.s $f8, $f10, $f12 +/* 02B0A4 8002A4A4 46062500 */ add.s $f20, $f4, $f6 +/* 02B0A8 8002A4A8 4600D101 */ sub.s $f4, $f26, $f0 +/* 02B0AC 8002A4AC 46049182 */ mul.s $f6, $f18, $f4 +/* 02B0B0 8002A4B0 460E0101 */ sub.s $f4, $f0, $f14 +/* 02B0B4 8002A4B4 46064280 */ add.s $f10, $f8, $f6 +/* 02B0B8 8002A4B8 4604F202 */ mul.s $f8, $f30, $f4 +/* 02B0BC 8002A4BC 461C8181 */ sub.s $f6, $f16, $f28 +/* 02B0C0 8002A4C0 46003102 */ mul.s $f4, $f6, $f0 +/* 02B0C4 8002A4C4 46085580 */ add.s $f22, $f10, $f8 +/* 02B0C8 8002A4C8 4602E281 */ sub.s $f10, $f28, $f2 +/* 02B0CC 8002A4CC 460A7202 */ mul.s $f8, $f14, $f10 +/* 02B0D0 8002A4D0 46101281 */ sub.s $f10, $f2, $f16 +/* 02B0D4 8002A4D4 46082180 */ add.s $f6, $f4, $f8 +/* 02B0D8 8002A4D8 460AD102 */ mul.s $f4, $f26, $f10 +/* 02B0DC 8002A4DC 00000000 */ nop +/* 02B0E0 8002A4E0 4614A202 */ mul.s $f8, $f20, $f20 +/* 02B0E4 8002A4E4 46043600 */ add.s $f24, $f6, $f4 +/* 02B0E8 8002A4E8 4616B282 */ mul.s $f10, $f22, $f22 +/* 02B0EC 8002A4EC 00000000 */ nop +/* 02B0F0 8002A4F0 4618C102 */ mul.s $f4, $f24, $f24 +/* 02B0F4 8002A4F4 460A4180 */ add.s $f6, $f8, $f10 +/* 02B0F8 8002A4F8 0C0326B4 */ jal sqrtf +/* 02B0FC 8002A4FC 46043300 */ add.s $f12, $f6, $f4 +/* 02B100 8002A500 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 02B104 8002A504 44814800 */ mtc1 $at, $f9 +/* 02B108 8002A508 44804000 */ mtc1 $zero, $f8 +/* 02B10C 8002A50C 460002A1 */ cvt.d.s $f10, $f0 +/* 02B110 8002A510 00000000 */ nop +/* 02B114 8002A514 462A4183 */ div.d $f6, $f8, $f10 +/* 02B118 8002A518 44802800 */ mtc1 $zero, $f5 +/* 02B11C 8002A51C 44802000 */ mtc1 $zero, $f4 +/* 02B120 8002A520 C7A000CC */ lwc1 $f0, 0xcc($sp) +/* 02B124 8002A524 462030A0 */ cvt.s.d $f2, $f6 +/* 02B128 8002A528 46001221 */ cvt.d.s $f8, $f2 +/* 02B12C 8002A52C 4628203C */ c.lt.d $f4, $f8 +/* 02B130 8002A530 00000000 */ nop +/* 02B134 8002A534 45000007 */ bc1f .L8002A554 +/* 02B138 8002A538 00000000 */ nop +/* 02B13C 8002A53C 4602A502 */ mul.s $f20, $f20, $f2 +/* 02B140 8002A540 00000000 */ nop +/* 02B144 8002A544 4602B582 */ mul.s $f22, $f22, $f2 +/* 02B148 8002A548 00000000 */ nop +/* 02B14C 8002A54C 4602C602 */ mul.s $f24, $f24, $f2 +/* 02B150 8002A550 00000000 */ nop +.L8002A554: +/* 02B154 8002A554 46140282 */ mul.s $f10, $f0, $f20 +/* 02B158 8002A558 C7A200C8 */ lwc1 $f2, 0xc8($sp) +/* 02B15C 8002A55C C7AC00C4 */ lwc1 $f12, 0xc4($sp) +/* 02B160 8002A560 3C198012 */ lui $t9, %hi(D_8011D128) # $t9, 0x8012 +/* 02B164 8002A564 46161182 */ mul.s $f6, $f2, $f22 +/* 02B168 8002A568 2739D128 */ addiu $t9, %lo(D_8011D128) # addiu $t9, $t9, -0x2ed8 +/* 02B16C 8002A56C 26310010 */ addiu $s1, $s1, 0x10 +/* 02B170 8002A570 E634FFF0 */ swc1 $f20, -0x10($s1) +/* 02B174 8002A574 46186202 */ mul.s $f8, $f12, $f24 +/* 02B178 8002A578 46065100 */ add.s $f4, $f10, $f6 +/* 02B17C 8002A57C E636FFF4 */ swc1 $f22, -0xc($s1) +/* 02B180 8002A580 E638FFF8 */ swc1 $f24, -8($s1) +/* 02B184 8002A584 46082280 */ add.s $f10, $f4, $f8 +/* 02B188 8002A588 26100024 */ addiu $s0, $s0, 0x24 +/* 02B18C 8002A58C 46005187 */ neg.s $f6, $f10 +/* 02B190 8002A590 1639FF85 */ bne $s1, $t9, .L8002A3A8 +/* 02B194 8002A594 E626FFFC */ swc1 $f6, -4($s1) +/* 02B198 8002A598 8FBF007C */ lw $ra, 0x7c($sp) +/* 02B19C 8002A59C C7B50028 */ lwc1 $f21, 0x28($sp) +/* 02B1A0 8002A5A0 C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 02B1A4 8002A5A4 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 02B1A8 8002A5A8 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 02B1AC 8002A5AC C7B90038 */ lwc1 $f25, 0x38($sp) +/* 02B1B0 8002A5B0 C7B8003C */ lwc1 $f24, 0x3c($sp) +/* 02B1B4 8002A5B4 C7BB0040 */ lwc1 $f27, 0x40($sp) +/* 02B1B8 8002A5B8 C7BA0044 */ lwc1 $f26, 0x44($sp) +/* 02B1BC 8002A5BC C7BD0048 */ lwc1 $f29, 0x48($sp) +/* 02B1C0 8002A5C0 C7BC004C */ lwc1 $f28, 0x4c($sp) +/* 02B1C4 8002A5C4 C7BF0050 */ lwc1 $f31, 0x50($sp) +/* 02B1C8 8002A5C8 C7BE0054 */ lwc1 $f30, 0x54($sp) +/* 02B1CC 8002A5CC 8FB00058 */ lw $s0, 0x58($sp) +/* 02B1D0 8002A5D0 8FB1005C */ lw $s1, 0x5c($sp) +/* 02B1D4 8002A5D4 8FB20060 */ lw $s2, 0x60($sp) +/* 02B1D8 8002A5D8 8FB30064 */ lw $s3, 0x64($sp) +/* 02B1DC 8002A5DC 8FB40068 */ lw $s4, 0x68($sp) +/* 02B1E0 8002A5E0 8FB5006C */ lw $s5, 0x6c($sp) +/* 02B1E4 8002A5E4 8FB60070 */ lw $s6, 0x70($sp) +/* 02B1E8 8002A5E8 8FB70074 */ lw $s7, 0x74($sp) +/* 02B1EC 8002A5EC 8FBE0078 */ lw $fp, 0x78($sp) +/* 02B1F0 8002A5F0 03E00008 */ jr $ra +/* 02B1F4 8002A5F4 27BD00D0 */ addiu $sp, $sp, 0xd0 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A5F8.s b/asm/non_matchings/unknown_0255E0/func_8002A5F8.s new file mode 100644 index 00000000..e01e3f71 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002A5F8.s @@ -0,0 +1,210 @@ +glabel func_8002A5F8 +/* 02B1F8 8002A5F8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 02B1FC 8002A5FC AFB30040 */ sw $s3, 0x40($sp) +/* 02B200 8002A600 AFB10038 */ sw $s1, 0x38($sp) +/* 02B204 8002A604 3C138012 */ lui $s3, %hi(D_8011D0F8) # $s3, 0x8012 +/* 02B208 8002A608 00808825 */ move $s1, $a0 +/* 02B20C 8002A60C AFBF0044 */ sw $ra, 0x44($sp) +/* 02B210 8002A610 AFB2003C */ sw $s2, 0x3c($sp) +/* 02B214 8002A614 AFB00034 */ sw $s0, 0x34($sp) +/* 02B218 8002A618 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 02B21C 8002A61C E7BA002C */ swc1 $f26, 0x2c($sp) +/* 02B220 8002A620 E7B90020 */ swc1 $f25, 0x20($sp) +/* 02B224 8002A624 E7B80024 */ swc1 $f24, 0x24($sp) +/* 02B228 8002A628 E7B70018 */ swc1 $f23, 0x18($sp) +/* 02B22C 8002A62C E7B6001C */ swc1 $f22, 0x1c($sp) +/* 02B230 8002A630 E7B50010 */ swc1 $f21, 0x10($sp) +/* 02B234 8002A634 E7B40014 */ swc1 $f20, 0x14($sp) +/* 02B238 8002A638 2673D0F8 */ addiu $s3, %lo(D_8011D0F8) # addiu $s3, $s3, -0x2f08 +.L8002A63C: +/* 02B23C 8002A63C C6740000 */ lwc1 $f20, ($s3) +/* 02B240 8002A640 C6760004 */ lwc1 $f22, 4($s3) +/* 02B244 8002A644 C6780008 */ lwc1 $f24, 8($s3) +/* 02B248 8002A648 C67A000C */ lwc1 $f26, 0xc($s3) +/* 02B24C 8002A64C 00008025 */ move $s0, $zero +/* 02B250 8002A650 00009025 */ move $s2, $zero +/* 02B254 8002A654 320E0001 */ andi $t6, $s0, 1 +.L8002A658: +/* 02B258 8002A658 11C0000C */ beqz $t6, .L8002A68C +/* 02B25C 8002A65C 00000000 */ nop +/* 02B260 8002A660 862F0000 */ lh $t7, ($s1) +/* 02B264 8002A664 00000000 */ nop +/* 02B268 8002A668 448F2000 */ mtc1 $t7, $f4 +/* 02B26C 8002A66C 00000000 */ nop +/* 02B270 8002A670 468021A0 */ cvt.s.w $f6, $f4 +/* 02B274 8002A674 46143302 */ mul.s $f12, $f6, $f20 +/* 02B278 8002A678 0C0326D3 */ jal func_800C9B4C +/* 02B27C 8002A67C 00000000 */ nop +/* 02B280 8002A680 AFA20048 */ sw $v0, 0x48($sp) +/* 02B284 8002A684 1000000B */ b .L8002A6B4 +/* 02B288 8002A688 AFA3004C */ sw $v1, 0x4c($sp) +.L8002A68C: +/* 02B28C 8002A68C 86380006 */ lh $t8, 6($s1) +/* 02B290 8002A690 00000000 */ nop +/* 02B294 8002A694 44984000 */ mtc1 $t8, $f8 +/* 02B298 8002A698 00000000 */ nop +/* 02B29C 8002A69C 468042A0 */ cvt.s.w $f10, $f8 +/* 02B2A0 8002A6A0 46145302 */ mul.s $f12, $f10, $f20 +/* 02B2A4 8002A6A4 0C0326D3 */ jal func_800C9B4C +/* 02B2A8 8002A6A8 00000000 */ nop +/* 02B2AC 8002A6AC AFA20048 */ sw $v0, 0x48($sp) +/* 02B2B0 8002A6B0 AFA3004C */ sw $v1, 0x4c($sp) +.L8002A6B4: +/* 02B2B4 8002A6B4 32190002 */ andi $t9, $s0, 2 +/* 02B2B8 8002A6B8 13200011 */ beqz $t9, .L8002A700 +/* 02B2BC 8002A6BC 8FA40048 */ lw $a0, 0x48($sp) +/* 02B2C0 8002A6C0 8FA40048 */ lw $a0, 0x48($sp) +/* 02B2C4 8002A6C4 8FA5004C */ lw $a1, 0x4c($sp) +/* 02B2C8 8002A6C8 0C03272F */ jal func_800C9CBC +/* 02B2CC 8002A6CC 00000000 */ nop +/* 02B2D0 8002A6D0 86280002 */ lh $t0, 2($s1) +/* 02B2D4 8002A6D4 00000000 */ nop +/* 02B2D8 8002A6D8 44888000 */ mtc1 $t0, $f16 +/* 02B2DC 8002A6DC 00000000 */ nop +/* 02B2E0 8002A6E0 468084A0 */ cvt.s.w $f18, $f16 +/* 02B2E4 8002A6E4 46169102 */ mul.s $f4, $f18, $f22 +/* 02B2E8 8002A6E8 0C0326D3 */ jal func_800C9B4C +/* 02B2EC 8002A6EC 46040300 */ add.s $f12, $f0, $f4 +/* 02B2F0 8002A6F0 AFA20048 */ sw $v0, 0x48($sp) +/* 02B2F4 8002A6F4 1000000F */ b .L8002A734 +/* 02B2F8 8002A6F8 AFA3004C */ sw $v1, 0x4c($sp) +/* 02B2FC 8002A6FC 8FA40048 */ lw $a0, 0x48($sp) +.L8002A700: +/* 02B300 8002A700 8FA5004C */ lw $a1, 0x4c($sp) +/* 02B304 8002A704 0C03272F */ jal func_800C9CBC +/* 02B308 8002A708 00000000 */ nop +/* 02B30C 8002A70C 86290008 */ lh $t1, 8($s1) +/* 02B310 8002A710 00000000 */ nop +/* 02B314 8002A714 44893000 */ mtc1 $t1, $f6 +/* 02B318 8002A718 00000000 */ nop +/* 02B31C 8002A71C 46803220 */ cvt.s.w $f8, $f6 +/* 02B320 8002A720 46164282 */ mul.s $f10, $f8, $f22 +/* 02B324 8002A724 0C0326D3 */ jal func_800C9B4C +/* 02B328 8002A728 460A0300 */ add.s $f12, $f0, $f10 +/* 02B32C 8002A72C AFA20048 */ sw $v0, 0x48($sp) +/* 02B330 8002A730 AFA3004C */ sw $v1, 0x4c($sp) +.L8002A734: +/* 02B334 8002A734 320A0004 */ andi $t2, $s0, 4 +/* 02B338 8002A738 11400011 */ beqz $t2, .L8002A780 +/* 02B33C 8002A73C 8FA40048 */ lw $a0, 0x48($sp) +/* 02B340 8002A740 8FA40048 */ lw $a0, 0x48($sp) +/* 02B344 8002A744 8FA5004C */ lw $a1, 0x4c($sp) +/* 02B348 8002A748 0C03272F */ jal func_800C9CBC +/* 02B34C 8002A74C 00000000 */ nop +/* 02B350 8002A750 862B0004 */ lh $t3, 4($s1) +/* 02B354 8002A754 00000000 */ nop +/* 02B358 8002A758 448B8000 */ mtc1 $t3, $f16 +/* 02B35C 8002A75C 00000000 */ nop +/* 02B360 8002A760 468084A0 */ cvt.s.w $f18, $f16 +/* 02B364 8002A764 46189102 */ mul.s $f4, $f18, $f24 +/* 02B368 8002A768 0C0326D3 */ jal func_800C9B4C +/* 02B36C 8002A76C 46040300 */ add.s $f12, $f0, $f4 +/* 02B370 8002A770 AFA20048 */ sw $v0, 0x48($sp) +/* 02B374 8002A774 1000000F */ b .L8002A7B4 +/* 02B378 8002A778 AFA3004C */ sw $v1, 0x4c($sp) +/* 02B37C 8002A77C 8FA40048 */ lw $a0, 0x48($sp) +.L8002A780: +/* 02B380 8002A780 8FA5004C */ lw $a1, 0x4c($sp) +/* 02B384 8002A784 0C03272F */ jal func_800C9CBC +/* 02B388 8002A788 00000000 */ nop +/* 02B38C 8002A78C 862C000A */ lh $t4, 0xa($s1) +/* 02B390 8002A790 00000000 */ nop +/* 02B394 8002A794 448C3000 */ mtc1 $t4, $f6 +/* 02B398 8002A798 00000000 */ nop +/* 02B39C 8002A79C 46803220 */ cvt.s.w $f8, $f6 +/* 02B3A0 8002A7A0 46184282 */ mul.s $f10, $f8, $f24 +/* 02B3A4 8002A7A4 0C0326D3 */ jal func_800C9B4C +/* 02B3A8 8002A7A8 460A0300 */ add.s $f12, $f0, $f10 +/* 02B3AC 8002A7AC AFA20048 */ sw $v0, 0x48($sp) +/* 02B3B0 8002A7B0 AFA3004C */ sw $v1, 0x4c($sp) +.L8002A7B4: +/* 02B3B4 8002A7B4 8FA40048 */ lw $a0, 0x48($sp) +/* 02B3B8 8002A7B8 8FA5004C */ lw $a1, 0x4c($sp) +/* 02B3BC 8002A7BC 0C03272F */ jal func_800C9CBC +/* 02B3C0 8002A7C0 00000000 */ nop +/* 02B3C4 8002A7C4 0C0326D3 */ jal func_800C9B4C +/* 02B3C8 8002A7C8 461A0300 */ add.s $f12, $f0, $f26 +/* 02B3CC 8002A7CC AFA20048 */ sw $v0, 0x48($sp) +/* 02B3D0 8002A7D0 04400006 */ bltz $v0, .L8002A7EC +/* 02B3D4 8002A7D4 AFA3004C */ sw $v1, 0x4c($sp) +/* 02B3D8 8002A7D8 1C400003 */ bgtz $v0, .L8002A7E8 +/* 02B3DC 8002A7DC 00000000 */ nop +/* 02B3E0 8002A7E0 10600002 */ beqz $v1, .L8002A7EC +/* 02B3E4 8002A7E4 00000000 */ nop +.L8002A7E8: +/* 02B3E8 8002A7E8 24120001 */ li $s2, 1 +.L8002A7EC: +/* 02B3EC 8002A7EC 26100001 */ addiu $s0, $s0, 1 +/* 02B3F0 8002A7F0 2A010008 */ slti $at, $s0, 8 +/* 02B3F4 8002A7F4 10200004 */ beqz $at, .L8002A808 +/* 02B3F8 8002A7F8 24010008 */ li $at, 8 +/* 02B3FC 8002A7FC 1240FF96 */ beqz $s2, .L8002A658 +/* 02B400 8002A800 320E0001 */ andi $t6, $s0, 1 +/* 02B404 8002A804 24010008 */ li $at, 8 +.L8002A808: +/* 02B408 8002A808 16010005 */ bne $s0, $at, .L8002A820 +/* 02B40C 8002A80C 26730010 */ addiu $s3, $s3, 0x10 +/* 02B410 8002A810 16400003 */ bnez $s2, .L8002A820 +/* 02B414 8002A814 00000000 */ nop +/* 02B418 8002A818 1000002A */ b .L8002A8C4 +/* 02B41C 8002A81C 00001025 */ move $v0, $zero +.L8002A820: +/* 02B420 8002A820 3C0D8012 */ lui $t5, %hi(D_8011D128) # $t5, 0x8012 +/* 02B424 8002A824 25ADD128 */ addiu $t5, %lo(D_8011D128) # addiu $t5, $t5, -0x2ed8 +/* 02B428 8002A828 166DFF84 */ bne $s3, $t5, .L8002A63C +/* 02B42C 8002A82C 00000000 */ nop +/* 02B430 8002A830 86380006 */ lh $t8, 6($s1) +/* 02B434 8002A834 86390000 */ lh $t9, ($s1) +/* 02B438 8002A838 862F000A */ lh $t7, 0xa($s1) +/* 02B43C 8002A83C 862D0004 */ lh $t5, 4($s1) +/* 02B440 8002A840 03194021 */ addu $t0, $t8, $t9 +/* 02B444 8002A844 01EDC021 */ addu $t8, $t7, $t5 +/* 02B448 8002A848 0018C843 */ sra $t9, $t8, 1 +/* 02B44C 8002A84C 862A0008 */ lh $t2, 8($s1) +/* 02B450 8002A850 862B0002 */ lh $t3, 2($s1) +/* 02B454 8002A854 44992000 */ mtc1 $t9, $f4 +/* 02B458 8002A858 014B6021 */ addu $t4, $t2, $t3 +/* 02B45C 8002A85C 46802020 */ cvt.s.w $f0, $f4 +/* 02B460 8002A860 00084843 */ sra $t1, $t0, 1 +/* 02B464 8002A864 000C7043 */ sra $t6, $t4, 1 +/* 02B468 8002A868 44898000 */ mtc1 $t1, $f16 +/* 02B46C 8002A86C 448E9000 */ mtc1 $t6, $f18 +/* 02B470 8002A870 44060000 */ mfc1 $a2, $f0 +/* 02B474 8002A874 46808320 */ cvt.s.w $f12, $f16 +/* 02B478 8002A878 0C0198D2 */ jal func_80066348 +/* 02B47C 8002A87C 468093A0 */ cvt.s.w $f14, $f18 +/* 02B480 8002A880 3C028012 */ lui $v0, %hi(D_8011D380) # $v0, 0x8012 +/* 02B484 8002A884 2442D380 */ addiu $v0, %lo(D_8011D380) # addiu $v0, $v0, -0x2c80 +/* 02B488 8002A888 E4400000 */ swc1 $f0, ($v0) +/* 02B48C 8002A88C 3C01800E */ lui $at, %hi(D_800E5EAC) # $at, 0x800e +/* 02B490 8002A890 C4460000 */ lwc1 $f6, ($v0) +/* 02B494 8002A894 C42B5EA8 */ lwc1 $f11, %lo(D_800E5EA8)($at) +/* 02B498 8002A898 C42A5EAC */ lwc1 $f10, %lo(D_800E5EAC)($at) +/* 02B49C 8002A89C 46003221 */ cvt.d.s $f8, $f6 +/* 02B4A0 8002A8A0 462A403C */ c.lt.d $f8, $f10 +/* 02B4A4 8002A8A4 3C018012 */ lui $at, 0x8012 +/* 02B4A8 8002A8A8 45000005 */ bc1f .L8002A8C0 +/* 02B4AC 8002A8AC 24020001 */ li $v0, 1 +/* 02B4B0 8002A8B0 24080001 */ li $t0, 1 +/* 02B4B4 8002A8B4 3C018012 */ lui $at, %hi(D_8011B0BC) # $at, 0x8012 +/* 02B4B8 8002A8B8 10000002 */ b .L8002A8C4 +/* 02B4BC 8002A8BC AC28B0BC */ sw $t0, %lo(D_8011B0BC)($at) +.L8002A8C0: +/* 02B4C0 8002A8C0 AC20B0BC */ sw $zero, %lo(D_8011B0BC)($at) +.L8002A8C4: +/* 02B4C4 8002A8C4 8FBF0044 */ lw $ra, 0x44($sp) +/* 02B4C8 8002A8C8 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 02B4CC 8002A8CC C7B40014 */ lwc1 $f20, 0x14($sp) +/* 02B4D0 8002A8D0 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 02B4D4 8002A8D4 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 02B4D8 8002A8D8 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 02B4DC 8002A8DC C7B80024 */ lwc1 $f24, 0x24($sp) +/* 02B4E0 8002A8E0 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 02B4E4 8002A8E4 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 02B4E8 8002A8E8 8FB00034 */ lw $s0, 0x34($sp) +/* 02B4EC 8002A8EC 8FB10038 */ lw $s1, 0x38($sp) +/* 02B4F0 8002A8F0 8FB2003C */ lw $s2, 0x3c($sp) +/* 02B4F4 8002A8F4 8FB30040 */ lw $s3, 0x40($sp) +/* 02B4F8 8002A8F8 03E00008 */ jr $ra +/* 02B4FC 8002A8FC 27BD0078 */ addiu $sp, $sp, 0x78 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A900.s b/asm/non_matchings/unknown_0255E0/func_8002A900.s new file mode 100644 index 00000000..8047d8a2 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002A900.s @@ -0,0 +1,259 @@ +glabel func_8002A900 +/* 02B500 8002A900 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 02B504 8002A904 AFBF0034 */ sw $ra, 0x34($sp) +/* 02B508 8002A908 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 02B50C 8002A90C E7BA002C */ swc1 $f26, 0x2c($sp) +/* 02B510 8002A910 E7B90020 */ swc1 $f25, 0x20($sp) +/* 02B514 8002A914 E7B80024 */ swc1 $f24, 0x24($sp) +/* 02B518 8002A918 E7B70018 */ swc1 $f23, 0x18($sp) +/* 02B51C 8002A91C E7B6001C */ swc1 $f22, 0x1c($sp) +/* 02B520 8002A920 E7B50010 */ swc1 $f21, 0x10($sp) +/* 02B524 8002A924 E7B40014 */ swc1 $f20, 0x14($sp) +/* 02B528 8002A928 848E0006 */ lh $t6, 6($a0) +/* 02B52C 8002A92C 00000000 */ nop +/* 02B530 8002A930 31CF8000 */ andi $t7, $t6, 0x8000 +/* 02B534 8002A934 15E000A7 */ bnez $t7, .L8002ABD4 +/* 02B538 8002A938 24020001 */ li $v0, 1 +/* 02B53C 8002A93C 8C980040 */ lw $t8, 0x40($a0) +/* 02B540 8002A940 240500FF */ li $a1, 255 +/* 02B544 8002A944 8703004E */ lh $v1, 0x4e($t8) +/* 02B548 8002A948 3C198012 */ lui $t9, %hi(D_8011D37C) # $t9, 0x8012 +/* 02B54C 8002A94C 1060005C */ beqz $v1, .L8002AAC0 +/* 02B550 8002A950 00000000 */ nop +/* 02B554 8002A954 8F39D37C */ lw $t9, %lo(D_8011D37C)($t9) +/* 02B558 8002A958 24010003 */ li $at, 3 +/* 02B55C 8002A95C 17210012 */ bne $t9, $at, .L8002A9A8 +/* 02B560 8002A960 00000000 */ nop +/* 02B564 8002A964 44832000 */ mtc1 $v1, $f4 +/* 02B568 8002A968 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 02B56C 8002A96C 468021A1 */ cvt.d.w $f6, $f4 +/* 02B570 8002A970 44814800 */ mtc1 $at, $f9 +/* 02B574 8002A974 44804000 */ mtc1 $zero, $f8 +/* 02B578 8002A978 00000000 */ nop +/* 02B57C 8002A97C 46283282 */ mul.d $f10, $f6, $f8 +/* 02B580 8002A980 4448F800 */ cfc1 $t0, $31 +/* 02B584 8002A984 00000000 */ nop +/* 02B588 8002A988 35010003 */ ori $at, $t0, 3 +/* 02B58C 8002A98C 38210002 */ xori $at, $at, 2 +/* 02B590 8002A990 44C1F800 */ ctc1 $at, $31 +/* 02B594 8002A994 00000000 */ nop +/* 02B598 8002A998 46205124 */ cvt.w.d $f4, $f10 +/* 02B59C 8002A99C 44C8F800 */ ctc1 $t0, $31 +/* 02B5A0 8002A9A0 44032000 */ mfc1 $v1, $f4 +/* 02B5A4 8002A9A4 00000000 */ nop +.L8002A9A8: +/* 02B5A8 8002A9A8 C48C000C */ lwc1 $f12, 0xc($a0) +/* 02B5AC 8002A9AC C48E0010 */ lwc1 $f14, 0x10($a0) +/* 02B5B0 8002A9B0 8C860014 */ lw $a2, 0x14($a0) +/* 02B5B4 8002A9B4 AFA5003C */ sw $a1, 0x3c($sp) +/* 02B5B8 8002A9B8 AFA40058 */ sw $a0, 0x58($sp) +/* 02B5BC 8002A9BC 0C0198D2 */ jal func_80066348 +/* 02B5C0 8002A9C0 AFA30040 */ sw $v1, 0x40($sp) +/* 02B5C4 8002A9C4 8FA30040 */ lw $v1, 0x40($sp) +/* 02B5C8 8002A9C8 8FA40058 */ lw $a0, 0x58($sp) +/* 02B5CC 8002A9CC 44833000 */ mtc1 $v1, $f6 +/* 02B5D0 8002A9D0 8FA5003C */ lw $a1, 0x3c($sp) +/* 02B5D4 8002A9D4 46803320 */ cvt.s.w $f12, $f6 +/* 02B5D8 8002A9D8 3C01800E */ lui $at, %hi(D_800E5EB4) # $at, 0x800e +/* 02B5DC 8002A9DC 4600603C */ c.lt.s $f12, $f0 +/* 02B5E0 8002A9E0 00000000 */ nop +/* 02B5E4 8002A9E4 45000003 */ bc1f .L8002A9F4 +/* 02B5E8 8002A9E8 00000000 */ nop +/* 02B5EC 8002A9EC 10000079 */ b .L8002ABD4 +/* 02B5F0 8002A9F0 00001025 */ move $v0, $zero +.L8002A9F4: +/* 02B5F4 8002A9F4 44834000 */ mtc1 $v1, $f8 +/* 02B5F8 8002A9F8 C4255EB0 */ lwc1 $f5, %lo(D_800E5EB0)($at) +/* 02B5FC 8002A9FC 468042A1 */ cvt.d.w $f10, $f8 +/* 02B600 8002AA00 C4245EB4 */ lwc1 $f4, %lo(D_800E5EB4)($at) +/* 02B604 8002AA04 00000000 */ nop +/* 02B608 8002AA08 46245182 */ mul.d $f6, $f10, $f4 +/* 02B60C 8002AA0C 462030A0 */ cvt.s.d $f2, $f6 +/* 02B610 8002AA10 4600103C */ c.lt.s $f2, $f0 +/* 02B614 8002AA14 00000000 */ nop +/* 02B618 8002AA18 45000029 */ bc1f .L8002AAC0 +/* 02B61C 8002AA1C 00000000 */ nop +/* 02B620 8002AA20 46026201 */ sub.s $f8, $f12, $f2 +/* 02B624 8002AA24 4449F800 */ cfc1 $t1, $31 +/* 02B628 8002AA28 00000000 */ nop +/* 02B62C 8002AA2C 35210003 */ ori $at, $t1, 3 +/* 02B630 8002AA30 38210002 */ xori $at, $at, 2 +/* 02B634 8002AA34 44C1F800 */ ctc1 $at, $31 +/* 02B638 8002AA38 00000000 */ nop +/* 02B63C 8002AA3C 460042A4 */ cvt.w.s $f10, $f8 +/* 02B640 8002AA40 44035000 */ mfc1 $v1, $f10 +/* 02B644 8002AA44 44C9F800 */ ctc1 $t1, $31 +/* 02B648 8002AA48 1860001A */ blez $v1, .L8002AAB4 +/* 02B64C 8002AA4C 00000000 */ nop +/* 02B650 8002AA50 44833000 */ mtc1 $v1, $f6 +/* 02B654 8002AA54 46020381 */ sub.s $f14, $f0, $f2 +/* 02B658 8002AA58 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 02B65C 8002AA5C 46803220 */ cvt.s.w $f8, $f6 +/* 02B660 8002AA60 44812800 */ mtc1 $at, $f5 +/* 02B664 8002AA64 44802000 */ mtc1 $zero, $f4 +/* 02B668 8002AA68 46087283 */ div.s $f10, $f14, $f8 +/* 02B66C 8002AA6C 3C01800E */ lui $at, %hi(D_800E5EB8) # $at, 0x800e +/* 02B670 8002AA70 460051A1 */ cvt.d.s $f6, $f10 +/* 02B674 8002AA74 46262201 */ sub.d $f8, $f4, $f6 +/* 02B678 8002AA78 C4265EBC */ lwc1 $f6, %lo(D_800E5EBC)($at) +/* 02B67C 8002AA7C 462042A0 */ cvt.s.d $f10, $f8 +/* 02B680 8002AA80 C4275EB8 */ lwc1 $f7, %lo(D_800E5EB8)($at) +/* 02B684 8002AA84 46005121 */ cvt.d.s $f4, $f10 +/* 02B688 8002AA88 46262202 */ mul.d $f8, $f4, $f6 +/* 02B68C 8002AA8C 444AF800 */ cfc1 $t2, $31 +/* 02B690 8002AA90 00000000 */ nop +/* 02B694 8002AA94 35410003 */ ori $at, $t2, 3 +/* 02B698 8002AA98 38210002 */ xori $at, $at, 2 +/* 02B69C 8002AA9C 44C1F800 */ ctc1 $at, $31 +/* 02B6A0 8002AAA0 00000000 */ nop +/* 02B6A4 8002AAA4 462042A4 */ cvt.w.d $f10, $f8 +/* 02B6A8 8002AAA8 44CAF800 */ ctc1 $t2, $31 +/* 02B6AC 8002AAAC 44055000 */ mfc1 $a1, $f10 +/* 02B6B0 8002AAB0 00000000 */ nop +.L8002AAB4: +/* 02B6B4 8002AAB4 14A00002 */ bnez $a1, .L8002AAC0 +/* 02B6B8 8002AAB8 00000000 */ nop +/* 02B6BC 8002AABC 24050001 */ li $a1, 1 +.L8002AAC0: +/* 02B6C0 8002AAC0 84820048 */ lh $v0, 0x48($a0) +/* 02B6C4 8002AAC4 00000000 */ nop +/* 02B6C8 8002AAC8 28410002 */ slti $at, $v0, 2 +/* 02B6CC 8002AACC 1420000A */ bnez $at, .L8002AAF8 +/* 02B6D0 8002AAD0 244BFFCE */ addiu $t3, $v0, -0x32 +/* 02B6D4 8002AAD4 2D610020 */ sltiu $at, $t3, 0x20 +/* 02B6D8 8002AAD8 1020001E */ beqz $at, .L8002AB54 +/* 02B6DC 8002AADC 000B5880 */ sll $t3, $t3, 2 +/* 02B6E0 8002AAE0 3C01800E */ lui $at, 0x800e +/* 02B6E4 8002AAE4 002B0821 */ addu $at, $at, $t3 +/* 02B6E8 8002AAE8 8C2B5EC0 */ lw $t3, 0x5ec0($at) +/* 02B6EC 8002AAEC 00000000 */ nop +/* 02B6F0 8002AAF0 01600008 */ jr $t3 +/* 02B6F4 8002AAF4 00000000 */ nop +.L8002AAF8: +/* 02B6F8 8002AAF8 24010001 */ li $at, 1 +/* 02B6FC 8002AAFC 14410015 */ bne $v0, $at, .L8002AB54 +/* 02B700 8002AB00 00000000 */ nop +/* 02B704 8002AB04 8C820064 */ lw $v0, 0x64($a0) +/* 02B708 8002AB08 00000000 */ nop +/* 02B70C 8002AB0C 904C01F7 */ lbu $t4, 0x1f7($v0) +/* 02B710 8002AB10 00000000 */ nop +/* 02B714 8002AB14 258D0001 */ addiu $t5, $t4, 1 +/* 02B718 8002AB18 01A50019 */ multu $t5, $a1 +/* 02B71C 8002AB1C 00007012 */ mflo $t6 +/* 02B720 8002AB20 000E7A03 */ sra $t7, $t6, 8 +/* 02B724 8002AB24 1000000C */ b .L8002AB58 +/* 02B728 8002AB28 A08F0039 */ sb $t7, 0x39($a0) +/* 02B72C 8002AB2C 8C820064 */ lw $v0, 0x64($a0) +/* 02B730 8002AB30 00000000 */ nop +/* 02B734 8002AB34 905801F7 */ lbu $t8, 0x1f7($v0) +/* 02B738 8002AB38 10000007 */ b .L8002AB58 +/* 02B73C 8002AB3C A0980039 */ sb $t8, 0x39($a0) +/* 02B740 8002AB40 8C820064 */ lw $v0, 0x64($a0) +/* 02B744 8002AB44 00000000 */ nop +/* 02B748 8002AB48 90590042 */ lbu $t9, 0x42($v0) +/* 02B74C 8002AB4C 10000002 */ b .L8002AB58 +/* 02B750 8002AB50 A0990039 */ sb $t9, 0x39($a0) +.L8002AB54: +/* 02B754 8002AB54 A0850039 */ sb $a1, 0x39($a0) +.L8002AB58: +/* 02B758 8002AB58 3C028012 */ lui $v0, %hi(D_8011D0F8) # $v0, 0x8012 +/* 02B75C 8002AB5C 3C038012 */ lui $v1, %hi(D_8011D128) # $v1, 0x8012 +/* 02B760 8002AB60 C492000C */ lwc1 $f18, 0xc($a0) +/* 02B764 8002AB64 C4940010 */ lwc1 $f20, 0x10($a0) +/* 02B768 8002AB68 C4960014 */ lwc1 $f22, 0x14($a0) +/* 02B76C 8002AB6C C4980034 */ lwc1 $f24, 0x34($a0) +/* 02B770 8002AB70 4480D000 */ mtc1 $zero, $f26 +/* 02B774 8002AB74 2463D128 */ addiu $v1, %lo(D_8011D128) # addiu $v1, $v1, -0x2ed8 +/* 02B778 8002AB78 2442D0F8 */ addiu $v0, %lo(D_8011D0F8) # addiu $v0, $v0, -0x2f08 +.L8002AB7C: +/* 02B77C 8002AB7C C4400000 */ lwc1 $f0, ($v0) +/* 02B780 8002AB80 C44E0004 */ lwc1 $f14, 4($v0) +/* 02B784 8002AB84 46009102 */ mul.s $f4, $f18, $f0 +/* 02B788 8002AB88 C4420008 */ lwc1 $f2, 8($v0) +/* 02B78C 8002AB8C C44C000C */ lwc1 $f12, 0xc($v0) +/* 02B790 8002AB90 24420010 */ addiu $v0, $v0, 0x10 +/* 02B794 8002AB94 46147182 */ mul.s $f6, $f14, $f20 +/* 02B798 8002AB98 00000000 */ nop +/* 02B79C 8002AB9C 46161282 */ mul.s $f10, $f2, $f22 +/* 02B7A0 8002ABA0 46062200 */ add.s $f8, $f4, $f6 +/* 02B7A4 8002ABA4 460A4100 */ add.s $f4, $f8, $f10 +/* 02B7A8 8002ABA8 460C2180 */ add.s $f6, $f4, $f12 +/* 02B7AC 8002ABAC 46183400 */ add.s $f16, $f6, $f24 +/* 02B7B0 8002ABB0 461A803C */ c.lt.s $f16, $f26 +/* 02B7B4 8002ABB4 00000000 */ nop +/* 02B7B8 8002ABB8 45000003 */ bc1f .L8002ABC8 +/* 02B7BC 8002ABBC 00000000 */ nop +/* 02B7C0 8002ABC0 10000004 */ b .L8002ABD4 +/* 02B7C4 8002ABC4 00001025 */ move $v0, $zero +.L8002ABC8: +/* 02B7C8 8002ABC8 1443FFEC */ bne $v0, $v1, .L8002AB7C +/* 02B7CC 8002ABCC 00000000 */ nop +/* 02B7D0 8002ABD0 24020001 */ li $v0, 1 +.L8002ABD4: +/* 02B7D4 8002ABD4 8FBF0034 */ lw $ra, 0x34($sp) +/* 02B7D8 8002ABD8 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 02B7DC 8002ABDC C7B40014 */ lwc1 $f20, 0x14($sp) +/* 02B7E0 8002ABE0 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 02B7E4 8002ABE4 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 02B7E8 8002ABE8 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 02B7EC 8002ABEC C7B80024 */ lwc1 $f24, 0x24($sp) +/* 02B7F0 8002ABF0 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 02B7F4 8002ABF4 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 02B7F8 8002ABF8 03E00008 */ jr $ra +/* 02B7FC 8002ABFC 27BD0058 */ addiu $sp, $sp, 0x58 + +/* 02B800 8002AC00 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02B804 8002AC04 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 02B808 8002AC08 00000000 */ nop +/* 02B80C 8002AC0C 8443001A */ lh $v1, 0x1a($v0) +/* 02B810 8002AC10 00000000 */ nop +/* 02B814 8002AC14 0083082A */ slt $at, $a0, $v1 +/* 02B818 8002AC18 1020001F */ beqz $at, .L8002AC98 +/* 02B81C 8002AC1C 00A3082A */ slt $at, $a1, $v1 +/* 02B820 8002AC20 1020001D */ beqz $at, .L8002AC98 +/* 02B824 8002AC24 00047900 */ sll $t7, $a0, 4 +/* 02B828 8002AC28 8C4E0004 */ lw $t6, 4($v0) +/* 02B82C 8002AC2C 01E47821 */ addu $t7, $t7, $a0 +/* 02B830 8002AC30 000F7880 */ sll $t7, $t7, 2 +/* 02B834 8002AC34 01CFC021 */ addu $t8, $t6, $t7 +/* 02B838 8002AC38 87030028 */ lh $v1, 0x28($t8) +/* 02B83C 8002AC3C 10C0000C */ beqz $a2, .L8002AC70 +/* 02B840 8002AC40 000540C3 */ sra $t0, $a1, 3 +/* 02B844 8002AC44 8C590010 */ lw $t9, 0x10($v0) +/* 02B848 8002AC48 000548C3 */ sra $t1, $a1, 3 +/* 02B84C 8002AC4C 03234021 */ addu $t0, $t9, $v1 +/* 02B850 8002AC50 01092021 */ addu $a0, $t0, $t1 +/* 02B854 8002AC54 908A0000 */ lbu $t2, ($a0) +/* 02B858 8002AC58 30AB0007 */ andi $t3, $a1, 7 +/* 02B85C 8002AC5C 240C0001 */ li $t4, 1 +/* 02B860 8002AC60 016C7004 */ sllv $t6, $t4, $t3 +/* 02B864 8002AC64 014E7825 */ or $t7, $t2, $t6 +/* 02B868 8002AC68 03E00008 */ jr $ra +/* 02B86C 8002AC6C A08F0000 */ sb $t7, ($a0) + +.L8002AC70: +/* 02B870 8002AC70 8C580010 */ lw $t8, 0x10($v0) +/* 02B874 8002AC74 30AC0007 */ andi $t4, $a1, 7 +/* 02B878 8002AC78 0303C821 */ addu $t9, $t8, $v1 +/* 02B87C 8002AC7C 03282021 */ addu $a0, $t9, $t0 +/* 02B880 8002AC80 240B0001 */ li $t3, 1 +/* 02B884 8002AC84 90890000 */ lbu $t1, ($a0) +/* 02B888 8002AC88 018B5004 */ sllv $t2, $t3, $t4 +/* 02B88C 8002AC8C 01407027 */ not $t6, $t2 +/* 02B890 8002AC90 012E7824 */ and $t7, $t1, $t6 +/* 02B894 8002AC94 A08F0000 */ sb $t7, ($a0) +.L8002AC98: +/* 02B898 8002AC98 03E00008 */ jr $ra +/* 02B89C 8002AC9C 00000000 */ nop + +/* 02B8A0 8002ACA0 3C0E8012 */ lui $t6, %hi(D_8011D378) # $t6, 0x8012 +/* 02B8A4 8002ACA4 8DCED378 */ lw $t6, %lo(D_8011D378)($t6) +/* 02B8A8 8002ACA8 3C0F8012 */ lui $t7, %hi(D_8011D370) # $t7, 0x8012 +/* 02B8AC 8002ACAC AC8E0000 */ sw $t6, ($a0) +/* 02B8B0 8002ACB0 8DEFD370 */ lw $t7, %lo(D_8011D370)($t7) +/* 02B8B4 8002ACB4 3C188012 */ lui $t8, %hi(D_8011D374) # $t8, 0x8012 +/* 02B8B8 8002ACB8 ACAF0000 */ sw $t7, ($a1) +/* 02B8BC 8002ACBC 8F18D374 */ lw $t8, %lo(D_8011D374)($t8) +/* 02B8C0 8002ACC0 03E00008 */ jr $ra +/* 02B8C4 8002ACC4 ACD80000 */ sw $t8, ($a2) + diff --git a/asm/non_matchings/unknown_0255E0/func_8002ACC8.s b/asm/non_matchings/unknown_0255E0/func_8002ACC8.s new file mode 100644 index 00000000..da8edd29 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002ACC8.s @@ -0,0 +1,5 @@ +glabel func_8002ACC8 +/* 02B8C8 8002ACC8 3C018012 */ lui $at, 0x8012 +/* 02B8CC 8002ACCC 03E00008 */ jr $ra +/* 02B8D0 8002ACD0 AC24B0F4 */ sw $a0, -0x4f0c($at) + diff --git a/asm/non_matchings/unknown_0255E0/func_8002ACD4.s b/asm/non_matchings/unknown_0255E0/func_8002ACD4.s new file mode 100644 index 00000000..362a3f7e --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002ACD4.s @@ -0,0 +1,15 @@ +glabel func_8002ACD4 +/* 02B8D4 8002ACD4 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 +/* 02B8D8 8002ACD8 C424B0E4 */ lwc1 $f4, %lo(D_8011B0E4)($at) +/* 02B8DC 8002ACDC 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 +/* 02B8E0 8002ACE0 E4840000 */ swc1 $f4, ($a0) +/* 02B8E4 8002ACE4 C426B0E8 */ lwc1 $f6, %lo(D_8011B0E8)($at) +/* 02B8E8 8002ACE8 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 +/* 02B8EC 8002ACEC E4A60000 */ swc1 $f6, ($a1) +/* 02B8F0 8002ACF0 C428B0EC */ lwc1 $f8, %lo(D_8011B0EC)($at) +/* 02B8F4 8002ACF4 3C028012 */ lui $v0, %hi(D_8011B0F0) # $v0, 0x8012 +/* 02B8F8 8002ACF8 E4C80000 */ swc1 $f8, ($a2) +/* 02B8FC 8002ACFC 8C42B0F0 */ lw $v0, %lo(D_8011B0F0)($v0) +/* 02B900 8002AD00 03E00008 */ jr $ra +/* 02B904 8002AD04 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002AD08.s b/asm/non_matchings/unknown_0255E0/func_8002AD08.s new file mode 100644 index 00000000..6b04330a --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002AD08.s @@ -0,0 +1,287 @@ +glabel func_8002AD08 +/* 02B908 8002AD08 3C028012 */ lui $v0, %hi(D_8011D308) # $v0, 0x8012 +/* 02B90C 8002AD0C 8042D308 */ lb $v0, %lo(D_8011D308)($v0) +/* 02B910 8002AD10 10C00007 */ beqz $a2, .L8002AD30 +/* 02B914 8002AD14 00001825 */ move $v1, $zero +/* 02B918 8002AD18 44800000 */ mtc1 $zero, $f0 +/* 02B91C 8002AD1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02B920 8002AD20 44812000 */ mtc1 $at, $f4 +/* 02B924 8002AD24 E4C00000 */ swc1 $f0, ($a2) +/* 02B928 8002AD28 E4C00008 */ swc1 $f0, 8($a2) +/* 02B92C 8002AD2C E4C40004 */ swc1 $f4, 4($a2) +.L8002AD30: +/* 02B930 8002AD30 18400044 */ blez $v0, .L8002AE44 +/* 02B934 8002AD34 00002025 */ move $a0, $zero +/* 02B938 8002AD38 30490003 */ andi $t1, $v0, 3 +/* 02B93C 8002AD3C 11200013 */ beqz $t1, .L8002AD8C +/* 02B940 8002AD40 01203825 */ move $a3, $t1 +/* 02B944 8002AD44 3C0F8012 */ lui $t7, %hi(D_8011D2B8) # $t7, 0x8012 +/* 02B948 8002AD48 25EFD2B8 */ addiu $t7, %lo(D_8011D2B8) # addiu $t7, $t7, -0x2d48 +/* 02B94C 8002AD4C 00007080 */ sll $t6, $zero, 2 +/* 02B950 8002AD50 01CF4021 */ addu $t0, $t6, $t7 +/* 02B954 8002AD54 240C000E */ li $t4, 14 +/* 02B958 8002AD58 240B000B */ li $t3, 11 +.L8002AD5C: +/* 02B95C 8002AD5C 8D180000 */ lw $t8, ($t0) +/* 02B960 8002AD60 24630001 */ addiu $v1, $v1, 1 +/* 02B964 8002AD64 830A0010 */ lb $t2, 0x10($t8) +/* 02B968 8002AD68 00000000 */ nop +/* 02B96C 8002AD6C 116A0003 */ beq $t3, $t2, .L8002AD7C +/* 02B970 8002AD70 00000000 */ nop +/* 02B974 8002AD74 158A0002 */ bne $t4, $t2, .L8002AD80 +/* 02B978 8002AD78 00000000 */ nop +.L8002AD7C: +/* 02B97C 8002AD7C 24840001 */ addiu $a0, $a0, 1 +.L8002AD80: +/* 02B980 8002AD80 14E3FFF6 */ bne $a3, $v1, .L8002AD5C +/* 02B984 8002AD84 25080004 */ addiu $t0, $t0, 4 +/* 02B988 8002AD88 1062002E */ beq $v1, $v0, .L8002AE44 +.L8002AD8C: +/* 02B98C 8002AD8C 3C0D8012 */ lui $t5, %hi(D_8011D2B8) # $t5, 0x8012 +/* 02B990 8002AD90 25ADD2B8 */ addiu $t5, %lo(D_8011D2B8) # addiu $t5, $t5, -0x2d48 +/* 02B994 8002AD94 0002C880 */ sll $t9, $v0, 2 +/* 02B998 8002AD98 00037080 */ sll $t6, $v1, 2 +/* 02B99C 8002AD9C 01CD4021 */ addu $t0, $t6, $t5 +/* 02B9A0 8002ADA0 032D3821 */ addu $a3, $t9, $t5 +/* 02B9A4 8002ADA4 240B000B */ li $t3, 11 +/* 02B9A8 8002ADA8 240C000E */ li $t4, 14 +.L8002ADAC: +/* 02B9AC 8002ADAC 8D0F0000 */ lw $t7, ($t0) +/* 02B9B0 8002ADB0 00000000 */ nop +/* 02B9B4 8002ADB4 81EA0010 */ lb $t2, 0x10($t7) +/* 02B9B8 8002ADB8 00000000 */ nop +/* 02B9BC 8002ADBC 116A0003 */ beq $t3, $t2, .L8002ADCC +/* 02B9C0 8002ADC0 00000000 */ nop +/* 02B9C4 8002ADC4 158A0002 */ bne $t4, $t2, .L8002ADD0 +/* 02B9C8 8002ADC8 00000000 */ nop +.L8002ADCC: +/* 02B9CC 8002ADCC 24840001 */ addiu $a0, $a0, 1 +.L8002ADD0: +/* 02B9D0 8002ADD0 8D180004 */ lw $t8, 4($t0) +/* 02B9D4 8002ADD4 00000000 */ nop +/* 02B9D8 8002ADD8 830A0010 */ lb $t2, 0x10($t8) +/* 02B9DC 8002ADDC 00000000 */ nop +/* 02B9E0 8002ADE0 116A0003 */ beq $t3, $t2, .L8002ADF0 +/* 02B9E4 8002ADE4 00000000 */ nop +/* 02B9E8 8002ADE8 158A0002 */ bne $t4, $t2, .L8002ADF4 +/* 02B9EC 8002ADEC 00000000 */ nop +.L8002ADF0: +/* 02B9F0 8002ADF0 24840001 */ addiu $a0, $a0, 1 +.L8002ADF4: +/* 02B9F4 8002ADF4 8D190008 */ lw $t9, 8($t0) +/* 02B9F8 8002ADF8 00000000 */ nop +/* 02B9FC 8002ADFC 83230010 */ lb $v1, 0x10($t9) +/* 02BA00 8002AE00 00000000 */ nop +/* 02BA04 8002AE04 11630003 */ beq $t3, $v1, .L8002AE14 +/* 02BA08 8002AE08 00000000 */ nop +/* 02BA0C 8002AE0C 15830002 */ bne $t4, $v1, .L8002AE18 +/* 02BA10 8002AE10 00000000 */ nop +.L8002AE14: +/* 02BA14 8002AE14 24840001 */ addiu $a0, $a0, 1 +.L8002AE18: +/* 02BA18 8002AE18 8D0E000C */ lw $t6, 0xc($t0) +/* 02BA1C 8002AE1C 25080010 */ addiu $t0, $t0, 0x10 +/* 02BA20 8002AE20 81C30010 */ lb $v1, 0x10($t6) +/* 02BA24 8002AE24 00000000 */ nop +/* 02BA28 8002AE28 11630003 */ beq $t3, $v1, .L8002AE38 +/* 02BA2C 8002AE2C 00000000 */ nop +/* 02BA30 8002AE30 15830002 */ bne $t4, $v1, .L8002AE3C +/* 02BA34 8002AE34 00000000 */ nop +.L8002AE38: +/* 02BA38 8002AE38 24840001 */ addiu $a0, $a0, 1 +.L8002AE3C: +/* 02BA3C 8002AE3C 1507FFDB */ bne $t0, $a3, .L8002ADAC +/* 02BA40 8002AE40 00000000 */ nop +.L8002AE44: +/* 02BA44 8002AE44 240B000B */ li $t3, 11 +/* 02BA48 8002AE48 14800003 */ bnez $a0, .L8002AE58 +/* 02BA4C 8002AE4C 240C000E */ li $t4, 14 +/* 02BA50 8002AE50 03E00008 */ jr $ra +/* 02BA54 8002AE54 00001025 */ move $v0, $zero + +.L8002AE58: +/* 02BA58 8002AE58 2407FFFF */ li $a3, -1 +/* 02BA5C 8002AE5C 18400084 */ blez $v0, .L8002B070 +/* 02BA60 8002AE60 00001825 */ move $v1, $zero +/* 02BA64 8002AE64 30480001 */ andi $t0, $v0, 1 +/* 02BA68 8002AE68 11000022 */ beqz $t0, .L8002AEF4 +/* 02BA6C 8002AE6C 3C0D8012 */ lui $t5, %hi(D_8011D2B8) # $t5, 0x8012 +/* 02BA70 8002AE70 8DADD2B8 */ lw $t5, %lo(D_8011D2B8)($t5) +/* 02BA74 8002AE74 3C014039 */ li $at, 0x40390000 # 2.890625 +/* 02BA78 8002AE78 81A30010 */ lb $v1, 0x10($t5) +/* 02BA7C 8002AE7C 3C0F8012 */ lui $t7, %hi(D_8011D2B8) # $t7, 0x8012 +/* 02BA80 8002AE80 11630003 */ beq $t3, $v1, .L8002AE90 +/* 02BA84 8002AE84 00000000 */ nop +/* 02BA88 8002AE88 15830019 */ bne $t4, $v1, .L8002AEF0 +/* 02BA8C 8002AE8C 24030001 */ li $v1, 1 +.L8002AE90: +/* 02BA90 8002AE90 8DEFD2B8 */ lw $t7, %lo(D_8011D2B8)($t7) +/* 02BA94 8002AE94 44811800 */ mtc1 $at, $f3 +/* 02BA98 8002AE98 C5E80000 */ lwc1 $f8, ($t7) +/* 02BA9C 8002AE9C 44801000 */ mtc1 $zero, $f2 +/* 02BAA0 8002AEA0 460042A1 */ cvt.d.s $f10, $f8 +/* 02BAA4 8002AEA4 46225400 */ add.d $f16, $f10, $f2 +/* 02BAA8 8002AEA8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 02BAAC 8002AEAC 460061A1 */ cvt.d.s $f6, $f12 +/* 02BAB0 8002AEB0 4630303C */ c.lt.d $f6, $f16 +/* 02BAB4 8002AEB4 00000000 */ nop +/* 02BAB8 8002AEB8 4500000D */ bc1f .L8002AEF0 +/* 02BABC 8002AEBC 24030001 */ li $v1, 1 +/* 02BAC0 8002AEC0 C5E40008 */ lwc1 $f4, 8($t7) +/* 02BAC4 8002AEC4 44819800 */ mtc1 $at, $f19 +/* 02BAC8 8002AEC8 44809000 */ mtc1 $zero, $f18 +/* 02BACC 8002AECC 46002221 */ cvt.d.s $f8, $f4 +/* 02BAD0 8002AED0 4628903C */ c.lt.d $f18, $f8 +/* 02BAD4 8002AED4 24010001 */ li $at, 1 +/* 02BAD8 8002AED8 45010003 */ bc1t .L8002AEE8 +/* 02BADC 8002AEDC 00000000 */ nop +/* 02BAE0 8002AEE0 14810003 */ bne $a0, $at, .L8002AEF0 +/* 02BAE4 8002AEE4 24030001 */ li $v1, 1 +.L8002AEE8: +/* 02BAE8 8002AEE8 00003825 */ move $a3, $zero +/* 02BAEC 8002AEEC 24030001 */ li $v1, 1 +.L8002AEF0: +/* 02BAF0 8002AEF0 1062005F */ beq $v1, $v0, .L8002B070 +.L8002AEF4: +/* 02BAF4 8002AEF4 3C014039 */ li $at, 0x40390000 # 2.890625 +/* 02BAF8 8002AEF8 44811800 */ mtc1 $at, $f3 +/* 02BAFC 8002AEFC 3C014034 */ li $at, 0x40340000 # 2.812500 +/* 02BB00 8002AF00 3C198012 */ lui $t9, %hi(D_8011D2B8) # $t9, 0x8012 +/* 02BB04 8002AF04 2739D2B8 */ addiu $t9, %lo(D_8011D2B8) # addiu $t9, $t9, -0x2d48 +/* 02BB08 8002AF08 0003C080 */ sll $t8, $v1, 2 +/* 02BB0C 8002AF0C 44817800 */ mtc1 $at, $f15 +/* 02BB10 8002AF10 44801000 */ mtc1 $zero, $f2 +/* 02BB14 8002AF14 44807000 */ mtc1 $zero, $f14 +/* 02BB18 8002AF18 03194021 */ addu $t0, $t8, $t9 +.L8002AF1C: +/* 02BB1C 8002AF1C 8D090000 */ lw $t1, ($t0) +/* 02BB20 8002AF20 00000000 */ nop +/* 02BB24 8002AF24 812A0010 */ lb $t2, 0x10($t1) +/* 02BB28 8002AF28 00000000 */ nop +/* 02BB2C 8002AF2C 116A0003 */ beq $t3, $t2, .L8002AF3C +/* 02BB30 8002AF30 00000000 */ nop +/* 02BB34 8002AF34 158A0016 */ bne $t4, $t2, .L8002AF90 +/* 02BB38 8002AF38 00000000 */ nop +.L8002AF3C: +/* 02BB3C 8002AF3C C5260000 */ lwc1 $f6, ($t1) +/* 02BB40 8002AF40 460062A1 */ cvt.d.s $f10, $f12 +/* 02BB44 8002AF44 46003421 */ cvt.d.s $f16, $f6 +/* 02BB48 8002AF48 46228100 */ add.d $f4, $f16, $f2 +/* 02BB4C 8002AF4C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 02BB50 8002AF50 4624503C */ c.lt.d $f10, $f4 +/* 02BB54 8002AF54 00000000 */ nop +/* 02BB58 8002AF58 4500001A */ bc1f .L8002AFC4 +/* 02BB5C 8002AF5C 00000000 */ nop +/* 02BB60 8002AF60 C5280008 */ lwc1 $f8, 8($t1) +/* 02BB64 8002AF64 44819800 */ mtc1 $at, $f19 +/* 02BB68 8002AF68 44809000 */ mtc1 $zero, $f18 +/* 02BB6C 8002AF6C 460041A1 */ cvt.d.s $f6, $f8 +/* 02BB70 8002AF70 4626903C */ c.lt.d $f18, $f6 +/* 02BB74 8002AF74 24010001 */ li $at, 1 +/* 02BB78 8002AF78 45010003 */ bc1t .L8002AF88 +/* 02BB7C 8002AF7C 00000000 */ nop +/* 02BB80 8002AF80 14810010 */ bne $a0, $at, .L8002AFC4 +/* 02BB84 8002AF84 00000000 */ nop +.L8002AF88: +/* 02BB88 8002AF88 1000000E */ b .L8002AFC4 +/* 02BB8C 8002AF8C 00603825 */ move $a3, $v1 +.L8002AF90: +/* 02BB90 8002AF90 04E0000C */ bltz $a3, .L8002AFC4 +/* 02BB94 8002AF94 28810002 */ slti $at, $a0, 2 +/* 02BB98 8002AF98 1420000A */ bnez $at, .L8002AFC4 +/* 02BB9C 8002AF9C 00000000 */ nop +/* 02BBA0 8002AFA0 C52A0000 */ lwc1 $f10, ($t1) +/* 02BBA4 8002AFA4 46006421 */ cvt.d.s $f16, $f12 +/* 02BBA8 8002AFA8 46005121 */ cvt.d.s $f4, $f10 +/* 02BBAC 8002AFAC 462E2201 */ sub.d $f8, $f4, $f14 +/* 02BBB0 8002AFB0 4628803C */ c.lt.d $f16, $f8 +/* 02BBB4 8002AFB4 00000000 */ nop +/* 02BBB8 8002AFB8 45000002 */ bc1f .L8002AFC4 +/* 02BBBC 8002AFBC 00000000 */ nop +/* 02BBC0 8002AFC0 2407FFFF */ li $a3, -1 +.L8002AFC4: +/* 02BBC4 8002AFC4 8D090004 */ lw $t1, 4($t0) +/* 02BBC8 8002AFC8 00000000 */ nop +/* 02BBCC 8002AFCC 812A0010 */ lb $t2, 0x10($t1) +/* 02BBD0 8002AFD0 C5200000 */ lwc1 $f0, ($t1) +/* 02BBD4 8002AFD4 116A0003 */ beq $t3, $t2, .L8002AFE4 +/* 02BBD8 8002AFD8 00000000 */ nop +/* 02BBDC 8002AFDC 158A0015 */ bne $t4, $t2, .L8002B034 +/* 02BBE0 8002AFE0 00000000 */ nop +.L8002AFE4: +/* 02BBE4 8002AFE4 460001A1 */ cvt.d.s $f6, $f0 +/* 02BBE8 8002AFE8 46223280 */ add.d $f10, $f6, $f2 +/* 02BBEC 8002AFEC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 02BBF0 8002AFF0 460064A1 */ cvt.d.s $f18, $f12 +/* 02BBF4 8002AFF4 462A903C */ c.lt.d $f18, $f10 +/* 02BBF8 8002AFF8 00000000 */ nop +/* 02BBFC 8002AFFC 45000019 */ bc1f .L8002B064 +/* 02BC00 8002B000 00000000 */ nop +/* 02BC04 8002B004 C5300008 */ lwc1 $f16, 8($t1) +/* 02BC08 8002B008 44812800 */ mtc1 $at, $f5 +/* 02BC0C 8002B00C 44802000 */ mtc1 $zero, $f4 +/* 02BC10 8002B010 46008221 */ cvt.d.s $f8, $f16 +/* 02BC14 8002B014 4628203C */ c.lt.d $f4, $f8 +/* 02BC18 8002B018 24010001 */ li $at, 1 +/* 02BC1C 8002B01C 45010003 */ bc1t .L8002B02C +/* 02BC20 8002B020 00000000 */ nop +/* 02BC24 8002B024 1481000F */ bne $a0, $at, .L8002B064 +/* 02BC28 8002B028 00000000 */ nop +.L8002B02C: +/* 02BC2C 8002B02C 1000000D */ b .L8002B064 +/* 02BC30 8002B030 24670001 */ addiu $a3, $v1, 1 +.L8002B034: +/* 02BC34 8002B034 04E0000B */ bltz $a3, .L8002B064 +/* 02BC38 8002B038 28810002 */ slti $at, $a0, 2 +/* 02BC3C 8002B03C 14200009 */ bnez $at, .L8002B064 +/* 02BC40 8002B040 00000000 */ nop +/* 02BC44 8002B044 460004A1 */ cvt.d.s $f18, $f0 +/* 02BC48 8002B048 462E9281 */ sub.d $f10, $f18, $f14 +/* 02BC4C 8002B04C 460061A1 */ cvt.d.s $f6, $f12 +/* 02BC50 8002B050 462A303C */ c.lt.d $f6, $f10 +/* 02BC54 8002B054 00000000 */ nop +/* 02BC58 8002B058 45000002 */ bc1f .L8002B064 +/* 02BC5C 8002B05C 00000000 */ nop +/* 02BC60 8002B060 2407FFFF */ li $a3, -1 +.L8002B064: +/* 02BC64 8002B064 24630002 */ addiu $v1, $v1, 2 +/* 02BC68 8002B068 1462FFAC */ bne $v1, $v0, .L8002AF1C +/* 02BC6C 8002B06C 25080008 */ addiu $t0, $t0, 8 +.L8002B070: +/* 02BC70 8002B070 04E10003 */ bgez $a3, .L8002B080 +/* 02BC74 8002B074 00077080 */ sll $t6, $a3, 2 +/* 02BC78 8002B078 03E00008 */ jr $ra +/* 02BC7C 8002B07C 00001025 */ move $v0, $zero + +.L8002B080: +/* 02BC80 8002B080 3C0D8012 */ lui $t5, %hi(D_8011D2B8) # $t5, 0x8012 +/* 02BC84 8002B084 25ADD2B8 */ addiu $t5, %lo(D_8011D2B8) # addiu $t5, $t5, -0x2d48 +/* 02BC88 8002B088 01CD1821 */ addu $v1, $t6, $t5 +/* 02BC8C 8002B08C 8C6F0000 */ lw $t7, ($v1) +/* 02BC90 8002B090 00000000 */ nop +/* 02BC94 8002B094 C5F00000 */ lwc1 $f16, ($t7) +/* 02BC98 8002B098 10C00010 */ beqz $a2, .L8002B0DC +/* 02BC9C 8002B09C E4B00000 */ swc1 $f16, ($a1) +/* 02BCA0 8002B0A0 8C780000 */ lw $t8, ($v1) +/* 02BCA4 8002B0A4 00000000 */ nop +/* 02BCA8 8002B0A8 C7040004 */ lwc1 $f4, 4($t8) +/* 02BCAC 8002B0AC 00000000 */ nop +/* 02BCB0 8002B0B0 E4C40000 */ swc1 $f4, ($a2) +/* 02BCB4 8002B0B4 8C790000 */ lw $t9, ($v1) +/* 02BCB8 8002B0B8 00000000 */ nop +/* 02BCBC 8002B0BC C7280008 */ lwc1 $f8, 8($t9) +/* 02BCC0 8002B0C0 00000000 */ nop +/* 02BCC4 8002B0C4 E4C80004 */ swc1 $f8, 4($a2) +/* 02BCC8 8002B0C8 8C6E0000 */ lw $t6, ($v1) +/* 02BCCC 8002B0CC 00000000 */ nop +/* 02BCD0 8002B0D0 C5D2000C */ lwc1 $f18, 0xc($t6) +/* 02BCD4 8002B0D4 00000000 */ nop +/* 02BCD8 8002B0D8 E4D20008 */ swc1 $f18, 8($a2) +.L8002B0DC: +/* 02BCDC 8002B0DC 8C6D0000 */ lw $t5, ($v1) +/* 02BCE0 8002B0E0 00000000 */ nop +/* 02BCE4 8002B0E4 81A20010 */ lb $v0, 0x10($t5) +/* 02BCE8 8002B0E8 00000000 */ nop +/* 02BCEC 8002B0EC 03E00008 */ jr $ra +/* 02BCF0 8002B0F0 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002B0F4.s b/asm/non_matchings/unknown_0255E0/func_8002B0F4.s new file mode 100644 index 00000000..72d558be --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002B0F4.s @@ -0,0 +1,602 @@ +glabel func_8002B0F4 +/* 02BCF4 8002B0F4 444FF800 */ cfc1 $t7, $31 +/* 02BCF8 8002B0F8 3C018012 */ lui $at, %hi(D_8011D308) # $at, 0x8012 +/* 02BCFC 8002B0FC A020D308 */ sb $zero, %lo(D_8011D308)($at) +/* 02BD00 8002B100 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 02BD04 8002B104 35E10003 */ ori $at, $t7, 3 +/* 02BD08 8002B108 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 02BD0C 8002B10C 38210002 */ xori $at, $at, 2 +/* 02BD10 8002B110 4485A000 */ mtc1 $a1, $f20 +/* 02BD14 8002B114 44C1F800 */ ctc1 $at, $31 +/* 02BD18 8002B118 E7B60024 */ swc1 $f22, 0x24($sp) +/* 02BD1C 8002B11C 4600A124 */ cvt.w.s $f4, $f20 +/* 02BD20 8002B120 4486B000 */ mtc1 $a2, $f22 +/* 02BD24 8002B124 44CFF800 */ ctc1 $t7, $31 +/* 02BD28 8002B128 AFB60040 */ sw $s6, 0x40($sp) +/* 02BD2C 8002B12C AFB40038 */ sw $s4, 0x38($sp) +/* 02BD30 8002B130 4458F800 */ cfc1 $t8, $31 +/* 02BD34 8002B134 44162000 */ mfc1 $s6, $f4 +/* 02BD38 8002B138 37010003 */ ori $at, $t8, 3 +/* 02BD3C 8002B13C 38210002 */ xori $at, $at, 2 +/* 02BD40 8002B140 44C1F800 */ ctc1 $at, $31 +/* 02BD44 8002B144 AFB00028 */ sw $s0, 0x28($sp) +/* 02BD48 8002B148 4600B1A4 */ cvt.w.s $f6, $f22 +/* 02BD4C 8002B14C 00808025 */ move $s0, $a0 +/* 02BD50 8002B150 44143000 */ mfc1 $s4, $f6 +/* 02BD54 8002B154 AFBF004C */ sw $ra, 0x4c($sp) +/* 02BD58 8002B158 AFBE0048 */ sw $fp, 0x48($sp) +/* 02BD5C 8002B15C AFB70044 */ sw $s7, 0x44($sp) +/* 02BD60 8002B160 AFB5003C */ sw $s5, 0x3c($sp) +/* 02BD64 8002B164 AFB30034 */ sw $s3, 0x34($sp) +/* 02BD68 8002B168 AFB20030 */ sw $s2, 0x30($sp) +/* 02BD6C 8002B16C AFB1002C */ sw $s1, 0x2c($sp) +/* 02BD70 8002B170 E7B70020 */ swc1 $f23, 0x20($sp) +/* 02BD74 8002B174 E7B50018 */ swc1 $f21, 0x18($sp) +/* 02BD78 8002B178 AFA70134 */ sw $a3, 0x134($sp) +/* 02BD7C 8002B17C 44D8F800 */ ctc1 $t8, $31 +/* 02BD80 8002B180 ACE00000 */ sw $zero, ($a3) +/* 02BD84 8002B184 27A600B0 */ addiu $a2, $sp, 0xb0 +/* 02BD88 8002B188 02C02025 */ move $a0, $s6 +/* 02BD8C 8002B18C 0C00A817 */ jal func_8002A05C +/* 02BD90 8002B190 02802825 */ move $a1, $s4 +/* 02BD94 8002B194 10400004 */ beqz $v0, .L8002B1A8 +/* 02BD98 8002B198 AFA20108 */ sw $v0, 0x108($sp) +/* 02BD9C 8002B19C 28410008 */ slti $at, $v0, 8 +/* 02BDA0 8002B1A0 14200003 */ bnez $at, .L8002B1B0 +/* 02BDA4 8002B1A4 0000A825 */ move $s5, $zero +.L8002B1A8: +/* 02BDA8 8002B1A8 100001F4 */ b .L8002B97C +/* 02BDAC 8002B1AC 00001025 */ move $v0, $zero +.L8002B1B0: +/* 02BDB0 8002B1B0 18400135 */ blez $v0, .L8002B688 +/* 02BDB4 8002B1B4 0000F025 */ move $fp, $zero +/* 02BDB8 8002B1B8 44808800 */ mtc1 $zero, $f17 +/* 02BDBC 8002B1BC 44808000 */ mtc1 $zero, $f16 +/* 02BDC0 8002B1C0 AFB00128 */ sw $s0, 0x128($sp) +/* 02BDC4 8002B1C4 2413000A */ li $s3, 10 +/* 02BDC8 8002B1C8 001EC880 */ sll $t9, $fp, 2 +.L8002B1CC: +/* 02BDCC 8002B1CC 03B94821 */ addu $t1, $sp, $t9 +/* 02BDD0 8002B1D0 8D2900B0 */ lw $t1, 0xb0($t1) +/* 02BDD4 8002B1D4 3C0B800E */ lui $t3, %hi(D_800DC918) # $t3, 0x800e +/* 02BDD8 8002B1D8 8D6BC918 */ lw $t3, %lo(D_800DC918)($t3) +/* 02BDDC 8002B1DC 0009C080 */ sll $t8, $t1, 2 +/* 02BDE0 8002B1E0 8D790008 */ lw $t9, 8($t3) +/* 02BDE4 8002B1E4 00097100 */ sll $t6, $t1, 4 +/* 02BDE8 8002B1E8 0309C023 */ subu $t8, $t8, $t1 +/* 02BDEC 8002B1EC 8D6F0004 */ lw $t7, 4($t3) +/* 02BDF0 8002B1F0 0018C080 */ sll $t8, $t8, 2 +/* 02BDF4 8002B1F4 01C97021 */ addu $t6, $t6, $t1 +/* 02BDF8 8002B1F8 000E7080 */ sll $t6, $t6, 2 +/* 02BDFC 8002B1FC 03195021 */ addu $t2, $t8, $t9 +/* 02BE00 8002B200 01CFF821 */ addu $ra, $t6, $t7 +/* 02BE04 8002B204 854E0006 */ lh $t6, 6($t2) +/* 02BE08 8002B208 85480000 */ lh $t0, ($t2) +/* 02BE0C 8002B20C 24050001 */ li $a1, 1 +/* 02BE10 8002B210 01C83023 */ subu $a2, $t6, $t0 +/* 02BE14 8002B214 000678C3 */ sra $t7, $a2, 3 +/* 02BE18 8002B218 25E60001 */ addiu $a2, $t7, 1 +/* 02BE1C 8002B21C 0006C400 */ sll $t8, $a2, 0x10 +/* 02BE20 8002B220 00183403 */ sra $a2, $t8, 0x10 +/* 02BE24 8002B224 00C81821 */ addu $v1, $a2, $t0 +/* 02BE28 8002B228 00082400 */ sll $a0, $t0, 0x10 +/* 02BE2C 8002B22C 00037400 */ sll $t6, $v1, 0x10 +/* 02BE30 8002B230 0004C403 */ sra $t8, $a0, 0x10 +/* 02BE34 8002B234 00008825 */ move $s1, $zero +/* 02BE38 8002B238 000E1C03 */ sra $v1, $t6, 0x10 +/* 02BE3C 8002B23C 03002025 */ move $a0, $t8 +/* 02BE40 8002B240 00003825 */ move $a3, $zero +/* 02BE44 8002B244 0000B825 */ move $s7, $zero +.L8002B248: +/* 02BE48 8002B248 0076082A */ slt $at, $v1, $s6 +/* 02BE4C 8002B24C 14200007 */ bnez $at, .L8002B26C +/* 02BE50 8002B250 00661821 */ addu $v1, $v1, $a2 +/* 02BE54 8002B254 02C4082A */ slt $at, $s6, $a0 +/* 02BE58 8002B258 14200005 */ bnez $at, .L8002B270 +/* 02BE5C 8002B25C 00037C00 */ sll $t7, $v1, 0x10 +/* 02BE60 8002B260 02258825 */ or $s1, $s1, $a1 +/* 02BE64 8002B264 0011CC00 */ sll $t9, $s1, 0x10 +/* 02BE68 8002B268 00198C03 */ sra $s1, $t9, 0x10 +.L8002B26C: +/* 02BE6C 8002B26C 00037C00 */ sll $t7, $v1, 0x10 +.L8002B270: +/* 02BE70 8002B270 000F1C03 */ sra $v1, $t7, 0x10 +/* 02BE74 8002B274 24E70001 */ addiu $a3, $a3, 1 +/* 02BE78 8002B278 00862021 */ addu $a0, $a0, $a2 +/* 02BE7C 8002B27C 00A07825 */ move $t7, $a1 +/* 02BE80 8002B280 28E10008 */ slti $at, $a3, 8 +/* 02BE84 8002B284 0004CC00 */ sll $t9, $a0, 0x10 +/* 02BE88 8002B288 000FC440 */ sll $t8, $t7, 0x11 +/* 02BE8C 8002B28C 00192403 */ sra $a0, $t9, 0x10 +/* 02BE90 8002B290 1420FFED */ bnez $at, .L8002B248 +/* 02BE94 8002B294 00182C03 */ sra $a1, $t8, 0x10 +/* 02BE98 8002B298 85480004 */ lh $t0, 4($t2) +/* 02BE9C 8002B29C 854E000A */ lh $t6, 0xa($t2) +/* 02BEA0 8002B2A0 00082400 */ sll $a0, $t0, 0x10 +/* 02BEA4 8002B2A4 01C83023 */ subu $a2, $t6, $t0 +/* 02BEA8 8002B2A8 000678C3 */ sra $t7, $a2, 3 +/* 02BEAC 8002B2AC 25E60001 */ addiu $a2, $t7, 1 +/* 02BEB0 8002B2B0 0006C400 */ sll $t8, $a2, 0x10 +/* 02BEB4 8002B2B4 00183403 */ sra $a2, $t8, 0x10 +/* 02BEB8 8002B2B8 00C81821 */ addu $v1, $a2, $t0 +/* 02BEBC 8002B2BC 00037400 */ sll $t6, $v1, 0x10 +/* 02BEC0 8002B2C0 0004C403 */ sra $t8, $a0, 0x10 +/* 02BEC4 8002B2C4 000E1C03 */ sra $v1, $t6, 0x10 +/* 02BEC8 8002B2C8 03002025 */ move $a0, $t8 +/* 02BECC 8002B2CC 00003825 */ move $a3, $zero +.L8002B2D0: +/* 02BED0 8002B2D0 0074082A */ slt $at, $v1, $s4 +/* 02BED4 8002B2D4 14200007 */ bnez $at, .L8002B2F4 +/* 02BED8 8002B2D8 00661821 */ addu $v1, $v1, $a2 +/* 02BEDC 8002B2DC 0284082A */ slt $at, $s4, $a0 +/* 02BEE0 8002B2E0 14200005 */ bnez $at, .L8002B2F8 +/* 02BEE4 8002B2E4 00037C00 */ sll $t7, $v1, 0x10 +/* 02BEE8 8002B2E8 02258825 */ or $s1, $s1, $a1 +/* 02BEEC 8002B2EC 0011CC00 */ sll $t9, $s1, 0x10 +/* 02BEF0 8002B2F0 00198C03 */ sra $s1, $t9, 0x10 +.L8002B2F4: +/* 02BEF4 8002B2F4 00037C00 */ sll $t7, $v1, 0x10 +.L8002B2F8: +/* 02BEF8 8002B2F8 000F1C03 */ sra $v1, $t7, 0x10 +/* 02BEFC 8002B2FC 00862021 */ addu $a0, $a0, $a2 +/* 02BF00 8002B300 0004CC00 */ sll $t9, $a0, 0x10 +/* 02BF04 8002B304 00A07825 */ move $t7, $a1 +/* 02BF08 8002B308 00197403 */ sra $t6, $t9, 0x10 +/* 02BF0C 8002B30C 000FC440 */ sll $t8, $t7, 0x11 +/* 02BF10 8002B310 0074082A */ slt $at, $v1, $s4 +/* 02BF14 8002B314 0018CC03 */ sra $t9, $t8, 0x10 +/* 02BF18 8002B318 01C02025 */ move $a0, $t6 +/* 02BF1C 8002B31C 14200007 */ bnez $at, .L8002B33C +/* 02BF20 8002B320 03202825 */ move $a1, $t9 +/* 02BF24 8002B324 028E082A */ slt $at, $s4, $t6 +/* 02BF28 8002B328 14200004 */ bnez $at, .L8002B33C +/* 02BF2C 8002B32C 00000000 */ nop +/* 02BF30 8002B330 02398825 */ or $s1, $s1, $t9 +/* 02BF34 8002B334 00117400 */ sll $t6, $s1, 0x10 +/* 02BF38 8002B338 000E8C03 */ sra $s1, $t6, 0x10 +.L8002B33C: +/* 02BF3C 8002B33C 00661821 */ addu $v1, $v1, $a2 +/* 02BF40 8002B340 0003C400 */ sll $t8, $v1, 0x10 +/* 02BF44 8002B344 00181C03 */ sra $v1, $t8, 0x10 +/* 02BF48 8002B348 00862021 */ addu $a0, $a0, $a2 +/* 02BF4C 8002B34C 00047400 */ sll $t6, $a0, 0x10 +/* 02BF50 8002B350 00A0C025 */ move $t8, $a1 +/* 02BF54 8002B354 0018CC40 */ sll $t9, $t8, 0x11 +/* 02BF58 8002B358 000E7C03 */ sra $t7, $t6, 0x10 +/* 02BF5C 8002B35C 00197403 */ sra $t6, $t9, 0x10 +/* 02BF60 8002B360 0074082A */ slt $at, $v1, $s4 +/* 02BF64 8002B364 01C02825 */ move $a1, $t6 +/* 02BF68 8002B368 14200007 */ bnez $at, .L8002B388 +/* 02BF6C 8002B36C 01E02025 */ move $a0, $t7 +/* 02BF70 8002B370 028F082A */ slt $at, $s4, $t7 +/* 02BF74 8002B374 14200004 */ bnez $at, .L8002B388 +/* 02BF78 8002B378 00000000 */ nop +/* 02BF7C 8002B37C 022E8825 */ or $s1, $s1, $t6 +/* 02BF80 8002B380 00117C00 */ sll $t7, $s1, 0x10 +/* 02BF84 8002B384 000F8C03 */ sra $s1, $t7, 0x10 +.L8002B388: +/* 02BF88 8002B388 00661821 */ addu $v1, $v1, $a2 +/* 02BF8C 8002B38C 0003CC00 */ sll $t9, $v1, 0x10 +/* 02BF90 8002B390 00191C03 */ sra $v1, $t9, 0x10 +/* 02BF94 8002B394 00862021 */ addu $a0, $a0, $a2 +/* 02BF98 8002B398 00047C00 */ sll $t7, $a0, 0x10 +/* 02BF9C 8002B39C 00A0C825 */ move $t9, $a1 +/* 02BFA0 8002B3A0 00197440 */ sll $t6, $t9, 0x11 +/* 02BFA4 8002B3A4 000FC403 */ sra $t8, $t7, 0x10 +/* 02BFA8 8002B3A8 000E7C03 */ sra $t7, $t6, 0x10 +/* 02BFAC 8002B3AC 0074082A */ slt $at, $v1, $s4 +/* 02BFB0 8002B3B0 01E02825 */ move $a1, $t7 +/* 02BFB4 8002B3B4 14200007 */ bnez $at, .L8002B3D4 +/* 02BFB8 8002B3B8 03002025 */ move $a0, $t8 +/* 02BFBC 8002B3BC 0298082A */ slt $at, $s4, $t8 +/* 02BFC0 8002B3C0 14200004 */ bnez $at, .L8002B3D4 +/* 02BFC4 8002B3C4 00000000 */ nop +/* 02BFC8 8002B3C8 022F8825 */ or $s1, $s1, $t7 +/* 02BFCC 8002B3CC 0011C400 */ sll $t8, $s1, 0x10 +/* 02BFD0 8002B3D0 00188C03 */ sra $s1, $t8, 0x10 +.L8002B3D4: +/* 02BFD4 8002B3D4 00661821 */ addu $v1, $v1, $a2 +/* 02BFD8 8002B3D8 00037400 */ sll $t6, $v1, 0x10 +/* 02BFDC 8002B3DC 000E1C03 */ sra $v1, $t6, 0x10 +/* 02BFE0 8002B3E0 00A07025 */ move $t6, $a1 +/* 02BFE4 8002B3E4 00862021 */ addu $a0, $a0, $a2 +/* 02BFE8 8002B3E8 0004C400 */ sll $t8, $a0, 0x10 +/* 02BFEC 8002B3EC 000E7C40 */ sll $t7, $t6, 0x11 +/* 02BFF0 8002B3F0 24E70004 */ addiu $a3, $a3, 4 +/* 02BFF4 8002B3F4 24010008 */ li $at, 8 +/* 02BFF8 8002B3F8 000F2C03 */ sra $a1, $t7, 0x10 +/* 02BFFC 8002B3FC 14E1FFB4 */ bne $a3, $at, .L8002B2D0 +/* 02C000 8002B400 00182403 */ sra $a0, $t8, 0x10 +/* 02C004 8002B404 87E50020 */ lh $a1, 0x20($ra) +/* 02C008 8002B408 00000000 */ nop +/* 02C00C 8002B40C 18A00097 */ blez $a1, .L8002B66C +/* 02C010 8002B410 00177080 */ sll $t6, $s7, 2 +.L8002B414: +/* 02C014 8002B414 8FF9000C */ lw $t9, 0xc($ra) +/* 02C018 8002B418 01D77023 */ subu $t6, $t6, $s7 +/* 02C01C 8002B41C 000E7080 */ sll $t6, $t6, 2 +/* 02C020 8002B420 3C0F800E */ lui $t7, %hi(D_800DC918) # $t7, 0x800e +/* 02C024 8002B424 8DEFC918 */ lw $t7, %lo(D_800DC918)($t7) +/* 02C028 8002B428 032E1821 */ addu $v1, $t9, $t6 +/* 02C02C 8002B42C 90790000 */ lbu $t9, ($v1) +/* 02C030 8002B430 8DF80000 */ lw $t8, ($t7) +/* 02C034 8002B434 001970C0 */ sll $t6, $t9, 3 +/* 02C038 8002B438 030E7821 */ addu $t7, $t8, $t6 +/* 02C03C 8002B43C 81F20007 */ lb $s2, 7($t7) +/* 02C040 8002B440 84640004 */ lh $a0, 4($v1) +/* 02C044 8002B444 846D0002 */ lh $t5, 2($v1) +/* 02C048 8002B448 84700010 */ lh $s0, 0x10($v1) +/* 02C04C 8002B44C 2401000B */ li $at, 11 +/* 02C050 8002B450 12410009 */ beq $s2, $at, .L8002B478 +/* 02C054 8002B454 2401000F */ li $at, 15 +/* 02C058 8002B458 12410008 */ beq $s2, $at, .L8002B47C +/* 02C05C 8002B45C 0090082A */ slt $at, $a0, $s0 +/* 02C060 8002B460 8C790008 */ lw $t9, 8($v1) +/* 02C064 8002B464 00000000 */ nop +/* 02C068 8002B468 33380300 */ andi $t8, $t9, 0x300 +/* 02C06C 8002B46C 13000003 */ beqz $t8, .L8002B47C +/* 02C070 8002B470 0090082A */ slt $at, $a0, $s0 +/* 02C074 8002B474 02002025 */ move $a0, $s0 +.L8002B478: +/* 02C078 8002B478 0090082A */ slt $at, $a0, $s0 +.L8002B47C: +/* 02C07C 8002B47C 10200077 */ beqz $at, .L8002B65C +/* 02C080 8002B480 00805025 */ move $t2, $a0 +.L8002B484: +/* 02C084 8002B484 8FEE0010 */ lw $t6, 0x10($ra) +/* 02C088 8002B488 000A7840 */ sll $t7, $t2, 1 +/* 02C08C 8002B48C 01CFC821 */ addu $t9, $t6, $t7 +/* 02C090 8002B490 87380000 */ lh $t8, ($t9) +/* 02C094 8002B494 00000000 */ nop +/* 02C098 8002B498 03117024 */ and $t6, $t8, $s1 +/* 02C09C 8002B49C 162E0069 */ bne $s1, $t6, .L8002B644 +/* 02C0A0 8002B4A0 00000000 */ nop +/* 02C0A4 8002B4A4 8FEF0004 */ lw $t7, 4($ra) +/* 02C0A8 8002B4A8 000AC900 */ sll $t9, $t2, 4 +/* 02C0AC 8002B4AC 01F92021 */ addu $a0, $t7, $t9 +/* 02C0B0 8002B4B0 90980001 */ lbu $t8, 1($a0) +/* 02C0B4 8002B4B4 90990002 */ lbu $t9, 2($a0) +/* 02C0B8 8002B4B8 030D7021 */ addu $t6, $t8, $t5 +/* 02C0BC 8002B4BC 01D30019 */ multu $t6, $s3 +/* 02C0C0 8002B4C0 032DC021 */ addu $t8, $t9, $t5 +/* 02C0C4 8002B4C4 8FE50000 */ lw $a1, ($ra) +/* 02C0C8 8002B4C8 00007812 */ mflo $t7 +/* 02C0CC 8002B4CC 01E51821 */ addu $v1, $t7, $a1 +/* 02C0D0 8002B4D0 908F0003 */ lbu $t7, 3($a0) +/* 02C0D4 8002B4D4 03130019 */ multu $t8, $s3 +/* 02C0D8 8002B4D8 01EDC821 */ addu $t9, $t7, $t5 +/* 02C0DC 8002B4DC 84660000 */ lh $a2, ($v1) +/* 02C0E0 8002B4E0 84670004 */ lh $a3, 4($v1) +/* 02C0E4 8002B4E4 00000000 */ nop +/* 02C0E8 8002B4E8 02872023 */ subu $a0, $s4, $a3 +/* 02C0EC 8002B4EC 00007012 */ mflo $t6 +/* 02C0F0 8002B4F0 01C51821 */ addu $v1, $t6, $a1 +/* 02C0F4 8002B4F4 84680000 */ lh $t0, ($v1) +/* 02C0F8 8002B4F8 03330019 */ multu $t9, $s3 +/* 02C0FC 8002B4FC 84690004 */ lh $t1, 4($v1) +/* 02C100 8002B500 0106C823 */ subu $t9, $t0, $a2 +/* 02C104 8002B504 01277023 */ subu $t6, $t1, $a3 +/* 02C108 8002B508 0000C012 */ mflo $t8 +/* 02C10C 8002B50C 03051821 */ addu $v1, $t8, $a1 +/* 02C110 8002B510 846B0000 */ lh $t3, ($v1) +/* 02C114 8002B514 846C0004 */ lh $t4, 4($v1) +/* 02C118 8002B518 02C61823 */ subu $v1, $s6, $a2 +/* 02C11C 8002B51C 006E0019 */ multu $v1, $t6 +/* 02C120 8002B520 00007812 */ mflo $t7 +/* 02C124 8002B524 00000000 */ nop +/* 02C128 8002B528 00000000 */ nop +/* 02C12C 8002B52C 03240019 */ multu $t9, $a0 +/* 02C130 8002B530 02C8C823 */ subu $t9, $s6, $t0 +/* 02C134 8002B534 0000C012 */ mflo $t8 +/* 02C138 8002B538 01F82823 */ subu $a1, $t7, $t8 +/* 02C13C 8002B53C 01897823 */ subu $t7, $t4, $t1 +/* 02C140 8002B540 032F0019 */ multu $t9, $t7 +/* 02C144 8002B544 28AE0000 */ slti $t6, $a1, 0 +/* 02C148 8002B548 39C50001 */ xori $a1, $t6, 1 +/* 02C14C 8002B54C 0289C823 */ subu $t9, $s4, $t1 +/* 02C150 8002B550 01687023 */ subu $t6, $t3, $t0 +/* 02C154 8002B554 0000C012 */ mflo $t8 +/* 02C158 8002B558 00000000 */ nop +/* 02C15C 8002B55C 00000000 */ nop +/* 02C160 8002B560 01D90019 */ multu $t6, $t9 +/* 02C164 8002B564 00007812 */ mflo $t7 +/* 02C168 8002B568 030F7023 */ subu $t6, $t8, $t7 +/* 02C16C 8002B56C 29D90000 */ slti $t9, $t6, 0 +/* 02C170 8002B570 3B390001 */ xori $t9, $t9, 1 +/* 02C174 8002B574 17250033 */ bne $t9, $a1, .L8002B644 +/* 02C178 8002B578 0187C023 */ subu $t8, $t4, $a3 +/* 02C17C 8002B57C 00780019 */ multu $v1, $t8 +/* 02C180 8002B580 01667023 */ subu $t6, $t3, $a2 +/* 02C184 8002B584 00007812 */ mflo $t7 +/* 02C188 8002B588 00000000 */ nop +/* 02C18C 8002B58C 00000000 */ nop +/* 02C190 8002B590 01C40019 */ multu $t6, $a0 +/* 02C194 8002B594 0000C812 */ mflo $t9 +/* 02C198 8002B598 01F9C023 */ subu $t8, $t7, $t9 +/* 02C19C 8002B59C 2B0E0000 */ slti $t6, $t8, 0 +/* 02C1A0 8002B5A0 39CE0001 */ xori $t6, $t6, 1 +/* 02C1A4 8002B5A4 10AE0027 */ beq $a1, $t6, .L8002B644 +/* 02C1A8 8002B5A8 00000000 */ nop +/* 02C1AC 8002B5AC 8FEF0014 */ lw $t7, 0x14($ra) +/* 02C1B0 8002B5B0 000AC8C0 */ sll $t9, $t2, 3 +/* 02C1B4 8002B5B4 01F9C021 */ addu $t8, $t7, $t9 +/* 02C1B8 8002B5B8 970F0000 */ lhu $t7, ($t8) +/* 02C1BC 8002B5BC 8FEE0018 */ lw $t6, 0x18($ra) +/* 02C1C0 8002B5C0 000FC900 */ sll $t9, $t7, 4 +/* 02C1C4 8002B5C4 01D91821 */ addu $v1, $t6, $t9 +/* 02C1C8 8002B5C8 C4600004 */ lwc1 $f0, 4($v1) +/* 02C1CC 8002B5CC C4620000 */ lwc1 $f2, ($v1) +/* 02C1D0 8002B5D0 46000221 */ cvt.d.s $f8, $f0 +/* 02C1D4 8002B5D4 46288032 */ c.eq.d $f16, $f8 +/* 02C1D8 8002B5D8 C46C0008 */ lwc1 $f12, 8($v1) +/* 02C1DC 8002B5DC C46E000C */ lwc1 $f14, 0xc($v1) +/* 02C1E0 8002B5E0 45010018 */ bc1t .L8002B644 +/* 02C1E4 8002B5E4 00000000 */ nop +/* 02C1E8 8002B5E8 46141282 */ mul.s $f10, $f2, $f20 +/* 02C1EC 8002B5EC 0015C080 */ sll $t8, $s5, 2 +/* 02C1F0 8002B5F0 0315C021 */ addu $t8, $t8, $s5 +/* 02C1F4 8002B5F4 3C0F8012 */ lui $t7, %hi(D_8011D128) # $t7, 0x8012 +/* 02C1F8 8002B5F8 46166482 */ mul.s $f18, $f12, $f22 +/* 02C1FC 8002B5FC 25EFD128 */ addiu $t7, %lo(D_8011D128) # addiu $t7, $t7, -0x2ed8 +/* 02C200 8002B600 0018C080 */ sll $t8, $t8, 2 +/* 02C204 8002B604 030F1821 */ addu $v1, $t8, $t7 +/* 02C208 8002B608 46125100 */ add.s $f4, $f10, $f18 +/* 02C20C 8002B60C 26B50001 */ addiu $s5, $s5, 1 +/* 02C210 8002B610 460E2180 */ add.s $f6, $f4, $f14 +/* 02C214 8002B614 2AA10014 */ slti $at, $s5, 0x14 +/* 02C218 8002B618 46003203 */ div.s $f8, $f6, $f0 +/* 02C21C 8002B61C A0720010 */ sb $s2, 0x10($v1) +/* 02C220 8002B620 E4620004 */ swc1 $f2, 4($v1) +/* 02C224 8002B624 E4600008 */ swc1 $f0, 8($v1) +/* 02C228 8002B628 E46C000C */ swc1 $f12, 0xc($v1) +/* 02C22C 8002B62C 46004287 */ neg.s $f10, $f8 +/* 02C230 8002B630 14200004 */ bnez $at, .L8002B644 +/* 02C234 8002B634 E46A0000 */ swc1 $f10, ($v1) +/* 02C238 8002B638 87F70020 */ lh $s7, 0x20($ra) +/* 02C23C 8002B63C 02005025 */ move $t2, $s0 +/* 02C240 8002B640 0040F025 */ move $fp, $v0 +.L8002B644: +/* 02C244 8002B644 254A0001 */ addiu $t2, $t2, 1 +/* 02C248 8002B648 0150082A */ slt $at, $t2, $s0 +/* 02C24C 8002B64C 1420FF8D */ bnez $at, .L8002B484 +/* 02C250 8002B650 00000000 */ nop +/* 02C254 8002B654 87E50020 */ lh $a1, 0x20($ra) +/* 02C258 8002B658 00000000 */ nop +.L8002B65C: +/* 02C25C 8002B65C 26F70001 */ addiu $s7, $s7, 1 +/* 02C260 8002B660 02E5082A */ slt $at, $s7, $a1 +/* 02C264 8002B664 1420FF6B */ bnez $at, .L8002B414 +/* 02C268 8002B668 00177080 */ sll $t6, $s7, 2 +.L8002B66C: +/* 02C26C 8002B66C 8FAE0108 */ lw $t6, 0x108($sp) +/* 02C270 8002B670 27DE0001 */ addiu $fp, $fp, 1 +/* 02C274 8002B674 03CE082A */ slt $at, $fp, $t6 +/* 02C278 8002B678 1420FED4 */ bnez $at, .L8002B1CC +/* 02C27C 8002B67C 001EC880 */ sll $t9, $fp, 2 +/* 02C280 8002B680 8FB00128 */ lw $s0, 0x128($sp) +/* 02C284 8002B684 00000000 */ nop +.L8002B688: +/* 02C288 8002B688 0600002C */ bltz $s0, .L8002B73C +/* 02C28C 8002B68C 3C0B800E */ lui $t3, %hi(D_800DC918) # $t3, 0x800e +/* 02C290 8002B690 8D6BC918 */ lw $t3, %lo(D_800DC918)($t3) +/* 02C294 8002B694 3C088012 */ lui $t0, %hi(D_8011D128) # $t0, 0x8012 +/* 02C298 8002B698 8579001A */ lh $t9, 0x1a($t3) +/* 02C29C 8002B69C 2508D128 */ addiu $t0, %lo(D_8011D128) # addiu $t0, $t0, -0x2ed8 +/* 02C2A0 8002B6A0 0219082A */ slt $at, $s0, $t9 +/* 02C2A4 8002B6A4 10200025 */ beqz $at, .L8002B73C +/* 02C2A8 8002B6A8 00107900 */ sll $t7, $s0, 4 +/* 02C2AC 8002B6AC 00151080 */ sll $v0, $s5, 2 +/* 02C2B0 8002B6B0 00551021 */ addu $v0, $v0, $s5 +/* 02C2B4 8002B6B4 8D780004 */ lw $t8, 4($t3) +/* 02C2B8 8002B6B8 01F07821 */ addu $t7, $t7, $s0 +/* 02C2BC 8002B6BC 00021080 */ sll $v0, $v0, 2 +/* 02C2C0 8002B6C0 000F7880 */ sll $t7, $t7, 2 +/* 02C2C4 8002B6C4 01021821 */ addu $v1, $t0, $v0 +/* 02C2C8 8002B6C8 240E000E */ li $t6, 14 +/* 02C2CC 8002B6CC A06E0010 */ sb $t6, 0x10($v1) +/* 02C2D0 8002B6D0 030FF821 */ addu $ra, $t8, $t7 +/* 02C2D4 8002B6D4 83F9002B */ lb $t9, 0x2b($ra) +/* 02C2D8 8002B6D8 3C188012 */ lui $t8, %hi(D_8011D384) # $t8, 0x8012 +/* 02C2DC 8002B6DC 1320000D */ beqz $t9, .L8002B714 +/* 02C2E0 8002B6E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02C2E4 8002B6E4 8F18D384 */ lw $t8, %lo(D_8011D384)($t8) +/* 02C2E8 8002B6E8 02002025 */ move $a0, $s0 +/* 02C2EC 8002B6EC 13000009 */ beqz $t8, .L8002B714 +/* 02C2F0 8002B6F0 00483821 */ addu $a3, $v0, $t0 +/* 02C2F4 8002B6F4 4405A000 */ mfc1 $a1, $f20 +/* 02C2F8 8002B6F8 4406B000 */ mfc1 $a2, $f22 +/* 02C2FC 8002B6FC 24E70004 */ addiu $a3, $a3, 4 +/* 02C300 8002B700 0C02ECBD */ jal func_800BB2F4 +/* 02C304 8002B704 AFA30064 */ sw $v1, 0x64($sp) +/* 02C308 8002B708 8FA30064 */ lw $v1, 0x64($sp) +/* 02C30C 8002B70C 1000000A */ b .L8002B738 +/* 02C310 8002B710 E4600000 */ swc1 $f0, ($v1) +.L8002B714: +/* 02C314 8002B714 87EF0038 */ lh $t7, 0x38($ra) +/* 02C318 8002B718 44800000 */ mtc1 $zero, $f0 +/* 02C31C 8002B71C 448F9000 */ mtc1 $t7, $f18 +/* 02C320 8002B720 44813000 */ mtc1 $at, $f6 +/* 02C324 8002B724 46809120 */ cvt.s.w $f4, $f18 +/* 02C328 8002B728 E4600004 */ swc1 $f0, 4($v1) +/* 02C32C 8002B72C E460000C */ swc1 $f0, 0xc($v1) +/* 02C330 8002B730 E4640000 */ swc1 $f4, ($v1) +/* 02C334 8002B734 E4660008 */ swc1 $f6, 8($v1) +.L8002B738: +/* 02C338 8002B738 26B50001 */ addiu $s5, $s5, 1 +.L8002B73C: +/* 02C33C 8002B73C 1AA0002F */ blez $s5, .L8002B7FC +/* 02C340 8002B740 00003825 */ move $a3, $zero +/* 02C344 8002B744 32A50003 */ andi $a1, $s5, 3 +/* 02C348 8002B748 10A0000F */ beqz $a1, .L8002B788 +/* 02C34C 8002B74C 00A02025 */ move $a0, $a1 +/* 02C350 8002B750 3C198012 */ lui $t9, %hi(D_8011D2B8) # $t9, 0x8012 +/* 02C354 8002B754 3C0F8012 */ lui $t7, %hi(D_8011D128) # $t7, 0x8012 +/* 02C358 8002B758 25EFD128 */ addiu $t7, %lo(D_8011D128) # addiu $t7, $t7, -0x2ed8 +/* 02C35C 8002B75C 2739D2B8 */ addiu $t9, %lo(D_8011D2B8) # addiu $t9, $t9, -0x2d48 +/* 02C360 8002B760 00007080 */ sll $t6, $zero, 2 +/* 02C364 8002B764 0000C100 */ sll $t8, $zero, 4 +/* 02C368 8002B768 030F1021 */ addu $v0, $t8, $t7 +/* 02C36C 8002B76C 01D91821 */ addu $v1, $t6, $t9 +.L8002B770: +/* 02C370 8002B770 AC620000 */ sw $v0, ($v1) +/* 02C374 8002B774 24E70001 */ addiu $a3, $a3, 1 +/* 02C378 8002B778 24420014 */ addiu $v0, $v0, 0x14 +/* 02C37C 8002B77C 1487FFFC */ bne $a0, $a3, .L8002B770 +/* 02C380 8002B780 24630004 */ addiu $v1, $v1, 4 +/* 02C384 8002B784 10F5001D */ beq $a3, $s5, .L8002B7FC +.L8002B788: +/* 02C388 8002B788 00157080 */ sll $t6, $s5, 2 +/* 02C38C 8002B78C 01D57021 */ addu $t6, $t6, $s5 +/* 02C390 8002B790 3C198012 */ lui $t9, %hi(D_8011D164) # $t9, 0x8012 +/* 02C394 8002B794 2739D164 */ addiu $t9, %lo(D_8011D164) # addiu $t9, $t9, -0x2e9c +/* 02C398 8002B798 000E7080 */ sll $t6, $t6, 2 +/* 02C39C 8002B79C 01D94021 */ addu $t0, $t6, $t9 +/* 02C3A0 8002B7A0 00077080 */ sll $t6, $a3, 2 +/* 02C3A4 8002B7A4 01C77021 */ addu $t6, $t6, $a3 +/* 02C3A8 8002B7A8 3C198012 */ lui $t9, %hi(D_8011D128) # $t9, 0x8012 +/* 02C3AC 8002B7AC 2739D128 */ addiu $t9, %lo(D_8011D128) # addiu $t9, $t9, -0x2ed8 +/* 02C3B0 8002B7B0 000E7080 */ sll $t6, $t6, 2 +/* 02C3B4 8002B7B4 01D91021 */ addu $v0, $t6, $t9 +/* 02C3B8 8002B7B8 3C0F8012 */ lui $t7, %hi(D_8011D2B8) # $t7, 0x8012 +/* 02C3BC 8002B7BC 25EFD2B8 */ addiu $t7, %lo(D_8011D2B8) # addiu $t7, $t7, -0x2d48 +/* 02C3C0 8002B7C0 0007C080 */ sll $t8, $a3, 2 +/* 02C3C4 8002B7C4 030F1821 */ addu $v1, $t8, $t7 +/* 02C3C8 8002B7C8 24450014 */ addiu $a1, $v0, 0x14 +/* 02C3CC 8002B7CC 24460028 */ addiu $a2, $v0, 0x28 +/* 02C3D0 8002B7D0 2444003C */ addiu $a0, $v0, 0x3c +.L8002B7D4: +/* 02C3D4 8002B7D4 AC64000C */ sw $a0, 0xc($v1) +/* 02C3D8 8002B7D8 24840050 */ addiu $a0, $a0, 0x50 +/* 02C3DC 8002B7DC AC620000 */ sw $v0, ($v1) +/* 02C3E0 8002B7E0 AC650004 */ sw $a1, 4($v1) +/* 02C3E4 8002B7E4 AC660008 */ sw $a2, 8($v1) +/* 02C3E8 8002B7E8 24C60050 */ addiu $a2, $a2, 0x50 +/* 02C3EC 8002B7EC 24A50050 */ addiu $a1, $a1, 0x50 +/* 02C3F0 8002B7F0 24420050 */ addiu $v0, $v0, 0x50 +/* 02C3F4 8002B7F4 1488FFF7 */ bne $a0, $t0, .L8002B7D4 +/* 02C3F8 8002B7F8 24630010 */ addiu $v1, $v1, 0x10 +.L8002B7FC: +/* 02C3FC 8002B7FC 26A9FFFF */ addiu $t1, $s5, -1 +/* 02C400 8002B800 24060001 */ li $a2, 1 +.L8002B804: +/* 02C404 8002B804 19200054 */ blez $t1, .L8002B958 +/* 02C408 8002B808 00003825 */ move $a3, $zero +/* 02C40C 8002B80C 26A2FFFF */ addiu $v0, $s5, -1 +/* 02C410 8002B810 30580003 */ andi $t8, $v0, 3 +/* 02C414 8002B814 13000014 */ beqz $t8, .L8002B868 +/* 02C418 8002B818 03004025 */ move $t0, $t8 +/* 02C41C 8002B81C 3C0E8012 */ lui $t6, %hi(D_8011D2B8) # $t6, 0x8012 +/* 02C420 8002B820 25CED2B8 */ addiu $t6, %lo(D_8011D2B8) # addiu $t6, $t6, -0x2d48 +/* 02C424 8002B824 00007880 */ sll $t7, $zero, 2 +/* 02C428 8002B828 01EE1821 */ addu $v1, $t7, $t6 +.L8002B82C: +/* 02C42C 8002B82C 8C650000 */ lw $a1, ($v1) +/* 02C430 8002B830 8C640004 */ lw $a0, 4($v1) +/* 02C434 8002B834 C4A80000 */ lwc1 $f8, ($a1) +/* 02C438 8002B838 C48A0000 */ lwc1 $f10, ($a0) +/* 02C43C 8002B83C 24E70001 */ addiu $a3, $a3, 1 +/* 02C440 8002B840 460A403C */ c.lt.s $f8, $f10 +/* 02C444 8002B844 00000000 */ nop +/* 02C448 8002B848 45000004 */ bc1f .L8002B85C +/* 02C44C 8002B84C 00000000 */ nop +/* 02C450 8002B850 00003025 */ move $a2, $zero +/* 02C454 8002B854 AC640000 */ sw $a0, ($v1) +/* 02C458 8002B858 AC650004 */ sw $a1, 4($v1) +.L8002B85C: +/* 02C45C 8002B85C 1507FFF3 */ bne $t0, $a3, .L8002B82C +/* 02C460 8002B860 24630004 */ addiu $v1, $v1, 4 +/* 02C464 8002B864 10E9003C */ beq $a3, $t1, .L8002B958 +.L8002B868: +/* 02C468 8002B868 3C188012 */ lui $t8, %hi(D_8011D2B8) # $t8, 0x8012 +/* 02C46C 8002B86C 2718D2B8 */ addiu $t8, %lo(D_8011D2B8) # addiu $t8, $t8, -0x2d48 +/* 02C470 8002B870 0009C880 */ sll $t9, $t1, 2 +/* 02C474 8002B874 00077880 */ sll $t7, $a3, 2 +/* 02C478 8002B878 01F81821 */ addu $v1, $t7, $t8 +/* 02C47C 8002B87C 03384021 */ addu $t0, $t9, $t8 +.L8002B880: +/* 02C480 8002B880 8C650000 */ lw $a1, ($v1) +/* 02C484 8002B884 8C640004 */ lw $a0, 4($v1) +/* 02C488 8002B888 C4B20000 */ lwc1 $f18, ($a1) +/* 02C48C 8002B88C C4800000 */ lwc1 $f0, ($a0) +/* 02C490 8002B890 00000000 */ nop +/* 02C494 8002B894 4600903C */ c.lt.s $f18, $f0 +/* 02C498 8002B898 00000000 */ nop +/* 02C49C 8002B89C 45000006 */ bc1f .L8002B8B8 +/* 02C4A0 8002B8A0 00000000 */ nop +/* 02C4A4 8002B8A4 AC640000 */ sw $a0, ($v1) +/* 02C4A8 8002B8A8 AC650004 */ sw $a1, 4($v1) +/* 02C4AC 8002B8AC C4A00000 */ lwc1 $f0, ($a1) +/* 02C4B0 8002B8B0 00003025 */ move $a2, $zero +/* 02C4B4 8002B8B4 00A02025 */ move $a0, $a1 +.L8002B8B8: +/* 02C4B8 8002B8B8 8C650008 */ lw $a1, 8($v1) +/* 02C4BC 8002B8BC 00000000 */ nop +/* 02C4C0 8002B8C0 C4A20000 */ lwc1 $f2, ($a1) +/* 02C4C4 8002B8C4 00000000 */ nop +/* 02C4C8 8002B8C8 4602003C */ c.lt.s $f0, $f2 +/* 02C4CC 8002B8CC 00000000 */ nop +/* 02C4D0 8002B8D0 45000006 */ bc1f .L8002B8EC +/* 02C4D4 8002B8D4 00000000 */ nop +/* 02C4D8 8002B8D8 AC650004 */ sw $a1, 4($v1) +/* 02C4DC 8002B8DC AC640008 */ sw $a0, 8($v1) +/* 02C4E0 8002B8E0 C4820000 */ lwc1 $f2, ($a0) +/* 02C4E4 8002B8E4 00802825 */ move $a1, $a0 +/* 02C4E8 8002B8E8 00003025 */ move $a2, $zero +.L8002B8EC: +/* 02C4EC 8002B8EC 8C64000C */ lw $a0, 0xc($v1) +/* 02C4F0 8002B8F0 00000000 */ nop +/* 02C4F4 8002B8F4 C4800000 */ lwc1 $f0, ($a0) +/* 02C4F8 8002B8F8 00000000 */ nop +/* 02C4FC 8002B8FC 4600103C */ c.lt.s $f2, $f0 +/* 02C500 8002B900 00000000 */ nop +/* 02C504 8002B904 45000006 */ bc1f .L8002B920 +/* 02C508 8002B908 00000000 */ nop +/* 02C50C 8002B90C AC640008 */ sw $a0, 8($v1) +/* 02C510 8002B910 AC65000C */ sw $a1, 0xc($v1) +/* 02C514 8002B914 C4A00000 */ lwc1 $f0, ($a1) +/* 02C518 8002B918 00A02025 */ move $a0, $a1 +/* 02C51C 8002B91C 00003025 */ move $a2, $zero +.L8002B920: +/* 02C520 8002B920 8C650010 */ lw $a1, 0x10($v1) +/* 02C524 8002B924 00000000 */ nop +/* 02C528 8002B928 C4A40000 */ lwc1 $f4, ($a1) +/* 02C52C 8002B92C 00000000 */ nop +/* 02C530 8002B930 4604003C */ c.lt.s $f0, $f4 +/* 02C534 8002B934 00000000 */ nop +/* 02C538 8002B938 45000004 */ bc1f .L8002B94C +/* 02C53C 8002B93C 00000000 */ nop +/* 02C540 8002B940 00003025 */ move $a2, $zero +/* 02C544 8002B944 AC65000C */ sw $a1, 0xc($v1) +/* 02C548 8002B948 AC640010 */ sw $a0, 0x10($v1) +.L8002B94C: +/* 02C54C 8002B94C 24630010 */ addiu $v1, $v1, 0x10 +/* 02C550 8002B950 1468FFCB */ bne $v1, $t0, .L8002B880 +/* 02C554 8002B954 00000000 */ nop +.L8002B958: +/* 02C558 8002B958 10C0FFAA */ beqz $a2, .L8002B804 +/* 02C55C 8002B95C 24060001 */ li $a2, 1 +/* 02C560 8002B960 8FB90134 */ lw $t9, 0x134($sp) +/* 02C564 8002B964 3C0E8012 */ lui $t6, %hi(D_8011D2B8) # $t6, 0x8012 +/* 02C568 8002B968 25CED2B8 */ addiu $t6, %lo(D_8011D2B8) # addiu $t6, $t6, -0x2d48 +/* 02C56C 8002B96C 3C018012 */ lui $at, %hi(D_8011D308) # $at, 0x8012 +/* 02C570 8002B970 AF2E0000 */ sw $t6, ($t9) +/* 02C574 8002B974 A035D308 */ sb $s5, %lo(D_8011D308)($at) +/* 02C578 8002B978 02A01025 */ move $v0, $s5 +.L8002B97C: +/* 02C57C 8002B97C 8FBF004C */ lw $ra, 0x4c($sp) +/* 02C580 8002B980 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 02C584 8002B984 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 02C588 8002B988 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 02C58C 8002B98C C7B60024 */ lwc1 $f22, 0x24($sp) +/* 02C590 8002B990 8FB00028 */ lw $s0, 0x28($sp) +/* 02C594 8002B994 8FB1002C */ lw $s1, 0x2c($sp) +/* 02C598 8002B998 8FB20030 */ lw $s2, 0x30($sp) +/* 02C59C 8002B99C 8FB30034 */ lw $s3, 0x34($sp) +/* 02C5A0 8002B9A0 8FB40038 */ lw $s4, 0x38($sp) +/* 02C5A4 8002B9A4 8FB5003C */ lw $s5, 0x3c($sp) +/* 02C5A8 8002B9A8 8FB60040 */ lw $s6, 0x40($sp) +/* 02C5AC 8002B9AC 8FB70044 */ lw $s7, 0x44($sp) +/* 02C5B0 8002B9B0 8FBE0048 */ lw $fp, 0x48($sp) +/* 02C5B4 8002B9B4 03E00008 */ jr $ra +/* 02C5B8 8002B9B8 27BD0128 */ addiu $sp, $sp, 0x128 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002B9BC.s b/asm/non_matchings/unknown_0255E0/func_8002B9BC.s new file mode 100644 index 00000000..054e2b2b --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002B9BC.s @@ -0,0 +1,68 @@ +glabel func_8002B9BC +/* 02C5BC 8002B9BC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02C5C0 8002B9C0 AFB00018 */ sw $s0, 0x18($sp) +/* 02C5C4 8002B9C4 00C08025 */ move $s0, $a2 +/* 02C5C8 8002B9C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 02C5CC 8002B9CC AFA40020 */ sw $a0, 0x20($sp) +/* 02C5D0 8002B9D0 10C00007 */ beqz $a2, .L8002B9F0 +/* 02C5D4 8002B9D4 AFA50024 */ sw $a1, 0x24($sp) +/* 02C5D8 8002B9D8 44800000 */ mtc1 $zero, $f0 +/* 02C5DC 8002B9DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02C5E0 8002B9E0 44812000 */ mtc1 $at, $f4 +/* 02C5E4 8002B9E4 E4C00000 */ swc1 $f0, ($a2) +/* 02C5E8 8002B9E8 E4C00008 */ swc1 $f0, 8($a2) +/* 02C5EC 8002B9EC E4C40004 */ swc1 $f4, 4($a2) +.L8002B9F0: +/* 02C5F0 8002B9F0 8FAE0020 */ lw $t6, 0x20($sp) +/* 02C5F4 8002B9F4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02C5F8 8002B9F8 85C4002E */ lh $a0, 0x2e($t6) +/* 02C5FC 8002B9FC 00000000 */ nop +/* 02C600 8002BA00 04800008 */ bltz $a0, .L8002BA24 +/* 02C604 8002BA04 00000000 */ nop +/* 02C608 8002BA08 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 02C60C 8002BA0C 0004C900 */ sll $t9, $a0, 4 +/* 02C610 8002BA10 844F001A */ lh $t7, 0x1a($v0) +/* 02C614 8002BA14 0324C821 */ addu $t9, $t9, $a0 +/* 02C618 8002BA18 008F082A */ slt $at, $a0, $t7 +/* 02C61C 8002BA1C 14200003 */ bnez $at, .L8002BA2C +/* 02C620 8002BA20 00000000 */ nop +.L8002BA24: +/* 02C624 8002BA24 1000001E */ b .L8002BAA0 +/* 02C628 8002BA28 00001025 */ move $v0, $zero +.L8002BA2C: +/* 02C62C 8002BA2C 8C580004 */ lw $t8, 4($v0) +/* 02C630 8002BA30 0019C880 */ sll $t9, $t9, 2 +/* 02C634 8002BA34 03191821 */ addu $v1, $t8, $t9 +/* 02C638 8002BA38 8068002B */ lb $t0, 0x2b($v1) +/* 02C63C 8002BA3C 3C098012 */ lui $t1, %hi(D_8011D384) # $t1, 0x8012 +/* 02C640 8002BA40 11000011 */ beqz $t0, .L8002BA88 +/* 02C644 8002BA44 00000000 */ nop +/* 02C648 8002BA48 8D29D384 */ lw $t1, %lo(D_8011D384)($t1) +/* 02C64C 8002BA4C 24010001 */ li $at, 1 +/* 02C650 8002BA50 1120000D */ beqz $t1, .L8002BA88 +/* 02C654 8002BA54 00000000 */ nop +/* 02C658 8002BA58 14E1000B */ bne $a3, $at, .L8002BA88 +/* 02C65C 8002BA5C 00000000 */ nop +/* 02C660 8002BA60 8FAA0020 */ lw $t2, 0x20($sp) +/* 02C664 8002BA64 02003825 */ move $a3, $s0 +/* 02C668 8002BA68 8D45000C */ lw $a1, 0xc($t2) +/* 02C66C 8002BA6C 8D460014 */ lw $a2, 0x14($t2) +/* 02C670 8002BA70 0C02ECBD */ jal func_800BB2F4 +/* 02C674 8002BA74 00000000 */ nop +/* 02C678 8002BA78 8FAB0024 */ lw $t3, 0x24($sp) +/* 02C67C 8002BA7C 24020001 */ li $v0, 1 +/* 02C680 8002BA80 10000007 */ b .L8002BAA0 +/* 02C684 8002BA84 E5600000 */ swc1 $f0, ($t3) +.L8002BA88: +/* 02C688 8002BA88 846C0038 */ lh $t4, 0x38($v1) +/* 02C68C 8002BA8C 8FAD0024 */ lw $t5, 0x24($sp) +/* 02C690 8002BA90 448C3000 */ mtc1 $t4, $f6 +/* 02C694 8002BA94 24020001 */ li $v0, 1 +/* 02C698 8002BA98 46803220 */ cvt.s.w $f8, $f6 +/* 02C69C 8002BA9C E5A80000 */ swc1 $f8, ($t5) +.L8002BAA0: +/* 02C6A0 8002BAA0 8FBF001C */ lw $ra, 0x1c($sp) +/* 02C6A4 8002BAA4 8FB00018 */ lw $s0, 0x18($sp) +/* 02C6A8 8002BAA8 03E00008 */ jr $ra +/* 02C6AC 8002BAAC 27BD0020 */ addiu $sp, $sp, 0x20 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002BAB0.s b/asm/non_matchings/unknown_0255E0/func_8002BAB0.s new file mode 100644 index 00000000..a691f825 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002BAB0.s @@ -0,0 +1,418 @@ +glabel func_8002BAB0 +/* 02C6B0 8002BAB0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 02C6B4 8002BAB4 AFB40020 */ sw $s4, 0x20($sp) +/* 02C6B8 8002BAB8 44856000 */ mtc1 $a1, $f12 +/* 02C6BC 8002BABC 44867000 */ mtc1 $a2, $f14 +/* 02C6C0 8002BAC0 00E0A025 */ move $s4, $a3 +/* 02C6C4 8002BAC4 AFBF0034 */ sw $ra, 0x34($sp) +/* 02C6C8 8002BAC8 AFBE0030 */ sw $fp, 0x30($sp) +/* 02C6CC 8002BACC AFB7002C */ sw $s7, 0x2c($sp) +/* 02C6D0 8002BAD0 AFB60028 */ sw $s6, 0x28($sp) +/* 02C6D4 8002BAD4 AFB50024 */ sw $s5, 0x24($sp) +/* 02C6D8 8002BAD8 AFB3001C */ sw $s3, 0x1c($sp) +/* 02C6DC 8002BADC AFB20018 */ sw $s2, 0x18($sp) +/* 02C6E0 8002BAE0 AFB10014 */ sw $s1, 0x14($sp) +/* 02C6E4 8002BAE4 AFB00010 */ sw $s0, 0x10($sp) +/* 02C6E8 8002BAE8 E7B50008 */ swc1 $f21, 8($sp) +/* 02C6EC 8002BAEC 04800009 */ bltz $a0, .L8002BB14 +/* 02C6F0 8002BAF0 E7B4000C */ swc1 $f20, 0xc($sp) +/* 02C6F4 8002BAF4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02C6F8 8002BAF8 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 02C6FC 8002BAFC 0004C100 */ sll $t8, $a0, 4 +/* 02C700 8002BB00 844E001A */ lh $t6, 0x1a($v0) +/* 02C704 8002BB04 0304C021 */ addu $t8, $t8, $a0 +/* 02C708 8002BB08 008E082A */ slt $at, $a0, $t6 +/* 02C70C 8002BB0C 14200003 */ bnez $at, .L8002BB1C +/* 02C710 8002BB10 0018C080 */ sll $t8, $t8, 2 +.L8002BB14: +/* 02C714 8002BB14 1000015D */ b .L8002C08C +/* 02C718 8002BB18 00001025 */ move $v0, $zero +.L8002BB1C: +/* 02C71C 8002BB1C 00047080 */ sll $t6, $a0, 2 +/* 02C720 8002BB20 8C590008 */ lw $t9, 8($v0) +/* 02C724 8002BB24 01C47023 */ subu $t6, $t6, $a0 +/* 02C728 8002BB28 000E7080 */ sll $t6, $t6, 2 +/* 02C72C 8002BB2C 8C4F0004 */ lw $t7, 4($v0) +/* 02C730 8002BB30 032E1821 */ addu $v1, $t9, $t6 +/* 02C734 8002BB34 444EF800 */ cfc1 $t6, $31 +/* 02C738 8002BB38 01F86021 */ addu $t4, $t7, $t8 +/* 02C73C 8002BB3C 846F0006 */ lh $t7, 6($v1) +/* 02C740 8002BB40 84670000 */ lh $a3, ($v1) +/* 02C744 8002BB44 35C10003 */ ori $at, $t6, 3 +/* 02C748 8002BB48 38210002 */ xori $at, $at, 2 +/* 02C74C 8002BB4C 01E73023 */ subu $a2, $t7, $a3 +/* 02C750 8002BB50 44C1F800 */ ctc1 $at, $31 +/* 02C754 8002BB54 0006C0C3 */ sra $t8, $a2, 3 +/* 02C758 8002BB58 27060001 */ addiu $a2, $t8, 1 +/* 02C75C 8002BB5C 46006124 */ cvt.w.s $f4, $f12 +/* 02C760 8002BB60 0006CC00 */ sll $t9, $a2, 0x10 +/* 02C764 8002BB64 00193403 */ sra $a2, $t9, 0x10 +/* 02C768 8002BB68 00C74021 */ addu $t0, $a2, $a3 +/* 02C76C 8002BB6C 00074C00 */ sll $t1, $a3, 0x10 +/* 02C770 8002BB70 44CEF800 */ ctc1 $t6, $31 +/* 02C774 8002BB74 00087C00 */ sll $t7, $t0, 0x10 +/* 02C778 8002BB78 0009CC03 */ sra $t9, $t1, 0x10 +/* 02C77C 8002BB7C 44132000 */ mfc1 $s3, $f4 +/* 02C780 8002BB80 24050001 */ li $a1, 1 +/* 02C784 8002BB84 00008825 */ move $s1, $zero +/* 02C788 8002BB88 000F4403 */ sra $t0, $t7, 0x10 +/* 02C78C 8002BB8C 03204825 */ move $t1, $t9 +/* 02C790 8002BB90 00005025 */ move $t2, $zero +.L8002BB94: +/* 02C794 8002BB94 0113082A */ slt $at, $t0, $s3 +/* 02C798 8002BB98 14200007 */ bnez $at, .L8002BBB8 +/* 02C79C 8002BB9C 01064021 */ addu $t0, $t0, $a2 +/* 02C7A0 8002BBA0 0269082A */ slt $at, $s3, $t1 +/* 02C7A4 8002BBA4 14200005 */ bnez $at, .L8002BBBC +/* 02C7A8 8002BBA8 0008CC00 */ sll $t9, $t0, 0x10 +/* 02C7AC 8002BBAC 02258825 */ or $s1, $s1, $a1 +/* 02C7B0 8002BBB0 00117C00 */ sll $t7, $s1, 0x10 +/* 02C7B4 8002BBB4 000F8C03 */ sra $s1, $t7, 0x10 +.L8002BBB8: +/* 02C7B8 8002BBB8 0008CC00 */ sll $t9, $t0, 0x10 +.L8002BBBC: +/* 02C7BC 8002BBBC 00194403 */ sra $t0, $t9, 0x10 +/* 02C7C0 8002BBC0 254A0001 */ addiu $t2, $t2, 1 +/* 02C7C4 8002BBC4 01264821 */ addu $t1, $t1, $a2 +/* 02C7C8 8002BBC8 00A0C825 */ move $t9, $a1 +/* 02C7CC 8002BBCC 29410008 */ slti $at, $t2, 8 +/* 02C7D0 8002BBD0 00097C00 */ sll $t7, $t1, 0x10 +/* 02C7D4 8002BBD4 00197440 */ sll $t6, $t9, 0x11 +/* 02C7D8 8002BBD8 000F4C03 */ sra $t1, $t7, 0x10 +/* 02C7DC 8002BBDC 1420FFED */ bnez $at, .L8002BB94 +/* 02C7E0 8002BBE0 000E2C03 */ sra $a1, $t6, 0x10 +/* 02C7E4 8002BBE4 84620004 */ lh $v0, 4($v1) +/* 02C7E8 8002BBE8 8478000A */ lh $t8, 0xa($v1) +/* 02C7EC 8002BBEC 444FF800 */ cfc1 $t7, $31 +/* 02C7F0 8002BBF0 03023023 */ subu $a2, $t8, $v0 +/* 02C7F4 8002BBF4 35E10003 */ ori $at, $t7, 3 +/* 02C7F8 8002BBF8 0006C8C3 */ sra $t9, $a2, 3 +/* 02C7FC 8002BBFC 38210002 */ xori $at, $at, 2 +/* 02C800 8002BC00 44C1F800 */ ctc1 $at, $31 +/* 02C804 8002BC04 27260001 */ addiu $a2, $t9, 1 +/* 02C808 8002BC08 00067400 */ sll $t6, $a2, 0x10 +/* 02C80C 8002BC0C 460071A4 */ cvt.w.s $f6, $f14 +/* 02C810 8002BC10 000E3403 */ sra $a2, $t6, 0x10 +/* 02C814 8002BC14 00C24021 */ addu $t0, $a2, $v0 +/* 02C818 8002BC18 00024C00 */ sll $t1, $v0, 0x10 +/* 02C81C 8002BC1C 44CFF800 */ ctc1 $t7, $31 +/* 02C820 8002BC20 0008C400 */ sll $t8, $t0, 0x10 +/* 02C824 8002BC24 00097403 */ sra $t6, $t1, 0x10 +/* 02C828 8002BC28 44103000 */ mfc1 $s0, $f6 +/* 02C82C 8002BC2C 00184403 */ sra $t0, $t8, 0x10 +/* 02C830 8002BC30 01C04825 */ move $t1, $t6 +/* 02C834 8002BC34 24020008 */ li $v0, 8 +/* 02C838 8002BC38 00005025 */ move $t2, $zero +.L8002BC3C: +/* 02C83C 8002BC3C 0110082A */ slt $at, $t0, $s0 +/* 02C840 8002BC40 14200007 */ bnez $at, .L8002BC60 +/* 02C844 8002BC44 01064021 */ addu $t0, $t0, $a2 +/* 02C848 8002BC48 0209082A */ slt $at, $s0, $t1 +/* 02C84C 8002BC4C 14200005 */ bnez $at, .L8002BC64 +/* 02C850 8002BC50 00087400 */ sll $t6, $t0, 0x10 +/* 02C854 8002BC54 02258825 */ or $s1, $s1, $a1 +/* 02C858 8002BC58 0011C400 */ sll $t8, $s1, 0x10 +/* 02C85C 8002BC5C 00188C03 */ sra $s1, $t8, 0x10 +.L8002BC60: +/* 02C860 8002BC60 00087400 */ sll $t6, $t0, 0x10 +.L8002BC64: +/* 02C864 8002BC64 000E4403 */ sra $t0, $t6, 0x10 +/* 02C868 8002BC68 01264821 */ addu $t1, $t1, $a2 +/* 02C86C 8002BC6C 0009C400 */ sll $t8, $t1, 0x10 +/* 02C870 8002BC70 00A07025 */ move $t6, $a1 +/* 02C874 8002BC74 0018CC03 */ sra $t9, $t8, 0x10 +/* 02C878 8002BC78 000E7C40 */ sll $t7, $t6, 0x11 +/* 02C87C 8002BC7C 0110082A */ slt $at, $t0, $s0 +/* 02C880 8002BC80 000FC403 */ sra $t8, $t7, 0x10 +/* 02C884 8002BC84 03204825 */ move $t1, $t9 +/* 02C888 8002BC88 14200007 */ bnez $at, .L8002BCA8 +/* 02C88C 8002BC8C 03002825 */ move $a1, $t8 +/* 02C890 8002BC90 0219082A */ slt $at, $s0, $t9 +/* 02C894 8002BC94 14200004 */ bnez $at, .L8002BCA8 +/* 02C898 8002BC98 00000000 */ nop +/* 02C89C 8002BC9C 02388825 */ or $s1, $s1, $t8 +/* 02C8A0 8002BCA0 0011CC00 */ sll $t9, $s1, 0x10 +/* 02C8A4 8002BCA4 00198C03 */ sra $s1, $t9, 0x10 +.L8002BCA8: +/* 02C8A8 8002BCA8 01064021 */ addu $t0, $t0, $a2 +/* 02C8AC 8002BCAC 00087C00 */ sll $t7, $t0, 0x10 +/* 02C8B0 8002BCB0 000F4403 */ sra $t0, $t7, 0x10 +/* 02C8B4 8002BCB4 01264821 */ addu $t1, $t1, $a2 +/* 02C8B8 8002BCB8 0009CC00 */ sll $t9, $t1, 0x10 +/* 02C8BC 8002BCBC 00A07825 */ move $t7, $a1 +/* 02C8C0 8002BCC0 000FC440 */ sll $t8, $t7, 0x11 +/* 02C8C4 8002BCC4 00197403 */ sra $t6, $t9, 0x10 +/* 02C8C8 8002BCC8 0018CC03 */ sra $t9, $t8, 0x10 +/* 02C8CC 8002BCCC 0110082A */ slt $at, $t0, $s0 +/* 02C8D0 8002BCD0 03202825 */ move $a1, $t9 +/* 02C8D4 8002BCD4 14200007 */ bnez $at, .L8002BCF4 +/* 02C8D8 8002BCD8 01C04825 */ move $t1, $t6 +/* 02C8DC 8002BCDC 020E082A */ slt $at, $s0, $t6 +/* 02C8E0 8002BCE0 14200004 */ bnez $at, .L8002BCF4 +/* 02C8E4 8002BCE4 00000000 */ nop +/* 02C8E8 8002BCE8 02398825 */ or $s1, $s1, $t9 +/* 02C8EC 8002BCEC 00117400 */ sll $t6, $s1, 0x10 +/* 02C8F0 8002BCF0 000E8C03 */ sra $s1, $t6, 0x10 +.L8002BCF4: +/* 02C8F4 8002BCF4 01064021 */ addu $t0, $t0, $a2 +/* 02C8F8 8002BCF8 0008C400 */ sll $t8, $t0, 0x10 +/* 02C8FC 8002BCFC 00184403 */ sra $t0, $t8, 0x10 +/* 02C900 8002BD00 01264821 */ addu $t1, $t1, $a2 +/* 02C904 8002BD04 00097400 */ sll $t6, $t1, 0x10 +/* 02C908 8002BD08 00A0C025 */ move $t8, $a1 +/* 02C90C 8002BD0C 0018CC40 */ sll $t9, $t8, 0x11 +/* 02C910 8002BD10 000E7C03 */ sra $t7, $t6, 0x10 +/* 02C914 8002BD14 00197403 */ sra $t6, $t9, 0x10 +/* 02C918 8002BD18 0110082A */ slt $at, $t0, $s0 +/* 02C91C 8002BD1C 01C02825 */ move $a1, $t6 +/* 02C920 8002BD20 14200007 */ bnez $at, .L8002BD40 +/* 02C924 8002BD24 01E04825 */ move $t1, $t7 +/* 02C928 8002BD28 020F082A */ slt $at, $s0, $t7 +/* 02C92C 8002BD2C 14200004 */ bnez $at, .L8002BD40 +/* 02C930 8002BD30 00000000 */ nop +/* 02C934 8002BD34 022E8825 */ or $s1, $s1, $t6 +/* 02C938 8002BD38 00117C00 */ sll $t7, $s1, 0x10 +/* 02C93C 8002BD3C 000F8C03 */ sra $s1, $t7, 0x10 +.L8002BD40: +/* 02C940 8002BD40 01064021 */ addu $t0, $t0, $a2 +/* 02C944 8002BD44 0008CC00 */ sll $t9, $t0, 0x10 +/* 02C948 8002BD48 00194403 */ sra $t0, $t9, 0x10 +/* 02C94C 8002BD4C 00A0C825 */ move $t9, $a1 +/* 02C950 8002BD50 01264821 */ addu $t1, $t1, $a2 +/* 02C954 8002BD54 00097C00 */ sll $t7, $t1, 0x10 +/* 02C958 8002BD58 00197440 */ sll $t6, $t9, 0x11 +/* 02C95C 8002BD5C 254A0004 */ addiu $t2, $t2, 4 +/* 02C960 8002BD60 000E2C03 */ sra $a1, $t6, 0x10 +/* 02C964 8002BD64 1542FFB5 */ bne $t2, $v0, .L8002BC3C +/* 02C968 8002BD68 000F4C03 */ sra $t1, $t7, 0x10 +/* 02C96C 8002BD6C 85820020 */ lh $v0, 0x20($t4) +/* 02C970 8002BD70 00009025 */ move $s2, $zero +/* 02C974 8002BD74 1840007C */ blez $v0, .L8002BF68 +/* 02C978 8002BD78 0000A825 */ move $s5, $zero +/* 02C97C 8002BD7C 4480A800 */ mtc1 $zero, $f21 +/* 02C980 8002BD80 4480A000 */ mtc1 $zero, $f20 +/* 02C984 8002BD84 0000B025 */ move $s6, $zero +/* 02C988 8002BD88 240B000A */ li $t3, 10 +.L8002BD8C: +/* 02C98C 8002BD8C 8D98000C */ lw $t8, 0xc($t4) +/* 02C990 8002BD90 26B50001 */ addiu $s5, $s5, 1 +/* 02C994 8002BD94 03162021 */ addu $a0, $t8, $s6 +/* 02C998 8002BD98 84830004 */ lh $v1, 4($a0) +/* 02C99C 8002BD9C 848D0010 */ lh $t5, 0x10($a0) +/* 02C9A0 8002BDA0 84890002 */ lh $t1, 2($a0) +/* 02C9A4 8002BDA4 006D082A */ slt $at, $v1, $t5 +/* 02C9A8 8002BDA8 1020006C */ beqz $at, .L8002BF5C +/* 02C9AC 8002BDAC 00603025 */ move $a2, $v1 +/* 02C9B0 8002BDB0 00035040 */ sll $t2, $v1, 1 +.L8002BDB4: +/* 02C9B4 8002BDB4 8D990010 */ lw $t9, 0x10($t4) +/* 02C9B8 8002BDB8 00000000 */ nop +/* 02C9BC 8002BDBC 032A7021 */ addu $t6, $t9, $t2 +/* 02C9C0 8002BDC0 85CF0000 */ lh $t7, ($t6) +/* 02C9C4 8002BDC4 00000000 */ nop +/* 02C9C8 8002BDC8 01F1C024 */ and $t8, $t7, $s1 +/* 02C9CC 8002BDCC 1638005D */ bne $s1, $t8, .L8002BF44 +/* 02C9D0 8002BDD0 00000000 */ nop +/* 02C9D4 8002BDD4 8D990004 */ lw $t9, 4($t4) +/* 02C9D8 8002BDD8 00067100 */ sll $t6, $a2, 4 +/* 02C9DC 8002BDDC 032EF021 */ addu $fp, $t9, $t6 +/* 02C9E0 8002BDE0 93CF0001 */ lbu $t7, 1($fp) +/* 02C9E4 8002BDE4 93CE0002 */ lbu $t6, 2($fp) +/* 02C9E8 8002BDE8 01E9C021 */ addu $t8, $t7, $t1 +/* 02C9EC 8002BDEC 030B0019 */ multu $t8, $t3 +/* 02C9F0 8002BDF0 01C97821 */ addu $t7, $t6, $t1 +/* 02C9F4 8002BDF4 8D9F0000 */ lw $ra, ($t4) +/* 02C9F8 8002BDF8 0000C812 */ mflo $t9 +/* 02C9FC 8002BDFC 033FB821 */ addu $s7, $t9, $ra +/* 02CA00 8002BE00 93D90003 */ lbu $t9, 3($fp) +/* 02CA04 8002BE04 01EB0019 */ multu $t7, $t3 +/* 02CA08 8002BE08 03297021 */ addu $t6, $t9, $t1 +/* 02CA0C 8002BE0C 86E20000 */ lh $v0, ($s7) +/* 02CA10 8002BE10 86E30004 */ lh $v1, 4($s7) +/* 02CA14 8002BE14 00000000 */ nop +/* 02CA18 8002BE18 0203F023 */ subu $fp, $s0, $v1 +/* 02CA1C 8002BE1C 0000C012 */ mflo $t8 +/* 02CA20 8002BE20 031FB821 */ addu $s7, $t8, $ra +/* 02CA24 8002BE24 86E40000 */ lh $a0, ($s7) +/* 02CA28 8002BE28 01CB0019 */ multu $t6, $t3 +/* 02CA2C 8002BE2C 86E50004 */ lh $a1, 4($s7) +/* 02CA30 8002BE30 00827023 */ subu $t6, $a0, $v0 +/* 02CA34 8002BE34 00A3C023 */ subu $t8, $a1, $v1 +/* 02CA38 8002BE38 00007812 */ mflo $t7 +/* 02CA3C 8002BE3C 01FFB821 */ addu $s7, $t7, $ra +/* 02CA40 8002BE40 86E70000 */ lh $a3, ($s7) +/* 02CA44 8002BE44 86E80004 */ lh $t0, 4($s7) +/* 02CA48 8002BE48 0262B823 */ subu $s7, $s3, $v0 +/* 02CA4C 8002BE4C 02F80019 */ multu $s7, $t8 +/* 02CA50 8002BE50 0000C812 */ mflo $t9 +/* 02CA54 8002BE54 00000000 */ nop +/* 02CA58 8002BE58 00000000 */ nop +/* 02CA5C 8002BE5C 01DE0019 */ multu $t6, $fp +/* 02CA60 8002BE60 02647023 */ subu $t6, $s3, $a0 +/* 02CA64 8002BE64 00007812 */ mflo $t7 +/* 02CA68 8002BE68 032FF823 */ subu $ra, $t9, $t7 +/* 02CA6C 8002BE6C 0105C823 */ subu $t9, $t0, $a1 +/* 02CA70 8002BE70 01D90019 */ multu $t6, $t9 +/* 02CA74 8002BE74 2BF80000 */ slti $t8, $ra, 0 +/* 02CA78 8002BE78 3B1F0001 */ xori $ra, $t8, 1 +/* 02CA7C 8002BE7C 02057023 */ subu $t6, $s0, $a1 +/* 02CA80 8002BE80 00E4C023 */ subu $t8, $a3, $a0 +/* 02CA84 8002BE84 00007812 */ mflo $t7 +/* 02CA88 8002BE88 00000000 */ nop +/* 02CA8C 8002BE8C 00000000 */ nop +/* 02CA90 8002BE90 030E0019 */ multu $t8, $t6 +/* 02CA94 8002BE94 0000C812 */ mflo $t9 +/* 02CA98 8002BE98 01F9C023 */ subu $t8, $t7, $t9 +/* 02CA9C 8002BE9C 2B0E0000 */ slti $t6, $t8, 0 +/* 02CAA0 8002BEA0 39CE0001 */ xori $t6, $t6, 1 +/* 02CAA4 8002BEA4 15DF0027 */ bne $t6, $ra, .L8002BF44 +/* 02CAA8 8002BEA8 01037823 */ subu $t7, $t0, $v1 +/* 02CAAC 8002BEAC 02EF0019 */ multu $s7, $t7 +/* 02CAB0 8002BEB0 00E2C023 */ subu $t8, $a3, $v0 +/* 02CAB4 8002BEB4 0000C812 */ mflo $t9 +/* 02CAB8 8002BEB8 00000000 */ nop +/* 02CABC 8002BEBC 00000000 */ nop +/* 02CAC0 8002BEC0 031E0019 */ multu $t8, $fp +/* 02CAC4 8002BEC4 00007012 */ mflo $t6 +/* 02CAC8 8002BEC8 032E7823 */ subu $t7, $t9, $t6 +/* 02CACC 8002BECC 29F80000 */ slti $t8, $t7, 0 +/* 02CAD0 8002BED0 3B180001 */ xori $t8, $t8, 1 +/* 02CAD4 8002BED4 13F8001B */ beq $ra, $t8, .L8002BF44 +/* 02CAD8 8002BED8 00000000 */ nop +/* 02CADC 8002BEDC 8D990014 */ lw $t9, 0x14($t4) +/* 02CAE0 8002BEE0 000670C0 */ sll $t6, $a2, 3 +/* 02CAE4 8002BEE4 032E7821 */ addu $t7, $t9, $t6 +/* 02CAE8 8002BEE8 95F90000 */ lhu $t9, ($t7) +/* 02CAEC 8002BEEC 8D980018 */ lw $t8, 0x18($t4) +/* 02CAF0 8002BEF0 00197100 */ sll $t6, $t9, 4 +/* 02CAF4 8002BEF4 030E1821 */ addu $v1, $t8, $t6 +/* 02CAF8 8002BEF8 C4620004 */ lwc1 $f2, 4($v1) +/* 02CAFC 8002BEFC C4600000 */ lwc1 $f0, ($v1) +/* 02CB00 8002BF00 46001221 */ cvt.d.s $f8, $f2 +/* 02CB04 8002BF04 4628A032 */ c.eq.d $f20, $f8 +/* 02CB08 8002BF08 C4700008 */ lwc1 $f16, 8($v1) +/* 02CB0C 8002BF0C C472000C */ lwc1 $f18, 0xc($v1) +/* 02CB10 8002BF10 4501000C */ bc1t .L8002BF44 +/* 02CB14 8002BF14 00000000 */ nop +/* 02CB18 8002BF18 460C0282 */ mul.s $f10, $f0, $f12 +/* 02CB1C 8002BF1C 00127880 */ sll $t7, $s2, 2 +/* 02CB20 8002BF20 028FC821 */ addu $t9, $s4, $t7 +/* 02CB24 8002BF24 26520001 */ addiu $s2, $s2, 1 +/* 02CB28 8002BF28 460E8102 */ mul.s $f4, $f16, $f14 +/* 02CB2C 8002BF2C 46045180 */ add.s $f6, $f10, $f4 +/* 02CB30 8002BF30 46123200 */ add.s $f8, $f6, $f18 +/* 02CB34 8002BF34 00000000 */ nop +/* 02CB38 8002BF38 46024283 */ div.s $f10, $f8, $f2 +/* 02CB3C 8002BF3C 46005107 */ neg.s $f4, $f10 +/* 02CB40 8002BF40 E7240000 */ swc1 $f4, ($t9) +.L8002BF44: +/* 02CB44 8002BF44 24C60001 */ addiu $a2, $a2, 1 +/* 02CB48 8002BF48 00CD082A */ slt $at, $a2, $t5 +/* 02CB4C 8002BF4C 1420FF99 */ bnez $at, .L8002BDB4 +/* 02CB50 8002BF50 254A0002 */ addiu $t2, $t2, 2 +/* 02CB54 8002BF54 85820020 */ lh $v0, 0x20($t4) +/* 02CB58 8002BF58 00000000 */ nop +.L8002BF5C: +/* 02CB5C 8002BF5C 02A2082A */ slt $at, $s5, $v0 +/* 02CB60 8002BF60 1420FF8A */ bnez $at, .L8002BD8C +/* 02CB64 8002BF64 26D6000C */ addiu $s6, $s6, 0xc +.L8002BF68: +/* 02CB68 8002BF68 2644FFFF */ addiu $a0, $s2, -1 +/* 02CB6C 8002BF6C 24030001 */ li $v1, 1 +.L8002BF70: +/* 02CB70 8002BF70 18800043 */ blez $a0, .L8002C080 +/* 02CB74 8002BF74 00001025 */ move $v0, $zero +/* 02CB78 8002BF78 2647FFFF */ addiu $a3, $s2, -1 +/* 02CB7C 8002BF7C 30F80003 */ andi $t8, $a3, 3 +/* 02CB80 8002BF80 13000010 */ beqz $t8, .L8002BFC4 +/* 02CB84 8002BF84 03003025 */ move $a2, $t8 +/* 02CB88 8002BF88 00007080 */ sll $t6, $zero, 2 +/* 02CB8C 8002BF8C 028E2821 */ addu $a1, $s4, $t6 +.L8002BF90: +/* 02CB90 8002BF90 C4A00004 */ lwc1 $f0, 4($a1) +/* 02CB94 8002BF94 C4A20000 */ lwc1 $f2, ($a1) +/* 02CB98 8002BF98 24420001 */ addiu $v0, $v0, 1 +/* 02CB9C 8002BF9C 4602003C */ c.lt.s $f0, $f2 +/* 02CBA0 8002BFA0 00000000 */ nop +/* 02CBA4 8002BFA4 45000004 */ bc1f .L8002BFB8 +/* 02CBA8 8002BFA8 00000000 */ nop +/* 02CBAC 8002BFAC 00001825 */ move $v1, $zero +/* 02CBB0 8002BFB0 E4A00000 */ swc1 $f0, ($a1) +/* 02CBB4 8002BFB4 E4A20004 */ swc1 $f2, 4($a1) +.L8002BFB8: +/* 02CBB8 8002BFB8 14C2FFF5 */ bne $a2, $v0, .L8002BF90 +/* 02CBBC 8002BFBC 24A50004 */ addiu $a1, $a1, 4 +/* 02CBC0 8002BFC0 1044002F */ beq $v0, $a0, .L8002C080 +.L8002BFC4: +/* 02CBC4 8002BFC4 00027880 */ sll $t7, $v0, 2 +/* 02CBC8 8002BFC8 0004C880 */ sll $t9, $a0, 2 +/* 02CBCC 8002BFCC 03343021 */ addu $a2, $t9, $s4 +/* 02CBD0 8002BFD0 028F2821 */ addu $a1, $s4, $t7 +.L8002BFD4: +/* 02CBD4 8002BFD4 C4A00004 */ lwc1 $f0, 4($a1) +/* 02CBD8 8002BFD8 C4A20000 */ lwc1 $f2, ($a1) +/* 02CBDC 8002BFDC 00000000 */ nop +/* 02CBE0 8002BFE0 4602003C */ c.lt.s $f0, $f2 +/* 02CBE4 8002BFE4 00000000 */ nop +/* 02CBE8 8002BFE8 45000005 */ bc1f .L8002C000 +/* 02CBEC 8002BFEC 00000000 */ nop +/* 02CBF0 8002BFF0 E4A00000 */ swc1 $f0, ($a1) +/* 02CBF4 8002BFF4 E4A20004 */ swc1 $f2, 4($a1) +/* 02CBF8 8002BFF8 C4A00004 */ lwc1 $f0, 4($a1) +/* 02CBFC 8002BFFC 00001825 */ move $v1, $zero +.L8002C000: +/* 02CC00 8002C000 C4A20008 */ lwc1 $f2, 8($a1) +/* 02CC04 8002C004 00000000 */ nop +/* 02CC08 8002C008 4600103C */ c.lt.s $f2, $f0 +/* 02CC0C 8002C00C 00000000 */ nop +/* 02CC10 8002C010 45000005 */ bc1f .L8002C028 +/* 02CC14 8002C014 00000000 */ nop +/* 02CC18 8002C018 E4A20004 */ swc1 $f2, 4($a1) +/* 02CC1C 8002C01C E4A00008 */ swc1 $f0, 8($a1) +/* 02CC20 8002C020 C4A20008 */ lwc1 $f2, 8($a1) +/* 02CC24 8002C024 00001825 */ move $v1, $zero +.L8002C028: +/* 02CC28 8002C028 C4A0000C */ lwc1 $f0, 0xc($a1) +/* 02CC2C 8002C02C 00000000 */ nop +/* 02CC30 8002C030 4602003C */ c.lt.s $f0, $f2 +/* 02CC34 8002C034 00000000 */ nop +/* 02CC38 8002C038 45000005 */ bc1f .L8002C050 +/* 02CC3C 8002C03C 00000000 */ nop +/* 02CC40 8002C040 E4A00008 */ swc1 $f0, 8($a1) +/* 02CC44 8002C044 E4A2000C */ swc1 $f2, 0xc($a1) +/* 02CC48 8002C048 C4A0000C */ lwc1 $f0, 0xc($a1) +/* 02CC4C 8002C04C 00001825 */ move $v1, $zero +.L8002C050: +/* 02CC50 8002C050 C4A20010 */ lwc1 $f2, 0x10($a1) +/* 02CC54 8002C054 00000000 */ nop +/* 02CC58 8002C058 4600103C */ c.lt.s $f2, $f0 +/* 02CC5C 8002C05C 00000000 */ nop +/* 02CC60 8002C060 45000004 */ bc1f .L8002C074 +/* 02CC64 8002C064 00000000 */ nop +/* 02CC68 8002C068 00001825 */ move $v1, $zero +/* 02CC6C 8002C06C E4A2000C */ swc1 $f2, 0xc($a1) +/* 02CC70 8002C070 E4A00010 */ swc1 $f0, 0x10($a1) +.L8002C074: +/* 02CC74 8002C074 24A50010 */ addiu $a1, $a1, 0x10 +/* 02CC78 8002C078 14A6FFD6 */ bne $a1, $a2, .L8002BFD4 +/* 02CC7C 8002C07C 00000000 */ nop +.L8002C080: +/* 02CC80 8002C080 1060FFBB */ beqz $v1, .L8002BF70 +/* 02CC84 8002C084 24030001 */ li $v1, 1 +/* 02CC88 8002C088 02401025 */ move $v0, $s2 +.L8002C08C: +/* 02CC8C 8002C08C 8FBF0034 */ lw $ra, 0x34($sp) +/* 02CC90 8002C090 C7B50008 */ lwc1 $f21, 8($sp) +/* 02CC94 8002C094 C7B4000C */ lwc1 $f20, 0xc($sp) +/* 02CC98 8002C098 8FB00010 */ lw $s0, 0x10($sp) +/* 02CC9C 8002C09C 8FB10014 */ lw $s1, 0x14($sp) +/* 02CCA0 8002C0A0 8FB20018 */ lw $s2, 0x18($sp) +/* 02CCA4 8002C0A4 8FB3001C */ lw $s3, 0x1c($sp) +/* 02CCA8 8002C0A8 8FB40020 */ lw $s4, 0x20($sp) +/* 02CCAC 8002C0AC 8FB50024 */ lw $s5, 0x24($sp) +/* 02CCB0 8002C0B0 8FB60028 */ lw $s6, 0x28($sp) +/* 02CCB4 8002C0B4 8FB7002C */ lw $s7, 0x2c($sp) +/* 02CCB8 8002C0B8 8FBE0030 */ lw $fp, 0x30($sp) +/* 02CCBC 8002C0BC 03E00008 */ jr $ra +/* 02CCC0 8002C0C0 27BD0038 */ addiu $sp, $sp, 0x38 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002C0C4.s b/asm/non_matchings/unknown_0255E0/func_8002C0C4.s new file mode 100644 index 00000000..44448e78 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002C0C4.s @@ -0,0 +1,426 @@ +glabel func_8002C0C4 +/* 02CCC4 8002C0C4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02CCC8 8002C0C8 AFB2001C */ sw $s2, 0x1c($sp) +/* 02CCCC 8002C0CC 00809025 */ move $s2, $a0 +/* 02CCD0 8002C0D0 AFBF002C */ sw $ra, 0x2c($sp) +/* 02CCD4 8002C0D4 3C0400FF */ lui $a0, (0x00FF00FF >> 16) # lui $a0, 0xff +/* 02CCD8 8002C0D8 AFB50028 */ sw $s5, 0x28($sp) +/* 02CCDC 8002C0DC AFB40024 */ sw $s4, 0x24($sp) +/* 02CCE0 8002C0E0 AFB30020 */ sw $s3, 0x20($sp) +/* 02CCE4 8002C0E4 AFB10018 */ sw $s1, 0x18($sp) +/* 02CCE8 8002C0E8 AFB00014 */ sw $s0, 0x14($sp) +/* 02CCEC 8002C0EC 0C01ECDD */ jal func_8007B374 +/* 02CCF0 8002C0F0 348400FF */ ori $a0, (0x00FF00FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 02CCF4 8002C0F4 3C150008 */ lui $s5, (0x00082A00 >> 16) # lui $s5, 8 +/* 02CCF8 8002C0F8 36B52A00 */ ori $s5, (0x00082A00 & 0xFFFF) # ori $s5, $s5, 0x2a00 +/* 02CCFC 8002C0FC 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 02CD00 8002C100 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 02CD04 8002C104 0C01C327 */ jal func_80070C9C +/* 02CD08 8002C108 02A02025 */ move $a0, $s5 +/* 02CD0C 8002C10C 3C038012 */ lui $v1, %hi(D_8011D30C) # $v1, 0x8012 +/* 02CD10 8002C110 3C11800E */ lui $s1, %hi(D_800DC918) # $s1, 0x800e +/* 02CD14 8002C114 2631C918 */ addiu $s1, %lo(D_800DC918) # addiu $s1, $s1, -0x36e8 +/* 02CD18 8002C118 2463D30C */ addiu $v1, %lo(D_8011D30C) # addiu $v1, $v1, -0x2cf4 +/* 02CD1C 8002C11C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 02CD20 8002C120 AC620000 */ sw $v0, ($v1) +/* 02CD24 8002C124 AE220000 */ sw $v0, ($s1) +/* 02CD28 8002C128 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 02CD2C 8002C12C 0C01C327 */ jal func_80070C9C +/* 02CD30 8002C130 240407D0 */ li $a0, 2000 +/* 02CD34 8002C134 3C018012 */ lui $at, %hi(D_8011D370) # $at, 0x8012 +/* 02CD38 8002C138 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 02CD3C 8002C13C AC22D370 */ sw $v0, %lo(D_8011D370)($at) +/* 02CD40 8002C140 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 02CD44 8002C144 0C01C327 */ jal func_80070C9C +/* 02CD48 8002C148 240401F4 */ li $a0, 500 +/* 02CD4C 8002C14C 3C018012 */ lui $at, %hi(D_8011D374) # $at, 0x8012 +/* 02CD50 8002C150 AC22D374 */ sw $v0, %lo(D_8011D374)($at) +/* 02CD54 8002C154 3C018012 */ lui $at, %hi(D_8011D378) # $at, 0x8012 +/* 02CD58 8002C158 AC20D378 */ sw $zero, %lo(D_8011D378)($at) +/* 02CD5C 8002C15C 0C01DB16 */ jal func_80076C58 +/* 02CD60 8002C160 2404001A */ li $a0, 26 +/* 02CD64 8002C164 3C148012 */ lui $s4, %hi(D_8011D310) # $s4, 0x8012 +/* 02CD68 8002C168 2694D310 */ addiu $s4, %lo(D_8011D310) # addiu $s4, $s4, -0x2cf0 +/* 02CD6C 8002C16C AE820000 */ sw $v0, ($s4) +/* 02CD70 8002C170 8C4F0000 */ lw $t7, ($v0) +/* 02CD74 8002C174 2403FFFF */ li $v1, -1 +/* 02CD78 8002C178 00006025 */ move $t4, $zero +/* 02CD7C 8002C17C 106F0005 */ beq $v1, $t7, .L8002C194 +/* 02CD80 8002C180 00404025 */ move $t0, $v0 +.L8002C184: +/* 02CD84 8002C184 8C580004 */ lw $t8, 4($v0) +/* 02CD88 8002C188 258C0001 */ addiu $t4, $t4, 1 +/* 02CD8C 8002C18C 1478FFFD */ bne $v1, $t8, .L8002C184 +/* 02CD90 8002C190 24420004 */ addiu $v0, $v0, 4 +.L8002C194: +/* 02CD94 8002C194 258CFFFF */ addiu $t4, $t4, -1 +/* 02CD98 8002C198 024C082A */ slt $at, $s2, $t4 +/* 02CD9C 8002C19C 14200002 */ bnez $at, .L8002C1A8 +/* 02CDA0 8002C1A0 2404001B */ li $a0, 27 +/* 02CDA4 8002C1A4 00009025 */ move $s2, $zero +.L8002C1A8: +/* 02CDA8 8002C1A8 0012C880 */ sll $t9, $s2, 2 +/* 02CDAC 8002C1AC 01191021 */ addu $v0, $t0, $t9 +/* 02CDB0 8002C1B0 8C460000 */ lw $a2, ($v0) +/* 02CDB4 8002C1B4 8C4D0004 */ lw $t5, 4($v0) +/* 02CDB8 8002C1B8 8E300000 */ lw $s0, ($s1) +/* 02CDBC 8002C1BC 01A69823 */ subu $s3, $t5, $a2 +/* 02CDC0 8002C1C0 02157021 */ addu $t6, $s0, $s5 +/* 02CDC4 8002C1C4 01D38023 */ subu $s0, $t6, $s3 +/* 02CDC8 8002C1C8 06010004 */ bgez $s0, .L8002C1DC +/* 02CDCC 8002C1CC 320F000F */ andi $t7, $s0, 0xf +/* 02CDD0 8002C1D0 11E00002 */ beqz $t7, .L8002C1DC +/* 02CDD4 8002C1D4 00000000 */ nop +/* 02CDD8 8002C1D8 25EFFFF0 */ addiu $t7, $t7, -0x10 +.L8002C1DC: +/* 02CDDC 8002C1DC 020F8023 */ subu $s0, $s0, $t7 +/* 02CDE0 8002C1E0 02002825 */ move $a1, $s0 +/* 02CDE4 8002C1E4 0C01DB9A */ jal func_80076E68 +/* 02CDE8 8002C1E8 02603825 */ move $a3, $s3 +/* 02CDEC 8002C1EC 8E250000 */ lw $a1, ($s1) +/* 02CDF0 8002C1F0 0C031886 */ jal func_800C6218 +/* 02CDF4 8002C1F4 02002025 */ move $a0, $s0 +/* 02CDF8 8002C1F8 8E840000 */ lw $a0, ($s4) +/* 02CDFC 8002C1FC 0C01C450 */ jal func_80071140 +/* 02CE00 8002C200 00000000 */ nop +/* 02CE04 8002C204 8E320000 */ lw $s2, ($s1) +/* 02CE08 8002C208 00008025 */ move $s0, $zero +/* 02CE0C 8002C20C 8E580000 */ lw $t8, ($s2) +/* 02CE10 8002C210 02403025 */ move $a2, $s2 +/* 02CE14 8002C214 0312C821 */ addu $t9, $t8, $s2 +/* 02CE18 8002C218 AE590000 */ sw $t9, ($s2) +/* 02CE1C 8002C21C 8E320000 */ lw $s2, ($s1) +/* 02CE20 8002C220 00000000 */ nop +/* 02CE24 8002C224 8E4D0004 */ lw $t5, 4($s2) +/* 02CE28 8002C228 00000000 */ nop +/* 02CE2C 8002C22C 01A67021 */ addu $t6, $t5, $a2 +/* 02CE30 8002C230 AE4E0004 */ sw $t6, 4($s2) +/* 02CE34 8002C234 8E320000 */ lw $s2, ($s1) +/* 02CE38 8002C238 00000000 */ nop +/* 02CE3C 8002C23C 8E4F0008 */ lw $t7, 8($s2) +/* 02CE40 8002C240 00000000 */ nop +/* 02CE44 8002C244 01E6C021 */ addu $t8, $t7, $a2 +/* 02CE48 8002C248 AE580008 */ sw $t8, 8($s2) +/* 02CE4C 8002C24C 8E320000 */ lw $s2, ($s1) +/* 02CE50 8002C250 00000000 */ nop +/* 02CE54 8002C254 8E59000C */ lw $t9, 0xc($s2) +/* 02CE58 8002C258 00000000 */ nop +/* 02CE5C 8002C25C 03266821 */ addu $t5, $t9, $a2 +/* 02CE60 8002C260 AE4D000C */ sw $t5, 0xc($s2) +/* 02CE64 8002C264 8E320000 */ lw $s2, ($s1) +/* 02CE68 8002C268 00000000 */ nop +/* 02CE6C 8002C26C 8E4E0010 */ lw $t6, 0x10($s2) +/* 02CE70 8002C270 00000000 */ nop +/* 02CE74 8002C274 01C67821 */ addu $t7, $t6, $a2 +/* 02CE78 8002C278 AE4F0010 */ sw $t7, 0x10($s2) +/* 02CE7C 8002C27C 8E320000 */ lw $s2, ($s1) +/* 02CE80 8002C280 00000000 */ nop +/* 02CE84 8002C284 8E580014 */ lw $t8, 0x14($s2) +/* 02CE88 8002C288 00000000 */ nop +/* 02CE8C 8002C28C 0306C821 */ addu $t9, $t8, $a2 +/* 02CE90 8002C290 AE590014 */ sw $t9, 0x14($s2) +/* 02CE94 8002C294 8E320000 */ lw $s2, ($s1) +/* 02CE98 8002C298 00000000 */ nop +/* 02CE9C 8002C29C 8643001A */ lh $v1, 0x1a($s2) +/* 02CEA0 8002C2A0 00000000 */ nop +/* 02CEA4 8002C2A4 1860002B */ blez $v1, .L8002C354 +/* 02CEA8 8002C2A8 00009825 */ move $s3, $zero +.L8002C2AC: +/* 02CEAC 8002C2AC 8E4D0004 */ lw $t5, 4($s2) +/* 02CEB0 8002C2B0 26100001 */ addiu $s0, $s0, 1 +/* 02CEB4 8002C2B4 01B31021 */ addu $v0, $t5, $s3 +/* 02CEB8 8002C2B8 8C4E0000 */ lw $t6, ($v0) +/* 02CEBC 8002C2BC 00000000 */ nop +/* 02CEC0 8002C2C0 01C67821 */ addu $t7, $t6, $a2 +/* 02CEC4 8002C2C4 AC4F0000 */ sw $t7, ($v0) +/* 02CEC8 8002C2C8 8E380000 */ lw $t8, ($s1) +/* 02CECC 8002C2CC 00000000 */ nop +/* 02CED0 8002C2D0 8F190004 */ lw $t9, 4($t8) +/* 02CED4 8002C2D4 00000000 */ nop +/* 02CED8 8002C2D8 03331021 */ addu $v0, $t9, $s3 +/* 02CEDC 8002C2DC 8C4D0004 */ lw $t5, 4($v0) +/* 02CEE0 8002C2E0 00000000 */ nop +/* 02CEE4 8002C2E4 01A67021 */ addu $t6, $t5, $a2 +/* 02CEE8 8002C2E8 AC4E0004 */ sw $t6, 4($v0) +/* 02CEEC 8002C2EC 8E2F0000 */ lw $t7, ($s1) +/* 02CEF0 8002C2F0 00000000 */ nop +/* 02CEF4 8002C2F4 8DF80004 */ lw $t8, 4($t7) +/* 02CEF8 8002C2F8 00000000 */ nop +/* 02CEFC 8002C2FC 03131021 */ addu $v0, $t8, $s3 +/* 02CF00 8002C300 8C59000C */ lw $t9, 0xc($v0) +/* 02CF04 8002C304 00000000 */ nop +/* 02CF08 8002C308 03266821 */ addu $t5, $t9, $a2 +/* 02CF0C 8002C30C AC4D000C */ sw $t5, 0xc($v0) +/* 02CF10 8002C310 8E2E0000 */ lw $t6, ($s1) +/* 02CF14 8002C314 00000000 */ nop +/* 02CF18 8002C318 8DCF0004 */ lw $t7, 4($t6) +/* 02CF1C 8002C31C 00000000 */ nop +/* 02CF20 8002C320 01F31021 */ addu $v0, $t7, $s3 +/* 02CF24 8002C324 8C580014 */ lw $t8, 0x14($v0) +/* 02CF28 8002C328 26730044 */ addiu $s3, $s3, 0x44 +/* 02CF2C 8002C32C 0306C821 */ addu $t9, $t8, $a2 +/* 02CF30 8002C330 AC590014 */ sw $t9, 0x14($v0) +/* 02CF34 8002C334 8E320000 */ lw $s2, ($s1) +/* 02CF38 8002C338 00000000 */ nop +/* 02CF3C 8002C33C 8643001A */ lh $v1, 0x1a($s2) +/* 02CF40 8002C340 00000000 */ nop +/* 02CF44 8002C344 0203082A */ slt $at, $s0, $v1 +/* 02CF48 8002C348 1420FFD8 */ bnez $at, .L8002C2AC +/* 02CF4C 8002C34C 00000000 */ nop +/* 02CF50 8002C350 00008025 */ move $s0, $zero +.L8002C354: +/* 02CF54 8002C354 864D0018 */ lh $t5, 0x18($s2) +/* 02CF58 8002C358 00009825 */ move $s3, $zero +/* 02CF5C 8002C35C 19A00018 */ blez $t5, .L8002C3C0 +/* 02CF60 8002C360 00000000 */ nop +.L8002C364: +/* 02CF64 8002C364 8E4E0000 */ lw $t6, ($s2) +/* 02CF68 8002C368 00000000 */ nop +/* 02CF6C 8002C36C 01D37821 */ addu $t7, $t6, $s3 +/* 02CF70 8002C370 8DE40000 */ lw $a0, ($t7) +/* 02CF74 8002C374 00000000 */ nop +/* 02CF78 8002C378 34988000 */ ori $t8, $a0, 0x8000 +/* 02CF7C 8002C37C 0C01EB9D */ jal func_8007AE74 +/* 02CF80 8002C380 03002025 */ move $a0, $t8 +/* 02CF84 8002C384 8E390000 */ lw $t9, ($s1) +/* 02CF88 8002C388 26100001 */ addiu $s0, $s0, 1 +/* 02CF8C 8002C38C 8F2D0000 */ lw $t5, ($t9) +/* 02CF90 8002C390 00000000 */ nop +/* 02CF94 8002C394 01B37021 */ addu $t6, $t5, $s3 +/* 02CF98 8002C398 ADC20000 */ sw $v0, ($t6) +/* 02CF9C 8002C39C 8E320000 */ lw $s2, ($s1) +/* 02CFA0 8002C3A0 26730008 */ addiu $s3, $s3, 8 +/* 02CFA4 8002C3A4 864F0018 */ lh $t7, 0x18($s2) +/* 02CFA8 8002C3A8 00000000 */ nop +/* 02CFAC 8002C3AC 020F082A */ slt $at, $s0, $t7 +/* 02CFB0 8002C3B0 1420FFEC */ bnez $at, .L8002C364 +/* 02CFB4 8002C3B4 00000000 */ nop +/* 02CFB8 8002C3B8 8643001A */ lh $v1, 0x1a($s2) +/* 02CFBC 8002C3BC 00008025 */ move $s0, $zero +.L8002C3C0: +/* 02CFC0 8002C3C0 8E580048 */ lw $t8, 0x48($s2) +/* 02CFC4 8002C3C4 02401025 */ move $v0, $s2 +/* 02CFC8 8002C3C8 18600048 */ blez $v1, .L8002C4EC +/* 02CFCC 8002C3CC 0258A021 */ addu $s4, $s2, $t8 +/* 02CFD0 8002C3D0 00009825 */ move $s3, $zero +/* 02CFD4 8002C3D4 0000A825 */ move $s5, $zero +.L8002C3D8: +/* 02CFD8 8002C3D8 8E590004 */ lw $t9, 4($s2) +/* 02CFDC 8002C3DC 00000000 */ nop +/* 02CFE0 8002C3E0 03336821 */ addu $t5, $t9, $s3 +/* 02CFE4 8002C3E4 ADB40010 */ sw $s4, 0x10($t5) +/* 02CFE8 8002C3E8 8E2E0000 */ lw $t6, ($s1) +/* 02CFEC 8002C3EC 00000000 */ nop +/* 02CFF0 8002C3F0 8DCF0004 */ lw $t7, 4($t6) +/* 02CFF4 8002C3F4 00000000 */ nop +/* 02CFF8 8002C3F8 01F3C021 */ addu $t8, $t7, $s3 +/* 02CFFC 8002C3FC 8719001E */ lh $t9, 0x1e($t8) +/* 02D000 8002C400 00000000 */ nop +/* 02D004 8002C404 00196840 */ sll $t5, $t9, 1 +/* 02D008 8002C408 0C01C614 */ jal func_80071850 +/* 02D00C 8002C40C 01B42021 */ addu $a0, $t5, $s4 +/* 02D010 8002C410 8E2E0000 */ lw $t6, ($s1) +/* 02D014 8002C414 0040A025 */ move $s4, $v0 +/* 02D018 8002C418 8DCF0004 */ lw $t7, 4($t6) +/* 02D01C 8002C41C 00000000 */ nop +/* 02D020 8002C420 01F3C021 */ addu $t8, $t7, $s3 +/* 02D024 8002C424 AF020018 */ sw $v0, 0x18($t8) +/* 02D028 8002C428 8E390000 */ lw $t9, ($s1) +/* 02D02C 8002C42C 00000000 */ nop +/* 02D030 8002C430 8F2D0004 */ lw $t5, 4($t9) +/* 02D034 8002C434 0C00B30C */ jal func_8002CC30 +/* 02D038 8002C438 01B32021 */ addu $a0, $t5, $s3 +/* 02D03C 8002C43C 8E320000 */ lw $s2, ($s1) +/* 02D040 8002C440 0054A021 */ addu $s4, $v0, $s4 +/* 02D044 8002C444 8E4E0004 */ lw $t6, 4($s2) +/* 02D048 8002C448 8E4F0008 */ lw $t7, 8($s2) +/* 02D04C 8002C44C 02003025 */ move $a2, $s0 +/* 02D050 8002C450 01D32021 */ addu $a0, $t6, $s3 +/* 02D054 8002C454 0C00B255 */ jal func_8002C954 +/* 02D058 8002C458 01F52821 */ addu $a1, $t7, $s5 +/* 02D05C 8002C45C 8E380000 */ lw $t8, ($s1) +/* 02D060 8002C460 00000000 */ nop +/* 02D064 8002C464 8F190004 */ lw $t9, 4($t8) +/* 02D068 8002C468 00000000 */ nop +/* 02D06C 8002C46C 03336821 */ addu $t5, $t9, $s3 +/* 02D070 8002C470 A5A00030 */ sh $zero, 0x30($t5) +/* 02D074 8002C474 8E2E0000 */ lw $t6, ($s1) +/* 02D078 8002C478 00000000 */ nop +/* 02D07C 8002C47C 8DCF0004 */ lw $t7, 4($t6) +/* 02D080 8002C480 00000000 */ nop +/* 02D084 8002C484 01F3C021 */ addu $t8, $t7, $s3 +/* 02D088 8002C488 AF140034 */ sw $s4, 0x34($t8) +/* 02D08C 8002C48C 8E390000 */ lw $t9, ($s1) +/* 02D090 8002C490 00000000 */ nop +/* 02D094 8002C494 8F2D0004 */ lw $t5, 4($t9) +/* 02D098 8002C498 0C00B1C7 */ jal func_8002C71C +/* 02D09C 8002C49C 01B32021 */ addu $a0, $t5, $s3 +/* 02D0A0 8002C4A0 8E2E0000 */ lw $t6, ($s1) +/* 02D0A4 8002C4A4 00000000 */ nop +/* 02D0A8 8002C4A8 8DCF0004 */ lw $t7, 4($t6) +/* 02D0AC 8002C4AC 00000000 */ nop +/* 02D0B0 8002C4B0 01F3C021 */ addu $t8, $t7, $s3 +/* 02D0B4 8002C4B4 87190032 */ lh $t9, 0x32($t8) +/* 02D0B8 8002C4B8 00000000 */ nop +/* 02D0BC 8002C4BC 00196840 */ sll $t5, $t9, 1 +/* 02D0C0 8002C4C0 0C01C614 */ jal func_80071850 +/* 02D0C4 8002C4C4 01B42021 */ addu $a0, $t5, $s4 +/* 02D0C8 8002C4C8 8E320000 */ lw $s2, ($s1) +/* 02D0CC 8002C4CC 26100001 */ addiu $s0, $s0, 1 +/* 02D0D0 8002C4D0 864E001A */ lh $t6, 0x1a($s2) +/* 02D0D4 8002C4D4 26730044 */ addiu $s3, $s3, 0x44 +/* 02D0D8 8002C4D8 020E082A */ slt $at, $s0, $t6 +/* 02D0DC 8002C4DC 26B5000C */ addiu $s5, $s5, 0xc +/* 02D0E0 8002C4E0 1420FFBD */ bnez $at, .L8002C3D8 +/* 02D0E4 8002C4E4 0040A025 */ move $s4, $v0 +/* 02D0E8 8002C4E8 02401025 */ move $v0, $s2 +.L8002C4EC: +/* 02D0EC 8002C4EC 3C010008 */ lui $at, (0x00082A01 >> 16) # lui $at, 8 +/* 02D0F0 8002C4F0 02829823 */ subu $s3, $s4, $v0 +/* 02D0F4 8002C4F4 34212A01 */ ori $at, (0x00082A01 & 0xFFFF) # ori $at, $at, 0x2a01 +/* 02D0F8 8002C4F8 0261082A */ slt $at, $s3, $at +/* 02D0FC 8002C4FC 14200004 */ bnez $at, .L8002C510 +/* 02D100 8002C500 3C04800E */ lui $a0, %hi(D_800E5E38) # $a0, 0x800e +/* 02D104 8002C504 24845E38 */ addiu $a0, %lo(D_800E5E38) # addiu $a0, $a0, 0x5e38 +/* 02D108 8002C508 0C032755 */ jal func_800C9D54 +/* 02D10C 8002C50C 02602825 */ move $a1, $s3 +.L8002C510: +/* 02D110 8002C510 0C01C42C */ jal func_800710B0 +/* 02D114 8002C514 00002025 */ move $a0, $zero +/* 02D118 8002C518 3C048012 */ lui $a0, %hi(D_8011D30C) # $a0, 0x8012 +/* 02D11C 8002C51C 8C84D30C */ lw $a0, %lo(D_8011D30C)($a0) +/* 02D120 8002C520 0C01C450 */ jal func_80071140 +/* 02D124 8002C524 00000000 */ nop +/* 02D128 8002C528 3C058012 */ lui $a1, %hi(D_8011D30C) # $a1, 0x8012 +/* 02D12C 8002C52C 8CA5D30C */ lw $a1, %lo(D_8011D30C)($a1) +/* 02D130 8002C530 3C06FFFF */ lui $a2, (0xFFFF00FF >> 16) # lui $a2, 0xffff +/* 02D134 8002C534 34C600FF */ ori $a2, (0xFFFF00FF & 0xFFFF) # ori $a2, $a2, 0xff +/* 02D138 8002C538 0C01C3BE */ jal func_80070EF8 +/* 02D13C 8002C53C 02602025 */ move $a0, $s3 +/* 02D140 8002C540 0C01C42C */ jal func_800710B0 +/* 02D144 8002C544 24040002 */ li $a0, 2 +/* 02D148 8002C548 8E240000 */ lw $a0, ($s1) +/* 02D14C 8002C54C 0C02A0ED */ jal func_800A83B4 +/* 02D150 8002C550 00000000 */ nop +/* 02D154 8002C554 8E320000 */ lw $s2, ($s1) +/* 02D158 8002C558 00006025 */ move $t4, $zero +/* 02D15C 8002C55C 8643001A */ lh $v1, 0x1a($s2) +/* 02D160 8002C560 00002825 */ move $a1, $zero +/* 02D164 8002C564 18600061 */ blez $v1, .L8002C6EC +/* 02D168 8002C568 3C0B0800 */ lui $t3, 0x800 +/* 02D16C 8002C56C 8E460004 */ lw $a2, 4($s2) +/* 02D170 8002C570 240A0001 */ li $t2, 1 +/* 02D174 8002C574 24070080 */ li $a3, 128 +.L8002C578: +/* 02D178 8002C578 84C20020 */ lh $v0, 0x20($a2) +/* 02D17C 8002C57C 258C0001 */ addiu $t4, $t4, 1 +/* 02D180 8002C580 18400056 */ blez $v0, .L8002C6DC +/* 02D184 8002C584 00009825 */ move $s3, $zero +/* 02D188 8002C588 8CC4000C */ lw $a0, 0xc($a2) +/* 02D18C 8002C58C 00004025 */ move $t0, $zero +.L8002C590: +/* 02D190 8002C590 84900002 */ lh $s0, 2($a0) +/* 02D194 8002C594 8489000E */ lh $t1, 0xe($a0) +/* 02D198 8002C598 26730001 */ addiu $s3, $s3, 1 +/* 02D19C 8002C59C 0209082A */ slt $at, $s0, $t1 +/* 02D1A0 8002C5A0 10200049 */ beqz $at, .L8002C6C8 +/* 02D1A4 8002C5A4 0262082A */ slt $at, $s3, $v0 +/* 02D1A8 8002C5A8 00101080 */ sll $v0, $s0, 2 +/* 02D1AC 8002C5AC 00501021 */ addu $v0, $v0, $s0 +/* 02D1B0 8002C5B0 00021040 */ sll $v0, $v0, 1 +.L8002C5B4: +/* 02D1B4 8002C5B4 8CCF0000 */ lw $t7, ($a2) +/* 02D1B8 8002C5B8 26100001 */ addiu $s0, $s0, 1 +/* 02D1BC 8002C5BC 01E21821 */ addu $v1, $t7, $v0 +/* 02D1C0 8002C5C0 90780006 */ lbu $t8, 6($v1) +/* 02D1C4 8002C5C4 00000000 */ nop +/* 02D1C8 8002C5C8 1558003A */ bne $t2, $t8, .L8002C6B4 +/* 02D1CC 8002C5CC 0209082A */ slt $at, $s0, $t1 +/* 02D1D0 8002C5D0 90790007 */ lbu $t9, 7($v1) +/* 02D1D4 8002C5D4 00000000 */ nop +/* 02D1D8 8002C5D8 15590036 */ bne $t2, $t9, .L8002C6B4 +/* 02D1DC 8002C5DC 0209082A */ slt $at, $s0, $t1 +/* 02D1E0 8002C5E0 906D0008 */ lbu $t5, 8($v1) +/* 02D1E4 8002C5E4 00000000 */ nop +/* 02D1E8 8002C5E8 A06D0009 */ sb $t5, 9($v1) +/* 02D1EC 8002C5EC 8E2E0000 */ lw $t6, ($s1) +/* 02D1F0 8002C5F0 00000000 */ nop +/* 02D1F4 8002C5F4 8DCF0004 */ lw $t7, 4($t6) +/* 02D1F8 8002C5F8 00000000 */ nop +/* 02D1FC 8002C5FC 01E5C021 */ addu $t8, $t7, $a1 +/* 02D200 8002C600 8F190000 */ lw $t9, ($t8) +/* 02D204 8002C604 00000000 */ nop +/* 02D208 8002C608 03226821 */ addu $t5, $t9, $v0 +/* 02D20C 8002C60C A1A70006 */ sb $a3, 6($t5) +/* 02D210 8002C610 8E2E0000 */ lw $t6, ($s1) +/* 02D214 8002C614 00000000 */ nop +/* 02D218 8002C618 8DCF0004 */ lw $t7, 4($t6) +/* 02D21C 8002C61C 00000000 */ nop +/* 02D220 8002C620 01E5C021 */ addu $t8, $t7, $a1 +/* 02D224 8002C624 8F190000 */ lw $t9, ($t8) +/* 02D228 8002C628 00000000 */ nop +/* 02D22C 8002C62C 03226821 */ addu $t5, $t9, $v0 +/* 02D230 8002C630 A1A70007 */ sb $a3, 7($t5) +/* 02D234 8002C634 8E2E0000 */ lw $t6, ($s1) +/* 02D238 8002C638 00000000 */ nop +/* 02D23C 8002C63C 8DCF0004 */ lw $t7, 4($t6) +/* 02D240 8002C640 00000000 */ nop +/* 02D244 8002C644 01E5C021 */ addu $t8, $t7, $a1 +/* 02D248 8002C648 8F190000 */ lw $t9, ($t8) +/* 02D24C 8002C64C 00000000 */ nop +/* 02D250 8002C650 03226821 */ addu $t5, $t9, $v0 +/* 02D254 8002C654 A1A70008 */ sb $a3, 8($t5) +/* 02D258 8002C658 8E2E0000 */ lw $t6, ($s1) +/* 02D25C 8002C65C 00000000 */ nop +/* 02D260 8002C660 8DCF0004 */ lw $t7, 4($t6) +/* 02D264 8002C664 00000000 */ nop +/* 02D268 8002C668 01E5C021 */ addu $t8, $t7, $a1 +/* 02D26C 8002C66C 8F19000C */ lw $t9, 0xc($t8) +/* 02D270 8002C670 00000000 */ nop +/* 02D274 8002C674 03282021 */ addu $a0, $t9, $t0 +/* 02D278 8002C678 8C8D0008 */ lw $t5, 8($a0) +/* 02D27C 8002C67C 00000000 */ nop +/* 02D280 8002C680 01AB7025 */ or $t6, $t5, $t3 +/* 02D284 8002C684 AC8E0008 */ sw $t6, 8($a0) +/* 02D288 8002C688 8E320000 */ lw $s2, ($s1) +/* 02D28C 8002C68C 00000000 */ nop +/* 02D290 8002C690 8E4F0004 */ lw $t7, 4($s2) +/* 02D294 8002C694 00000000 */ nop +/* 02D298 8002C698 01E53021 */ addu $a2, $t7, $a1 +/* 02D29C 8002C69C 8CD8000C */ lw $t8, 0xc($a2) +/* 02D2A0 8002C6A0 00000000 */ nop +/* 02D2A4 8002C6A4 03082021 */ addu $a0, $t8, $t0 +/* 02D2A8 8002C6A8 8489000E */ lh $t1, 0xe($a0) +/* 02D2AC 8002C6AC 00000000 */ nop +/* 02D2B0 8002C6B0 0209082A */ slt $at, $s0, $t1 +.L8002C6B4: +/* 02D2B4 8002C6B4 1420FFBF */ bnez $at, .L8002C5B4 +/* 02D2B8 8002C6B8 2442000A */ addiu $v0, $v0, 0xa +/* 02D2BC 8002C6BC 84C20020 */ lh $v0, 0x20($a2) +/* 02D2C0 8002C6C0 00000000 */ nop +/* 02D2C4 8002C6C4 0262082A */ slt $at, $s3, $v0 +.L8002C6C8: +/* 02D2C8 8002C6C8 2508000C */ addiu $t0, $t0, 0xc +/* 02D2CC 8002C6CC 1420FFB0 */ bnez $at, .L8002C590 +/* 02D2D0 8002C6D0 2484000C */ addiu $a0, $a0, 0xc +/* 02D2D4 8002C6D4 8643001A */ lh $v1, 0x1a($s2) +/* 02D2D8 8002C6D8 00000000 */ nop +.L8002C6DC: +/* 02D2DC 8002C6DC 0183082A */ slt $at, $t4, $v1 +/* 02D2E0 8002C6E0 24A50044 */ addiu $a1, $a1, 0x44 +/* 02D2E4 8002C6E4 1420FFA4 */ bnez $at, .L8002C578 +/* 02D2E8 8002C6E8 24C60044 */ addiu $a2, $a2, 0x44 +.L8002C6EC: +/* 02D2EC 8002C6EC 3C04FF00 */ lui $a0, (0xFF00FFFF >> 16) # lui $a0, 0xff00 +/* 02D2F0 8002C6F0 0C01ECDD */ jal func_8007B374 +/* 02D2F4 8002C6F4 3484FFFF */ ori $a0, (0xFF00FFFF & 0xFFFF) # ori $a0, $a0, 0xffff +/* 02D2F8 8002C6F8 8FBF002C */ lw $ra, 0x2c($sp) +/* 02D2FC 8002C6FC 8FB00014 */ lw $s0, 0x14($sp) +/* 02D300 8002C700 8FB10018 */ lw $s1, 0x18($sp) +/* 02D304 8002C704 8FB2001C */ lw $s2, 0x1c($sp) +/* 02D308 8002C708 8FB30020 */ lw $s3, 0x20($sp) +/* 02D30C 8002C70C 8FB40024 */ lw $s4, 0x24($sp) +/* 02D310 8002C710 8FB50028 */ lw $s5, 0x28($sp) +/* 02D314 8002C714 03E00008 */ jr $ra +/* 02D318 8002C718 27BD0030 */ addiu $sp, $sp, 0x30 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002C71C.s b/asm/non_matchings/unknown_0255E0/func_8002C71C.s new file mode 100644 index 00000000..7d0c3456 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002C71C.s @@ -0,0 +1,48 @@ +glabel func_8002C71C +/* 02D31C 8002C71C 848E0020 */ lh $t6, 0x20($a0) +/* 02D320 8002C720 2408D8F0 */ li $t0, -10000 +/* 02D324 8002C724 A4880038 */ sh $t0, 0x38($a0) +/* 02D328 8002C728 00001025 */ move $v0, $zero +/* 02D32C 8002C72C 19C00023 */ blez $t6, .L8002C7BC +/* 02D330 8002C730 00001825 */ move $v1, $zero +/* 02D334 8002C734 00002825 */ move $a1, $zero +/* 02D338 8002C738 2409000A */ li $t1, 10 +.L8002C73C: +/* 02D33C 8002C73C 8C8F000C */ lw $t7, 0xc($a0) +/* 02D340 8002C740 00000000 */ nop +/* 02D344 8002C744 01E5C021 */ addu $t8, $t7, $a1 +/* 02D348 8002C748 8F190008 */ lw $t9, 8($t8) +/* 02D34C 8002C74C 00000000 */ nop +/* 02D350 8002C750 332A2000 */ andi $t2, $t9, 0x2000 +/* 02D354 8002C754 11400014 */ beqz $t2, .L8002C7A8 +/* 02D358 8002C758 00000000 */ nop +/* 02D35C 8002C75C 8C8B0034 */ lw $t3, 0x34($a0) +/* 02D360 8002C760 00026040 */ sll $t4, $v0, 1 +/* 02D364 8002C764 016C6821 */ addu $t5, $t3, $t4 +/* 02D368 8002C768 A5A30000 */ sh $v1, ($t5) +/* 02D36C 8002C76C 8C8F000C */ lw $t7, 0xc($a0) +/* 02D370 8002C770 8C8E0000 */ lw $t6, ($a0) +/* 02D374 8002C774 01E5C021 */ addu $t8, $t7, $a1 +/* 02D378 8002C778 87190002 */ lh $t9, 2($t8) +/* 02D37C 8002C77C 84870038 */ lh $a3, 0x38($a0) +/* 02D380 8002C780 03290019 */ multu $t9, $t1 +/* 02D384 8002C784 24420001 */ addiu $v0, $v0, 1 +/* 02D388 8002C788 00005012 */ mflo $t2 +/* 02D38C 8002C78C 01CA5821 */ addu $t3, $t6, $t2 +/* 02D390 8002C790 85660002 */ lh $a2, 2($t3) +/* 02D394 8002C794 11070003 */ beq $t0, $a3, .L8002C7A4 +/* 02D398 8002C798 00E6082A */ slt $at, $a3, $a2 +/* 02D39C 8002C79C 10200002 */ beqz $at, .L8002C7A8 +/* 02D3A0 8002C7A0 00000000 */ nop +.L8002C7A4: +/* 02D3A4 8002C7A4 A4860038 */ sh $a2, 0x38($a0) +.L8002C7A8: +/* 02D3A8 8002C7A8 848C0020 */ lh $t4, 0x20($a0) +/* 02D3AC 8002C7AC 24630001 */ addiu $v1, $v1, 1 +/* 02D3B0 8002C7B0 006C082A */ slt $at, $v1, $t4 +/* 02D3B4 8002C7B4 1420FFE1 */ bnez $at, .L8002C73C +/* 02D3B8 8002C7B8 24A5000C */ addiu $a1, $a1, 0xc +.L8002C7BC: +/* 02D3BC 8002C7BC 03E00008 */ jr $ra +/* 02D3C0 8002C7C0 A4820032 */ sh $v0, 0x32($a0) + diff --git a/asm/non_matchings/unknown_0255E0/func_8002C7C4.s b/asm/non_matchings/unknown_0255E0/func_8002C7C4.s new file mode 100644 index 00000000..93bdb0c6 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002C7C4.s @@ -0,0 +1,6 @@ +glabel func_8002C7C4 +/* 02D3C4 8002C7C4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e +/* 02D3C8 8002C7C8 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) +/* 02D3CC 8002C7CC 03E00008 */ jr $ra +/* 02D3D0 8002C7D0 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002C7D4.s b/asm/non_matchings/unknown_0255E0/func_8002C7D4.s new file mode 100644 index 00000000..5fadae3d --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002C7D4.s @@ -0,0 +1,103 @@ +glabel func_8002C7D4 +/* 02D3D4 8002C7D4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02D3D8 8002C7D8 AFBF002C */ sw $ra, 0x2c($sp) +/* 02D3DC 8002C7DC AFB40028 */ sw $s4, 0x28($sp) +/* 02D3E0 8002C7E0 AFB30024 */ sw $s3, 0x24($sp) +/* 02D3E4 8002C7E4 AFB20020 */ sw $s2, 0x20($sp) +/* 02D3E8 8002C7E8 AFB1001C */ sw $s1, 0x1c($sp) +/* 02D3EC 8002C7EC 0C002CA4 */ jal func_8000B290 +/* 02D3F0 8002C7F0 AFB00018 */ sw $s0, 0x18($sp) +/* 02D3F4 8002C7F4 3C0E8012 */ lui $t6, %hi(D_8011D384) # $t6, 0x8012 +/* 02D3F8 8002C7F8 8DCED384 */ lw $t6, %lo(D_8011D384)($t6) +/* 02D3FC 8002C7FC 00000000 */ nop +/* 02D400 8002C800 11C00003 */ beqz $t6, .L8002C810 +/* 02D404 8002C804 00000000 */ nop +/* 02D408 8002C808 0C02DF48 */ jal func_800B7D20 +/* 02D40C 8002C80C 00000000 */ nop +.L8002C810: +/* 02D410 8002C810 3C14800E */ lui $s4, %hi(D_800DC918) # $s4, 0x800e +/* 02D414 8002C814 2694C918 */ addiu $s4, %lo(D_800DC918) # addiu $s4, $s4, -0x36e8 +/* 02D418 8002C818 8E910000 */ lw $s1, ($s4) +/* 02D41C 8002C81C 00008025 */ move $s0, $zero +/* 02D420 8002C820 862F0018 */ lh $t7, 0x18($s1) +/* 02D424 8002C824 00009025 */ move $s2, $zero +/* 02D428 8002C828 19E0000E */ blez $t7, .L8002C864 +/* 02D42C 8002C82C 00000000 */ nop +.L8002C830: +/* 02D430 8002C830 8E380000 */ lw $t8, ($s1) +/* 02D434 8002C834 00000000 */ nop +/* 02D438 8002C838 0312C821 */ addu $t9, $t8, $s2 +/* 02D43C 8002C83C 8F240000 */ lw $a0, ($t9) +/* 02D440 8002C840 0C01ECAF */ jal func_8007B2BC +/* 02D444 8002C844 00000000 */ nop +/* 02D448 8002C848 8E910000 */ lw $s1, ($s4) +/* 02D44C 8002C84C 26100001 */ addiu $s0, $s0, 1 +/* 02D450 8002C850 86280018 */ lh $t0, 0x18($s1) +/* 02D454 8002C854 26520008 */ addiu $s2, $s2, 8 +/* 02D458 8002C858 0208082A */ slt $at, $s0, $t0 +/* 02D45C 8002C85C 1420FFF4 */ bnez $at, .L8002C830 +/* 02D460 8002C860 00000000 */ nop +.L8002C864: +/* 02D464 8002C864 3C048012 */ lui $a0, %hi(D_8011D30C) # $a0, 0x8012 +/* 02D468 8002C868 8C84D30C */ lw $a0, %lo(D_8011D30C)($a0) +/* 02D46C 8002C86C 0C01C450 */ jal func_80071140 +/* 02D470 8002C870 00000000 */ nop +/* 02D474 8002C874 3C048012 */ lui $a0, %hi(D_8011D370) # $a0, 0x8012 +/* 02D478 8002C878 8C84D370 */ lw $a0, %lo(D_8011D370)($a0) +/* 02D47C 8002C87C 0C01C450 */ jal func_80071140 +/* 02D480 8002C880 00000000 */ nop +/* 02D484 8002C884 3C048012 */ lui $a0, %hi(D_8011D374) # $a0, 0x8012 +/* 02D488 8002C888 8C84D374 */ lw $a0, %lo(D_8011D374)($a0) +/* 02D48C 8002C88C 0C01C450 */ jal func_80071140 +/* 02D490 8002C890 00000000 */ nop +/* 02D494 8002C894 8E890000 */ lw $t1, ($s4) +/* 02D498 8002C898 00000000 */ nop +/* 02D49C 8002C89C 8D240020 */ lw $a0, 0x20($t1) +/* 02D4A0 8002C8A0 0C01F32C */ jal func_8007CCB0 +/* 02D4A4 8002C8A4 00000000 */ nop +/* 02D4A8 8002C8A8 3C118012 */ lui $s1, %hi(D_8011D350) # $s1, 0x8012 +/* 02D4AC 8002C8AC 3C128012 */ lui $s2, %hi(D_8011D320) # $s2, 0x8012 +/* 02D4B0 8002C8B0 3C108012 */ lui $s0, %hi(D_8011D338) # $s0, 0x8012 +/* 02D4B4 8002C8B4 3C138012 */ lui $s3, %hi(D_8011D348) # $s3, 0x8012 +/* 02D4B8 8002C8B8 2673D348 */ addiu $s3, %lo(D_8011D348) # addiu $s3, $s3, -0x2cb8 +/* 02D4BC 8002C8BC 2610D338 */ addiu $s0, %lo(D_8011D338) # addiu $s0, $s0, -0x2cc8 +/* 02D4C0 8002C8C0 2652D320 */ addiu $s2, %lo(D_8011D320) # addiu $s2, $s2, -0x2ce0 +/* 02D4C4 8002C8C4 2631D350 */ addiu $s1, %lo(D_8011D350) # addiu $s1, $s1, -0x2cb0 +.L8002C8C8: +/* 02D4C8 8002C8C8 8E240000 */ lw $a0, ($s1) +/* 02D4CC 8002C8CC 0C01C450 */ jal func_80071140 +/* 02D4D0 8002C8D0 00000000 */ nop +/* 02D4D4 8002C8D4 8E440000 */ lw $a0, ($s2) +/* 02D4D8 8002C8D8 0C01C450 */ jal func_80071140 +/* 02D4DC 8002C8DC 00000000 */ nop +/* 02D4E0 8002C8E0 8E040000 */ lw $a0, ($s0) +/* 02D4E4 8002C8E4 0C01C450 */ jal func_80071140 +/* 02D4E8 8002C8E8 00000000 */ nop +/* 02D4EC 8002C8EC 26100004 */ addiu $s0, $s0, 4 +/* 02D4F0 8002C8F0 26310004 */ addiu $s1, $s1, 4 +/* 02D4F4 8002C8F4 1613FFF4 */ bne $s0, $s3, .L8002C8C8 +/* 02D4F8 8002C8F8 26520004 */ addiu $s2, $s2, 4 +/* 02D4FC 8002C8FC 0C0095F4 */ jal func_800257D0 +/* 02D500 8002C900 00000000 */ nop +/* 02D504 8002C904 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012 +/* 02D508 8002C908 8C84B0B8 */ lw $a0, %lo(D_8011B0B8)($a0) +/* 02D50C 8002C90C 00000000 */ nop +/* 02D510 8002C910 10800005 */ beqz $a0, .L8002C928 +/* 02D514 8002C914 00000000 */ nop +/* 02D518 8002C918 0C003FEE */ jal func_8000FFB8 +/* 02D51C 8002C91C 00000000 */ nop +/* 02D520 8002C920 0C004013 */ jal func_8001004C +/* 02D524 8002C924 00000000 */ nop +.L8002C928: +/* 02D528 8002C928 0C003181 */ jal func_8000C604 +/* 02D52C 8002C92C 00000000 */ nop +/* 02D530 8002C930 8FBF002C */ lw $ra, 0x2c($sp) +/* 02D534 8002C934 AE800000 */ sw $zero, ($s4) +/* 02D538 8002C938 8FB40028 */ lw $s4, 0x28($sp) +/* 02D53C 8002C93C 8FB00018 */ lw $s0, 0x18($sp) +/* 02D540 8002C940 8FB1001C */ lw $s1, 0x1c($sp) +/* 02D544 8002C944 8FB20020 */ lw $s2, 0x20($sp) +/* 02D548 8002C948 8FB30024 */ lw $s3, 0x24($sp) +/* 02D54C 8002C94C 03E00008 */ jr $ra +/* 02D550 8002C950 27BD0030 */ addiu $sp, $sp, 0x30 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002C954.s b/asm/non_matchings/unknown_0255E0/func_8002C954.s new file mode 100644 index 00000000..9b7a9692 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002C954.s @@ -0,0 +1,200 @@ +glabel func_8002C954 +/* 02D554 8002C954 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 02D558 8002C958 AFBF002C */ sw $ra, 0x2c($sp) +/* 02D55C 8002C95C AFBE0028 */ sw $fp, 0x28($sp) +/* 02D560 8002C960 AFB70024 */ sw $s7, 0x24($sp) +/* 02D564 8002C964 AFB60020 */ sw $s6, 0x20($sp) +/* 02D568 8002C968 AFB5001C */ sw $s5, 0x1c($sp) +/* 02D56C 8002C96C AFB40018 */ sw $s4, 0x18($sp) +/* 02D570 8002C970 AFB30014 */ sw $s3, 0x14($sp) +/* 02D574 8002C974 AFB20010 */ sw $s2, 0x10($sp) +/* 02D578 8002C978 AFB1000C */ sw $s1, 0xc($sp) +/* 02D57C 8002C97C AFB00008 */ sw $s0, 8($sp) +/* 02D580 8002C980 AFA60038 */ sw $a2, 0x38($sp) +/* 02D584 8002C984 84820020 */ lh $v0, 0x20($a0) +/* 02D588 8002C988 00809825 */ move $s3, $a0 +/* 02D58C 8002C98C 00A0A025 */ move $s4, $a1 +/* 02D590 8002C990 1840009B */ blez $v0, .L8002CC00 +/* 02D594 8002C994 0000B825 */ move $s7, $zero +/* 02D598 8002C998 0000F025 */ move $fp, $zero +/* 02D59C 8002C99C 24100003 */ li $s0, 3 +/* 02D5A0 8002C9A0 240D000A */ li $t5, 10 +.L8002C9A4: +/* 02D5A4 8002C9A4 8E6E000C */ lw $t6, 0xc($s3) +/* 02D5A8 8002C9A8 26F70001 */ addiu $s7, $s7, 1 +/* 02D5AC 8002C9AC 01DE2021 */ addu $a0, $t6, $fp +/* 02D5B0 8002C9B0 84830004 */ lh $v1, 4($a0) +/* 02D5B4 8002C9B4 84960010 */ lh $s6, 0x10($a0) +/* 02D5B8 8002C9B8 848C0002 */ lh $t4, 2($a0) +/* 02D5BC 8002C9BC 0076082A */ slt $at, $v1, $s6 +/* 02D5C0 8002C9C0 1020008C */ beqz $at, .L8002CBF4 +/* 02D5C4 8002C9C4 00608825 */ move $s1, $v1 +/* 02D5C8 8002C9C8 0003A900 */ sll $s5, $v1, 4 +/* 02D5CC 8002C9CC 00039040 */ sll $s2, $v1, 1 +.L8002C9D0: +/* 02D5D0 8002C9D0 8E620004 */ lw $v0, 4($s3) +/* 02D5D4 8002C9D4 24078300 */ li $a3, -32000 +/* 02D5D8 8002C9D8 00557821 */ addu $t7, $v0, $s5 +/* 02D5DC 8002C9DC 91F80000 */ lbu $t8, ($t7) +/* 02D5E0 8002C9E0 26B50010 */ addiu $s5, $s5, 0x10 +/* 02D5E4 8002C9E4 33190080 */ andi $t9, $t8, 0x80 +/* 02D5E8 8002C9E8 13200006 */ beqz $t9, .L8002CA04 +/* 02D5EC 8002C9EC 240A8300 */ li $t2, -32000 +/* 02D5F0 8002C9F0 8E6E0010 */ lw $t6, 0x10($s3) +/* 02D5F4 8002C9F4 00000000 */ nop +/* 02D5F8 8002C9F8 01D27821 */ addu $t7, $t6, $s2 +/* 02D5FC 8002C9FC 10000077 */ b .L8002CBDC +/* 02D600 8002CA00 A5E00000 */ sh $zero, ($t7) +.L8002CA04: +/* 02D604 8002CA04 0011C100 */ sll $t8, $s1, 4 +/* 02D608 8002CA08 8E650000 */ lw $a1, ($s3) +/* 02D60C 8002CA0C 240B7D00 */ li $t3, 32000 +/* 02D610 8002CA10 24087D00 */ li $t0, 32000 +/* 02D614 8002CA14 00582021 */ addu $a0, $v0, $t8 +/* 02D618 8002CA18 00001825 */ move $v1, $zero +/* 02D61C 8002CA1C 00004825 */ move $t1, $zero +.L8002CA20: +/* 02D620 8002CA20 90990001 */ lbu $t9, 1($a0) +/* 02D624 8002CA24 24630001 */ addiu $v1, $v1, 1 +/* 02D628 8002CA28 032C7021 */ addu $t6, $t9, $t4 +/* 02D62C 8002CA2C 01CD0019 */ multu $t6, $t5 +/* 02D630 8002CA30 00007812 */ mflo $t7 +/* 02D634 8002CA34 01E53021 */ addu $a2, $t7, $a1 +/* 02D638 8002CA38 84C20000 */ lh $v0, ($a2) +/* 02D63C 8002CA3C 84DF0004 */ lh $ra, 4($a2) +/* 02D640 8002CA40 00E2082A */ slt $at, $a3, $v0 +/* 02D644 8002CA44 10200005 */ beqz $at, .L8002CA5C +/* 02D648 8002CA48 0048082A */ slt $at, $v0, $t0 +/* 02D64C 8002CA4C 00023C00 */ sll $a3, $v0, 0x10 +/* 02D650 8002CA50 0007C403 */ sra $t8, $a3, 0x10 +/* 02D654 8002CA54 03003825 */ move $a3, $t8 +/* 02D658 8002CA58 0048082A */ slt $at, $v0, $t0 +.L8002CA5C: +/* 02D65C 8002CA5C 10200005 */ beqz $at, .L8002CA74 +/* 02D660 8002CA60 015F082A */ slt $at, $t2, $ra +/* 02D664 8002CA64 00024400 */ sll $t0, $v0, 0x10 +/* 02D668 8002CA68 0008CC03 */ sra $t9, $t0, 0x10 +/* 02D66C 8002CA6C 03204025 */ move $t0, $t9 +/* 02D670 8002CA70 015F082A */ slt $at, $t2, $ra +.L8002CA74: +/* 02D674 8002CA74 10200005 */ beqz $at, .L8002CA8C +/* 02D678 8002CA78 03EB082A */ slt $at, $ra, $t3 +/* 02D67C 8002CA7C 001F5400 */ sll $t2, $ra, 0x10 +/* 02D680 8002CA80 000A7403 */ sra $t6, $t2, 0x10 +/* 02D684 8002CA84 01C05025 */ move $t2, $t6 +/* 02D688 8002CA88 03EB082A */ slt $at, $ra, $t3 +.L8002CA8C: +/* 02D68C 8002CA8C 10200004 */ beqz $at, .L8002CAA0 +/* 02D690 8002CA90 00000000 */ nop +/* 02D694 8002CA94 001F5C00 */ sll $t3, $ra, 0x10 +/* 02D698 8002CA98 000B7C03 */ sra $t7, $t3, 0x10 +/* 02D69C 8002CA9C 01E05825 */ move $t3, $t7 +.L8002CAA0: +/* 02D6A0 8002CAA0 1470FFDF */ bne $v1, $s0, .L8002CA20 +/* 02D6A4 8002CAA4 24840001 */ addiu $a0, $a0, 1 +/* 02D6A8 8002CAA8 869F0000 */ lh $ra, ($s4) +/* 02D6AC 8002CAAC 86980006 */ lh $t8, 6($s4) +/* 02D6B0 8002CAB0 001F2400 */ sll $a0, $ra, 0x10 +/* 02D6B4 8002CAB4 031F3023 */ subu $a2, $t8, $ra +/* 02D6B8 8002CAB8 0006C8C3 */ sra $t9, $a2, 3 +/* 02D6BC 8002CABC 27260001 */ addiu $a2, $t9, 1 +/* 02D6C0 8002CAC0 00067400 */ sll $t6, $a2, 0x10 +/* 02D6C4 8002CAC4 000E3403 */ sra $a2, $t6, 0x10 +/* 02D6C8 8002CAC8 00DF1821 */ addu $v1, $a2, $ra +/* 02D6CC 8002CACC 0003C400 */ sll $t8, $v1, 0x10 +/* 02D6D0 8002CAD0 00047403 */ sra $t6, $a0, 0x10 +/* 02D6D4 8002CAD4 24050001 */ li $a1, 1 +/* 02D6D8 8002CAD8 00181C03 */ sra $v1, $t8, 0x10 +/* 02D6DC 8002CADC 01C02025 */ move $a0, $t6 +/* 02D6E0 8002CAE0 00001025 */ move $v0, $zero +.L8002CAE4: +/* 02D6E4 8002CAE4 0068082A */ slt $at, $v1, $t0 +/* 02D6E8 8002CAE8 14200007 */ bnez $at, .L8002CB08 +/* 02D6EC 8002CAEC 00661821 */ addu $v1, $v1, $a2 +/* 02D6F0 8002CAF0 00E4082A */ slt $at, $a3, $a0 +/* 02D6F4 8002CAF4 14200004 */ bnez $at, .L8002CB08 +/* 02D6F8 8002CAF8 00000000 */ nop +/* 02D6FC 8002CAFC 01254825 */ or $t1, $t1, $a1 +/* 02D700 8002CB00 00097C00 */ sll $t7, $t1, 0x10 +/* 02D704 8002CB04 000F4C03 */ sra $t1, $t7, 0x10 +.L8002CB08: +/* 02D708 8002CB08 24420001 */ addiu $v0, $v0, 1 +/* 02D70C 8002CB0C 0003CC00 */ sll $t9, $v1, 0x10 +/* 02D710 8002CB10 0002C400 */ sll $t8, $v0, 0x10 +/* 02D714 8002CB14 00191C03 */ sra $v1, $t9, 0x10 +/* 02D718 8002CB18 00181403 */ sra $v0, $t8, 0x10 +/* 02D71C 8002CB1C 00862021 */ addu $a0, $a0, $a2 +/* 02D720 8002CB20 00A0C825 */ move $t9, $a1 +/* 02D724 8002CB24 28410008 */ slti $at, $v0, 8 +/* 02D728 8002CB28 00047C00 */ sll $t7, $a0, 0x10 +/* 02D72C 8002CB2C 00197440 */ sll $t6, $t9, 0x11 +/* 02D730 8002CB30 000F2403 */ sra $a0, $t7, 0x10 +/* 02D734 8002CB34 1420FFEB */ bnez $at, .L8002CAE4 +/* 02D738 8002CB38 000E2C03 */ sra $a1, $t6, 0x10 +/* 02D73C 8002CB3C 86870004 */ lh $a3, 4($s4) +/* 02D740 8002CB40 868E000A */ lh $t6, 0xa($s4) +/* 02D744 8002CB44 00072400 */ sll $a0, $a3, 0x10 +/* 02D748 8002CB48 01C73023 */ subu $a2, $t6, $a3 +/* 02D74C 8002CB4C 000678C3 */ sra $t7, $a2, 3 +/* 02D750 8002CB50 25E60001 */ addiu $a2, $t7, 1 +/* 02D754 8002CB54 0006C400 */ sll $t8, $a2, 0x10 +/* 02D758 8002CB58 00183403 */ sra $a2, $t8, 0x10 +/* 02D75C 8002CB5C 00C71821 */ addu $v1, $a2, $a3 +/* 02D760 8002CB60 00037400 */ sll $t6, $v1, 0x10 +/* 02D764 8002CB64 0004C403 */ sra $t8, $a0, 0x10 +/* 02D768 8002CB68 000E1C03 */ sra $v1, $t6, 0x10 +/* 02D76C 8002CB6C 03002025 */ move $a0, $t8 +/* 02D770 8002CB70 00001025 */ move $v0, $zero +.L8002CB74: +/* 02D774 8002CB74 006B082A */ slt $at, $v1, $t3 +/* 02D778 8002CB78 14200007 */ bnez $at, .L8002CB98 +/* 02D77C 8002CB7C 00661821 */ addu $v1, $v1, $a2 +/* 02D780 8002CB80 0144082A */ slt $at, $t2, $a0 +/* 02D784 8002CB84 14200004 */ bnez $at, .L8002CB98 +/* 02D788 8002CB88 00000000 */ nop +/* 02D78C 8002CB8C 01254825 */ or $t1, $t1, $a1 +/* 02D790 8002CB90 0009CC00 */ sll $t9, $t1, 0x10 +/* 02D794 8002CB94 00194C03 */ sra $t1, $t9, 0x10 +.L8002CB98: +/* 02D798 8002CB98 24420001 */ addiu $v0, $v0, 1 +/* 02D79C 8002CB9C 00037C00 */ sll $t7, $v1, 0x10 +/* 02D7A0 8002CBA0 00027400 */ sll $t6, $v0, 0x10 +/* 02D7A4 8002CBA4 000F1C03 */ sra $v1, $t7, 0x10 +/* 02D7A8 8002CBA8 000E1403 */ sra $v0, $t6, 0x10 +/* 02D7AC 8002CBAC 00862021 */ addu $a0, $a0, $a2 +/* 02D7B0 8002CBB0 00A07825 */ move $t7, $a1 +/* 02D7B4 8002CBB4 28410008 */ slti $at, $v0, 8 +/* 02D7B8 8002CBB8 0004CC00 */ sll $t9, $a0, 0x10 +/* 02D7BC 8002CBBC 000FC440 */ sll $t8, $t7, 0x11 +/* 02D7C0 8002CBC0 00192403 */ sra $a0, $t9, 0x10 +/* 02D7C4 8002CBC4 1420FFEB */ bnez $at, .L8002CB74 +/* 02D7C8 8002CBC8 00182C03 */ sra $a1, $t8, 0x10 +/* 02D7CC 8002CBCC 8E780010 */ lw $t8, 0x10($s3) +/* 02D7D0 8002CBD0 00000000 */ nop +/* 02D7D4 8002CBD4 0312C821 */ addu $t9, $t8, $s2 +/* 02D7D8 8002CBD8 A7290000 */ sh $t1, ($t9) +.L8002CBDC: +/* 02D7DC 8002CBDC 26310001 */ addiu $s1, $s1, 1 +/* 02D7E0 8002CBE0 0236082A */ slt $at, $s1, $s6 +/* 02D7E4 8002CBE4 1420FF7A */ bnez $at, .L8002C9D0 +/* 02D7E8 8002CBE8 26520002 */ addiu $s2, $s2, 2 +/* 02D7EC 8002CBEC 86620020 */ lh $v0, 0x20($s3) +/* 02D7F0 8002CBF0 00000000 */ nop +.L8002CBF4: +/* 02D7F4 8002CBF4 02E2082A */ slt $at, $s7, $v0 +/* 02D7F8 8002CBF8 1420FF6A */ bnez $at, .L8002C9A4 +/* 02D7FC 8002CBFC 27DE000C */ addiu $fp, $fp, 0xc +.L8002CC00: +/* 02D800 8002CC00 8FBF002C */ lw $ra, 0x2c($sp) +/* 02D804 8002CC04 8FB00008 */ lw $s0, 8($sp) +/* 02D808 8002CC08 8FB1000C */ lw $s1, 0xc($sp) +/* 02D80C 8002CC0C 8FB20010 */ lw $s2, 0x10($sp) +/* 02D810 8002CC10 8FB30014 */ lw $s3, 0x14($sp) +/* 02D814 8002CC14 8FB40018 */ lw $s4, 0x18($sp) +/* 02D818 8002CC18 8FB5001C */ lw $s5, 0x1c($sp) +/* 02D81C 8002CC1C 8FB60020 */ lw $s6, 0x20($sp) +/* 02D820 8002CC20 8FB70024 */ lw $s7, 0x24($sp) +/* 02D824 8002CC24 8FBE0028 */ lw $fp, 0x28($sp) +/* 02D828 8002CC28 03E00008 */ jr $ra +/* 02D82C 8002CC2C 27BD0030 */ addiu $sp, $sp, 0x30 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002CC30.s b/asm/non_matchings/unknown_0255E0/func_8002CC30.s new file mode 100644 index 00000000..364f8434 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002CC30.s @@ -0,0 +1,462 @@ +glabel func_8002CC30 +/* 02D830 8002CC30 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 02D834 8002CC34 AFBF006C */ sw $ra, 0x6c($sp) +/* 02D838 8002CC38 AFBE0068 */ sw $fp, 0x68($sp) +/* 02D83C 8002CC3C AFB70064 */ sw $s7, 0x64($sp) +/* 02D840 8002CC40 AFB60060 */ sw $s6, 0x60($sp) +/* 02D844 8002CC44 AFB5005C */ sw $s5, 0x5c($sp) +/* 02D848 8002CC48 AFB40058 */ sw $s4, 0x58($sp) +/* 02D84C 8002CC4C AFB30054 */ sw $s3, 0x54($sp) +/* 02D850 8002CC50 AFB20050 */ sw $s2, 0x50($sp) +/* 02D854 8002CC54 AFB1004C */ sw $s1, 0x4c($sp) +/* 02D858 8002CC58 AFB00048 */ sw $s0, 0x48($sp) +/* 02D85C 8002CC5C E7BF0040 */ swc1 $f31, 0x40($sp) +/* 02D860 8002CC60 E7BE0044 */ swc1 $f30, 0x44($sp) +/* 02D864 8002CC64 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 02D868 8002CC68 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 02D86C 8002CC6C E7BB0030 */ swc1 $f27, 0x30($sp) +/* 02D870 8002CC70 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 02D874 8002CC74 E7B90028 */ swc1 $f25, 0x28($sp) +/* 02D878 8002CC78 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 02D87C 8002CC7C E7B70020 */ swc1 $f23, 0x20($sp) +/* 02D880 8002CC80 E7B60024 */ swc1 $f22, 0x24($sp) +/* 02D884 8002CC84 E7B50018 */ swc1 $f21, 0x18($sp) +/* 02D888 8002CC88 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 02D88C 8002CC8C AFA000EC */ sw $zero, 0xec($sp) +/* 02D890 8002CC90 84850020 */ lh $a1, 0x20($a0) +/* 02D894 8002CC94 00809025 */ move $s2, $a0 +/* 02D898 8002CC98 18A0009F */ blez $a1, .L8002CF18 +/* 02D89C 8002CC9C 0000A025 */ move $s4, $zero +/* 02D8A0 8002CCA0 AFA00074 */ sw $zero, 0x74($sp) +/* 02D8A4 8002CCA4 2408000A */ li $t0, 10 +.L8002CCA8: +/* 02D8A8 8002CCA8 8E4E000C */ lw $t6, 0xc($s2) +/* 02D8AC 8002CCAC 8FAF0074 */ lw $t7, 0x74($sp) +/* 02D8B0 8002CCB0 00000000 */ nop +/* 02D8B4 8002CCB4 01CF1021 */ addu $v0, $t6, $t7 +/* 02D8B8 8002CCB8 84430004 */ lh $v1, 4($v0) +/* 02D8BC 8002CCBC 84580010 */ lh $t8, 0x10($v0) +/* 02D8C0 8002CCC0 845E0002 */ lh $fp, 2($v0) +/* 02D8C4 8002CCC4 0078082A */ slt $at, $v1, $t8 +/* 02D8C8 8002CCC8 1020008B */ beqz $at, .L8002CEF8 +/* 02D8CC 8002CCCC AFB800F4 */ sw $t8, 0xf4($sp) +/* 02D8D0 8002CCD0 00032900 */ sll $a1, $v1, 4 +/* 02D8D4 8002CCD4 00188100 */ sll $s0, $t8, 4 +.L8002CCD8: +/* 02D8D8 8002CCD8 8E4A0004 */ lw $t2, 4($s2) +/* 02D8DC 8002CCDC 00000000 */ nop +/* 02D8E0 8002CCE0 01451821 */ addu $v1, $t2, $a1 +/* 02D8E4 8002CCE4 906B0000 */ lbu $t3, ($v1) +/* 02D8E8 8002CCE8 00000000 */ nop +/* 02D8EC 8002CCEC 316C0080 */ andi $t4, $t3, 0x80 +/* 02D8F0 8002CCF0 1580007B */ bnez $t4, .L8002CEE0 +/* 02D8F4 8002CCF4 00000000 */ nop +/* 02D8F8 8002CCF8 906D0001 */ lbu $t5, 1($v1) +/* 02D8FC 8002CCFC 8E440000 */ lw $a0, ($s2) +/* 02D900 8002CD00 01BE7021 */ addu $t6, $t5, $fp +/* 02D904 8002CD04 01C80019 */ multu $t6, $t0 +/* 02D908 8002CD08 00007812 */ mflo $t7 +/* 02D90C 8002CD0C 01E41021 */ addu $v0, $t7, $a0 +/* 02D910 8002CD10 844A0004 */ lh $t2, 4($v0) +/* 02D914 8002CD14 84580000 */ lh $t8, ($v0) +/* 02D918 8002CD18 448A4000 */ mtc1 $t2, $f8 +/* 02D91C 8002CD1C 84590002 */ lh $t9, 2($v0) +/* 02D920 8002CD20 468042A0 */ cvt.s.w $f10, $f8 +/* 02D924 8002CD24 44993000 */ mtc1 $t9, $f6 +/* 02D928 8002CD28 44982000 */ mtc1 $t8, $f4 +/* 02D92C 8002CD2C E7AA00BC */ swc1 $f10, 0xbc($sp) +/* 02D930 8002CD30 906B0002 */ lbu $t3, 2($v1) +/* 02D934 8002CD34 90790003 */ lbu $t9, 3($v1) +/* 02D938 8002CD38 017E6021 */ addu $t4, $t3, $fp +/* 02D93C 8002CD3C 01880019 */ multu $t4, $t0 +/* 02D940 8002CD40 033E5021 */ addu $t2, $t9, $fp +/* 02D944 8002CD44 468037A0 */ cvt.s.w $f30, $f6 +/* 02D948 8002CD48 C7BA00BC */ lwc1 $f26, 0xbc($sp) +/* 02D94C 8002CD4C 46802720 */ cvt.s.w $f28, $f4 +/* 02D950 8002CD50 00006812 */ mflo $t5 +/* 02D954 8002CD54 01A41021 */ addu $v0, $t5, $a0 +/* 02D958 8002CD58 844E0000 */ lh $t6, ($v0) +/* 02D95C 8002CD5C 01480019 */ multu $t2, $t0 +/* 02D960 8002CD60 844F0002 */ lh $t7, 2($v0) +/* 02D964 8002CD64 84580004 */ lh $t8, 4($v0) +/* 02D968 8002CD68 448E2000 */ mtc1 $t6, $f4 +/* 02D96C 8002CD6C 448F3000 */ mtc1 $t7, $f6 +/* 02D970 8002CD70 44984000 */ mtc1 $t8, $f8 +/* 02D974 8002CD74 46803320 */ cvt.s.w $f12, $f6 +/* 02D978 8002CD78 468043A0 */ cvt.s.w $f14, $f8 +/* 02D97C 8002CD7C 00005812 */ mflo $t3 +/* 02D980 8002CD80 01641021 */ addu $v0, $t3, $a0 +/* 02D984 8002CD84 844E0004 */ lh $t6, 4($v0) +/* 02D988 8002CD88 844C0000 */ lh $t4, ($v0) +/* 02D98C 8002CD8C 448E3000 */ mtc1 $t6, $f6 +/* 02D990 8002CD90 844D0002 */ lh $t5, 2($v0) +/* 02D994 8002CD94 46803020 */ cvt.s.w $f0, $f6 +/* 02D998 8002CD98 448C5000 */ mtc1 $t4, $f10 +/* 02D99C 8002CD9C AFA50078 */ sw $a1, 0x78($sp) +/* 02D9A0 8002CDA0 468020A0 */ cvt.s.w $f2, $f4 +/* 02D9A4 8002CDA4 448D2000 */ mtc1 $t5, $f4 +/* 02D9A8 8002CDA8 46007201 */ sub.s $f8, $f14, $f0 +/* 02D9AC 8002CDAC 46805420 */ cvt.s.w $f16, $f10 +/* 02D9B0 8002CDB0 461E4282 */ mul.s $f10, $f8, $f30 +/* 02D9B4 8002CDB4 468024A0 */ cvt.s.w $f18, $f4 +/* 02D9B8 8002CDB8 461A0101 */ sub.s $f4, $f0, $f26 +/* 02D9BC 8002CDBC 46046182 */ mul.s $f6, $f12, $f4 +/* 02D9C0 8002CDC0 460ED101 */ sub.s $f4, $f26, $f14 +/* 02D9C4 8002CDC4 46065200 */ add.s $f8, $f10, $f6 +/* 02D9C8 8002CDC8 46049282 */ mul.s $f10, $f18, $f4 +/* 02D9CC 8002CDCC 46101181 */ sub.s $f6, $f2, $f16 +/* 02D9D0 8002CDD0 461A3102 */ mul.s $f4, $f6, $f26 +/* 02D9D4 8002CDD4 460A4500 */ add.s $f20, $f8, $f10 +/* 02D9D8 8002CDD8 E7B400A0 */ swc1 $f20, 0xa0($sp) +/* 02D9DC 8002CDDC 461C8201 */ sub.s $f8, $f16, $f28 +/* 02D9E0 8002CDE0 46087282 */ mul.s $f10, $f14, $f8 +/* 02D9E4 8002CDE4 4602E201 */ sub.s $f8, $f28, $f2 +/* 02D9E8 8002CDE8 460A2180 */ add.s $f6, $f4, $f10 +/* 02D9EC 8002CDEC 46080102 */ mul.s $f4, $f0, $f8 +/* 02D9F0 8002CDF0 46126281 */ sub.s $f10, $f12, $f18 +/* 02D9F4 8002CDF4 461C5202 */ mul.s $f8, $f10, $f28 +/* 02D9F8 8002CDF8 46043580 */ add.s $f22, $f6, $f4 +/* 02D9FC 8002CDFC E7B6009C */ swc1 $f22, 0x9c($sp) +/* 02DA00 8002CE00 461E9181 */ sub.s $f6, $f18, $f30 +/* 02DA04 8002CE04 46061102 */ mul.s $f4, $f2, $f6 +/* 02DA08 8002CE08 460CF181 */ sub.s $f6, $f30, $f12 +/* 02DA0C 8002CE0C 46044280 */ add.s $f10, $f8, $f4 +/* 02DA10 8002CE10 46068202 */ mul.s $f8, $f16, $f6 +/* 02DA14 8002CE14 00000000 */ nop +/* 02DA18 8002CE18 4614A102 */ mul.s $f4, $f20, $f20 +/* 02DA1C 8002CE1C 46085600 */ add.s $f24, $f10, $f8 +/* 02DA20 8002CE20 E7B80098 */ swc1 $f24, 0x98($sp) +/* 02DA24 8002CE24 4616B182 */ mul.s $f6, $f22, $f22 +/* 02DA28 8002CE28 00000000 */ nop +/* 02DA2C 8002CE2C 4618C202 */ mul.s $f8, $f24, $f24 +/* 02DA30 8002CE30 46062280 */ add.s $f10, $f4, $f6 +/* 02DA34 8002CE34 0C0326B4 */ jal sqrtf +/* 02DA38 8002CE38 46085300 */ add.s $f12, $f10, $f8 +/* 02DA3C 8002CE3C 44802800 */ mtc1 $zero, $f5 +/* 02DA40 8002CE40 44802000 */ mtc1 $zero, $f4 +/* 02DA44 8002CE44 460001A1 */ cvt.d.s $f6, $f0 +/* 02DA48 8002CE48 4626203C */ c.lt.d $f4, $f6 +/* 02DA4C 8002CE4C 2408000A */ li $t0, 10 +/* 02DA50 8002CE50 45000009 */ bc1f .L8002CE78 +/* 02DA54 8002CE54 02801025 */ move $v0, $s4 +/* 02DA58 8002CE58 00000000 */ nop +/* 02DA5C 8002CE5C 4600A383 */ div.s $f14, $f20, $f0 +/* 02DA60 8002CE60 00000000 */ nop +/* 02DA64 8002CE64 4600B303 */ div.s $f12, $f22, $f0 +/* 02DA68 8002CE68 E7AE00A0 */ swc1 $f14, 0xa0($sp) +/* 02DA6C 8002CE6C 4600C083 */ div.s $f2, $f24, $f0 +/* 02DA70 8002CE70 E7AC009C */ swc1 $f12, 0x9c($sp) +/* 02DA74 8002CE74 E7A20098 */ swc1 $f2, 0x98($sp) +.L8002CE78: +/* 02DA78 8002CE78 8E580018 */ lw $t8, 0x18($s2) +/* 02DA7C 8002CE7C C7AE00A0 */ lwc1 $f14, 0xa0($sp) +/* 02DA80 8002CE80 00027900 */ sll $t7, $v0, 4 +/* 02DA84 8002CE84 C7A20098 */ lwc1 $f2, 0x98($sp) +/* 02DA88 8002CE88 C7AC009C */ lwc1 $f12, 0x9c($sp) +/* 02DA8C 8002CE8C 030FC821 */ addu $t9, $t8, $t7 +/* 02DA90 8002CE90 E72E0000 */ swc1 $f14, ($t9) +/* 02DA94 8002CE94 8E4A0018 */ lw $t2, 0x18($s2) +/* 02DA98 8002CE98 460EE282 */ mul.s $f10, $f28, $f14 +/* 02DA9C 8002CE9C 014F5821 */ addu $t3, $t2, $t7 +/* 02DAA0 8002CEA0 E56C0004 */ swc1 $f12, 4($t3) +/* 02DAA4 8002CEA4 8E4C0018 */ lw $t4, 0x18($s2) +/* 02DAA8 8002CEA8 460CF202 */ mul.s $f8, $f30, $f12 +/* 02DAAC 8002CEAC 018F6821 */ addu $t5, $t4, $t7 +/* 02DAB0 8002CEB0 E5A20008 */ swc1 $f2, 8($t5) +/* 02DAB4 8002CEB4 C7A600BC */ lwc1 $f6, 0xbc($sp) +/* 02DAB8 8002CEB8 46085100 */ add.s $f4, $f10, $f8 +/* 02DABC 8002CEBC 8E4E0018 */ lw $t6, 0x18($s2) +/* 02DAC0 8002CEC0 46023282 */ mul.s $f10, $f6, $f2 +/* 02DAC4 8002CEC4 01CF7821 */ addu $t7, $t6, $t7 +/* 02DAC8 8002CEC8 26940001 */ addiu $s4, $s4, 1 +/* 02DACC 8002CECC 460A2200 */ add.s $f8, $f4, $f10 +/* 02DAD0 8002CED0 46004187 */ neg.s $f6, $f8 +/* 02DAD4 8002CED4 E5E6000C */ swc1 $f6, 0xc($t7) +/* 02DAD8 8002CED8 8FA50078 */ lw $a1, 0x78($sp) +/* 02DADC 8002CEDC 00000000 */ nop +.L8002CEE0: +/* 02DAE0 8002CEE0 24A50010 */ addiu $a1, $a1, 0x10 +/* 02DAE4 8002CEE4 00B0082A */ slt $at, $a1, $s0 +/* 02DAE8 8002CEE8 1420FF7B */ bnez $at, .L8002CCD8 +/* 02DAEC 8002CEEC 00000000 */ nop +/* 02DAF0 8002CEF0 86450020 */ lh $a1, 0x20($s2) +/* 02DAF4 8002CEF4 00000000 */ nop +.L8002CEF8: +/* 02DAF8 8002CEF8 8FB800EC */ lw $t8, 0xec($sp) +/* 02DAFC 8002CEFC 8FAA0074 */ lw $t2, 0x74($sp) +/* 02DB00 8002CF00 27190001 */ addiu $t9, $t8, 1 +/* 02DB04 8002CF04 0325082A */ slt $at, $t9, $a1 +/* 02DB08 8002CF08 254B000C */ addiu $t3, $t2, 0xc +/* 02DB0C 8002CF0C AFAB0074 */ sw $t3, 0x74($sp) +/* 02DB10 8002CF10 1420FF65 */ bnez $at, .L8002CCA8 +/* 02DB14 8002CF14 AFB900EC */ sw $t9, 0xec($sp) +.L8002CF18: +/* 02DB18 8002CF18 3C0C8012 */ lui $t4, %hi(D_8011B0F8) # $t4, 0x8012 +/* 02DB1C 8002CF1C 8D8CB0F8 */ lw $t4, %lo(D_8011B0F8)($t4) +/* 02DB20 8002CF20 2408000A */ li $t0, 10 +/* 02DB24 8002CF24 11800003 */ beqz $t4, .L8002CF34 +/* 02DB28 8002CF28 02804825 */ move $t1, $s4 +/* 02DB2C 8002CF2C 100000DF */ b .L8002D2AC +/* 02DB30 8002CF30 00141100 */ sll $v0, $s4, 4 +.L8002CF34: +/* 02DB34 8002CF34 18A000DC */ blez $a1, .L8002D2A8 +/* 02DB38 8002CF38 AFA000EC */ sw $zero, 0xec($sp) +/* 02DB3C 8002CF3C AFA00074 */ sw $zero, 0x74($sp) +/* 02DB40 8002CF40 24130006 */ li $s3, 6 +.L8002CF44: +/* 02DB44 8002CF44 8E4D000C */ lw $t5, 0xc($s2) +/* 02DB48 8002CF48 8FAE0074 */ lw $t6, 0x74($sp) +/* 02DB4C 8002CF4C 00000000 */ nop +/* 02DB50 8002CF50 01AE1021 */ addu $v0, $t5, $t6 +/* 02DB54 8002CF54 844F0010 */ lh $t7, 0x10($v0) +/* 02DB58 8002CF58 84430004 */ lh $v1, 4($v0) +/* 02DB5C 8002CF5C 845E0002 */ lh $fp, 2($v0) +/* 02DB60 8002CF60 AFAF00F4 */ sw $t7, 0xf4($sp) +/* 02DB64 8002CF64 8C580008 */ lw $t8, 8($v0) +/* 02DB68 8002CF68 8FAB00F4 */ lw $t3, 0xf4($sp) +/* 02DB6C 8002CF6C 330A0200 */ andi $t2, $t8, 0x200 +/* 02DB70 8002CF70 11400003 */ beqz $t2, .L8002CF80 +/* 02DB74 8002CF74 006B082A */ slt $at, $v1, $t3 +/* 02DB78 8002CF78 01E01825 */ move $v1, $t7 +/* 02DB7C 8002CF7C 006B082A */ slt $at, $v1, $t3 +.L8002CF80: +/* 02DB80 8002CF80 102000C1 */ beqz $at, .L8002D288 +/* 02DB84 8002CF84 0060B825 */ move $s7, $v1 +/* 02DB88 8002CF88 00032100 */ sll $a0, $v1, 4 +.L8002CF8C: +/* 02DB8C 8002CF8C 8E590004 */ lw $t9, 4($s2) +/* 02DB90 8002CF90 00000000 */ nop +/* 02DB94 8002CF94 03246021 */ addu $t4, $t9, $a0 +/* 02DB98 8002CF98 918D0000 */ lbu $t5, ($t4) +/* 02DB9C 8002CF9C 00000000 */ nop +/* 02DBA0 8002CFA0 31AE0080 */ andi $t6, $t5, 0x80 +/* 02DBA4 8002CFA4 15C000B3 */ bnez $t6, .L8002D274 +/* 02DBA8 8002CFA8 8FB900F4 */ lw $t9, 0xf4($sp) +/* 02DBAC 8002CFAC 8E4F0014 */ lw $t7, 0x14($s2) +/* 02DBB0 8002CFB0 0017C0C0 */ sll $t8, $s7, 3 +/* 02DBB4 8002CFB4 01F85021 */ addu $t2, $t7, $t8 +/* 02DBB8 8002CFB8 95510000 */ lhu $s1, ($t2) +/* 02DBBC 8002CFBC 8E4B0018 */ lw $t3, 0x18($s2) +/* 02DBC0 8002CFC0 00116100 */ sll $t4, $s1, 4 +/* 02DBC4 8002CFC4 016C1821 */ addu $v1, $t3, $t4 +/* 02DBC8 8002CFC8 C4640000 */ lwc1 $f4, ($v1) +/* 02DBCC 8002CFCC 00001025 */ move $v0, $zero +/* 02DBD0 8002CFD0 E7A400A0 */ swc1 $f4, 0xa0($sp) +/* 02DBD4 8002CFD4 C46A0004 */ lwc1 $f10, 4($v1) +/* 02DBD8 8002CFD8 0000A825 */ move $s5, $zero +/* 02DBDC 8002CFDC E7AA009C */ swc1 $f10, 0x9c($sp) +/* 02DBE0 8002CFE0 C4680008 */ lwc1 $f8, 8($v1) +/* 02DBE4 8002CFE4 AFA40078 */ sw $a0, 0x78($sp) +/* 02DBE8 8002CFE8 E7A80098 */ swc1 $f8, 0x98($sp) +.L8002CFEC: +/* 02DBEC 8002CFEC 8E4D0004 */ lw $t5, 4($s2) +/* 02DBF0 8002CFF0 8E4F0014 */ lw $t7, 0x14($s2) +/* 02DBF4 8002CFF4 24560001 */ addiu $s6, $v0, 1 +/* 02DBF8 8002CFF8 00177100 */ sll $t6, $s7, 4 +/* 02DBFC 8002CFFC 0017C0C0 */ sll $t8, $s7, 3 +/* 02DC00 8002D000 2AC10003 */ slti $at, $s6, 3 +/* 02DC04 8002D004 01AE1821 */ addu $v1, $t5, $t6 +/* 02DC08 8002D008 01F85021 */ addu $t2, $t7, $t8 +/* 02DC0C 8002D00C 02C08025 */ move $s0, $s6 +/* 02DC10 8002D010 01553821 */ addu $a3, $t2, $s5 +/* 02DC14 8002D014 14200002 */ bnez $at, .L8002D020 +/* 02DC18 8002D018 00622021 */ addu $a0, $v1, $v0 +/* 02DC1C 8002D01C 00008025 */ move $s0, $zero +.L8002D020: +/* 02DC20 8002D020 00705821 */ addu $t3, $v1, $s0 +/* 02DC24 8002D024 94F00002 */ lhu $s0, 2($a3) +/* 02DC28 8002D028 90990001 */ lbu $t9, 1($a0) +/* 02DC2C 8002D02C 916C0001 */ lbu $t4, 1($t3) +/* 02DC30 8002D030 0209082A */ slt $at, $s0, $t1 +/* 02DC34 8002D034 033E2821 */ addu $a1, $t9, $fp +/* 02DC38 8002D038 10200087 */ beqz $at, .L8002D258 +/* 02DC3C 8002D03C 019E3021 */ addu $a2, $t4, $fp +/* 02DC40 8002D040 00A80019 */ multu $a1, $t0 +/* 02DC44 8002D044 8E4D0018 */ lw $t5, 0x18($s2) +/* 02DC48 8002D048 00107900 */ sll $t7, $s0, 4 +/* 02DC4C 8002D04C 01AF1821 */ addu $v1, $t5, $t7 +/* 02DC50 8002D050 C4660000 */ lwc1 $f6, ($v1) +/* 02DC54 8002D054 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 02DC58 8002D058 8E440000 */ lw $a0, ($s2) +/* 02DC5C 8002D05C 46043500 */ add.s $f20, $f6, $f4 +/* 02DC60 8002D060 C7A40098 */ lwc1 $f4, 0x98($sp) +/* 02DC64 8002D064 C4660008 */ lwc1 $f6, 8($v1) +/* 02DC68 8002D068 C46A0004 */ lwc1 $f10, 4($v1) +/* 02DC6C 8002D06C 46043680 */ add.s $f26, $f6, $f4 +/* 02DC70 8002D070 0000C012 */ mflo $t8 +/* 02DC74 8002D074 00981021 */ addu $v0, $a0, $t8 +/* 02DC78 8002D078 844B0004 */ lh $t3, 4($v0) +/* 02DC7C 8002D07C 00C80019 */ multu $a2, $t0 +/* 02DC80 8002D080 448B3000 */ mtc1 $t3, $f6 +/* 02DC84 8002D084 C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 02DC88 8002D088 46803120 */ cvt.s.w $f4, $f6 +/* 02DC8C 8002D08C 844A0000 */ lh $t2, ($v0) +/* 02DC90 8002D090 84590002 */ lh $t9, 2($v0) +/* 02DC94 8002D094 46085580 */ add.s $f22, $f10, $f8 +/* 02DC98 8002D098 448A5000 */ mtc1 $t2, $f10 +/* 02DC9C 8002D09C 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 02DCA0 8002D0A0 E7A400BC */ swc1 $f4, 0xbc($sp) +/* 02DCA4 8002D0A4 44810000 */ mtc1 $at, $f0 +/* 02DCA8 8002D0A8 44994000 */ mtc1 $t9, $f8 +/* 02DCAC 8002D0AC 00006012 */ mflo $t4 +/* 02DCB0 8002D0B0 008C1021 */ addu $v0, $a0, $t4 +/* 02DCB4 8002D0B4 844E0000 */ lh $t6, ($v0) +/* 02DCB8 8002D0B8 46805720 */ cvt.s.w $f28, $f10 +/* 02DCBC 8002D0BC 844D0002 */ lh $t5, 2($v0) +/* 02DCC0 8002D0C0 448E5000 */ mtc1 $t6, $f10 +/* 02DCC4 8002D0C4 4600A102 */ mul.s $f4, $f20, $f0 +/* 02DCC8 8002D0C8 844F0004 */ lh $t7, 4($v0) +/* 02DCCC 8002D0CC AFA900D0 */ sw $t1, 0xd0($sp) +/* 02DCD0 8002D0D0 448F3000 */ mtc1 $t7, $f6 +/* 02DCD4 8002D0D4 468047A0 */ cvt.s.w $f30, $f8 +/* 02DCD8 8002D0D8 448D4000 */ mtc1 $t5, $f8 +/* 02DCDC 8002D0DC 468050A0 */ cvt.s.w $f2, $f10 +/* 02DCE0 8002D0E0 4600B282 */ mul.s $f10, $f22, $f0 +/* 02DCE4 8002D0E4 461C2400 */ add.s $f16, $f4, $f28 +/* 02DCE8 8002D0E8 C7A400BC */ lwc1 $f4, 0xbc($sp) +/* 02DCEC 8002D0EC 46804320 */ cvt.s.w $f12, $f8 +/* 02DCF0 8002D0F0 44814000 */ mtc1 $at, $f8 +/* 02DCF4 8002D0F4 468033A0 */ cvt.s.w $f14, $f6 +/* 02DCF8 8002D0F8 4608D182 */ mul.s $f6, $f26, $f8 +/* 02DCFC 8002D0FC 461E5480 */ add.s $f18, $f10, $f30 +/* 02DD00 8002D100 46043000 */ add.s $f0, $f6, $f4 +/* 02DD04 8002D104 46007281 */ sub.s $f10, $f14, $f0 +/* 02DD08 8002D108 461E5202 */ mul.s $f8, $f10, $f30 +/* 02DD0C 8002D10C 46040181 */ sub.s $f6, $f0, $f4 +/* 02DD10 8002D110 46066282 */ mul.s $f10, $f12, $f6 +/* 02DD14 8002D114 460A4180 */ add.s $f6, $f8, $f10 +/* 02DD18 8002D118 460E2201 */ sub.s $f8, $f4, $f14 +/* 02DD1C 8002D11C 46089282 */ mul.s $f10, $f18, $f8 +/* 02DD20 8002D120 46101201 */ sub.s $f8, $f2, $f16 +/* 02DD24 8002D124 460A3500 */ add.s $f20, $f6, $f10 +/* 02DD28 8002D128 46044182 */ mul.s $f6, $f8, $f4 +/* 02DD2C 8002D12C 461C8281 */ sub.s $f10, $f16, $f28 +/* 02DD30 8002D130 460A7202 */ mul.s $f8, $f14, $f10 +/* 02DD34 8002D134 4602E281 */ sub.s $f10, $f28, $f2 +/* 02DD38 8002D138 46083100 */ add.s $f4, $f6, $f8 +/* 02DD3C 8002D13C 460A0182 */ mul.s $f6, $f0, $f10 +/* 02DD40 8002D140 46126201 */ sub.s $f8, $f12, $f18 +/* 02DD44 8002D144 461C4282 */ mul.s $f10, $f8, $f28 +/* 02DD48 8002D148 46062580 */ add.s $f22, $f4, $f6 +/* 02DD4C 8002D14C 461E9101 */ sub.s $f4, $f18, $f30 +/* 02DD50 8002D150 46041182 */ mul.s $f6, $f2, $f4 +/* 02DD54 8002D154 460CF101 */ sub.s $f4, $f30, $f12 +/* 02DD58 8002D158 46065200 */ add.s $f8, $f10, $f6 +/* 02DD5C 8002D15C 46048282 */ mul.s $f10, $f16, $f4 +/* 02DD60 8002D160 00000000 */ nop +/* 02DD64 8002D164 4614A182 */ mul.s $f6, $f20, $f20 +/* 02DD68 8002D168 460A4600 */ add.s $f24, $f8, $f10 +/* 02DD6C 8002D16C 4616B102 */ mul.s $f4, $f22, $f22 +/* 02DD70 8002D170 4600C686 */ mov.s $f26, $f24 +/* 02DD74 8002D174 4618C282 */ mul.s $f10, $f24, $f24 +/* 02DD78 8002D178 46043200 */ add.s $f8, $f6, $f4 +/* 02DD7C 8002D17C 0C0326B4 */ jal sqrtf +/* 02DD80 8002D180 460A4300 */ add.s $f12, $f8, $f10 +/* 02DD84 8002D184 44803800 */ mtc1 $zero, $f7 +/* 02DD88 8002D188 44803000 */ mtc1 $zero, $f6 +/* 02DD8C 8002D18C 46000121 */ cvt.d.s $f4, $f0 +/* 02DD90 8002D190 4624303C */ c.lt.d $f6, $f4 +/* 02DD94 8002D194 8FA900D0 */ lw $t1, 0xd0($sp) +/* 02DD98 8002D198 45000007 */ bc1f .L8002D1B8 +/* 02DD9C 8002D19C 2408000A */ li $t0, 10 +/* 02DDA0 8002D1A0 00000000 */ nop +/* 02DDA4 8002D1A4 4600A503 */ div.s $f20, $f20, $f0 +/* 02DDA8 8002D1A8 00000000 */ nop +/* 02DDAC 8002D1AC 4600B583 */ div.s $f22, $f22, $f0 +/* 02DDB0 8002D1B0 00000000 */ nop +/* 02DDB4 8002D1B4 4600C683 */ div.s $f26, $f24, $f0 +.L8002D1B8: +/* 02DDB8 8002D1B8 1211000D */ beq $s0, $s1, .L8002D1F0 +/* 02DDBC 8002D1BC 001768C0 */ sll $t5, $s7, 3 +/* 02DDC0 8002D1C0 00001025 */ move $v0, $zero +.L8002D1C4: +/* 02DDC4 8002D1C4 8E580014 */ lw $t8, 0x14($s2) +/* 02DDC8 8002D1C8 001050C0 */ sll $t2, $s0, 3 +/* 02DDCC 8002D1CC 030AC821 */ addu $t9, $t8, $t2 +/* 02DDD0 8002D1D0 03221821 */ addu $v1, $t9, $v0 +/* 02DDD4 8002D1D4 946B0002 */ lhu $t3, 2($v1) +/* 02DDD8 8002D1D8 24420002 */ addiu $v0, $v0, 2 +/* 02DDDC 8002D1DC 162B0002 */ bne $s1, $t3, .L8002D1E8 +/* 02DDE0 8002D1E0 368C8000 */ ori $t4, $s4, 0x8000 +/* 02DDE4 8002D1E4 A46C0002 */ sh $t4, 2($v1) +.L8002D1E8: +/* 02DDE8 8002D1E8 1453FFF6 */ bne $v0, $s3, .L8002D1C4 +/* 02DDEC 8002D1EC 00000000 */ nop +.L8002D1F0: +/* 02DDF0 8002D1F0 8E4E0014 */ lw $t6, 0x14($s2) +/* 02DDF4 8002D1F4 02801025 */ move $v0, $s4 +/* 02DDF8 8002D1F8 01CD7821 */ addu $t7, $t6, $t5 +/* 02DDFC 8002D1FC 01F5C021 */ addu $t8, $t7, $s5 +/* 02DE00 8002D200 A7140002 */ sh $s4, 2($t8) +/* 02DE04 8002D204 8E590018 */ lw $t9, 0x18($s2) +/* 02DE08 8002D208 00025100 */ sll $t2, $v0, 4 +/* 02DE0C 8002D20C 032A5821 */ addu $t3, $t9, $t2 +/* 02DE10 8002D210 E5740000 */ swc1 $f20, ($t3) +/* 02DE14 8002D214 8E4C0018 */ lw $t4, 0x18($s2) +/* 02DE18 8002D218 4614E202 */ mul.s $f8, $f28, $f20 +/* 02DE1C 8002D21C 018A7021 */ addu $t6, $t4, $t2 +/* 02DE20 8002D220 E5D60004 */ swc1 $f22, 4($t6) +/* 02DE24 8002D224 8E4D0018 */ lw $t5, 0x18($s2) +/* 02DE28 8002D228 4616F282 */ mul.s $f10, $f30, $f22 +/* 02DE2C 8002D22C 01AA7821 */ addu $t7, $t5, $t2 +/* 02DE30 8002D230 E5FA0008 */ swc1 $f26, 8($t7) +/* 02DE34 8002D234 C7A400BC */ lwc1 $f4, 0xbc($sp) +/* 02DE38 8002D238 460A4180 */ add.s $f6, $f8, $f10 +/* 02DE3C 8002D23C 8E580018 */ lw $t8, 0x18($s2) +/* 02DE40 8002D240 461A2202 */ mul.s $f8, $f4, $f26 +/* 02DE44 8002D244 030A5021 */ addu $t2, $t8, $t2 +/* 02DE48 8002D248 26940001 */ addiu $s4, $s4, 1 +/* 02DE4C 8002D24C 46083280 */ add.s $f10, $f6, $f8 +/* 02DE50 8002D250 46005107 */ neg.s $f4, $f10 +/* 02DE54 8002D254 E544000C */ swc1 $f4, 0xc($t2) +.L8002D258: +/* 02DE58 8002D258 24010003 */ li $at, 3 +/* 02DE5C 8002D25C 02C01025 */ move $v0, $s6 +/* 02DE60 8002D260 16C1FF62 */ bne $s6, $at, .L8002CFEC +/* 02DE64 8002D264 26B50002 */ addiu $s5, $s5, 2 +/* 02DE68 8002D268 8FA40078 */ lw $a0, 0x78($sp) +/* 02DE6C 8002D26C 00000000 */ nop +/* 02DE70 8002D270 8FB900F4 */ lw $t9, 0xf4($sp) +.L8002D274: +/* 02DE74 8002D274 26F70001 */ addiu $s7, $s7, 1 +/* 02DE78 8002D278 16F9FF44 */ bne $s7, $t9, .L8002CF8C +/* 02DE7C 8002D27C 24840010 */ addiu $a0, $a0, 0x10 +/* 02DE80 8002D280 86450020 */ lh $a1, 0x20($s2) +/* 02DE84 8002D284 00000000 */ nop +.L8002D288: +/* 02DE88 8002D288 8FAB00EC */ lw $t3, 0xec($sp) +/* 02DE8C 8002D28C 8FAE0074 */ lw $t6, 0x74($sp) +/* 02DE90 8002D290 256C0001 */ addiu $t4, $t3, 1 +/* 02DE94 8002D294 0185082A */ slt $at, $t4, $a1 +/* 02DE98 8002D298 25CD000C */ addiu $t5, $t6, 0xc +/* 02DE9C 8002D29C AFAD0074 */ sw $t5, 0x74($sp) +/* 02DEA0 8002D2A0 1420FF28 */ bnez $at, .L8002CF44 +/* 02DEA4 8002D2A4 AFAC00EC */ sw $t4, 0xec($sp) +.L8002D2A8: +/* 02DEA8 8002D2A8 00141100 */ sll $v0, $s4, 4 +.L8002D2AC: +/* 02DEAC 8002D2AC 8FBF006C */ lw $ra, 0x6c($sp) +/* 02DEB0 8002D2B0 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 02DEB4 8002D2B4 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 02DEB8 8002D2B8 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 02DEBC 8002D2BC C7B60024 */ lwc1 $f22, 0x24($sp) +/* 02DEC0 8002D2C0 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 02DEC4 8002D2C4 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 02DEC8 8002D2C8 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 02DECC 8002D2CC C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 02DED0 8002D2D0 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 02DED4 8002D2D4 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 02DED8 8002D2D8 C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 02DEDC 8002D2DC C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 02DEE0 8002D2E0 8FB00048 */ lw $s0, 0x48($sp) +/* 02DEE4 8002D2E4 8FB1004C */ lw $s1, 0x4c($sp) +/* 02DEE8 8002D2E8 8FB20050 */ lw $s2, 0x50($sp) +/* 02DEEC 8002D2EC 8FB30054 */ lw $s3, 0x54($sp) +/* 02DEF0 8002D2F0 8FB40058 */ lw $s4, 0x58($sp) +/* 02DEF4 8002D2F4 8FB5005C */ lw $s5, 0x5c($sp) +/* 02DEF8 8002D2F8 8FB60060 */ lw $s6, 0x60($sp) +/* 02DEFC 8002D2FC 8FB70064 */ lw $s7, 0x64($sp) +/* 02DF00 8002D300 8FBE0068 */ lw $fp, 0x68($sp) +/* 02DF04 8002D304 03E00008 */ jr $ra +/* 02DF08 8002D308 27BD0100 */ addiu $sp, $sp, 0x100 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002D30C.s b/asm/non_matchings/unknown_0255E0/func_8002D30C.s new file mode 100644 index 00000000..c0e45cf7 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002D30C.s @@ -0,0 +1,36 @@ +glabel func_8002D30C +/* 02DF0C 8002D30C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 02DF10 8002D310 AFB10018 */ sw $s1, 0x18($sp) +/* 02DF14 8002D314 AFB00014 */ sw $s0, 0x14($sp) +/* 02DF18 8002D318 00808025 */ move $s0, $a0 +/* 02DF1C 8002D31C 00A08825 */ move $s1, $a1 +/* 02DF20 8002D320 AFBF001C */ sw $ra, 0x1c($sp) +/* 02DF24 8002D324 12000013 */ beqz $s0, .L8002D374 +/* 02DF28 8002D328 8FBF001C */ lw $ra, 0x1c($sp) +.L8002D32C: +/* 02DF2C 8002D32C 8E020004 */ lw $v0, 4($s0) +/* 02DF30 8002D330 00000000 */ nop +/* 02DF34 8002D334 10400002 */ beqz $v0, .L8002D340 +/* 02DF38 8002D338 00517021 */ addu $t6, $v0, $s1 +/* 02DF3C 8002D33C AE0E0004 */ sw $t6, 4($s0) +.L8002D340: +/* 02DF40 8002D340 8E020008 */ lw $v0, 8($s0) +/* 02DF44 8002D344 00000000 */ nop +/* 02DF48 8002D348 10400002 */ beqz $v0, .L8002D354 +/* 02DF4C 8002D34C 00517821 */ addu $t7, $v0, $s1 +/* 02DF50 8002D350 AE0F0008 */ sw $t7, 8($s0) +.L8002D354: +/* 02DF54 8002D354 8E040004 */ lw $a0, 4($s0) +/* 02DF58 8002D358 0C00B4C3 */ jal func_8002D30C +/* 02DF5C 8002D35C 02202825 */ move $a1, $s1 +/* 02DF60 8002D360 8E100008 */ lw $s0, 8($s0) +/* 02DF64 8002D364 00000000 */ nop +/* 02DF68 8002D368 1600FFF0 */ bnez $s0, .L8002D32C +/* 02DF6C 8002D36C 00000000 */ nop +/* 02DF70 8002D370 8FBF001C */ lw $ra, 0x1c($sp) +.L8002D374: +/* 02DF74 8002D374 8FB00014 */ lw $s0, 0x14($sp) +/* 02DF78 8002D378 8FB10018 */ lw $s1, 0x18($sp) +/* 02DF7C 8002D37C 03E00008 */ jr $ra +/* 02DF80 8002D380 27BD0020 */ addiu $sp, $sp, 0x20 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002D384.s b/asm/non_matchings/unknown_0255E0/func_8002D384.s new file mode 100644 index 00000000..534a43a8 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002D384.s @@ -0,0 +1,199 @@ +glabel func_8002D384 +/* 02DF84 8002D384 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 02DF88 8002D388 AFBF003C */ sw $ra, 0x3c($sp) +/* 02DF8C 8002D38C AFBE0038 */ sw $fp, 0x38($sp) +/* 02DF90 8002D390 AFB70034 */ sw $s7, 0x34($sp) +/* 02DF94 8002D394 AFB60030 */ sw $s6, 0x30($sp) +/* 02DF98 8002D398 AFB5002C */ sw $s5, 0x2c($sp) +/* 02DF9C 8002D39C AFB40028 */ sw $s4, 0x28($sp) +/* 02DFA0 8002D3A0 AFB30024 */ sw $s3, 0x24($sp) +/* 02DFA4 8002D3A4 AFB20020 */ sw $s2, 0x20($sp) +/* 02DFA8 8002D3A8 AFB1001C */ sw $s1, 0x1c($sp) +/* 02DFAC 8002D3AC AFB00018 */ sw $s0, 0x18($sp) +/* 02DFB0 8002D3B0 8C8E0040 */ lw $t6, 0x40($a0) +/* 02DFB4 8002D3B4 00803025 */ move $a2, $a0 +/* 02DFB8 8002D3B8 85CF0032 */ lh $t7, 0x32($t6) +/* 02DFBC 8002D3BC 00A03825 */ move $a3, $a1 +/* 02DFC0 8002D3C0 11E000A0 */ beqz $t7, .L8002D644 +/* 02DFC4 8002D3C4 8FBF003C */ lw $ra, 0x3c($sp) +/* 02DFC8 8002D3C8 84B80008 */ lh $t8, 8($a1) +/* 02DFCC 8002D3CC 2401FFFF */ li $at, -1 +/* 02DFD0 8002D3D0 1301009B */ beq $t8, $at, .L8002D640 +/* 02DFD4 8002D3D4 3C198012 */ lui $t9, %hi(D_8011B0C4) # $t9, 0x8012 +/* 02DFD8 8002D3D8 8F39B0C4 */ lw $t9, %lo(D_8011B0C4)($t9) +/* 02DFDC 8002D3DC 3C048012 */ lui $a0, %hi(D_8011B0CC) # $a0, 0x8012 +/* 02DFE0 8002D3E0 17200097 */ bnez $t9, .L8002D640 +/* 02DFE4 8002D3E4 3C0D8012 */ lui $t5, %hi(D_8011B0C8) # $t5, 0x8012 +/* 02DFE8 8002D3E8 8DADB0C8 */ lw $t5, %lo(D_8011B0C8)($t5) +/* 02DFEC 8002D3EC 2484B0CC */ addiu $a0, %lo(D_8011B0CC) # addiu $a0, $a0, -0x4f34 +/* 02DFF0 8002D3F0 AC8D0000 */ sw $t5, ($a0) +/* 02DFF4 8002D3F4 8CCE0040 */ lw $t6, 0x40($a2) +/* 02DFF8 8002D3F8 24010001 */ li $at, 1 +/* 02DFFC 8002D3FC 85CF0032 */ lh $t7, 0x32($t6) +/* 02E000 8002D400 3C148012 */ lui $s4, %hi(D_8011D360) # $s4, 0x8012 +/* 02E004 8002D404 15E10003 */ bne $t7, $at, .L8002D414 +/* 02E008 8002D408 2694D360 */ addiu $s4, %lo(D_8011D360) # addiu $s4, $s4, -0x2ca0 +/* 02E00C 8002D40C 25B90002 */ addiu $t9, $t5, 2 +/* 02E010 8002D410 AC990000 */ sw $t9, ($a0) +.L8002D414: +/* 02E014 8002D414 8C820000 */ lw $v0, ($a0) +/* 02E018 8002D418 3C0E8012 */ lui $t6, 0x8012 +/* 02E01C 8002D41C 00026880 */ sll $t5, $v0, 2 +/* 02E020 8002D420 01CD7021 */ addu $t6, $t6, $t5 +/* 02E024 8002D424 8DCED350 */ lw $t6, -0x2cb0($t6) +/* 02E028 8002D428 84F30008 */ lh $s3, 8($a3) +/* 02E02C 8002D42C 3C0F8012 */ lui $t7, 0x8012 +/* 02E030 8002D430 01ED7821 */ addu $t7, $t7, $t5 +/* 02E034 8002D434 AE8E0000 */ sw $t6, ($s4) +/* 02E038 8002D438 8DEFD320 */ lw $t7, -0x2ce0($t7) +/* 02E03C 8002D43C 3C018012 */ lui $at, %hi(D_8011D330) # $at, 0x8012 +/* 02E040 8002D440 3C188012 */ lui $t8, 0x8012 +/* 02E044 8002D444 030DC021 */ addu $t8, $t8, $t5 +/* 02E048 8002D448 AC2FD330 */ sw $t7, %lo(D_8011D330)($at) +/* 02E04C 8002D44C 8F18D338 */ lw $t8, -0x2cc8($t8) +/* 02E050 8002D450 8E990000 */ lw $t9, ($s4) +/* 02E054 8002D454 3C178012 */ lui $s7, %hi(D_8011D348) # $s7, 0x8012 +/* 02E058 8002D458 26F7D348 */ addiu $s7, %lo(D_8011D348) # addiu $s7, $s7, -0x2cb8 +/* 02E05C 8002D45C 001368C0 */ sll $t5, $s3, 3 +/* 02E060 8002D460 AEF80000 */ sw $t8, ($s7) +/* 02E064 8002D464 032D7021 */ addu $t6, $t9, $t5 +/* 02E068 8002D468 85CF0006 */ lh $t7, 6($t6) +/* 02E06C 8002D46C 8EF90000 */ lw $t9, ($s7) +/* 02E070 8002D470 000FC080 */ sll $t8, $t7, 2 +/* 02E074 8002D474 030FC021 */ addu $t8, $t8, $t7 +/* 02E078 8002D478 0018C040 */ sll $t8, $t8, 1 +/* 02E07C 8002D47C 03386821 */ addu $t5, $t9, $t8 +/* 02E080 8002D480 91A30009 */ lbu $v1, 9($t5) +/* 02E084 8002D484 241E000A */ li $fp, 10 +/* 02E088 8002D488 10600005 */ beqz $v1, .L8002D4A0 +/* 02E08C 8002D48C 3C160500 */ lui $s6, 0x500 +/* 02E090 8002D490 90C50039 */ lbu $a1, 0x39($a2) +/* 02E094 8002D494 240200FF */ li $v0, 255 +/* 02E098 8002D498 14A00004 */ bnez $a1, .L8002D4AC +/* 02E09C 8002D49C 00000000 */ nop +.L8002D4A0: +/* 02E0A0 8002D4A0 84F3000A */ lh $s3, 0xa($a3) +/* 02E0A4 8002D4A4 10000015 */ b .L8002D4FC +/* 02E0A8 8002D4A8 84EE000A */ lh $t6, 0xa($a3) +.L8002D4AC: +/* 02E0AC 8002D4AC 14620003 */ bne $v1, $v0, .L8002D4BC +/* 02E0B0 8002D4B0 00000000 */ nop +/* 02E0B4 8002D4B4 10450010 */ beq $v0, $a1, .L8002D4F8 +/* 02E0B8 8002D4B8 00000000 */ nop +.L8002D4BC: +/* 02E0BC 8002D4BC 00A30019 */ multu $a1, $v1 +/* 02E0C0 8002D4C0 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 +/* 02E0C4 8002D4C4 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 +/* 02E0C8 8002D4C8 8E240000 */ lw $a0, ($s1) +/* 02E0CC 8002D4CC 2401FF00 */ li $at, -256 +/* 02E0D0 8002D4D0 248F0008 */ addiu $t7, $a0, 8 +/* 02E0D4 8002D4D4 AE2F0000 */ sw $t7, ($s1) +/* 02E0D8 8002D4D8 3C19FA00 */ lui $t9, 0xfa00 +/* 02E0DC 8002D4DC 241E000E */ li $fp, 14 +/* 02E0E0 8002D4E0 AC990000 */ sw $t9, ($a0) +/* 02E0E4 8002D4E4 00001812 */ mflo $v1 +/* 02E0E8 8002D4E8 00037203 */ sra $t6, $v1, 8 +/* 02E0EC 8002D4EC 31D800FF */ andi $t8, $t6, 0xff +/* 02E0F0 8002D4F0 03016825 */ or $t5, $t8, $at +/* 02E0F4 8002D4F4 AC8D0004 */ sw $t5, 4($a0) +.L8002D4F8: +/* 02E0F8 8002D4F8 84EE000A */ lh $t6, 0xa($a3) +.L8002D4FC: +/* 02E0FC 8002D4FC 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 +/* 02E100 8002D500 026E082A */ slt $at, $s3, $t6 +/* 02E104 8002D504 10200045 */ beqz $at, .L8002D61C +/* 02E108 8002D508 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 +/* 02E10C 8002D50C 001380C0 */ sll $s0, $s3, 3 +/* 02E110 8002D510 AFA70044 */ sw $a3, 0x44($sp) +/* 02E114 8002D514 3C150400 */ lui $s5, 0x400 +/* 02E118 8002D518 3C128000 */ lui $s2, 0x8000 +.L8002D51C: +/* 02E11C 8002D51C 8E8F0000 */ lw $t7, ($s4) +/* 02E120 8002D520 02202025 */ move $a0, $s1 +/* 02E124 8002D524 01F0C821 */ addu $t9, $t7, $s0 +/* 02E128 8002D528 8F250000 */ lw $a1, ($t9) +/* 02E12C 8002D52C 0C01ED32 */ jal func_8007B4C8 +/* 02E130 8002D530 03C03025 */ move $a2, $fp +/* 02E134 8002D534 8E980000 */ lw $t8, ($s4) +/* 02E138 8002D538 3C198012 */ lui $t9, %hi(D_8011D330) # $t9, 0x8012 +/* 02E13C 8002D53C 03101021 */ addu $v0, $t8, $s0 +/* 02E140 8002D540 84450004 */ lh $a1, 4($v0) +/* 02E144 8002D544 84460006 */ lh $a2, 6($v0) +/* 02E148 8002D548 844D000C */ lh $t5, 0xc($v0) +/* 02E14C 8002D54C 0006C080 */ sll $t8, $a2, 2 +/* 02E150 8002D550 01A53823 */ subu $a3, $t5, $a1 +/* 02E154 8002D554 844E000E */ lh $t6, 0xe($v0) +/* 02E158 8002D558 8F39D330 */ lw $t9, %lo(D_8011D330)($t9) +/* 02E15C 8002D55C 8EED0000 */ lw $t5, ($s7) +/* 02E160 8002D560 0306C021 */ addu $t8, $t8, $a2 +/* 02E164 8002D564 0018C040 */ sll $t8, $t8, 1 +/* 02E168 8002D568 00057900 */ sll $t7, $a1, 4 +/* 02E16C 8002D56C 8E240000 */ lw $a0, ($s1) +/* 02E170 8002D570 01C61823 */ subu $v1, $t6, $a2 +/* 02E174 8002D574 01F95821 */ addu $t3, $t7, $t9 +/* 02E178 8002D578 030D6021 */ addu $t4, $t8, $t5 +/* 02E17C 8002D57C 01924821 */ addu $t1, $t4, $s2 +/* 02E180 8002D580 246FFFFF */ addiu $t7, $v1, -1 +/* 02E184 8002D584 000FC8C0 */ sll $t9, $t7, 3 +/* 02E188 8002D588 31380006 */ andi $t8, $t1, 6 +/* 02E18C 8002D58C 248E0008 */ addiu $t6, $a0, 8 +/* 02E190 8002D590 AE2E0000 */ sw $t6, ($s1) +/* 02E194 8002D594 03386825 */ or $t5, $t9, $t8 +/* 02E198 8002D598 31AE00FF */ andi $t6, $t5, 0xff +/* 02E19C 8002D59C 000E7C00 */ sll $t7, $t6, 0x10 +/* 02E1A0 8002D5A0 0003C0C0 */ sll $t8, $v1, 3 +/* 02E1A4 8002D5A4 03036821 */ addu $t5, $t8, $v1 +/* 02E1A8 8002D5A8 000D7040 */ sll $t6, $t5, 1 +/* 02E1AC 8002D5AC 01F5C825 */ or $t9, $t7, $s5 +/* 02E1B0 8002D5B0 25CF0008 */ addiu $t7, $t6, 8 +/* 02E1B4 8002D5B4 31F8FFFF */ andi $t8, $t7, 0xffff +/* 02E1B8 8002D5B8 03386825 */ or $t5, $t9, $t8 +/* 02E1BC 8002D5BC AC8D0000 */ sw $t5, ($a0) +/* 02E1C0 8002D5C0 AC890004 */ sw $t1, 4($a0) +/* 02E1C4 8002D5C4 8E240000 */ lw $a0, ($s1) +/* 02E1C8 8002D5C8 24EFFFFF */ addiu $t7, $a3, -1 +/* 02E1CC 8002D5CC 000FC900 */ sll $t9, $t7, 4 +/* 02E1D0 8002D5D0 37380001 */ ori $t8, $t9, 1 +/* 02E1D4 8002D5D4 248E0008 */ addiu $t6, $a0, 8 +/* 02E1D8 8002D5D8 AE2E0000 */ sw $t6, ($s1) +/* 02E1DC 8002D5DC 330D00FF */ andi $t5, $t8, 0xff +/* 02E1E0 8002D5E0 000D7400 */ sll $t6, $t5, 0x10 +/* 02E1E4 8002D5E4 01D67825 */ or $t7, $t6, $s6 +/* 02E1E8 8002D5E8 0007C900 */ sll $t9, $a3, 4 +/* 02E1EC 8002D5EC 3338FFFF */ andi $t8, $t9, 0xffff +/* 02E1F0 8002D5F0 01F86825 */ or $t5, $t7, $t8 +/* 02E1F4 8002D5F4 01727021 */ addu $t6, $t3, $s2 +/* 02E1F8 8002D5F8 AC8E0004 */ sw $t6, 4($a0) +/* 02E1FC 8002D5FC AC8D0000 */ sw $t5, ($a0) +/* 02E200 8002D600 8FB90044 */ lw $t9, 0x44($sp) +/* 02E204 8002D604 26730001 */ addiu $s3, $s3, 1 +/* 02E208 8002D608 872F000A */ lh $t7, 0xa($t9) +/* 02E20C 8002D60C 26100008 */ addiu $s0, $s0, 8 +/* 02E210 8002D610 026F082A */ slt $at, $s3, $t7 +/* 02E214 8002D614 1420FFC1 */ bnez $at, .L8002D51C +/* 02E218 8002D618 00000000 */ nop +.L8002D61C: +/* 02E21C 8002D61C 24010002 */ li $at, 2 +/* 02E220 8002D620 13C10007 */ beq $fp, $at, .L8002D640 +/* 02E224 8002D624 3C0DFA00 */ lui $t5, 0xfa00 +/* 02E228 8002D628 8E240000 */ lw $a0, ($s1) +/* 02E22C 8002D62C 240EFFFF */ li $t6, -1 +/* 02E230 8002D630 24980008 */ addiu $t8, $a0, 8 +/* 02E234 8002D634 AE380000 */ sw $t8, ($s1) +/* 02E238 8002D638 AC8E0004 */ sw $t6, 4($a0) +/* 02E23C 8002D63C AC8D0000 */ sw $t5, ($a0) +.L8002D640: +/* 02E240 8002D640 8FBF003C */ lw $ra, 0x3c($sp) +.L8002D644: +/* 02E244 8002D644 8FB00018 */ lw $s0, 0x18($sp) +/* 02E248 8002D648 8FB1001C */ lw $s1, 0x1c($sp) +/* 02E24C 8002D64C 8FB20020 */ lw $s2, 0x20($sp) +/* 02E250 8002D650 8FB30024 */ lw $s3, 0x24($sp) +/* 02E254 8002D654 8FB40028 */ lw $s4, 0x28($sp) +/* 02E258 8002D658 8FB5002C */ lw $s5, 0x2c($sp) +/* 02E25C 8002D65C 8FB60030 */ lw $s6, 0x30($sp) +/* 02E260 8002D660 8FB70034 */ lw $s7, 0x34($sp) +/* 02E264 8002D664 8FBE0038 */ lw $fp, 0x38($sp) +/* 02E268 8002D668 03E00008 */ jr $ra +/* 02E26C 8002D66C 27BD0040 */ addiu $sp, $sp, 0x40 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002D670.s b/asm/non_matchings/unknown_0255E0/func_8002D670.s new file mode 100644 index 00000000..33dfe6cb --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002D670.s @@ -0,0 +1,161 @@ +glabel func_8002D670 +/* 02E270 8002D670 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 02E274 8002D674 AFBF003C */ sw $ra, 0x3c($sp) +/* 02E278 8002D678 AFBE0038 */ sw $fp, 0x38($sp) +/* 02E27C 8002D67C AFB70034 */ sw $s7, 0x34($sp) +/* 02E280 8002D680 AFB60030 */ sw $s6, 0x30($sp) +/* 02E284 8002D684 AFB5002C */ sw $s5, 0x2c($sp) +/* 02E288 8002D688 AFB40028 */ sw $s4, 0x28($sp) +/* 02E28C 8002D68C AFB30024 */ sw $s3, 0x24($sp) +/* 02E290 8002D690 AFB20020 */ sw $s2, 0x20($sp) +/* 02E294 8002D694 AFB1001C */ sw $s1, 0x1c($sp) +/* 02E298 8002D698 AFB00018 */ sw $s0, 0x18($sp) +/* 02E29C 8002D69C AFA50044 */ sw $a1, 0x44($sp) +/* 02E2A0 8002D6A0 8C8E0040 */ lw $t6, 0x40($a0) +/* 02E2A4 8002D6A4 00000000 */ nop +/* 02E2A8 8002D6A8 85CF0036 */ lh $t7, 0x36($t6) +/* 02E2AC 8002D6AC 00000000 */ nop +/* 02E2B0 8002D6B0 11E0007F */ beqz $t7, .L8002D8B0 +/* 02E2B4 8002D6B4 8FBF003C */ lw $ra, 0x3c($sp) +/* 02E2B8 8002D6B8 84B90008 */ lh $t9, 8($a1) +/* 02E2BC 8002D6BC 2401FFFF */ li $at, -1 +/* 02E2C0 8002D6C0 1321007A */ beq $t9, $at, .L8002D8AC +/* 02E2C4 8002D6C4 3C0D8012 */ lui $t5, %hi(D_8011B0C4) # $t5, 0x8012 +/* 02E2C8 8002D6C8 8DADB0C4 */ lw $t5, %lo(D_8011B0C4)($t5) +/* 02E2CC 8002D6CC 3C108012 */ lui $s0, %hi(D_8011B0D0) # $s0, 0x8012 +/* 02E2D0 8002D6D0 15A00076 */ bnez $t5, .L8002D8AC +/* 02E2D4 8002D6D4 3C0E8012 */ lui $t6, %hi(D_8011B0C8) # $t6, 0x8012 +/* 02E2D8 8002D6D8 8DCEB0C8 */ lw $t6, %lo(D_8011B0C8)($t6) +/* 02E2DC 8002D6DC 2610B0D0 */ addiu $s0, %lo(D_8011B0D0) # addiu $s0, $s0, -0x4f30 +/* 02E2E0 8002D6E0 AE0E0000 */ sw $t6, ($s0) +/* 02E2E4 8002D6E4 8C980040 */ lw $t8, 0x40($a0) +/* 02E2E8 8002D6E8 84B20008 */ lh $s2, 8($a1) +/* 02E2EC 8002D6EC 87190036 */ lh $t9, 0x36($t8) +/* 02E2F0 8002D6F0 24010001 */ li $at, 1 +/* 02E2F4 8002D6F4 17210010 */ bne $t9, $at, .L8002D738 +/* 02E2F8 8002D6F8 25CE0002 */ addiu $t6, $t6, 2 +/* 02E2FC 8002D6FC AE0E0000 */ sw $t6, ($s0) +/* 02E300 8002D700 8C860014 */ lw $a2, 0x14($a0) +/* 02E304 8002D704 C48E0010 */ lwc1 $f14, 0x10($a0) +/* 02E308 8002D708 C48C000C */ lwc1 $f12, 0xc($a0) +/* 02E30C 8002D70C 0C0198D2 */ jal func_80066348 +/* 02E310 8002D710 00000000 */ nop +/* 02E314 8002D714 3C014440 */ li $at, 0x44400000 # 768.000000 +/* 02E318 8002D718 44812000 */ mtc1 $at, $f4 +/* 02E31C 8002D71C 8FAF0044 */ lw $t7, 0x44($sp) +/* 02E320 8002D720 4600203C */ c.lt.s $f4, $f0 +/* 02E324 8002D724 00000000 */ nop +/* 02E328 8002D728 45000003 */ bc1f .L8002D738 +/* 02E32C 8002D72C 00000000 */ nop +/* 02E330 8002D730 85F2000A */ lh $s2, 0xa($t7) +/* 02E334 8002D734 00000000 */ nop +.L8002D738: +/* 02E338 8002D738 8E020000 */ lw $v0, ($s0) +/* 02E33C 8002D73C 3C198012 */ lui $t9, 0x8012 +/* 02E340 8002D740 0002C080 */ sll $t8, $v0, 2 +/* 02E344 8002D744 0338C821 */ addu $t9, $t9, $t8 +/* 02E348 8002D748 8F39D350 */ lw $t9, -0x2cb0($t9) +/* 02E34C 8002D74C 3C138012 */ lui $s3, %hi(D_8011D360) # $s3, 0x8012 +/* 02E350 8002D750 2673D360 */ addiu $s3, %lo(D_8011D360) # addiu $s3, $s3, -0x2ca0 +/* 02E354 8002D754 3C0D8012 */ lui $t5, 0x8012 +/* 02E358 8002D758 01B86821 */ addu $t5, $t5, $t8 +/* 02E35C 8002D75C AE790000 */ sw $t9, ($s3) +/* 02E360 8002D760 8DADD320 */ lw $t5, -0x2ce0($t5) +/* 02E364 8002D764 3C158012 */ lui $s5, %hi(D_8011D330) # $s5, 0x8012 +/* 02E368 8002D768 26B5D330 */ addiu $s5, %lo(D_8011D330) # addiu $s5, $s5, -0x2cd0 +/* 02E36C 8002D76C 3C0E8012 */ lui $t6, 0x8012 +/* 02E370 8002D770 01D87021 */ addu $t6, $t6, $t8 +/* 02E374 8002D774 AEAD0000 */ sw $t5, ($s5) +/* 02E378 8002D778 8DCED338 */ lw $t6, -0x2cc8($t6) +/* 02E37C 8002D77C 3C168012 */ lui $s6, %hi(D_8011D348) # $s6, 0x8012 +/* 02E380 8002D780 8FAF0044 */ lw $t7, 0x44($sp) +/* 02E384 8002D784 26D6D348 */ addiu $s6, %lo(D_8011D348) # addiu $s6, $s6, -0x2cb8 +/* 02E388 8002D788 AECE0000 */ sw $t6, ($s6) +/* 02E38C 8002D78C 85F8000A */ lh $t8, 0xa($t7) +/* 02E390 8002D790 001288C0 */ sll $s1, $s2, 3 +/* 02E394 8002D794 0258082A */ slt $at, $s2, $t8 +/* 02E398 8002D798 10200044 */ beqz $at, .L8002D8AC +/* 02E39C 8002D79C 3C1E0400 */ lui $fp, 0x400 +/* 02E3A0 8002D7A0 3C108012 */ lui $s0, %hi(D_8011B0A0) # $s0, 0x8012 +/* 02E3A4 8002D7A4 2610B0A0 */ addiu $s0, %lo(D_8011B0A0) # addiu $s0, $s0, -0x4f60 +/* 02E3A8 8002D7A8 2417000A */ li $s7, 10 +/* 02E3AC 8002D7AC 3C148000 */ lui $s4, 0x8000 +.L8002D7B0: +/* 02E3B0 8002D7B0 8E790000 */ lw $t9, ($s3) +/* 02E3B4 8002D7B4 02002025 */ move $a0, $s0 +/* 02E3B8 8002D7B8 03316821 */ addu $t5, $t9, $s1 +/* 02E3BC 8002D7BC 8DA50000 */ lw $a1, ($t5) +/* 02E3C0 8002D7C0 0C01ED32 */ jal func_8007B4C8 +/* 02E3C4 8002D7C4 02E03025 */ move $a2, $s7 +/* 02E3C8 8002D7C8 8E6E0000 */ lw $t6, ($s3) +/* 02E3CC 8002D7CC 8EAD0000 */ lw $t5, ($s5) +/* 02E3D0 8002D7D0 01D11821 */ addu $v1, $t6, $s1 +/* 02E3D4 8002D7D4 84660006 */ lh $a2, 6($v1) +/* 02E3D8 8002D7D8 84650004 */ lh $a1, 4($v1) +/* 02E3DC 8002D7DC 00D70019 */ multu $a2, $s7 +/* 02E3E0 8002D7E0 846F000C */ lh $t7, 0xc($v1) +/* 02E3E4 8002D7E4 8478000E */ lh $t8, 0xe($v1) +/* 02E3E8 8002D7E8 01E53823 */ subu $a3, $t7, $a1 +/* 02E3EC 8002D7EC 8ECF0000 */ lw $t7, ($s6) +/* 02E3F0 8002D7F0 0005C900 */ sll $t9, $a1, 4 +/* 02E3F4 8002D7F4 8E020000 */ lw $v0, ($s0) +/* 02E3F8 8002D7F8 032D5821 */ addu $t3, $t9, $t5 +/* 02E3FC 8002D7FC 03062023 */ subu $a0, $t8, $a2 +/* 02E400 8002D800 2499FFFF */ addiu $t9, $a0, -1 +/* 02E404 8002D804 001968C0 */ sll $t5, $t9, 3 +/* 02E408 8002D808 24580008 */ addiu $t8, $v0, 8 +/* 02E40C 8002D80C 00007012 */ mflo $t6 +/* 02E410 8002D810 01CF6021 */ addu $t4, $t6, $t7 +/* 02E414 8002D814 01944821 */ addu $t1, $t4, $s4 +/* 02E418 8002D818 312E0006 */ andi $t6, $t1, 6 +/* 02E41C 8002D81C 01AE7825 */ or $t7, $t5, $t6 +/* 02E420 8002D820 AE180000 */ sw $t8, ($s0) +/* 02E424 8002D824 31F800FF */ andi $t8, $t7, 0xff +/* 02E428 8002D828 0018CC00 */ sll $t9, $t8, 0x10 +/* 02E42C 8002D82C 000470C0 */ sll $t6, $a0, 3 +/* 02E430 8002D830 01C47821 */ addu $t7, $t6, $a0 +/* 02E434 8002D834 000FC040 */ sll $t8, $t7, 1 +/* 02E438 8002D838 033E6825 */ or $t5, $t9, $fp +/* 02E43C 8002D83C 27190008 */ addiu $t9, $t8, 8 +/* 02E440 8002D840 332EFFFF */ andi $t6, $t9, 0xffff +/* 02E444 8002D844 01AE7825 */ or $t7, $t5, $t6 +/* 02E448 8002D848 AC4F0000 */ sw $t7, ($v0) +/* 02E44C 8002D84C AC490004 */ sw $t1, 4($v0) +/* 02E450 8002D850 8E020000 */ lw $v0, ($s0) +/* 02E454 8002D854 24F9FFFF */ addiu $t9, $a3, -1 +/* 02E458 8002D858 00196900 */ sll $t5, $t9, 4 +/* 02E45C 8002D85C 35AE0001 */ ori $t6, $t5, 1 +/* 02E460 8002D860 24580008 */ addiu $t8, $v0, 8 +/* 02E464 8002D864 AE180000 */ sw $t8, ($s0) +/* 02E468 8002D868 31CF00FF */ andi $t7, $t6, 0xff +/* 02E46C 8002D86C 000FC400 */ sll $t8, $t7, 0x10 +/* 02E470 8002D870 3C010500 */ lui $at, 0x500 +/* 02E474 8002D874 0301C825 */ or $t9, $t8, $at +/* 02E478 8002D878 00076900 */ sll $t5, $a3, 4 +/* 02E47C 8002D87C 31AEFFFF */ andi $t6, $t5, 0xffff +/* 02E480 8002D880 032E7825 */ or $t7, $t9, $t6 +/* 02E484 8002D884 0174C021 */ addu $t8, $t3, $s4 +/* 02E488 8002D888 AC580004 */ sw $t8, 4($v0) +/* 02E48C 8002D88C AC4F0000 */ sw $t7, ($v0) +/* 02E490 8002D890 8FAD0044 */ lw $t5, 0x44($sp) +/* 02E494 8002D894 26520001 */ addiu $s2, $s2, 1 +/* 02E498 8002D898 85B9000A */ lh $t9, 0xa($t5) +/* 02E49C 8002D89C 26310008 */ addiu $s1, $s1, 8 +/* 02E4A0 8002D8A0 0259082A */ slt $at, $s2, $t9 +/* 02E4A4 8002D8A4 1420FFC2 */ bnez $at, .L8002D7B0 +/* 02E4A8 8002D8A8 00000000 */ nop +.L8002D8AC: +/* 02E4AC 8002D8AC 8FBF003C */ lw $ra, 0x3c($sp) +.L8002D8B0: +/* 02E4B0 8002D8B0 8FB00018 */ lw $s0, 0x18($sp) +/* 02E4B4 8002D8B4 8FB1001C */ lw $s1, 0x1c($sp) +/* 02E4B8 8002D8B8 8FB20020 */ lw $s2, 0x20($sp) +/* 02E4BC 8002D8BC 8FB30024 */ lw $s3, 0x24($sp) +/* 02E4C0 8002D8C0 8FB40028 */ lw $s4, 0x28($sp) +/* 02E4C4 8002D8C4 8FB5002C */ lw $s5, 0x2c($sp) +/* 02E4C8 8002D8C8 8FB60030 */ lw $s6, 0x30($sp) +/* 02E4CC 8002D8CC 8FB70034 */ lw $s7, 0x34($sp) +/* 02E4D0 8002D8D0 8FBE0038 */ lw $fp, 0x38($sp) +/* 02E4D4 8002D8D4 03E00008 */ jr $ra +/* 02E4D8 8002D8D8 27BD0040 */ addiu $sp, $sp, 0x40 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002D8DC.s b/asm/non_matchings/unknown_0255E0/func_8002D8DC.s new file mode 100644 index 00000000..e1245e71 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002D8DC.s @@ -0,0 +1,364 @@ +glabel func_8002D8DC +/* 02E4DC 8002D8DC 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 02E4E0 8002D8E0 3C0E8012 */ lui $t6, %hi(D_8011B0C8) # $t6, 0x8012 +/* 02E4E4 8002D8E4 8DCEB0C8 */ lw $t6, %lo(D_8011B0C8)($t6) +/* 02E4E8 8002D8E8 3C038012 */ lui $v1, %hi(D_8011B0CC) # $v1, 0x8012 +/* 02E4EC 8002D8EC 2463B0CC */ addiu $v1, %lo(D_8011B0CC) # addiu $v1, $v1, -0x4f34 +/* 02E4F0 8002D8F0 AFBE0050 */ sw $fp, 0x50($sp) +/* 02E4F4 8002D8F4 24010001 */ li $at, 1 +/* 02E4F8 8002D8F8 0080F025 */ move $fp, $a0 +/* 02E4FC 8002D8FC AFBF0054 */ sw $ra, 0x54($sp) +/* 02E500 8002D900 AFB7004C */ sw $s7, 0x4c($sp) +/* 02E504 8002D904 AFB60048 */ sw $s6, 0x48($sp) +/* 02E508 8002D908 AFB50044 */ sw $s5, 0x44($sp) +/* 02E50C 8002D90C AFB40040 */ sw $s4, 0x40($sp) +/* 02E510 8002D910 AFB3003C */ sw $s3, 0x3c($sp) +/* 02E514 8002D914 AFB20038 */ sw $s2, 0x38($sp) +/* 02E518 8002D918 AFB10034 */ sw $s1, 0x34($sp) +/* 02E51C 8002D91C AFB00030 */ sw $s0, 0x30($sp) +/* 02E520 8002D920 E7B90028 */ swc1 $f25, 0x28($sp) +/* 02E524 8002D924 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 02E528 8002D928 E7B70020 */ swc1 $f23, 0x20($sp) +/* 02E52C 8002D92C E7B60024 */ swc1 $f22, 0x24($sp) +/* 02E530 8002D930 E7B50018 */ swc1 $f21, 0x18($sp) +/* 02E534 8002D934 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 02E538 8002D938 AFA5009C */ sw $a1, 0x9c($sp) +/* 02E53C 8002D93C AFA600A0 */ sw $a2, 0xa0($sp) +/* 02E540 8002D940 14810003 */ bne $a0, $at, .L8002D950 +/* 02E544 8002D944 AC6E0000 */ sw $t6, ($v1) +/* 02E548 8002D948 25D80002 */ addiu $t8, $t6, 2 +/* 02E54C 8002D94C AC780000 */ sw $t8, ($v1) +.L8002D950: +/* 02E550 8002D950 8C620000 */ lw $v0, ($v1) +/* 02E554 8002D954 3C088012 */ lui $t0, 0x8012 +/* 02E558 8002D958 0002C880 */ sll $t9, $v0, 2 +/* 02E55C 8002D95C 01194021 */ addu $t0, $t0, $t9 +/* 02E560 8002D960 8D08D320 */ lw $t0, -0x2ce0($t0) +/* 02E564 8002D964 3C098012 */ lui $t1, 0x8012 +/* 02E568 8002D968 3C018012 */ lui $at, %hi(D_8011D330) # $at, 0x8012 +/* 02E56C 8002D96C 01394821 */ addu $t1, $t1, $t9 +/* 02E570 8002D970 8D29D338 */ lw $t1, -0x2cc8($t1) +/* 02E574 8002D974 3C0A8012 */ lui $t2, 0x8012 +/* 02E578 8002D978 AC28D330 */ sw $t0, %lo(D_8011D330)($at) +/* 02E57C 8002D97C 3C018012 */ lui $at, %hi(D_8011D348) # $at, 0x8012 +/* 02E580 8002D980 01595021 */ addu $t2, $t2, $t9 +/* 02E584 8002D984 8D4AD350 */ lw $t2, -0x2cb0($t2) +/* 02E588 8002D988 AC29D348 */ sw $t1, %lo(D_8011D348)($at) +/* 02E58C 8002D98C 3C018012 */ lui $at, %hi(D_8011D360) # $at, 0x8012 +/* 02E590 8002D990 AC2AD360 */ sw $t2, %lo(D_8011D360)($at) +/* 02E594 8002D994 3C018012 */ lui $at, %hi(D_8011D364) # $at, 0x8012 +/* 02E598 8002D998 AC20D364 */ sw $zero, %lo(D_8011D364)($at) +/* 02E59C 8002D99C 3C018012 */ lui $at, %hi(D_8011D368) # $at, 0x8012 +/* 02E5A0 8002D9A0 AC20D368 */ sw $zero, %lo(D_8011D368)($at) +/* 02E5A4 8002D9A4 3C018012 */ lui $at, %hi(D_8011D36C) # $at, 0x8012 +/* 02E5A8 8002D9A8 0C019884 */ jal func_80066210 +/* 02E5AC 8002D9AC AC20D36C */ sw $zero, %lo(D_8011D36C)($at) +/* 02E5B0 8002D9B0 0040B025 */ move $s6, $v0 +/* 02E5B4 8002D9B4 27A40094 */ addiu $a0, $sp, 0x94 +/* 02E5B8 8002D9B8 0C003A62 */ jal func_8000E988 +/* 02E5BC 8002D9BC 27A50090 */ addiu $a1, $sp, 0x90 +/* 02E5C0 8002D9C0 8FAB0094 */ lw $t3, 0x94($sp) +/* 02E5C4 8002D9C4 8FAC0090 */ lw $t4, 0x90($sp) +/* 02E5C8 8002D9C8 AFA20078 */ sw $v0, 0x78($sp) +/* 02E5CC 8002D9CC 016C082A */ slt $at, $t3, $t4 +/* 02E5D0 8002D9D0 102000F3 */ beqz $at, .L8002DDA0 +/* 02E5D4 8002D9D4 24170005 */ li $s7, 5 +/* 02E5D8 8002D9D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02E5DC 8002D9DC 3C158012 */ lui $s5, %hi(D_8011D0D4) # $s5, 0x8012 +/* 02E5E0 8002D9E0 4481C000 */ mtc1 $at, $f24 +/* 02E5E4 8002D9E4 4480B000 */ mtc1 $zero, $f22 +/* 02E5E8 8002D9E8 26B5D0D4 */ addiu $s5, %lo(D_8011D0D4) # addiu $s5, $s5, -0x2f2c +/* 02E5EC 8002D9EC 24140002 */ li $s4, 2 +/* 02E5F0 8002D9F0 2413FFFF */ li $s3, -1 +/* 02E5F4 8002D9F4 8FAE0094 */ lw $t6, 0x94($sp) +.L8002D9F8: +/* 02E5F8 8002D9F8 8FAD0078 */ lw $t5, 0x78($sp) +/* 02E5FC 8002D9FC 000E7880 */ sll $t7, $t6, 2 +/* 02E600 8002DA00 01AFC021 */ addu $t8, $t5, $t7 +/* 02E604 8002DA04 8F110000 */ lw $s1, ($t8) +/* 02E608 8002DA08 25D90001 */ addiu $t9, $t6, 1 +/* 02E60C 8002DA0C 8E320040 */ lw $s2, 0x40($s1) +/* 02E610 8002DA10 8E300058 */ lw $s0, 0x58($s1) +/* 02E614 8002DA14 8E220050 */ lw $v0, 0x50($s1) +/* 02E618 8002DA18 AFB90094 */ sw $t9, 0x94($sp) +/* 02E61C 8002DA1C 86230006 */ lh $v1, 6($s1) +/* 02E620 8002DA20 00000000 */ nop +/* 02E624 8002DA24 30688000 */ andi $t0, $v1, 0x8000 +/* 02E628 8002DA28 150000D8 */ bnez $t0, .L8002DD8C +/* 02E62C 8002DA2C 8FA90094 */ lw $t1, 0x94($sp) +/* 02E630 8002DA30 1040000F */ beqz $v0, .L8002DA70 +/* 02E634 8002DA34 306A4000 */ andi $t2, $v1, 0x4000 +/* 02E638 8002DA38 C4440000 */ lwc1 $f4, ($v0) +/* 02E63C 8002DA3C 00000000 */ nop +/* 02E640 8002DA40 4604B03C */ c.lt.s $f22, $f4 +/* 02E644 8002DA44 00000000 */ nop +/* 02E648 8002DA48 45000009 */ bc1f .L8002DA70 +/* 02E64C 8002DA4C 306A4000 */ andi $t2, $v1, 0x4000 +/* 02E650 8002DA50 86490032 */ lh $t1, 0x32($s2) +/* 02E654 8002DA54 00000000 */ nop +/* 02E658 8002DA58 17C90005 */ bne $fp, $t1, .L8002DA70 +/* 02E65C 8002DA5C 306A4000 */ andi $t2, $v1, 0x4000 +/* 02E660 8002DA60 A4530008 */ sh $s3, 8($v0) +/* 02E664 8002DA64 86230006 */ lh $v1, 6($s1) +/* 02E668 8002DA68 00000000 */ nop +/* 02E66C 8002DA6C 306A4000 */ andi $t2, $v1, 0x4000 +.L8002DA70: +/* 02E670 8002DA70 11400002 */ beqz $t2, .L8002DA7C +/* 02E674 8002DA74 00000000 */ nop +/* 02E678 8002DA78 00001025 */ move $v0, $zero +.L8002DA7C: +/* 02E67C 8002DA7C 10400005 */ beqz $v0, .L8002DA94 +/* 02E680 8002DA80 00000000 */ nop +/* 02E684 8002DA84 864B0032 */ lh $t3, 0x32($s2) +/* 02E688 8002DA88 00000000 */ nop +/* 02E68C 8002DA8C 128B0007 */ beq $s4, $t3, .L8002DAAC +/* 02E690 8002DA90 00000000 */ nop +.L8002DA94: +/* 02E694 8002DA94 1200000D */ beqz $s0, .L8002DACC +/* 02E698 8002DA98 00000000 */ nop +/* 02E69C 8002DA9C 864C0036 */ lh $t4, 0x36($s2) +/* 02E6A0 8002DAA0 00000000 */ nop +/* 02E6A4 8002DAA4 168C0009 */ bne $s4, $t4, .L8002DACC +/* 02E6A8 8002DAA8 00000000 */ nop +.L8002DAAC: +/* 02E6AC 8002DAAC C62C000C */ lwc1 $f12, 0xc($s1) +/* 02E6B0 8002DAB0 C62E0010 */ lwc1 $f14, 0x10($s1) +/* 02E6B4 8002DAB4 8E260014 */ lw $a2, 0x14($s1) +/* 02E6B8 8002DAB8 0C0198D2 */ jal func_80066348 +/* 02E6BC 8002DABC AFA2006C */ sw $v0, 0x6c($sp) +/* 02E6C0 8002DAC0 8FA2006C */ lw $v0, 0x6c($sp) +/* 02E6C4 8002DAC4 10000003 */ b .L8002DAD4 +/* 02E6C8 8002DAC8 46000506 */ mov.s $f20, $f0 +.L8002DACC: +/* 02E6CC 8002DACC 4480A000 */ mtc1 $zero, $f20 +/* 02E6D0 8002DAD0 00000000 */ nop +.L8002DAD4: +/* 02E6D4 8002DAD4 1040004C */ beqz $v0, .L8002DC08 +/* 02E6D8 8002DAD8 00000000 */ nop +/* 02E6DC 8002DADC C4460000 */ lwc1 $f6, ($v0) +/* 02E6E0 8002DAE0 00000000 */ nop +/* 02E6E4 8002DAE4 4606B03C */ c.lt.s $f22, $f6 +/* 02E6E8 8002DAE8 00000000 */ nop +/* 02E6EC 8002DAEC 45000046 */ bc1f .L8002DC08 +/* 02E6F0 8002DAF0 00000000 */ nop +/* 02E6F4 8002DAF4 864D0032 */ lh $t5, 0x32($s2) +/* 02E6F8 8002DAF8 00000000 */ nop +/* 02E6FC 8002DAFC 17CD0042 */ bne $fp, $t5, .L8002DC08 +/* 02E700 8002DB00 00000000 */ nop +/* 02E704 8002DB04 E6B80000 */ swc1 $f24, ($s5) +/* 02E708 8002DB08 A4530008 */ sh $s3, 8($v0) +/* 02E70C 8002DB0C 864F0032 */ lh $t7, 0x32($s2) +/* 02E710 8002DB10 00002025 */ move $a0, $zero +/* 02E714 8002DB14 168F0019 */ bne $s4, $t7, .L8002DB7C +/* 02E718 8002DB18 00000000 */ nop +/* 02E71C 8002DB1C 1AC00017 */ blez $s6, .L8002DB7C +/* 02E720 8002DB20 2AC10004 */ slti $at, $s6, 4 +/* 02E724 8002DB24 10200015 */ beqz $at, .L8002DB7C +/* 02E728 8002DB28 00000000 */ nop +/* 02E72C 8002DB2C 86220048 */ lh $v0, 0x48($s1) +/* 02E730 8002DB30 24010001 */ li $at, 1 +/* 02E734 8002DB34 1441000B */ bne $v0, $at, .L8002DB64 +/* 02E738 8002DB38 00000000 */ nop +/* 02E73C 8002DB3C 8E380064 */ lw $t8, 0x64($s1) +/* 02E740 8002DB40 00002825 */ move $a1, $zero +/* 02E744 8002DB44 87020000 */ lh $v0, ($t8) +/* 02E748 8002DB48 00000000 */ nop +/* 02E74C 8002DB4C 10530026 */ beq $v0, $s3, .L8002DBE8 +/* 02E750 8002DB50 00000000 */ nop +/* 02E754 8002DB54 0C00B88D */ jal func_8002E234 +/* 02E758 8002DB58 02202025 */ move $a0, $s1 +/* 02E75C 8002DB5C 10000022 */ b .L8002DBE8 +/* 02E760 8002DB60 24040001 */ li $a0, 1 +.L8002DB64: +/* 02E764 8002DB64 16E20020 */ bne $s7, $v0, .L8002DBE8 +/* 02E768 8002DB68 00002825 */ move $a1, $zero +/* 02E76C 8002DB6C 0C00B88D */ jal func_8002E234 +/* 02E770 8002DB70 02202025 */ move $a0, $s1 +/* 02E774 8002DB74 1000001C */ b .L8002DBE8 +/* 02E778 8002DB78 24040001 */ li $a0, 1 +.L8002DB7C: +/* 02E77C 8002DB7C 8643004A */ lh $v1, 0x4a($s2) +/* 02E780 8002DB80 00002825 */ move $a1, $zero +/* 02E784 8002DB84 44834000 */ mtc1 $v1, $f8 +/* 02E788 8002DB88 00000000 */ nop +/* 02E78C 8002DB8C 46804020 */ cvt.s.w $f0, $f8 +/* 02E790 8002DB90 4600A03C */ c.lt.s $f20, $f0 +/* 02E794 8002DB94 00000000 */ nop +/* 02E798 8002DB98 45000013 */ bc1f .L8002DBE8 +/* 02E79C 8002DB9C 00000000 */ nop +/* 02E7A0 8002DBA0 8642004C */ lh $v0, 0x4c($s2) +/* 02E7A4 8002DBA4 00000000 */ nop +/* 02E7A8 8002DBA8 44825000 */ mtc1 $v0, $f10 +/* 02E7AC 8002DBAC 00627023 */ subu $t6, $v1, $v0 +/* 02E7B0 8002DBB0 46805420 */ cvt.s.w $f16, $f10 +/* 02E7B4 8002DBB4 4614803C */ c.lt.s $f16, $f20 +/* 02E7B8 8002DBB8 00000000 */ nop +/* 02E7BC 8002DBBC 45000007 */ bc1f .L8002DBDC +/* 02E7C0 8002DBC0 00000000 */ nop +/* 02E7C4 8002DBC4 448E2000 */ mtc1 $t6, $f4 +/* 02E7C8 8002DBC8 46140481 */ sub.s $f18, $f0, $f20 +/* 02E7CC 8002DBCC 468021A0 */ cvt.s.w $f6, $f4 +/* 02E7D0 8002DBD0 00000000 */ nop +/* 02E7D4 8002DBD4 46069203 */ div.s $f8, $f18, $f6 +/* 02E7D8 8002DBD8 E6A80000 */ swc1 $f8, ($s5) +.L8002DBDC: +/* 02E7DC 8002DBDC 0C00B88D */ jal func_8002E234 +/* 02E7E0 8002DBE0 02202025 */ move $a0, $s1 +/* 02E7E4 8002DBE4 24040001 */ li $a0, 1 +.L8002DBE8: +/* 02E7E8 8002DBE8 14800007 */ bnez $a0, .L8002DC08 +/* 02E7EC 8002DBEC 00000000 */ nop +/* 02E7F0 8002DBF0 8E390054 */ lw $t9, 0x54($s1) +/* 02E7F4 8002DBF4 00000000 */ nop +/* 02E7F8 8002DBF8 13200003 */ beqz $t9, .L8002DC08 +/* 02E7FC 8002DBFC 00000000 */ nop +/* 02E800 8002DC00 0C00B78C */ jal func_8002DE30 +/* 02E804 8002DC04 02202025 */ move $a0, $s1 +.L8002DC08: +/* 02E808 8002DC08 12000060 */ beqz $s0, .L8002DD8C +/* 02E80C 8002DC0C 8FA90094 */ lw $t1, 0x94($sp) +/* 02E810 8002DC10 C60A0000 */ lwc1 $f10, ($s0) +/* 02E814 8002DC14 8FA8009C */ lw $t0, 0x9c($sp) +/* 02E818 8002DC18 460AB03C */ c.lt.s $f22, $f10 +/* 02E81C 8002DC1C 00000000 */ nop +/* 02E820 8002DC20 4500005A */ bc1f .L8002DD8C +/* 02E824 8002DC24 8FA90094 */ lw $t1, 0x94($sp) +/* 02E828 8002DC28 86490036 */ lh $t1, 0x36($s2) +/* 02E82C 8002DC2C 00000000 */ nop +/* 02E830 8002DC30 15090056 */ bne $t0, $t1, .L8002DD8C +/* 02E834 8002DC34 8FA90094 */ lw $t1, 0x94($sp) +/* 02E838 8002DC38 A6130008 */ sh $s3, 8($s0) +/* 02E83C 8002DC3C E6B80000 */ swc1 $f24, ($s5) +/* 02E840 8002DC40 8E040004 */ lw $a0, 4($s0) +/* 02E844 8002DC44 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 02E848 8002DC48 10800019 */ beqz $a0, .L8002DCB0 +/* 02E84C 8002DC4C 00000000 */ nop +/* 02E850 8002DC50 11400017 */ beqz $t2, .L8002DCB0 +/* 02E854 8002DC54 00000000 */ nop +/* 02E858 8002DC58 948B0012 */ lhu $t3, 0x12($a0) +/* 02E85C 8002DC5C 24010100 */ li $at, 256 +/* 02E860 8002DC60 11610013 */ beq $t3, $at, .L8002DCB0 +/* 02E864 8002DC64 00000000 */ nop +/* 02E868 8002DC68 860C000C */ lh $t4, 0xc($s0) +/* 02E86C 8002DC6C 860D000E */ lh $t5, 0xe($s0) +/* 02E870 8002DC70 00000000 */ nop +/* 02E874 8002DC74 018D7821 */ addu $t7, $t4, $t5 +/* 02E878 8002DC78 A60F000C */ sh $t7, 0xc($s0) +/* 02E87C 8002DC7C 8603000C */ lh $v1, 0xc($s0) +/* 02E880 8002DC80 94820012 */ lhu $v0, 0x12($a0) +/* 02E884 8002DC84 00000000 */ nop +/* 02E888 8002DC88 0043082A */ slt $at, $v0, $v1 +/* 02E88C 8002DC8C 10200008 */ beqz $at, .L8002DCB0 +/* 02E890 8002DC90 0062C023 */ subu $t8, $v1, $v0 +.L8002DC94: +/* 02E894 8002DC94 A618000C */ sh $t8, 0xc($s0) +/* 02E898 8002DC98 8603000C */ lh $v1, 0xc($s0) +/* 02E89C 8002DC9C 94820012 */ lhu $v0, 0x12($a0) +/* 02E8A0 8002DCA0 00000000 */ nop +/* 02E8A4 8002DCA4 0043082A */ slt $at, $v0, $v1 +/* 02E8A8 8002DCA8 1420FFFA */ bnez $at, .L8002DC94 +/* 02E8AC 8002DCAC 0062C023 */ subu $t8, $v1, $v0 +.L8002DCB0: +/* 02E8B0 8002DCB0 864E0032 */ lh $t6, 0x32($s2) +/* 02E8B4 8002DCB4 00000000 */ nop +/* 02E8B8 8002DCB8 168E0019 */ bne $s4, $t6, .L8002DD20 +/* 02E8BC 8002DCBC 00000000 */ nop +/* 02E8C0 8002DCC0 1AC00017 */ blez $s6, .L8002DD20 +/* 02E8C4 8002DCC4 2AC10004 */ slti $at, $s6, 4 +/* 02E8C8 8002DCC8 10200015 */ beqz $at, .L8002DD20 +/* 02E8CC 8002DCCC 00000000 */ nop +/* 02E8D0 8002DCD0 86220048 */ lh $v0, 0x48($s1) +/* 02E8D4 8002DCD4 24010001 */ li $at, 1 +/* 02E8D8 8002DCD8 1441000B */ bne $v0, $at, .L8002DD08 +/* 02E8DC 8002DCDC 00000000 */ nop +/* 02E8E0 8002DCE0 8E390064 */ lw $t9, 0x64($s1) +/* 02E8E4 8002DCE4 02202025 */ move $a0, $s1 +/* 02E8E8 8002DCE8 87220000 */ lh $v0, ($t9) +/* 02E8EC 8002DCEC 00000000 */ nop +/* 02E8F0 8002DCF0 10530026 */ beq $v0, $s3, .L8002DD8C +/* 02E8F4 8002DCF4 8FA90094 */ lw $t1, 0x94($sp) +/* 02E8F8 8002DCF8 0C00B88D */ jal func_8002E234 +/* 02E8FC 8002DCFC 24050001 */ li $a1, 1 +/* 02E900 8002DD00 10000022 */ b .L8002DD8C +/* 02E904 8002DD04 8FA90094 */ lw $t1, 0x94($sp) +.L8002DD08: +/* 02E908 8002DD08 16E2001F */ bne $s7, $v0, .L8002DD88 +/* 02E90C 8002DD0C 02202025 */ move $a0, $s1 +/* 02E910 8002DD10 0C00B88D */ jal func_8002E234 +/* 02E914 8002DD14 24050001 */ li $a1, 1 +/* 02E918 8002DD18 1000001C */ b .L8002DD8C +/* 02E91C 8002DD1C 8FA90094 */ lw $t1, 0x94($sp) +.L8002DD20: +/* 02E920 8002DD20 8643004A */ lh $v1, 0x4a($s2) +/* 02E924 8002DD24 02202025 */ move $a0, $s1 +/* 02E928 8002DD28 44838000 */ mtc1 $v1, $f16 +/* 02E92C 8002DD2C 00000000 */ nop +/* 02E930 8002DD30 46808020 */ cvt.s.w $f0, $f16 +/* 02E934 8002DD34 4600A03C */ c.lt.s $f20, $f0 +/* 02E938 8002DD38 00000000 */ nop +/* 02E93C 8002DD3C 45000013 */ bc1f .L8002DD8C +/* 02E940 8002DD40 8FA90094 */ lw $t1, 0x94($sp) +/* 02E944 8002DD44 8642004C */ lh $v0, 0x4c($s2) +/* 02E948 8002DD48 00000000 */ nop +/* 02E94C 8002DD4C 44822000 */ mtc1 $v0, $f4 +/* 02E950 8002DD50 00624023 */ subu $t0, $v1, $v0 +/* 02E954 8002DD54 468024A0 */ cvt.s.w $f18, $f4 +/* 02E958 8002DD58 4614903C */ c.lt.s $f18, $f20 +/* 02E95C 8002DD5C 00000000 */ nop +/* 02E960 8002DD60 45000007 */ bc1f .L8002DD80 +/* 02E964 8002DD64 00000000 */ nop +/* 02E968 8002DD68 44884000 */ mtc1 $t0, $f8 +/* 02E96C 8002DD6C 46140181 */ sub.s $f6, $f0, $f20 +/* 02E970 8002DD70 468042A0 */ cvt.s.w $f10, $f8 +/* 02E974 8002DD74 00000000 */ nop +/* 02E978 8002DD78 460A3403 */ div.s $f16, $f6, $f10 +/* 02E97C 8002DD7C E6B00000 */ swc1 $f16, ($s5) +.L8002DD80: +/* 02E980 8002DD80 0C00B88D */ jal func_8002E234 +/* 02E984 8002DD84 24050001 */ li $a1, 1 +.L8002DD88: +/* 02E988 8002DD88 8FA90094 */ lw $t1, 0x94($sp) +.L8002DD8C: +/* 02E98C 8002DD8C 8FAA0090 */ lw $t2, 0x90($sp) +/* 02E990 8002DD90 00000000 */ nop +/* 02E994 8002DD94 012A082A */ slt $at, $t1, $t2 +/* 02E998 8002DD98 1420FF17 */ bnez $at, .L8002D9F8 +/* 02E99C 8002DD9C 8FAE0094 */ lw $t6, 0x94($sp) +.L8002DDA0: +/* 02E9A0 8002DDA0 3C038012 */ lui $v1, %hi(D_8011D364) # $v1, 0x8012 +/* 02E9A4 8002DDA4 2463D364 */ addiu $v1, %lo(D_8011D364) # addiu $v1, $v1, -0x2c9c +/* 02E9A8 8002DDA8 3C028012 */ lui $v0, %hi(D_8011D360) # $v0, 0x8012 +/* 02E9AC 8002DDAC 8C6D0000 */ lw $t5, ($v1) +/* 02E9B0 8002DDB0 2442D360 */ addiu $v0, %lo(D_8011D360) # addiu $v0, $v0, -0x2ca0 +/* 02E9B4 8002DDB4 8C4C0000 */ lw $t4, ($v0) +/* 02E9B8 8002DDB8 3C0B8012 */ lui $t3, %hi(D_8011D368) # $t3, 0x8012 +/* 02E9BC 8002DDBC 8D6BD368 */ lw $t3, %lo(D_8011D368)($t3) +/* 02E9C0 8002DDC0 000D78C0 */ sll $t7, $t5, 3 +/* 02E9C4 8002DDC4 018FC021 */ addu $t8, $t4, $t7 +/* 02E9C8 8002DDC8 A70B0004 */ sh $t3, 4($t8) +/* 02E9CC 8002DDCC 8C680000 */ lw $t0, ($v1) +/* 02E9D0 8002DDD0 8C590000 */ lw $t9, ($v0) +/* 02E9D4 8002DDD4 3C0E8012 */ lui $t6, %hi(D_8011D36C) # $t6, 0x8012 +/* 02E9D8 8002DDD8 8DCED36C */ lw $t6, %lo(D_8011D36C)($t6) +/* 02E9DC 8002DDDC 000848C0 */ sll $t1, $t0, 3 +/* 02E9E0 8002DDE0 03295021 */ addu $t2, $t9, $t1 +/* 02E9E4 8002DDE4 A54E0006 */ sh $t6, 6($t2) +/* 02E9E8 8002DDE8 8FBF0054 */ lw $ra, 0x54($sp) +/* 02E9EC 8002DDEC 8FBE0050 */ lw $fp, 0x50($sp) +/* 02E9F0 8002DDF0 8FB7004C */ lw $s7, 0x4c($sp) +/* 02E9F4 8002DDF4 8FB60048 */ lw $s6, 0x48($sp) +/* 02E9F8 8002DDF8 8FB50044 */ lw $s5, 0x44($sp) +/* 02E9FC 8002DDFC 8FB40040 */ lw $s4, 0x40($sp) +/* 02EA00 8002DE00 8FB3003C */ lw $s3, 0x3c($sp) +/* 02EA04 8002DE04 8FB20038 */ lw $s2, 0x38($sp) +/* 02EA08 8002DE08 8FB10034 */ lw $s1, 0x34($sp) +/* 02EA0C 8002DE0C 8FB00030 */ lw $s0, 0x30($sp) +/* 02EA10 8002DE10 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 02EA14 8002DE14 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 02EA18 8002DE18 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 02EA1C 8002DE1C C7B70020 */ lwc1 $f23, 0x20($sp) +/* 02EA20 8002DE20 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 02EA24 8002DE24 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 02EA28 8002DE28 03E00008 */ jr $ra +/* 02EA2C 8002DE2C 27BD0098 */ addiu $sp, $sp, 0x98 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002DE30.s b/asm/non_matchings/unknown_0255E0/func_8002DE30.s new file mode 100644 index 00000000..1360c30e --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002DE30.s @@ -0,0 +1,269 @@ +glabel func_8002DE30 +/* 02EA30 8002DE30 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 02EA34 8002DE34 444EF800 */ cfc1 $t6, $31 +/* 02EA38 8002DE38 AFBF0054 */ sw $ra, 0x54($sp) +/* 02EA3C 8002DE3C 35C10003 */ ori $at, $t6, 3 +/* 02EA40 8002DE40 AFBE0050 */ sw $fp, 0x50($sp) +/* 02EA44 8002DE44 AFB7004C */ sw $s7, 0x4c($sp) +/* 02EA48 8002DE48 AFB60048 */ sw $s6, 0x48($sp) +/* 02EA4C 8002DE4C AFB50044 */ sw $s5, 0x44($sp) +/* 02EA50 8002DE50 AFB40040 */ sw $s4, 0x40($sp) +/* 02EA54 8002DE54 AFB3003C */ sw $s3, 0x3c($sp) +/* 02EA58 8002DE58 AFB20038 */ sw $s2, 0x38($sp) +/* 02EA5C 8002DE5C AFB10034 */ sw $s1, 0x34($sp) +/* 02EA60 8002DE60 AFB00030 */ sw $s0, 0x30($sp) +/* 02EA64 8002DE64 E7B70028 */ swc1 $f23, 0x28($sp) +/* 02EA68 8002DE68 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 02EA6C 8002DE6C E7B50020 */ swc1 $f21, 0x20($sp) +/* 02EA70 8002DE70 E7B40024 */ swc1 $f20, 0x24($sp) +/* 02EA74 8002DE74 38210002 */ xori $at, $at, 2 +/* 02EA78 8002DE78 44C1F800 */ ctc1 $at, $31 +/* 02EA7C 8002DE7C C4840010 */ lwc1 $f4, 0x10($a0) +/* 02EA80 8002DE80 8C850040 */ lw $a1, 0x40($a0) +/* 02EA84 8002DE84 460021A4 */ cvt.w.s $f6, $f4 +/* 02EA88 8002DE88 84AF0044 */ lh $t7, 0x44($a1) +/* 02EA8C 8002DE8C 44023000 */ mfc1 $v0, $f6 +/* 02EA90 8002DE90 2401FFFF */ li $at, -1 +/* 02EA94 8002DE94 004FC021 */ addu $t8, $v0, $t7 +/* 02EA98 8002DE98 AFB80094 */ sw $t8, 0x94($sp) +/* 02EA9C 8002DE9C 84B90042 */ lh $t9, 0x42($a1) +/* 02EAA0 8002DEA0 44CEF800 */ ctc1 $t6, $31 +/* 02EAA4 8002DEA4 00596021 */ addu $t4, $v0, $t9 +/* 02EAA8 8002DEA8 AFAC0090 */ sw $t4, 0x90($sp) +/* 02EAAC 8002DEAC 8483002E */ lh $v1, 0x2e($a0) +/* 02EAB0 8002DEB0 0080B025 */ move $s6, $a0 +/* 02EAB4 8002DEB4 106100CF */ beq $v1, $at, .L8002E1F4 +/* 02EAB8 8002DEB8 0000B825 */ move $s7, $zero +/* 02EABC 8002DEBC 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 02EAC0 8002DEC0 44816000 */ mtc1 $at, $f12 +/* 02EAC4 8002DEC4 C6C0000C */ lwc1 $f0, 0xc($s6) +/* 02EAC8 8002DEC8 C6C20014 */ lwc1 $f2, 0x14($s6) +/* 02EACC 8002DECC 460C0201 */ sub.s $f8, $f0, $f12 +/* 02EAD0 8002DED0 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e +/* 02EAD4 8002DED4 4458F800 */ cfc1 $t8, $31 +/* 02EAD8 8002DED8 2610C918 */ addiu $s0, %lo(D_800DC918) # addiu $s0, $s0, -0x36e8 +/* 02EADC 8002DEDC 37010003 */ ori $at, $t8, 3 +/* 02EAE0 8002DEE0 38210002 */ xori $at, $at, 2 +/* 02EAE4 8002DEE4 44C1F800 */ ctc1 $at, $31 +/* 02EAE8 8002DEE8 8E0D0000 */ lw $t5, ($s0) +/* 02EAEC 8002DEEC 460042A4 */ cvt.w.s $f10, $f8 +/* 02EAF0 8002DEF0 8DAE0008 */ lw $t6, 8($t5) +/* 02EAF4 8002DEF4 44D8F800 */ ctc1 $t8, $31 +/* 02EAF8 8002DEF8 00037880 */ sll $t7, $v1, 2 +/* 02EAFC 8002DEFC 460C1401 */ sub.s $f16, $f2, $f12 +/* 02EB00 8002DF00 01E37823 */ subu $t7, $t7, $v1 +/* 02EB04 8002DF04 4459F800 */ cfc1 $t9, $31 +/* 02EB08 8002DF08 44055000 */ mfc1 $a1, $f10 +/* 02EB0C 8002DF0C 37210003 */ ori $at, $t9, 3 +/* 02EB10 8002DF10 38210002 */ xori $at, $at, 2 +/* 02EB14 8002DF14 44C1F800 */ ctc1 $at, $31 +/* 02EB18 8002DF18 000F7880 */ sll $t7, $t7, 2 +/* 02EB1C 8002DF1C 460084A4 */ cvt.w.s $f18, $f16 +/* 02EB20 8002DF20 01CF2021 */ addu $a0, $t6, $t7 +/* 02EB24 8002DF24 44D9F800 */ ctc1 $t9, $31 +/* 02EB28 8002DF28 44069000 */ mfc1 $a2, $f18 +/* 02EB2C 8002DF2C 460C0100 */ add.s $f4, $f0, $f12 +/* 02EB30 8002DF30 AFA3008C */ sw $v1, 0x8c($sp) +/* 02EB34 8002DF34 444CF800 */ cfc1 $t4, $31 +/* 02EB38 8002DF38 00000000 */ nop +/* 02EB3C 8002DF3C 35810003 */ ori $at, $t4, 3 +/* 02EB40 8002DF40 38210002 */ xori $at, $at, 2 +/* 02EB44 8002DF44 44C1F800 */ ctc1 $at, $31 +/* 02EB48 8002DF48 00000000 */ nop +/* 02EB4C 8002DF4C 460021A4 */ cvt.w.s $f6, $f4 +/* 02EB50 8002DF50 44CCF800 */ ctc1 $t4, $31 +/* 02EB54 8002DF54 44073000 */ mfc1 $a3, $f6 +/* 02EB58 8002DF58 460C1200 */ add.s $f8, $f2, $f12 +/* 02EB5C 8002DF5C 444DF800 */ cfc1 $t5, $31 +/* 02EB60 8002DF60 00000000 */ nop +/* 02EB64 8002DF64 35A10003 */ ori $at, $t5, 3 +/* 02EB68 8002DF68 38210002 */ xori $at, $at, 2 +/* 02EB6C 8002DF6C 44C1F800 */ ctc1 $at, $31 +/* 02EB70 8002DF70 00000000 */ nop +/* 02EB74 8002DF74 460042A4 */ cvt.w.s $f10, $f8 +/* 02EB78 8002DF78 440E5000 */ mfc1 $t6, $f10 +/* 02EB7C 8002DF7C 44CDF800 */ ctc1 $t5, $31 +/* 02EB80 8002DF80 0C00C537 */ jal func_800314DC +/* 02EB84 8002DF84 AFAE0010 */ sw $t6, 0x10($sp) +/* 02EB88 8002DF88 8FA3008C */ lw $v1, 0x8c($sp) +/* 02EB8C 8002DF8C 8E0F0000 */ lw $t7, ($s0) +/* 02EB90 8002DF90 0003C900 */ sll $t9, $v1, 4 +/* 02EB94 8002DF94 8DF80004 */ lw $t8, 4($t7) +/* 02EB98 8002DF98 0323C821 */ addu $t9, $t9, $v1 +/* 02EB9C 8002DF9C 0019C880 */ sll $t9, $t9, 2 +/* 02EBA0 8002DFA0 AFA00078 */ sw $zero, 0x78($sp) +/* 02EBA4 8002DFA4 0319A821 */ addu $s5, $t8, $t9 +/* 02EBA8 8002DFA8 86AC0020 */ lh $t4, 0x20($s5) +/* 02EBAC 8002DFAC 00405825 */ move $t3, $v0 +/* 02EBB0 8002DFB0 19800090 */ blez $t4, .L8002E1F4 +/* 02EBB4 8002DFB4 00005025 */ move $t2, $zero +/* 02EBB8 8002DFB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02EBBC 8002DFBC 4481B000 */ mtc1 $at, $f22 +/* 02EBC0 8002DFC0 3C01800E */ lui $at, %hi(D_800E5F44) # $at, 0x800e +/* 02EBC4 8002DFC4 C4355F40 */ lwc1 $f21, %lo(D_800E5F40)($at) +/* 02EBC8 8002DFC8 C4345F44 */ lwc1 $f20, %lo(D_800E5F44)($at) +/* 02EBCC 8002DFCC 8EA2000C */ lw $v0, 0xc($s5) +/* 02EBD0 8002DFD0 24120003 */ li $s2, 3 +/* 02EBD4 8002DFD4 2411000A */ li $s1, 10 +.L8002DFD8: +/* 02EBD8 8002DFD8 8C430008 */ lw $v1, 8($v0) +/* 02EBDC 8002DFDC 00000000 */ nop +/* 02EBE0 8002DFE0 306E6900 */ andi $t6, $v1, 0x6900 +/* 02EBE4 8002DFE4 15C00078 */ bnez $t6, .L8002E1C8 +/* 02EBE8 8002DFE8 0003F4C2 */ srl $fp, $v1, 0x13 +/* 02EBEC 8002DFEC 84580002 */ lh $t8, 2($v0) +/* 02EBF0 8002DFF0 84530004 */ lh $s3, 4($v0) +/* 02EBF4 8002DFF4 844D0010 */ lh $t5, 0x10($v0) +/* 02EBF8 8002DFF8 0018C880 */ sll $t9, $t8, 2 +/* 02EBFC 8002DFFC 8EAC0000 */ lw $t4, ($s5) +/* 02EC00 8002E000 0338C821 */ addu $t9, $t9, $t8 +/* 02EC04 8002E004 33CF0007 */ andi $t7, $fp, 7 +/* 02EC08 8002E008 0019C840 */ sll $t9, $t9, 1 +/* 02EC0C 8002E00C 026D082A */ slt $at, $s3, $t5 +/* 02EC10 8002E010 01E0F025 */ move $fp, $t7 +/* 02EC14 8002E014 1020006C */ beqz $at, .L8002E1C8 +/* 02EC18 8002E018 032C8021 */ addu $s0, $t9, $t4 +/* 02EC1C 8002E01C 16E0006A */ bnez $s7, .L8002E1C8 +/* 02EC20 8002E020 0013A040 */ sll $s4, $s3, 1 +.L8002E024: +/* 02EC24 8002E024 8EAE0010 */ lw $t6, 0x10($s5) +/* 02EC28 8002E028 00000000 */ nop +/* 02EC2C 8002E02C 01D47821 */ addu $t7, $t6, $s4 +/* 02EC30 8002E030 85F80000 */ lh $t8, ($t7) +/* 02EC34 8002E034 00000000 */ nop +/* 02EC38 8002E038 030B1024 */ and $v0, $t8, $t3 +/* 02EC3C 8002E03C 305900FF */ andi $t9, $v0, 0xff +/* 02EC40 8002E040 13200057 */ beqz $t9, .L8002E1A0 +/* 02EC44 8002E044 304CFF00 */ andi $t4, $v0, 0xff00 +/* 02EC48 8002E048 11800055 */ beqz $t4, .L8002E1A0 +/* 02EC4C 8002E04C 00000000 */ nop +/* 02EC50 8002E050 8EAD0004 */ lw $t5, 4($s5) +/* 02EC54 8002E054 00137100 */ sll $t6, $s3, 4 +/* 02EC58 8002E058 01AE4021 */ addu $t0, $t5, $t6 +/* 02EC5C 8002E05C 910F0001 */ lbu $t7, 1($t0) +/* 02EC60 8002E060 8FAE0090 */ lw $t6, 0x90($sp) +/* 02EC64 8002E064 01F10019 */ multu $t7, $s1 +/* 02EC68 8002E068 8FAF0094 */ lw $t7, 0x94($sp) +/* 02EC6C 8002E06C 25040001 */ addiu $a0, $t0, 1 +/* 02EC70 8002E070 24030001 */ li $v1, 1 +/* 02EC74 8002E074 00004812 */ mflo $t1 +/* 02EC78 8002E078 0209C021 */ addu $t8, $s0, $t1 +/* 02EC7C 8002E07C 87050002 */ lh $a1, 2($t8) +/* 02EC80 8002E080 00000000 */ nop +/* 02EC84 8002E084 00A03025 */ move $a2, $a1 +.L8002E088: +/* 02EC88 8002E088 90990001 */ lbu $t9, 1($a0) +/* 02EC8C 8002E08C 24630001 */ addiu $v1, $v1, 1 +/* 02EC90 8002E090 03310019 */ multu $t9, $s1 +/* 02EC94 8002E094 00006012 */ mflo $t4 +/* 02EC98 8002E098 020C6821 */ addu $t5, $s0, $t4 +/* 02EC9C 8002E09C 85A20002 */ lh $v0, 2($t5) +/* 02ECA0 8002E0A0 00000000 */ nop +/* 02ECA4 8002E0A4 0045082A */ slt $at, $v0, $a1 +/* 02ECA8 8002E0A8 10200004 */ beqz $at, .L8002E0BC +/* 02ECAC 8002E0AC 00C2082A */ slt $at, $a2, $v0 +/* 02ECB0 8002E0B0 10000005 */ b .L8002E0C8 +/* 02ECB4 8002E0B4 00402825 */ move $a1, $v0 +/* 02ECB8 8002E0B8 00C2082A */ slt $at, $a2, $v0 +.L8002E0BC: +/* 02ECBC 8002E0BC 10200002 */ beqz $at, .L8002E0C8 +/* 02ECC0 8002E0C0 00000000 */ nop +/* 02ECC4 8002E0C4 00403025 */ move $a2, $v0 +.L8002E0C8: +/* 02ECC8 8002E0C8 1472FFEF */ bne $v1, $s2, .L8002E088 +/* 02ECCC 8002E0CC 24840001 */ addiu $a0, $a0, 1 +/* 02ECD0 8002E0D0 00CE082A */ slt $at, $a2, $t6 +/* 02ECD4 8002E0D4 14200032 */ bnez $at, .L8002E1A0 +/* 02ECD8 8002E0D8 01E5082A */ slt $at, $t7, $a1 +/* 02ECDC 8002E0DC 14200030 */ bnez $at, .L8002E1A0 +/* 02ECE0 8002E0E0 00000000 */ nop +/* 02ECE4 8002E0E4 910C0002 */ lbu $t4, 2($t0) +/* 02ECE8 8002E0E8 4458F800 */ cfc1 $t8, $31 +/* 02ECEC 8002E0EC 01910019 */ multu $t4, $s1 +/* 02ECF0 8002E0F0 37010003 */ ori $at, $t8, 3 +/* 02ECF4 8002E0F4 38210002 */ xori $at, $at, 2 +/* 02ECF8 8002E0F8 44C1F800 */ ctc1 $at, $31 +/* 02ECFC 8002E0FC C6D0000C */ lwc1 $f16, 0xc($s6) +/* 02ED00 8002E100 910E0003 */ lbu $t6, 3($t0) +/* 02ED04 8002E104 460084A4 */ cvt.w.s $f18, $f16 +/* 02ED08 8002E108 C6C40014 */ lwc1 $f4, 0x14($s6) +/* 02ED0C 8002E10C 44D8F800 */ ctc1 $t8, $31 +/* 02ED10 8002E110 44049000 */ mfc1 $a0, $f18 +/* 02ED14 8002E114 AFAB0088 */ sw $t3, 0x88($sp) +/* 02ED18 8002E118 4459F800 */ cfc1 $t9, $31 +/* 02ED1C 8002E11C 00006812 */ mflo $t5 +/* 02ED20 8002E120 37210003 */ ori $at, $t9, 3 +/* 02ED24 8002E124 38210002 */ xori $at, $at, 2 +/* 02ED28 8002E128 01D10019 */ multu $t6, $s1 +/* 02ED2C 8002E12C 44C1F800 */ ctc1 $at, $31 +/* 02ED30 8002E130 01B03821 */ addu $a3, $t5, $s0 +/* 02ED34 8002E134 460021A4 */ cvt.w.s $f6, $f4 +/* 02ED38 8002E138 AFAA005C */ sw $t2, 0x5c($sp) +/* 02ED3C 8002E13C 44053000 */ mfc1 $a1, $f6 +/* 02ED40 8002E140 44D9F800 */ ctc1 $t9, $31 +/* 02ED44 8002E144 01303021 */ addu $a2, $t1, $s0 +/* 02ED48 8002E148 00007812 */ mflo $t7 +/* 02ED4C 8002E14C 01F0C021 */ addu $t8, $t7, $s0 +/* 02ED50 8002E150 0C01C13C */ jal func_800704F0 +/* 02ED54 8002E154 AFB80010 */ sw $t8, 0x10($sp) +/* 02ED58 8002E158 8FAA005C */ lw $t2, 0x5c($sp) +/* 02ED5C 8002E15C 8FAB0088 */ lw $t3, 0x88($sp) +/* 02ED60 8002E160 1040000F */ beqz $v0, .L8002E1A0 +/* 02ED64 8002E164 001EC880 */ sll $t9, $fp, 2 +/* 02ED68 8002E168 3C01800E */ lui $at, 0x800e +/* 02ED6C 8002E16C 00390821 */ addu $at, $at, $t9 +/* 02ED70 8002E170 C42AC884 */ lwc1 $f10, -0x377c($at) +/* 02ED74 8002E174 8EC20054 */ lw $v0, 0x54($s6) +/* 02ED78 8002E178 460AB401 */ sub.s $f16, $f22, $f10 +/* 02ED7C 8002E17C C4400000 */ lwc1 $f0, ($v0) +/* 02ED80 8002E180 24170001 */ li $s7, 1 +/* 02ED84 8002E184 46008481 */ sub.s $f18, $f16, $f0 +/* 02ED88 8002E188 46009121 */ cvt.d.s $f4, $f18 +/* 02ED8C 8002E18C 46342182 */ mul.d $f6, $f4, $f20 +/* 02ED90 8002E190 46000221 */ cvt.d.s $f8, $f0 +/* 02ED94 8002E194 46264280 */ add.d $f10, $f8, $f6 +/* 02ED98 8002E198 46205420 */ cvt.s.d $f16, $f10 +/* 02ED9C 8002E19C E4500000 */ swc1 $f16, ($v0) +.L8002E1A0: +/* 02EDA0 8002E1A0 8EAC000C */ lw $t4, 0xc($s5) +/* 02EDA4 8002E1A4 26730001 */ addiu $s3, $s3, 1 +/* 02EDA8 8002E1A8 018A1021 */ addu $v0, $t4, $t2 +/* 02EDAC 8002E1AC 844D0010 */ lh $t5, 0x10($v0) +/* 02EDB0 8002E1B0 26940002 */ addiu $s4, $s4, 2 +/* 02EDB4 8002E1B4 026D082A */ slt $at, $s3, $t5 +/* 02EDB8 8002E1B8 10200004 */ beqz $at, .L8002E1CC +/* 02EDBC 8002E1BC 8FAE0078 */ lw $t6, 0x78($sp) +/* 02EDC0 8002E1C0 12E0FF98 */ beqz $s7, .L8002E024 +/* 02EDC4 8002E1C4 00000000 */ nop +.L8002E1C8: +/* 02EDC8 8002E1C8 8FAE0078 */ lw $t6, 0x78($sp) +.L8002E1CC: +/* 02EDCC 8002E1CC 254A000C */ addiu $t2, $t2, 0xc +/* 02EDD0 8002E1D0 25CF0001 */ addiu $t7, $t6, 1 +/* 02EDD4 8002E1D4 AFAF0078 */ sw $t7, 0x78($sp) +/* 02EDD8 8002E1D8 86B80020 */ lh $t8, 0x20($s5) +/* 02EDDC 8002E1DC 2442000C */ addiu $v0, $v0, 0xc +/* 02EDE0 8002E1E0 01F8082A */ slt $at, $t7, $t8 +/* 02EDE4 8002E1E4 10200004 */ beqz $at, .L8002E1F8 +/* 02EDE8 8002E1E8 8FBF0054 */ lw $ra, 0x54($sp) +/* 02EDEC 8002E1EC 12E0FF7A */ beqz $s7, .L8002DFD8 +/* 02EDF0 8002E1F0 00000000 */ nop +.L8002E1F4: +/* 02EDF4 8002E1F4 8FBF0054 */ lw $ra, 0x54($sp) +.L8002E1F8: +/* 02EDF8 8002E1F8 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 02EDFC 8002E1FC C7B40024 */ lwc1 $f20, 0x24($sp) +/* 02EE00 8002E200 C7B70028 */ lwc1 $f23, 0x28($sp) +/* 02EE04 8002E204 C7B6002C */ lwc1 $f22, 0x2c($sp) +/* 02EE08 8002E208 8FB00030 */ lw $s0, 0x30($sp) +/* 02EE0C 8002E20C 8FB10034 */ lw $s1, 0x34($sp) +/* 02EE10 8002E210 8FB20038 */ lw $s2, 0x38($sp) +/* 02EE14 8002E214 8FB3003C */ lw $s3, 0x3c($sp) +/* 02EE18 8002E218 8FB40040 */ lw $s4, 0x40($sp) +/* 02EE1C 8002E21C 8FB50044 */ lw $s5, 0x44($sp) +/* 02EE20 8002E220 8FB60048 */ lw $s6, 0x48($sp) +/* 02EE24 8002E224 8FB7004C */ lw $s7, 0x4c($sp) +/* 02EE28 8002E228 8FBE0050 */ lw $fp, 0x50($sp) +/* 02EE2C 8002E22C 03E00008 */ jr $ra +/* 02EE30 8002E230 27BD0098 */ addiu $sp, $sp, 0x98 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002E234.s b/asm/non_matchings/unknown_0255E0/func_8002E234.s new file mode 100644 index 00000000..e8034f28 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002E234.s @@ -0,0 +1,459 @@ +glabel func_8002E234 +/* 02EE34 8002E234 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 02EE38 8002E238 444EF800 */ cfc1 $t6, $31 +/* 02EE3C 8002E23C AFBF0044 */ sw $ra, 0x44($sp) +/* 02EE40 8002E240 35C10003 */ ori $at, $t6, 3 +/* 02EE44 8002E244 AFB60040 */ sw $s6, 0x40($sp) +/* 02EE48 8002E248 AFB5003C */ sw $s5, 0x3c($sp) +/* 02EE4C 8002E24C AFB40038 */ sw $s4, 0x38($sp) +/* 02EE50 8002E250 AFB30034 */ sw $s3, 0x34($sp) +/* 02EE54 8002E254 AFB20030 */ sw $s2, 0x30($sp) +/* 02EE58 8002E258 AFB1002C */ sw $s1, 0x2c($sp) +/* 02EE5C 8002E25C AFB00028 */ sw $s0, 0x28($sp) +/* 02EE60 8002E260 38210002 */ xori $at, $at, 2 +/* 02EE64 8002E264 44C1F800 */ ctc1 $at, $31 +/* 02EE68 8002E268 C4840010 */ lwc1 $f4, 0x10($a0) +/* 02EE6C 8002E26C 848F0048 */ lh $t7, 0x48($a0) +/* 02EE70 8002E270 460021A4 */ cvt.w.s $f6, $f4 +/* 02EE74 8002E274 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 02EE78 8002E278 24120001 */ li $s2, 1 +/* 02EE7C 8002E27C 44103000 */ mfc1 $s0, $f6 +/* 02EE80 8002E280 44819000 */ mtc1 $at, $f18 +/* 02EE84 8002E284 44CEF800 */ ctc1 $t6, $31 +/* 02EE88 8002E288 0080A825 */ move $s5, $a0 +/* 02EE8C 8002E28C 164F000F */ bne $s2, $t7, .L8002E2CC +/* 02EE90 8002E290 00A0B025 */ move $s6, $a1 +/* 02EE94 8002E294 0C0270C3 */ jal func_8009C30C +/* 02EE98 8002E298 E7B2006C */ swc1 $f18, 0x6c($sp) +/* 02EE9C 8002E29C C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 02EEA0 8002E2A0 30580010 */ andi $t8, $v0, 0x10 +/* 02EEA4 8002E2A4 13000005 */ beqz $t8, .L8002E2BC +/* 02EEA8 8002E2A8 30590020 */ andi $t9, $v0, 0x20 +/* 02EEAC 8002E2AC 3C01800E */ lui $at, %hi(D_800E5F48) # $at, 0x800e +/* 02EEB0 8002E2B0 C4325F48 */ lwc1 $f18, %lo(D_800E5F48)($at) +/* 02EEB4 8002E2B4 10000006 */ b .L8002E2D0 +/* 02EEB8 8002E2B8 3C014000 */ lui $at, 0x4000 +.L8002E2BC: +/* 02EEBC 8002E2BC 13200003 */ beqz $t9, .L8002E2CC +/* 02EEC0 8002E2C0 3C01800E */ lui $at, %hi(D_800E5F4C) # $at, 0x800e +/* 02EEC4 8002E2C4 C4325F4C */ lwc1 $f18, %lo(D_800E5F4C)($at) +/* 02EEC8 8002E2C8 00000000 */ nop +.L8002E2CC: +/* 02EECC 8002E2CC 3C014000 */ li $at, 0x40000000 # 2.000000 +.L8002E2D0: +/* 02EED0 8002E2D0 44814000 */ mtc1 $at, $f8 +/* 02EED4 8002E2D4 3C118012 */ lui $s1, %hi(D_8011D0C8) # $s1, 0x8012 +/* 02EED8 8002E2D8 3C138012 */ lui $s3, %hi(D_8011D0C4) # $s3, 0x8012 +/* 02EEDC 8002E2DC 2673D0C4 */ addiu $s3, %lo(D_8011D0C4) # addiu $s3, $s3, -0x2f3c +/* 02EEE0 8002E2E0 2631D0C8 */ addiu $s1, %lo(D_8011D0C8) # addiu $s1, $s1, -0x2f38 +/* 02EEE4 8002E2E4 AE750000 */ sw $s5, ($s3) +/* 02EEE8 8002E2E8 12C00042 */ beqz $s6, .L8002E3F4 +/* 02EEEC 8002E2EC E6280000 */ swc1 $f8, ($s1) +/* 02EEF0 8002E2F0 3C018012 */ lui $at, %hi(D_8011D0B8) # $at, 0x8012 +/* 02EEF4 8002E2F4 AC20D0B8 */ sw $zero, %lo(D_8011D0B8)($at) +/* 02EEF8 8002E2F8 3C088012 */ lui $t0, %hi(D_8011D364) # $t0, 0x8012 +/* 02EEFC 8002E2FC 8D08D364 */ lw $t0, %lo(D_8011D364)($t0) +/* 02EF00 8002E300 8EA90058 */ lw $t1, 0x58($s5) +/* 02EF04 8002E304 00000000 */ nop +/* 02EF08 8002E308 A5280008 */ sh $t0, 8($t1) +/* 02EF0C 8002E30C 8EA20058 */ lw $v0, 0x58($s5) +/* 02EF10 8002E310 00000000 */ nop +/* 02EF14 8002E314 8445000C */ lh $a1, 0xc($v0) +/* 02EF18 8002E318 8C440004 */ lw $a0, 4($v0) +/* 02EF1C 8002E31C 00055200 */ sll $t2, $a1, 8 +/* 02EF20 8002E320 01402825 */ move $a1, $t2 +/* 02EF24 8002E324 0C01ED1B */ jal func_8007B46C +/* 02EF28 8002E328 E7B2006C */ swc1 $f18, 0x6c($sp) +/* 02EF2C 8002E32C 3C018012 */ lui $at, %hi(D_8011D0C0) # $at, 0x8012 +/* 02EF30 8002E330 AC22D0C0 */ sw $v0, %lo(D_8011D0C0)($at) +/* 02EF34 8002E334 8EAB0040 */ lw $t3, 0x40($s5) +/* 02EF38 8002E338 3C148012 */ lui $s4, %hi(D_8011D0CE) # $s4, 0x8012 +/* 02EF3C 8002E33C 856C0048 */ lh $t4, 0x48($t3) +/* 02EF40 8002E340 2694D0CE */ addiu $s4, %lo(D_8011D0CE) # addiu $s4, $s4, -0x2f32 +/* 02EF44 8002E344 01906821 */ addu $t5, $t4, $s0 +/* 02EF48 8002E348 A68D0000 */ sh $t5, ($s4) +/* 02EF4C 8002E34C 8EAE0040 */ lw $t6, 0x40($s5) +/* 02EF50 8002E350 3C198012 */ lui $t9, %hi(D_8011D384) # $t9, 0x8012 +/* 02EF54 8002E354 85CF0046 */ lh $t7, 0x46($t6) +/* 02EF58 8002E358 8F39D384 */ lw $t9, %lo(D_8011D384)($t9) +/* 02EF5C 8002E35C C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 02EF60 8002E360 3C018012 */ lui $at, %hi(D_8011D0CC) # $at, 0x8012 +/* 02EF64 8002E364 01F0C021 */ addu $t8, $t7, $s0 +/* 02EF68 8002E368 13200006 */ beqz $t9, .L8002E384 +/* 02EF6C 8002E36C A438D0CC */ sh $t8, %lo(D_8011D0CC)($at) +/* 02EF70 8002E370 0C019884 */ jal func_80066210 +/* 02EF74 8002E374 E7B2006C */ swc1 $f18, 0x6c($sp) +/* 02EF78 8002E378 C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 02EF7C 8002E37C 1C400004 */ bgtz $v0, .L8002E390 +/* 02EF80 8002E380 00000000 */ nop +.L8002E384: +/* 02EF84 8002E384 44805000 */ mtc1 $zero, $f10 +/* 02EF88 8002E388 00000000 */ nop +/* 02EF8C 8002E38C E62A0000 */ swc1 $f10, ($s1) +.L8002E390: +/* 02EF90 8002E390 8EA80058 */ lw $t0, 0x58($s5) +/* 02EF94 8002E394 3C038012 */ lui $v1, %hi(D_8011D0D8) # $v1, 0x8012 +/* 02EF98 8002E398 C5040000 */ lwc1 $f4, ($t0) +/* 02EF9C 8002E39C 2463D0D8 */ addiu $v1, %lo(D_8011D0D8) # addiu $v1, $v1, -0x2f28 +/* 02EFA0 8002E3A0 46122182 */ mul.s $f6, $f4, $f18 +/* 02EFA4 8002E3A4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 02EFA8 8002E3A8 44814000 */ mtc1 $at, $f8 +/* 02EFAC 8002E3AC 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02EFB0 8002E3B0 E4660000 */ swc1 $f6, ($v1) +/* 02EFB4 8002E3B4 C4700000 */ lwc1 $f16, ($v1) +/* 02EFB8 8002E3B8 3C028012 */ lui $v0, %hi(D_8011D0F0) # $v0, 0x8012 +/* 02EFBC 8002E3BC 46088002 */ mul.s $f0, $f16, $f8 +/* 02EFC0 8002E3C0 2442D0F0 */ addiu $v0, %lo(D_8011D0F0) # addiu $v0, $v0, -0x2f10 +/* 02EFC4 8002E3C4 E420D0DC */ swc1 $f0, %lo(D_8011D0DC)($at) +/* 02EFC8 8002E3C8 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02EFCC 8002E3CC E420D0E0 */ swc1 $f0, %lo(D_8011D0E0)($at) +/* 02EFD0 8002E3D0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 02EFD4 8002E3D4 44815000 */ mtc1 $at, $f10 +/* 02EFD8 8002E3D8 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02EFDC 8002E3DC E44A0000 */ swc1 $f10, ($v0) +/* 02EFE0 8002E3E0 C42CD0DC */ lwc1 $f12, %lo(D_8011D0DC)($at) +/* 02EFE4 8002E3E4 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02EFE8 8002E3E8 C42ED0E0 */ lwc1 $f14, %lo(D_8011D0E0)($at) +/* 02EFEC 8002E3EC 10000076 */ b .L8002E5C8 +/* 02EFF0 8002E3F0 3C014310 */ lui $at, 0x4310 +.L8002E3F4: +/* 02EFF4 8002E3F4 3C098012 */ lui $t1, %hi(D_8011D364) # $t1, 0x8012 +/* 02EFF8 8002E3F8 8D29D364 */ lw $t1, %lo(D_8011D364)($t1) +/* 02EFFC 8002E3FC 8EAA0050 */ lw $t2, 0x50($s5) +/* 02F000 8002E400 3C018012 */ lui $at, %hi(D_8011D0C0) # $at, 0x8012 +/* 02F004 8002E404 A5490008 */ sh $t1, 8($t2) +/* 02F008 8002E408 8EAB0050 */ lw $t3, 0x50($s5) +/* 02F00C 8002E40C 3C148012 */ lui $s4, %hi(D_8011D0CE) # $s4, 0x8012 +/* 02F010 8002E410 8D6C0004 */ lw $t4, 4($t3) +/* 02F014 8002E414 2694D0CE */ addiu $s4, %lo(D_8011D0CE) # addiu $s4, $s4, -0x2f32 +/* 02F018 8002E418 AC2CD0C0 */ sw $t4, %lo(D_8011D0C0)($at) +/* 02F01C 8002E41C 8EAD0040 */ lw $t5, 0x40($s5) +/* 02F020 8002E420 3C018012 */ lui $at, %hi(D_8011D0CC) # $at, 0x8012 +/* 02F024 8002E424 85AE0044 */ lh $t6, 0x44($t5) +/* 02F028 8002E428 00000000 */ nop +/* 02F02C 8002E42C 01D07821 */ addu $t7, $t6, $s0 +/* 02F030 8002E430 A68F0000 */ sh $t7, ($s4) +/* 02F034 8002E434 8EB80040 */ lw $t8, 0x40($s5) +/* 02F038 8002E438 00000000 */ nop +/* 02F03C 8002E43C 87190042 */ lh $t9, 0x42($t8) +/* 02F040 8002E440 00000000 */ nop +/* 02F044 8002E444 03304021 */ addu $t0, $t9, $s0 +/* 02F048 8002E448 A428D0CC */ sh $t0, %lo(D_8011D0CC)($at) +/* 02F04C 8002E44C 86A90048 */ lh $t1, 0x48($s5) +/* 02F050 8002E450 00000000 */ nop +/* 02F054 8002E454 12490025 */ beq $s2, $t1, .L8002E4EC +/* 02F058 8002E458 00000000 */ nop +/* 02F05C 8002E45C C6A20030 */ lwc1 $f2, 0x30($s5) +/* 02F060 8002E460 44806800 */ mtc1 $zero, $f13 +/* 02F064 8002E464 44806000 */ mtc1 $zero, $f12 +/* 02F068 8002E468 46001021 */ cvt.d.s $f0, $f2 +/* 02F06C 8002E46C 462C003C */ c.lt.d $f0, $f12 +/* 02F070 8002E470 44802000 */ mtc1 $zero, $f4 +/* 02F074 8002E474 45000003 */ bc1f .L8002E484 +/* 02F078 8002E478 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 02F07C 8002E47C 46001087 */ neg.s $f2, $f2 +/* 02F080 8002E480 46001021 */ cvt.d.s $f0, $f2 +.L8002E484: +/* 02F084 8002E484 44812800 */ mtc1 $at, $f5 +/* 02F088 8002E488 3C014090 */ li $at, 0x40900000 # 4.500000 +/* 02F08C 8002E48C 46240181 */ sub.d $f6, $f0, $f4 +/* 02F090 8002E490 44814800 */ mtc1 $at, $f9 +/* 02F094 8002E494 462030A0 */ cvt.s.d $f2, $f6 +/* 02F098 8002E498 44804000 */ mtc1 $zero, $f8 +/* 02F09C 8002E49C 46001021 */ cvt.d.s $f0, $f2 +/* 02F0A0 8002E4A0 462C003C */ c.lt.d $f0, $f12 +/* 02F0A4 8002E4A4 3C014480 */ li $at, 0x44800000 # 1024.000000 +/* 02F0A8 8002E4A8 45000004 */ bc1f .L8002E4BC +/* 02F0AC 8002E4AC 00000000 */ nop +/* 02F0B0 8002E4B0 44801000 */ mtc1 $zero, $f2 +/* 02F0B4 8002E4B4 00000000 */ nop +/* 02F0B8 8002E4B8 46001021 */ cvt.d.s $f0, $f2 +.L8002E4BC: +/* 02F0BC 8002E4BC 4620403C */ c.lt.d $f8, $f0 +/* 02F0C0 8002E4C0 00000000 */ nop +/* 02F0C4 8002E4C4 45000003 */ bc1f .L8002E4D4 +/* 02F0C8 8002E4C8 00000000 */ nop +/* 02F0CC 8002E4CC 44811000 */ mtc1 $at, $f2 +/* 02F0D0 8002E4D0 00000000 */ nop +.L8002E4D4: +/* 02F0D4 8002E4D4 3C01800E */ lui $at, %hi(D_800E5F50) # $at, 0x800e +/* 02F0D8 8002E4D8 C4245F50 */ lwc1 $f4, %lo(D_800E5F50)($at) +/* 02F0DC 8002E4DC C62A0000 */ lwc1 $f10, ($s1) +/* 02F0E0 8002E4E0 46041182 */ mul.s $f6, $f2, $f4 +/* 02F0E4 8002E4E4 46065200 */ add.s $f8, $f10, $f6 +/* 02F0E8 8002E4E8 E6280000 */ swc1 $f8, ($s1) +.L8002E4EC: +/* 02F0EC 8002E4EC 8EAA0050 */ lw $t2, 0x50($s5) +/* 02F0F0 8002E4F0 3C038012 */ lui $v1, %hi(D_8011D0D8) # $v1, 0x8012 +/* 02F0F4 8002E4F4 C5440000 */ lwc1 $f4, ($t2) +/* 02F0F8 8002E4F8 2463D0D8 */ addiu $v1, %lo(D_8011D0D8) # addiu $v1, $v1, -0x2f28 +/* 02F0FC 8002E4FC 46122282 */ mul.s $f10, $f4, $f18 +/* 02F100 8002E500 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 02F104 8002E504 44813000 */ mtc1 $at, $f6 +/* 02F108 8002E508 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02F10C 8002E50C E46A0000 */ swc1 $f10, ($v1) +/* 02F110 8002E510 C4700000 */ lwc1 $f16, ($v1) +/* 02F114 8002E514 3C028012 */ lui $v0, %hi(D_8011D0F0) # $v0, 0x8012 +/* 02F118 8002E518 46068002 */ mul.s $f0, $f16, $f6 +/* 02F11C 8002E51C 2442D0F0 */ addiu $v0, %lo(D_8011D0F0) # addiu $v0, $v0, -0x2f10 +/* 02F120 8002E520 E420D0DC */ swc1 $f0, %lo(D_8011D0DC)($at) +/* 02F124 8002E524 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02F128 8002E528 E420D0E0 */ swc1 $f0, %lo(D_8011D0E0)($at) +/* 02F12C 8002E52C 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02F130 8002E530 C42CD0DC */ lwc1 $f12, %lo(D_8011D0DC)($at) +/* 02F134 8002E534 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02F138 8002E538 C42ED0E0 */ lwc1 $f14, %lo(D_8011D0E0)($at) +/* 02F13C 8002E53C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 02F140 8002E540 44814000 */ mtc1 $at, $f8 +/* 02F144 8002E544 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 +/* 02F148 8002E548 460C4102 */ mul.s $f4, $f8, $f12 +/* 02F14C 8002E54C 00000000 */ nop +/* 02F150 8002E550 460E2282 */ mul.s $f10, $f4, $f14 +/* 02F154 8002E554 E42AD0E4 */ swc1 $f10, %lo(D_8011D0E4)($at) +/* 02F158 8002E558 8EAB0040 */ lw $t3, 0x40($s5) +/* 02F15C 8002E55C 3C013E00 */ li $at, 0x3E000000 # 0.125000 +/* 02F160 8002E560 856C0042 */ lh $t4, 0x42($t3) +/* 02F164 8002E564 44812000 */ mtc1 $at, $f4 +/* 02F168 8002E568 448C3000 */ mtc1 $t4, $f6 +/* 02F16C 8002E56C 3C0140E0 */ li $at, 0x40E00000 # 7.000000 +/* 02F170 8002E570 46803220 */ cvt.s.w $f8, $f6 +/* 02F174 8002E574 44803000 */ mtc1 $zero, $f6 +/* 02F178 8002E578 46044282 */ mul.s $f10, $f8, $f4 +/* 02F17C 8002E57C 44812000 */ mtc1 $at, $f4 +/* 02F180 8002E580 E44A0000 */ swc1 $f10, ($v0) +/* 02F184 8002E584 C4420000 */ lwc1 $f2, ($v0) +/* 02F188 8002E588 00000000 */ nop +/* 02F18C 8002E58C 4606103C */ c.lt.s $f2, $f6 +/* 02F190 8002E590 00000000 */ nop +/* 02F194 8002E594 45000005 */ bc1f .L8002E5AC +/* 02F198 8002E598 00000000 */ nop +/* 02F19C 8002E59C 46001207 */ neg.s $f8, $f2 +/* 02F1A0 8002E5A0 E4480000 */ swc1 $f8, ($v0) +/* 02F1A4 8002E5A4 C4420000 */ lwc1 $f2, ($v0) +/* 02F1A8 8002E5A8 00000000 */ nop +.L8002E5AC: +/* 02F1AC 8002E5AC 46022282 */ mul.s $f10, $f4, $f2 +/* 02F1B0 8002E5B0 3C018012 */ lui $at, %hi(D_8011D0F4) # $at, 0x8012 +/* 02F1B4 8002E5B4 240D8000 */ li $t5, -32768 +/* 02F1B8 8002E5B8 E42AD0F4 */ swc1 $f10, %lo(D_8011D0F4)($at) +/* 02F1BC 8002E5BC 3C018012 */ lui $at, %hi(D_8011D0D0) # $at, 0x8012 +/* 02F1C0 8002E5C0 A42DD0D0 */ sh $t5, %lo(D_8011D0D0)($at) +/* 02F1C4 8002E5C4 3C014310 */ li $at, 0x43100000 # 144.000000 +.L8002E5C8: +/* 02F1C8 8002E5C8 44813000 */ mtc1 $at, $f6 +/* 02F1CC 8002E5CC 8E620000 */ lw $v0, ($s3) +/* 02F1D0 8002E5D0 46103203 */ div.s $f8, $f6, $f16 +/* 02F1D4 8002E5D4 868C0000 */ lh $t4, ($s4) +/* 02F1D8 8002E5D8 3C068012 */ lui $a2, %hi(D_8011D0CC) # $a2, 0x8012 +/* 02F1DC 8002E5DC 27A40078 */ addiu $a0, $sp, 0x78 +/* 02F1E0 8002E5E0 E4680000 */ swc1 $f8, ($v1) +/* 02F1E4 8002E5E4 C440000C */ lwc1 $f0, 0xc($v0) +/* 02F1E8 8002E5E8 C4420014 */ lwc1 $f2, 0x14($v0) +/* 02F1EC 8002E5EC 460C0101 */ sub.s $f4, $f0, $f12 +/* 02F1F0 8002E5F0 84C6D0CC */ lh $a2, %lo(D_8011D0CC)($a2) +/* 02F1F4 8002E5F4 444EF800 */ cfc1 $t6, $31 +/* 02F1F8 8002E5F8 AFAC0014 */ sw $t4, 0x14($sp) +/* 02F1FC 8002E5FC 35C10003 */ ori $at, $t6, 3 +/* 02F200 8002E600 38210002 */ xori $at, $at, 2 +/* 02F204 8002E604 44C1F800 */ ctc1 $at, $31 +/* 02F208 8002E608 00000000 */ nop +/* 02F20C 8002E60C 460022A4 */ cvt.w.s $f10, $f4 +/* 02F210 8002E610 44CEF800 */ ctc1 $t6, $31 +/* 02F214 8002E614 44055000 */ mfc1 $a1, $f10 +/* 02F218 8002E618 460E1181 */ sub.s $f6, $f2, $f14 +/* 02F21C 8002E61C 00057C00 */ sll $t7, $a1, 0x10 +/* 02F220 8002E620 4459F800 */ cfc1 $t9, $31 +/* 02F224 8002E624 000F2C03 */ sra $a1, $t7, 0x10 +/* 02F228 8002E628 37210003 */ ori $at, $t9, 3 +/* 02F22C 8002E62C 38210002 */ xori $at, $at, 2 +/* 02F230 8002E630 44C1F800 */ ctc1 $at, $31 +/* 02F234 8002E634 00000000 */ nop +/* 02F238 8002E638 46003224 */ cvt.w.s $f8, $f6 +/* 02F23C 8002E63C 44D9F800 */ ctc1 $t9, $31 +/* 02F240 8002E640 44074000 */ mfc1 $a3, $f8 +/* 02F244 8002E644 460C0100 */ add.s $f4, $f0, $f12 +/* 02F248 8002E648 00074400 */ sll $t0, $a3, 0x10 +/* 02F24C 8002E64C 444AF800 */ cfc1 $t2, $31 +/* 02F250 8002E650 00083C03 */ sra $a3, $t0, 0x10 +/* 02F254 8002E654 35410003 */ ori $at, $t2, 3 +/* 02F258 8002E658 38210002 */ xori $at, $at, 2 +/* 02F25C 8002E65C 44C1F800 */ ctc1 $at, $31 +/* 02F260 8002E660 00000000 */ nop +/* 02F264 8002E664 460022A4 */ cvt.w.s $f10, $f4 +/* 02F268 8002E668 44CAF800 */ ctc1 $t2, $31 +/* 02F26C 8002E66C 440B5000 */ mfc1 $t3, $f10 +/* 02F270 8002E670 460E1180 */ add.s $f6, $f2, $f14 +/* 02F274 8002E674 AFAB0010 */ sw $t3, 0x10($sp) +/* 02F278 8002E678 444DF800 */ cfc1 $t5, $31 +/* 02F27C 8002E67C 00000000 */ nop +/* 02F280 8002E680 35A10003 */ ori $at, $t5, 3 +/* 02F284 8002E684 38210002 */ xori $at, $at, 2 +/* 02F288 8002E688 44C1F800 */ ctc1 $at, $31 +/* 02F28C 8002E68C 00000000 */ nop +/* 02F290 8002E690 46003224 */ cvt.w.s $f8, $f6 +/* 02F294 8002E694 440E4000 */ mfc1 $t6, $f8 +/* 02F298 8002E698 44CDF800 */ ctc1 $t5, $31 +/* 02F29C 8002E69C 0C00A84D */ jal func_8002A134 +/* 02F2A0 8002E6A0 AFAE0018 */ sw $t6, 0x18($sp) +/* 02F2A4 8002E6A4 3C018012 */ lui $at, %hi(D_8011C230) # $at, 0x8012 +/* 02F2A8 8002E6A8 AC20C230 */ sw $zero, %lo(D_8011C230)($at) +/* 02F2AC 8002E6AC 3C018012 */ lui $at, %hi(D_8011B118) # $at, 0x8012 +/* 02F2B0 8002E6B0 3C038012 */ lui $v1, %hi(D_8011B320) # $v1, 0x8012 +/* 02F2B4 8002E6B4 3C048012 */ lui $a0, %hi(D_8011B330) # $a0, 0x8012 +/* 02F2B8 8002E6B8 AFA20070 */ sw $v0, 0x70($sp) +/* 02F2BC 8002E6BC AC20B118 */ sw $zero, %lo(D_8011B118)($at) +/* 02F2C0 8002E6C0 2484B330 */ addiu $a0, %lo(D_8011B330) # addiu $a0, $a0, -0x4cd0 +/* 02F2C4 8002E6C4 2463B320 */ addiu $v1, %lo(D_8011B320) # addiu $v1, $v1, -0x4ce0 +.L8002E6C8: +/* 02F2C8 8002E6C8 24630004 */ addiu $v1, $v1, 4 +/* 02F2CC 8002E6CC 0064082B */ sltu $at, $v1, $a0 +/* 02F2D0 8002E6D0 1420FFFD */ bnez $at, .L8002E6C8 +/* 02F2D4 8002E6D4 AC60FFFC */ sw $zero, -4($v1) +/* 02F2D8 8002E6D8 2403FFFF */ li $v1, -1 +/* 02F2DC 8002E6DC 3C018012 */ lui $at, %hi(D_8011D0E8) # $at, 0x8012 +/* 02F2E0 8002E6E0 AC23D0E8 */ sw $v1, %lo(D_8011D0E8)($at) +/* 02F2E4 8002E6E4 3C018012 */ lui $at, %hi(D_8011D0EC) # $at, 0x8012 +/* 02F2E8 8002E6E8 AC23D0EC */ sw $v1, %lo(D_8011D0EC)($at) +/* 02F2EC 8002E6EC 1840005C */ blez $v0, .L8002E860 +/* 02F2F0 8002E6F0 00009025 */ move $s2, $zero +/* 02F2F4 8002E6F4 3C13800E */ lui $s3, %hi(D_800DC918) # $s3, 0x800e +/* 02F2F8 8002E6F8 2673C918 */ addiu $s3, %lo(D_800DC918) # addiu $s3, $s3, -0x36e8 +/* 02F2FC 8002E6FC 27B10078 */ addiu $s1, $sp, 0x78 +/* 02F300 8002E700 24140044 */ li $s4, 68 +.L8002E704: +/* 02F304 8002E704 8E300000 */ lw $s0, ($s1) +/* 02F308 8002E708 00000000 */ nop +/* 02F30C 8002E70C 06000051 */ bltz $s0, .L8002E854 +/* 02F310 8002E710 8FAD0070 */ lw $t5, 0x70($sp) +/* 02F314 8002E714 12C00013 */ beqz $s6, .L8002E764 +/* 02F318 8002E718 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02F31C 8002E71C 02140019 */ multu $s0, $s4 +/* 02F320 8002E720 8E6F0000 */ lw $t7, ($s3) +/* 02F324 8002E724 3C0A8012 */ lui $t2, %hi(D_8011D384) # $t2, 0x8012 +/* 02F328 8002E728 8DF80004 */ lw $t8, 4($t7) +/* 02F32C 8002E72C 0000C812 */ mflo $t9 +/* 02F330 8002E730 03194021 */ addu $t0, $t8, $t9 +/* 02F334 8002E734 8109002B */ lb $t1, 0x2b($t0) +/* 02F338 8002E738 00000000 */ nop +/* 02F33C 8002E73C 11200009 */ beqz $t1, .L8002E764 +/* 02F340 8002E740 00000000 */ nop +/* 02F344 8002E744 8D4AD384 */ lw $t2, %lo(D_8011D384)($t2) +/* 02F348 8002E748 00000000 */ nop +/* 02F34C 8002E74C 11400005 */ beqz $t2, .L8002E764 +/* 02F350 8002E750 00000000 */ nop +/* 02F354 8002E754 0C00BBBB */ jal func_8002EEEC +/* 02F358 8002E758 02002025 */ move $a0, $s0 +/* 02F35C 8002E75C 1000003D */ b .L8002E854 +/* 02F360 8002E760 8FAD0070 */ lw $t5, 0x70($sp) +.L8002E764: +/* 02F364 8002E764 C6A0000C */ lwc1 $f0, 0xc($s5) +/* 02F368 8002E768 C42CD0DC */ lwc1 $f12, %lo(D_8011D0DC)($at) +/* 02F36C 8002E76C C6A20014 */ lwc1 $f2, 0x14($s5) +/* 02F370 8002E770 460C0101 */ sub.s $f4, $f0, $f12 +/* 02F374 8002E774 8E6C0000 */ lw $t4, ($s3) +/* 02F378 8002E778 444EF800 */ cfc1 $t6, $31 +/* 02F37C 8002E77C 00105880 */ sll $t3, $s0, 2 +/* 02F380 8002E780 35C10003 */ ori $at, $t6, 3 +/* 02F384 8002E784 38210002 */ xori $at, $at, 2 +/* 02F388 8002E788 44C1F800 */ ctc1 $at, $31 +/* 02F38C 8002E78C 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02F390 8002E790 460022A4 */ cvt.w.s $f10, $f4 +/* 02F394 8002E794 C42ED0E0 */ lwc1 $f14, %lo(D_8011D0E0)($at) +/* 02F398 8002E798 44CEF800 */ ctc1 $t6, $31 +/* 02F39C 8002E79C 44055000 */ mfc1 $a1, $f10 +/* 02F3A0 8002E7A0 460E1181 */ sub.s $f6, $f2, $f14 +/* 02F3A4 8002E7A4 8D8D0008 */ lw $t5, 8($t4) +/* 02F3A8 8002E7A8 444FF800 */ cfc1 $t7, $31 +/* 02F3AC 8002E7AC 01705823 */ subu $t3, $t3, $s0 +/* 02F3B0 8002E7B0 35E10003 */ ori $at, $t7, 3 +/* 02F3B4 8002E7B4 38210002 */ xori $at, $at, 2 +/* 02F3B8 8002E7B8 44C1F800 */ ctc1 $at, $31 +/* 02F3BC 8002E7BC 000B5880 */ sll $t3, $t3, 2 +/* 02F3C0 8002E7C0 46003224 */ cvt.w.s $f8, $f6 +/* 02F3C4 8002E7C4 016D2021 */ addu $a0, $t3, $t5 +/* 02F3C8 8002E7C8 44CFF800 */ ctc1 $t7, $31 +/* 02F3CC 8002E7CC 44064000 */ mfc1 $a2, $f8 +/* 02F3D0 8002E7D0 460C0100 */ add.s $f4, $f0, $f12 +/* 02F3D4 8002E7D4 4458F800 */ cfc1 $t8, $31 +/* 02F3D8 8002E7D8 00000000 */ nop +/* 02F3DC 8002E7DC 37010003 */ ori $at, $t8, 3 +/* 02F3E0 8002E7E0 38210002 */ xori $at, $at, 2 +/* 02F3E4 8002E7E4 44C1F800 */ ctc1 $at, $31 +/* 02F3E8 8002E7E8 00000000 */ nop +/* 02F3EC 8002E7EC 460022A4 */ cvt.w.s $f10, $f4 +/* 02F3F0 8002E7F0 44D8F800 */ ctc1 $t8, $31 +/* 02F3F4 8002E7F4 44075000 */ mfc1 $a3, $f10 +/* 02F3F8 8002E7F8 460E1180 */ add.s $f6, $f2, $f14 +/* 02F3FC 8002E7FC 4459F800 */ cfc1 $t9, $31 +/* 02F400 8002E800 00000000 */ nop +/* 02F404 8002E804 37210003 */ ori $at, $t9, 3 +/* 02F408 8002E808 38210002 */ xori $at, $at, 2 +/* 02F40C 8002E80C 44C1F800 */ ctc1 $at, $31 +/* 02F410 8002E810 00000000 */ nop +/* 02F414 8002E814 46003224 */ cvt.w.s $f8, $f6 +/* 02F418 8002E818 44084000 */ mfc1 $t0, $f8 +/* 02F41C 8002E81C 44D9F800 */ ctc1 $t9, $31 +/* 02F420 8002E820 0C00C537 */ jal func_800314DC +/* 02F424 8002E824 AFA80010 */ sw $t0, 0x10($sp) +/* 02F428 8002E828 8E290000 */ lw $t1, ($s1) +/* 02F42C 8002E82C 8E6C0000 */ lw $t4, ($s3) +/* 02F430 8002E830 01340019 */ multu $t1, $s4 +/* 02F434 8002E834 8D8B0004 */ lw $t3, 4($t4) +/* 02F438 8002E838 00402825 */ move $a1, $v0 +/* 02F43C 8002E83C 02C03025 */ move $a2, $s6 +/* 02F440 8002E840 00005012 */ mflo $t2 +/* 02F444 8002E844 014B2021 */ addu $a0, $t2, $t3 +/* 02F448 8002E848 0C00BA41 */ jal func_8002E904 +/* 02F44C 8002E84C 00000000 */ nop +/* 02F450 8002E850 8FAD0070 */ lw $t5, 0x70($sp) +.L8002E854: +/* 02F454 8002E854 26520001 */ addiu $s2, $s2, 1 +/* 02F458 8002E858 164DFFAA */ bne $s2, $t5, .L8002E704 +/* 02F45C 8002E85C 26310004 */ addiu $s1, $s1, 4 +.L8002E860: +/* 02F460 8002E860 3C0E8012 */ lui $t6, %hi(D_8011C230) # $t6, 0x8012 +/* 02F464 8002E864 8DCEC230 */ lw $t6, %lo(D_8011C230)($t6) +/* 02F468 8002E868 00000000 */ nop +/* 02F46C 8002E86C 19C00010 */ blez $t6, .L8002E8B0 +/* 02F470 8002E870 00000000 */ nop +/* 02F474 8002E874 8EAF0054 */ lw $t7, 0x54($s5) +/* 02F478 8002E878 00000000 */ nop +/* 02F47C 8002E87C 11E00008 */ beqz $t7, .L8002E8A0 +/* 02F480 8002E880 00000000 */ nop +/* 02F484 8002E884 16C00006 */ bnez $s6, .L8002E8A0 +/* 02F488 8002E888 00000000 */ nop +/* 02F48C 8002E88C 0C00BE99 */ jal func_8002FA64 +/* 02F490 8002E890 00000000 */ nop +/* 02F494 8002E894 8EB80054 */ lw $t8, 0x54($s5) +/* 02F498 8002E898 00000000 */ nop +/* 02F49C 8002E89C E7000000 */ swc1 $f0, ($t8) +.L8002E8A0: +/* 02F4A0 8002E8A0 0C00BCAB */ jal func_8002F2AC +/* 02F4A4 8002E8A4 00000000 */ nop +/* 02F4A8 8002E8A8 0C00BD10 */ jal func_8002F440 +/* 02F4AC 8002E8AC 00000000 */ nop +.L8002E8B0: +/* 02F4B0 8002E8B0 16C00006 */ bnez $s6, .L8002E8CC +/* 02F4B4 8002E8B4 3C098012 */ lui $t1, %hi(D_8011D364) # $t1, 0x8012 +/* 02F4B8 8002E8B8 3C198012 */ lui $t9, %hi(D_8011D364) # $t9, 0x8012 +/* 02F4BC 8002E8BC 8F39D364 */ lw $t9, %lo(D_8011D364)($t9) +/* 02F4C0 8002E8C0 8EA80050 */ lw $t0, 0x50($s5) +/* 02F4C4 8002E8C4 10000005 */ b .L8002E8DC +/* 02F4C8 8002E8C8 A519000A */ sh $t9, 0xa($t0) +.L8002E8CC: +/* 02F4CC 8002E8CC 8D29D364 */ lw $t1, %lo(D_8011D364)($t1) +/* 02F4D0 8002E8D0 8EAC0058 */ lw $t4, 0x58($s5) +/* 02F4D4 8002E8D4 00000000 */ nop +/* 02F4D8 8002E8D8 A589000A */ sh $t1, 0xa($t4) +.L8002E8DC: +/* 02F4DC 8002E8DC 8FBF0044 */ lw $ra, 0x44($sp) +/* 02F4E0 8002E8E0 8FB00028 */ lw $s0, 0x28($sp) +/* 02F4E4 8002E8E4 8FB1002C */ lw $s1, 0x2c($sp) +/* 02F4E8 8002E8E8 8FB20030 */ lw $s2, 0x30($sp) +/* 02F4EC 8002E8EC 8FB30034 */ lw $s3, 0x34($sp) +/* 02F4F0 8002E8F0 8FB40038 */ lw $s4, 0x38($sp) +/* 02F4F4 8002E8F4 8FB5003C */ lw $s5, 0x3c($sp) +/* 02F4F8 8002E8F8 8FB60040 */ lw $s6, 0x40($sp) +/* 02F4FC 8002E8FC 03E00008 */ jr $ra +/* 02F500 8002E900 27BD0100 */ addiu $sp, $sp, 0x100 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002E904.s b/asm/non_matchings/unknown_0255E0/func_8002E904.s new file mode 100644 index 00000000..ec232d2d --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002E904.s @@ -0,0 +1,404 @@ +glabel func_8002E904 +/* 02F504 8002E904 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 02F508 8002E908 3C028012 */ lui $v0, %hi(D_8011D0C4) # $v0, 0x8012 +/* 02F50C 8002E90C 8C42D0C4 */ lw $v0, %lo(D_8011D0C4)($v0) +/* 02F510 8002E910 AFBF0054 */ sw $ra, 0x54($sp) +/* 02F514 8002E914 AFBE0050 */ sw $fp, 0x50($sp) +/* 02F518 8002E918 AFB7004C */ sw $s7, 0x4c($sp) +/* 02F51C 8002E91C AFB60048 */ sw $s6, 0x48($sp) +/* 02F520 8002E920 AFB50044 */ sw $s5, 0x44($sp) +/* 02F524 8002E924 AFB40040 */ sw $s4, 0x40($sp) +/* 02F528 8002E928 AFB3003C */ sw $s3, 0x3c($sp) +/* 02F52C 8002E92C AFB20038 */ sw $s2, 0x38($sp) +/* 02F530 8002E930 AFB10034 */ sw $s1, 0x34($sp) +/* 02F534 8002E934 AFB00030 */ sw $s0, 0x30($sp) +/* 02F538 8002E938 E7B70028 */ swc1 $f23, 0x28($sp) +/* 02F53C 8002E93C E7B6002C */ swc1 $f22, 0x2c($sp) +/* 02F540 8002E940 E7B50020 */ swc1 $f21, 0x20($sp) +/* 02F544 8002E944 E7B40024 */ swc1 $f20, 0x24($sp) +/* 02F548 8002E948 AFA50154 */ sw $a1, 0x154($sp) +/* 02F54C 8002E94C AFA60158 */ sw $a2, 0x158($sp) +/* 02F550 8002E950 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02F554 8002E954 C420D0DC */ lwc1 $f0, %lo(D_8011D0DC)($at) +/* 02F558 8002E958 C444000C */ lwc1 $f4, 0xc($v0) +/* 02F55C 8002E95C 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02F560 8002E960 46002180 */ add.s $f6, $f4, $f0 +/* 02F564 8002E964 C422D0E0 */ lwc1 $f2, %lo(D_8011D0E0)($at) +/* 02F568 8002E968 E7A600B0 */ swc1 $f6, 0xb0($sp) +/* 02F56C 8002E96C C4480014 */ lwc1 $f8, 0x14($v0) +/* 02F570 8002E970 3C138012 */ lui $s3, %hi(D_8011B118) # $s3, 0x8012 +/* 02F574 8002E974 46024280 */ add.s $f10, $f8, $f2 +/* 02F578 8002E978 3C148012 */ lui $s4, %hi(D_8011D0BC) # $s4, 0x8012 +/* 02F57C 8002E97C E7AA00B4 */ swc1 $f10, 0xb4($sp) +/* 02F580 8002E980 C450000C */ lwc1 $f16, 0xc($v0) +/* 02F584 8002E984 3C168012 */ lui $s6, %hi(D_8011B120) # $s6, 0x8012 +/* 02F588 8002E988 46008481 */ sub.s $f18, $f16, $f0 +/* 02F58C 8002E98C 0080F025 */ move $fp, $a0 +/* 02F590 8002E990 E7B200B8 */ swc1 $f18, 0xb8($sp) +/* 02F594 8002E994 C4440014 */ lwc1 $f4, 0x14($v0) +/* 02F598 8002E998 26D6B120 */ addiu $s6, %lo(D_8011B120) # addiu $s6, $s6, -0x4ee0 +/* 02F59C 8002E99C 46022180 */ add.s $f6, $f4, $f2 +/* 02F5A0 8002E9A0 2694D0BC */ addiu $s4, %lo(D_8011D0BC) # addiu $s4, $s4, -0x2f44 +/* 02F5A4 8002E9A4 E7A600BC */ swc1 $f6, 0xbc($sp) +/* 02F5A8 8002E9A8 C448000C */ lwc1 $f8, 0xc($v0) +/* 02F5AC 8002E9AC 2673B118 */ addiu $s3, %lo(D_8011B118) # addiu $s3, $s3, -0x4ee8 +/* 02F5B0 8002E9B0 46004281 */ sub.s $f10, $f8, $f0 +/* 02F5B4 8002E9B4 2410FFFF */ li $s0, -1 +/* 02F5B8 8002E9B8 E7AA00C0 */ swc1 $f10, 0xc0($sp) +/* 02F5BC 8002E9BC C4500014 */ lwc1 $f16, 0x14($v0) +/* 02F5C0 8002E9C0 2412000A */ li $s2, 10 +/* 02F5C4 8002E9C4 46028481 */ sub.s $f18, $f16, $f2 +/* 02F5C8 8002E9C8 27B50100 */ addiu $s5, $sp, 0x100 +/* 02F5CC 8002E9CC E7B200C4 */ swc1 $f18, 0xc4($sp) +/* 02F5D0 8002E9D0 C444000C */ lwc1 $f4, 0xc($v0) +/* 02F5D4 8002E9D4 00004025 */ move $t0, $zero +/* 02F5D8 8002E9D8 46002180 */ add.s $f6, $f4, $f0 +/* 02F5DC 8002E9DC E7A600C8 */ swc1 $f6, 0xc8($sp) +/* 02F5E0 8002E9E0 C4480014 */ lwc1 $f8, 0x14($v0) +/* 02F5E4 8002E9E4 00000000 */ nop +/* 02F5E8 8002E9E8 46024281 */ sub.s $f10, $f8, $f2 +/* 02F5EC 8002E9EC E7AA00CC */ swc1 $f10, 0xcc($sp) +/* 02F5F0 8002E9F0 84870020 */ lh $a3, 0x20($a0) +/* 02F5F4 8002E9F4 00000000 */ nop +/* 02F5F8 8002E9F8 18E0012D */ blez $a3, .L8002EEB0 +/* 02F5FC 8002E9FC 8FBF0054 */ lw $ra, 0x54($sp) +/* 02F600 8002EA00 4480B000 */ mtc1 $zero, $f22 +/* 02F604 8002EA04 4480A000 */ mtc1 $zero, $f20 +/* 02F608 8002EA08 2405000C */ li $a1, 12 +/* 02F60C 8002EA0C 8FAE0158 */ lw $t6, 0x158($sp) +.L8002EA10: +/* 02F610 8002EA10 00000000 */ nop +/* 02F614 8002EA14 11C0000B */ beqz $t6, .L8002EA44 +/* 02F618 8002EA18 8FAE0158 */ lw $t6, 0x158($sp) +/* 02F61C 8002EA1C 01050019 */ multu $t0, $a1 +/* 02F620 8002EA20 8FCF000C */ lw $t7, 0xc($fp) +/* 02F624 8002EA24 0000C012 */ mflo $t8 +/* 02F628 8002EA28 01F81021 */ addu $v0, $t7, $t8 +/* 02F62C 8002EA2C 8C430008 */ lw $v1, 8($v0) +/* 02F630 8002EA30 AFA800AC */ sw $t0, 0xac($sp) +/* 02F634 8002EA34 30792000 */ andi $t9, $v1, 0x2000 +/* 02F638 8002EA38 1720000F */ bnez $t9, .L8002EA78 +/* 02F63C 8002EA3C 00000000 */ nop +/* 02F640 8002EA40 8FAE0158 */ lw $t6, 0x158($sp) +.L8002EA44: +/* 02F644 8002EA44 AFA800AC */ sw $t0, 0xac($sp) +/* 02F648 8002EA48 15C00112 */ bnez $t6, .L8002EE94 +/* 02F64C 8002EA4C 00000000 */ nop +/* 02F650 8002EA50 01050019 */ multu $t0, $a1 +/* 02F654 8002EA54 8FCF000C */ lw $t7, 0xc($fp) +/* 02F658 8002EA58 0000C012 */ mflo $t8 +/* 02F65C 8002EA5C 01F81021 */ addu $v0, $t7, $t8 +/* 02F660 8002EA60 8C430008 */ lw $v1, 8($v0) +/* 02F664 8002EA64 AFA800AC */ sw $t0, 0xac($sp) +/* 02F668 8002EA68 30796900 */ andi $t9, $v1, 0x6900 +/* 02F66C 8002EA6C 17200109 */ bnez $t9, .L8002EE94 +/* 02F670 8002EA70 00000000 */ nop +/* 02F674 8002EA74 AFA800AC */ sw $t0, 0xac($sp) +.L8002EA78: +/* 02F678 8002EA78 844E0002 */ lh $t6, 2($v0) +/* 02F67C 8002EA7C 84570004 */ lh $s7, 4($v0) +/* 02F680 8002EA80 84440010 */ lh $a0, 0x10($v0) +/* 02F684 8002EA84 000E7880 */ sll $t7, $t6, 2 +/* 02F688 8002EA88 8FD80000 */ lw $t8, ($fp) +/* 02F68C 8002EA8C 00036CC2 */ srl $t5, $v1, 0x13 +/* 02F690 8002EA90 01EE7821 */ addu $t7, $t7, $t6 +/* 02F694 8002EA94 000F7840 */ sll $t7, $t7, 1 +/* 02F698 8002EA98 31B90007 */ andi $t9, $t5, 7 +/* 02F69C 8002EA9C 02E4082A */ slt $at, $s7, $a0 +/* 02F6A0 8002EAA0 03206825 */ move $t5, $t9 +/* 02F6A4 8002EAA4 102000FB */ beqz $at, .L8002EE94 +/* 02F6A8 8002EAA8 01F88821 */ addu $s1, $t7, $t8 +/* 02F6AC 8002EAAC 0017F840 */ sll $ra, $s7, 1 +/* 02F6B0 8002EAB0 AFA400A4 */ sw $a0, 0xa4($sp) +.L8002EAB4: +/* 02F6B4 8002EAB4 8FCE0010 */ lw $t6, 0x10($fp) +/* 02F6B8 8002EAB8 8FB90154 */ lw $t9, 0x154($sp) +/* 02F6BC 8002EABC 01DF7821 */ addu $t7, $t6, $ra +/* 02F6C0 8002EAC0 85F80000 */ lh $t8, ($t7) +/* 02F6C4 8002EAC4 00000000 */ nop +/* 02F6C8 8002EAC8 03191024 */ and $v0, $t8, $t9 +/* 02F6CC 8002EACC 304E00FF */ andi $t6, $v0, 0xff +/* 02F6D0 8002EAD0 11C000E9 */ beqz $t6, .L8002EE78 +/* 02F6D4 8002EAD4 304FFF00 */ andi $t7, $v0, 0xff00 +/* 02F6D8 8002EAD8 11E000E8 */ beqz $t7, .L8002EE7C +/* 02F6DC 8002EADC 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 02F6E0 8002EAE0 8FD80004 */ lw $t8, 4($fp) +/* 02F6E4 8002EAE4 0017C900 */ sll $t9, $s7, 4 +/* 02F6E8 8002EAE8 03193821 */ addu $a3, $t8, $t9 +/* 02F6EC 8002EAEC 90EE0001 */ lbu $t6, 1($a3) +/* 02F6F0 8002EAF0 3C088012 */ lui $t0, %hi(D_8011D0CE) # $t0, 0x8012 +/* 02F6F4 8002EAF4 01D20019 */ multu $t6, $s2 +/* 02F6F8 8002EAF8 8508D0CE */ lh $t0, %lo(D_8011D0CE)($t0) +/* 02F6FC 8002EAFC 24E30001 */ addiu $v1, $a3, 1 +/* 02F700 8002EB00 24040001 */ li $a0, 1 +/* 02F704 8002EB04 00007812 */ mflo $t7 +/* 02F708 8002EB08 022FC021 */ addu $t8, $s1, $t7 +/* 02F70C 8002EB0C 87050002 */ lh $a1, 2($t8) +/* 02F710 8002EB10 3C188012 */ lui $t8, %hi(D_8011D0CC) # $t8, 0x8012 +/* 02F714 8002EB14 00A03025 */ move $a2, $a1 +.L8002EB18: +/* 02F718 8002EB18 90790001 */ lbu $t9, 1($v1) +/* 02F71C 8002EB1C 24840001 */ addiu $a0, $a0, 1 +/* 02F720 8002EB20 03320019 */ multu $t9, $s2 +/* 02F724 8002EB24 00007012 */ mflo $t6 +/* 02F728 8002EB28 022E7821 */ addu $t7, $s1, $t6 +/* 02F72C 8002EB2C 85E20002 */ lh $v0, 2($t7) +/* 02F730 8002EB30 00000000 */ nop +/* 02F734 8002EB34 0045082A */ slt $at, $v0, $a1 +/* 02F738 8002EB38 10200004 */ beqz $at, .L8002EB4C +/* 02F73C 8002EB3C 00C2082A */ slt $at, $a2, $v0 +/* 02F740 8002EB40 10000005 */ b .L8002EB58 +/* 02F744 8002EB44 00402825 */ move $a1, $v0 +/* 02F748 8002EB48 00C2082A */ slt $at, $a2, $v0 +.L8002EB4C: +/* 02F74C 8002EB4C 10200003 */ beqz $at, .L8002EB5C +/* 02F750 8002EB50 28810003 */ slti $at, $a0, 3 +/* 02F754 8002EB54 00403025 */ move $a2, $v0 +.L8002EB58: +/* 02F758 8002EB58 28810003 */ slti $at, $a0, 3 +.L8002EB5C: +/* 02F75C 8002EB5C 1420FFEE */ bnez $at, .L8002EB18 +/* 02F760 8002EB60 24630001 */ addiu $v1, $v1, 1 +/* 02F764 8002EB64 0105082A */ slt $at, $t0, $a1 +/* 02F768 8002EB68 142000C4 */ bnez $at, .L8002EE7C +/* 02F76C 8002EB6C 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 02F770 8002EB70 8718D0CC */ lh $t8, %lo(D_8011D0CC)($t8) +/* 02F774 8002EB74 00E01825 */ move $v1, $a3 +/* 02F778 8002EB78 00D8082A */ slt $at, $a2, $t8 +/* 02F77C 8002EB7C 142000BE */ bnez $at, .L8002EE78 +/* 02F780 8002EB80 27A200D0 */ addiu $v0, $sp, 0xd0 +/* 02F784 8002EB84 90790001 */ lbu $t9, 1($v1) +/* 02F788 8002EB88 24420010 */ addiu $v0, $v0, 0x10 +/* 02F78C 8002EB8C 10550017 */ beq $v0, $s5, .L8002EBEC +/* 02F790 8002EB90 03320019 */ multu $t9, $s2 +.L8002EB94: +/* 02F794 8002EB94 00007012 */ mflo $t6 +/* 02F798 8002EB98 022E7821 */ addu $t7, $s1, $t6 +/* 02F79C 8002EB9C 85F80000 */ lh $t8, ($t7) +/* 02F7A0 8002EBA0 24420010 */ addiu $v0, $v0, 0x10 +/* 02F7A4 8002EBA4 44989000 */ mtc1 $t8, $f18 +/* 02F7A8 8002EBA8 24630001 */ addiu $v1, $v1, 1 +/* 02F7AC 8002EBAC 468094A0 */ cvt.s.w $f18, $f18 +/* 02F7B0 8002EBB0 E452FFE0 */ swc1 $f18, -0x20($v0) +/* 02F7B4 8002EBB4 90790000 */ lbu $t9, ($v1) +/* 02F7B8 8002EBB8 00000000 */ nop +/* 02F7BC 8002EBBC 03320019 */ multu $t9, $s2 +/* 02F7C0 8002EBC0 00007012 */ mflo $t6 +/* 02F7C4 8002EBC4 022E7821 */ addu $t7, $s1, $t6 +/* 02F7C8 8002EBC8 85F80004 */ lh $t8, 4($t7) +/* 02F7CC 8002EBCC A450FFEE */ sh $s0, -0x12($v0) +/* 02F7D0 8002EBD0 44989000 */ mtc1 $t8, $f18 +/* 02F7D4 8002EBD4 00000000 */ nop +/* 02F7D8 8002EBD8 468094A0 */ cvt.s.w $f18, $f18 +/* 02F7DC 8002EBDC E452FFE8 */ swc1 $f18, -0x18($v0) +/* 02F7E0 8002EBE0 90790001 */ lbu $t9, 1($v1) +/* 02F7E4 8002EBE4 1455FFEB */ bne $v0, $s5, .L8002EB94 +/* 02F7E8 8002EBE8 03320019 */ multu $t9, $s2 +.L8002EBEC: +/* 02F7EC 8002EBEC 00007012 */ mflo $t6 +/* 02F7F0 8002EBF0 022E7821 */ addu $t7, $s1, $t6 +/* 02F7F4 8002EBF4 85F80000 */ lh $t8, ($t7) +/* 02F7F8 8002EBF8 24630001 */ addiu $v1, $v1, 1 +/* 02F7FC 8002EBFC 44989000 */ mtc1 $t8, $f18 +/* 02F800 8002EC00 00000000 */ nop +/* 02F804 8002EC04 468094A0 */ cvt.s.w $f18, $f18 +/* 02F808 8002EC08 E452FFF0 */ swc1 $f18, -0x10($v0) +/* 02F80C 8002EC0C 90790000 */ lbu $t9, ($v1) +/* 02F810 8002EC10 00000000 */ nop +/* 02F814 8002EC14 03320019 */ multu $t9, $s2 +/* 02F818 8002EC18 00007012 */ mflo $t6 +/* 02F81C 8002EC1C 022E7821 */ addu $t7, $s1, $t6 +/* 02F820 8002EC20 85F80004 */ lh $t8, 4($t7) +/* 02F824 8002EC24 A450FFFE */ sh $s0, -2($v0) +/* 02F828 8002EC28 44989000 */ mtc1 $t8, $f18 +/* 02F82C 8002EC2C 00000000 */ nop +/* 02F830 8002EC30 468094A0 */ cvt.s.w $f18, $f18 +/* 02F834 8002EC34 E452FFF8 */ swc1 $f18, -8($v0) +/* 02F838 8002EC38 C7AC00C0 */ lwc1 $f12, 0xc0($sp) +/* 02F83C 8002EC3C C7AE00C4 */ lwc1 $f14, 0xc4($sp) +/* 02F840 8002EC40 8FA600B0 */ lw $a2, 0xb0($sp) +/* 02F844 8002EC44 8FA700B4 */ lw $a3, 0xb4($sp) +/* 02F848 8002EC48 24190003 */ li $t9, 3 +/* 02F84C 8002EC4C 27AE00D0 */ addiu $t6, $sp, 0xd0 +/* 02F850 8002EC50 AFBF0074 */ sw $ra, 0x74($sp) +/* 02F854 8002EC54 AFAE0014 */ sw $t6, 0x14($sp) +/* 02F858 8002EC58 AFB90010 */ sw $t9, 0x10($sp) +/* 02F85C 8002EC5C 0C00BF5D */ jal func_8002FD74 +/* 02F860 8002EC60 AFAD0088 */ sw $t5, 0x88($sp) +/* 02F864 8002EC64 8FAD0088 */ lw $t5, 0x88($sp) +/* 02F868 8002EC68 8FBF0074 */ lw $ra, 0x74($sp) +/* 02F86C 8002EC6C 10400083 */ beqz $v0, .L8002EE7C +/* 02F870 8002EC70 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 02F874 8002EC74 8FCF0014 */ lw $t7, 0x14($fp) +/* 02F878 8002EC78 0017C0C0 */ sll $t8, $s7, 3 +/* 02F87C 8002EC7C 01F8C821 */ addu $t9, $t7, $t8 +/* 02F880 8002EC80 97220000 */ lhu $v0, ($t9) +/* 02F884 8002EC84 8FCF0018 */ lw $t7, 0x18($fp) +/* 02F888 8002EC88 00027080 */ sll $t6, $v0, 2 +/* 02F88C 8002EC8C 000EC080 */ sll $t8, $t6, 2 +/* 02F890 8002EC90 01F8C821 */ addu $t9, $t7, $t8 +/* 02F894 8002EC94 01C01025 */ move $v0, $t6 +/* 02F898 8002EC98 AE990000 */ sw $t9, ($s4) +/* 02F89C 8002EC9C 8FCE0018 */ lw $t6, 0x18($fp) +/* 02F8A0 8002ECA0 00027880 */ sll $t7, $v0, 2 +/* 02F8A4 8002ECA4 01CFC021 */ addu $t8, $t6, $t7 +/* 02F8A8 8002ECA8 C7080004 */ lwc1 $f8, 4($t8) +/* 02F8AC 8002ECAC 3C018012 */ lui $at, %hi(D_8011D0F0) # $at, 0x8012 +/* 02F8B0 8002ECB0 4608A032 */ c.eq.s $f20, $f8 +/* 02F8B4 8002ECB4 00000000 */ nop +/* 02F8B8 8002ECB8 45010070 */ bc1t .L8002EE7C +/* 02F8BC 8002ECBC 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 02F8C0 8002ECC0 C42AD0F0 */ lwc1 $f10, %lo(D_8011D0F0)($at) +/* 02F8C4 8002ECC4 27A400D0 */ addiu $a0, $sp, 0xd0 +/* 02F8C8 8002ECC8 460AB03C */ c.lt.s $f22, $f10 +/* 02F8CC 8002ECCC 00000000 */ nop +/* 02F8D0 8002ECD0 45000007 */ bc1f .L8002ECF0 +/* 02F8D4 8002ECD4 00000000 */ nop +/* 02F8D8 8002ECD8 AFBF0074 */ sw $ra, 0x74($sp) +/* 02F8DC 8002ECDC 0C00C132 */ jal func_800304C8 +/* 02F8E0 8002ECE0 AFAD0088 */ sw $t5, 0x88($sp) +/* 02F8E4 8002ECE4 8FAD0088 */ lw $t5, 0x88($sp) +/* 02F8E8 8002ECE8 8FBF0074 */ lw $ra, 0x74($sp) +/* 02F8EC 8002ECEC 00000000 */ nop +.L8002ECF0: +/* 02F8F0 8002ECF0 AFBF0074 */ sw $ra, 0x74($sp) +/* 02F8F4 8002ECF4 24040003 */ li $a0, 3 +/* 02F8F8 8002ECF8 27A500D0 */ addiu $a1, $sp, 0xd0 +/* 02F8FC 8002ECFC 24060004 */ li $a2, 4 +/* 02F900 8002ED00 27A700B0 */ addiu $a3, $sp, 0xb0 +/* 02F904 8002ED04 0C00BFDB */ jal func_8002FF6C +/* 02F908 8002ED08 AFAD0088 */ sw $t5, 0x88($sp) +/* 02F90C 8002ED0C 8FAD0088 */ lw $t5, 0x88($sp) +/* 02F910 8002ED10 8FBF0074 */ lw $ra, 0x74($sp) +/* 02F914 8002ED14 28410003 */ slti $at, $v0, 3 +/* 02F918 8002ED18 14200057 */ bnez $at, .L8002EE78 +/* 02F91C 8002ED1C 00406025 */ move $t4, $v0 +/* 02F920 8002ED20 3C0B8012 */ lui $t3, %hi(D_8011C230) # $t3, 0x8012 +/* 02F924 8002ED24 8D6BC230 */ lw $t3, %lo(D_8011C230)($t3) +/* 02F928 8002ED28 3C0E8012 */ lui $t6, %hi(D_8011C238) # $t6, 0x8012 +/* 02F92C 8002ED2C 000BC880 */ sll $t9, $t3, 2 +/* 02F930 8002ED30 032BC823 */ subu $t9, $t9, $t3 +/* 02F934 8002ED34 0019C880 */ sll $t9, $t9, 2 +/* 02F938 8002ED38 25CEC238 */ addiu $t6, %lo(D_8011C238) # addiu $t6, $t6, -0x3dc8 +/* 02F93C 8002ED3C 032E5021 */ addu $t2, $t9, $t6 +/* 02F940 8002ED40 A1400001 */ sb $zero, 1($t2) +/* 02F944 8002ED44 1840003F */ blez $v0, .L8002EE44 +/* 02F948 8002ED48 00004025 */ move $t0, $zero +/* 02F94C 8002ED4C 27A700D0 */ addiu $a3, $sp, 0xd0 +.L8002ED50: +/* 02F950 8002ED50 84E3000E */ lh $v1, 0xe($a3) +/* 02F954 8002ED54 01487021 */ addu $t6, $t2, $t0 +/* 02F958 8002ED58 04610032 */ bgez $v1, .L8002EE24 +/* 02F95C 8002ED5C 24180001 */ li $t8, 1 +/* 02F960 8002ED60 000B7880 */ sll $t7, $t3, 2 +/* 02F964 8002ED64 01EB7823 */ subu $t7, $t7, $t3 +/* 02F968 8002ED68 8E660000 */ lw $a2, ($s3) +/* 02F96C 8002ED6C 000F7880 */ sll $t7, $t7, 2 +/* 02F970 8002ED70 3C198012 */ lui $t9, %hi(D_8011C238) # $t9, 0x8012 +/* 02F974 8002ED74 2739C238 */ addiu $t9, %lo(D_8011C238) # addiu $t9, $t9, -0x3dc8 +/* 02F978 8002ED78 01E8C021 */ addu $t8, $t7, $t0 +/* 02F97C 8002ED7C 02002825 */ move $a1, $s0 +/* 02F980 8002ED80 00002025 */ move $a0, $zero +/* 02F984 8002ED84 18C00018 */ blez $a2, .L8002EDE8 +/* 02F988 8002ED88 03194821 */ addu $t1, $t8, $t9 +/* 02F98C 8002ED8C 00007100 */ sll $t6, $zero, 4 +/* 02F990 8002ED90 C4E00000 */ lwc1 $f0, ($a3) +/* 02F994 8002ED94 02CE1821 */ addu $v1, $s6, $t6 +.L8002ED98: +/* 02F998 8002ED98 C4700000 */ lwc1 $f16, ($v1) +/* 02F99C 8002ED9C 00000000 */ nop +/* 02F9A0 8002EDA0 46008032 */ c.eq.s $f16, $f0 +/* 02F9A4 8002EDA4 00000000 */ nop +/* 02F9A8 8002EDA8 45000009 */ bc1f .L8002EDD0 +/* 02F9AC 8002EDAC 00000000 */ nop +/* 02F9B0 8002EDB0 C4720008 */ lwc1 $f18, 8($v1) +/* 02F9B4 8002EDB4 C4E40008 */ lwc1 $f4, 8($a3) +/* 02F9B8 8002EDB8 00000000 */ nop +/* 02F9BC 8002EDBC 46049032 */ c.eq.s $f18, $f4 +/* 02F9C0 8002EDC0 00000000 */ nop +/* 02F9C4 8002EDC4 45000002 */ bc1f .L8002EDD0 +/* 02F9C8 8002EDC8 00000000 */ nop +/* 02F9CC 8002EDCC 00802825 */ move $a1, $a0 +.L8002EDD0: +/* 02F9D0 8002EDD0 24840001 */ addiu $a0, $a0, 1 +/* 02F9D4 8002EDD4 0086082A */ slt $at, $a0, $a2 +/* 02F9D8 8002EDD8 10200003 */ beqz $at, .L8002EDE8 +/* 02F9DC 8002EDDC 24630010 */ addiu $v1, $v1, 0x10 +/* 02F9E0 8002EDE0 10B0FFED */ beq $a1, $s0, .L8002ED98 +/* 02F9E4 8002EDE4 00000000 */ nop +.L8002EDE8: +/* 02F9E8 8002EDE8 14B0000C */ bne $a1, $s0, .L8002EE1C +/* 02F9EC 8002EDEC 00067900 */ sll $t7, $a2, 4 +/* 02F9F0 8002EDF0 C4E60000 */ lwc1 $f6, ($a3) +/* 02F9F4 8002EDF4 8E980000 */ lw $t8, ($s4) +/* 02F9F8 8002EDF8 C4E80008 */ lwc1 $f8, 8($a3) +/* 02F9FC 8002EDFC 02CF1821 */ addu $v1, $s6, $t7 +/* 02FA00 8002EE00 24D90001 */ addiu $t9, $a2, 1 +/* 02FA04 8002EE04 AE790000 */ sw $t9, ($s3) +/* 02FA08 8002EE08 A1260002 */ sb $a2, 2($t1) +/* 02FA0C 8002EE0C E4660000 */ swc1 $f6, ($v1) +/* 02FA10 8002EE10 AC78000C */ sw $t8, 0xc($v1) +/* 02FA14 8002EE14 10000008 */ b .L8002EE38 +/* 02FA18 8002EE18 E4680008 */ swc1 $f8, 8($v1) +.L8002EE1C: +/* 02FA1C 8002EE1C 10000006 */ b .L8002EE38 +/* 02FA20 8002EE20 A1250002 */ sb $a1, 2($t1) +.L8002EE24: +/* 02FA24 8002EE24 A1C30002 */ sb $v1, 2($t6) +/* 02FA28 8002EE28 914F0001 */ lbu $t7, 1($t2) +/* 02FA2C 8002EE2C 0118C804 */ sllv $t9, $t8, $t0 +/* 02FA30 8002EE30 01F97025 */ or $t6, $t7, $t9 +/* 02FA34 8002EE34 A14E0001 */ sb $t6, 1($t2) +.L8002EE38: +/* 02FA38 8002EE38 25080001 */ addiu $t0, $t0, 1 +/* 02FA3C 8002EE3C 150CFFC4 */ bne $t0, $t4, .L8002ED50 +/* 02FA40 8002EE40 24E70010 */ addiu $a3, $a3, 0x10 +.L8002EE44: +/* 02FA44 8002EE44 A1420000 */ sb $v0, ($t2) +/* 02FA48 8002EE48 A54D000A */ sh $t5, 0xa($t2) +/* 02FA4C 8002EE4C 3C038012 */ lui $v1, %hi(D_8011D0E8) # $v1, 0x8012 +/* 02FA50 8002EE50 8C63D0E8 */ lw $v1, %lo(D_8011D0E8)($v1) +/* 02FA54 8002EE54 25780001 */ addiu $t8, $t3, 1 +/* 02FA58 8002EE58 3C018012 */ lui $at, %hi(D_8011C230) # $at, 0x8012 +/* 02FA5C 8002EE5C 04600004 */ bltz $v1, .L8002EE70 +/* 02FA60 8002EE60 AC38C230 */ sw $t8, %lo(D_8011C230)($at) +/* 02FA64 8002EE64 11A30002 */ beq $t5, $v1, .L8002EE70 +/* 02FA68 8002EE68 3C018012 */ lui $at, %hi(D_8011D0EC) # $at, 0x8012 +/* 02FA6C 8002EE6C AC20D0EC */ sw $zero, %lo(D_8011D0EC)($at) +.L8002EE70: +/* 02FA70 8002EE70 3C018012 */ lui $at, %hi(D_8011D0E8) # $at, 0x8012 +/* 02FA74 8002EE74 AC2DD0E8 */ sw $t5, %lo(D_8011D0E8)($at) +.L8002EE78: +/* 02FA78 8002EE78 8FAF00A4 */ lw $t7, 0xa4($sp) +.L8002EE7C: +/* 02FA7C 8002EE7C 26F70001 */ addiu $s7, $s7, 1 +/* 02FA80 8002EE80 02EF082A */ slt $at, $s7, $t7 +/* 02FA84 8002EE84 1420FF0B */ bnez $at, .L8002EAB4 +/* 02FA88 8002EE88 27FF0002 */ addiu $ra, $ra, 2 +/* 02FA8C 8002EE8C 87C70020 */ lh $a3, 0x20($fp) +/* 02FA90 8002EE90 2405000C */ li $a1, 12 +.L8002EE94: +/* 02FA94 8002EE94 8FA800AC */ lw $t0, 0xac($sp) +/* 02FA98 8002EE98 00000000 */ nop +/* 02FA9C 8002EE9C 25080001 */ addiu $t0, $t0, 1 +/* 02FAA0 8002EEA0 0107082A */ slt $at, $t0, $a3 +/* 02FAA4 8002EEA4 1420FEDA */ bnez $at, .L8002EA10 +/* 02FAA8 8002EEA8 8FAE0158 */ lw $t6, 0x158($sp) +/* 02FAAC 8002EEAC 8FBF0054 */ lw $ra, 0x54($sp) +.L8002EEB0: +/* 02FAB0 8002EEB0 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 02FAB4 8002EEB4 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 02FAB8 8002EEB8 C7B70028 */ lwc1 $f23, 0x28($sp) +/* 02FABC 8002EEBC C7B6002C */ lwc1 $f22, 0x2c($sp) +/* 02FAC0 8002EEC0 8FB00030 */ lw $s0, 0x30($sp) +/* 02FAC4 8002EEC4 8FB10034 */ lw $s1, 0x34($sp) +/* 02FAC8 8002EEC8 8FB20038 */ lw $s2, 0x38($sp) +/* 02FACC 8002EECC 8FB3003C */ lw $s3, 0x3c($sp) +/* 02FAD0 8002EED0 8FB40040 */ lw $s4, 0x40($sp) +/* 02FAD4 8002EED4 8FB50044 */ lw $s5, 0x44($sp) +/* 02FAD8 8002EED8 8FB60048 */ lw $s6, 0x48($sp) +/* 02FADC 8002EEDC 8FB7004C */ lw $s7, 0x4c($sp) +/* 02FAE0 8002EEE0 8FBE0050 */ lw $fp, 0x50($sp) +/* 02FAE4 8002EEE4 03E00008 */ jr $ra +/* 02FAE8 8002EEE8 27BD0150 */ addiu $sp, $sp, 0x150 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002EEEC.s b/asm/non_matchings/unknown_0255E0/func_8002EEEC.s new file mode 100644 index 00000000..a5581856 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002EEEC.s @@ -0,0 +1,259 @@ +glabel func_8002EEEC +/* 02FAEC 8002EEEC 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 02FAF0 8002EEF0 3C028012 */ lui $v0, %hi(D_8011D0C4) # $v0, 0x8012 +/* 02FAF4 8002EEF4 8C42D0C4 */ lw $v0, %lo(D_8011D0C4)($v0) +/* 02FAF8 8002EEF8 AFBF0044 */ sw $ra, 0x44($sp) +/* 02FAFC 8002EEFC AFB70040 */ sw $s7, 0x40($sp) +/* 02FB00 8002EF00 AFB6003C */ sw $s6, 0x3c($sp) +/* 02FB04 8002EF04 AFB50038 */ sw $s5, 0x38($sp) +/* 02FB08 8002EF08 AFB40034 */ sw $s4, 0x34($sp) +/* 02FB0C 8002EF0C AFB30030 */ sw $s3, 0x30($sp) +/* 02FB10 8002EF10 AFB2002C */ sw $s2, 0x2c($sp) +/* 02FB14 8002EF14 AFB10028 */ sw $s1, 0x28($sp) +/* 02FB18 8002EF18 AFB00024 */ sw $s0, 0x24($sp) +/* 02FB1C 8002EF1C 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 02FB20 8002EF20 C420D0DC */ lwc1 $f0, %lo(D_8011D0DC)($at) +/* 02FB24 8002EF24 C444000C */ lwc1 $f4, 0xc($v0) +/* 02FB28 8002EF28 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 +/* 02FB2C 8002EF2C 46002180 */ add.s $f6, $f4, $f0 +/* 02FB30 8002EF30 C422D0E0 */ lwc1 $f2, %lo(D_8011D0E0)($at) +/* 02FB34 8002EF34 E7A60088 */ swc1 $f6, 0x88($sp) +/* 02FB38 8002EF38 C4480014 */ lwc1 $f8, 0x14($v0) +/* 02FB3C 8002EF3C 3C178012 */ lui $s7, %hi(D_8011D0B8) # $s7, 0x8012 +/* 02FB40 8002EF40 46024280 */ add.s $f10, $f8, $f2 +/* 02FB44 8002EF44 26F7D0B8 */ addiu $s7, %lo(D_8011D0B8) # addiu $s7, $s7, -0x2f48 +/* 02FB48 8002EF48 E7AA008C */ swc1 $f10, 0x8c($sp) +/* 02FB4C 8002EF4C C450000C */ lwc1 $f16, 0xc($v0) +/* 02FB50 8002EF50 8EEE0000 */ lw $t6, ($s7) +/* 02FB54 8002EF54 46008481 */ sub.s $f18, $f16, $f0 +/* 02FB58 8002EF58 3C188012 */ lui $t8, %hi(D_8011C8B8) # $t8, 0x8012 +/* 02FB5C 8002EF5C E7B20090 */ swc1 $f18, 0x90($sp) +/* 02FB60 8002EF60 C4440014 */ lwc1 $f4, 0x14($v0) +/* 02FB64 8002EF64 2718C8B8 */ addiu $t8, %lo(D_8011C8B8) # addiu $t8, $t8, -0x3748 +/* 02FB68 8002EF68 46022180 */ add.s $f6, $f4, $f2 +/* 02FB6C 8002EF6C 3C058012 */ lui $a1, %hi(D_8011C3B8) # $a1, 0x8012 +/* 02FB70 8002EF70 E7A60094 */ swc1 $f6, 0x94($sp) +/* 02FB74 8002EF74 C448000C */ lwc1 $f8, 0xc($v0) +/* 02FB78 8002EF78 000E7900 */ sll $t7, $t6, 4 +/* 02FB7C 8002EF7C 46004281 */ sub.s $f10, $f8, $f0 +/* 02FB80 8002EF80 01F83021 */ addu $a2, $t7, $t8 +/* 02FB84 8002EF84 E7AA0098 */ swc1 $f10, 0x98($sp) +/* 02FB88 8002EF88 C4500014 */ lwc1 $f16, 0x14($v0) +/* 02FB8C 8002EF8C 8FA70098 */ lw $a3, 0x98($sp) +/* 02FB90 8002EF90 46028481 */ sub.s $f18, $f16, $f2 +/* 02FB94 8002EF94 24A5C3B8 */ addiu $a1, %lo(D_8011C3B8) # addiu $a1, $a1, -0x3c48 +/* 02FB98 8002EF98 E7B2009C */ swc1 $f18, 0x9c($sp) +/* 02FB9C 8002EF9C C444000C */ lwc1 $f4, 0xc($v0) +/* 02FBA0 8002EFA0 C7B0009C */ lwc1 $f16, 0x9c($sp) +/* 02FBA4 8002EFA4 46002180 */ add.s $f6, $f4, $f0 +/* 02FBA8 8002EFA8 C7A4008C */ lwc1 $f4, 0x8c($sp) +/* 02FBAC 8002EFAC E7A600A0 */ swc1 $f6, 0xa0($sp) +/* 02FBB0 8002EFB0 C4480014 */ lwc1 $f8, 0x14($v0) +/* 02FBB4 8002EFB4 C7B20088 */ lwc1 $f18, 0x88($sp) +/* 02FBB8 8002EFB8 46024281 */ sub.s $f10, $f8, $f2 +/* 02FBBC 8002EFBC E7B00010 */ swc1 $f16, 0x10($sp) +/* 02FBC0 8002EFC0 E7AA00A4 */ swc1 $f10, 0xa4($sp) +/* 02FBC4 8002EFC4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 02FBC8 8002EFC8 0C02F720 */ jal func_800BDC80 +/* 02FBCC 8002EFCC E7B20014 */ swc1 $f18, 0x14($sp) +/* 02FBD0 8002EFD0 0040B025 */ move $s6, $v0 +/* 02FBD4 8002EFD4 184000A7 */ blez $v0, .L8002F274 +/* 02FBD8 8002EFD8 0000A025 */ move $s4, $zero +/* 02FBDC 8002EFDC 3C108012 */ lui $s0, %hi(D_8011C3B8) # $s0, 0x8012 +/* 02FBE0 8002EFE0 3C158012 */ lui $s5, %hi(D_8011C230) # $s5, 0x8012 +/* 02FBE4 8002EFE4 3C138012 */ lui $s3, %hi(D_8011B120) # $s3, 0x8012 +/* 02FBE8 8002EFE8 3C118012 */ lui $s1, %hi(D_8011D0BC) # $s1, 0x8012 +/* 02FBEC 8002EFEC 2631D0BC */ addiu $s1, %lo(D_8011D0BC) # addiu $s1, $s1, -0x2f44 +/* 02FBF0 8002EFF0 2673B120 */ addiu $s3, %lo(D_8011B120) # addiu $s3, $s3, -0x4ee0 +/* 02FBF4 8002EFF4 26B5C230 */ addiu $s5, %lo(D_8011C230) # addiu $s5, $s5, -0x3dd0 +/* 02FBF8 8002EFF8 2610C3B8 */ addiu $s0, %lo(D_8011C3B8) # addiu $s0, $s0, -0x3c48 +/* 02FBFC 8002EFFC 27B200D8 */ addiu $s2, $sp, 0xd8 +/* 02FC00 8002F000 2408FFFF */ li $t0, -1 +.L8002F004: +/* 02FC04 8002F004 86050002 */ lh $a1, 2($s0) +/* 02FC08 8002F008 86030008 */ lh $v1, 8($s0) +/* 02FC0C 8002F00C 3C068012 */ lui $a2, %hi(D_8011D0CE) # $a2, 0x8012 +/* 02FC10 8002F010 84C6D0CE */ lh $a2, %lo(D_8011D0CE)($a2) +/* 02FC14 8002F014 0065082A */ slt $at, $v1, $a1 +/* 02FC18 8002F018 10200003 */ beqz $at, .L8002F028 +/* 02FC1C 8002F01C 00A02025 */ move $a0, $a1 +/* 02FC20 8002F020 10000005 */ b .L8002F038 +/* 02FC24 8002F024 00602025 */ move $a0, $v1 +.L8002F028: +/* 02FC28 8002F028 00A3082A */ slt $at, $a1, $v1 +/* 02FC2C 8002F02C 10200002 */ beqz $at, .L8002F038 +/* 02FC30 8002F030 00000000 */ nop +/* 02FC34 8002F034 00602825 */ move $a1, $v1 +.L8002F038: +/* 02FC38 8002F038 8602000E */ lh $v0, 0xe($s0) +/* 02FC3C 8002F03C 3C198012 */ lui $t9, %hi(D_8011D0CC) # $t9, 0x8012 +/* 02FC40 8002F040 0044082A */ slt $at, $v0, $a0 +/* 02FC44 8002F044 10200004 */ beqz $at, .L8002F058 +/* 02FC48 8002F048 00A2082A */ slt $at, $a1, $v0 +/* 02FC4C 8002F04C 10000005 */ b .L8002F064 +/* 02FC50 8002F050 00402025 */ move $a0, $v0 +/* 02FC54 8002F054 00A2082A */ slt $at, $a1, $v0 +.L8002F058: +/* 02FC58 8002F058 10200003 */ beqz $at, .L8002F068 +/* 02FC5C 8002F05C 00C4082A */ slt $at, $a2, $a0 +/* 02FC60 8002F060 00402825 */ move $a1, $v0 +.L8002F064: +/* 02FC64 8002F064 00C4082A */ slt $at, $a2, $a0 +.L8002F068: +/* 02FC68 8002F068 1420007E */ bnez $at, .L8002F264 +/* 02FC6C 8002F06C 00000000 */ nop +/* 02FC70 8002F070 8739D0CC */ lh $t9, %lo(D_8011D0CC)($t9) +/* 02FC74 8002F074 27A200A8 */ addiu $v0, $sp, 0xa8 +/* 02FC78 8002F078 00B9082A */ slt $at, $a1, $t9 +/* 02FC7C 8002F07C 14200079 */ bnez $at, .L8002F264 +/* 02FC80 8002F080 24040003 */ li $a0, 3 +/* 02FC84 8002F084 860E0000 */ lh $t6, ($s0) +/* 02FC88 8002F088 860F0004 */ lh $t7, 4($s0) +/* 02FC8C 8002F08C 448E9000 */ mtc1 $t6, $f18 +/* 02FC90 8002F090 448F8000 */ mtc1 $t7, $f16 +/* 02FC94 8002F094 468094A0 */ cvt.s.w $f18, $f18 +/* 02FC98 8002F098 86180006 */ lh $t8, 6($s0) +/* 02FC9C 8002F09C 8619000A */ lh $t9, 0xa($s0) +/* 02FCA0 8002F0A0 44987000 */ mtc1 $t8, $f14 +/* 02FCA4 8002F0A4 46808420 */ cvt.s.w $f16, $f16 +/* 02FCA8 8002F0A8 44996000 */ mtc1 $t9, $f12 +/* 02FCAC 8002F0AC 860E000C */ lh $t6, 0xc($s0) +/* 02FCB0 8002F0B0 468073A0 */ cvt.s.w $f14, $f14 +/* 02FCB4 8002F0B4 448E5000 */ mtc1 $t6, $f10 +/* 02FCB8 8002F0B8 860F0010 */ lh $t7, 0x10($s0) +/* 02FCBC 8002F0BC 46806320 */ cvt.s.w $f12, $f12 +/* 02FCC0 8002F0C0 448F4000 */ mtc1 $t7, $f8 +/* 02FCC4 8002F0C4 E7B200A8 */ swc1 $f18, 0xa8($sp) +/* 02FCC8 8002F0C8 468052A0 */ cvt.s.w $f10, $f10 +/* 02FCCC 8002F0CC E7B000B0 */ swc1 $f16, 0xb0($sp) +/* 02FCD0 8002F0D0 E7AE00B8 */ swc1 $f14, 0xb8($sp) +/* 02FCD4 8002F0D4 46804220 */ cvt.s.w $f8, $f8 +/* 02FCD8 8002F0D8 E7AC00C0 */ swc1 $f12, 0xc0($sp) +/* 02FCDC 8002F0DC E7AA00C8 */ swc1 $f10, 0xc8($sp) +/* 02FCE0 8002F0E0 E7A800D0 */ swc1 $f8, 0xd0($sp) +.L8002F0E4: +/* 02FCE4 8002F0E4 24420010 */ addiu $v0, $v0, 0x10 +/* 02FCE8 8002F0E8 1452FFFE */ bne $v0, $s2, .L8002F0E4 +/* 02FCEC 8002F0EC A448FFFE */ sh $t0, -2($v0) +/* 02FCF0 8002F0F0 8EF80000 */ lw $t8, ($s7) +/* 02FCF4 8002F0F4 00147100 */ sll $t6, $s4, 4 +/* 02FCF8 8002F0F8 0018C900 */ sll $t9, $t8, 4 +/* 02FCFC 8002F0FC 3C188012 */ lui $t8, %hi(D_8011C8B8) # $t8, 0x8012 +/* 02FD00 8002F100 2718C8B8 */ addiu $t8, %lo(D_8011C8B8) # addiu $t8, $t8, -0x3748 +/* 02FD04 8002F104 032E7821 */ addu $t7, $t9, $t6 +/* 02FD08 8002F108 01F8C821 */ addu $t9, $t7, $t8 +/* 02FD0C 8002F10C AE390000 */ sw $t9, ($s1) +/* 02FD10 8002F110 27A500A8 */ addiu $a1, $sp, 0xa8 +/* 02FD14 8002F114 24060004 */ li $a2, 4 +/* 02FD18 8002F118 0C00BFDB */ jal func_8002FF6C +/* 02FD1C 8002F11C 27A70088 */ addiu $a3, $sp, 0x88 +/* 02FD20 8002F120 3C0D8012 */ lui $t5, %hi(D_8011B118) # $t5, 0x8012 +/* 02FD24 8002F124 28410003 */ slti $at, $v0, 3 +/* 02FD28 8002F128 25ADB118 */ addiu $t5, %lo(D_8011B118) # addiu $t5, $t5, -0x4ee8 +/* 02FD2C 8002F12C 2408FFFF */ li $t0, -1 +/* 02FD30 8002F130 1420004C */ bnez $at, .L8002F264 +/* 02FD34 8002F134 0040F825 */ move $ra, $v0 +/* 02FD38 8002F138 8EAC0000 */ lw $t4, ($s5) +/* 02FD3C 8002F13C 3C0F8012 */ lui $t7, %hi(D_8011C238) # $t7, 0x8012 +/* 02FD40 8002F140 000C7080 */ sll $t6, $t4, 2 +/* 02FD44 8002F144 01CC7023 */ subu $t6, $t6, $t4 +/* 02FD48 8002F148 000E7080 */ sll $t6, $t6, 2 +/* 02FD4C 8002F14C 25EFC238 */ addiu $t7, %lo(D_8011C238) # addiu $t7, $t7, -0x3dc8 +/* 02FD50 8002F150 01CF5821 */ addu $t3, $t6, $t7 +/* 02FD54 8002F154 A1600001 */ sb $zero, 1($t3) +/* 02FD58 8002F158 1840003F */ blez $v0, .L8002F258 +/* 02FD5C 8002F15C 00004825 */ move $t1, $zero +/* 02FD60 8002F160 27A700A8 */ addiu $a3, $sp, 0xa8 +.L8002F164: +/* 02FD64 8002F164 84E3000E */ lh $v1, 0xe($a3) +/* 02FD68 8002F168 01697821 */ addu $t7, $t3, $t1 +/* 02FD6C 8002F16C 04610032 */ bgez $v1, .L8002F238 +/* 02FD70 8002F170 24190001 */ li $t9, 1 +/* 02FD74 8002F174 000CC080 */ sll $t8, $t4, 2 +/* 02FD78 8002F178 030CC023 */ subu $t8, $t8, $t4 +/* 02FD7C 8002F17C 8DA60000 */ lw $a2, ($t5) +/* 02FD80 8002F180 0018C080 */ sll $t8, $t8, 2 +/* 02FD84 8002F184 3C0E8012 */ lui $t6, %hi(D_8011C238) # $t6, 0x8012 +/* 02FD88 8002F188 25CEC238 */ addiu $t6, %lo(D_8011C238) # addiu $t6, $t6, -0x3dc8 +/* 02FD8C 8002F18C 0309C821 */ addu $t9, $t8, $t1 +/* 02FD90 8002F190 01002825 */ move $a1, $t0 +/* 02FD94 8002F194 00001825 */ move $v1, $zero +/* 02FD98 8002F198 18C00018 */ blez $a2, .L8002F1FC +/* 02FD9C 8002F19C 032E5021 */ addu $t2, $t9, $t6 +/* 02FDA0 8002F1A0 00007900 */ sll $t7, $zero, 4 +/* 02FDA4 8002F1A4 C4E00000 */ lwc1 $f0, ($a3) +/* 02FDA8 8002F1A8 026F2021 */ addu $a0, $s3, $t7 +.L8002F1AC: +/* 02FDAC 8002F1AC C4860000 */ lwc1 $f6, ($a0) +/* 02FDB0 8002F1B0 00000000 */ nop +/* 02FDB4 8002F1B4 46003032 */ c.eq.s $f6, $f0 +/* 02FDB8 8002F1B8 00000000 */ nop +/* 02FDBC 8002F1BC 45000009 */ bc1f .L8002F1E4 +/* 02FDC0 8002F1C0 00000000 */ nop +/* 02FDC4 8002F1C4 C4880008 */ lwc1 $f8, 8($a0) +/* 02FDC8 8002F1C8 C4EA0008 */ lwc1 $f10, 8($a3) +/* 02FDCC 8002F1CC 00000000 */ nop +/* 02FDD0 8002F1D0 460A4032 */ c.eq.s $f8, $f10 +/* 02FDD4 8002F1D4 00000000 */ nop +/* 02FDD8 8002F1D8 45000002 */ bc1f .L8002F1E4 +/* 02FDDC 8002F1DC 00000000 */ nop +/* 02FDE0 8002F1E0 00602825 */ move $a1, $v1 +.L8002F1E4: +/* 02FDE4 8002F1E4 24630001 */ addiu $v1, $v1, 1 +/* 02FDE8 8002F1E8 0066082A */ slt $at, $v1, $a2 +/* 02FDEC 8002F1EC 10200003 */ beqz $at, .L8002F1FC +/* 02FDF0 8002F1F0 24840010 */ addiu $a0, $a0, 0x10 +/* 02FDF4 8002F1F4 10A8FFED */ beq $a1, $t0, .L8002F1AC +/* 02FDF8 8002F1F8 00000000 */ nop +.L8002F1FC: +/* 02FDFC 8002F1FC 14A8000C */ bne $a1, $t0, .L8002F230 +/* 02FE00 8002F200 0006C100 */ sll $t8, $a2, 4 +/* 02FE04 8002F204 C4F00000 */ lwc1 $f16, ($a3) +/* 02FE08 8002F208 8E390000 */ lw $t9, ($s1) +/* 02FE0C 8002F20C C4F20008 */ lwc1 $f18, 8($a3) +/* 02FE10 8002F210 02781821 */ addu $v1, $s3, $t8 +/* 02FE14 8002F214 24CE0001 */ addiu $t6, $a2, 1 +/* 02FE18 8002F218 ADAE0000 */ sw $t6, ($t5) +/* 02FE1C 8002F21C A1460002 */ sb $a2, 2($t2) +/* 02FE20 8002F220 E4700000 */ swc1 $f16, ($v1) +/* 02FE24 8002F224 AC79000C */ sw $t9, 0xc($v1) +/* 02FE28 8002F228 10000008 */ b .L8002F24C +/* 02FE2C 8002F22C E4720008 */ swc1 $f18, 8($v1) +.L8002F230: +/* 02FE30 8002F230 10000006 */ b .L8002F24C +/* 02FE34 8002F234 A1450002 */ sb $a1, 2($t2) +.L8002F238: +/* 02FE38 8002F238 A1E30002 */ sb $v1, 2($t7) +/* 02FE3C 8002F23C 91780001 */ lbu $t8, 1($t3) +/* 02FE40 8002F240 01397004 */ sllv $t6, $t9, $t1 +/* 02FE44 8002F244 030E7825 */ or $t7, $t8, $t6 +/* 02FE48 8002F248 A16F0001 */ sb $t7, 1($t3) +.L8002F24C: +/* 02FE4C 8002F24C 25290001 */ addiu $t1, $t1, 1 +/* 02FE50 8002F250 153FFFC4 */ bne $t1, $ra, .L8002F164 +/* 02FE54 8002F254 24E70010 */ addiu $a3, $a3, 0x10 +.L8002F258: +/* 02FE58 8002F258 25990001 */ addiu $t9, $t4, 1 +/* 02FE5C 8002F25C AEB90000 */ sw $t9, ($s5) +/* 02FE60 8002F260 A1620000 */ sb $v0, ($t3) +.L8002F264: +/* 02FE64 8002F264 26940001 */ addiu $s4, $s4, 1 +/* 02FE68 8002F268 0296082A */ slt $at, $s4, $s6 +/* 02FE6C 8002F26C 1420FF65 */ bnez $at, .L8002F004 +/* 02FE70 8002F270 26100014 */ addiu $s0, $s0, 0x14 +.L8002F274: +/* 02FE74 8002F274 8EF80000 */ lw $t8, ($s7) +/* 02FE78 8002F278 8FBF0044 */ lw $ra, 0x44($sp) +/* 02FE7C 8002F27C 03167021 */ addu $t6, $t8, $s6 +/* 02FE80 8002F280 AEEE0000 */ sw $t6, ($s7) +/* 02FE84 8002F284 8FB70040 */ lw $s7, 0x40($sp) +/* 02FE88 8002F288 8FB6003C */ lw $s6, 0x3c($sp) +/* 02FE8C 8002F28C 8FB00024 */ lw $s0, 0x24($sp) +/* 02FE90 8002F290 8FB10028 */ lw $s1, 0x28($sp) +/* 02FE94 8002F294 8FB2002C */ lw $s2, 0x2c($sp) +/* 02FE98 8002F298 8FB30030 */ lw $s3, 0x30($sp) +/* 02FE9C 8002F29C 8FB40034 */ lw $s4, 0x34($sp) +/* 02FEA0 8002F2A0 8FB50038 */ lw $s5, 0x38($sp) +/* 02FEA4 8002F2A4 03E00008 */ jr $ra +/* 02FEA8 8002F2A8 27BD0128 */ addiu $sp, $sp, 0x128 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002F2AC.s b/asm/non_matchings/unknown_0255E0/func_8002F2AC.s new file mode 100644 index 00000000..38e818b7 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002F2AC.s @@ -0,0 +1,110 @@ +glabel func_8002F2AC +/* 02FEAC 8002F2AC 3C038012 */ lui $v1, %hi(D_8011B118) # $v1, 0x8012 +/* 02FEB0 8002F2B0 8C63B118 */ lw $v1, %lo(D_8011B118)($v1) +/* 02FEB4 8002F2B4 3C0E8012 */ lui $t6, 0x8012 +/* 02FEB8 8002F2B8 18600028 */ blez $v1, .L8002F35C +/* 02FEBC 8002F2BC 25C4B120 */ addiu $a0, $t6, -0x4ee0 +/* 02FEC0 8002F2C0 00037900 */ sll $t7, $v1, 4 +/* 02FEC4 8002F2C4 01E42821 */ addu $a1, $t7, $a0 +/* 02FEC8 8002F2C8 24840010 */ addiu $a0, $a0, 0x10 +/* 02FECC 8002F2CC 0085082B */ sltu $at, $a0, $a1 +/* 02FED0 8002F2D0 8C82FFFC */ lw $v0, -4($a0) +/* 02FED4 8002F2D4 C492FFF0 */ lwc1 $f18, -0x10($a0) +/* 02FED8 8002F2D8 10200013 */ beqz $at, .L8002F328 +/* 02FEDC 8002F2DC 00000000 */ nop +.L8002F2E0: +/* 02FEE0 8002F2E0 C4500000 */ lwc1 $f16, ($v0) +/* 02FEE4 8002F2E4 C48EFFF8 */ lwc1 $f14, -8($a0) +/* 02FEE8 8002F2E8 46109402 */ mul.s $f16, $f18, $f16 +/* 02FEEC 8002F2EC C44C0008 */ lwc1 $f12, 8($v0) +/* 02FEF0 8002F2F0 C44A000C */ lwc1 $f10, 0xc($v0) +/* 02FEF4 8002F2F4 C4480004 */ lwc1 $f8, 4($v0) +/* 02FEF8 8002F2F8 460C7302 */ mul.s $f12, $f14, $f12 +/* 02FEFC 8002F2FC C4920000 */ lwc1 $f18, ($a0) +/* 02FF00 8002F300 24840010 */ addiu $a0, $a0, 0x10 +/* 02FF04 8002F304 8C82FFFC */ lw $v0, -4($a0) +/* 02FF08 8002F308 460C8300 */ add.s $f12, $f16, $f12 +/* 02FF0C 8002F30C 0085082B */ sltu $at, $a0, $a1 +/* 02FF10 8002F310 460A6280 */ add.s $f10, $f12, $f10 +/* 02FF14 8002F314 46005287 */ neg.s $f10, $f10 +/* 02FF18 8002F318 00000000 */ nop +/* 02FF1C 8002F31C 46085203 */ div.s $f8, $f10, $f8 +/* 02FF20 8002F320 1420FFEF */ bnez $at, .L8002F2E0 +/* 02FF24 8002F324 E488FFE4 */ swc1 $f8, -0x1c($a0) +.L8002F328: +/* 02FF28 8002F328 C4500000 */ lwc1 $f16, ($v0) +/* 02FF2C 8002F32C C48EFFF8 */ lwc1 $f14, -8($a0) +/* 02FF30 8002F330 46109402 */ mul.s $f16, $f18, $f16 +/* 02FF34 8002F334 C44C0008 */ lwc1 $f12, 8($v0) +/* 02FF38 8002F338 C44A000C */ lwc1 $f10, 0xc($v0) +/* 02FF3C 8002F33C C4480004 */ lwc1 $f8, 4($v0) +/* 02FF40 8002F340 460C7302 */ mul.s $f12, $f14, $f12 +/* 02FF44 8002F344 460C8300 */ add.s $f12, $f16, $f12 +/* 02FF48 8002F348 460A6280 */ add.s $f10, $f12, $f10 +/* 02FF4C 8002F34C 46005287 */ neg.s $f10, $f10 +/* 02FF50 8002F350 00000000 */ nop +/* 02FF54 8002F354 46085203 */ div.s $f8, $f10, $f8 +/* 02FF58 8002F358 E488FFF4 */ swc1 $f8, -0xc($a0) +.L8002F35C: +/* 02FF5C 8002F35C 3C058012 */ lui $a1, %hi(D_8011B320) # $a1, 0x8012 +/* 02FF60 8002F360 3C088012 */ lui $t0, %hi(D_8011B330) # $t0, 0x8012 +/* 02FF64 8002F364 2508B330 */ addiu $t0, %lo(D_8011B330) # addiu $t0, $t0, -0x4cd0 +/* 02FF68 8002F368 24A5B320 */ addiu $a1, %lo(D_8011B320) # addiu $a1, $a1, -0x4ce0 +/* 02FF6C 8002F36C 00002025 */ move $a0, $zero +.L8002F370: +/* 02FF70 8002F370 8CA60000 */ lw $a2, ($a1) +/* 02FF74 8002F374 00001825 */ move $v1, $zero +/* 02FF78 8002F378 18C0002C */ blez $a2, .L8002F42C +/* 02FF7C 8002F37C 00801025 */ move $v0, $a0 +/* 02FF80 8002F380 3C198012 */ lui $t9, %hi(D_8011B330) # $t9, 0x8012 +/* 02FF84 8002F384 2739B330 */ addiu $t9, %lo(D_8011B330) # addiu $t9, $t9, -0x4cd0 +/* 02FF88 8002F388 0002C140 */ sll $t8, $v0, 5 +/* 02FF8C 8002F38C 03193821 */ addu $a3, $t8, $t9 +/* 02FF90 8002F390 24630001 */ addiu $v1, $v1, 1 +/* 02FF94 8002F394 0066082A */ slt $at, $v1, $a2 +/* 02FF98 8002F398 8CE2000C */ lw $v0, 0xc($a3) +/* 02FF9C 8002F39C C4F20000 */ lwc1 $f18, ($a3) +/* 02FFA0 8002F3A0 10200014 */ beqz $at, .L8002F3F4 +/* 02FFA4 8002F3A4 00000000 */ nop +.L8002F3A8: +/* 02FFA8 8002F3A8 C4500000 */ lwc1 $f16, ($v0) +/* 02FFAC 8002F3AC C4EE0008 */ lwc1 $f14, 8($a3) +/* 02FFB0 8002F3B0 46109402 */ mul.s $f16, $f18, $f16 +/* 02FFB4 8002F3B4 C44C0008 */ lwc1 $f12, 8($v0) +/* 02FFB8 8002F3B8 C44A000C */ lwc1 $f10, 0xc($v0) +/* 02FFBC 8002F3BC C4480004 */ lwc1 $f8, 4($v0) +/* 02FFC0 8002F3C0 460C7302 */ mul.s $f12, $f14, $f12 +/* 02FFC4 8002F3C4 C4F20020 */ lwc1 $f18, 0x20($a3) +/* 02FFC8 8002F3C8 24630001 */ addiu $v1, $v1, 1 +/* 02FFCC 8002F3CC 8CE2002C */ lw $v0, 0x2c($a3) +/* 02FFD0 8002F3D0 460C8300 */ add.s $f12, $f16, $f12 +/* 02FFD4 8002F3D4 0066082A */ slt $at, $v1, $a2 +/* 02FFD8 8002F3D8 460A6280 */ add.s $f10, $f12, $f10 +/* 02FFDC 8002F3DC 24E70020 */ addiu $a3, $a3, 0x20 +/* 02FFE0 8002F3E0 46005287 */ neg.s $f10, $f10 +/* 02FFE4 8002F3E4 00000000 */ nop +/* 02FFE8 8002F3E8 46085203 */ div.s $f8, $f10, $f8 +/* 02FFEC 8002F3EC 1420FFEE */ bnez $at, .L8002F3A8 +/* 02FFF0 8002F3F0 E4E8FFE4 */ swc1 $f8, -0x1c($a3) +.L8002F3F4: +/* 02FFF4 8002F3F4 C4500000 */ lwc1 $f16, ($v0) +/* 02FFF8 8002F3F8 C4EE0008 */ lwc1 $f14, 8($a3) +/* 02FFFC 8002F3FC 46109402 */ mul.s $f16, $f18, $f16 +/* 030000 8002F400 C44C0008 */ lwc1 $f12, 8($v0) +/* 030004 8002F404 C44A000C */ lwc1 $f10, 0xc($v0) +/* 030008 8002F408 C4480004 */ lwc1 $f8, 4($v0) +/* 03000C 8002F40C 460C7302 */ mul.s $f12, $f14, $f12 +/* 030010 8002F410 24E70020 */ addiu $a3, $a3, 0x20 +/* 030014 8002F414 460C8300 */ add.s $f12, $f16, $f12 +/* 030018 8002F418 460A6280 */ add.s $f10, $f12, $f10 +/* 03001C 8002F41C 46005287 */ neg.s $f10, $f10 +/* 030020 8002F420 00000000 */ nop +/* 030024 8002F424 46085203 */ div.s $f8, $f10, $f8 +/* 030028 8002F428 E4E8FFE4 */ swc1 $f8, -0x1c($a3) +.L8002F42C: +/* 03002C 8002F42C 24A50004 */ addiu $a1, $a1, 4 +/* 030030 8002F430 14A8FFCF */ bne $a1, $t0, .L8002F370 +/* 030034 8002F434 24840020 */ addiu $a0, $a0, 0x20 +/* 030038 8002F438 03E00008 */ jr $ra +/* 03003C 8002F43C 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002F440.s b/asm/non_matchings/unknown_0255E0/func_8002F440.s new file mode 100644 index 00000000..b916ec5c --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002F440.s @@ -0,0 +1,406 @@ +glabel func_8002F440 +/* 030040 8002F440 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 030044 8002F444 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 +/* 030048 8002F448 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c +/* 03004C 8002F44C 8D8E0000 */ lw $t6, ($t4) +/* 030050 8002F450 AFBF003C */ sw $ra, 0x3c($sp) +/* 030054 8002F454 AFBE0038 */ sw $fp, 0x38($sp) +/* 030058 8002F458 AFB70034 */ sw $s7, 0x34($sp) +/* 03005C 8002F45C AFB60030 */ sw $s6, 0x30($sp) +/* 030060 8002F460 AFB5002C */ sw $s5, 0x2c($sp) +/* 030064 8002F464 AFB40028 */ sw $s4, 0x28($sp) +/* 030068 8002F468 AFB30024 */ sw $s3, 0x24($sp) +/* 03006C 8002F46C AFB20020 */ sw $s2, 0x20($sp) +/* 030070 8002F470 AFB1001C */ sw $s1, 0x1c($sp) +/* 030074 8002F474 AFB00018 */ sw $s0, 0x18($sp) +/* 030078 8002F478 85C40000 */ lh $a0, ($t6) +/* 03007C 8002F47C 0C01C1F1 */ jal func_800707C4 +/* 030080 8002F480 241700FF */ li $s7, 255 +/* 030084 8002F484 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 +/* 030088 8002F488 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c +/* 03008C 8002F48C 8D8F0000 */ lw $t7, ($t4) +/* 030090 8002F490 00000000 */ nop +/* 030094 8002F494 85E40000 */ lh $a0, ($t7) +/* 030098 8002F498 0C01C1FE */ jal func_800707F8 +/* 03009C 8002F49C E7A00074 */ swc1 $f0, 0x74($sp) +/* 0300A0 8002F4A0 3C188012 */ lui $t8, %hi(D_8011D0C0) # $t8, 0x8012 +/* 0300A4 8002F4A4 8F18D0C0 */ lw $t8, %lo(D_8011D0C0)($t8) +/* 0300A8 8002F4A8 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 +/* 0300AC 8002F4AC 93190000 */ lbu $t9, ($t8) +/* 0300B0 8002F4B0 C426D0DC */ lwc1 $f6, %lo(D_8011D0DC)($at) +/* 0300B4 8002F4B4 00197100 */ sll $t6, $t9, 4 +/* 0300B8 8002F4B8 448E2000 */ mtc1 $t6, $f4 +/* 0300BC 8002F4BC 3C01800E */ lui $at, %hi(D_800E5F54) # $at, 0x800e +/* 0300C0 8002F4C0 468024A0 */ cvt.s.w $f18, $f4 +/* 0300C4 8002F4C4 C4285F54 */ lwc1 $f8, %lo(D_800E5F54)($at) +/* 0300C8 8002F4C8 3C018012 */ lui $at, %hi(D_8011D0F0) # $at, 0x8012 +/* 0300CC 8002F4CC 46069383 */ div.s $f14, $f18, $f6 +/* 0300D0 8002F4D0 C42CD0F0 */ lwc1 $f12, %lo(D_8011D0F0)($at) +/* 0300D4 8002F4D4 44805000 */ mtc1 $zero, $f10 +/* 0300D8 8002F4D8 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 +/* 0300DC 8002F4DC 460C503C */ c.lt.s $f10, $f12 +/* 0300E0 8002F4E0 C7B00074 */ lwc1 $f16, 0x74($sp) +/* 0300E4 8002F4E4 3C0D8012 */ lui $t5, %hi(D_8011C238) # $t5, 0x8012 +/* 0300E8 8002F4E8 3C1E8012 */ lui $fp, %hi(D_8011D364) # $fp, 0x8012 +/* 0300EC 8002F4EC 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c +/* 0300F0 8002F4F0 3C188012 */ lui $t8, %hi(D_8011D0D0) # $t8, 0x8012 +/* 0300F4 8002F4F4 27DED364 */ addiu $fp, %lo(D_8011D364) # addiu $fp, $fp, -0x2c9c +/* 0300F8 8002F4F8 25ADC238 */ addiu $t5, %lo(D_8011C238) # addiu $t5, $t5, -0x3dc8 +/* 0300FC 8002F4FC 46087382 */ mul.s $f14, $f14, $f8 +/* 030100 8002F500 4500002E */ bc1f .L8002F5BC +/* 030104 8002F504 24160040 */ li $s6, 64 +/* 030108 8002F508 8718D0D0 */ lh $t8, %lo(D_8011D0D0)($t8) +/* 03010C 8002F50C 8D8F0000 */ lw $t7, ($t4) +/* 030110 8002F510 44983000 */ mtc1 $t8, $f6 +/* 030114 8002F514 C5E40010 */ lwc1 $f4, 0x10($t7) +/* 030118 8002F518 46803220 */ cvt.s.w $f8, $f6 +/* 03011C 8002F51C 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 030120 8002F520 46082081 */ sub.s $f2, $f4, $f8 +/* 030124 8002F524 4602603C */ c.lt.s $f12, $f2 +/* 030128 8002F528 00000000 */ nop +/* 03012C 8002F52C 45000015 */ bc1f .L8002F584 +/* 030130 8002F530 00000000 */ nop +/* 030134 8002F534 44815000 */ mtc1 $at, $f10 +/* 030138 8002F538 460C1181 */ sub.s $f6, $f2, $f12 +/* 03013C 8002F53C 3C018012 */ lui $at, %hi(D_8011D0F4) # $at, 0x8012 +/* 030140 8002F540 46065102 */ mul.s $f4, $f10, $f6 +/* 030144 8002F544 C428D0F4 */ lwc1 $f8, %lo(D_8011D0F4)($at) +/* 030148 8002F548 240F00FF */ li $t7, 255 +/* 03014C 8002F54C 46082283 */ div.s $f10, $f4, $f8 +/* 030150 8002F550 4459F800 */ cfc1 $t9, $31 +/* 030154 8002F554 00000000 */ nop +/* 030158 8002F558 37210003 */ ori $at, $t9, 3 +/* 03015C 8002F55C 38210002 */ xori $at, $at, 2 +/* 030160 8002F560 44C1F800 */ ctc1 $at, $31 +/* 030164 8002F564 00000000 */ nop +/* 030168 8002F568 460051A4 */ cvt.w.s $f6, $f10 +/* 03016C 8002F56C 440E3000 */ mfc1 $t6, $f6 +/* 030170 8002F570 44D9F800 */ ctc1 $t9, $31 +/* 030174 8002F574 01EEB823 */ subu $s7, $t7, $t6 +/* 030178 8002F578 06E10002 */ bgez $s7, .L8002F584 +/* 03017C 8002F57C 00000000 */ nop +/* 030180 8002F580 0000B825 */ move $s7, $zero +.L8002F584: +/* 030184 8002F584 44802000 */ mtc1 $zero, $f4 +/* 030188 8002F588 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 03018C 8002F58C 4602203C */ c.lt.s $f4, $f2 +/* 030190 8002F590 00000000 */ nop +/* 030194 8002F594 45000009 */ bc1f .L8002F5BC +/* 030198 8002F598 00000000 */ nop +/* 03019C 8002F59C 44814000 */ mtc1 $at, $f8 +/* 0301A0 8002F5A0 3C01800E */ lui $at, %hi(D_800E5F58) # $at, 0x800e +/* 0301A4 8002F5A4 C42A5F58 */ lwc1 $f10, %lo(D_800E5F58)($at) +/* 0301A8 8002F5A8 00000000 */ nop +/* 0301AC 8002F5AC 46025182 */ mul.s $f6, $f10, $f2 +/* 0301B0 8002F5B0 46064100 */ add.s $f4, $f8, $f6 +/* 0301B4 8002F5B4 46047382 */ mul.s $f14, $f14, $f4 +/* 0301B8 8002F5B8 00000000 */ nop +.L8002F5BC: +/* 0301BC 8002F5BC 44975000 */ mtc1 $s7, $f10 +/* 0301C0 8002F5C0 3C018012 */ lui $at, %hi(D_8011D0D4) # $at, 0x8012 +/* 0301C4 8002F5C4 46805220 */ cvt.s.w $f8, $f10 +/* 0301C8 8002F5C8 C426D0D4 */ lwc1 $f6, %lo(D_8011D0D4)($at) +/* 0301CC 8002F5CC 3C198012 */ lui $t9, %hi(D_8011C230) # $t9, 0x8012 +/* 0301D0 8002F5D0 46064102 */ mul.s $f4, $f8, $f6 +/* 0301D4 8002F5D4 8F39C230 */ lw $t9, %lo(D_8011C230)($t9) +/* 0301D8 8002F5D8 3C158012 */ lui $s5, %hi(D_8011D330) # $s5, 0x8012 +/* 0301DC 8002F5DC 3C148012 */ lui $s4, %hi(D_8011D348) # $s4, 0x8012 +/* 0301E0 8002F5E0 4458F800 */ cfc1 $t8, $31 +/* 0301E4 8002F5E4 24120019 */ li $s2, 25 +/* 0301E8 8002F5E8 37010003 */ ori $at, $t8, 3 +/* 0301EC 8002F5EC 38210002 */ xori $at, $at, 2 +/* 0301F0 8002F5F0 44C1F800 */ ctc1 $at, $31 +/* 0301F4 8002F5F4 2694D348 */ addiu $s4, %lo(D_8011D348) # addiu $s4, $s4, -0x2cb8 +/* 0301F8 8002F5F8 460022A4 */ cvt.w.s $f10, $f4 +/* 0301FC 8002F5FC 26B5D330 */ addiu $s5, %lo(D_8011D330) # addiu $s5, $s5, -0x2cd0 +/* 030200 8002F600 44175000 */ mfc1 $s7, $f10 +/* 030204 8002F604 44D8F800 */ ctc1 $t8, $31 +/* 030208 8002F608 1B20010A */ blez $t9, .L8002FA34 +/* 03020C 8002F60C AFA000AC */ sw $zero, 0xac($sp) +/* 030210 8002F610 3C118012 */ lui $s1, %hi(D_8011D0C8) # $s1, 0x8012 +/* 030214 8002F614 3C108012 */ lui $s0, %hi(D_8011D36C) # $s0, 0x8012 +/* 030218 8002F618 3C1F8012 */ lui $ra, %hi(D_8011D368) # $ra, 0x8012 +/* 03021C 8002F61C 3C0A8012 */ lui $t2, %hi(D_8011B120) # $t2, 0x8012 +/* 030220 8002F620 3C098012 */ lui $t1, %hi(D_8011B330) # $t1, 0x8012 +/* 030224 8002F624 2529B330 */ addiu $t1, %lo(D_8011B330) # addiu $t1, $t1, -0x4cd0 +/* 030228 8002F628 254AB120 */ addiu $t2, %lo(D_8011B120) # addiu $t2, $t2, -0x4ee0 +/* 03022C 8002F62C 27FFD368 */ addiu $ra, %lo(D_8011D368) # addiu $ra, $ra, -0x2c98 +/* 030230 8002F630 2610D36C */ addiu $s0, %lo(D_8011D36C) # addiu $s0, $s0, -0x2c94 +/* 030234 8002F634 2631D0C8 */ addiu $s1, %lo(D_8011D0C8) # addiu $s1, $s1, -0x2f38 +/* 030238 8002F638 2413000A */ li $s3, 10 +/* 03023C 8002F63C 240B00FF */ li $t3, 255 +.L8002F640: +/* 030240 8002F640 91A20000 */ lbu $v0, ($t5) +/* 030244 8002F644 3C038012 */ lui $v1, %hi(D_8011D360) # $v1, 0x8012 +/* 030248 8002F648 00527821 */ addu $t7, $v0, $s2 +/* 03024C 8002F64C 29E10018 */ slti $at, $t7, 0x18 +/* 030250 8002F650 14200019 */ bnez $at, .L8002F6B8 +/* 030254 8002F654 2463D360 */ addiu $v1, %lo(D_8011D360) # addiu $v1, $v1, -0x2ca0 +/* 030258 8002F658 8FD90000 */ lw $t9, ($fp) +/* 03025C 8002F65C 8C780000 */ lw $t8, ($v1) +/* 030260 8002F660 3C0E8012 */ lui $t6, %hi(D_8011D0C0) # $t6, 0x8012 +/* 030264 8002F664 8DCED0C0 */ lw $t6, %lo(D_8011D0C0)($t6) +/* 030268 8002F668 001978C0 */ sll $t7, $t9, 3 +/* 03026C 8002F66C 030FC821 */ addu $t9, $t8, $t7 +/* 030270 8002F670 AF2E0000 */ sw $t6, ($t9) +/* 030274 8002F674 8FCE0000 */ lw $t6, ($fp) +/* 030278 8002F678 8C6F0000 */ lw $t7, ($v1) +/* 03027C 8002F67C 8FF80000 */ lw $t8, ($ra) +/* 030280 8002F680 000EC8C0 */ sll $t9, $t6, 3 +/* 030284 8002F684 01F97021 */ addu $t6, $t7, $t9 +/* 030288 8002F688 A5D80004 */ sh $t8, 4($t6) +/* 03028C 8002F68C 8FD80000 */ lw $t8, ($fp) +/* 030290 8002F690 8C790000 */ lw $t9, ($v1) +/* 030294 8002F694 8E0F0000 */ lw $t7, ($s0) +/* 030298 8002F698 001870C0 */ sll $t6, $t8, 3 +/* 03029C 8002F69C 032EC021 */ addu $t8, $t9, $t6 +/* 0302A0 8002F6A0 A70F0006 */ sh $t7, 6($t8) +/* 0302A4 8002F6A4 8FD90000 */ lw $t9, ($fp) +/* 0302A8 8002F6A8 91A20000 */ lbu $v0, ($t5) +/* 0302AC 8002F6AC 272E0001 */ addiu $t6, $t9, 1 +/* 0302B0 8002F6B0 AFCE0000 */ sw $t6, ($fp) +/* 0302B4 8002F6B4 00009025 */ move $s2, $zero +.L8002F6B8: +/* 0302B8 8002F6B8 91A80001 */ lbu $t0, 1($t5) +/* 0302BC 8002F6BC 184000AA */ blez $v0, .L8002F968 +/* 0302C0 8002F6C0 00003825 */ move $a3, $zero +/* 0302C4 8002F6C4 8FAF00AC */ lw $t7, 0xac($sp) +/* 0302C8 8002F6C8 3C198012 */ lui $t9, %hi(D_8011C238) # $t9, 0x8012 +/* 0302CC 8002F6CC 000FC080 */ sll $t8, $t7, 2 +/* 0302D0 8002F6D0 030FC023 */ subu $t8, $t8, $t7 +/* 0302D4 8002F6D4 0018C080 */ sll $t8, $t8, 2 +/* 0302D8 8002F6D8 2739C238 */ addiu $t9, %lo(D_8011C238) # addiu $t9, $t9, -0x3dc8 +/* 0302DC 8002F6DC 03191821 */ addu $v1, $t8, $t9 +/* 0302E0 8002F6E0 27A50090 */ addiu $a1, $sp, 0x90 +/* 0302E4 8002F6E4 27A60080 */ addiu $a2, $sp, 0x80 +.L8002F6E8: +/* 0302E8 8002F6E8 8E040000 */ lw $a0, ($s0) +/* 0302EC 8002F6EC 8E8F0000 */ lw $t7, ($s4) +/* 0302F0 8002F6F0 00930019 */ multu $a0, $s3 +/* 0302F4 8002F6F4 31190001 */ andi $t9, $t0, 1 +/* 0302F8 8002F6F8 24980001 */ addiu $t8, $a0, 1 +/* 0302FC 8002F6FC AE180000 */ sw $t8, ($s0) +/* 030300 8002F700 00007012 */ mflo $t6 +/* 030304 8002F704 01CF1021 */ addu $v0, $t6, $t7 +/* 030308 8002F708 13200037 */ beqz $t9, .L8002F7E8 +/* 03030C 8002F70C 00000000 */ nop +/* 030310 8002F710 906E0002 */ lbu $t6, 2($v1) +/* 030314 8002F714 4459F800 */ cfc1 $t9, $31 +/* 030318 8002F718 000E7940 */ sll $t7, $t6, 5 +/* 03031C 8002F71C 37210003 */ ori $at, $t9, 3 +/* 030320 8002F720 38210002 */ xori $at, $at, 2 +/* 030324 8002F724 012FC021 */ addu $t8, $t1, $t7 +/* 030328 8002F728 C7080000 */ lwc1 $f8, ($t8) +/* 03032C 8002F72C 44C1F800 */ ctc1 $at, $31 +/* 030330 8002F730 00000000 */ nop +/* 030334 8002F734 460041A4 */ cvt.w.s $f6, $f8 +/* 030338 8002F738 440E3000 */ mfc1 $t6, $f6 +/* 03033C 8002F73C 44D9F800 */ ctc1 $t9, $31 +/* 030340 8002F740 A44E0000 */ sh $t6, ($v0) +/* 030344 8002F744 906F0002 */ lbu $t7, 2($v1) +/* 030348 8002F748 8D990000 */ lw $t9, ($t4) +/* 03034C 8002F74C 000FC140 */ sll $t8, $t7, 5 +/* 030350 8002F750 01382021 */ addu $a0, $t1, $t8 +/* 030354 8002F754 C4840000 */ lwc1 $f4, ($a0) +/* 030358 8002F758 C72A000C */ lwc1 $f10, 0xc($t9) +/* 03035C 8002F75C C4880004 */ lwc1 $f8, 4($a0) +/* 030360 8002F760 C6260000 */ lwc1 $f6, ($s1) +/* 030364 8002F764 460A2081 */ sub.s $f2, $f4, $f10 +/* 030368 8002F768 46064100 */ add.s $f4, $f8, $f6 +/* 03036C 8002F76C 444EF800 */ cfc1 $t6, $31 +/* 030370 8002F770 00000000 */ nop +/* 030374 8002F774 35C10003 */ ori $at, $t6, 3 +/* 030378 8002F778 38210002 */ xori $at, $at, 2 +/* 03037C 8002F77C 44C1F800 */ ctc1 $at, $31 +/* 030380 8002F780 00000000 */ nop +/* 030384 8002F784 460022A4 */ cvt.w.s $f10, $f4 +/* 030388 8002F788 440F5000 */ mfc1 $t7, $f10 +/* 03038C 8002F78C 44CEF800 */ ctc1 $t6, $31 +/* 030390 8002F790 A44F0002 */ sh $t7, 2($v0) +/* 030394 8002F794 90780002 */ lbu $t8, 2($v1) +/* 030398 8002F798 444FF800 */ cfc1 $t7, $31 +/* 03039C 8002F79C 0018C940 */ sll $t9, $t8, 5 +/* 0303A0 8002F7A0 35E10003 */ ori $at, $t7, 3 +/* 0303A4 8002F7A4 38210002 */ xori $at, $at, 2 +/* 0303A8 8002F7A8 01397021 */ addu $t6, $t1, $t9 +/* 0303AC 8002F7AC C5C80008 */ lwc1 $f8, 8($t6) +/* 0303B0 8002F7B0 44C1F800 */ ctc1 $at, $31 +/* 0303B4 8002F7B4 00000000 */ nop +/* 0303B8 8002F7B8 460041A4 */ cvt.w.s $f6, $f8 +/* 0303BC 8002F7BC 44183000 */ mfc1 $t8, $f6 +/* 0303C0 8002F7C0 44CFF800 */ ctc1 $t7, $31 +/* 0303C4 8002F7C4 A4580004 */ sh $t8, 4($v0) +/* 0303C8 8002F7C8 90790002 */ lbu $t9, 2($v1) +/* 0303CC 8002F7CC 8D980000 */ lw $t8, ($t4) +/* 0303D0 8002F7D0 00197140 */ sll $t6, $t9, 5 +/* 0303D4 8002F7D4 012E7821 */ addu $t7, $t1, $t6 +/* 0303D8 8002F7D8 C5E40008 */ lwc1 $f4, 8($t7) +/* 0303DC 8002F7DC C70A0014 */ lwc1 $f10, 0x14($t8) +/* 0303E0 8002F7E0 10000037 */ b .L8002F8C0 +/* 0303E4 8002F7E4 460A2301 */ sub.s $f12, $f4, $f10 +.L8002F7E8: +/* 0303E8 8002F7E8 90790002 */ lbu $t9, 2($v1) +/* 0303EC 8002F7EC 4458F800 */ cfc1 $t8, $31 +/* 0303F0 8002F7F0 00197100 */ sll $t6, $t9, 4 +/* 0303F4 8002F7F4 37010003 */ ori $at, $t8, 3 +/* 0303F8 8002F7F8 38210002 */ xori $at, $at, 2 +/* 0303FC 8002F7FC 014E7821 */ addu $t7, $t2, $t6 +/* 030400 8002F800 C5E80000 */ lwc1 $f8, ($t7) +/* 030404 8002F804 44C1F800 */ ctc1 $at, $31 +/* 030408 8002F808 00000000 */ nop +/* 03040C 8002F80C 460041A4 */ cvt.w.s $f6, $f8 +/* 030410 8002F810 44193000 */ mfc1 $t9, $f6 +/* 030414 8002F814 44D8F800 */ ctc1 $t8, $31 +/* 030418 8002F818 A4590000 */ sh $t9, ($v0) +/* 03041C 8002F81C 906E0002 */ lbu $t6, 2($v1) +/* 030420 8002F820 8D980000 */ lw $t8, ($t4) +/* 030424 8002F824 000E7900 */ sll $t7, $t6, 4 +/* 030428 8002F828 014F2021 */ addu $a0, $t2, $t7 +/* 03042C 8002F82C C4840000 */ lwc1 $f4, ($a0) +/* 030430 8002F830 C70A000C */ lwc1 $f10, 0xc($t8) +/* 030434 8002F834 C4880004 */ lwc1 $f8, 4($a0) +/* 030438 8002F838 C6260000 */ lwc1 $f6, ($s1) +/* 03043C 8002F83C 460A2081 */ sub.s $f2, $f4, $f10 +/* 030440 8002F840 46064100 */ add.s $f4, $f8, $f6 +/* 030444 8002F844 4459F800 */ cfc1 $t9, $31 +/* 030448 8002F848 00000000 */ nop +/* 03044C 8002F84C 37210003 */ ori $at, $t9, 3 +/* 030450 8002F850 38210002 */ xori $at, $at, 2 +/* 030454 8002F854 44C1F800 */ ctc1 $at, $31 +/* 030458 8002F858 00000000 */ nop +/* 03045C 8002F85C 460022A4 */ cvt.w.s $f10, $f4 +/* 030460 8002F860 440E5000 */ mfc1 $t6, $f10 +/* 030464 8002F864 44D9F800 */ ctc1 $t9, $31 +/* 030468 8002F868 A44E0002 */ sh $t6, 2($v0) +/* 03046C 8002F86C 906F0002 */ lbu $t7, 2($v1) +/* 030470 8002F870 444EF800 */ cfc1 $t6, $31 +/* 030474 8002F874 000FC100 */ sll $t8, $t7, 4 +/* 030478 8002F878 35C10003 */ ori $at, $t6, 3 +/* 03047C 8002F87C 38210002 */ xori $at, $at, 2 +/* 030480 8002F880 0158C821 */ addu $t9, $t2, $t8 +/* 030484 8002F884 C7280008 */ lwc1 $f8, 8($t9) +/* 030488 8002F888 44C1F800 */ ctc1 $at, $31 +/* 03048C 8002F88C 00000000 */ nop +/* 030490 8002F890 460041A4 */ cvt.w.s $f6, $f8 +/* 030494 8002F894 440F3000 */ mfc1 $t7, $f6 +/* 030498 8002F898 44CEF800 */ ctc1 $t6, $31 +/* 03049C 8002F89C A44F0004 */ sh $t7, 4($v0) +/* 0304A0 8002F8A0 90780002 */ lbu $t8, 2($v1) +/* 0304A4 8002F8A4 8D8F0000 */ lw $t7, ($t4) +/* 0304A8 8002F8A8 0018C900 */ sll $t9, $t8, 4 +/* 0304AC 8002F8AC 01597021 */ addu $t6, $t2, $t9 +/* 0304B0 8002F8B0 C5C40008 */ lwc1 $f4, 8($t6) +/* 0304B4 8002F8B4 C5EA0014 */ lwc1 $f10, 0x14($t7) +/* 0304B8 8002F8B8 00000000 */ nop +/* 0304BC 8002F8BC 460A2301 */ sub.s $f12, $f4, $f10 +.L8002F8C0: +/* 0304C0 8002F8C0 46001202 */ mul.s $f8, $f2, $f0 +/* 0304C4 8002F8C4 0008C043 */ sra $t8, $t0, 1 +/* 0304C8 8002F8C8 A04B0006 */ sb $t3, 6($v0) +/* 0304CC 8002F8CC A04B0007 */ sb $t3, 7($v0) +/* 0304D0 8002F8D0 46106182 */ mul.s $f6, $f12, $f16 +/* 0304D4 8002F8D4 A04B0008 */ sb $t3, 8($v0) +/* 0304D8 8002F8D8 A0570009 */ sb $s7, 9($v0) +/* 0304DC 8002F8DC 91A20000 */ lbu $v0, ($t5) +/* 0304E0 8002F8E0 46064101 */ sub.s $f4, $f8, $f6 +/* 0304E4 8002F8E4 03004025 */ move $t0, $t8 +/* 0304E8 8002F8E8 460E2282 */ mul.s $f10, $f4, $f14 +/* 0304EC 8002F8EC 24E70001 */ addiu $a3, $a3, 1 +/* 0304F0 8002F8F0 24630001 */ addiu $v1, $v1, 1 +/* 0304F4 8002F8F4 24A50002 */ addiu $a1, $a1, 2 +/* 0304F8 8002F8F8 46125200 */ add.s $f8, $f10, $f18 +/* 0304FC 8002F8FC 24C60002 */ addiu $a2, $a2, 2 +/* 030500 8002F900 4459F800 */ cfc1 $t9, $31 +/* 030504 8002F904 00000000 */ nop +/* 030508 8002F908 37210003 */ ori $at, $t9, 3 +/* 03050C 8002F90C 38210002 */ xori $at, $at, 2 +/* 030510 8002F910 44C1F800 */ ctc1 $at, $31 +/* 030514 8002F914 00000000 */ nop +/* 030518 8002F918 460041A4 */ cvt.w.s $f6, $f8 +/* 03051C 8002F91C 44D9F800 */ ctc1 $t9, $31 +/* 030520 8002F920 440E3000 */ mfc1 $t6, $f6 +/* 030524 8002F924 46006102 */ mul.s $f4, $f12, $f0 +/* 030528 8002F928 A4AEFFFE */ sh $t6, -2($a1) +/* 03052C 8002F92C 46101282 */ mul.s $f10, $f2, $f16 +/* 030530 8002F930 460A2200 */ add.s $f8, $f4, $f10 +/* 030534 8002F934 460E4182 */ mul.s $f6, $f8, $f14 +/* 030538 8002F938 46123100 */ add.s $f4, $f6, $f18 +/* 03053C 8002F93C 444FF800 */ cfc1 $t7, $31 +/* 030540 8002F940 00000000 */ nop +/* 030544 8002F944 35E10003 */ ori $at, $t7, 3 +/* 030548 8002F948 38210002 */ xori $at, $at, 2 +/* 03054C 8002F94C 44C1F800 */ ctc1 $at, $31 +/* 030550 8002F950 00E2082A */ slt $at, $a3, $v0 +/* 030554 8002F954 460022A4 */ cvt.w.s $f10, $f4 +/* 030558 8002F958 44185000 */ mfc1 $t8, $f10 +/* 03055C 8002F95C 44CFF800 */ ctc1 $t7, $31 +/* 030560 8002F960 1420FF61 */ bnez $at, .L8002F6E8 +/* 030564 8002F964 A4D8FFFE */ sh $t8, -2($a2) +.L8002F968: +/* 030568 8002F968 2459FFFF */ addiu $t9, $v0, -1 +/* 03056C 8002F96C 2B210002 */ slti $at, $t9, 2 +/* 030570 8002F970 14200027 */ bnez $at, .L8002FA10 +/* 030574 8002F974 24070001 */ li $a3, 1 +/* 030578 8002F978 26440001 */ addiu $a0, $s2, 1 +/* 03057C 8002F97C 24880001 */ addiu $t0, $a0, 1 +/* 030580 8002F980 27A50092 */ addiu $a1, $sp, 0x92 +/* 030584 8002F984 27A60082 */ addiu $a2, $sp, 0x82 +.L8002F988: +/* 030588 8002F988 8FE30000 */ lw $v1, ($ra) +/* 03058C 8002F98C 8EAF0000 */ lw $t7, ($s5) +/* 030590 8002F990 00037100 */ sll $t6, $v1, 4 +/* 030594 8002F994 24780001 */ addiu $t8, $v1, 1 +/* 030598 8002F998 AFF80000 */ sw $t8, ($ra) +/* 03059C 8002F99C 01CF1021 */ addu $v0, $t6, $t7 +/* 0305A0 8002F9A0 A0560000 */ sb $s6, ($v0) +/* 0305A4 8002F9A4 A0440001 */ sb $a0, 1($v0) +/* 0305A8 8002F9A8 A0480002 */ sb $t0, 2($v0) +/* 0305AC 8002F9AC A0520003 */ sb $s2, 3($v0) +/* 0305B0 8002F9B0 84B90000 */ lh $t9, ($a1) +/* 0305B4 8002F9B4 24E70001 */ addiu $a3, $a3, 1 +/* 0305B8 8002F9B8 A4590004 */ sh $t9, 4($v0) +/* 0305BC 8002F9BC 84CE0000 */ lh $t6, ($a2) +/* 0305C0 8002F9C0 25080001 */ addiu $t0, $t0, 1 +/* 0305C4 8002F9C4 A44E0006 */ sh $t6, 6($v0) +/* 0305C8 8002F9C8 84AF0002 */ lh $t7, 2($a1) +/* 0305CC 8002F9CC 24840001 */ addiu $a0, $a0, 1 +/* 0305D0 8002F9D0 A44F0008 */ sh $t7, 8($v0) +/* 0305D4 8002F9D4 84D80002 */ lh $t8, 2($a2) +/* 0305D8 8002F9D8 24A50002 */ addiu $a1, $a1, 2 +/* 0305DC 8002F9DC A458000A */ sh $t8, 0xa($v0) +/* 0305E0 8002F9E0 87B90090 */ lh $t9, 0x90($sp) +/* 0305E4 8002F9E4 24C60002 */ addiu $a2, $a2, 2 +/* 0305E8 8002F9E8 A459000C */ sh $t9, 0xc($v0) +/* 0305EC 8002F9EC 87AE0080 */ lh $t6, 0x80($sp) +/* 0305F0 8002F9F0 00000000 */ nop +/* 0305F4 8002F9F4 A44E000E */ sh $t6, 0xe($v0) +/* 0305F8 8002F9F8 91A20000 */ lbu $v0, ($t5) +/* 0305FC 8002F9FC 00000000 */ nop +/* 030600 8002FA00 244FFFFF */ addiu $t7, $v0, -1 +/* 030604 8002FA04 00EF082A */ slt $at, $a3, $t7 +/* 030608 8002FA08 1420FFDF */ bnez $at, .L8002F988 +/* 03060C 8002FA0C 00000000 */ nop +.L8002FA10: +/* 030610 8002FA10 8FA300AC */ lw $v1, 0xac($sp) +/* 030614 8002FA14 3C188012 */ lui $t8, %hi(D_8011C230) # $t8, 0x8012 +/* 030618 8002FA18 8F18C230 */ lw $t8, %lo(D_8011C230)($t8) +/* 03061C 8002FA1C 24630001 */ addiu $v1, $v1, 1 +/* 030620 8002FA20 0078082A */ slt $at, $v1, $t8 +/* 030624 8002FA24 AFA300AC */ sw $v1, 0xac($sp) +/* 030628 8002FA28 25AD000C */ addiu $t5, $t5, 0xc +/* 03062C 8002FA2C 1420FF04 */ bnez $at, .L8002F640 +/* 030630 8002FA30 02429021 */ addu $s2, $s2, $v0 +.L8002FA34: +/* 030634 8002FA34 8FBF003C */ lw $ra, 0x3c($sp) +/* 030638 8002FA38 8FB00018 */ lw $s0, 0x18($sp) +/* 03063C 8002FA3C 8FB1001C */ lw $s1, 0x1c($sp) +/* 030640 8002FA40 8FB20020 */ lw $s2, 0x20($sp) +/* 030644 8002FA44 8FB30024 */ lw $s3, 0x24($sp) +/* 030648 8002FA48 8FB40028 */ lw $s4, 0x28($sp) +/* 03064C 8002FA4C 8FB5002C */ lw $s5, 0x2c($sp) +/* 030650 8002FA50 8FB60030 */ lw $s6, 0x30($sp) +/* 030654 8002FA54 8FB70034 */ lw $s7, 0x34($sp) +/* 030658 8002FA58 8FBE0038 */ lw $fp, 0x38($sp) +/* 03065C 8002FA5C 03E00008 */ jr $ra +/* 030660 8002FA60 27BD00B0 */ addiu $sp, $sp, 0xb0 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002FA64.s b/asm/non_matchings/unknown_0255E0/func_8002FA64.s new file mode 100644 index 00000000..3c8e2675 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002FA64.s @@ -0,0 +1,210 @@ +glabel func_8002FA64 +/* 030664 8002FA64 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 030668 8002FA68 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012 +/* 03066C 8002FA6C 8C63C230 */ lw $v1, %lo(D_8011C230)($v1) +/* 030670 8002FA70 44801000 */ mtc1 $zero, $f2 +/* 030674 8002FA74 AFBF006C */ sw $ra, 0x6c($sp) +/* 030678 8002FA78 AFB70068 */ sw $s7, 0x68($sp) +/* 03067C 8002FA7C AFB60064 */ sw $s6, 0x64($sp) +/* 030680 8002FA80 AFB50060 */ sw $s5, 0x60($sp) +/* 030684 8002FA84 AFB4005C */ sw $s4, 0x5c($sp) +/* 030688 8002FA88 AFB30058 */ sw $s3, 0x58($sp) +/* 03068C 8002FA8C AFB20054 */ sw $s2, 0x54($sp) +/* 030690 8002FA90 AFB10050 */ sw $s1, 0x50($sp) +/* 030694 8002FA94 AFB0004C */ sw $s0, 0x4c($sp) +/* 030698 8002FA98 E7BF0040 */ swc1 $f31, 0x40($sp) +/* 03069C 8002FA9C E7BE0044 */ swc1 $f30, 0x44($sp) +/* 0306A0 8002FAA0 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 0306A4 8002FAA4 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 0306A8 8002FAA8 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 0306AC 8002FAAC E7BA0034 */ swc1 $f26, 0x34($sp) +/* 0306B0 8002FAB0 E7B90028 */ swc1 $f25, 0x28($sp) +/* 0306B4 8002FAB4 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 0306B8 8002FAB8 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0306BC 8002FABC E7B60024 */ swc1 $f22, 0x24($sp) +/* 0306C0 8002FAC0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0306C4 8002FAC4 18600090 */ blez $v1, .L8002FD08 +/* 0306C8 8002FAC8 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0306CC 8002FACC 3C0E8012 */ lui $t6, %hi(D_8011D0EC) # $t6, 0x8012 +/* 0306D0 8002FAD0 8DCED0EC */ lw $t6, %lo(D_8011D0EC)($t6) +/* 0306D4 8002FAD4 3C028012 */ lui $v0, %hi(D_8011D0E8) # $v0, 0x8012 +/* 0306D8 8002FAD8 11C0000E */ beqz $t6, .L8002FB14 +/* 0306DC 8002FADC 00000000 */ nop +/* 0306E0 8002FAE0 8C42D0E8 */ lw $v0, %lo(D_8011D0E8)($v0) +/* 0306E4 8002FAE4 3C16800E */ lui $s6, %hi(D_800DC884) # $s6, 0x800e +/* 0306E8 8002FAE8 1840007C */ blez $v0, .L8002FCDC +/* 0306EC 8002FAEC 26D6C884 */ addiu $s6, %lo(D_800DC884) # addiu $s6, $s6, -0x377c +/* 0306F0 8002FAF0 00027880 */ sll $t7, $v0, 2 +/* 0306F4 8002FAF4 02CFC021 */ addu $t8, $s6, $t7 +/* 0306F8 8002FAF8 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 +/* 0306FC 8002FAFC C426D0E4 */ lwc1 $f6, %lo(D_8011D0E4)($at) +/* 030700 8002FB00 C7040000 */ lwc1 $f4, ($t8) +/* 030704 8002FB04 00000000 */ nop +/* 030708 8002FB08 46062082 */ mul.s $f2, $f4, $f6 +/* 03070C 8002FB0C 10000073 */ b .L8002FCDC +/* 030710 8002FB10 00000000 */ nop +.L8002FB14: +/* 030714 8002FB14 18600071 */ blez $v1, .L8002FCDC +/* 030718 8002FB18 0000B825 */ move $s7, $zero +/* 03071C 8002FB1C 3C138012 */ lui $s3, %hi(D_8011C238) # $s3, 0x8012 +/* 030720 8002FB20 3C16800E */ lui $s6, %hi(D_800DC884) # $s6, 0x800e +/* 030724 8002FB24 3C158012 */ lui $s5, %hi(D_8011B120) # $s5, 0x8012 +/* 030728 8002FB28 3C148012 */ lui $s4, %hi(D_8011B330) # $s4, 0x8012 +/* 03072C 8002FB2C 2694B330 */ addiu $s4, %lo(D_8011B330) # addiu $s4, $s4, -0x4cd0 +/* 030730 8002FB30 26B5B120 */ addiu $s5, %lo(D_8011B120) # addiu $s5, $s5, -0x4ee0 +/* 030734 8002FB34 26D6C884 */ addiu $s6, %lo(D_800DC884) # addiu $s6, $s6, -0x377c +/* 030738 8002FB38 2673C238 */ addiu $s3, %lo(D_8011C238) # addiu $s3, $s3, -0x3dc8 +.L8002FB3C: +/* 03073C 8002FB3C 8679000A */ lh $t9, 0xa($s3) +/* 030740 8002FB40 00000000 */ nop +/* 030744 8002FB44 1B200061 */ blez $t9, .L8002FCCC +/* 030748 8002FB48 00000000 */ nop +/* 03074C 8002FB4C 92710001 */ lbu $s1, 1($s3) +/* 030750 8002FB50 24120002 */ li $s2, 2 +/* 030754 8002FB54 32280001 */ andi $t0, $s1, 1 +/* 030758 8002FB58 11000009 */ beqz $t0, .L8002FB80 +/* 03075C 8002FB5C 00000000 */ nop +/* 030760 8002FB60 92690002 */ lbu $t1, 2($s3) +/* 030764 8002FB64 00000000 */ nop +/* 030768 8002FB68 00095140 */ sll $t2, $t1, 5 +/* 03076C 8002FB6C 028A1021 */ addu $v0, $s4, $t2 +/* 030770 8002FB70 C45C0000 */ lwc1 $f28, ($v0) +/* 030774 8002FB74 C45E0008 */ lwc1 $f30, 8($v0) +/* 030778 8002FB78 10000009 */ b .L8002FBA0 +/* 03077C 8002FB7C 00116843 */ sra $t5, $s1, 1 +.L8002FB80: +/* 030780 8002FB80 926B0002 */ lbu $t3, 2($s3) +/* 030784 8002FB84 00000000 */ nop +/* 030788 8002FB88 000B6100 */ sll $t4, $t3, 4 +/* 03078C 8002FB8C 02AC1021 */ addu $v0, $s5, $t4 +/* 030790 8002FB90 C45C0000 */ lwc1 $f28, ($v0) +/* 030794 8002FB94 C45E0008 */ lwc1 $f30, 8($v0) +/* 030798 8002FB98 00000000 */ nop +/* 03079C 8002FB9C 00116843 */ sra $t5, $s1, 1 +.L8002FBA0: +/* 0307A0 8002FBA0 31AE0001 */ andi $t6, $t5, 1 +/* 0307A4 8002FBA4 11C00009 */ beqz $t6, .L8002FBCC +/* 0307A8 8002FBA8 01A08825 */ move $s1, $t5 +/* 0307AC 8002FBAC 926F0003 */ lbu $t7, 3($s3) +/* 0307B0 8002FBB0 00000000 */ nop +/* 0307B4 8002FBB4 000FC140 */ sll $t8, $t7, 5 +/* 0307B8 8002FBB8 02981021 */ addu $v0, $s4, $t8 +/* 0307BC 8002FBBC C4580000 */ lwc1 $f24, ($v0) +/* 0307C0 8002FBC0 C45A0008 */ lwc1 $f26, 8($v0) +/* 0307C4 8002FBC4 10000009 */ b .L8002FBEC +/* 0307C8 8002FBC8 926A0000 */ lbu $t2, ($s3) +.L8002FBCC: +/* 0307CC 8002FBCC 92790003 */ lbu $t9, 3($s3) +/* 0307D0 8002FBD0 00000000 */ nop +/* 0307D4 8002FBD4 00194100 */ sll $t0, $t9, 4 +/* 0307D8 8002FBD8 02A81021 */ addu $v0, $s5, $t0 +/* 0307DC 8002FBDC C4580000 */ lwc1 $f24, ($v0) +/* 0307E0 8002FBE0 C45A0008 */ lwc1 $f26, 8($v0) +/* 0307E4 8002FBE4 00000000 */ nop +/* 0307E8 8002FBE8 926A0000 */ lbu $t2, ($s3) +.L8002FBEC: +/* 0307EC 8002FBEC 00114843 */ sra $t1, $s1, 1 +/* 0307F0 8002FBF0 29410003 */ slti $at, $t2, 3 +/* 0307F4 8002FBF4 14200035 */ bnez $at, .L8002FCCC +/* 0307F8 8002FBF8 01208825 */ move $s1, $t1 +/* 0307FC 8002FBFC 00175880 */ sll $t3, $s7, 2 +/* 030800 8002FC00 01775823 */ subu $t3, $t3, $s7 +/* 030804 8002FC04 000B5880 */ sll $t3, $t3, 2 +/* 030808 8002FC08 3C0D8012 */ lui $t5, %hi(D_8011C238) # $t5, 0x8012 +/* 03080C 8002FC0C 25ADC238 */ addiu $t5, %lo(D_8011C238) # addiu $t5, $t5, -0x3dc8 +/* 030810 8002FC10 256C0002 */ addiu $t4, $t3, 2 +/* 030814 8002FC14 018D8021 */ addu $s0, $t4, $t5 +.L8002FC18: +/* 030818 8002FC18 322E0001 */ andi $t6, $s1, 1 +/* 03081C 8002FC1C 11C00009 */ beqz $t6, .L8002FC44 +/* 030820 8002FC20 00000000 */ nop +/* 030824 8002FC24 920F0002 */ lbu $t7, 2($s0) +/* 030828 8002FC28 00000000 */ nop +/* 03082C 8002FC2C 000FC140 */ sll $t8, $t7, 5 +/* 030830 8002FC30 02981021 */ addu $v0, $s4, $t8 +/* 030834 8002FC34 C4540000 */ lwc1 $f20, ($v0) +/* 030838 8002FC38 C4560008 */ lwc1 $f22, 8($v0) +/* 03083C 8002FC3C 10000009 */ b .L8002FC64 +/* 030840 8002FC40 00114843 */ sra $t1, $s1, 1 +.L8002FC44: +/* 030844 8002FC44 92190002 */ lbu $t9, 2($s0) +/* 030848 8002FC48 00000000 */ nop +/* 03084C 8002FC4C 00194100 */ sll $t0, $t9, 4 +/* 030850 8002FC50 02A81021 */ addu $v0, $s5, $t0 +/* 030854 8002FC54 C4540000 */ lwc1 $f20, ($v0) +/* 030858 8002FC58 C4560008 */ lwc1 $f22, 8($v0) +/* 03085C 8002FC5C 00000000 */ nop +/* 030860 8002FC60 00114843 */ sra $t1, $s1, 1 +.L8002FC64: +/* 030864 8002FC64 4406C000 */ mfc1 $a2, $f24 +/* 030868 8002FC68 4407D000 */ mfc1 $a3, $f26 +/* 03086C 8002FC6C 01208825 */ move $s1, $t1 +/* 030870 8002FC70 4600E306 */ mov.s $f12, $f28 +/* 030874 8002FC74 4600F386 */ mov.s $f14, $f30 +/* 030878 8002FC78 E7B40010 */ swc1 $f20, 0x10($sp) +/* 03087C 8002FC7C E7B60014 */ swc1 $f22, 0x14($sp) +/* 030880 8002FC80 0C01C28B */ jal func_80070A2C +/* 030884 8002FC84 E7A20074 */ swc1 $f2, 0x74($sp) +/* 030888 8002FC88 866A000A */ lh $t2, 0xa($s3) +/* 03088C 8002FC8C 926D0000 */ lbu $t5, ($s3) +/* 030890 8002FC90 000A5880 */ sll $t3, $t2, 2 +/* 030894 8002FC94 02CB6021 */ addu $t4, $s6, $t3 +/* 030898 8002FC98 C5880000 */ lwc1 $f8, ($t4) +/* 03089C 8002FC9C C7A20074 */ lwc1 $f2, 0x74($sp) +/* 0308A0 8002FCA0 46080282 */ mul.s $f10, $f0, $f8 +/* 0308A4 8002FCA4 26520001 */ addiu $s2, $s2, 1 +/* 0308A8 8002FCA8 024D082A */ slt $at, $s2, $t5 +/* 0308AC 8002FCAC 26100001 */ addiu $s0, $s0, 1 +/* 0308B0 8002FCB0 4600A606 */ mov.s $f24, $f20 +/* 0308B4 8002FCB4 4600B686 */ mov.s $f26, $f22 +/* 0308B8 8002FCB8 1420FFD7 */ bnez $at, .L8002FC18 +/* 0308BC 8002FCBC 460A1080 */ add.s $f2, $f2, $f10 +/* 0308C0 8002FCC0 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012 +/* 0308C4 8002FCC4 8C63C230 */ lw $v1, %lo(D_8011C230)($v1) +/* 0308C8 8002FCC8 00000000 */ nop +.L8002FCCC: +/* 0308CC 8002FCCC 26F70001 */ addiu $s7, $s7, 1 +/* 0308D0 8002FCD0 02E3082A */ slt $at, $s7, $v1 +/* 0308D4 8002FCD4 1420FF99 */ bnez $at, .L8002FB3C +/* 0308D8 8002FCD8 2673000C */ addiu $s3, $s3, 0xc +.L8002FCDC: +/* 0308DC 8002FCDC 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 +/* 0308E0 8002FCE0 C42CD0E4 */ lwc1 $f12, %lo(D_8011D0E4)($at) +/* 0308E4 8002FCE4 3C01800E */ lui $at, %hi(D_800E5F5C) # $at, 0x800e +/* 0308E8 8002FCE8 4602603C */ c.lt.s $f12, $f2 +/* 0308EC 8002FCEC 00000000 */ nop +/* 0308F0 8002FCF0 45000005 */ bc1f .L8002FD08 +/* 0308F4 8002FCF4 00000000 */ nop +/* 0308F8 8002FCF8 C4305F5C */ lwc1 $f16, %lo(D_800E5F5C)($at) +/* 0308FC 8002FCFC 00000000 */ nop +/* 030900 8002FD00 46106082 */ mul.s $f2, $f12, $f16 +/* 030904 8002FD04 00000000 */ nop +.L8002FD08: +/* 030908 8002FD08 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 +/* 03090C 8002FD0C C42CD0E4 */ lwc1 $f12, %lo(D_8011D0E4)($at) +/* 030910 8002FD10 8FBF006C */ lw $ra, 0x6c($sp) +/* 030914 8002FD14 46026481 */ sub.s $f18, $f12, $f2 +/* 030918 8002FD18 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 03091C 8002FD1C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 030920 8002FD20 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 030924 8002FD24 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 030928 8002FD28 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 03092C 8002FD2C C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 030930 8002FD30 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 030934 8002FD34 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 030938 8002FD38 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 03093C 8002FD3C C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 030940 8002FD40 C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 030944 8002FD44 C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 030948 8002FD48 8FB0004C */ lw $s0, 0x4c($sp) +/* 03094C 8002FD4C 8FB10050 */ lw $s1, 0x50($sp) +/* 030950 8002FD50 8FB20054 */ lw $s2, 0x54($sp) +/* 030954 8002FD54 8FB30058 */ lw $s3, 0x58($sp) +/* 030958 8002FD58 8FB4005C */ lw $s4, 0x5c($sp) +/* 03095C 8002FD5C 8FB50060 */ lw $s5, 0x60($sp) +/* 030960 8002FD60 8FB60064 */ lw $s6, 0x64($sp) +/* 030964 8002FD64 8FB70068 */ lw $s7, 0x68($sp) +/* 030968 8002FD68 27BD0078 */ addiu $sp, $sp, 0x78 +/* 03096C 8002FD6C 03E00008 */ jr $ra +/* 030970 8002FD70 460C9003 */ div.s $f0, $f18, $f12 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002FD74.s b/asm/non_matchings/unknown_0255E0/func_8002FD74.s new file mode 100644 index 00000000..786ef5b4 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002FD74.s @@ -0,0 +1,146 @@ +glabel func_8002FD74 +/* 030974 8002FD74 8FA40010 */ lw $a0, 0x10($sp) +/* 030978 8002FD78 E7AC0000 */ swc1 $f12, ($sp) +/* 03097C 8002FD7C E7AE0004 */ swc1 $f14, 4($sp) +/* 030980 8002FD80 AFA60008 */ sw $a2, 8($sp) +/* 030984 8002FD84 18800076 */ blez $a0, .L8002FF60 +/* 030988 8002FD88 AFA7000C */ sw $a3, 0xc($sp) +/* 03098C 8002FD8C 8FA20014 */ lw $v0, 0x14($sp) +/* 030990 8002FD90 28810002 */ slti $at, $a0, 2 +/* 030994 8002FD94 C4420000 */ lwc1 $f2, ($v0) +/* 030998 8002FD98 C44C0008 */ lwc1 $f12, 8($v0) +/* 03099C 8002FD9C 24030001 */ li $v1, 1 +/* 0309A0 8002FDA0 46001006 */ mov.s $f0, $f2 +/* 0309A4 8002FDA4 1420005A */ bnez $at, .L8002FF10 +/* 0309A8 8002FDA8 46006386 */ mov.s $f14, $f12 +/* 0309AC 8002FDAC 2485FFFF */ addiu $a1, $a0, -1 +/* 0309B0 8002FDB0 30AE0001 */ andi $t6, $a1, 1 +/* 0309B4 8002FDB4 11C0001D */ beqz $t6, .L8002FE2C +/* 0309B8 8002FDB8 0004C100 */ sll $t8, $a0, 4 +/* 0309BC 8002FDBC 24430010 */ addiu $v1, $v0, 0x10 +/* 0309C0 8002FDC0 C4700000 */ lwc1 $f16, ($v1) +/* 0309C4 8002FDC4 00000000 */ nop +/* 0309C8 8002FDC8 4600803C */ c.lt.s $f16, $f0 +/* 0309CC 8002FDCC 00000000 */ nop +/* 0309D0 8002FDD0 45000003 */ bc1f .L8002FDE0 +/* 0309D4 8002FDD4 00000000 */ nop +/* 0309D8 8002FDD8 10000006 */ b .L8002FDF4 +/* 0309DC 8002FDDC 46008006 */ mov.s $f0, $f16 +.L8002FDE0: +/* 0309E0 8002FDE0 4610103C */ c.lt.s $f2, $f16 +/* 0309E4 8002FDE4 00000000 */ nop +/* 0309E8 8002FDE8 45000002 */ bc1f .L8002FDF4 +/* 0309EC 8002FDEC 00000000 */ nop +/* 0309F0 8002FDF0 46008086 */ mov.s $f2, $f16 +.L8002FDF4: +/* 0309F4 8002FDF4 C4700008 */ lwc1 $f16, 8($v1) +/* 0309F8 8002FDF8 24030002 */ li $v1, 2 +/* 0309FC 8002FDFC 460E803C */ c.lt.s $f16, $f14 +/* 030A00 8002FE00 00000000 */ nop +/* 030A04 8002FE04 45000003 */ bc1f .L8002FE14 +/* 030A08 8002FE08 00000000 */ nop +/* 030A0C 8002FE0C 10000006 */ b .L8002FE28 +/* 030A10 8002FE10 46008386 */ mov.s $f14, $f16 +.L8002FE14: +/* 030A14 8002FE14 4610603C */ c.lt.s $f12, $f16 +/* 030A18 8002FE18 00000000 */ nop +/* 030A1C 8002FE1C 45000002 */ bc1f .L8002FE28 +/* 030A20 8002FE20 00000000 */ nop +/* 030A24 8002FE24 46008306 */ mov.s $f12, $f16 +.L8002FE28: +/* 030A28 8002FE28 10640039 */ beq $v1, $a0, .L8002FF10 +.L8002FE2C: +/* 030A2C 8002FE2C 00037900 */ sll $t7, $v1, 4 +/* 030A30 8002FE30 004F2821 */ addu $a1, $v0, $t7 +/* 030A34 8002FE34 03023021 */ addu $a2, $t8, $v0 +.L8002FE38: +/* 030A38 8002FE38 C4B00000 */ lwc1 $f16, ($a1) +/* 030A3C 8002FE3C 00000000 */ nop +/* 030A40 8002FE40 4600803C */ c.lt.s $f16, $f0 +/* 030A44 8002FE44 00000000 */ nop +/* 030A48 8002FE48 45000003 */ bc1f .L8002FE58 +/* 030A4C 8002FE4C 00000000 */ nop +/* 030A50 8002FE50 10000006 */ b .L8002FE6C +/* 030A54 8002FE54 46008006 */ mov.s $f0, $f16 +.L8002FE58: +/* 030A58 8002FE58 4610103C */ c.lt.s $f2, $f16 +/* 030A5C 8002FE5C 00000000 */ nop +/* 030A60 8002FE60 45000002 */ bc1f .L8002FE6C +/* 030A64 8002FE64 00000000 */ nop +/* 030A68 8002FE68 46008086 */ mov.s $f2, $f16 +.L8002FE6C: +/* 030A6C 8002FE6C C4B00008 */ lwc1 $f16, 8($a1) +/* 030A70 8002FE70 00000000 */ nop +/* 030A74 8002FE74 460E803C */ c.lt.s $f16, $f14 +/* 030A78 8002FE78 00000000 */ nop +/* 030A7C 8002FE7C 45000003 */ bc1f .L8002FE8C +/* 030A80 8002FE80 00000000 */ nop +/* 030A84 8002FE84 10000006 */ b .L8002FEA0 +/* 030A88 8002FE88 46008386 */ mov.s $f14, $f16 +.L8002FE8C: +/* 030A8C 8002FE8C 4610603C */ c.lt.s $f12, $f16 +/* 030A90 8002FE90 00000000 */ nop +/* 030A94 8002FE94 45000002 */ bc1f .L8002FEA0 +/* 030A98 8002FE98 00000000 */ nop +/* 030A9C 8002FE9C 46008306 */ mov.s $f12, $f16 +.L8002FEA0: +/* 030AA0 8002FEA0 C4B00010 */ lwc1 $f16, 0x10($a1) +/* 030AA4 8002FEA4 00000000 */ nop +/* 030AA8 8002FEA8 4600803C */ c.lt.s $f16, $f0 +/* 030AAC 8002FEAC 00000000 */ nop +/* 030AB0 8002FEB0 45000003 */ bc1f .L8002FEC0 +/* 030AB4 8002FEB4 00000000 */ nop +/* 030AB8 8002FEB8 10000006 */ b .L8002FED4 +/* 030ABC 8002FEBC 46008006 */ mov.s $f0, $f16 +.L8002FEC0: +/* 030AC0 8002FEC0 4610103C */ c.lt.s $f2, $f16 +/* 030AC4 8002FEC4 00000000 */ nop +/* 030AC8 8002FEC8 45000002 */ bc1f .L8002FED4 +/* 030ACC 8002FECC 00000000 */ nop +/* 030AD0 8002FED0 46008086 */ mov.s $f2, $f16 +.L8002FED4: +/* 030AD4 8002FED4 C4B00018 */ lwc1 $f16, 0x18($a1) +/* 030AD8 8002FED8 24A50020 */ addiu $a1, $a1, 0x20 +/* 030ADC 8002FEDC 460E803C */ c.lt.s $f16, $f14 +/* 030AE0 8002FEE0 00000000 */ nop +/* 030AE4 8002FEE4 45000003 */ bc1f .L8002FEF4 +/* 030AE8 8002FEE8 00000000 */ nop +/* 030AEC 8002FEEC 10000006 */ b .L8002FF08 +/* 030AF0 8002FEF0 46008386 */ mov.s $f14, $f16 +.L8002FEF4: +/* 030AF4 8002FEF4 4610603C */ c.lt.s $f12, $f16 +/* 030AF8 8002FEF8 00000000 */ nop +/* 030AFC 8002FEFC 45000002 */ bc1f .L8002FF08 +/* 030B00 8002FF00 00000000 */ nop +/* 030B04 8002FF04 46008306 */ mov.s $f12, $f16 +.L8002FF08: +/* 030B08 8002FF08 14A6FFCB */ bne $a1, $a2, .L8002FE38 +/* 030B0C 8002FF0C 00000000 */ nop +.L8002FF10: +/* 030B10 8002FF10 C7A40000 */ lwc1 $f4, ($sp) +/* 030B14 8002FF14 C7A60004 */ lwc1 $f6, 4($sp) +/* 030B18 8002FF18 4602203E */ c.le.s $f4, $f2 +/* 030B1C 8002FF1C 00000000 */ nop +/* 030B20 8002FF20 45000010 */ bc1f .L8002FF64 +/* 030B24 8002FF24 00001025 */ move $v0, $zero +/* 030B28 8002FF28 460C303E */ c.le.s $f6, $f12 +/* 030B2C 8002FF2C C7A80008 */ lwc1 $f8, 8($sp) +/* 030B30 8002FF30 4500000C */ bc1f .L8002FF64 +/* 030B34 8002FF34 00001025 */ move $v0, $zero +/* 030B38 8002FF38 4608003E */ c.le.s $f0, $f8 +/* 030B3C 8002FF3C C7AA000C */ lwc1 $f10, 0xc($sp) +/* 030B40 8002FF40 45000008 */ bc1f .L8002FF64 +/* 030B44 8002FF44 00001025 */ move $v0, $zero +/* 030B48 8002FF48 460A703E */ c.le.s $f14, $f10 +/* 030B4C 8002FF4C 00000000 */ nop +/* 030B50 8002FF50 45000004 */ bc1f .L8002FF64 +/* 030B54 8002FF54 00001025 */ move $v0, $zero +/* 030B58 8002FF58 03E00008 */ jr $ra +/* 030B5C 8002FF5C 2402FFFF */ li $v0, -1 + +.L8002FF60: +/* 030B60 8002FF60 00001025 */ move $v0, $zero +.L8002FF64: +/* 030B64 8002FF64 03E00008 */ jr $ra +/* 030B68 8002FF68 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8002FF6C.s b/asm/non_matchings/unknown_0255E0/func_8002FF6C.s new file mode 100644 index 00000000..6c7c6bb1 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002FF6C.s @@ -0,0 +1,369 @@ +glabel func_8002FF6C +/* 030B6C 8002FF6C 27BDFEA0 */ addiu $sp, $sp, -0x160 +/* 030B70 8002FF70 AFBF0054 */ sw $ra, 0x54($sp) +/* 030B74 8002FF74 AFB3003C */ sw $s3, 0x3c($sp) +/* 030B78 8002FF78 AFB20038 */ sw $s2, 0x38($sp) +/* 030B7C 8002FF7C AFB00030 */ sw $s0, 0x30($sp) +/* 030B80 8002FF80 00C0F825 */ move $ra, $a2 +/* 030B84 8002FF84 AFBE0050 */ sw $fp, 0x50($sp) +/* 030B88 8002FF88 AFB7004C */ sw $s7, 0x4c($sp) +/* 030B8C 8002FF8C AFB60048 */ sw $s6, 0x48($sp) +/* 030B90 8002FF90 AFB50044 */ sw $s5, 0x44($sp) +/* 030B94 8002FF94 AFB40040 */ sw $s4, 0x40($sp) +/* 030B98 8002FF98 AFB10034 */ sw $s1, 0x34($sp) +/* 030B9C 8002FF9C E7BD0028 */ swc1 $f29, 0x28($sp) +/* 030BA0 8002FFA0 E7BC002C */ swc1 $f28, 0x2c($sp) +/* 030BA4 8002FFA4 E7BB0020 */ swc1 $f27, 0x20($sp) +/* 030BA8 8002FFA8 E7BA0024 */ swc1 $f26, 0x24($sp) +/* 030BAC 8002FFAC E7B90018 */ swc1 $f25, 0x18($sp) +/* 030BB0 8002FFB0 E7B8001C */ swc1 $f24, 0x1c($sp) +/* 030BB4 8002FFB4 E7B70010 */ swc1 $f23, 0x10($sp) +/* 030BB8 8002FFB8 E7B60014 */ swc1 $f22, 0x14($sp) +/* 030BBC 8002FFBC E7B50008 */ swc1 $f21, 8($sp) +/* 030BC0 8002FFC0 E7B4000C */ swc1 $f20, 0xc($sp) +/* 030BC4 8002FFC4 AFA7016C */ sw $a3, 0x16c($sp) +/* 030BC8 8002FFC8 00A09825 */ move $s3, $a1 +/* 030BCC 8002FFCC 27B000E0 */ addiu $s0, $sp, 0xe0 +/* 030BD0 8002FFD0 00809025 */ move $s2, $a0 +/* 030BD4 8002FFD4 00006825 */ move $t5, $zero +/* 030BD8 8002FFD8 18C000DF */ blez $a2, .L80030358 +/* 030BDC 8002FFDC AFA50164 */ sw $a1, 0x164($sp) +/* 030BE0 8002FFE0 28810003 */ slti $at, $a0, 3 +/* 030BE4 8002FFE4 142000DC */ bnez $at, .L80030358 +/* 030BE8 8002FFE8 AFA50164 */ sw $a1, 0x164($sp) +/* 030BEC 8002FFEC 000078C0 */ sll $t7, $zero, 3 +/* 030BF0 8002FFF0 3C168012 */ lui $s6, %hi(D_8011D0BC) # $s6, 0x8012 +/* 030BF4 8002FFF4 3C148012 */ lui $s4, %hi(D_8011B320) # $s4, 0x8012 +/* 030BF8 8002FFF8 3C118012 */ lui $s1, %hi(D_8011B330) # $s1, 0x8012 +/* 030BFC 8002FFFC 44800000 */ mtc1 $zero, $f0 +/* 030C00 80030000 2631B330 */ addiu $s1, %lo(D_8011B330) # addiu $s1, $s1, -0x4cd0 +/* 030C04 80030004 2694B320 */ addiu $s4, %lo(D_8011B320) # addiu $s4, $s4, -0x4ce0 +/* 030C08 80030008 26D6D0BC */ addiu $s6, %lo(D_8011D0BC) # addiu $s6, $s6, -0x2f44 +/* 030C0C 8003000C 00EFB821 */ addu $s7, $a3, $t7 +/* 030C10 80030010 AFA50164 */ sw $a1, 0x164($sp) +/* 030C14 80030014 2415001F */ li $s5, 31 +/* 030C18 80030018 25BE0001 */ addiu $fp, $t5, 1 +.L8003001C: +/* 030C1C 8003001C 03DF082A */ slt $at, $fp, $ra +/* 030C20 80030020 03C01825 */ move $v1, $fp +/* 030C24 80030024 00001025 */ move $v0, $zero +/* 030C28 80030028 14200002 */ bnez $at, .L80030034 +/* 030C2C 8003002C 00005025 */ move $t2, $zero +/* 030C30 80030030 00001825 */ move $v1, $zero +.L80030034: +/* 030C34 80030034 8FB8016C */ lw $t8, 0x16c($sp) +/* 030C38 80030038 0003C8C0 */ sll $t9, $v1, 3 +/* 030C3C 8003003C 03192021 */ addu $a0, $t8, $t9 +/* 030C40 80030040 C4940000 */ lwc1 $f20, ($a0) +/* 030C44 80030044 C6F60000 */ lwc1 $f22, ($s7) +/* 030C48 80030048 C4900004 */ lwc1 $f16, 4($a0) +/* 030C4C 8003004C C6F20004 */ lwc1 $f18, 4($s7) +/* 030C50 80030050 4614B03C */ c.lt.s $f22, $f20 +/* 030C54 80030054 4616A381 */ sub.s $f14, $f20, $f22 +/* 030C58 80030058 02604825 */ move $t1, $s3 +/* 030C5C 8003005C 46007387 */ neg.s $f14, $f14 +/* 030C60 80030060 45000007 */ bc1f .L80030080 +/* 030C64 80030064 46128301 */ sub.s $f12, $f16, $f18 +/* 030C68 80030068 460E9102 */ mul.s $f4, $f18, $f14 +/* 030C6C 8003006C 00000000 */ nop +/* 030C70 80030070 46166182 */ mul.s $f6, $f12, $f22 +/* 030C74 80030074 46062080 */ add.s $f2, $f4, $f6 +/* 030C78 80030078 10000006 */ b .L80030094 +/* 030C7C 8003007C 46001087 */ neg.s $f2, $f2 +.L80030080: +/* 030C80 80030080 460E8202 */ mul.s $f8, $f16, $f14 +/* 030C84 80030084 00000000 */ nop +/* 030C88 80030088 46146282 */ mul.s $f10, $f12, $f20 +/* 030C8C 8003008C 460A4080 */ add.s $f2, $f8, $f10 +/* 030C90 80030090 46001087 */ neg.s $f2, $f2 +.L80030094: +/* 030C94 80030094 1A4000A5 */ blez $s2, .L8003032C +.L80030098: +/* 030C98 80030098 244C0001 */ addiu $t4, $v0, 1 +/* 030C9C 8003009C 0192082A */ slt $at, $t4, $s2 +/* 030CA0 800300A0 14200002 */ bnez $at, .L800300AC +/* 030CA4 800300A4 01801825 */ move $v1, $t4 +/* 030CA8 800300A8 00001825 */ move $v1, $zero +.L800300AC: +/* 030CAC 800300AC C5320008 */ lwc1 $f18, 8($t1) +/* 030CB0 800300B0 C5340000 */ lwc1 $f20, ($t1) +/* 030CB4 800300B4 460E9102 */ mul.s $f4, $f18, $f14 +/* 030CB8 800300B8 00037100 */ sll $t6, $v1, 4 +/* 030CBC 800300BC 026E3821 */ addu $a3, $s3, $t6 +/* 030CC0 800300C0 C4F80008 */ lwc1 $f24, 8($a3) +/* 030CC4 800300C4 46146182 */ mul.s $f6, $f12, $f20 +/* 030CC8 800300C8 C4FA0000 */ lwc1 $f26, ($a3) +/* 030CCC 800300CC 460EC282 */ mul.s $f10, $f24, $f14 +/* 030CD0 800300D0 46062200 */ add.s $f8, $f4, $f6 +/* 030CD4 800300D4 461A6102 */ mul.s $f4, $f12, $f26 +/* 030CD8 800300D8 46024400 */ add.s $f16, $f8, $f2 +/* 030CDC 800300DC 4610003E */ c.le.s $f0, $f16 +/* 030CE0 800300E0 46045180 */ add.s $f6, $f10, $f4 +/* 030CE4 800300E4 45000005 */ bc1f .L800300FC +/* 030CE8 800300E8 46023580 */ add.s $f22, $f6, $f2 +/* 030CEC 800300EC 4600B03C */ c.lt.s $f22, $f0 +/* 030CF0 800300F0 00000000 */ nop +/* 030CF4 800300F4 45010009 */ bc1t .L8003011C +/* 030CF8 800300F8 000D7880 */ sll $t7, $t5, 2 +.L800300FC: +/* 030CFC 800300FC 4600803C */ c.lt.s $f16, $f0 +/* 030D00 80030100 00000000 */ nop +/* 030D04 80030104 4500007A */ bc1f .L800302F0 +/* 030D08 80030108 00000000 */ nop +/* 030D0C 8003010C 4616003E */ c.le.s $f0, $f22 +/* 030D10 80030110 00000000 */ nop +/* 030D14 80030114 45000076 */ bc1f .L800302F0 +/* 030D18 80030118 000D7880 */ sll $t7, $t5, 2 +.L8003011C: +/* 030D1C 8003011C 028F4021 */ addu $t0, $s4, $t7 +/* 030D20 80030120 8D040000 */ lw $a0, ($t0) +/* 030D24 80030124 000D5940 */ sll $t3, $t5, 5 +/* 030D28 80030128 000AC100 */ sll $t8, $t2, 4 +/* 030D2C 8003012C 2405FFFF */ li $a1, -1 +/* 030D30 80030130 01601825 */ move $v1, $t3 +/* 030D34 80030134 18800039 */ blez $a0, .L8003021C +/* 030D38 80030138 02183021 */ addu $a2, $s0, $t8 +/* 030D3C 8003013C 0003C940 */ sll $t9, $v1, 5 +/* 030D40 80030140 02391021 */ addu $v0, $s1, $t9 +.L80030144: +/* 030D44 80030144 C45C0010 */ lwc1 $f28, 0x10($v0) +/* 030D48 80030148 2484FFFF */ addiu $a0, $a0, -1 +/* 030D4C 8003014C 4614E032 */ c.eq.s $f28, $f20 +/* 030D50 80030150 00000000 */ nop +/* 030D54 80030154 45000015 */ bc1f .L800301AC +/* 030D58 80030158 00000000 */ nop +/* 030D5C 8003015C C4480014 */ lwc1 $f8, 0x14($v0) +/* 030D60 80030160 00000000 */ nop +/* 030D64 80030164 46124032 */ c.eq.s $f8, $f18 +/* 030D68 80030168 00000000 */ nop +/* 030D6C 8003016C 4500000F */ bc1f .L800301AC +/* 030D70 80030170 00000000 */ nop +/* 030D74 80030174 C44A0018 */ lwc1 $f10, 0x18($v0) +/* 030D78 80030178 00000000 */ nop +/* 030D7C 8003017C 461A5032 */ c.eq.s $f10, $f26 +/* 030D80 80030180 00000000 */ nop +/* 030D84 80030184 45000009 */ bc1f .L800301AC +/* 030D88 80030188 00000000 */ nop +/* 030D8C 8003018C C444001C */ lwc1 $f4, 0x1c($v0) +/* 030D90 80030190 00000000 */ nop +/* 030D94 80030194 46182032 */ c.eq.s $f4, $f24 +/* 030D98 80030198 00000000 */ nop +/* 030D9C 8003019C 45000003 */ bc1f .L800301AC +/* 030DA0 800301A0 00000000 */ nop +/* 030DA4 800301A4 10000018 */ b .L80030208 +/* 030DA8 800301A8 00602825 */ move $a1, $v1 +.L800301AC: +/* 030DAC 800301AC 461AE032 */ c.eq.s $f28, $f26 +/* 030DB0 800301B0 00000000 */ nop +/* 030DB4 800301B4 45000014 */ bc1f .L80030208 +/* 030DB8 800301B8 00000000 */ nop +/* 030DBC 800301BC C4460014 */ lwc1 $f6, 0x14($v0) +/* 030DC0 800301C0 00000000 */ nop +/* 030DC4 800301C4 46183032 */ c.eq.s $f6, $f24 +/* 030DC8 800301C8 00000000 */ nop +/* 030DCC 800301CC 4500000E */ bc1f .L80030208 +/* 030DD0 800301D0 00000000 */ nop +/* 030DD4 800301D4 C4480018 */ lwc1 $f8, 0x18($v0) +/* 030DD8 800301D8 00000000 */ nop +/* 030DDC 800301DC 46144032 */ c.eq.s $f8, $f20 +/* 030DE0 800301E0 00000000 */ nop +/* 030DE4 800301E4 45000008 */ bc1f .L80030208 +/* 030DE8 800301E8 00000000 */ nop +/* 030DEC 800301EC C44A001C */ lwc1 $f10, 0x1c($v0) +/* 030DF0 800301F0 00000000 */ nop +/* 030DF4 800301F4 46125032 */ c.eq.s $f10, $f18 +/* 030DF8 800301F8 00000000 */ nop +/* 030DFC 800301FC 45000002 */ bc1f .L80030208 +/* 030E00 80030200 00000000 */ nop +/* 030E04 80030204 00602825 */ move $a1, $v1 +.L80030208: +/* 030E08 80030208 24630001 */ addiu $v1, $v1, 1 +/* 030E0C 8003020C 18800003 */ blez $a0, .L8003021C +/* 030E10 80030210 24420020 */ addiu $v0, $v0, 0x20 +/* 030E14 80030214 04A0FFCB */ bltz $a1, .L80030144 +/* 030E18 80030218 00000000 */ nop +.L8003021C: +/* 030E1C 8003021C 04A00009 */ bltz $a1, .L80030244 +/* 030E20 80030220 00057140 */ sll $t6, $a1, 5 +/* 030E24 80030224 A4C5000E */ sh $a1, 0xe($a2) +/* 030E28 80030228 022E1021 */ addu $v0, $s1, $t6 +/* 030E2C 8003022C C4440000 */ lwc1 $f4, ($v0) +/* 030E30 80030230 254A0001 */ addiu $t2, $t2, 1 +/* 030E34 80030234 E4C40000 */ swc1 $f4, ($a2) +/* 030E38 80030238 C4460008 */ lwc1 $f6, 8($v0) +/* 030E3C 8003023C 1000002C */ b .L800302F0 +/* 030E40 80030240 E4C60008 */ swc1 $f6, 8($a2) +.L80030244: +/* 030E44 80030244 46168201 */ sub.s $f8, $f16, $f22 +/* 030E48 80030248 00000000 */ nop +/* 030E4C 8003024C 46088603 */ div.s $f24, $f16, $f8 +/* 030E50 80030250 4614D281 */ sub.s $f10, $f26, $f20 +/* 030E54 80030254 46185102 */ mul.s $f4, $f10, $f24 +/* 030E58 80030258 46142180 */ add.s $f6, $f4, $f20 +/* 030E5C 8003025C E4C60000 */ swc1 $f6, ($a2) +/* 030E60 80030260 C4E80008 */ lwc1 $f8, 8($a3) +/* 030E64 80030264 C5320008 */ lwc1 $f18, 8($t1) +/* 030E68 80030268 00000000 */ nop +/* 030E6C 8003026C 46124281 */ sub.s $f10, $f8, $f18 +/* 030E70 80030270 46185102 */ mul.s $f4, $f10, $f24 +/* 030E74 80030274 46122180 */ add.s $f6, $f4, $f18 +/* 030E78 80030278 E4C60008 */ swc1 $f6, 8($a2) +/* 030E7C 8003027C 8D040000 */ lw $a0, ($t0) +/* 030E80 80030280 00000000 */ nop +/* 030E84 80030284 28810020 */ slti $at, $a0, 0x20 +/* 030E88 80030288 14200004 */ bnez $at, .L8003029C +/* 030E8C 8003028C 008B1821 */ addu $v1, $a0, $t3 +/* 030E90 80030290 AD150000 */ sw $s5, ($t0) +/* 030E94 80030294 02A02025 */ move $a0, $s5 +/* 030E98 80030298 008B1821 */ addu $v1, $a0, $t3 +.L8003029C: +/* 030E9C 8003029C C5280000 */ lwc1 $f8, ($t1) +/* 030EA0 800302A0 00037940 */ sll $t7, $v1, 5 +/* 030EA4 800302A4 022F1021 */ addu $v0, $s1, $t7 +/* 030EA8 800302A8 E4480010 */ swc1 $f8, 0x10($v0) +/* 030EAC 800302AC C52A0008 */ lwc1 $f10, 8($t1) +/* 030EB0 800302B0 8ED80000 */ lw $t8, ($s6) +/* 030EB4 800302B4 E44A0014 */ swc1 $f10, 0x14($v0) +/* 030EB8 800302B8 C4E40000 */ lwc1 $f4, ($a3) +/* 030EBC 800302BC 24990001 */ addiu $t9, $a0, 1 +/* 030EC0 800302C0 E4440018 */ swc1 $f4, 0x18($v0) +/* 030EC4 800302C4 C4E60008 */ lwc1 $f6, 8($a3) +/* 030EC8 800302C8 254A0001 */ addiu $t2, $t2, 1 +/* 030ECC 800302CC E446001C */ swc1 $f6, 0x1c($v0) +/* 030ED0 800302D0 C4C80000 */ lwc1 $f8, ($a2) +/* 030ED4 800302D4 00000000 */ nop +/* 030ED8 800302D8 E4480000 */ swc1 $f8, ($v0) +/* 030EDC 800302DC C4CA0008 */ lwc1 $f10, 8($a2) +/* 030EE0 800302E0 AD190000 */ sw $t9, ($t0) +/* 030EE4 800302E4 AC58000C */ sw $t8, 0xc($v0) +/* 030EE8 800302E8 E44A0008 */ swc1 $f10, 8($v0) +/* 030EEC 800302EC A4C3000E */ sh $v1, 0xe($a2) +.L800302F0: +/* 030EF0 800302F0 4600B03E */ c.le.s $f22, $f0 +/* 030EF4 800302F4 01801025 */ move $v0, $t4 +/* 030EF8 800302F8 4500000A */ bc1f .L80030324 +/* 030EFC 800302FC 000A7100 */ sll $t6, $t2, 4 +/* 030F00 80030300 84EF000E */ lh $t7, 0xe($a3) +/* 030F04 80030304 020E3021 */ addu $a2, $s0, $t6 +/* 030F08 80030308 A4CF000E */ sh $t7, 0xe($a2) +/* 030F0C 8003030C C4E40000 */ lwc1 $f4, ($a3) +/* 030F10 80030310 254A0001 */ addiu $t2, $t2, 1 +/* 030F14 80030314 E4C40000 */ swc1 $f4, ($a2) +/* 030F18 80030318 C4E60008 */ lwc1 $f6, 8($a3) +/* 030F1C 8003031C 00000000 */ nop +/* 030F20 80030320 E4C60008 */ swc1 $f6, 8($a2) +.L80030324: +/* 030F24 80030324 1592FF5C */ bne $t4, $s2, .L80030098 +/* 030F28 80030328 25290010 */ addiu $t1, $t1, 0x10 +.L8003032C: +/* 030F2C 8003032C 02601025 */ move $v0, $s3 +/* 030F30 80030330 02009825 */ move $s3, $s0 +/* 030F34 80030334 03DF082A */ slt $at, $fp, $ra +/* 030F38 80030338 01409025 */ move $s2, $t2 +/* 030F3C 8003033C 03C06825 */ move $t5, $fp +/* 030F40 80030340 26F70008 */ addiu $s7, $s7, 8 +/* 030F44 80030344 10200004 */ beqz $at, .L80030358 +/* 030F48 80030348 00408025 */ move $s0, $v0 +/* 030F4C 8003034C 29410003 */ slti $at, $t2, 3 +/* 030F50 80030350 1020FF32 */ beqz $at, .L8003001C +/* 030F54 80030354 25BE0001 */ addiu $fp, $t5, 1 +.L80030358: +/* 030F58 80030358 8FA50164 */ lw $a1, 0x164($sp) +/* 030F5C 8003035C 2A410003 */ slti $at, $s2, 3 +/* 030F60 80030360 14200041 */ bnez $at, .L80030468 +/* 030F64 80030364 00000000 */ nop +/* 030F68 80030368 12650041 */ beq $s3, $a1, .L80030470 +/* 030F6C 8003036C 8FBF0054 */ lw $ra, 0x54($sp) +/* 030F70 80030370 1A40003E */ blez $s2, .L8003046C +/* 030F74 80030374 00001025 */ move $v0, $zero +/* 030F78 80030378 32470003 */ andi $a3, $s2, 3 +/* 030F7C 8003037C 10E0000F */ beqz $a3, .L800303BC +/* 030F80 80030380 00E03025 */ move $a2, $a3 +/* 030F84 80030384 00001900 */ sll $v1, $zero, 4 +/* 030F88 80030388 02634821 */ addu $t1, $s3, $v1 +/* 030F8C 8003038C 00A32021 */ addu $a0, $a1, $v1 +.L80030390: +/* 030F90 80030390 C5280000 */ lwc1 $f8, ($t1) +/* 030F94 80030394 24420001 */ addiu $v0, $v0, 1 +/* 030F98 80030398 E4880000 */ swc1 $f8, ($a0) +/* 030F9C 8003039C C52A0008 */ lwc1 $f10, 8($t1) +/* 030FA0 800303A0 25290010 */ addiu $t1, $t1, 0x10 +/* 030FA4 800303A4 E48A0008 */ swc1 $f10, 8($a0) +/* 030FA8 800303A8 8538FFFE */ lh $t8, -2($t1) +/* 030FAC 800303AC 24840010 */ addiu $a0, $a0, 0x10 +/* 030FB0 800303B0 14C2FFF7 */ bne $a2, $v0, .L80030390 +/* 030FB4 800303B4 A498FFFE */ sh $t8, -2($a0) +/* 030FB8 800303B8 1052002C */ beq $v0, $s2, .L8003046C +.L800303BC: +/* 030FBC 800303BC 00021900 */ sll $v1, $v0, 4 +/* 030FC0 800303C0 0012C900 */ sll $t9, $s2, 4 +/* 030FC4 800303C4 03253021 */ addu $a2, $t9, $a1 +/* 030FC8 800303C8 02634821 */ addu $t1, $s3, $v1 +/* 030FCC 800303CC 00A32021 */ addu $a0, $a1, $v1 +.L800303D0: +/* 030FD0 800303D0 C5240000 */ lwc1 $f4, ($t1) +/* 030FD4 800303D4 24840040 */ addiu $a0, $a0, 0x40 +/* 030FD8 800303D8 E484FFC0 */ swc1 $f4, -0x40($a0) +/* 030FDC 800303DC C5260008 */ lwc1 $f6, 8($t1) +/* 030FE0 800303E0 25290040 */ addiu $t1, $t1, 0x40 +/* 030FE4 800303E4 E486FFC8 */ swc1 $f6, -0x38($a0) +/* 030FE8 800303E8 852EFFCE */ lh $t6, -0x32($t1) +/* 030FEC 800303EC 00000000 */ nop +/* 030FF0 800303F0 A48EFFCE */ sh $t6, -0x32($a0) +/* 030FF4 800303F4 C528FFD0 */ lwc1 $f8, -0x30($t1) +/* 030FF8 800303F8 00000000 */ nop +/* 030FFC 800303FC E488FFD0 */ swc1 $f8, -0x30($a0) +/* 031000 80030400 C52AFFD8 */ lwc1 $f10, -0x28($t1) +/* 031004 80030404 00000000 */ nop +/* 031008 80030408 E48AFFD8 */ swc1 $f10, -0x28($a0) +/* 03100C 8003040C 852FFFDE */ lh $t7, -0x22($t1) +/* 031010 80030410 00000000 */ nop +/* 031014 80030414 A48FFFDE */ sh $t7, -0x22($a0) +/* 031018 80030418 C524FFE0 */ lwc1 $f4, -0x20($t1) +/* 03101C 8003041C 00000000 */ nop +/* 031020 80030420 E484FFE0 */ swc1 $f4, -0x20($a0) +/* 031024 80030424 C526FFE8 */ lwc1 $f6, -0x18($t1) +/* 031028 80030428 00000000 */ nop +/* 03102C 8003042C E486FFE8 */ swc1 $f6, -0x18($a0) +/* 031030 80030430 8538FFEE */ lh $t8, -0x12($t1) +/* 031034 80030434 00000000 */ nop +/* 031038 80030438 A498FFEE */ sh $t8, -0x12($a0) +/* 03103C 8003043C C528FFF0 */ lwc1 $f8, -0x10($t1) +/* 031040 80030440 00000000 */ nop +/* 031044 80030444 E488FFF0 */ swc1 $f8, -0x10($a0) +/* 031048 80030448 C52AFFF8 */ lwc1 $f10, -8($t1) +/* 03104C 8003044C 00000000 */ nop +/* 031050 80030450 E48AFFF8 */ swc1 $f10, -8($a0) +/* 031054 80030454 8539FFFE */ lh $t9, -2($t1) +/* 031058 80030458 1486FFDD */ bne $a0, $a2, .L800303D0 +/* 03105C 8003045C A499FFFE */ sh $t9, -2($a0) +/* 031060 80030460 10000003 */ b .L80030470 +/* 031064 80030464 8FBF0054 */ lw $ra, 0x54($sp) +.L80030468: +/* 031068 80030468 00009025 */ move $s2, $zero +.L8003046C: +/* 03106C 8003046C 8FBF0054 */ lw $ra, 0x54($sp) +.L80030470: +/* 031070 80030470 02401025 */ move $v0, $s2 +/* 031074 80030474 8FB20038 */ lw $s2, 0x38($sp) +/* 031078 80030478 C7B50008 */ lwc1 $f21, 8($sp) +/* 03107C 8003047C C7B4000C */ lwc1 $f20, 0xc($sp) +/* 031080 80030480 C7B70010 */ lwc1 $f23, 0x10($sp) +/* 031084 80030484 C7B60014 */ lwc1 $f22, 0x14($sp) +/* 031088 80030488 C7B90018 */ lwc1 $f25, 0x18($sp) +/* 03108C 8003048C C7B8001C */ lwc1 $f24, 0x1c($sp) +/* 031090 80030490 C7BB0020 */ lwc1 $f27, 0x20($sp) +/* 031094 80030494 C7BA0024 */ lwc1 $f26, 0x24($sp) +/* 031098 80030498 C7BD0028 */ lwc1 $f29, 0x28($sp) +/* 03109C 8003049C C7BC002C */ lwc1 $f28, 0x2c($sp) +/* 0310A0 800304A0 8FB00030 */ lw $s0, 0x30($sp) +/* 0310A4 800304A4 8FB10034 */ lw $s1, 0x34($sp) +/* 0310A8 800304A8 8FB3003C */ lw $s3, 0x3c($sp) +/* 0310AC 800304AC 8FB40040 */ lw $s4, 0x40($sp) +/* 0310B0 800304B0 8FB50044 */ lw $s5, 0x44($sp) +/* 0310B4 800304B4 8FB60048 */ lw $s6, 0x48($sp) +/* 0310B8 800304B8 8FB7004C */ lw $s7, 0x4c($sp) +/* 0310BC 800304BC 8FBE0050 */ lw $fp, 0x50($sp) +/* 0310C0 800304C0 03E00008 */ jr $ra +/* 0310C4 800304C4 27BD0160 */ addiu $sp, $sp, 0x160 + diff --git a/asm/non_matchings/unknown_0255E0/func_800304C8.s b/asm/non_matchings/unknown_0255E0/func_800304C8.s new file mode 100644 index 00000000..f8b6f3cd --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800304C8.s @@ -0,0 +1,109 @@ +glabel func_800304C8 +/* 0310C8 800304C8 3C068012 */ lui $a2, %hi(D_8011D0C4) # $a2, 0x8012 +/* 0310CC 800304CC 8CC6D0C4 */ lw $a2, %lo(D_8011D0C4)($a2) +/* 0310D0 800304D0 C48E0000 */ lwc1 $f14, ($a0) +/* 0310D4 800304D4 C4900018 */ lwc1 $f16, 0x18($a0) +/* 0310D8 800304D8 C4920008 */ lwc1 $f18, 8($a0) +/* 0310DC 800304DC C4C0000C */ lwc1 $f0, 0xc($a2) +/* 0310E0 800304E0 C4840010 */ lwc1 $f4, 0x10($a0) +/* 0310E4 800304E4 46128201 */ sub.s $f8, $f16, $f18 +/* 0310E8 800304E8 C4C20014 */ lwc1 $f2, 0x14($a2) +/* 0310EC 800304EC 460E0181 */ sub.s $f6, $f0, $f14 +/* 0310F0 800304F0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0310F4 800304F4 46083282 */ mul.s $f10, $f6, $f8 +/* 0310F8 800304F8 E7A4000C */ swc1 $f4, 0xc($sp) +/* 0310FC 800304FC C7A6000C */ lwc1 $f6, 0xc($sp) +/* 031100 80030500 00001025 */ move $v0, $zero +/* 031104 80030504 46121101 */ sub.s $f4, $f2, $f18 +/* 031108 80030508 00001825 */ move $v1, $zero +/* 03110C 8003050C 460E3201 */ sub.s $f8, $f6, $f14 +/* 031110 80030510 00002825 */ move $a1, $zero +/* 031114 80030514 46082182 */ mul.s $f6, $f4, $f8 +/* 031118 80030518 44802000 */ mtc1 $zero, $f4 +/* 03111C 8003051C 46065301 */ sub.s $f12, $f10, $f6 +/* 031120 80030520 460C203E */ c.le.s $f4, $f12 +/* 031124 80030524 00000000 */ nop +/* 031128 80030528 45000002 */ bc1f .L80030534 +/* 03112C 8003052C 00000000 */ nop +/* 031130 80030530 24020001 */ li $v0, 1 +.L80030534: +/* 031134 80030534 C4880028 */ lwc1 $f8, 0x28($a0) +/* 031138 80030538 C7A6000C */ lwc1 $f6, 0xc($sp) +/* 03113C 8003053C E7A80008 */ swc1 $f8, 8($sp) +/* 031140 80030540 C48A0020 */ lwc1 $f10, 0x20($a0) +/* 031144 80030544 C7A80008 */ lwc1 $f8, 8($sp) +/* 031148 80030548 E7AA0004 */ swc1 $f10, 4($sp) +/* 03114C 8003054C 46060101 */ sub.s $f4, $f0, $f6 +/* 031150 80030550 46104281 */ sub.s $f10, $f8, $f16 +/* 031154 80030554 460A2202 */ mul.s $f8, $f4, $f10 +/* 031158 80030558 C7A40004 */ lwc1 $f4, 4($sp) +/* 03115C 8003055C 00000000 */ nop +/* 031160 80030560 46062281 */ sub.s $f10, $f4, $f6 +/* 031164 80030564 46101101 */ sub.s $f4, $f2, $f16 +/* 031168 80030568 460A2182 */ mul.s $f6, $f4, $f10 +/* 03116C 8003056C 44802000 */ mtc1 $zero, $f4 +/* 031170 80030570 C7AA0004 */ lwc1 $f10, 4($sp) +/* 031174 80030574 46064301 */ sub.s $f12, $f8, $f6 +/* 031178 80030578 C7A60008 */ lwc1 $f6, 8($sp) +/* 03117C 8003057C 460C203E */ c.le.s $f4, $f12 +/* 031180 80030580 00000000 */ nop +/* 031184 80030584 45000002 */ bc1f .L80030590 +/* 031188 80030588 00000000 */ nop +/* 03118C 8003058C 24030001 */ li $v1, 1 +.L80030590: +/* 031190 80030590 14430032 */ bne $v0, $v1, .L8003065C +/* 031194 80030594 00000000 */ nop +/* 031198 80030598 460A0201 */ sub.s $f8, $f0, $f10 +/* 03119C 8003059C 3C028012 */ lui $v0, %hi(D_8011D0BC) # $v0, 0x8012 +/* 0311A0 800305A0 46069101 */ sub.s $f4, $f18, $f6 +/* 0311A4 800305A4 46044202 */ mul.s $f8, $f8, $f4 +/* 0311A8 800305A8 46061101 */ sub.s $f4, $f2, $f6 +/* 0311AC 800305AC 460A7181 */ sub.s $f6, $f14, $f10 +/* 0311B0 800305B0 46062282 */ mul.s $f10, $f4, $f6 +/* 0311B4 800305B4 44802000 */ mtc1 $zero, $f4 +/* 0311B8 800305B8 460A4301 */ sub.s $f12, $f8, $f10 +/* 0311BC 800305BC 460C203E */ c.le.s $f4, $f12 +/* 0311C0 800305C0 00000000 */ nop +/* 0311C4 800305C4 45000002 */ bc1f .L800305D0 +/* 0311C8 800305C8 00000000 */ nop +/* 0311CC 800305CC 24050001 */ li $a1, 1 +.L800305D0: +/* 0311D0 800305D0 14650022 */ bne $v1, $a1, .L8003065C +/* 0311D4 800305D4 00000000 */ nop +/* 0311D8 800305D8 8C42D0BC */ lw $v0, %lo(D_8011D0BC)($v0) +/* 0311DC 800305DC 3C038012 */ lui $v1, %hi(D_8011D0D0) # $v1, 0x8012 +/* 0311E0 800305E0 C4460000 */ lwc1 $f6, ($v0) +/* 0311E4 800305E4 C44A0008 */ lwc1 $f10, 8($v0) +/* 0311E8 800305E8 46003202 */ mul.s $f8, $f6, $f0 +/* 0311EC 800305EC 2463D0D0 */ addiu $v1, %lo(D_8011D0D0) # addiu $v1, $v1, -0x2f30 +/* 0311F0 800305F0 846E0000 */ lh $t6, ($v1) +/* 0311F4 800305F4 46025102 */ mul.s $f4, $f10, $f2 +/* 0311F8 800305F8 C44A000C */ lwc1 $f10, 0xc($v0) +/* 0311FC 800305FC 46044180 */ add.s $f6, $f8, $f4 +/* 031200 80030600 460A3200 */ add.s $f8, $f6, $f10 +/* 031204 80030604 C4460004 */ lwc1 $f6, 4($v0) +/* 031208 80030608 46004107 */ neg.s $f4, $f8 +/* 03120C 8003060C 00000000 */ nop +/* 031210 80030610 46062303 */ div.s $f12, $f4, $f6 +/* 031214 80030614 448E5000 */ mtc1 $t6, $f10 +/* 031218 80030618 00000000 */ nop +/* 03121C 8003061C 46805220 */ cvt.s.w $f8, $f10 +/* 031220 80030620 460C403C */ c.lt.s $f8, $f12 +/* 031224 80030624 00000000 */ nop +/* 031228 80030628 4500000C */ bc1f .L8003065C +/* 03122C 8003062C 00000000 */ nop +/* 031230 80030630 444FF800 */ cfc1 $t7, $31 +/* 031234 80030634 00000000 */ nop +/* 031238 80030638 35E10003 */ ori $at, $t7, 3 +/* 03123C 8003063C 38210002 */ xori $at, $at, 2 +/* 031240 80030640 44C1F800 */ ctc1 $at, $31 +/* 031244 80030644 00000000 */ nop +/* 031248 80030648 46006124 */ cvt.w.s $f4, $f12 +/* 03124C 8003064C 44182000 */ mfc1 $t8, $f4 +/* 031250 80030650 44CFF800 */ ctc1 $t7, $31 +/* 031254 80030654 A4780000 */ sh $t8, ($v1) +/* 031258 80030658 00000000 */ nop +.L8003065C: +/* 03125C 8003065C 03E00008 */ jr $ra +/* 031260 80030660 27BD0040 */ addiu $sp, $sp, 0x40 + diff --git a/asm/non_matchings/unknown_0255E0/func_80030664.s b/asm/non_matchings/unknown_0255E0/func_80030664.s new file mode 100644 index 00000000..5412d972 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80030664.s @@ -0,0 +1,64 @@ +glabel func_80030664 +/* 031264 80030664 00057400 */ sll $t6, $a1, 0x10 +/* 031268 80030668 0006C400 */ sll $t8, $a2, 0x10 +/* 03126C 8003066C 0018CC03 */ sra $t9, $t8, 0x10 +/* 031270 80030670 000E7C03 */ sra $t7, $t6, 0x10 +/* 031274 80030674 AFA50004 */ sw $a1, 4($sp) +/* 031278 80030678 AFA60008 */ sw $a2, 8($sp) +/* 03127C 8003067C AFA7000C */ sw $a3, 0xc($sp) +/* 031280 80030680 30E900FF */ andi $t1, $a3, 0xff +/* 031284 80030684 032F082A */ slt $at, $t9, $t7 +/* 031288 80030688 01203825 */ move $a3, $t1 +/* 03128C 8003068C 03203025 */ move $a2, $t9 +/* 031290 80030690 10200007 */ beqz $at, .L800306B0 +/* 031294 80030694 01E02825 */ move $a1, $t7 +/* 031298 80030698 00192C00 */ sll $a1, $t9, 0x10 +/* 03129C 8003069C 000F3400 */ sll $a2, $t7, 0x10 +/* 0312A0 800306A0 00055403 */ sra $t2, $a1, 0x10 +/* 0312A4 800306A4 00065C03 */ sra $t3, $a2, 0x10 +/* 0312A8 800306A8 01402825 */ move $a1, $t2 +/* 0312AC 800306AC 01603025 */ move $a2, $t3 +.L800306B0: +/* 0312B0 800306B0 28C10400 */ slti $at, $a2, 0x400 +/* 0312B4 800306B4 14200002 */ bnez $at, .L800306C0 +/* 0312B8 800306B8 000468C0 */ sll $t5, $a0, 3 +/* 0312BC 800306BC 240603FF */ li $a2, 1023 +.L800306C0: +/* 0312C0 800306C0 24C2FFFB */ addiu $v0, $a2, -5 +/* 0312C4 800306C4 00A2082A */ slt $at, $a1, $v0 +/* 0312C8 800306C8 14200004 */ bnez $at, .L800306DC +/* 0312CC 800306CC 01A46823 */ subu $t5, $t5, $a0 +/* 0312D0 800306D0 00022C00 */ sll $a1, $v0, 0x10 +/* 0312D4 800306D4 00056403 */ sra $t4, $a1, 0x10 +/* 0312D8 800306D8 01802825 */ move $a1, $t4 +.L800306DC: +/* 0312DC 800306DC 93A30013 */ lbu $v1, 0x13($sp) +/* 0312E0 800306E0 93A80017 */ lbu $t0, 0x17($sp) +/* 0312E4 800306E4 3C0E8012 */ lui $t6, %hi(D_8011D388) # $t6, 0x8012 +/* 0312E8 800306E8 25CED388 */ addiu $t6, %lo(D_8011D388) # addiu $t6, $t6, -0x2c78 +/* 0312EC 800306EC 000D68C0 */ sll $t5, $t5, 3 +/* 0312F0 800306F0 01AE1021 */ addu $v0, $t5, $t6 +/* 0312F4 800306F4 00077C00 */ sll $t7, $a3, 0x10 +/* 0312F8 800306F8 00054C00 */ sll $t1, $a1, 0x10 +/* 0312FC 800306FC 00065400 */ sll $t2, $a2, 0x10 +/* 031300 80030700 0003C400 */ sll $t8, $v1, 0x10 +/* 031304 80030704 0008CC00 */ sll $t9, $t0, 0x10 +/* 031308 80030708 AC400020 */ sw $zero, 0x20($v0) +/* 03130C 8003070C AC400024 */ sw $zero, 0x24($v0) +/* 031310 80030710 AC400014 */ sw $zero, 0x14($v0) +/* 031314 80030714 AC400018 */ sw $zero, 0x18($v0) +/* 031318 80030718 AC40001C */ sw $zero, 0x1c($v0) +/* 03131C 8003071C AC4F0000 */ sw $t7, ($v0) +/* 031320 80030720 AC580004 */ sw $t8, 4($v0) +/* 031324 80030724 AC590008 */ sw $t9, 8($v0) +/* 031328 80030728 AC49000C */ sw $t1, 0xc($v0) +/* 03132C 8003072C AC4A0010 */ sw $t2, 0x10($v0) +/* 031330 80030730 A0470028 */ sb $a3, 0x28($v0) +/* 031334 80030734 A445002C */ sh $a1, 0x2c($v0) +/* 031338 80030738 A446002E */ sh $a2, 0x2e($v0) +/* 03133C 8003073C AC400030 */ sw $zero, 0x30($v0) +/* 031340 80030740 AC400034 */ sw $zero, 0x34($v0) +/* 031344 80030744 A0430029 */ sb $v1, 0x29($v0) +/* 031348 80030748 03E00008 */ jr $ra +/* 03134C 8003074C A048002A */ sb $t0, 0x2a($v0) + diff --git a/asm/non_matchings/unknown_0255E0/func_80030750.s b/asm/non_matchings/unknown_0255E0/func_80030750.s new file mode 100644 index 00000000..3a899f74 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80030750.s @@ -0,0 +1,29 @@ +glabel func_80030750 +/* 031350 80030750 000470C0 */ sll $t6, $a0, 3 +/* 031354 80030754 01C47023 */ subu $t6, $t6, $a0 +/* 031358 80030758 3C0F8012 */ lui $t7, %hi(D_8011D388) # $t7, 0x8012 +/* 03135C 8003075C 25EFD388 */ addiu $t7, %lo(D_8011D388) # addiu $t7, $t7, -0x2c78 +/* 031360 80030760 000E70C0 */ sll $t6, $t6, 3 +/* 031364 80030764 01CF1021 */ addu $v0, $t6, $t7 +/* 031368 80030768 8C58000C */ lw $t8, 0xc($v0) +/* 03136C 8003076C 00000000 */ nop +/* 031370 80030770 0018CC03 */ sra $t9, $t8, 0x10 +/* 031374 80030774 A4B90000 */ sh $t9, ($a1) +/* 031378 80030778 8C480010 */ lw $t0, 0x10($v0) +/* 03137C 8003077C 00000000 */ nop +/* 031380 80030780 00084C03 */ sra $t1, $t0, 0x10 +/* 031384 80030784 A4C90000 */ sh $t1, ($a2) +/* 031388 80030788 8C4A0000 */ lw $t2, ($v0) +/* 03138C 8003078C 00000000 */ nop +/* 031390 80030790 000A5C03 */ sra $t3, $t2, 0x10 +/* 031394 80030794 A0EB0000 */ sb $t3, ($a3) +/* 031398 80030798 8C4C0004 */ lw $t4, 4($v0) +/* 03139C 8003079C 8FAE0010 */ lw $t6, 0x10($sp) +/* 0313A0 800307A0 000C6C03 */ sra $t5, $t4, 0x10 +/* 0313A4 800307A4 A1CD0000 */ sb $t5, ($t6) +/* 0313A8 800307A8 8C4F0008 */ lw $t7, 8($v0) +/* 0313AC 800307AC 8FB90014 */ lw $t9, 0x14($sp) +/* 0313B0 800307B0 000FC403 */ sra $t8, $t7, 0x10 +/* 0313B4 800307B4 03E00008 */ jr $ra +/* 0313B8 800307B8 A3380000 */ sb $t8, ($t9) + diff --git a/asm/non_matchings/unknown_0255E0/func_800307BC.s b/asm/non_matchings/unknown_0255E0/func_800307BC.s new file mode 100644 index 00000000..ab32c316 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800307BC.s @@ -0,0 +1,33 @@ +glabel func_800307BC +/* 0313BC 800307BC 000470C0 */ sll $t6, $a0, 3 +/* 0313C0 800307C0 01C47023 */ subu $t6, $t6, $a0 +/* 0313C4 800307C4 3C0F8012 */ lui $t7, %hi(D_8011D388) # $t7, 0x8012 +/* 0313C8 800307C8 25EFD388 */ addiu $t7, %lo(D_8011D388) # addiu $t7, $t7, -0x2c78 +/* 0313CC 800307CC 000E70C0 */ sll $t6, $t6, 3 +/* 0313D0 800307D0 01CF1021 */ addu $v0, $t6, $t7 +/* 0313D4 800307D4 8C480000 */ lw $t0, ($v0) +/* 0313D8 800307D8 8C4A0004 */ lw $t2, 4($v0) +/* 0313DC 800307DC 8C4C0008 */ lw $t4, 8($v0) +/* 0313E0 800307E0 3C1803FA */ lui $t8, 0x3fa +/* 0313E4 800307E4 3C1903FF */ lui $t9, 0x3ff +/* 0313E8 800307E8 240E03FA */ li $t6, 1018 +/* 0313EC 800307EC 240F03FF */ li $t7, 1023 +/* 0313F0 800307F0 00084C03 */ sra $t1, $t0, 0x10 +/* 0313F4 800307F4 000A5C03 */ sra $t3, $t2, 0x10 +/* 0313F8 800307F8 000C6C03 */ sra $t5, $t4, 0x10 +/* 0313FC 800307FC AC400020 */ sw $zero, 0x20($v0) +/* 031400 80030800 AC400024 */ sw $zero, 0x24($v0) +/* 031404 80030804 AC400014 */ sw $zero, 0x14($v0) +/* 031408 80030808 AC400018 */ sw $zero, 0x18($v0) +/* 03140C 8003080C AC40001C */ sw $zero, 0x1c($v0) +/* 031410 80030810 AC58000C */ sw $t8, 0xc($v0) +/* 031414 80030814 AC590010 */ sw $t9, 0x10($v0) +/* 031418 80030818 A0490028 */ sb $t1, 0x28($v0) +/* 03141C 8003081C A04B0029 */ sb $t3, 0x29($v0) +/* 031420 80030820 A04D002A */ sb $t5, 0x2a($v0) +/* 031424 80030824 A44E002C */ sh $t6, 0x2c($v0) +/* 031428 80030828 A44F002E */ sh $t7, 0x2e($v0) +/* 03142C 8003082C AC400030 */ sw $zero, 0x30($v0) +/* 031430 80030830 03E00008 */ jr $ra +/* 031434 80030834 AC400034 */ sw $zero, 0x34($v0) + diff --git a/asm/non_matchings/unknown_0255E0/func_80030838.s b/asm/non_matchings/unknown_0255E0/func_80030838.s new file mode 100644 index 00000000..895b5764 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80030838.s @@ -0,0 +1,71 @@ +glabel func_80030838 +/* 031438 80030838 00A03025 */ move $a2, $a1 +/* 03143C 8003083C 1880003D */ blez $a0, .L80030934 +/* 031440 80030840 00001025 */ move $v0, $zero +/* 031444 80030844 3C038012 */ lui $v1, %hi(D_8011D388) # $v1, 0x8012 +/* 031448 80030848 2463D388 */ addiu $v1, %lo(D_8011D388) # addiu $v1, $v1, -0x2c78 +.L8003084C: +/* 03144C 8003084C 8C650030 */ lw $a1, 0x30($v1) +/* 031450 80030850 24420001 */ addiu $v0, $v0, 1 +/* 031454 80030854 18A00035 */ blez $a1, .L8003092C +/* 031458 80030858 00C5082A */ slt $at, $a2, $a1 +/* 03145C 8003085C 10200023 */ beqz $at, .L800308EC +/* 031460 80030860 00000000 */ nop +/* 031464 80030864 8C6F0014 */ lw $t7, 0x14($v1) +/* 031468 80030868 8C690018 */ lw $t1, 0x18($v1) +/* 03146C 8003086C 01E60019 */ multu $t7, $a2 +/* 031470 80030870 8C6D001C */ lw $t5, 0x1c($v1) +/* 031474 80030874 8C6E0000 */ lw $t6, ($v1) +/* 031478 80030878 8C680004 */ lw $t0, 4($v1) +/* 03147C 8003087C 8C6C0008 */ lw $t4, 8($v1) +/* 031480 80030880 0000C012 */ mflo $t8 +/* 031484 80030884 01D8C821 */ addu $t9, $t6, $t8 +/* 031488 80030888 AC790000 */ sw $t9, ($v1) +/* 03148C 8003088C 01260019 */ multu $t1, $a2 +/* 031490 80030890 8C790020 */ lw $t9, 0x20($v1) +/* 031494 80030894 8C78000C */ lw $t8, 0xc($v1) +/* 031498 80030898 00005012 */ mflo $t2 +/* 03149C 8003089C 010A5821 */ addu $t3, $t0, $t2 +/* 0314A0 800308A0 AC6B0004 */ sw $t3, 4($v1) +/* 0314A4 800308A4 01A60019 */ multu $t5, $a2 +/* 0314A8 800308A8 8C6B0024 */ lw $t3, 0x24($v1) +/* 0314AC 800308AC 8C6A0010 */ lw $t2, 0x10($v1) +/* 0314B0 800308B0 00007812 */ mflo $t7 +/* 0314B4 800308B4 018F7021 */ addu $t6, $t4, $t7 +/* 0314B8 800308B8 8C6F0030 */ lw $t7, 0x30($v1) +/* 0314BC 800308BC 03260019 */ multu $t9, $a2 +/* 0314C0 800308C0 AC6E0008 */ sw $t6, 8($v1) +/* 0314C4 800308C4 01E67023 */ subu $t6, $t7, $a2 +/* 0314C8 800308C8 AC6E0030 */ sw $t6, 0x30($v1) +/* 0314CC 800308CC 00004812 */ mflo $t1 +/* 0314D0 800308D0 03094021 */ addu $t0, $t8, $t1 +/* 0314D4 800308D4 AC68000C */ sw $t0, 0xc($v1) +/* 0314D8 800308D8 01660019 */ multu $t3, $a2 +/* 0314DC 800308DC 00006812 */ mflo $t5 +/* 0314E0 800308E0 014D6021 */ addu $t4, $t2, $t5 +/* 0314E4 800308E4 10000011 */ b .L8003092C +/* 0314E8 800308E8 AC6C0010 */ sw $t4, 0x10($v1) +.L800308EC: +/* 0314EC 800308EC 90790028 */ lbu $t9, 0x28($v1) +/* 0314F0 800308F0 90690029 */ lbu $t1, 0x29($v1) +/* 0314F4 800308F4 906B002A */ lbu $t3, 0x2a($v1) +/* 0314F8 800308F8 846D002C */ lh $t5, 0x2c($v1) +/* 0314FC 800308FC 846F002E */ lh $t7, 0x2e($v1) +/* 031500 80030900 0019C400 */ sll $t8, $t9, 0x10 +/* 031504 80030904 00094400 */ sll $t0, $t1, 0x10 +/* 031508 80030908 000B5400 */ sll $t2, $t3, 0x10 +/* 03150C 8003090C 000D6400 */ sll $t4, $t5, 0x10 +/* 031510 80030910 000F7400 */ sll $t6, $t7, 0x10 +/* 031514 80030914 AC780000 */ sw $t8, ($v1) +/* 031518 80030918 AC680004 */ sw $t0, 4($v1) +/* 03151C 8003091C AC6A0008 */ sw $t2, 8($v1) +/* 031520 80030920 AC6C000C */ sw $t4, 0xc($v1) +/* 031524 80030924 AC6E0010 */ sw $t6, 0x10($v1) +/* 031528 80030928 AC600030 */ sw $zero, 0x30($v1) +.L8003092C: +/* 03152C 8003092C 1444FFC7 */ bne $v0, $a0, .L8003084C +/* 031530 80030930 24630038 */ addiu $v1, $v1, 0x38 +.L80030934: +/* 031534 80030934 03E00008 */ jr $ra +/* 031538 80030938 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_8003093C.s b/asm/non_matchings/unknown_0255E0/func_8003093C.s new file mode 100644 index 00000000..b3e96f78 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8003093C.s @@ -0,0 +1,84 @@ +glabel func_8003093C +/* 03153C 8003093C 3C098012 */ lui $t1, %hi(D_8011B0A0) # $t1, 0x8012 +/* 031540 80030940 2529B0A0 */ addiu $t1, %lo(D_8011B0A0) # addiu $t1, $t1, -0x4f60 +/* 031544 80030944 8D230000 */ lw $v1, ($t1) +/* 031548 80030948 0004C0C0 */ sll $t8, $a0, 3 +/* 03154C 8003094C 0304C023 */ subu $t8, $t8, $a0 +/* 031550 80030950 3C198012 */ lui $t9, %hi(D_8011D388) # $t9, 0x8012 +/* 031554 80030954 246E0008 */ addiu $t6, $v1, 8 +/* 031558 80030958 AD2E0000 */ sw $t6, ($t1) +/* 03155C 8003095C 2739D388 */ addiu $t9, %lo(D_8011D388) # addiu $t9, $t9, -0x2c78 +/* 031560 80030960 0018C0C0 */ sll $t8, $t8, 3 +/* 031564 80030964 3C0FF800 */ lui $t7, 0xf800 +/* 031568 80030968 03192821 */ addu $a1, $t8, $t9 +/* 03156C 8003096C AC6F0000 */ sw $t7, ($v1) +/* 031570 80030970 8CAA0008 */ lw $t2, 8($a1) +/* 031574 80030974 8CAE0000 */ lw $t6, ($a1) +/* 031578 80030978 000A5C03 */ sra $t3, $t2, 0x10 +/* 03157C 8003097C 316C00FF */ andi $t4, $t3, 0xff +/* 031580 80030980 8CAB0004 */ lw $t3, 4($a1) +/* 031584 80030984 000C6A00 */ sll $t5, $t4, 8 +/* 031588 80030988 000EC403 */ sra $t8, $t6, 0x10 +/* 03158C 8003098C 000B6403 */ sra $t4, $t3, 0x10 +/* 031590 80030990 318E00FF */ andi $t6, $t4, 0xff +/* 031594 80030994 0018CE00 */ sll $t9, $t8, 0x18 +/* 031598 80030998 01B95025 */ or $t2, $t5, $t9 +/* 03159C 8003099C 000E7C00 */ sll $t7, $t6, 0x10 +/* 0315A0 800309A0 014FC025 */ or $t8, $t2, $t7 +/* 0315A4 800309A4 370D00FF */ ori $t5, $t8, 0xff +/* 0315A8 800309A8 AC6D0004 */ sw $t5, 4($v1) +/* 0315AC 800309AC 00601025 */ move $v0, $v1 +/* 0315B0 800309B0 8D230000 */ lw $v1, ($t1) +/* 0315B4 800309B4 3C0BBC00 */ lui $t3, (0xBC000008 >> 16) # lui $t3, 0xbc00 +/* 0315B8 800309B8 24790008 */ addiu $t9, $v1, 8 +/* 0315BC 800309BC AD390000 */ sw $t9, ($t1) +/* 0315C0 800309C0 356B0008 */ ori $t3, (0xBC000008 & 0xFFFF) # ori $t3, $t3, 8 +/* 0315C4 800309C4 AC6B0000 */ sw $t3, ($v1) +/* 0315C8 800309C8 8CA7000C */ lw $a3, 0xc($a1) +/* 0315CC 800309CC 8CAE0010 */ lw $t6, 0x10($a1) +/* 0315D0 800309D0 00076403 */ sra $t4, $a3, 0x10 +/* 0315D4 800309D4 000C7823 */ negu $t7, $t4 +/* 0315D8 800309D8 3C010001 */ lui $at, (0x0001F400 >> 16) # lui $at, 1 +/* 0315DC 800309DC 3421F400 */ ori $at, (0x0001F400 & 0xFFFF) # ori $at, $at, 0xf400 +/* 0315E0 800309E0 000FC200 */ sll $t8, $t7, 8 +/* 0315E4 800309E4 000E5403 */ sra $t2, $t6, 0x10 +/* 0315E8 800309E8 014C4023 */ subu $t0, $t2, $t4 +/* 0315EC 800309EC 03016821 */ addu $t5, $t8, $at +/* 0315F0 800309F0 01A8001A */ div $zero, $t5, $t0 +/* 0315F4 800309F4 01803825 */ move $a3, $t4 +/* 0315F8 800309F8 3C0C0001 */ lui $t4, (0x0001F400 >> 16) # lui $t4, 1 +/* 0315FC 800309FC 358CF400 */ ori $t4, (0x0001F400 & 0xFFFF) # ori $t4, $t4, 0xf400 +/* 031600 80030A00 00603025 */ move $a2, $v1 +/* 031604 80030A04 15000002 */ bnez $t0, .L80030A10 +/* 031608 80030A08 00000000 */ nop +/* 03160C 80030A0C 0007000D */ break 7 +.L80030A10: +/* 031610 80030A10 2401FFFF */ li $at, -1 +/* 031614 80030A14 15010004 */ bne $t0, $at, .L80030A28 +/* 031618 80030A18 3C018000 */ lui $at, 0x8000 +/* 03161C 80030A1C 15A10002 */ bne $t5, $at, .L80030A28 +/* 031620 80030A20 00000000 */ nop +/* 031624 80030A24 0006000D */ break 6 +.L80030A28: +/* 031628 80030A28 0000C812 */ mflo $t9 +/* 03162C 80030A2C 332BFFFF */ andi $t3, $t9, 0xffff +/* 031630 80030A30 00000000 */ nop +/* 031634 80030A34 0188001A */ div $zero, $t4, $t0 +/* 031638 80030A38 15000002 */ bnez $t0, .L80030A44 +/* 03163C 80030A3C 00000000 */ nop +/* 031640 80030A40 0007000D */ break 7 +.L80030A44: +/* 031644 80030A44 2401FFFF */ li $at, -1 +/* 031648 80030A48 15010004 */ bne $t0, $at, .L80030A5C +/* 03164C 80030A4C 3C018000 */ lui $at, 0x8000 +/* 031650 80030A50 15810002 */ bne $t4, $at, .L80030A5C +/* 031654 80030A54 00000000 */ nop +/* 031658 80030A58 0006000D */ break 6 +.L80030A5C: +/* 03165C 80030A5C 00007012 */ mflo $t6 +/* 031660 80030A60 31CAFFFF */ andi $t2, $t6, 0xffff +/* 031664 80030A64 000A7C00 */ sll $t7, $t2, 0x10 +/* 031668 80030A68 016FC025 */ or $t8, $t3, $t7 +/* 03166C 80030A6C 03E00008 */ jr $ra +/* 031670 80030A70 ACD80004 */ sw $t8, 4($a2) + diff --git a/asm/non_matchings/unknown_0255E0/func_80030A74.s b/asm/non_matchings/unknown_0255E0/func_80030A74.s new file mode 100644 index 00000000..6d43db27 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80030A74.s @@ -0,0 +1,241 @@ +glabel func_80030A74 +/* 031674 80030A74 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 031678 80030A78 AFBF0024 */ sw $ra, 0x24($sp) +/* 03167C 80030A7C AFB30020 */ sw $s3, 0x20($sp) +/* 031680 80030A80 AFB2001C */ sw $s2, 0x1c($sp) +/* 031684 80030A84 AFB10018 */ sw $s1, 0x18($sp) +/* 031688 80030A88 AFB00014 */ sw $s0, 0x14($sp) +/* 03168C 80030A8C 8C8B003C */ lw $t3, 0x3c($a0) +/* 031690 80030A90 00808025 */ move $s0, $a0 +/* 031694 80030A94 00009825 */ move $s3, $zero +/* 031698 80030A98 AFA00040 */ sw $zero, 0x40($sp) +/* 03169C 80030A9C 0C019944 */ jal func_80066510 +/* 0316A0 80030AA0 AFAB0044 */ sw $t3, 0x44($sp) +/* 0316A4 80030AA4 8FAB0044 */ lw $t3, 0x44($sp) +/* 0316A8 80030AA8 8FBF0040 */ lw $ra, 0x40($sp) +/* 0316AC 80030AAC 1040000B */ beqz $v0, .L80030ADC +/* 0316B0 80030AB0 27A40074 */ addiu $a0, $sp, 0x74 +/* 0316B4 80030AB4 AFBF0040 */ sw $ra, 0x40($sp) +/* 0316B8 80030AB8 0C01A75F */ jal func_80069D7C +/* 0316BC 80030ABC AFAB0044 */ sw $t3, 0x44($sp) +/* 0316C0 80030AC0 0C019884 */ jal func_80066210 +/* 0316C4 80030AC4 00409825 */ move $s3, $v0 +/* 0316C8 80030AC8 8FAB0044 */ lw $t3, 0x44($sp) +/* 0316CC 80030ACC 8FBF0040 */ lw $ra, 0x40($sp) +/* 0316D0 80030AD0 244E0001 */ addiu $t6, $v0, 1 +/* 0316D4 80030AD4 10000005 */ b .L80030AEC +/* 0316D8 80030AD8 AFAE0074 */ sw $t6, 0x74($sp) +.L80030ADC: +/* 0316DC 80030ADC 0C006E9D */ jal func_8001BA74 +/* 0316E0 80030AE0 AFAB0044 */ sw $t3, 0x44($sp) +/* 0316E4 80030AE4 8FAB0044 */ lw $t3, 0x44($sp) +/* 0316E8 80030AE8 0040F825 */ move $ra, $v0 +.L80030AEC: +/* 0316EC 80030AEC 8FAF0074 */ lw $t7, 0x74($sp) +/* 0316F0 80030AF0 C7AC004C */ lwc1 $f12, 0x4c($sp) +/* 0316F4 80030AF4 19E000B3 */ blez $t7, .L80030DC4 +/* 0316F8 80030AF8 00003025 */ move $a2, $zero +/* 0316FC 80030AFC 3C0C8012 */ lui $t4, %hi(D_8011D388) # $t4, 0x8012 +/* 031700 80030B00 C7A20050 */ lwc1 $f2, 0x50($sp) +/* 031704 80030B04 258CD388 */ addiu $t4, %lo(D_8011D388) # addiu $t4, $t4, -0x2c78 +/* 031708 80030B08 24120044 */ li $s2, 68 +/* 03170C 80030B0C 2411FFFF */ li $s1, -1 +/* 031710 80030B10 240D0038 */ li $t5, 56 +.L80030B14: +/* 031714 80030B14 13E00018 */ beqz $ra, .L80030B78 +/* 031718 80030B18 02205025 */ move $t2, $s1 +/* 03171C 80030B1C 0006C080 */ sll $t8, $a2, 2 +/* 031720 80030B20 03F8C821 */ addu $t9, $ra, $t8 +/* 031724 80030B24 8F240000 */ lw $a0, ($t9) +/* 031728 80030B28 00000000 */ nop +/* 03172C 80030B2C 8C830064 */ lw $v1, 0x64($a0) +/* 031730 80030B30 00000000 */ nop +/* 031734 80030B34 84620000 */ lh $v0, ($v1) +/* 031738 80030B38 00000000 */ nop +/* 03173C 80030B3C 0440001F */ bltz $v0, .L80030BBC +/* 031740 80030B40 28410004 */ slti $at, $v0, 4 +/* 031744 80030B44 1020001D */ beqz $at, .L80030BBC +/* 031748 80030B48 00000000 */ nop +/* 03174C 80030B4C 004D0019 */ multu $v0, $t5 +/* 031750 80030B50 00007012 */ mflo $t6 +/* 031754 80030B54 018E7821 */ addu $t7, $t4, $t6 +/* 031758 80030B58 8DF80034 */ lw $t8, 0x34($t7) +/* 03175C 80030B5C 00000000 */ nop +/* 031760 80030B60 12180016 */ beq $s0, $t8, .L80030BBC +/* 031764 80030B64 00000000 */ nop +/* 031768 80030B68 C482000C */ lwc1 $f2, 0xc($a0) +/* 03176C 80030B6C C48C0014 */ lwc1 $f12, 0x14($a0) +/* 031770 80030B70 10000012 */ b .L80030BBC +/* 031774 80030B74 00405025 */ move $t2, $v0 +.L80030B78: +/* 031778 80030B78 28C10004 */ slti $at, $a2, 4 +/* 03177C 80030B7C 1020000F */ beqz $at, .L80030BBC +/* 031780 80030B80 00000000 */ nop +/* 031784 80030B84 00CD0019 */ multu $a2, $t5 +/* 031788 80030B88 0000C812 */ mflo $t9 +/* 03178C 80030B8C 01997021 */ addu $t6, $t4, $t9 +/* 031790 80030B90 8DCF0034 */ lw $t7, 0x34($t6) +/* 031794 80030B94 00000000 */ nop +/* 031798 80030B98 120F0008 */ beq $s0, $t7, .L80030BBC +/* 03179C 80030B9C 00000000 */ nop +/* 0317A0 80030BA0 00D20019 */ multu $a2, $s2 +/* 0317A4 80030BA4 00C05025 */ move $t2, $a2 +/* 0317A8 80030BA8 0000C012 */ mflo $t8 +/* 0317AC 80030BAC 02781021 */ addu $v0, $s3, $t8 +/* 0317B0 80030BB0 C442000C */ lwc1 $f2, 0xc($v0) +/* 0317B4 80030BB4 C44C0014 */ lwc1 $f12, 0x14($v0) +/* 0317B8 80030BB8 00000000 */ nop +.L80030BBC: +/* 0317BC 80030BBC 1151007C */ beq $t2, $s1, .L80030DB0 +/* 0317C0 80030BC0 8FAE0074 */ lw $t6, 0x74($sp) +/* 0317C4 80030BC4 C604000C */ lwc1 $f4, 0xc($s0) +/* 0317C8 80030BC8 C6060014 */ lwc1 $f6, 0x14($s0) +/* 0317CC 80030BCC 46041081 */ sub.s $f2, $f2, $f4 +/* 0317D0 80030BD0 C6000078 */ lwc1 $f0, 0x78($s0) +/* 0317D4 80030BD4 46021202 */ mul.s $f8, $f2, $f2 +/* 0317D8 80030BD8 46066301 */ sub.s $f12, $f12, $f6 +/* 0317DC 80030BDC 460C6282 */ mul.s $f10, $f12, $f12 +/* 0317E0 80030BE0 460A4400 */ add.s $f16, $f8, $f10 +/* 0317E4 80030BE4 4600803C */ c.lt.s $f16, $f0 +/* 0317E8 80030BE8 00000000 */ nop +/* 0317EC 80030BEC 45000070 */ bc1f .L80030DB0 +/* 0317F0 80030BF0 8FAE0074 */ lw $t6, 0x74($sp) +/* 0317F4 80030BF4 8564000C */ lh $a0, 0xc($t3) +/* 0317F8 80030BF8 8563000E */ lh $v1, 0xe($t3) +/* 0317FC 80030BFC 91670009 */ lbu $a3, 9($t3) +/* 031800 80030C00 9168000A */ lbu $t0, 0xa($t3) +/* 031804 80030C04 9169000B */ lbu $t1, 0xb($t3) +/* 031808 80030C08 85650010 */ lh $a1, 0x10($t3) +/* 03180C 80030C0C 0064082A */ slt $at, $v1, $a0 +/* 031810 80030C10 10200003 */ beqz $at, .L80030C20 +/* 031814 80030C14 00801025 */ move $v0, $a0 +/* 031818 80030C18 00602025 */ move $a0, $v1 +/* 03181C 80030C1C 00401825 */ move $v1, $v0 +.L80030C20: +/* 031820 80030C20 28610400 */ slti $at, $v1, 0x400 +/* 031824 80030C24 14200003 */ bnez $at, .L80030C34 +/* 031828 80030C28 2462FFFB */ addiu $v0, $v1, -5 +/* 03182C 80030C2C 240303FF */ li $v1, 1023 +/* 031830 80030C30 2462FFFB */ addiu $v0, $v1, -5 +.L80030C34: +/* 031834 80030C34 0082082A */ slt $at, $a0, $v0 +/* 031838 80030C38 14200002 */ bnez $at, .L80030C44 +/* 03183C 80030C3C 00000000 */ nop +/* 031840 80030C40 00402025 */ move $a0, $v0 +.L80030C44: +/* 031844 80030C44 014D0019 */ multu $t2, $t5 +/* 031848 80030C48 00077400 */ sll $t6, $a3, 0x10 +/* 03184C 80030C4C 0000C812 */ mflo $t9 +/* 031850 80030C50 01991021 */ addu $v0, $t4, $t9 +/* 031854 80030C54 8C4F0000 */ lw $t7, ($v0) +/* 031858 80030C58 A0470028 */ sb $a3, 0x28($v0) +/* 03185C 80030C5C 01CFC023 */ subu $t8, $t6, $t7 +/* 031860 80030C60 0305001A */ div $zero, $t8, $a1 +/* 031864 80030C64 8C4F0004 */ lw $t7, 4($v0) +/* 031868 80030C68 00087400 */ sll $t6, $t0, 0x10 +/* 03186C 80030C6C A0480029 */ sb $t0, 0x29($v0) +/* 031870 80030C70 A049002A */ sb $t1, 0x2a($v0) +/* 031874 80030C74 A444002C */ sh $a0, 0x2c($v0) +/* 031878 80030C78 A443002E */ sh $v1, 0x2e($v0) +/* 03187C 80030C7C 14A00002 */ bnez $a1, .L80030C88 +/* 031880 80030C80 00000000 */ nop +/* 031884 80030C84 0007000D */ break 7 +.L80030C88: +/* 031888 80030C88 2401FFFF */ li $at, -1 +/* 03188C 80030C8C 14A10004 */ bne $a1, $at, .L80030CA0 +/* 031890 80030C90 3C018000 */ lui $at, 0x8000 +/* 031894 80030C94 17010002 */ bne $t8, $at, .L80030CA0 +/* 031898 80030C98 00000000 */ nop +/* 03189C 80030C9C 0006000D */ break 6 +.L80030CA0: +/* 0318A0 80030CA0 01CFC023 */ subu $t8, $t6, $t7 +/* 0318A4 80030CA4 8C4F0008 */ lw $t7, 8($v0) +/* 0318A8 80030CA8 00097400 */ sll $t6, $t1, 0x10 +/* 0318AC 80030CAC AC450030 */ sw $a1, 0x30($v0) +/* 0318B0 80030CB0 AC500034 */ sw $s0, 0x34($v0) +/* 0318B4 80030CB4 0000C812 */ mflo $t9 +/* 0318B8 80030CB8 AC590014 */ sw $t9, 0x14($v0) +/* 0318BC 80030CBC 00000000 */ nop +/* 0318C0 80030CC0 0305001A */ div $zero, $t8, $a1 +/* 0318C4 80030CC4 14A00002 */ bnez $a1, .L80030CD0 +/* 0318C8 80030CC8 00000000 */ nop +/* 0318CC 80030CCC 0007000D */ break 7 +.L80030CD0: +/* 0318D0 80030CD0 2401FFFF */ li $at, -1 +/* 0318D4 80030CD4 14A10004 */ bne $a1, $at, .L80030CE8 +/* 0318D8 80030CD8 3C018000 */ lui $at, 0x8000 +/* 0318DC 80030CDC 17010002 */ bne $t8, $at, .L80030CE8 +/* 0318E0 80030CE0 00000000 */ nop +/* 0318E4 80030CE4 0006000D */ break 6 +.L80030CE8: +/* 0318E8 80030CE8 01CFC023 */ subu $t8, $t6, $t7 +/* 0318EC 80030CEC 8C4F000C */ lw $t7, 0xc($v0) +/* 0318F0 80030CF0 00047400 */ sll $t6, $a0, 0x10 +/* 0318F4 80030CF4 0000C812 */ mflo $t9 +/* 0318F8 80030CF8 AC590018 */ sw $t9, 0x18($v0) +/* 0318FC 80030CFC 00000000 */ nop +/* 031900 80030D00 0305001A */ div $zero, $t8, $a1 +/* 031904 80030D04 14A00002 */ bnez $a1, .L80030D10 +/* 031908 80030D08 00000000 */ nop +/* 03190C 80030D0C 0007000D */ break 7 +.L80030D10: +/* 031910 80030D10 2401FFFF */ li $at, -1 +/* 031914 80030D14 14A10004 */ bne $a1, $at, .L80030D28 +/* 031918 80030D18 3C018000 */ lui $at, 0x8000 +/* 03191C 80030D1C 17010002 */ bne $t8, $at, .L80030D28 +/* 031920 80030D20 00000000 */ nop +/* 031924 80030D24 0006000D */ break 6 +.L80030D28: +/* 031928 80030D28 01CFC023 */ subu $t8, $t6, $t7 +/* 03192C 80030D2C 8C4F0010 */ lw $t7, 0x10($v0) +/* 031930 80030D30 00037400 */ sll $t6, $v1, 0x10 +/* 031934 80030D34 0000C812 */ mflo $t9 +/* 031938 80030D38 AC59001C */ sw $t9, 0x1c($v0) +/* 03193C 80030D3C 00000000 */ nop +/* 031940 80030D40 0305001A */ div $zero, $t8, $a1 +/* 031944 80030D44 14A00002 */ bnez $a1, .L80030D50 +/* 031948 80030D48 00000000 */ nop +/* 03194C 80030D4C 0007000D */ break 7 +.L80030D50: +/* 031950 80030D50 2401FFFF */ li $at, -1 +/* 031954 80030D54 14A10004 */ bne $a1, $at, .L80030D68 +/* 031958 80030D58 3C018000 */ lui $at, 0x8000 +/* 03195C 80030D5C 17010002 */ bne $t8, $at, .L80030D68 +/* 031960 80030D60 00000000 */ nop +/* 031964 80030D64 0006000D */ break 6 +.L80030D68: +/* 031968 80030D68 01CFC023 */ subu $t8, $t6, $t7 +/* 03196C 80030D6C 0000C812 */ mflo $t9 +/* 031970 80030D70 AC590020 */ sw $t9, 0x20($v0) +/* 031974 80030D74 00000000 */ nop +/* 031978 80030D78 0305001A */ div $zero, $t8, $a1 +/* 03197C 80030D7C 14A00002 */ bnez $a1, .L80030D88 +/* 031980 80030D80 00000000 */ nop +/* 031984 80030D84 0007000D */ break 7 +.L80030D88: +/* 031988 80030D88 2401FFFF */ li $at, -1 +/* 03198C 80030D8C 14A10004 */ bne $a1, $at, .L80030DA0 +/* 031990 80030D90 3C018000 */ lui $at, 0x8000 +/* 031994 80030D94 17010002 */ bne $t8, $at, .L80030DA0 +/* 031998 80030D98 00000000 */ nop +/* 03199C 80030D9C 0006000D */ break 6 +.L80030DA0: +/* 0319A0 80030DA0 0000C812 */ mflo $t9 +/* 0319A4 80030DA4 AC590024 */ sw $t9, 0x24($v0) +/* 0319A8 80030DA8 00000000 */ nop +/* 0319AC 80030DAC 8FAE0074 */ lw $t6, 0x74($sp) +.L80030DB0: +/* 0319B0 80030DB0 24C60001 */ addiu $a2, $a2, 1 +/* 0319B4 80030DB4 14CEFF57 */ bne $a2, $t6, .L80030B14 +/* 0319B8 80030DB8 00000000 */ nop +/* 0319BC 80030DBC E7AC004C */ swc1 $f12, 0x4c($sp) +/* 0319C0 80030DC0 E7A20050 */ swc1 $f2, 0x50($sp) +.L80030DC4: +/* 0319C4 80030DC4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0319C8 80030DC8 8FB00014 */ lw $s0, 0x14($sp) +/* 0319CC 80030DCC 8FB10018 */ lw $s1, 0x18($sp) +/* 0319D0 80030DD0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0319D4 80030DD4 8FB30020 */ lw $s3, 0x20($sp) +/* 0319D8 80030DD8 03E00008 */ jr $ra +/* 0319DC 80030DDC 27BD0080 */ addiu $sp, $sp, 0x80 + diff --git a/asm/non_matchings/unknown_0255E0/func_80030DE0.s b/asm/non_matchings/unknown_0255E0/func_80030DE0.s new file mode 100644 index 00000000..c0f02ec1 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80030DE0.s @@ -0,0 +1,158 @@ +glabel func_80030DE0 +/* 0319E0 80030DE0 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0319E4 80030DE4 AFB1000C */ sw $s1, 0xc($sp) +/* 0319E8 80030DE8 AFB00008 */ sw $s0, 8($sp) +/* 0319EC 80030DEC 8FB00024 */ lw $s0, 0x24($sp) +/* 0319F0 80030DF0 8FB10020 */ lw $s1, 0x20($sp) +/* 0319F4 80030DF4 8FA30028 */ lw $v1, 0x28($sp) +/* 0319F8 80030DF8 0211082A */ slt $at, $s0, $s1 +/* 0319FC 80030DFC 10200004 */ beqz $at, .L80030E10 +/* 031A00 80030E00 000470C0 */ sll $t6, $a0, 3 +/* 031A04 80030E04 02201025 */ move $v0, $s1 +/* 031A08 80030E08 02008825 */ move $s1, $s0 +/* 031A0C 80030E0C 00408025 */ move $s0, $v0 +.L80030E10: +/* 031A10 80030E10 2A010400 */ slti $at, $s0, 0x400 +/* 031A14 80030E14 14200002 */ bnez $at, .L80030E20 +/* 031A18 80030E18 01C47023 */ subu $t6, $t6, $a0 +/* 031A1C 80030E1C 241003FF */ li $s0, 1023 +.L80030E20: +/* 031A20 80030E20 2602FFFB */ addiu $v0, $s0, -5 +/* 031A24 80030E24 0222082A */ slt $at, $s1, $v0 +/* 031A28 80030E28 14200002 */ bnez $at, .L80030E34 +/* 031A2C 80030E2C 000E70C0 */ sll $t6, $t6, 3 +/* 031A30 80030E30 00408825 */ move $s1, $v0 +.L80030E34: +/* 031A34 80030E34 3C0F8012 */ lui $t7, %hi(D_8011D388) # $t7, 0x8012 +/* 031A38 80030E38 25EFD388 */ addiu $t7, %lo(D_8011D388) # addiu $t7, $t7, -0x2c78 +/* 031A3C 80030E3C 01CF1021 */ addu $v0, $t6, $t7 +/* 031A40 80030E40 8C590000 */ lw $t9, ($v0) +/* 031A44 80030E44 0005C400 */ sll $t8, $a1, 0x10 +/* 031A48 80030E48 03194023 */ subu $t0, $t8, $t9 +/* 031A4C 80030E4C 0103001A */ div $zero, $t0, $v1 +/* 031A50 80030E50 8C4B0004 */ lw $t3, 4($v0) +/* 031A54 80030E54 00065400 */ sll $t2, $a2, 0x10 +/* 031A58 80030E58 014B6023 */ subu $t4, $t2, $t3 +/* 031A5C 80030E5C 8C4F0008 */ lw $t7, 8($v0) +/* 031A60 80030E60 00077400 */ sll $t6, $a3, 0x10 +/* 031A64 80030E64 01CFC023 */ subu $t8, $t6, $t7 +/* 031A68 80030E68 A0450028 */ sb $a1, 0x28($v0) +/* 031A6C 80030E6C A0460029 */ sb $a2, 0x29($v0) +/* 031A70 80030E70 A047002A */ sb $a3, 0x2a($v0) +/* 031A74 80030E74 A451002C */ sh $s1, 0x2c($v0) +/* 031A78 80030E78 A450002E */ sh $s0, 0x2e($v0) +/* 031A7C 80030E7C 14600002 */ bnez $v1, .L80030E88 +/* 031A80 80030E80 00000000 */ nop +/* 031A84 80030E84 0007000D */ break 7 +.L80030E88: +/* 031A88 80030E88 2401FFFF */ li $at, -1 +/* 031A8C 80030E8C 14610004 */ bne $v1, $at, .L80030EA0 +/* 031A90 80030E90 3C018000 */ lui $at, 0x8000 +/* 031A94 80030E94 15010002 */ bne $t0, $at, .L80030EA0 +/* 031A98 80030E98 00000000 */ nop +/* 031A9C 80030E9C 0006000D */ break 6 +.L80030EA0: +/* 031AA0 80030EA0 00114400 */ sll $t0, $s1, 0x10 +/* 031AA4 80030EA4 AC430030 */ sw $v1, 0x30($v0) +/* 031AA8 80030EA8 AC400034 */ sw $zero, 0x34($v0) +/* 031AAC 80030EAC 00004812 */ mflo $t1 +/* 031AB0 80030EB0 AC490014 */ sw $t1, 0x14($v0) +/* 031AB4 80030EB4 8C49000C */ lw $t1, 0xc($v0) +/* 031AB8 80030EB8 0183001A */ div $zero, $t4, $v1 +/* 031ABC 80030EBC 01095023 */ subu $t2, $t0, $t1 +/* 031AC0 80030EC0 14600002 */ bnez $v1, .L80030ECC +/* 031AC4 80030EC4 00000000 */ nop +/* 031AC8 80030EC8 0007000D */ break 7 +.L80030ECC: +/* 031ACC 80030ECC 2401FFFF */ li $at, -1 +/* 031AD0 80030ED0 14610004 */ bne $v1, $at, .L80030EE4 +/* 031AD4 80030ED4 3C018000 */ lui $at, 0x8000 +/* 031AD8 80030ED8 15810002 */ bne $t4, $at, .L80030EE4 +/* 031ADC 80030EDC 00000000 */ nop +/* 031AE0 80030EE0 0006000D */ break 6 +.L80030EE4: +/* 031AE4 80030EE4 00106400 */ sll $t4, $s0, 0x10 +/* 031AE8 80030EE8 00006812 */ mflo $t5 +/* 031AEC 80030EEC AC4D0018 */ sw $t5, 0x18($v0) +/* 031AF0 80030EF0 8C4D0010 */ lw $t5, 0x10($v0) +/* 031AF4 80030EF4 0303001A */ div $zero, $t8, $v1 +/* 031AF8 80030EF8 018D7023 */ subu $t6, $t4, $t5 +/* 031AFC 80030EFC 14600002 */ bnez $v1, .L80030F08 +/* 031B00 80030F00 00000000 */ nop +/* 031B04 80030F04 0007000D */ break 7 +.L80030F08: +/* 031B08 80030F08 2401FFFF */ li $at, -1 +/* 031B0C 80030F0C 14610004 */ bne $v1, $at, .L80030F20 +/* 031B10 80030F10 3C018000 */ lui $at, 0x8000 +/* 031B14 80030F14 17010002 */ bne $t8, $at, .L80030F20 +/* 031B18 80030F18 00000000 */ nop +/* 031B1C 80030F1C 0006000D */ break 6 +.L80030F20: +/* 031B20 80030F20 0000C812 */ mflo $t9 +/* 031B24 80030F24 AC59001C */ sw $t9, 0x1c($v0) +/* 031B28 80030F28 00000000 */ nop +/* 031B2C 80030F2C 0143001A */ div $zero, $t2, $v1 +/* 031B30 80030F30 14600002 */ bnez $v1, .L80030F3C +/* 031B34 80030F34 00000000 */ nop +/* 031B38 80030F38 0007000D */ break 7 +.L80030F3C: +/* 031B3C 80030F3C 2401FFFF */ li $at, -1 +/* 031B40 80030F40 14610004 */ bne $v1, $at, .L80030F54 +/* 031B44 80030F44 3C018000 */ lui $at, 0x8000 +/* 031B48 80030F48 15410002 */ bne $t2, $at, .L80030F54 +/* 031B4C 80030F4C 00000000 */ nop +/* 031B50 80030F50 0006000D */ break 6 +.L80030F54: +/* 031B54 80030F54 00005812 */ mflo $t3 +/* 031B58 80030F58 AC4B0020 */ sw $t3, 0x20($v0) +/* 031B5C 80030F5C 00000000 */ nop +/* 031B60 80030F60 01C3001A */ div $zero, $t6, $v1 +/* 031B64 80030F64 14600002 */ bnez $v1, .L80030F70 +/* 031B68 80030F68 00000000 */ nop +/* 031B6C 80030F6C 0007000D */ break 7 +.L80030F70: +/* 031B70 80030F70 2401FFFF */ li $at, -1 +/* 031B74 80030F74 14610004 */ bne $v1, $at, .L80030F88 +/* 031B78 80030F78 3C018000 */ lui $at, 0x8000 +/* 031B7C 80030F7C 15C10002 */ bne $t6, $at, .L80030F88 +/* 031B80 80030F80 00000000 */ nop +/* 031B84 80030F84 0006000D */ break 6 +.L80030F88: +/* 031B88 80030F88 00007812 */ mflo $t7 +/* 031B8C 80030F8C AC4F0024 */ sw $t7, 0x24($v0) +/* 031B90 80030F90 8FB1000C */ lw $s1, 0xc($sp) +/* 031B94 80030F94 8FB00008 */ lw $s0, 8($sp) +/* 031B98 80030F98 03E00008 */ jr $ra +/* 031B9C 80030F9C 27BD0010 */ addiu $sp, $sp, 0x10 + +/* 031BA0 80030FA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 031BA4 80030FA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 031BA8 80030FA8 0C01A748 */ jal func_80069D20 +/* 031BAC 80030FAC 00000000 */ nop +/* 031BB0 80030FB0 3C018012 */ lui $at, %hi(D_8011B0B0) # $at, 0x8012 +/* 031BB4 80030FB4 0C00C406 */ jal func_80031018 +/* 031BB8 80030FB8 AC22B0B0 */ sw $v0, %lo(D_8011B0B0)($at) +/* 031BBC 80030FBC 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012 +/* 031BC0 80030FC0 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98 +/* 031BC4 80030FC4 8C580008 */ lw $t8, 8($v0) +/* 031BC8 80030FC8 8C4E0000 */ lw $t6, ($v0) +/* 031BCC 80030FCC 44988000 */ mtc1 $t8, $f16 +/* 031BD0 80030FD0 448E2000 */ mtc1 $t6, $f4 +/* 031BD4 80030FD4 468084A0 */ cvt.s.w $f18, $f16 +/* 031BD8 80030FD8 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 031BDC 80030FDC 44810000 */ mtc1 $at, $f0 +/* 031BE0 80030FE0 468021A0 */ cvt.s.w $f6, $f4 +/* 031BE4 80030FE4 8C4F0004 */ lw $t7, 4($v0) +/* 031BE8 80030FE8 46009103 */ div.s $f4, $f18, $f0 +/* 031BEC 80030FEC 448F4000 */ mtc1 $t7, $f8 +/* 031BF0 80030FF0 00000000 */ nop +/* 031BF4 80030FF4 468042A0 */ cvt.s.w $f10, $f8 +/* 031BF8 80030FF8 44062000 */ mfc1 $a2, $f4 +/* 031BFC 80030FFC 46005383 */ div.s $f14, $f10, $f0 +/* 031C00 80031000 0C007578 */ jal func_8001D5E0 +/* 031C04 80031004 46003303 */ div.s $f12, $f6, $f0 +/* 031C08 80031008 8FBF0014 */ lw $ra, 0x14($sp) +/* 031C0C 8003100C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 031C10 80031010 03E00008 */ jr $ra +/* 031C14 80031014 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_80031018.s b/asm/non_matchings/unknown_0255E0/func_80031018.s new file mode 100644 index 00000000..96404e99 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031018.s @@ -0,0 +1,72 @@ +glabel func_80031018 +/* 031C18 80031018 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 031C1C 8003101C 44800000 */ mtc1 $zero, $f0 +/* 031C20 80031020 3C01C780 */ li $at, 0xC7800000 # -65536.000000 +/* 031C24 80031024 44812000 */ mtc1 $at, $f4 +/* 031C28 80031028 3C028012 */ lui $v0, %hi(D_8011B0B0) # $v0, 0x8012 +/* 031C2C 8003102C 8C42B0B0 */ lw $v0, %lo(D_8011B0B0)($v0) +/* 031C30 80031030 AFBF0024 */ sw $ra, 0x24($sp) +/* 031C34 80031034 E7A00034 */ swc1 $f0, 0x34($sp) +/* 031C38 80031038 E7A00030 */ swc1 $f0, 0x30($sp) +/* 031C3C 8003103C E7A4002C */ swc1 $f4, 0x2c($sp) +/* 031C40 80031040 844E0004 */ lh $t6, 4($v0) +/* 031C44 80031044 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 031C48 80031048 A7AE003C */ sh $t6, 0x3c($sp) +/* 031C4C 8003104C 844F0002 */ lh $t7, 2($v0) +/* 031C50 80031050 44813000 */ mtc1 $at, $f6 +/* 031C54 80031054 A7AF003A */ sh $t7, 0x3a($sp) +/* 031C58 80031058 84580000 */ lh $t8, ($v0) +/* 031C5C 8003105C 27A40050 */ addiu $a0, $sp, 0x50 +/* 031C60 80031060 27A50038 */ addiu $a1, $sp, 0x38 +/* 031C64 80031064 E7A00044 */ swc1 $f0, 0x44($sp) +/* 031C68 80031068 E7A00048 */ swc1 $f0, 0x48($sp) +/* 031C6C 8003106C E7A0004C */ swc1 $f0, 0x4c($sp) +/* 031C70 80031070 E7A60040 */ swc1 $f6, 0x40($sp) +/* 031C74 80031074 0C01BF0C */ jal func_8006FC30 +/* 031C78 80031078 A7B80038 */ sh $t8, 0x38($sp) +/* 031C7C 8003107C 8FA50034 */ lw $a1, 0x34($sp) +/* 031C80 80031080 8FA60030 */ lw $a2, 0x30($sp) +/* 031C84 80031084 8FA7002C */ lw $a3, 0x2c($sp) +/* 031C88 80031088 27B90034 */ addiu $t9, $sp, 0x34 +/* 031C8C 8003108C 27A80030 */ addiu $t0, $sp, 0x30 +/* 031C90 80031090 27A9002C */ addiu $t1, $sp, 0x2c +/* 031C94 80031094 AFA90018 */ sw $t1, 0x18($sp) +/* 031C98 80031098 AFA80014 */ sw $t0, 0x14($sp) +/* 031C9C 8003109C AFB90010 */ sw $t9, 0x10($sp) +/* 031CA0 800310A0 0C01BD93 */ jal func_8006F64C +/* 031CA4 800310A4 27A40050 */ addiu $a0, $sp, 0x50 +/* 031CA8 800310A8 444AF800 */ cfc1 $t2, $31 +/* 031CAC 800310AC C7A80034 */ lwc1 $f8, 0x34($sp) +/* 031CB0 800310B0 35410003 */ ori $at, $t2, 3 +/* 031CB4 800310B4 38210002 */ xori $at, $at, 2 +/* 031CB8 800310B8 44C1F800 */ ctc1 $at, $31 +/* 031CBC 800310BC C7B00030 */ lwc1 $f16, 0x30($sp) +/* 031CC0 800310C0 460042A4 */ cvt.w.s $f10, $f8 +/* 031CC4 800310C4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 031CC8 800310C8 44CAF800 */ ctc1 $t2, $31 +/* 031CCC 800310CC 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012 +/* 031CD0 800310D0 440B5000 */ mfc1 $t3, $f10 +/* 031CD4 800310D4 444CF800 */ cfc1 $t4, $31 +/* 031CD8 800310D8 8FBF0024 */ lw $ra, 0x24($sp) +/* 031CDC 800310DC 35810003 */ ori $at, $t4, 3 +/* 031CE0 800310E0 38210002 */ xori $at, $at, 2 +/* 031CE4 800310E4 44C1F800 */ ctc1 $at, $31 +/* 031CE8 800310E8 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98 +/* 031CEC 800310EC 460084A4 */ cvt.w.s $f18, $f16 +/* 031CF0 800310F0 27BD0090 */ addiu $sp, $sp, 0x90 +/* 031CF4 800310F4 44CCF800 */ ctc1 $t4, $31 +/* 031CF8 800310F8 440D9000 */ mfc1 $t5, $f18 +/* 031CFC 800310FC AC4B0000 */ sw $t3, ($v0) +/* 031D00 80031100 444EF800 */ cfc1 $t6, $31 +/* 031D04 80031104 AC4D0004 */ sw $t5, 4($v0) +/* 031D08 80031108 35C10003 */ ori $at, $t6, 3 +/* 031D0C 8003110C 38210002 */ xori $at, $at, 2 +/* 031D10 80031110 44C1F800 */ ctc1 $at, $31 +/* 031D14 80031114 00000000 */ nop +/* 031D18 80031118 460021A4 */ cvt.w.s $f6, $f4 +/* 031D1C 8003111C 440F3000 */ mfc1 $t7, $f6 +/* 031D20 80031120 44CEF800 */ ctc1 $t6, $31 +/* 031D24 80031124 03E00008 */ jr $ra +/* 031D28 80031128 AC4F0008 */ sw $t7, 8($v0) + +/* 031D2C 8003112C 00000000 */ nop diff --git a/asm/non_matchings/unknown_0255E0/func_80031130.s b/asm/non_matchings/unknown_0255E0/func_80031130.s new file mode 100644 index 00000000..3db8cfdf --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031130.s @@ -0,0 +1,265 @@ +glabel func_80031130 +/* 031D30 80031130 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 031D34 80031134 3C080001 */ lui $t0, (0x000186A0 >> 16) # lui $t0, 1 +/* 031D38 80031138 3C09FFFE */ lui $t1, %hi(D_FFFDFFFB) # $t1, 0xfffe +/* 031D3C 8003113C AFB6002C */ sw $s6, 0x2c($sp) +/* 031D40 80031140 AFB50028 */ sw $s5, 0x28($sp) +/* 031D44 80031144 AFB40024 */ sw $s4, 0x24($sp) +/* 031D48 80031148 AFB30020 */ sw $s3, 0x20($sp) +/* 031D4C 8003114C AFB2001C */ sw $s2, 0x1c($sp) +/* 031D50 80031150 350886A0 */ ori $t0, (0x000186A0 & 0xFFFF) # ori $t0, $t0, 0x86a0 +/* 031D54 80031154 35297960 */ ori $t1, (0xFFFE7960 & 0xFFFF) # ori $t1, $t1, 0x7960 +/* 031D58 80031158 AFBF0030 */ sw $ra, 0x30($sp) +/* 031D5C 8003115C AFB10018 */ sw $s1, 0x18($sp) +/* 031D60 80031160 AFB00014 */ sw $s0, 0x14($sp) +/* 031D64 80031164 0100A825 */ move $s5, $t0 +/* 031D68 80031168 0120A025 */ move $s4, $t1 +/* 031D6C 8003116C 01009825 */ move $s3, $t0 +/* 031D70 80031170 01209025 */ move $s2, $t1 +/* 031D74 80031174 10800035 */ beqz $a0, .L8003124C +/* 031D78 80031178 00E0B025 */ move $s6, $a3 +/* 031D7C 8003117C 000440C0 */ sll $t0, $a0, 3 +/* 031D80 80031180 00044880 */ sll $t1, $a0, 2 +/* 031D84 80031184 01092020 */ add $a0, $t0, $t1 +/* 031D88 80031188 00852020 */ add $a0, $a0, $a1 +.L8003118C: +/* 031D8C 8003118C C4A00000 */ lwc1 $f0, ($a1) +/* 031D90 80031190 C4A20008 */ lwc1 $f2, 8($a1) +/* 031D94 80031194 C4C40000 */ lwc1 $f4, ($a2) +/* 031D98 80031198 4600000D */ trunc.w.s $f0, $f0 +/* 031D9C 8003119C C4C60008 */ lwc1 $f6, 8($a2) +/* 031DA0 800311A0 4600108D */ trunc.w.s $f2, $f2 +/* 031DA4 800311A4 44080000 */ mfc1 $t0, $f0 +/* 031DA8 800311A8 4600210D */ trunc.w.s $f4, $f4 +/* 031DAC 800311AC 44091000 */ mfc1 $t1, $f2 +/* 031DB0 800311B0 0288082A */ slt $at, $s4, $t0 +/* 031DB4 800311B4 4600318D */ trunc.w.s $f6, $f6 +/* 031DB8 800311B8 440A2000 */ mfc1 $t2, $f4 +/* 031DBC 800311BC 440B3000 */ mfc1 $t3, $f6 +/* 031DC0 800311C0 50200003 */ beql $at, $zero, .L800311D0 +/* 031DC4 800311C4 0115082A */ slt $at, $t0, $s5 +/* 031DC8 800311C8 0100A025 */ move $s4, $t0 +/* 031DCC 800311CC 0115082A */ slt $at, $t0, $s5 +.L800311D0: +/* 031DD0 800311D0 50200003 */ beql $at, $zero, .L800311E0 +/* 031DD4 800311D4 0249082A */ slt $at, $s2, $t1 +/* 031DD8 800311D8 0100A825 */ move $s5, $t0 +/* 031DDC 800311DC 0249082A */ slt $at, $s2, $t1 +.L800311E0: +/* 031DE0 800311E0 50200003 */ beql $at, $zero, .L800311F0 +/* 031DE4 800311E4 0133082A */ slt $at, $t1, $s3 +/* 031DE8 800311E8 01209025 */ move $s2, $t1 +/* 031DEC 800311EC 0133082A */ slt $at, $t1, $s3 +.L800311F0: +/* 031DF0 800311F0 50200003 */ beql $at, $zero, .L80031200 +/* 031DF4 800311F4 028A082A */ slt $at, $s4, $t2 +/* 031DF8 800311F8 01209825 */ move $s3, $t1 +/* 031DFC 800311FC 028A082A */ slt $at, $s4, $t2 +.L80031200: +/* 031E00 80031200 50200003 */ beql $at, $zero, .L80031210 +/* 031E04 80031204 0155082A */ slt $at, $t2, $s5 +/* 031E08 80031208 0140A025 */ move $s4, $t2 +/* 031E0C 8003120C 0155082A */ slt $at, $t2, $s5 +.L80031210: +/* 031E10 80031210 50200003 */ beql $at, $zero, .L80031220 +/* 031E14 80031214 024B082A */ slt $at, $s2, $t3 +/* 031E18 80031218 0140A825 */ move $s5, $t2 +/* 031E1C 8003121C 024B082A */ slt $at, $s2, $t3 +.L80031220: +/* 031E20 80031220 50200003 */ beql $at, $zero, .L80031230 +/* 031E24 80031224 0173082A */ slt $at, $t3, $s3 +/* 031E28 80031228 01609025 */ move $s2, $t3 +/* 031E2C 8003122C 0173082A */ slt $at, $t3, $s3 +.L80031230: +/* 031E30 80031230 50200003 */ beql $at, $zero, .L80031240 +/* 031E34 80031234 24A5000C */ addiu $a1, $a1, 0xc +/* 031E38 80031238 01609825 */ move $s3, $t3 +/* 031E3C 8003123C 24A5000C */ addiu $a1, $a1, 0xc +.L80031240: +/* 031E40 80031240 00A4082A */ slt $at, $a1, $a0 +/* 031E44 80031244 1420FFD1 */ bnez $at, .L8003118C +/* 031E48 80031248 24C6000C */ addiu $a2, $a2, 0xc +.L8003124C: +/* 031E4C 8003124C 26B5FFEC */ addiu $s5, $s5, -0x14 +/* 031E50 80031250 26940014 */ addiu $s4, $s4, 0x14 +/* 031E54 80031254 0295082A */ slt $at, $s4, $s5 +/* 031E58 80031258 2673FFEC */ addiu $s3, $s3, -0x14 +/* 031E5C 8003125C 10200004 */ beqz $at, .L80031270 +/* 031E60 80031260 26520014 */ addiu $s2, $s2, 0x14 +/* 031E64 80031264 02A04025 */ move $t0, $s5 +/* 031E68 80031268 0280A825 */ move $s5, $s4 +/* 031E6C 8003126C 0100A025 */ move $s4, $t0 +.L80031270: +/* 031E70 80031270 0253082A */ slt $at, $s2, $s3 +/* 031E74 80031274 10200004 */ beqz $at, .L80031288 +/* 031E78 80031278 00000000 */ nop +/* 031E7C 8003127C 02604025 */ move $t0, $s3 +/* 031E80 80031280 02409825 */ move $s3, $s2 +/* 031E84 80031284 01009025 */ move $s2, $t0 +.L80031288: +/* 031E88 80031288 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e +/* 031E8C 8003128C 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) +/* 031E90 80031290 23B10034 */ addi $s1, $sp, 0x34 +/* 031E94 80031294 23B00048 */ addi $s0, $sp, 0x48 +/* 031E98 80031298 850F001A */ lh $t7, 0x1a($t0) +/* 031E9C 8003129C 0000C025 */ move $t8, $zero +/* 031EA0 800312A0 8D040008 */ lw $a0, 8($t0) +/* 031EA4 800312A4 11E00023 */ beqz $t7, .L80031334 +/* 031EA8 800312A8 8D0E0004 */ lw $t6, 4($t0) +.L800312AC: +/* 031EAC 800312AC 84820006 */ lh $v0, 6($a0) +/* 031EB0 800312B0 84830000 */ lh $v1, ($a0) +/* 031EB4 800312B4 24420005 */ addiu $v0, $v0, 5 +/* 031EB8 800312B8 0055082A */ slt $at, $v0, $s5 +/* 031EBC 800312BC 14200019 */ bnez $at, .L80031324 +/* 031EC0 800312C0 2463FFFB */ addiu $v1, $v1, -5 +/* 031EC4 800312C4 0283082A */ slt $at, $s4, $v1 +/* 031EC8 800312C8 54200017 */ bnezl $at, .L80031328 +/* 031ECC 800312CC 25EFFFFF */ addiu $t7, $t7, -1 +/* 031ED0 800312D0 8488000A */ lh $t0, 0xa($a0) +/* 031ED4 800312D4 84890004 */ lh $t1, 4($a0) +/* 031ED8 800312D8 25080005 */ addiu $t0, $t0, 5 +/* 031EDC 800312DC 0113082A */ slt $at, $t0, $s3 +/* 031EE0 800312E0 14200010 */ bnez $at, .L80031324 +/* 031EE4 800312E4 2529FFFB */ addiu $t1, %lo(D_FFFDFFFB) # addiu $t1, $t1, -5 +/* 031EE8 800312E8 0249082A */ slt $at, $s2, $t1 +/* 031EEC 800312EC 5420000E */ bnezl $at, .L80031328 +/* 031EF0 800312F0 25EFFFFF */ addiu $t7, $t7, -1 +/* 031EF4 800312F4 02A02825 */ move $a1, $s5 +/* 031EF8 800312F8 02603025 */ move $a2, $s3 +/* 031EFC 800312FC 02803825 */ move $a3, $s4 +/* 031F00 80031300 0C00C537 */ jal func_800314DC +/* 031F04 80031304 AFB20010 */ sw $s2, 0x10($sp) +/* 031F08 80031308 A6220000 */ sh $v0, ($s1) +/* 031F0C 8003130C 27180001 */ addiu $t8, $t8, 1 +/* 031F10 80031310 2401000A */ li $at, 10 +/* 031F14 80031314 AE0E0000 */ sw $t6, ($s0) +/* 031F18 80031318 26310002 */ addiu $s1, $s1, 2 +/* 031F1C 8003131C 13010005 */ beq $t8, $at, .L80031334 +/* 031F20 80031320 26100004 */ addiu $s0, $s0, 4 +.L80031324: +/* 031F24 80031324 25EFFFFF */ addiu $t7, $t7, -1 +.L80031328: +/* 031F28 80031328 2484000C */ addiu $a0, $a0, 0xc +/* 031F2C 8003132C 15E0FFDF */ bnez $t7, .L800312AC +/* 031F30 80031330 25CE0044 */ addiu $t6, $t6, 0x44 +.L80031334: +/* 031F34 80031334 1300005C */ beqz $t8, .L800314A8 +/* 031F38 80031338 00009825 */ move $s3, $zero +/* 031F3C 8003133C 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e +/* 031F40 80031340 8C84C918 */ lw $a0, %lo(D_800DC918)($a0) +/* 031F44 80031344 3C128012 */ lui $s2, %hi(D_8011D370) # $s2, 0x8012 +/* 031F48 80031348 3C198012 */ lui $t9, %hi(D_8011D374) # $t9, 0x8012 +/* 031F4C 8003134C 23B10034 */ addi $s1, $sp, 0x34 +/* 031F50 80031350 0018C040 */ sll $t8, $t8, 1 +/* 031F54 80031354 8E52D370 */ lw $s2, %lo(D_8011D370)($s2) +/* 031F58 80031358 8F39D374 */ lw $t9, %lo(D_8011D374)($t9) +/* 031F5C 8003135C 23B00048 */ addi $s0, $sp, 0x48 +/* 031F60 80031360 0238C020 */ add $t8, $s1, $t8 +/* 031F64 80031364 8C840000 */ lw $a0, ($a0) +.L80031368: +/* 031F68 80031368 8E0F0000 */ lw $t7, ($s0) +/* 031F6C 8003136C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff +/* 031F70 80031370 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 031F74 80031374 862E0000 */ lh $t6, ($s1) +/* 031F78 80031378 01E11024 */ and $v0, $t7, $at +/* 031F7C 8003137C AE420000 */ sw $v0, ($s2) +/* 031F80 80031380 85E80020 */ lh $t0, 0x20($t7) +/* 031F84 80031384 8DED000C */ lw $t5, 0xc($t7) +/* 031F88 80031388 26730001 */ addiu $s3, $s3, 1 +/* 031F8C 8003138C 000810C0 */ sll $v0, $t0, 3 +/* 031F90 80031390 00081880 */ sll $v1, $t0, 2 +/* 031F94 80031394 00435820 */ add $t3, $v0, $v1 +/* 031F98 80031398 26520004 */ addiu $s2, $s2, 4 +/* 031F9C 8003139C 27390001 */ addiu $t9, $t9, 1 +/* 031FA0 800313A0 016D5820 */ add $t3, $t3, $t5 +/* 031FA4 800313A4 25AC000C */ addiu $t4, $t5, 0xc +.L800313A8: +/* 031FA8 800313A8 8DA80008 */ lw $t0, 8($t5) +/* 031FAC 800313AC 31020200 */ andi $v0, $t0, 0x200 +/* 031FB0 800313B0 14400035 */ bnez $v0, .L80031488 +/* 031FB4 800313B4 2401FFFF */ li $at, -1 +/* 031FB8 800313B8 56C10005 */ bnel $s6, $at, .L800313D0 +/* 031FBC 800313BC 91A30000 */ lbu $v1, ($t5) +/* 031FC0 800313C0 31020100 */ andi $v0, $t0, 0x100 +/* 031FC4 800313C4 54400031 */ bnezl $v0, .L8003148C +/* 031FC8 800313C8 25AD000C */ addiu $t5, $t5, 0xc +/* 031FCC 800313CC 91A30000 */ lbu $v1, ($t5) +.L800313D0: +/* 031FD0 800313D0 240100FF */ li $at, 255 +/* 031FD4 800313D4 00005025 */ move $t2, $zero +/* 031FD8 800313D8 50610010 */ beql $v1, $at, .L8003141C +/* 031FDC 800313DC 85A80004 */ lh $t0, 4($t5) +/* 031FE0 800313E0 000318C0 */ sll $v1, $v1, 3 +/* 031FE4 800313E4 00641820 */ add $v1, $v1, $a0 +/* 031FE8 800313E8 806A0007 */ lb $t2, 7($v1) +/* 031FEC 800313EC 2401000B */ li $at, 11 +/* 031FF0 800313F0 11410025 */ beq $t2, $at, .L80031488 +/* 031FF4 800313F4 24010002 */ li $at, 2 +/* 031FF8 800313F8 16C10003 */ bne $s6, $at, .L80031408 +/* 031FFC 800313FC 24010011 */ li $at, 17 +/* 032000 80031400 51410022 */ beql $t2, $at, .L8003148C +/* 032004 80031404 25AD000C */ addiu $t5, $t5, 0xc +.L80031408: +/* 032008 80031408 12C00003 */ beqz $s6, .L80031418 +/* 03200C 8003140C 24010012 */ li $at, 18 +/* 032010 80031410 5141001E */ beql $t2, $at, .L8003148C +/* 032014 80031414 25AD000C */ addiu $t5, $t5, 0xc +.L80031418: +/* 032018 80031418 85A80004 */ lh $t0, 4($t5) +.L8003141C: +/* 03201C 8003141C 85890004 */ lh $t1, 4($t4) +/* 032020 80031420 8DE60010 */ lw $a2, 0x10($t7) +/* 032024 80031424 8DE70014 */ lw $a3, 0x14($t7) +/* 032028 80031428 00094840 */ sll $t1, $t1, 1 +/* 03202C 8003142C 00081040 */ sll $v0, $t0, 1 +/* 032030 80031430 000818C0 */ sll $v1, $t0, 3 +/* 032034 80031434 00C92820 */ add $a1, $a2, $t1 +/* 032038 80031438 00C23020 */ add $a2, $a2, $v0 +/* 03203C 8003143C 00E33820 */ add $a3, $a3, $v1 +.L80031440: +/* 032040 80031440 84C80000 */ lh $t0, ($a2) +/* 032044 80031444 010E4024 */ and $t0, $t0, $t6 +/* 032048 80031448 310200FF */ andi $v0, $t0, 0xff +/* 03204C 8003144C 1040000A */ beqz $v0, .L80031478 +/* 032050 80031450 3103FF00 */ andi $v1, $t0, 0xff00 +/* 032054 80031454 50600009 */ beql $v1, $zero, .L8003147C +/* 032058 80031458 24C60002 */ addiu $a2, $a2, 2 +/* 03205C 8003145C AE470000 */ sw $a3, ($s2) +/* 032060 80031460 26730001 */ addiu $s3, $s3, 1 +/* 032064 80031464 240101F4 */ li $at, 500 +/* 032068 80031468 A32A0000 */ sb $t2, ($t9) +/* 03206C 8003146C 26520004 */ addiu $s2, $s2, 4 +/* 032070 80031470 1261000D */ beq $s3, $at, .L800314A8 +/* 032074 80031474 27390001 */ addiu $t9, $t9, 1 +.L80031478: +/* 032078 80031478 24C60002 */ addiu $a2, $a2, 2 +.L8003147C: +/* 03207C 8003147C 00C5082A */ slt $at, $a2, $a1 +/* 032080 80031480 1420FFEF */ bnez $at, .L80031440 +/* 032084 80031484 24E70008 */ addiu $a3, $a3, 8 +.L80031488: +/* 032088 80031488 25AD000C */ addiu $t5, $t5, 0xc +.L8003148C: +/* 03208C 8003148C 01AB082A */ slt $at, $t5, $t3 +/* 032090 80031490 1420FFC5 */ bnez $at, .L800313A8 +/* 032094 80031494 258C000C */ addiu $t4, $t4, 0xc +/* 032098 80031498 26310002 */ addiu $s1, $s1, 2 +/* 03209C 8003149C 0238082A */ slt $at, $s1, $t8 +/* 0320A0 800314A0 1420FFB1 */ bnez $at, .L80031368 +/* 0320A4 800314A4 26100004 */ addiu $s0, $s0, 4 +.L800314A8: +/* 0320A8 800314A8 8FBF0030 */ lw $ra, 0x30($sp) +/* 0320AC 800314AC 3C018012 */ lui $at, %hi(D_8011D378) # $at, 0x8012 +/* 0320B0 800314B0 AC33D378 */ sw $s3, %lo(D_8011D378)($at) +/* 0320B4 800314B4 8FB6002C */ lw $s6, 0x2c($sp) +/* 0320B8 800314B8 8FB50028 */ lw $s5, 0x28($sp) +/* 0320BC 800314BC 8FB40024 */ lw $s4, 0x24($sp) +/* 0320C0 800314C0 8FB30020 */ lw $s3, 0x20($sp) +/* 0320C4 800314C4 8FB2001C */ lw $s2, 0x1c($sp) +/* 0320C8 800314C8 8FB10018 */ lw $s1, 0x18($sp) +/* 0320CC 800314CC 8FB00014 */ lw $s0, 0x14($sp) +/* 0320D0 800314D0 00001025 */ move $v0, $zero +/* 0320D4 800314D4 03E00008 */ jr $ra +/* 0320D8 800314D8 27BD0070 */ addiu $sp, $sp, 0x70 + diff --git a/asm/non_matchings/unknown_0255E0/func_800314DC.s b/asm/non_matchings/unknown_0255E0/func_800314DC.s new file mode 100644 index 00000000..91525026 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800314DC.s @@ -0,0 +1,90 @@ +glabel func_800314DC +/* 0320DC 800314DC 10800046 */ beqz $a0, .L800315F8 +/* 0320E0 800314E0 00001025 */ move $v0, $zero +/* 0320E4 800314E4 84880000 */ lh $t0, ($a0) +/* 0320E8 800314E8 8FAD0010 */ lw $t5, 0x10($sp) +/* 0320EC 800314EC 84890004 */ lh $t1, 4($a0) +/* 0320F0 800314F0 00E8082A */ slt $at, $a3, $t0 +/* 0320F4 800314F4 848A0006 */ lh $t2, 6($a0) +/* 0320F8 800314F8 10200002 */ beqz $at, .L80031504 +/* 0320FC 800314FC 848B000A */ lh $t3, 0xa($a0) +/* 032100 80031500 01003825 */ move $a3, $t0 +.L80031504: +/* 032104 80031504 00A8082A */ slt $at, $a1, $t0 +/* 032108 80031508 50200003 */ beql $at, $zero, .L80031518 +/* 03210C 8003150C 01A9082A */ slt $at, $t5, $t1 +/* 032110 80031510 01002825 */ move $a1, $t0 +/* 032114 80031514 01A9082A */ slt $at, $t5, $t1 +.L80031518: +/* 032118 80031518 50200003 */ beql $at, $zero, .L80031528 +/* 03211C 8003151C 00C9082A */ slt $at, $a2, $t1 +/* 032120 80031520 01206825 */ move $t5, $t1 +/* 032124 80031524 00C9082A */ slt $at, $a2, $t1 +.L80031528: +/* 032128 80031528 50200003 */ beql $at, $zero, .L80031538 +/* 03212C 8003152C 0147082A */ slt $at, $t2, $a3 +/* 032130 80031530 01203025 */ move $a2, $t1 +/* 032134 80031534 0147082A */ slt $at, $t2, $a3 +.L80031538: +/* 032138 80031538 50200003 */ beql $at, $zero, .L80031548 +/* 03213C 8003153C 0145082A */ slt $at, $t2, $a1 +/* 032140 80031540 01403825 */ move $a3, $t2 +/* 032144 80031544 0145082A */ slt $at, $t2, $a1 +.L80031548: +/* 032148 80031548 50200003 */ beql $at, $zero, .L80031558 +/* 03214C 8003154C 016D082A */ slt $at, $t3, $t5 +/* 032150 80031550 01402825 */ move $a1, $t2 +/* 032154 80031554 016D082A */ slt $at, $t3, $t5 +.L80031558: +/* 032158 80031558 50200003 */ beql $at, $zero, .L80031568 +/* 03215C 8003155C 0166082A */ slt $at, $t3, $a2 +/* 032160 80031560 01606825 */ move $t5, $t3 +/* 032164 80031564 0166082A */ slt $at, $t3, $a2 +.L80031568: +/* 032168 80031568 50200003 */ beql $at, $zero, .L80031578 +/* 03216C 8003156C 01485022 */ sub $t2, $t2, $t0 +/* 032170 80031570 01603025 */ move $a2, $t3 +/* 032174 80031574 01485022 */ sub $t2, $t2, $t0 +.L80031578: +/* 032178 80031578 000A50C3 */ sra $t2, $t2, 3 +/* 03217C 8003157C 254A0001 */ addiu $t2, $t2, 1 +/* 032180 80031580 24030001 */ li $v1, 1 +/* 032184 80031584 01486020 */ add $t4, $t2, $t0 +.L80031588: +/* 032188 80031588 0185082A */ slt $at, $t4, $a1 +/* 03218C 8003158C 14200004 */ bnez $at, .L800315A0 +/* 032190 80031590 00E8082A */ slt $at, $a3, $t0 +/* 032194 80031594 54200003 */ bnezl $at, .L800315A4 +/* 032198 80031598 00031840 */ sll $v1, $v1, 1 +/* 03219C 8003159C 00431025 */ or $v0, $v0, $v1 +.L800315A0: +/* 0321A0 800315A0 00031840 */ sll $v1, $v1, 1 +.L800315A4: +/* 0321A4 800315A4 28610100 */ slti $at, $v1, 0x100 +/* 0321A8 800315A8 018A6020 */ add $t4, $t4, $t2 +/* 0321AC 800315AC 1420FFF6 */ bnez $at, .L80031588 +/* 0321B0 800315B0 010A4020 */ add $t0, $t0, $t2 +/* 0321B4 800315B4 01695022 */ sub $t2, $t3, $t1 +/* 0321B8 800315B8 000A50C3 */ sra $t2, $t2, 3 +/* 0321BC 800315BC 254A0001 */ addiu $t2, $t2, 1 +/* 0321C0 800315C0 01496020 */ add $t4, $t2, $t1 +/* 0321C4 800315C4 01204025 */ move $t0, $t1 +.L800315C8: +/* 0321C8 800315C8 0186082A */ slt $at, $t4, $a2 +/* 0321CC 800315CC 14200004 */ bnez $at, .L800315E0 +/* 0321D0 800315D0 01A8082A */ slt $at, $t5, $t0 +/* 0321D4 800315D4 54200003 */ bnezl $at, .L800315E4 +/* 0321D8 800315D8 00031840 */ sll $v1, $v1, 1 +/* 0321DC 800315DC 00431025 */ or $v0, $v0, $v1 +.L800315E0: +/* 0321E0 800315E0 00031840 */ sll $v1, $v1, 1 +.L800315E4: +/* 0321E4 800315E4 3C010001 */ lui $at, 1 +/* 0321E8 800315E8 0061082A */ slt $at, $v1, $at +/* 0321EC 800315EC 018A6020 */ add $t4, $t4, $t2 +/* 0321F0 800315F0 1420FFF5 */ bnez $at, .L800315C8 +/* 0321F4 800315F4 010A4020 */ add $t0, $t0, $t2 +.L800315F8: +/* 0321F8 800315F8 03E00008 */ jr $ra +/* 0321FC 800315FC 00000000 */ nop + diff --git a/asm/non_matchings/unknown_0255E0/func_80031600.s b/asm/non_matchings/unknown_0255E0/func_80031600.s new file mode 100644 index 00000000..f0060d91 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031600.s @@ -0,0 +1,191 @@ +glabel func_80031600 +/* 032200 80031600 24080001 */ li $t0, 1 +/* 032204 80031604 A3A80001 */ sb $t0, 1($sp) +/* 032208 80031608 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 +/* 03220C 8003160C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) +/* 032210 80031610 3C018012 */ lui $at, %hi(D_8011B0F0) # $at, 0x8012 +/* 032214 80031614 A3A00000 */ sb $zero, ($sp) +/* 032218 80031618 1100014C */ beqz $t0, .L80031B4C +/* 03221C 8003161C AC20B0F0 */ sw $zero, %lo(D_8011B0F0)($at) +.L80031620: +/* 032220 80031620 00007025 */ move $t6, $zero +.L80031624: +/* 032224 80031624 3C0D8012 */ lui $t5, %hi(D_8011D374) # $t5, 0x8012 +/* 032228 80031628 3C098012 */ lui $t1, %hi(D_8011D370) # $t1, 0x8012 +/* 03222C 8003162C 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 +/* 032230 80031630 00007825 */ move $t7, $zero +/* 032234 80031634 8DADD374 */ lw $t5, %lo(D_8011D374)($t5) +/* 032238 80031638 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) +/* 03223C 8003163C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) +.L80031640: +/* 032240 80031640 8D2A0000 */ lw $t2, ($t1) +/* 032244 80031644 59400006 */ blezl $t2, .L80031660 +/* 032248 80031648 95420000 */ lhu $v0, ($t2) +/* 03224C 8003164C 3C0B8000 */ lui $t3, %hi(D_80000018) # $t3, 0x8000 +/* 032250 80031650 016A5825 */ or $t3, $t3, $t2 +/* 032254 80031654 0800C651 */ j func_80031944 +/* 032258 80031658 8D6B0018 */ lw $t3, %lo(D_80000018)($t3) + +/* 03225C 8003165C 95420000 */ lhu $v0, ($t2) +.L80031660: +/* 032260 80031660 C4A80000 */ lwc1 $f8, ($a1) +/* 032264 80031664 C4AA0004 */ lwc1 $f10, 4($a1) +/* 032268 80031668 00021100 */ sll $v0, $v0, 4 +/* 03226C 8003166C 004B1021 */ addu $v0, $v0, $t3 +/* 032270 80031670 C4400000 */ lwc1 $f0, ($v0) +/* 032274 80031674 C4420004 */ lwc1 $f2, 4($v0) +/* 032278 80031678 C4440008 */ lwc1 $f4, 8($v0) +/* 03227C 8003167C 46004202 */ mul.s $f8, $f8, $f0 +/* 032280 80031680 C4B00008 */ lwc1 $f16, 8($a1) +/* 032284 80031684 C446000C */ lwc1 $f6, 0xc($v0) +/* 032288 80031688 46025282 */ mul.s $f10, $f10, $f2 +/* 03228C 8003168C 3C01800E */ lui $at, %hi(D_800E5F60) # $at, 0x800e +/* 032290 80031690 46048402 */ mul.s $f16, $f16, $f4 +/* 032294 80031694 460A4200 */ add.s $f8, $f8, $f10 +/* 032298 80031698 46104200 */ add.s $f8, $f8, $f16 +/* 03229C 8003169C 46064480 */ add.s $f18, $f8, $f6 +/* 0322A0 800316A0 C4C80000 */ lwc1 $f8, ($a2) +/* 0322A4 800316A4 46089481 */ sub.s $f18, $f18, $f8 +/* 0322A8 800316A8 C4285F60 */ lwc1 $f8, %lo(D_800E5F60)($at) +/* 0322AC 800316AC 46089034 */ c.olt.s $f18, $f8 +/* 0322B0 800316B0 450200A5 */ bc1fl .L80031948 +/* 0322B4 800316B4 2508FFFF */ addiu $t0, $t0, -1 +/* 0322B8 800316B8 C4880000 */ lwc1 $f8, ($a0) +/* 0322BC 800316BC C48A0004 */ lwc1 $f10, 4($a0) +/* 0322C0 800316C0 C4900008 */ lwc1 $f16, 8($a0) +/* 0322C4 800316C4 46004202 */ mul.s $f8, $f8, $f0 +/* 0322C8 800316C8 3C01800E */ lui $at, %hi(D_800E5F64) # $at, 0x800e +/* 0322CC 800316CC 46025282 */ mul.s $f10, $f10, $f2 +/* 0322D0 800316D0 460A4200 */ add.s $f8, $f8, $f10 +/* 0322D4 800316D4 46048402 */ mul.s $f16, $f16, $f4 +/* 0322D8 800316D8 46104200 */ add.s $f8, $f8, $f16 +/* 0322DC 800316DC 46064400 */ add.s $f16, $f8, $f6 +/* 0322E0 800316E0 C4C80000 */ lwc1 $f8, ($a2) +/* 0322E4 800316E4 46088401 */ sub.s $f16, $f16, $f8 +/* 0322E8 800316E8 C4285F64 */ lwc1 $f8, %lo(D_800E5F64)($at) +/* 0322EC 800316EC 46088034 */ c.olt.s $f16, $f8 +/* 0322F0 800316F0 45030095 */ bc1tl .L80031948 +/* 0322F4 800316F4 2508FFFF */ addiu $t0, $t0, -1 +/* 0322F8 800316F8 C4880000 */ lwc1 $f8, ($a0) +/* 0322FC 800316FC C4AA0000 */ lwc1 $f10, ($a1) +/* 032300 80031700 46085001 */ sub.s $f0, $f10, $f8 +/* 032304 80031704 C4880004 */ lwc1 $f8, 4($a0) +/* 032308 80031708 C4AA0004 */ lwc1 $f10, 4($a1) +/* 03230C 8003170C 46085081 */ sub.s $f2, $f10, $f8 +/* 032310 80031710 C4880008 */ lwc1 $f8, 8($a0) +/* 032314 80031714 C4AA0008 */ lwc1 $f10, 8($a1) +/* 032318 80031718 46085101 */ sub.s $f4, $f10, $f8 +/* 03231C 8003171C 44805000 */ mtc1 $zero, $f10 +/* 032320 80031720 46128201 */ sub.s $f8, $f16, $f18 +/* 032324 80031724 460A4033 */ c.ueq.s $f8, $f10 +/* 032328 80031728 45010002 */ bc1t .L80031734 +/* 03232C 8003172C 00000000 */ nop +/* 032330 80031730 46088283 */ div.s $f10, $f16, $f8 +.L80031734: +/* 032334 80031734 460A0002 */ mul.s $f0, $f0, $f10 +/* 032338 80031738 C4860000 */ lwc1 $f6, ($a0) +/* 03233C 8003173C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 032340 80031740 460A1082 */ mul.s $f2, $f2, $f10 +/* 032344 80031744 240C0003 */ li $t4, 3 +/* 032348 80031748 460A2102 */ mul.s $f4, $f4, $f10 +/* 03234C 8003174C 44815000 */ mtc1 $at, $f10 +/* 032350 80031750 46003000 */ add.s $f0, $f6, $f0 +/* 032354 80031754 C4860004 */ lwc1 $f6, 4($a0) +/* 032358 80031758 46023080 */ add.s $f2, $f6, $f2 +/* 03235C 8003175C C4860008 */ lwc1 $f6, 8($a0) +/* 032360 80031760 46043100 */ add.s $f4, $f6, $f4 +.L80031764: +/* 032364 80031764 95430002 */ lhu $v1, 2($t2) +/* 032368 80031768 0000C025 */ move $t8, $zero +/* 03236C 8003176C 30798000 */ andi $t9, $v1, 0x8000 +/* 032370 80031770 53200004 */ beql $t9, $zero, .L80031784 +/* 032374 80031774 00031900 */ sll $v1, $v1, 4 +/* 032378 80031778 30637FFF */ andi $v1, $v1, 0x7fff +/* 03237C 8003177C 24180001 */ li $t8, 1 +/* 032380 80031780 00031900 */ sll $v1, $v1, 4 +.L80031784: +/* 032384 80031784 006B1821 */ addu $v1, $v1, $t3 +/* 032388 80031788 C4660000 */ lwc1 $f6, ($v1) +/* 03238C 8003178C C4680004 */ lwc1 $f8, 4($v1) +/* 032390 80031790 46060182 */ mul.s $f6, $f0, $f6 +/* 032394 80031794 00000000 */ nop +/* 032398 80031798 46081202 */ mul.s $f8, $f2, $f8 +/* 03239C 8003179C 46083180 */ add.s $f6, $f6, $f8 +/* 0323A0 800317A0 C4680008 */ lwc1 $f8, 8($v1) +/* 0323A4 800317A4 46082202 */ mul.s $f8, $f4, $f8 +/* 0323A8 800317A8 46083180 */ add.s $f6, $f6, $f8 +/* 0323AC 800317AC C468000C */ lwc1 $f8, 0xc($v1) +/* 0323B0 800317B0 13000002 */ beqz $t8, .L800317BC +/* 0323B4 800317B4 46083180 */ add.s $f6, $f6, $f8 +/* 0323B8 800317B8 46003187 */ neg.s $f6, $f6 +.L800317BC: +/* 0323BC 800317BC 460A3036 */ c.ole.s $f6, $f10 +/* 0323C0 800317C0 45020061 */ bc1fl .L80031948 +/* 0323C4 800317C4 2508FFFF */ addiu $t0, $t0, -1 +/* 0323C8 800317C8 258CFFFF */ addiu $t4, $t4, -1 +/* 0323CC 800317CC 1580FFE5 */ bnez $t4, .L80031764 +/* 0323D0 800317D0 254A0002 */ addiu $t2, $t2, 2 +/* 0323D4 800317D4 3C01800E */ lui $at, %hi(D_800E5F68) # $at, 0x800e +/* 0323D8 800317D8 C4205F68 */ lwc1 $f0, %lo(D_800E5F68)($at) +/* 0323DC 800317DC C4420004 */ lwc1 $f2, 4($v0) +/* 0323E0 800317E0 C4440008 */ lwc1 $f4, 8($v0) +/* 0323E4 800317E4 46001035 */ c.ult.s $f2, $f0 +/* 0323E8 800317E8 C4400000 */ lwc1 $f0, ($v0) +/* 0323EC 800317EC 45010016 */ bc1t .L80031848 +/* 0323F0 800317F0 00000000 */ nop +/* 0323F4 800317F4 81A30000 */ lb $v1, ($t5) +/* 0323F8 800317F8 24010004 */ li $at, 4 +/* 0323FC 800317FC 10610012 */ beq $v1, $at, .L80031848 +/* 032400 80031800 00000000 */ nop +/* 032404 80031804 3C038012 */ lui $v1, %hi(D_8011B0F4) # $v1, 0x8012 +/* 032408 80031808 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) +/* 03240C 8003180C 1460000E */ bnez $v1, .L80031848 +/* 032410 80031810 00000000 */ nop +/* 032414 80031814 C4A60000 */ lwc1 $f6, ($a1) +/* 032418 80031818 46003002 */ mul.s $f0, $f6, $f0 +/* 03241C 8003181C C4A60008 */ lwc1 $f6, 8($a1) +/* 032420 80031820 46043102 */ mul.s $f4, $f6, $f4 +/* 032424 80031824 C446000C */ lwc1 $f6, 0xc($v0) +/* 032428 80031828 46040000 */ add.s $f0, $f0, $f4 +/* 03242C 8003182C C4A40008 */ lwc1 $f4, 8($a1) +/* 032430 80031830 46060000 */ add.s $f0, $f0, $f6 +/* 032434 80031834 C4C60000 */ lwc1 $f6, ($a2) +/* 032438 80031838 46003001 */ sub.s $f0, $f6, $f0 +/* 03243C 8003183C 46020083 */ div.s $f2, $f0, $f2 +/* 032440 80031840 0800C632 */ j func_800318C8 +/* 032444 80031844 C4A00000 */ lwc1 $f0, ($a1) + +.L80031848: +/* 032448 80031848 3C01800E */ lui $at, %hi(D_800E5F6C) # $at, 0x800e +/* 03244C 8003184C C42A5F6C */ lwc1 $f10, %lo(D_800E5F6C)($at) +/* 032450 80031850 460A1034 */ c.olt.s $f2, $f10 +/* 032454 80031854 45000012 */ bc1f .L800318A0 +/* 032458 80031858 00000000 */ nop +/* 03245C 8003185C 3C038012 */ lui $v1, %hi(D_8011B0F4) # $v1, 0x8012 +/* 032460 80031860 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) +/* 032464 80031864 24010002 */ li $at, 2 +/* 032468 80031868 1061000D */ beq $v1, $at, .L800318A0 +/* 03246C 8003186C 00000000 */ nop +/* 032470 80031870 24030001 */ li $v1, 1 +/* 032474 80031874 3C018012 */ lui $at, %hi(D_8011B0F0) # $at, 0x8012 +/* 032478 80031878 AC23B0F0 */ sw $v1, %lo(D_8011B0F0)($at) +/* 03247C 8003187C C4460000 */ lwc1 $f6, ($v0) +/* 032480 80031880 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 +/* 032484 80031884 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) +/* 032488 80031888 C4460004 */ lwc1 $f6, 4($v0) +/* 03248C 8003188C 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 +/* 032490 80031890 E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) +/* 032494 80031894 C4460008 */ lwc1 $f6, 8($v0) +/* 032498 80031898 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 +/* 03249C 8003189C E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) +.L800318A0: +/* 0324A0 800318A0 46120002 */ mul.s $f0, $f0, $f18 +/* 0324A4 800318A4 C4A60000 */ lwc1 $f6, ($a1) +/* 0324A8 800318A8 46121082 */ mul.s $f2, $f2, $f18 +/* 0324AC 800318AC 00000000 */ nop +/* 0324B0 800318B0 46122102 */ mul.s $f4, $f4, $f18 +/* 0324B4 800318B4 46003001 */ sub.s $f0, $f6, $f0 +/* 0324B8 800318B8 C4A60004 */ lwc1 $f6, 4($a1) +/* 0324BC 800318BC 46023081 */ sub.s $f2, $f6, $f2 +/* 0324C0 800318C0 C4A60008 */ lwc1 $f6, 8($a1) +/* 0324C4 800318C4 46043101 */ sub.s $f4, $f6, $f4 diff --git a/asm/non_matchings/unknown_0255E0/func_800318C8.s b/asm/non_matchings/unknown_0255E0/func_800318C8.s new file mode 100644 index 00000000..730bd893 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_800318C8.s @@ -0,0 +1,36 @@ +glabel func_800318C8 +/* 0324C8 800318C8 3C038012 */ lui $v1, %hi(D_8011B0F0) # $v1, 0x8012 +/* 0324CC 800318CC 8C63B0F0 */ lw $v1, %lo(D_8011B0F0)($v1) +/* 0324D0 800318D0 5460000B */ bnezl $v1, .L80031900 +/* 0324D4 800318D4 81AC0000 */ lb $t4, ($t5) +/* 0324D8 800318D8 C4460000 */ lwc1 $f6, ($v0) +/* 0324DC 800318DC 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 +/* 0324E0 800318E0 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) +/* 0324E4 800318E4 C4460004 */ lwc1 $f6, 4($v0) +/* 0324E8 800318E8 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 +/* 0324EC 800318EC E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) +/* 0324F0 800318F0 C4460008 */ lwc1 $f6, 8($v0) +/* 0324F4 800318F4 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 +/* 0324F8 800318F8 E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) +/* 0324FC 800318FC 81AC0000 */ lb $t4, ($t5) +.L80031900: +/* 032500 80031900 80E20000 */ lb $v0, ($a3) +/* 032504 80031904 004C082A */ slt $at, $v0, $t4 +/* 032508 80031908 50200003 */ beql $at, $zero, .L80031918 +/* 03250C 8003190C 25CE0001 */ addiu $t6, $t6, 1 +/* 032510 80031910 A0EC0000 */ sb $t4, ($a3) +/* 032514 80031914 25CE0001 */ addiu $t6, $t6, 1 +.L80031918: +/* 032518 80031918 29C1000B */ slti $at, $t6, 0xb +/* 03251C 8003191C 14200005 */ bnez $at, .L80031934 +/* 032520 80031920 240F0001 */ li $t7, 1 +/* 032524 80031924 00007825 */ move $t7, $zero +/* 032528 80031928 C4800000 */ lwc1 $f0, ($a0) +/* 03252C 8003192C C4820004 */ lwc1 $f2, 4($a0) +/* 032530 80031930 C4840008 */ lwc1 $f4, 8($a0) +.L80031934: +/* 032534 80031934 E4A00000 */ swc1 $f0, ($a1) +/* 032538 80031938 E4A20004 */ swc1 $f2, 4($a1) +/* 03253C 8003193C 0800C655 */ j func_80031954 +/* 032540 80031940 E4A40008 */ swc1 $f4, 8($a1) + diff --git a/asm/non_matchings/unknown_0255E0/func_80031944.s b/asm/non_matchings/unknown_0255E0/func_80031944.s new file mode 100644 index 00000000..e100d1b9 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031944.s @@ -0,0 +1,6 @@ +glabel func_80031944 +/* 032544 80031944 2508FFFF */ addiu $t0, $t0, -1 +.L80031948: +/* 032548 80031948 25AD0001 */ addiu $t5, $t5, 1 +/* 03254C 8003194C 1500FF3C */ bnez $t0, .L80031640 +/* 032550 80031950 25290004 */ addiu $t1, $t1, 4 diff --git a/asm/non_matchings/unknown_0255E0/func_80031954.s b/asm/non_matchings/unknown_0255E0/func_80031954.s new file mode 100644 index 00000000..4e23b59c --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031954.s @@ -0,0 +1,124 @@ +glabel func_80031954 +/* 032554 80031954 15E0FF33 */ bnez $t7, .L80031624 +/* 032558 80031958 00000000 */ nop +/* 03255C 8003195C 11C00008 */ beqz $t6, .L80031980 +/* 032560 80031960 93AA0001 */ lbu $t2, 1($sp) +/* 032564 80031964 8FA90014 */ lw $t1, 0x14($sp) +/* 032568 80031968 8D280000 */ lw $t0, ($t1) +/* 03256C 8003196C 25080001 */ addiu $t0, $t0, 1 +/* 032570 80031970 AD280000 */ sw $t0, ($t1) +/* 032574 80031974 93A80000 */ lbu $t0, ($sp) +/* 032578 80031978 010A4025 */ or $t0, $t0, $t2 +/* 03257C 8003197C A3A80000 */ sb $t0, ($sp) +.L80031980: +/* 032580 80031980 000A5040 */ sll $t2, $t2, 1 +/* 032584 80031984 A3AA0001 */ sb $t2, 1($sp) +/* 032588 80031988 00007025 */ move $t6, $zero +.L8003198C: +/* 03258C 8003198C 3C098012 */ lui $t1, %hi(D_8011D370) # $t1, 0x8012 +/* 032590 80031990 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 +/* 032594 80031994 00007825 */ move $t7, $zero +/* 032598 80031998 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) +/* 03259C 8003199C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) +.L800319A0: +/* 0325A0 800319A0 8D2A0000 */ lw $t2, ($t1) +/* 0325A4 800319A4 59400006 */ blezl $t2, .L800319C0 +/* 0325A8 800319A8 95420000 */ lhu $v0, ($t2) +/* 0325AC 800319AC 3C0B8000 */ lui $t3, %hi(D_80000018) # $t3, 0x8000 +/* 0325B0 800319B0 016A5825 */ or $t3, $t3, $t2 +/* 0325B4 800319B4 0800C6C6 */ j func_80031B18 +/* 0325B8 800319B8 8D6B0018 */ lw $t3, %lo(D_80000018)($t3) + +/* 0325BC 800319BC 95420000 */ lhu $v0, ($t2) +.L800319C0: +/* 0325C0 800319C0 C4A80000 */ lwc1 $f8, ($a1) +/* 0325C4 800319C4 C4AA0004 */ lwc1 $f10, 4($a1) +/* 0325C8 800319C8 00021100 */ sll $v0, $v0, 4 +/* 0325CC 800319CC 004B1021 */ addu $v0, $v0, $t3 +/* 0325D0 800319D0 C4400000 */ lwc1 $f0, ($v0) +/* 0325D4 800319D4 C4420004 */ lwc1 $f2, 4($v0) +/* 0325D8 800319D8 C4440008 */ lwc1 $f4, 8($v0) +/* 0325DC 800319DC 46004202 */ mul.s $f8, $f8, $f0 +/* 0325E0 800319E0 C4B00008 */ lwc1 $f16, 8($a1) +/* 0325E4 800319E4 C446000C */ lwc1 $f6, 0xc($v0) +/* 0325E8 800319E8 46025282 */ mul.s $f10, $f10, $f2 +/* 0325EC 800319EC 3C01800E */ lui $at, %hi(D_800E5F70) # $at, 0x800e +/* 0325F0 800319F0 46048402 */ mul.s $f16, $f16, $f4 +/* 0325F4 800319F4 460A4200 */ add.s $f8, $f8, $f10 +/* 0325F8 800319F8 46104200 */ add.s $f8, $f8, $f16 +/* 0325FC 800319FC 46064480 */ add.s $f18, $f8, $f6 +/* 032600 80031A00 C4C80000 */ lwc1 $f8, ($a2) +/* 032604 80031A04 46089481 */ sub.s $f18, $f18, $f8 +/* 032608 80031A08 C4285F70 */ lwc1 $f8, %lo(D_800E5F70)($at) +/* 03260C 80031A0C 46089034 */ c.olt.s $f18, $f8 +/* 032610 80031A10 45000041 */ bc1f .L80031B18 +/* 032614 80031A14 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 032618 80031A18 44815000 */ mtc1 $at, $f10 +/* 03261C 80031A1C C4C80000 */ lwc1 $f8, ($a2) +/* 032620 80031A20 460A4200 */ add.s $f8, $f8, $f10 +/* 032624 80031A24 46004207 */ neg.s $f8, $f8 +/* 032628 80031A28 46089036 */ c.ole.s $f18, $f8 +/* 03262C 80031A2C 4501003A */ bc1t .L80031B18 +/* 032630 80031A30 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 032634 80031A34 44815000 */ mtc1 $at, $f10 +/* 032638 80031A38 C4A00000 */ lwc1 $f0, ($a1) +/* 03263C 80031A3C C4A20004 */ lwc1 $f2, 4($a1) +/* 032640 80031A40 C4A40008 */ lwc1 $f4, 8($a1) +/* 032644 80031A44 240C0003 */ li $t4, 3 +.L80031A48: +/* 032648 80031A48 95430002 */ lhu $v1, 2($t2) +/* 03264C 80031A4C 0000C025 */ move $t8, $zero +/* 032650 80031A50 30798000 */ andi $t9, $v1, 0x8000 +/* 032654 80031A54 53200004 */ beql $t9, $zero, .L80031A68 +/* 032658 80031A58 00031900 */ sll $v1, $v1, 4 +/* 03265C 80031A5C 30637FFF */ andi $v1, $v1, 0x7fff +/* 032660 80031A60 24180001 */ li $t8, 1 +/* 032664 80031A64 00031900 */ sll $v1, $v1, 4 +.L80031A68: +/* 032668 80031A68 006B1821 */ addu $v1, $v1, $t3 +/* 03266C 80031A6C C4660000 */ lwc1 $f6, ($v1) +/* 032670 80031A70 C4680004 */ lwc1 $f8, 4($v1) +/* 032674 80031A74 46060182 */ mul.s $f6, $f0, $f6 +/* 032678 80031A78 00000000 */ nop +/* 03267C 80031A7C 46081202 */ mul.s $f8, $f2, $f8 +/* 032680 80031A80 46083180 */ add.s $f6, $f6, $f8 +/* 032684 80031A84 C4680008 */ lwc1 $f8, 8($v1) +/* 032688 80031A88 46082202 */ mul.s $f8, $f4, $f8 +/* 03268C 80031A8C 46083180 */ add.s $f6, $f6, $f8 +/* 032690 80031A90 C468000C */ lwc1 $f8, 0xc($v1) +/* 032694 80031A94 13000002 */ beqz $t8, .L80031AA0 +/* 032698 80031A98 46083180 */ add.s $f6, $f6, $f8 +/* 03269C 80031A9C 46003187 */ neg.s $f6, $f6 +.L80031AA0: +/* 0326A0 80031AA0 460A3036 */ c.ole.s $f6, $f10 +/* 0326A4 80031AA4 4502001D */ bc1fl .L80031B1C +/* 0326A8 80031AA8 2508FFFF */ addiu $t0, $t0, -1 +/* 0326AC 80031AAC 258CFFFF */ addiu $t4, $t4, -1 +/* 0326B0 80031AB0 1580FFE5 */ bnez $t4, .L80031A48 +/* 0326B4 80031AB4 254A0002 */ addiu $t2, $t2, 2 +/* 0326B8 80031AB8 C4400000 */ lwc1 $f0, ($v0) +/* 0326BC 80031ABC C4420004 */ lwc1 $f2, 4($v0) +/* 0326C0 80031AC0 C4A60000 */ lwc1 $f6, ($a1) +/* 0326C4 80031AC4 46120002 */ mul.s $f0, $f0, $f18 +/* 0326C8 80031AC8 C4440008 */ lwc1 $f4, 8($v0) +/* 0326CC 80031ACC 25CE0001 */ addiu $t6, $t6, 1 +/* 0326D0 80031AD0 46121082 */ mul.s $f2, $f2, $f18 +/* 0326D4 80031AD4 29C1000B */ slti $at, $t6, 0xb +/* 0326D8 80031AD8 240F0001 */ li $t7, 1 +/* 0326DC 80031ADC 46122102 */ mul.s $f4, $f4, $f18 +/* 0326E0 80031AE0 46003001 */ sub.s $f0, $f6, $f0 +/* 0326E4 80031AE4 C4A60004 */ lwc1 $f6, 4($a1) +/* 0326E8 80031AE8 46023081 */ sub.s $f2, $f6, $f2 +/* 0326EC 80031AEC C4A60008 */ lwc1 $f6, 8($a1) +/* 0326F0 80031AF0 14200005 */ bnez $at, .L80031B08 +/* 0326F4 80031AF4 46043101 */ sub.s $f4, $f6, $f4 +/* 0326F8 80031AF8 00007825 */ move $t7, $zero +/* 0326FC 80031AFC C4800000 */ lwc1 $f0, ($a0) +/* 032700 80031B00 C4820004 */ lwc1 $f2, 4($a0) +/* 032704 80031B04 C4840008 */ lwc1 $f4, 8($a0) +.L80031B08: +/* 032708 80031B08 E4A00000 */ swc1 $f0, ($a1) +/* 03270C 80031B0C E4A20004 */ swc1 $f2, 4($a1) +/* 032710 80031B10 0800C6C9 */ j func_80031B24 +/* 032714 80031B14 E4A40008 */ swc1 $f4, 8($a1) + diff --git a/asm/non_matchings/unknown_0255E0/func_80031B18.s b/asm/non_matchings/unknown_0255E0/func_80031B18.s new file mode 100644 index 00000000..57cb93a5 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031B18.s @@ -0,0 +1,6 @@ +glabel func_80031B18 +.L80031B18: +/* 032718 80031B18 2508FFFF */ addiu $t0, $t0, -1 +.L80031B1C: +/* 03271C 80031B1C 1500FFA0 */ bnez $t0, .L800319A0 +/* 032720 80031B20 25290004 */ addiu $t1, $t1, 4 diff --git a/asm/non_matchings/unknown_0255E0/func_80031B24.s b/asm/non_matchings/unknown_0255E0/func_80031B24.s new file mode 100644 index 00000000..25666768 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_80031B24.s @@ -0,0 +1,19 @@ +glabel func_80031B24 +/* 032724 80031B24 15E0FF99 */ bnez $t7, .L8003198C +/* 032728 80031B28 00000000 */ nop +/* 03272C 80031B2C 8FA80010 */ lw $t0, 0x10($sp) +/* 032730 80031B30 2484000C */ addiu $a0, $a0, 0xc +/* 032734 80031B34 24A5000C */ addiu $a1, $a1, 0xc +/* 032738 80031B38 2508FFFF */ addiu $t0, $t0, -1 +/* 03273C 80031B3C 24C60004 */ addiu $a2, $a2, 4 +/* 032740 80031B40 24E70001 */ addiu $a3, $a3, 1 +/* 032744 80031B44 1500FEB6 */ bnez $t0, .L80031620 +/* 032748 80031B48 AFA80010 */ sw $t0, 0x10($sp) +.L80031B4C: +/* 03274C 80031B4C 03E00008 */ jr $ra +/* 032750 80031B50 83A20000 */ lb $v0, ($sp) + +/* 032754 80031B54 00000000 */ nop +/* 032758 80031B58 00000000 */ nop +/* 03275C 80031B5C 00000000 */ nop + diff --git a/asm/unknown_0255E0.s b/asm/unknown_0255E0.s deleted file mode 100755 index 7b77a6a5..00000000 --- a/asm/unknown_0255E0.s +++ /dev/null @@ -1,14355 +0,0 @@ -.include "globals.inc" -.include "macros.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # dont insert nops after branches -.set gp=64 # 64-bit instructions are used - -#glabel func_800249E0 -#/* 0255E0 800249E0 3C018012 */ lui $at, %hi(D_8011D37C) # $at, 0x8012 -#/* 0255E4 800249E4 AC24D37C */ sw $a0, %lo(D_8011D37C)($at) -#/* 0255E8 800249E8 03E00008 */ jr $ra -#/* 0255EC 800249EC 00001025 */ move $v0, $zero - -glabel func_800249F0 -/* 0255F0 800249F0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0255F4 800249F4 AFBF0024 */ sw $ra, 0x24($sp) -/* 0255F8 800249F8 AFB2001C */ sw $s2, 0x1c($sp) -/* 0255FC 800249FC AFB10018 */ sw $s1, 0x18($sp) -/* 025600 80024A00 00808825 */ move $s1, $a0 -/* 025604 80024A04 00A09025 */ move $s2, $a1 -/* 025608 80024A08 AFB30020 */ sw $s3, 0x20($sp) -/* 02560C 80024A0C AFB00014 */ sw $s0, 0x14($sp) -/* 025610 80024A10 AFA60030 */ sw $a2, 0x30($sp) -/* 025614 80024A14 0C01AF6C */ jal func_8006BDB0 -/* 025618 80024A18 AFA70034 */ sw $a3, 0x34($sp) -/* 02561C 80024A1C 3C048012 */ lui $a0, %hi(D_8011B0F8) # $a0, 0x8012 -/* 025620 80024A20 3C05800E */ lui $a1, %hi(D_800DC91C) # $a1, 0x800e -/* 025624 80024A24 24A5C91C */ addiu $a1, %lo(D_800DC91C) # addiu $a1, $a1, -0x36e4 -/* 025628 80024A28 2484B0F8 */ addiu $a0, %lo(D_8011B0F8) # addiu $a0, $a0, -0x4f08 -/* 02562C 80024A2C ACA20000 */ sw $v0, ($a1) -/* 025630 80024A30 AC800000 */ sw $zero, ($a0) -/* 025634 80024A34 3C018012 */ lui $at, %hi(D_8011B100) # $at, 0x8012 -/* 025638 80024A38 AC20B100 */ sw $zero, %lo(D_8011B100)($at) -/* 02563C 80024A3C 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012 -/* 025640 80024A40 AC20B104 */ sw $zero, %lo(D_8011B104)($at) -/* 025644 80024A44 3C018012 */ lui $at, %hi(D_8011B108) # $at, 0x8012 -/* 025648 80024A48 AC20B108 */ sw $zero, %lo(D_8011B108)($at) -/* 02564C 80024A4C 3C018012 */ lui $at, %hi(D_8011B10C) # $at, 0x8012 -/* 025650 80024A50 AC20B10C */ sw $zero, %lo(D_8011B10C)($at) -/* 025654 80024A54 8CAE0000 */ lw $t6, ($a1) -/* 025658 80024A58 24010006 */ li $at, 6 -/* 02565C 80024A5C 81C3004C */ lb $v1, 0x4c($t6) -/* 025660 80024A60 00000000 */ nop -/* 025664 80024A64 10610002 */ beq $v1, $at, .L80024A70 -/* 025668 80024A68 24010007 */ li $at, 7 -/* 02566C 80024A6C 14610002 */ bne $v1, $at, .L80024A78 -.L80024A70: -/* 025670 80024A70 240F0001 */ li $t7, 1 -/* 025674 80024A74 AC8F0000 */ sw $t7, ($a0) -.L80024A78: -/* 025678 80024A78 0C00B031 */ jal func_8002C0C4 -/* 02567C 80024A7C 02202025 */ move $a0, $s1 -/* 025680 80024A80 8FB80030 */ lw $t8, 0x30($sp) -/* 025684 80024A84 3C108012 */ lui $s0, %hi(D_8011D384) # $s0, 0x8012 -/* 025688 80024A88 2610D384 */ addiu $s0, %lo(D_8011D384) # addiu $s0, $s0, -0x2c7c -/* 02568C 80024A8C 2B010002 */ slti $at, $t8, 2 -/* 025690 80024A90 1020001E */ beqz $at, .L80024B0C -/* 025694 80024A94 AE000000 */ sw $zero, ($s0) -/* 025698 80024A98 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02569C 80024A9C 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 0256A0 80024AA0 00003025 */ move $a2, $zero -/* 0256A4 80024AA4 8444001A */ lh $a0, 0x1a($v0) -/* 0256A8 80024AA8 00001825 */ move $v1, $zero -/* 0256AC 80024AAC 18800017 */ blez $a0, .L80024B0C -/* 0256B0 80024AB0 24050001 */ li $a1, 1 -.L80024AB4: -/* 0256B4 80024AB4 8C590004 */ lw $t9, 4($v0) -/* 0256B8 80024AB8 24C60001 */ addiu $a2, $a2, 1 -/* 0256BC 80024ABC 03234021 */ addu $t0, $t9, $v1 -/* 0256C0 80024AC0 8109002B */ lb $t1, 0x2b($t0) -/* 0256C4 80024AC4 00000000 */ nop -/* 0256C8 80024AC8 1120000E */ beqz $t1, .L80024B04 -/* 0256CC 80024ACC 00C4082A */ slt $at, $a2, $a0 -/* 0256D0 80024AD0 8E0A0000 */ lw $t2, ($s0) -/* 0256D4 80024AD4 00000000 */ nop -/* 0256D8 80024AD8 254B0001 */ addiu $t3, $t2, 1 -/* 0256DC 80024ADC AE0B0000 */ sw $t3, ($s0) -/* 0256E0 80024AE0 8C4C0004 */ lw $t4, 4($v0) -/* 0256E4 80024AE4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 0256E8 80024AE8 01836821 */ addu $t5, $t4, $v1 -/* 0256EC 80024AEC A1A5002B */ sb $a1, 0x2b($t5) -/* 0256F0 80024AF0 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 0256F4 80024AF4 00000000 */ nop -/* 0256F8 80024AF8 8444001A */ lh $a0, 0x1a($v0) -/* 0256FC 80024AFC 00000000 */ nop -/* 025700 80024B00 00C4082A */ slt $at, $a2, $a0 -.L80024B04: -/* 025704 80024B04 1420FFEB */ bnez $at, .L80024AB4 -/* 025708 80024B08 24630044 */ addiu $v1, $v1, 0x44 -.L80024B0C: -/* 02570C 80024B0C 0C027B20 */ jal func_8009EC80 -/* 025710 80024B10 00000000 */ nop -/* 025714 80024B14 1040000B */ beqz $v0, .L80024B44 -/* 025718 80024B18 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e -/* 02571C 80024B1C 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6) -/* 025720 80024B20 00000000 */ nop -/* 025724 80024B24 81C3004C */ lb $v1, 0x4c($t6) -/* 025728 80024B28 00000000 */ nop -/* 02572C 80024B2C 10600003 */ beqz $v1, .L80024B3C -/* 025730 80024B30 306F0040 */ andi $t7, $v1, 0x40 -/* 025734 80024B34 11E00004 */ beqz $t7, .L80024B48 -/* 025738 80024B38 8FA60030 */ lw $a2, 0x30($sp) -.L80024B3C: -/* 02573C 80024B3C 10000004 */ b .L80024B50 -/* 025740 80024B40 24060002 */ li $a2, 2 -.L80024B44: -/* 025744 80024B44 8FA60030 */ lw $a2, 0x30($sp) -.L80024B48: -/* 025748 80024B48 00000000 */ nop -/* 02574C 80024B4C 24C60001 */ addiu $a2, $a2, 1 -.L80024B50: -/* 025750 80024B50 8E180000 */ lw $t8, ($s0) -/* 025754 80024B54 00000000 */ nop -/* 025758 80024B58 13000006 */ beqz $t8, .L80024B74 -/* 02575C 80024B5C 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e -/* 025760 80024B60 3C05800E */ lui $a1, %hi(D_800DC91C) # $a1, 0x800e -/* 025764 80024B64 8CA5C91C */ lw $a1, %lo(D_800DC91C)($a1) -/* 025768 80024B68 8C84C918 */ lw $a0, %lo(D_800DC918)($a0) -/* 02576C 80024B6C 0C02E0AD */ jal func_800B82B4 -/* 025770 80024B70 00000000 */ nop -.L80024B74: -/* 025774 80024B74 8FA40030 */ lw $a0, 0x30($sp) -/* 025778 80024B78 0C01994B */ jal func_8006652C -/* 02577C 80024B7C 00000000 */ nop -/* 025780 80024B80 0C009FF1 */ jal func_80027FC4 -/* 025784 80024B84 02402025 */ move $a0, $s2 -/* 025788 80024B88 3C018012 */ lui $at, %hi(D_8011B110) # $at, 0x8012 -/* 02578C 80024B8C AC20B110 */ sw $zero, %lo(D_8011B110)($at) -/* 025790 80024B90 3C018012 */ lui $at, %hi(D_8011B114) # $at, 0x8012 -/* 025794 80024B94 3C190001 */ lui $t9, 1 -/* 025798 80024B98 0C0044E4 */ jal func_80011390 -/* 02579C 80024B9C AC39B114 */ sw $t9, %lo(D_8011B114)($at) -/* 0257A0 80024BA0 8FA40040 */ lw $a0, 0x40($sp) -/* 0257A4 80024BA4 0C00323E */ jal func_8000C8F8 -/* 0257A8 80024BA8 00002825 */ move $a1, $zero -/* 0257AC 80024BAC 8FA4003C */ lw $a0, 0x3c($sp) -/* 0257B0 80024BB0 0C00323E */ jal func_8000C8F8 -/* 0257B4 80024BB4 24050001 */ li $a1, 1 -/* 0257B8 80024BB8 8FB00038 */ lw $s0, 0x38($sp) -/* 0257BC 80024BBC 8FA80030 */ lw $t0, 0x30($sp) -/* 0257C0 80024BC0 3C138012 */ lui $s3, %hi(D_8011D37C) # $s3, 0x8012 -/* 0257C4 80024BC4 2673D37C */ addiu $s3, %lo(D_8011D37C) # addiu $s3, $s3, -0x2c84 -/* 0257C8 80024BC8 8FA40034 */ lw $a0, 0x34($sp) -/* 0257CC 80024BCC 8FA60030 */ lw $a2, 0x30($sp) -/* 0257D0 80024BD0 02002825 */ move $a1, $s0 -/* 0257D4 80024BD4 0C00331F */ jal func_8000CC7C -/* 0257D8 80024BD8 AE680000 */ sw $t0, ($s3) -/* 0257DC 80024BDC 24040048 */ li $a0, 72 -/* 0257E0 80024BE0 0C002C08 */ jal func_8000B020 -/* 0257E4 80024BE4 24050040 */ li $a1, 64 -/* 0257E8 80024BE8 16200008 */ bnez $s1, .L80024C0C -/* 0257EC 80024BEC 3C04800E */ lui $a0, 0x800e -/* 0257F0 80024BF0 16000006 */ bnez $s0, .L80024C0C -/* 0257F4 80024BF4 00000000 */ nop -/* 0257F8 80024BF8 3C04800E */ lui $a0, %hi(D_800DC87C) # $a0, 0x800e -/* 0257FC 80024BFC 0C030076 */ jal func_800C01D8 -/* 025800 80024C00 2484C87C */ addiu $a0, %lo(D_800DC87C) # addiu $a0, $a0, -0x3784 -/* 025804 80024C04 10000004 */ b .L80024C18 -/* 025808 80024C08 8E640000 */ lw $a0, ($s3) -.L80024C0C: -/* 02580C 80024C0C 0C030076 */ jal func_800C01D8 -/* 025810 80024C10 2484C874 */ addiu $a0, $a0, -0x378c -/* 025814 80024C14 8E640000 */ lw $a0, ($s3) -.L80024C18: -/* 025818 80024C18 0C01994B */ jal func_8006652C -/* 02581C 80024C1C 00000000 */ nop -/* 025820 80024C20 8E690000 */ lw $t1, ($s3) -/* 025824 80024C24 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 -/* 025828 80024C28 3C13FFFF */ lui $s3, (0xFFFF00FF >> 16) # lui $s3, 0xffff -/* 02582C 80024C2C 3C118012 */ lui $s1, %hi(D_8011D350) # $s1, 0x8012 -/* 025830 80024C30 3C128012 */ lui $s2, %hi(D_8011D320) # $s2, 0x8012 -/* 025834 80024C34 3C108012 */ lui $s0, %hi(D_8011D338) # $s0, 0x8012 -/* 025838 80024C38 AC20B0FC */ sw $zero, %lo(D_8011B0FC)($at) -/* 02583C 80024C3C 2610D338 */ addiu $s0, %lo(D_8011D338) # addiu $s0, $s0, -0x2cc8 -/* 025840 80024C40 2652D320 */ addiu $s2, %lo(D_8011D320) # addiu $s2, $s2, -0x2ce0 -/* 025844 80024C44 2631D350 */ addiu $s1, %lo(D_8011D350) # addiu $s1, $s1, -0x2cb0 -/* 025848 80024C48 367300FF */ ori $s3, (0xFFFF00FF & 0xFFFF) # ori $s3, $s3, 0xff -/* 02584C 80024C4C AFA90030 */ sw $t1, 0x30($sp) -.L80024C50: -/* 025850 80024C50 24040C80 */ li $a0, 3200 -/* 025854 80024C54 0C01C327 */ jal func_80070C9C -/* 025858 80024C58 02602825 */ move $a1, $s3 -/* 02585C 80024C5C AE220000 */ sw $v0, ($s1) -/* 025860 80024C60 24043200 */ li $a0, 12800 -/* 025864 80024C64 0C01C327 */ jal func_80070C9C -/* 025868 80024C68 02602825 */ move $a1, $s3 -/* 02586C 80024C6C AE420000 */ sw $v0, ($s2) -/* 025870 80024C70 24044E20 */ li $a0, 20000 -/* 025874 80024C74 0C01C327 */ jal func_80070C9C -/* 025878 80024C78 02602825 */ move $a1, $s3 -/* 02587C 80024C7C 3C0A8012 */ lui $t2, %hi(D_8011D348) # $t2, 0x8012 -/* 025880 80024C80 254AD348 */ addiu $t2, %lo(D_8011D348) # addiu $t2, $t2, -0x2cb8 -/* 025884 80024C84 26100004 */ addiu $s0, $s0, 4 -/* 025888 80024C88 26310004 */ addiu $s1, $s1, 4 -/* 02588C 80024C8C 26520004 */ addiu $s2, $s2, 4 -/* 025890 80024C90 160AFFEF */ bne $s0, $t2, .L80024C50 -/* 025894 80024C94 AE02FFFC */ sw $v0, -4($s0) -/* 025898 80024C98 3C108012 */ lui $s0, %hi(D_8011B0C8) # $s0, 0x8012 -/* 02589C 80024C9C 2610B0C8 */ addiu $s0, %lo(D_8011B0C8) # addiu $s0, $s0, -0x4f38 -/* 0258A0 80024CA0 AE000000 */ sw $zero, ($s0) -/* 0258A4 80024CA4 24040001 */ li $a0, 1 -/* 0258A8 80024CA8 24050001 */ li $a1, 1 -/* 0258AC 80024CAC 0C00B637 */ jal func_8002D8DC -/* 0258B0 80024CB0 00003025 */ move $a2, $zero -/* 0258B4 80024CB4 24040002 */ li $a0, 2 -/* 0258B8 80024CB8 24050002 */ li $a1, 2 -/* 0258BC 80024CBC 0C00B637 */ jal func_8002D8DC -/* 0258C0 80024CC0 00003025 */ move $a2, $zero -/* 0258C4 80024CC4 240B0001 */ li $t3, 1 -/* 0258C8 80024CC8 AE0B0000 */ sw $t3, ($s0) -/* 0258CC 80024CCC 24040001 */ li $a0, 1 -/* 0258D0 80024CD0 24050001 */ li $a1, 1 -/* 0258D4 80024CD4 0C00B637 */ jal func_8002D8DC -/* 0258D8 80024CD8 00003025 */ move $a2, $zero -/* 0258DC 80024CDC 24040002 */ li $a0, 2 -/* 0258E0 80024CE0 24050002 */ li $a1, 2 -/* 0258E4 80024CE4 0C00B637 */ jal func_8002D8DC -/* 0258E8 80024CE8 00003025 */ move $a2, $zero -/* 0258EC 80024CEC AE000000 */ sw $zero, ($s0) -/* 0258F0 80024CF0 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e -/* 0258F4 80024CF4 8C42C91C */ lw $v0, %lo(D_800DC91C)($v0) -/* 0258F8 80024CF8 3C018012 */ lui $at, %hi(D_8011B0E1) # $at, 0x8012 -/* 0258FC 80024CFC 904C00B7 */ lbu $t4, 0xb7($v0) -/* 025900 80024D00 00000000 */ nop -/* 025904 80024D04 1180000D */ beqz $t4, .L80024D3C -/* 025908 80024D08 8FBF0024 */ lw $ra, 0x24($sp) -/* 02590C 80024D0C 904D00B4 */ lbu $t5, 0xb4($v0) -/* 025910 80024D10 8FA40030 */ lw $a0, 0x30($sp) -/* 025914 80024D14 A02DB0E1 */ sb $t5, %lo(D_8011B0E1)($at) -/* 025918 80024D18 904E00B5 */ lbu $t6, 0xb5($v0) -/* 02591C 80024D1C 3C018012 */ lui $at, %hi(D_8011B0E2) # $at, 0x8012 -/* 025920 80024D20 A02EB0E2 */ sb $t6, %lo(D_8011B0E2)($at) -/* 025924 80024D24 904F00B6 */ lbu $t7, 0xb6($v0) -/* 025928 80024D28 3C018012 */ lui $at, %hi(D_8011B0E3) # $at, 0x8012 -/* 02592C 80024D2C 24840001 */ addiu $a0, $a0, 1 -/* 025930 80024D30 0C009544 */ jal func_80025510 -/* 025934 80024D34 A02FB0E3 */ sb $t7, %lo(D_8011B0E3)($at) -/* 025938 80024D38 8FBF0024 */ lw $ra, 0x24($sp) -.L80024D3C: -/* 02593C 80024D3C 8FB00014 */ lw $s0, 0x14($sp) -/* 025940 80024D40 8FB10018 */ lw $s1, 0x18($sp) -/* 025944 80024D44 8FB2001C */ lw $s2, 0x1c($sp) -/* 025948 80024D48 8FB30020 */ lw $s3, 0x20($sp) -/* 02594C 80024D4C 03E00008 */ jr $ra -/* 025950 80024D50 27BD0028 */ addiu $sp, $sp, 0x28 - -glabel D_80024D54 -/* 025954 80024D54 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 025958 80024D58 AFB10020 */ sw $s1, 0x20($sp) -/* 02595C 80024D5C AFBF002C */ sw $ra, 0x2c($sp) -/* 025960 80024D60 AFB30028 */ sw $s3, 0x28($sp) -/* 025964 80024D64 AFB20024 */ sw $s2, 0x24($sp) -/* 025968 80024D68 AFB0001C */ sw $s0, 0x1c($sp) -/* 02596C 80024D6C AFA40090 */ sw $a0, 0x90($sp) -/* 025970 80024D70 AFA50094 */ sw $a1, 0x94($sp) -/* 025974 80024D74 AFA60098 */ sw $a2, 0x98($sp) -/* 025978 80024D78 AFA7009C */ sw $a3, 0x9c($sp) -/* 02597C 80024D7C 8C8F0000 */ lw $t7, ($a0) -/* 025980 80024D80 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 -/* 025984 80024D84 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 -/* 025988 80024D88 AE2F0000 */ sw $t7, ($s1) -/* 02598C 80024D8C 8CB90000 */ lw $t9, ($a1) -/* 025990 80024D90 3C128012 */ lui $s2, %hi(D_8011B0A4) # $s2, 0x8012 -/* 025994 80024D94 2652B0A4 */ addiu $s2, %lo(D_8011B0A4) # addiu $s2, $s2, -0x4f5c -/* 025998 80024D98 AE590000 */ sw $t9, ($s2) -/* 02599C 80024D9C 8CCB0000 */ lw $t3, ($a2) -/* 0259A0 80024DA0 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 -/* 0259A4 80024DA4 AC2BB0A8 */ sw $t3, %lo(D_8011B0A8)($at) -/* 0259A8 80024DA8 8CED0000 */ lw $t5, ($a3) -/* 0259AC 80024DAC 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 -/* 0259B0 80024DB0 AC2DB0AC */ sw $t5, %lo(D_8011B0AC)($at) -/* 0259B4 80024DB4 3C018012 */ lui $at, %hi(D_8011B0DC) # $at, 0x8012 -/* 0259B8 80024DB8 240E0001 */ li $t6, 1 -/* 0259BC 80024DBC AC2EB0DC */ sw $t6, %lo(D_8011B0DC)($at) -/* 0259C0 80024DC0 3C018012 */ lui $at, %hi(D_8011B0C4) # $at, 0x8012 -/* 0259C4 80024DC4 AC20B0C4 */ sw $zero, %lo(D_8011B0C4)($at) -/* 0259C8 80024DC8 3C018012 */ lui $at, %hi(D_8011B0C0) # $at, 0x8012 -/* 0259CC 80024DCC AC20B0C0 */ sw $zero, %lo(D_8011B0C0)($at) -/* 0259D0 80024DD0 3C048012 */ lui $a0, %hi(D_8011D37C) # $a0, 0x8012 -/* 0259D4 80024DD4 3C018012 */ lui $at, %hi(D_8011B0BC) # $at, 0x8012 -/* 0259D8 80024DD8 8C84D37C */ lw $a0, %lo(D_8011D37C)($a0) -/* 0259DC 80024DDC 0C01994B */ jal func_8006652C -/* 0259E0 80024DE0 AC20B0BC */ sw $zero, %lo(D_8011B0BC)($at) -/* 0259E4 80024DE4 0C01BAA8 */ jal func_8006EAA0 -/* 0259E8 80024DE8 00409825 */ move $s3, $v0 -/* 0259EC 80024DEC 10400003 */ beqz $v0, .L80024DFC -/* 0259F0 80024DF0 3C188012 */ lui $t8, %hi(D_8011D384) # $t8, 0x8012 -/* 0259F4 80024DF4 10000004 */ b .L80024E08 -/* 0259F8 80024DF8 AFA00084 */ sw $zero, 0x84($sp) -.L80024DFC: -/* 0259FC 80024DFC 8FAF00A0 */ lw $t7, 0xa0($sp) -/* 025A00 80024E00 00000000 */ nop -/* 025A04 80024E04 AFAF0084 */ sw $t7, 0x84($sp) -.L80024E08: -/* 025A08 80024E08 8F18D384 */ lw $t8, %lo(D_8011D384)($t8) -/* 025A0C 80024E0C 00000000 */ nop -/* 025A10 80024E10 13000005 */ beqz $t8, .L80024E28 -/* 025A14 80024E14 8FA600A0 */ lw $a2, 0xa0($sp) -/* 025A18 80024E18 8FA40084 */ lw $a0, 0x84($sp) -/* 025A1C 80024E1C 0C02E706 */ jal func_800B9C18 -/* 025A20 80024E20 00000000 */ nop -/* 025A24 80024E24 8FA600A0 */ lw $a2, 0xa0($sp) -.L80024E28: -/* 025A28 80024E28 24040002 */ li $a0, 2 -/* 025A2C 80024E2C 0C00B637 */ jal func_8002D8DC -/* 025A30 80024E30 24050002 */ li $a1, 2 -/* 025A34 80024E34 3C03800E */ lui $v1, %hi(D_800DC91C) # $v1, 0x800e -/* 025A38 80024E38 8C63C91C */ lw $v1, %lo(D_800DC91C)($v1) -/* 025A3C 80024E3C 00001025 */ move $v0, $zero -/* 025A40 80024E40 0062C821 */ addu $t9, $v1, $v0 -.L80024E44: -/* 025A44 80024E44 8F240074 */ lw $a0, 0x74($t9) -/* 025A48 80024E48 2401FFFF */ li $at, -1 -/* 025A4C 80024E4C 10810008 */ beq $a0, $at, .L80024E70 -/* 025A50 80024E50 00000000 */ nop -/* 025A54 80024E54 8FA50084 */ lw $a1, 0x84($sp) -/* 025A58 80024E58 0C01FC93 */ jal func_8007F24C -/* 025A5C 80024E5C AFA20034 */ sw $v0, 0x34($sp) -/* 025A60 80024E60 3C03800E */ lui $v1, %hi(D_800DC91C) # $v1, 0x800e -/* 025A64 80024E64 8C63C91C */ lw $v1, %lo(D_800DC91C)($v1) -/* 025A68 80024E68 8FA20034 */ lw $v0, 0x34($sp) -/* 025A6C 80024E6C 00000000 */ nop -.L80024E70: -/* 025A70 80024E70 24420004 */ addiu $v0, $v0, 4 -/* 025A74 80024E74 2841001C */ slti $at, $v0, 0x1c -/* 025A78 80024E78 1420FFF2 */ bnez $at, .L80024E44 -/* 025A7C 80024E7C 0062C821 */ addu $t9, $v1, $v0 -/* 025A80 80024E80 8C6400AC */ lw $a0, 0xac($v1) -/* 025A84 80024E84 2401FFFF */ li $at, -1 -/* 025A88 80024E88 10810007 */ beq $a0, $at, .L80024EA8 -/* 025A8C 80024E8C 00000000 */ nop -/* 025A90 80024E90 8FA50084 */ lw $a1, 0x84($sp) -/* 025A94 80024E94 0C01FD18 */ jal func_8007F460 -/* 025A98 80024E98 00000000 */ nop -/* 025A9C 80024E9C 3C03800E */ lui $v1, %hi(D_800DC91C) # $v1, 0x800e -/* 025AA0 80024EA0 8C63C91C */ lw $v1, %lo(D_800DC91C)($v1) -/* 025AA4 80024EA4 00000000 */ nop -.L80024EA8: -/* 025AA8 80024EA8 3C048012 */ lui $a0, %hi(D_8011B0E0) # $a0, 0x8012 -/* 025AAC 80024EAC 2484B0E0 */ addiu $a0, %lo(D_8011B0E0) # addiu $a0, $a0, -0x4f20 -/* 025AB0 80024EB0 24090001 */ li $t1, 1 -/* 025AB4 80024EB4 A0890000 */ sb $t1, ($a0) -/* 025AB8 80024EB8 8062004C */ lb $v0, 0x4c($v1) -/* 025ABC 80024EBC 24010007 */ li $at, 7 -/* 025AC0 80024EC0 14410007 */ bne $v0, $at, .L80024EE0 -/* 025AC4 80024EC4 24010006 */ li $at, 6 -/* 025AC8 80024EC8 A0800000 */ sb $zero, ($a0) -/* 025ACC 80024ECC 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 -/* 025AD0 80024ED0 AC29B0FC */ sw $t1, %lo(D_8011B0FC)($at) -/* 025AD4 80024ED4 8062004C */ lb $v0, 0x4c($v1) -/* 025AD8 80024ED8 00000000 */ nop -/* 025ADC 80024EDC 24010006 */ li $at, 6 -.L80024EE0: -/* 025AE0 80024EE0 10410004 */ beq $v0, $at, .L80024EF4 -/* 025AE4 80024EE4 00000000 */ nop -/* 025AE8 80024EE8 806A00BD */ lb $t2, 0xbd($v1) -/* 025AEC 80024EEC 00000000 */ nop -/* 025AF0 80024EF0 11400002 */ beqz $t2, .L80024EFC -.L80024EF4: -/* 025AF4 80024EF4 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 -/* 025AF8 80024EF8 AC29B0FC */ sw $t1, %lo(D_8011B0FC)($at) -.L80024EFC: -/* 025AFC 80024EFC 806B0049 */ lb $t3, 0x49($v1) -/* 025B00 80024F00 2401FFFF */ li $at, -1 -/* 025B04 80024F04 15610025 */ bne $t3, $at, .L80024F9C -/* 025B08 80024F08 00000000 */ nop -/* 025B0C 80024F0C 8FA70084 */ lw $a3, 0x84($sp) -/* 025B10 80024F10 806F00A2 */ lb $t7, 0xa2($v1) -/* 025B14 80024F14 8C6C00A4 */ lw $t4, 0xa4($v1) -/* 025B18 80024F18 01E70019 */ multu $t7, $a3 -/* 025B1C 80024F1C 91880000 */ lbu $t0, ($t4) -/* 025B20 80024F20 846E00A8 */ lh $t6, 0xa8($v1) -/* 025B24 80024F24 00086A40 */ sll $t5, $t0, 9 -/* 025B28 80024F28 25A8FFFF */ addiu $t0, $t5, -1 -/* 025B2C 80024F2C 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e -/* 025B30 80024F30 2442C91C */ addiu $v0, %lo(D_800DC91C) # addiu $v0, $v0, -0x36e4 -/* 025B34 80024F34 3C058012 */ lui $a1, %hi(D_8011B114) # $a1, 0x8012 -/* 025B38 80024F38 3C068012 */ lui $a2, %hi(D_8011B110) # $a2, 0x8012 -/* 025B3C 80024F3C 24C6B110 */ addiu $a2, %lo(D_8011B110) # addiu $a2, $a2, -0x4ef0 -/* 025B40 80024F40 24A5B114 */ addiu $a1, %lo(D_8011B114) # addiu $a1, $a1, -0x4eec -/* 025B44 80024F44 0000C012 */ mflo $t8 -/* 025B48 80024F48 01D8C821 */ addu $t9, $t6, $t8 -/* 025B4C 80024F4C 03285024 */ and $t2, $t9, $t0 -/* 025B50 80024F50 A46A00A8 */ sh $t2, 0xa8($v1) -/* 025B54 80024F54 8C430000 */ lw $v1, ($v0) -/* 025B58 80024F58 00000000 */ nop -/* 025B5C 80024F5C 806F00A3 */ lb $t7, 0xa3($v1) -/* 025B60 80024F60 8C6B00A4 */ lw $t3, 0xa4($v1) -/* 025B64 80024F64 01E70019 */ multu $t7, $a3 -/* 025B68 80024F68 91680001 */ lbu $t0, 1($t3) -/* 025B6C 80024F6C 846D00AA */ lh $t5, 0xaa($v1) -/* 025B70 80024F70 00086240 */ sll $t4, $t0, 9 -/* 025B74 80024F74 2588FFFF */ addiu $t0, $t4, -1 -/* 025B78 80024F78 00007012 */ mflo $t6 -/* 025B7C 80024F7C 01AEC021 */ addu $t8, $t5, $t6 -/* 025B80 80024F80 0308C824 */ and $t9, $t8, $t0 -/* 025B84 80024F84 A47900AA */ sh $t9, 0xaa($v1) -/* 025B88 80024F88 8C4A0000 */ lw $t2, ($v0) -/* 025B8C 80024F8C 00000000 */ nop -/* 025B90 80024F90 8D4400A4 */ lw $a0, 0xa4($t2) -/* 025B94 80024F94 0C01FBE0 */ jal func_8007EF80 -/* 025B98 80024F98 00000000 */ nop -.L80024F9C: -/* 025B9C 80024F9C 0C0270C3 */ jal func_8009C30C -/* 025BA0 80024FA0 A3A00083 */ sb $zero, 0x83($sp) -/* 025BA4 80024FA4 304B0004 */ andi $t3, $v0, 4 -/* 025BA8 80024FA8 11600003 */ beqz $t3, .L80024FB8 -/* 025BAC 80024FAC 3C0FA000 */ lui $t7, %hi(D_A0000200) # $t7, 0xa000 -/* 025BB0 80024FB0 240C0001 */ li $t4, 1 -/* 025BB4 80024FB4 A3AC0083 */ sb $t4, 0x83($sp) -.L80024FB8: -/* 025BB8 80024FB8 8DED0200 */ lw $t5, %lo(D_A0000200)($t7) -/* 025BBC 80024FBC 3C01AC29 */ lui $at, 0xac29 -/* 025BC0 80024FC0 11A10002 */ beq $t5, $at, .L80024FCC -/* 025BC4 80024FC4 240E0001 */ li $t6, 1 -/* 025BC8 80024FC8 A3AE0083 */ sb $t6, 0x83($sp) -.L80024FCC: -/* 025BCC 80024FCC 0C01ECF4 */ jal func_8007B3D0 -/* 025BD0 80024FD0 02202025 */ move $a0, $s1 -/* 025BD4 80024FD4 8E220000 */ lw $v0, ($s1) -/* 025BD8 80024FD8 3C19BC00 */ lui $t9, (0xBC000002 >> 16) # lui $t9, 0xbc00 -/* 025BDC 80024FDC 24580008 */ addiu $t8, $v0, 8 -/* 025BE0 80024FE0 AE380000 */ sw $t8, ($s1) -/* 025BE4 80024FE4 37390002 */ ori $t9, (0xBC000002 & 0xFFFF) # ori $t9, $t9, 2 -/* 025BE8 80024FE8 AC590000 */ sw $t9, ($v0) -/* 025BEC 80024FEC AC400004 */ sw $zero, 4($v0) -/* 025BF0 80024FF0 8E220000 */ lw $v0, ($s1) -/* 025BF4 80024FF4 3C0BB600 */ lui $t3, 0xb600 -/* 025BF8 80024FF8 244A0008 */ addiu $t2, $v0, 8 -/* 025BFC 80024FFC AE2A0000 */ sw $t2, ($s1) -/* 025C00 80025000 240C1000 */ li $t4, 4096 -/* 025C04 80025004 AC4C0004 */ sw $t4, 4($v0) -/* 025C08 80025008 AC4B0000 */ sw $t3, ($v0) -/* 025C0C 8002500C 8E220000 */ lw $v0, ($s1) -/* 025C10 80025010 3C0DF900 */ lui $t5, 0xf900 -/* 025C14 80025014 244F0008 */ addiu $t7, $v0, 8 -/* 025C18 80025018 AE2F0000 */ sw $t7, ($s1) -/* 025C1C 8002501C 240E0064 */ li $t6, 100 -/* 025C20 80025020 AC4E0004 */ sw $t6, 4($v0) -/* 025C24 80025024 AC4D0000 */ sw $t5, ($v0) -/* 025C28 80025028 8E220000 */ lw $v0, ($s1) -/* 025C2C 8002502C 240AFFFF */ li $t2, -1 -/* 025C30 80025030 24580008 */ addiu $t8, $v0, 8 -/* 025C34 80025034 AE380000 */ sw $t8, ($s1) -/* 025C38 80025038 3C19FA00 */ lui $t9, 0xfa00 -/* 025C3C 8002503C AC590000 */ sw $t9, ($v0) -/* 025C40 80025040 AC4A0004 */ sw $t2, 4($v0) -/* 025C44 80025044 8E220000 */ lw $v0, ($s1) -/* 025C48 80025048 240FFF00 */ li $t7, -256 -/* 025C4C 8002504C 244B0008 */ addiu $t3, $v0, 8 -/* 025C50 80025050 AE2B0000 */ sw $t3, ($s1) -/* 025C54 80025054 3C0CFB00 */ lui $t4, 0xfb00 -/* 025C58 80025058 AC4C0000 */ sw $t4, ($v0) -/* 025C5C 8002505C 0C02B503 */ jal func_800AD40C -/* 025C60 80025060 AC4F0004 */ sw $t7, 4($v0) -/* 025C64 80025064 8FA50084 */ lw $a1, 0x84($sp) -/* 025C68 80025068 0C00C20E */ jal func_80030838 -/* 025C6C 8002506C 02602025 */ move $a0, $s3 -/* 025C70 80025070 8FA40084 */ lw $a0, 0x84($sp) -/* 025C74 80025074 0C02BD01 */ jal func_800AF404 -/* 025C78 80025078 00000000 */ nop -/* 025C7C 8002507C 3C0D800E */ lui $t5, %hi(D_800DC918) # $t5, 0x800e -/* 025C80 80025080 8DADC918 */ lw $t5, %lo(D_800DC918)($t5) -/* 025C84 80025084 8FA40084 */ lw $a0, 0x84($sp) -/* 025C88 80025088 85AE001E */ lh $t6, 0x1e($t5) -/* 025C8C 8002508C 00000000 */ nop -/* 025C90 80025090 19C00003 */ blez $t6, .L800250A0 -/* 025C94 80025094 00000000 */ nop -/* 025C98 80025098 0C009F89 */ jal func_80027E24 -/* 025C9C 8002509C 00000000 */ nop -.L800250A0: -/* 025CA0 800250A0 3C108012 */ lui $s0, %hi(D_8011B0B4) # $s0, 0x8012 -/* 025CA4 800250A4 2610B0B4 */ addiu $s0, %lo(D_8011B0B4) # addiu $s0, $s0, -0x4f4c -/* 025CA8 800250A8 0013082A */ slt $at, $zero, $s3 -/* 025CAC 800250AC AE000000 */ sw $zero, ($s0) -/* 025CB0 800250B0 1020007E */ beqz $at, .L800252AC -/* 025CB4 800250B4 00001025 */ move $v0, $zero -.L800250B8: -/* 025CB8 800250B8 14400009 */ bnez $v0, .L800250E0 -/* 025CBC 800250BC 83B90083 */ lb $t9, 0x83($sp) -/* 025CC0 800250C0 0C003861 */ jal func_8000E184 -/* 025CC4 800250C4 00000000 */ nop -/* 025CC8 800250C8 10400004 */ beqz $v0, .L800250DC -/* 025CCC 800250CC 24010001 */ li $at, 1 -/* 025CD0 800250D0 16610002 */ bne $s3, $at, .L800250DC -/* 025CD4 800250D4 24180001 */ li $t8, 1 -/* 025CD8 800250D8 AE180000 */ sw $t8, ($s0) -.L800250DC: -/* 025CDC 800250DC 83B90083 */ lb $t9, 0x83($sp) -.L800250E0: -/* 025CE0 800250E0 3C0BB700 */ lui $t3, 0xb700 -/* 025CE4 800250E4 13200007 */ beqz $t9, .L80025104 -/* 025CE8 800250E8 00000000 */ nop -/* 025CEC 800250EC 8E220000 */ lw $v0, ($s1) -/* 025CF0 800250F0 240C1000 */ li $t4, 4096 -/* 025CF4 800250F4 244A0008 */ addiu $t2, $v0, 8 -/* 025CF8 800250F8 AE2A0000 */ sw $t2, ($s1) -/* 025CFC 800250FC AC4C0004 */ sw $t4, 4($v0) -/* 025D00 80025100 AC4B0000 */ sw $t3, ($v0) -.L80025104: -/* 025D04 80025104 8E040000 */ lw $a0, ($s0) -/* 025D08 80025108 0C00C24F */ jal func_8003093C -/* 025D0C 8002510C 00000000 */ nop -/* 025D10 80025110 8E220000 */ lw $v0, ($s1) -/* 025D14 80025114 3C0DE700 */ lui $t5, 0xe700 -/* 025D18 80025118 244F0008 */ addiu $t7, $v0, 8 -/* 025D1C 8002511C AE2F0000 */ sw $t7, ($s1) -/* 025D20 80025120 AC400004 */ sw $zero, 4($v0) -/* 025D24 80025124 AC4D0000 */ sw $t5, ($v0) -/* 025D28 80025128 8E040000 */ lw $a0, ($s0) -/* 025D2C 8002512C 0C01997A */ jal func_800665E8 -/* 025D30 80025130 00000000 */ nop -/* 025D34 80025134 02202025 */ move $a0, $s1 -/* 025D38 80025138 0C019B37 */ jal func_80066CDC -/* 025D3C 8002513C 02402825 */ move $a1, $s2 -/* 025D40 80025140 0C00A8C7 */ jal func_8002A31C -/* 025D44 80025144 00000000 */ nop -/* 025D48 80025148 2A610002 */ slti $at, $s3, 2 -/* 025D4C 8002514C 10200013 */ beqz $at, .L8002519C -/* 025D50 80025150 02202025 */ move $a0, $s1 -/* 025D54 80025154 02202025 */ move $a0, $s1 -/* 025D58 80025158 0C01A102 */ jal func_80068408 -/* 025D5C 8002515C 02402825 */ move $a1, $s2 -/* 025D60 80025160 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e -/* 025D64 80025164 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6) -/* 025D68 80025168 2401FFFF */ li $at, -1 -/* 025D6C 8002516C 81D80049 */ lb $t8, 0x49($t6) -/* 025D70 80025170 00000000 */ nop -/* 025D74 80025174 17010005 */ bne $t8, $at, .L8002518C -/* 025D78 80025178 00000000 */ nop -/* 025D7C 8002517C 0C00A014 */ jal func_80028050 -/* 025D80 80025180 00000000 */ nop -/* 025D84 80025184 10000010 */ b .L800251C8 -/* 025D88 80025188 8E220000 */ lw $v0, ($s1) -.L8002518C: -/* 025D8C 8002518C 0C00A304 */ jal func_80028C10 -/* 025D90 80025190 00000000 */ nop -/* 025D94 80025194 1000000C */ b .L800251C8 -/* 025D98 80025198 8E220000 */ lw $v0, ($s1) -.L8002519C: -/* 025D9C 8002519C 0C01A01F */ jal func_8006807C -/* 025DA0 800251A0 02402825 */ move $a1, $s2 -/* 025DA4 800251A4 0C00A26E */ jal func_800289B8 -/* 025DA8 800251A8 00000000 */ nop -/* 025DAC 800251AC 02202025 */ move $a0, $s1 -/* 025DB0 800251B0 0C019F4F */ jal func_80067D3C -/* 025DB4 800251B4 02402825 */ move $a1, $s2 -/* 025DB8 800251B8 02202025 */ move $a0, $s1 -/* 025DBC 800251BC 0C01A102 */ jal func_80068408 -/* 025DC0 800251C0 02402825 */ move $a1, $s2 -/* 025DC4 800251C4 8E220000 */ lw $v0, ($s1) -.L800251C8: -/* 025DC8 800251C8 3C0AE700 */ lui $t2, 0xe700 -/* 025DCC 800251CC 24590008 */ addiu $t9, $v0, 8 -/* 025DD0 800251D0 AE390000 */ sw $t9, ($s1) -/* 025DD4 800251D4 AC400004 */ sw $zero, 4($v0) -/* 025DD8 800251D8 AC4A0000 */ sw $t2, ($v0) -/* 025DDC 800251DC 8FA400A0 */ lw $a0, 0xa0($sp) -/* 025DE0 800251E0 0C00A334 */ jal func_80028CD0 -/* 025DE4 800251E4 00000000 */ nop -/* 025DE8 800251E8 2404FFFF */ li $a0, -1 -/* 025DEC 800251EC 0C02ACC2 */ jal func_800AB308 -/* 025DF0 800251F0 2405FE00 */ li $a1, -512 -/* 025DF4 800251F4 3C0B800E */ lui $t3, %hi(D_800DC91C) # $t3, 0x800e -/* 025DF8 800251F8 8D6BC91C */ lw $t3, %lo(D_800DC91C)($t3) -/* 025DFC 800251FC 2A610002 */ slti $at, $s3, 2 -/* 025E00 80025200 856C0090 */ lh $t4, 0x90($t3) -/* 025E04 80025204 00000000 */ nop -/* 025E08 80025208 1980000B */ blez $t4, .L80025238 -/* 025E0C 8002520C 00000000 */ nop -/* 025E10 80025210 10200009 */ beqz $at, .L80025238 -/* 025E14 80025214 02202025 */ move $a0, $s1 -/* 025E18 80025218 8FAF0084 */ lw $t7, 0x84($sp) -/* 025E1C 8002521C 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 -/* 025E20 80025220 3C078012 */ lui $a3, %hi(D_8011B0AC) # $a3, 0x8012 -/* 025E24 80025224 24E7B0AC */ addiu $a3, %lo(D_8011B0AC) # addiu $a3, $a3, -0x4f54 -/* 025E28 80025228 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 -/* 025E2C 8002522C 02402825 */ move $a1, $s2 -/* 025E30 80025230 0C02AF9A */ jal func_800ABE68 -/* 025E34 80025234 AFAF0010 */ sw $t7, 0x10($sp) -.L80025238: -/* 025E38 80025238 0C01A748 */ jal func_80069D20 -/* 025E3C 8002523C 00000000 */ nop -/* 025E40 80025240 0C02B40C */ jal func_800AD030 -/* 025E44 80025244 00402025 */ move $a0, $v0 -/* 025E48 80025248 0C01A748 */ jal func_80069D20 -/* 025E4C 8002524C 00000000 */ nop -/* 025E50 80025250 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 -/* 025E54 80025254 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 -/* 025E58 80025258 02202025 */ move $a0, $s1 -/* 025E5C 8002525C 02402825 */ move $a1, $s2 -/* 025E60 80025260 0C02B288 */ jal func_800ACA20 -/* 025E64 80025264 00403825 */ move $a3, $v0 -/* 025E68 80025268 8E040000 */ lw $a0, ($s0) -/* 025E6C 8002526C 0C006EC6 */ jal func_8001BB18 -/* 025E70 80025270 00000000 */ nop -/* 025E74 80025274 8FAD00A0 */ lw $t5, 0xa0($sp) -/* 025E78 80025278 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 -/* 025E7C 8002527C 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 -/* 025E80 80025280 02202025 */ move $a0, $s1 -/* 025E84 80025284 02402825 */ move $a1, $s2 -/* 025E88 80025288 00403825 */ move $a3, $v0 -/* 025E8C 8002528C 0C028068 */ jal func_800A01A0 -/* 025E90 80025290 AFAD0010 */ sw $t5, 0x10($sp) -/* 025E94 80025294 8E0E0000 */ lw $t6, ($s0) -/* 025E98 80025298 00000000 */ nop -/* 025E9C 8002529C 25C20001 */ addiu $v0, $t6, 1 -/* 025EA0 800252A0 0053082A */ slt $at, $v0, $s3 -/* 025EA4 800252A4 1420FF84 */ bnez $at, .L800250B8 -/* 025EA8 800252A8 AE020000 */ sw $v0, ($s0) -.L800252AC: -/* 025EAC 800252AC 24010003 */ li $at, 3 -/* 025EB0 800252B0 1661006C */ bne $s3, $at, .L80025464 -/* 025EB4 800252B4 00000000 */ nop -/* 025EB8 800252B8 0C01AF66 */ jal func_8006BD98 -/* 025EBC 800252BC 00000000 */ nop -/* 025EC0 800252C0 24010042 */ li $at, 66 -/* 025EC4 800252C4 10410067 */ beq $v0, $at, .L80025464 -/* 025EC8 800252C8 00000000 */ nop -/* 025ECC 800252CC 0C01AF66 */ jal func_8006BD98 -/* 025ED0 800252D0 00000000 */ nop -/* 025ED4 800252D4 24010040 */ li $at, 64 -/* 025ED8 800252D8 10410062 */ beq $v0, $at, .L80025464 -/* 025EDC 800252DC 00000000 */ nop -/* 025EE0 800252E0 0C01AF66 */ jal func_8006BD98 -/* 025EE4 800252E4 00000000 */ nop -/* 025EE8 800252E8 24010041 */ li $at, 65 -/* 025EEC 800252EC 1041005D */ beq $v0, $at, .L80025464 -/* 025EF0 800252F0 00000000 */ nop -/* 025EF4 800252F4 0C02A116 */ jal func_800A8458 -/* 025EF8 800252F8 00000000 */ nop -/* 025EFC 800252FC 14400054 */ bnez $v0, .L80025450 -/* 025F00 80025300 00000000 */ nop -/* 025F04 80025304 83B90083 */ lb $t9, 0x83($sp) -/* 025F08 80025308 00000000 */ nop -/* 025F0C 8002530C 13200008 */ beqz $t9, .L80025330 -/* 025F10 80025310 00000000 */ nop -/* 025F14 80025314 8E220000 */ lw $v0, ($s1) -/* 025F18 80025318 3C0BB700 */ lui $t3, 0xb700 -/* 025F1C 8002531C 244A0008 */ addiu $t2, $v0, 8 -/* 025F20 80025320 AE2A0000 */ sw $t2, ($s1) -/* 025F24 80025324 240C1000 */ li $t4, 4096 -/* 025F28 80025328 AC4C0004 */ sw $t4, 4($v0) -/* 025F2C 8002532C AC4B0000 */ sw $t3, ($v0) -.L80025330: -/* 025F30 80025330 0C00C24F */ jal func_8003093C -/* 025F34 80025334 24040003 */ li $a0, 3 -/* 025F38 80025338 8E220000 */ lw $v0, ($s1) -/* 025F3C 8002533C 3C0DE700 */ lui $t5, 0xe700 -/* 025F40 80025340 244F0008 */ addiu $t7, $v0, 8 -/* 025F44 80025344 AE2F0000 */ sw $t7, ($s1) -/* 025F48 80025348 24040003 */ li $a0, 3 -/* 025F4C 8002534C AC400004 */ sw $zero, 4($v0) -/* 025F50 80025350 0C01997A */ jal func_800665E8 -/* 025F54 80025354 AC4D0000 */ sw $t5, ($v0) -/* 025F58 80025358 0C019948 */ jal func_80066520 -/* 025F5C 8002535C 00000000 */ nop -/* 025F60 80025360 8FA400A0 */ lw $a0, 0xa0($sp) -/* 025F64 80025364 0C009E3A */ jal func_800278E8 -/* 025F68 80025368 00000000 */ nop -/* 025F6C 8002536C 02202025 */ move $a0, $s1 -/* 025F70 80025370 0C019B37 */ jal func_80066CDC -/* 025F74 80025374 02402825 */ move $a1, $s2 -/* 025F78 80025378 0C00A8C7 */ jal func_8002A31C -/* 025F7C 8002537C 00000000 */ nop -/* 025F80 80025380 02202025 */ move $a0, $s1 -/* 025F84 80025384 0C01A01F */ jal func_8006807C -/* 025F88 80025388 02402825 */ move $a1, $s2 -/* 025F8C 8002538C 0C00A26E */ jal func_800289B8 -/* 025F90 80025390 00000000 */ nop -/* 025F94 80025394 02202025 */ move $a0, $s1 -/* 025F98 80025398 0C019F4F */ jal func_80067D3C -/* 025F9C 8002539C 02402825 */ move $a1, $s2 -/* 025FA0 800253A0 02202025 */ move $a0, $s1 -/* 025FA4 800253A4 0C01A102 */ jal func_80068408 -/* 025FA8 800253A8 02402825 */ move $a1, $s2 -/* 025FAC 800253AC 8E220000 */ lw $v0, ($s1) -/* 025FB0 800253B0 3C18E700 */ lui $t8, 0xe700 -/* 025FB4 800253B4 244E0008 */ addiu $t6, $v0, 8 -/* 025FB8 800253B8 AE2E0000 */ sw $t6, ($s1) -/* 025FBC 800253BC AC400004 */ sw $zero, 4($v0) -/* 025FC0 800253C0 AC580000 */ sw $t8, ($v0) -/* 025FC4 800253C4 8FA400A0 */ lw $a0, 0xa0($sp) -/* 025FC8 800253C8 0C00A334 */ jal func_80028CD0 -/* 025FCC 800253CC 00000000 */ nop -/* 025FD0 800253D0 2404FFFF */ li $a0, -1 -/* 025FD4 800253D4 0C02ACC2 */ jal func_800AB308 -/* 025FD8 800253D8 2405FE00 */ li $a1, -512 -/* 025FDC 800253DC 0C01A748 */ jal func_80069D20 -/* 025FE0 800253E0 00000000 */ nop -/* 025FE4 800253E4 0C02B40C */ jal func_800AD030 -/* 025FE8 800253E8 00402025 */ move $a0, $v0 -/* 025FEC 800253EC 0C01A748 */ jal func_80069D20 -/* 025FF0 800253F0 00000000 */ nop -/* 025FF4 800253F4 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 -/* 025FF8 800253F8 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 -/* 025FFC 800253FC 02202025 */ move $a0, $s1 -/* 026000 80025400 02402825 */ move $a1, $s2 -/* 026004 80025404 0C02B288 */ jal func_800ACA20 -/* 026008 80025408 00403825 */ move $a3, $v0 -/* 02600C 8002540C 0C0310BB */ jal func_800C42EC -/* 026010 80025410 00002025 */ move $a0, $zero -/* 026014 80025414 3C198000 */ lui $t9, %hi(D_80000300) # $t9, 0x8000 -/* 026018 80025418 8F390300 */ lw $t9, %lo(D_80000300)($t9) -/* 02601C 8002541C 02202025 */ move $a0, $s1 -/* 026020 80025420 17200004 */ bnez $t9, .L80025434 -/* 026024 80025424 3C07800E */ lui $a3, %hi(D_800E5DF0) # $a3, 0x800e -/* 026028 80025428 240500A6 */ li $a1, 166 -/* 02602C 8002542C 10000003 */ b .L8002543C -/* 026030 80025430 2406008A */ li $a2, 138 -.L80025434: -/* 026034 80025434 240500AA */ li $a1, 170 -/* 026038 80025438 2406007D */ li $a2, 125 -.L8002543C: -/* 02603C 8002543C 24E75DF0 */ addiu $a3, %lo(D_800E5DF0) # addiu $a3, $a3, 0x5df0 -/* 026040 80025440 0C031110 */ jal func_800C4440 -/* 026044 80025444 AFA00010 */ sw $zero, 0x10($sp) -/* 026048 80025448 10000006 */ b .L80025464 -/* 02604C 8002544C 00000000 */ nop -.L80025450: -/* 026050 80025450 0C01997A */ jal func_800665E8 -/* 026054 80025454 24040003 */ li $a0, 3 -/* 026058 80025458 8FA400A0 */ lw $a0, 0xa0($sp) -/* 02605C 8002545C 0C009E3A */ jal func_800278E8 -/* 026060 80025460 00000000 */ nop -.L80025464: -/* 026064 80025464 0C01A0AB */ jal func_800682AC -/* 026068 80025468 02202025 */ move $a0, $s1 -/* 02606C 8002546C 8E220000 */ lw $v0, ($s1) -/* 026070 80025470 3C0BE700 */ lui $t3, 0xe700 -/* 026074 80025474 244A0008 */ addiu $t2, $v0, 8 -/* 026078 80025478 AE2A0000 */ sw $t2, ($s1) -/* 02607C 8002547C AC400004 */ sw $zero, 4($v0) -/* 026080 80025480 AC4B0000 */ sw $t3, ($v0) -/* 026084 80025484 8E220000 */ lw $v0, ($s1) -/* 026088 80025488 3C0FBC00 */ lui $t7, (0xBC000002 >> 16) # lui $t7, 0xbc00 -/* 02608C 8002548C 244C0008 */ addiu $t4, $v0, 8 -/* 026090 80025490 AE2C0000 */ sw $t4, ($s1) -/* 026094 80025494 3C058012 */ lui $a1, %hi(D_8011B0C8) # $a1, 0x8012 -/* 026098 80025498 35EF0002 */ ori $t7, (0xBC000002 & 0xFFFF) # ori $t7, $t7, 2 -/* 02609C 8002549C 24A5B0C8 */ addiu $a1, %lo(D_8011B0C8) # addiu $a1, $a1, -0x4f38 -/* 0260A0 800254A0 AC4F0000 */ sw $t7, ($v0) -/* 0260A4 800254A4 AC400004 */ sw $zero, 4($v0) -/* 0260A8 800254A8 8CAD0000 */ lw $t5, ($a1) -/* 0260AC 800254AC 240E0001 */ li $t6, 1 -/* 0260B0 800254B0 8FAA0090 */ lw $t2, 0x90($sp) -/* 0260B4 800254B4 8E390000 */ lw $t9, ($s1) -/* 0260B8 800254B8 01CDC023 */ subu $t8, $t6, $t5 -/* 0260BC 800254BC ACB80000 */ sw $t8, ($a1) -/* 0260C0 800254C0 AD590000 */ sw $t9, ($t2) -/* 0260C4 800254C4 8FAC0094 */ lw $t4, 0x94($sp) -/* 0260C8 800254C8 8E4B0000 */ lw $t3, ($s2) -/* 0260CC 800254CC 3C0F8012 */ lui $t7, %hi(D_8011B0A8) # $t7, 0x8012 -/* 0260D0 800254D0 AD8B0000 */ sw $t3, ($t4) -/* 0260D4 800254D4 8FAE0098 */ lw $t6, 0x98($sp) -/* 0260D8 800254D8 8DEFB0A8 */ lw $t7, %lo(D_8011B0A8)($t7) -/* 0260DC 800254DC 3C0D8012 */ lui $t5, %hi(D_8011B0AC) # $t5, 0x8012 -/* 0260E0 800254E0 ADCF0000 */ sw $t7, ($t6) -/* 0260E4 800254E4 8FB8009C */ lw $t8, 0x9c($sp) -/* 0260E8 800254E8 8DADB0AC */ lw $t5, %lo(D_8011B0AC)($t5) -/* 0260EC 800254EC 00000000 */ nop -/* 0260F0 800254F0 AF0D0000 */ sw $t5, ($t8) -/* 0260F4 800254F4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0260F8 800254F8 8FB30028 */ lw $s3, 0x28($sp) -/* 0260FC 800254FC 8FB20024 */ lw $s2, 0x24($sp) -/* 026100 80025500 8FB10020 */ lw $s1, 0x20($sp) -/* 026104 80025504 8FB0001C */ lw $s0, 0x1c($sp) -/* 026108 80025508 03E00008 */ jr $ra -/* 02610C 8002550C 27BD0090 */ addiu $sp, $sp, 0x90 - -glabel func_80025510 -/* 026110 80025510 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 026114 80025514 3C068012 */ lui $a2, %hi(D_8011D4BC) # $a2, 0x8012 -/* 026118 80025518 3C098012 */ lui $t1, %hi(D_8011D4BA) # $t1, 0x8012 -/* 02611C 8002551C 2529D4BA */ addiu $t1, %lo(D_8011D4BA) # addiu $t1, $t1, -0x2b46 -/* 026120 80025520 24C6D4BC */ addiu $a2, %lo(D_8011D4BC) # addiu $a2, $a2, -0x2b44 -/* 026124 80025524 AFB00018 */ sw $s0, 0x18($sp) -/* 026128 80025528 240E00AF */ li $t6, 175 -/* 02612C 8002552C 240F002D */ li $t7, 45 -/* 026130 80025530 28810002 */ slti $at, $a0, 2 -/* 026134 80025534 00808025 */ move $s0, $a0 -/* 026138 80025538 AFBF001C */ sw $ra, 0x1c($sp) -/* 02613C 8002553C A52E0000 */ sh $t6, ($t1) -/* 026140 80025540 14200005 */ bnez $at, .L80025558 -/* 026144 80025544 A4CF0000 */ sh $t7, ($a2) -/* 026148 80025548 84D80000 */ lh $t8, ($a2) -/* 02614C 8002554C 00000000 */ nop -/* 026150 80025550 0018C843 */ sra $t9, $t8, 1 -/* 026154 80025554 A4D90000 */ sh $t9, ($a2) -.L80025558: -/* 026158 80025558 84C80000 */ lh $t0, ($a2) -/* 02615C 8002555C 85230000 */ lh $v1, ($t1) -/* 026160 80025560 00083880 */ sll $a3, $t0, 2 -/* 026164 80025564 00076880 */ sll $t5, $a3, 2 -/* 026168 80025568 01A76821 */ addu $t5, $t5, $a3 -/* 02616C 8002556C 000D6840 */ sll $t5, $t5, 1 -/* 026170 80025570 00087140 */ sll $t6, $t0, 5 -/* 026174 80025574 000350C0 */ sll $t2, $v1, 3 -/* 026178 80025578 254B0030 */ addiu $t3, $t2, 0x30 -/* 02617C 8002557C 25A700C8 */ addiu $a3, $t5, 0xc8 -/* 026180 80025580 25C800A0 */ addiu $t0, $t6, 0xa0 -/* 026184 80025584 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 026188 80025588 246C0005 */ addiu $t4, $v1, 5 -/* 02618C 8002558C AFAB0030 */ sw $t3, 0x30($sp) -/* 026190 80025590 AFAC002C */ sw $t4, 0x2c($sp) -/* 026194 80025594 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 026198 80025598 AFA80024 */ sw $t0, 0x24($sp) -/* 02619C 8002559C AFA70028 */ sw $a3, 0x28($sp) -/* 0261A0 800255A0 0C01C327 */ jal func_80070C9C -/* 0261A4 800255A4 00102100 */ sll $a0, $s0, 4 -/* 0261A8 800255A8 8FA70028 */ lw $a3, 0x28($sp) -/* 0261AC 800255AC 8FA80024 */ lw $t0, 0x24($sp) -/* 0261B0 800255B0 8FAF0030 */ lw $t7, 0x30($sp) -/* 0261B4 800255B4 00E85021 */ addu $t2, $a3, $t0 -/* 0261B8 800255B8 000A5840 */ sll $t3, $t2, 1 -/* 0261BC 800255BC 01700019 */ multu $t3, $s0 -/* 0261C0 800255C0 8FB8002C */ lw $t8, 0x2c($sp) -/* 0261C4 800255C4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012 -/* 0261C8 800255C8 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c -/* 0261CC 800255CC 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 0261D0 800255D0 01F8C821 */ addu $t9, $t7, $t8 -/* 0261D4 800255D4 ACC20000 */ sw $v0, ($a2) -/* 0261D8 800255D8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 0261DC 800255DC 00006012 */ mflo $t4 -/* 0261E0 800255E0 032C2021 */ addu $a0, $t9, $t4 -/* 0261E4 800255E4 0C01C327 */ jal func_80070C9C -/* 0261E8 800255E8 00000000 */ nop -/* 0261EC 800255EC 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e -/* 0261F0 800255F0 2484C924 */ addiu $a0, %lo(D_800DC924) # addiu $a0, $a0, -0x36dc -/* 0261F4 800255F4 3C068012 */ lui $a2, %hi(D_8011D474) # $a2, 0x8012 -/* 0261F8 800255F8 8FA70028 */ lw $a3, 0x28($sp) -/* 0261FC 800255FC 8FA80024 */ lw $t0, 0x24($sp) -/* 026200 80025600 24C6D474 */ addiu $a2, %lo(D_8011D474) # addiu $a2, $a2, -0x2b8c -/* 026204 80025604 1040006C */ beqz $v0, .L800257B8 -/* 026208 80025608 AC820000 */ sw $v0, ($a0) -/* 02620C 8002560C 8FAD0030 */ lw $t5, 0x30($sp) -/* 026210 80025610 3C018012 */ lui $at, %hi(D_8011D478) # $at, 0x8012 -/* 026214 80025614 AC22D478 */ sw $v0, %lo(D_8011D478)($at) -/* 026218 80025618 8FAE002C */ lw $t6, 0x2c($sp) -/* 02621C 8002561C 3C018012 */ lui $at, %hi(D_8011D47C) # $at, 0x8012 -/* 026220 80025620 004D1821 */ addu $v1, $v0, $t5 -/* 026224 80025624 AC23D47C */ sw $v1, %lo(D_8011D47C)($at) -/* 026228 80025628 006E1821 */ addu $v1, $v1, $t6 -/* 02622C 8002562C 24630008 */ addiu $v1, $v1, 8 -/* 026230 80025630 2401FFF8 */ li $at, -8 -/* 026234 80025634 00617824 */ and $t7, $v1, $at -/* 026238 80025638 01E01825 */ move $v1, $t7 -/* 02623C 8002563C 1A00005E */ blez $s0, .L800257B8 -/* 026240 80025640 00002025 */ move $a0, $zero -/* 026244 80025644 32090003 */ andi $t1, $s0, 3 -/* 026248 80025648 11200016 */ beqz $t1, .L800256A4 -/* 02624C 8002564C 01202825 */ move $a1, $t1 -/* 026250 80025650 00001100 */ sll $v0, $zero, 4 -.L80025654: -/* 026254 80025654 8CD80000 */ lw $t8, ($a2) -/* 026258 80025658 24840001 */ addiu $a0, $a0, 1 -/* 02625C 8002565C 03025021 */ addu $t2, $t8, $v0 -/* 026260 80025660 AD430000 */ sw $v1, ($t2) -/* 026264 80025664 8CCB0000 */ lw $t3, ($a2) -/* 026268 80025668 00681821 */ addu $v1, $v1, $t0 -/* 02626C 8002566C 0162C821 */ addu $t9, $t3, $v0 -/* 026270 80025670 AF230004 */ sw $v1, 4($t9) -/* 026274 80025674 8CCC0000 */ lw $t4, ($a2) -/* 026278 80025678 00681821 */ addu $v1, $v1, $t0 -/* 02627C 8002567C 01826821 */ addu $t5, $t4, $v0 -/* 026280 80025680 ADA30008 */ sw $v1, 8($t5) -/* 026284 80025684 8CCE0000 */ lw $t6, ($a2) -/* 026288 80025688 00671821 */ addu $v1, $v1, $a3 -/* 02628C 8002568C 01C27821 */ addu $t7, $t6, $v0 -/* 026290 80025690 ADE3000C */ sw $v1, 0xc($t7) -/* 026294 80025694 00671821 */ addu $v1, $v1, $a3 -/* 026298 80025698 14A4FFEE */ bne $a1, $a0, .L80025654 -/* 02629C 8002569C 24420010 */ addiu $v0, $v0, 0x10 -/* 0262A0 800256A0 10900045 */ beq $a0, $s0, .L800257B8 -.L800256A4: -/* 0262A4 800256A4 00041100 */ sll $v0, $a0, 4 -/* 0262A8 800256A8 00102900 */ sll $a1, $s0, 4 -.L800256AC: -/* 0262AC 800256AC 8CD80000 */ lw $t8, ($a2) -/* 0262B0 800256B0 00000000 */ nop -/* 0262B4 800256B4 03025021 */ addu $t2, $t8, $v0 -/* 0262B8 800256B8 AD430000 */ sw $v1, ($t2) -/* 0262BC 800256BC 8CCB0000 */ lw $t3, ($a2) -/* 0262C0 800256C0 00681821 */ addu $v1, $v1, $t0 -/* 0262C4 800256C4 0162C821 */ addu $t9, $t3, $v0 -/* 0262C8 800256C8 AF230004 */ sw $v1, 4($t9) -/* 0262CC 800256CC 8CCC0000 */ lw $t4, ($a2) -/* 0262D0 800256D0 00681821 */ addu $v1, $v1, $t0 -/* 0262D4 800256D4 01826821 */ addu $t5, $t4, $v0 -/* 0262D8 800256D8 ADA30008 */ sw $v1, 8($t5) -/* 0262DC 800256DC 8CCE0000 */ lw $t6, ($a2) -/* 0262E0 800256E0 00671821 */ addu $v1, $v1, $a3 -/* 0262E4 800256E4 01C27821 */ addu $t7, $t6, $v0 -/* 0262E8 800256E8 ADE3000C */ sw $v1, 0xc($t7) -/* 0262EC 800256EC 8CD80000 */ lw $t8, ($a2) -/* 0262F0 800256F0 00671821 */ addu $v1, $v1, $a3 -/* 0262F4 800256F4 03025021 */ addu $t2, $t8, $v0 -/* 0262F8 800256F8 AD430010 */ sw $v1, 0x10($t2) -/* 0262FC 800256FC 8CCB0000 */ lw $t3, ($a2) -/* 026300 80025700 00681821 */ addu $v1, $v1, $t0 -/* 026304 80025704 0162C821 */ addu $t9, $t3, $v0 -/* 026308 80025708 AF230014 */ sw $v1, 0x14($t9) -/* 02630C 8002570C 8CCC0000 */ lw $t4, ($a2) -/* 026310 80025710 00681821 */ addu $v1, $v1, $t0 -/* 026314 80025714 01826821 */ addu $t5, $t4, $v0 -/* 026318 80025718 ADA30018 */ sw $v1, 0x18($t5) -/* 02631C 8002571C 8CCE0000 */ lw $t6, ($a2) -/* 026320 80025720 00671821 */ addu $v1, $v1, $a3 -/* 026324 80025724 01C27821 */ addu $t7, $t6, $v0 -/* 026328 80025728 ADE3001C */ sw $v1, 0x1c($t7) -/* 02632C 8002572C 8CD80000 */ lw $t8, ($a2) -/* 026330 80025730 00671821 */ addu $v1, $v1, $a3 -/* 026334 80025734 03025021 */ addu $t2, $t8, $v0 -/* 026338 80025738 AD430020 */ sw $v1, 0x20($t2) -/* 02633C 8002573C 8CCB0000 */ lw $t3, ($a2) -/* 026340 80025740 00681821 */ addu $v1, $v1, $t0 -/* 026344 80025744 0162C821 */ addu $t9, $t3, $v0 -/* 026348 80025748 AF230024 */ sw $v1, 0x24($t9) -/* 02634C 8002574C 8CCC0000 */ lw $t4, ($a2) -/* 026350 80025750 00681821 */ addu $v1, $v1, $t0 -/* 026354 80025754 01826821 */ addu $t5, $t4, $v0 -/* 026358 80025758 ADA30028 */ sw $v1, 0x28($t5) -/* 02635C 8002575C 8CCE0000 */ lw $t6, ($a2) -/* 026360 80025760 00671821 */ addu $v1, $v1, $a3 -/* 026364 80025764 01C27821 */ addu $t7, $t6, $v0 -/* 026368 80025768 ADE3002C */ sw $v1, 0x2c($t7) -/* 02636C 8002576C 8CD80000 */ lw $t8, ($a2) -/* 026370 80025770 00671821 */ addu $v1, $v1, $a3 -/* 026374 80025774 03025021 */ addu $t2, $t8, $v0 -/* 026378 80025778 AD430030 */ sw $v1, 0x30($t2) -/* 02637C 8002577C 8CCB0000 */ lw $t3, ($a2) -/* 026380 80025780 00681821 */ addu $v1, $v1, $t0 -/* 026384 80025784 0162C821 */ addu $t9, $t3, $v0 -/* 026388 80025788 AF230034 */ sw $v1, 0x34($t9) -/* 02638C 8002578C 8CCC0000 */ lw $t4, ($a2) -/* 026390 80025790 00681821 */ addu $v1, $v1, $t0 -/* 026394 80025794 01826821 */ addu $t5, $t4, $v0 -/* 026398 80025798 ADA30038 */ sw $v1, 0x38($t5) -/* 02639C 8002579C 8CCE0000 */ lw $t6, ($a2) -/* 0263A0 800257A0 00671821 */ addu $v1, $v1, $a3 -/* 0263A4 800257A4 01C27821 */ addu $t7, $t6, $v0 -/* 0263A8 800257A8 ADE3003C */ sw $v1, 0x3c($t7) -/* 0263AC 800257AC 24420040 */ addiu $v0, $v0, 0x40 -/* 0263B0 800257B0 1445FFBE */ bne $v0, $a1, .L800256AC -/* 0263B4 800257B4 00671821 */ addu $v1, $v1, $a3 -.L800257B8: -/* 0263B8 800257B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 0263BC 800257BC 3C018012 */ lui $at, %hi(D_8011D4B4) # $at, 0x8012 -/* 0263C0 800257C0 8FB00018 */ lw $s0, 0x18($sp) -/* 0263C4 800257C4 A020D4B4 */ sb $zero, %lo(D_8011D4B4)($at) -/* 0263C8 800257C8 03E00008 */ jr $ra -/* 0263CC 800257CC 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_800257D0 -/* 0263D0 800257D0 3C0E800E */ lui $t6, %hi(D_800DC924) # $t6, 0x800e -/* 0263D4 800257D4 8DCEC924 */ lw $t6, %lo(D_800DC924)($t6) -/* 0263D8 800257D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0263DC 800257DC 11C0000B */ beqz $t6, .L8002580C -/* 0263E0 800257E0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0263E4 800257E4 3C048012 */ lui $a0, %hi(D_8011D474) # $a0, 0x8012 -/* 0263E8 800257E8 8C84D474 */ lw $a0, %lo(D_8011D474)($a0) -/* 0263EC 800257EC 0C01C450 */ jal func_80071140 -/* 0263F0 800257F0 00000000 */ nop -/* 0263F4 800257F4 3C04800E */ lui $a0, %hi(D_800DC924) # $a0, 0x800e -/* 0263F8 800257F8 8C84C924 */ lw $a0, %lo(D_800DC924)($a0) -/* 0263FC 800257FC 0C01C450 */ jal func_80071140 -/* 026400 80025800 00000000 */ nop -/* 026404 80025804 3C01800E */ lui $at, %hi(D_800DC924) # $at, 0x800e -/* 026408 80025808 AC20C924 */ sw $zero, %lo(D_800DC924)($at) -.L8002580C: -/* 02640C 8002580C 8FBF0014 */ lw $ra, 0x14($sp) -/* 026410 80025810 27BD0018 */ addiu $sp, $sp, 0x18 -/* 026414 80025814 03E00008 */ jr $ra -/* 026418 80025818 00000000 */ nop - -glabel func_8002581C -/* 02641C 8002581C 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 026420 80025820 3C0E8012 */ lui $t6, %hi(D_8011D474) # $t6, 0x8012 -/* 026424 80025824 8DCED474 */ lw $t6, %lo(D_8011D474)($t6) -/* 026428 80025828 00067900 */ sll $t7, $a2, 4 -/* 02642C 8002582C AFBF004C */ sw $ra, 0x4c($sp) -/* 026430 80025830 AFB40048 */ sw $s4, 0x48($sp) -/* 026434 80025834 AFB30044 */ sw $s3, 0x44($sp) -/* 026438 80025838 AFB20040 */ sw $s2, 0x40($sp) -/* 02643C 8002583C AFB1003C */ sw $s1, 0x3c($sp) -/* 026440 80025840 AFB00038 */ sw $s0, 0x38($sp) -/* 026444 80025844 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 026448 80025848 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 02644C 8002584C E7B90028 */ swc1 $f25, 0x28($sp) -/* 026450 80025850 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 026454 80025854 E7B70020 */ swc1 $f23, 0x20($sp) -/* 026458 80025858 E7B60024 */ swc1 $f22, 0x24($sp) -/* 02645C 8002585C E7B50018 */ swc1 $f21, 0x18($sp) -/* 026460 80025860 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 026464 80025864 AFA400C0 */ sw $a0, 0xc0($sp) -/* 026468 80025868 AFA500C4 */ sw $a1, 0xc4($sp) -/* 02646C 8002586C 01CF1021 */ addu $v0, $t6, $t7 -/* 026470 80025870 8C580000 */ lw $t8, ($v0) -/* 026474 80025874 3C038012 */ lui $v1, %hi(D_8011D490) # $v1, 0x8012 -/* 026478 80025878 2463D490 */ addiu $v1, %lo(D_8011D490) # addiu $v1, $v1, -0x2b70 -/* 02647C 8002587C AC780000 */ sw $t8, ($v1) -/* 026480 80025880 8C590004 */ lw $t9, 4($v0) -/* 026484 80025884 3C088012 */ lui $t0, %hi(D_8011D480) # $t0, 0x8012 -/* 026488 80025888 AC790004 */ sw $t9, 4($v1) -/* 02648C 8002588C 8C4A0008 */ lw $t2, 8($v0) -/* 026490 80025890 2508D480 */ addiu $t0, %lo(D_8011D480) # addiu $t0, $t0, -0x2b80 -/* 026494 80025894 AD0A0000 */ sw $t2, ($t0) -/* 026498 80025898 8C4B000C */ lw $t3, 0xc($v0) -/* 02649C 8002589C 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012 -/* 0264A0 800258A0 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60 -/* 0264A4 800258A4 00002825 */ move $a1, $zero -/* 0264A8 800258A8 24060003 */ li $a2, 3 -/* 0264AC 800258AC 0C01ED32 */ jal func_8007B4C8 -/* 0264B0 800258B0 AD0B0004 */ sw $t3, 4($t0) -/* 0264B4 800258B4 3C018012 */ lui $at, %hi(D_8011D49C) # $at, 0x8012 -/* 0264B8 800258B8 A420D49C */ sh $zero, %lo(D_8011D49C)($at) -/* 0264BC 800258BC 3C108012 */ lui $s0, %hi(D_8011B0B0) # $s0, 0x8012 -/* 0264C0 800258C0 3C018012 */ lui $at, %hi(D_8011D49E) # $at, 0x8012 -/* 0264C4 800258C4 2610B0B0 */ addiu $s0, %lo(D_8011B0B0) # addiu $s0, $s0, -0x4f50 -/* 0264C8 800258C8 A420D49E */ sh $zero, %lo(D_8011D49E)($at) -/* 0264CC 800258CC 8E0C0000 */ lw $t4, ($s0) -/* 0264D0 800258D0 00000000 */ nop -/* 0264D4 800258D4 85840000 */ lh $a0, ($t4) -/* 0264D8 800258D8 00000000 */ nop -/* 0264DC 800258DC 00042023 */ negu $a0, $a0 -/* 0264E0 800258E0 00046C00 */ sll $t5, $a0, 0x10 -/* 0264E4 800258E4 0C01C1F1 */ jal func_800707C4 -/* 0264E8 800258E8 000D2403 */ sra $a0, $t5, 0x10 -/* 0264EC 800258EC 8E0F0000 */ lw $t7, ($s0) -/* 0264F0 800258F0 46000686 */ mov.s $f26, $f0 -/* 0264F4 800258F4 85E40000 */ lh $a0, ($t7) -/* 0264F8 800258F8 00000000 */ nop -/* 0264FC 800258FC 00042023 */ negu $a0, $a0 -/* 026500 80025900 0004C400 */ sll $t8, $a0, 0x10 -/* 026504 80025904 0C01C1FE */ jal func_800707F8 -/* 026508 80025908 00182403 */ sra $a0, $t8, 0x10 -/* 02650C 8002590C 3C01800E */ lui $at, %hi(D_800E5E64) # $at, 0x800e -/* 026510 80025910 C42F5E60 */ lwc1 $f15, %lo(D_800E5E60)($at) -/* 026514 80025914 C42E5E64 */ lwc1 $f14, %lo(D_800E5E64)($at) -/* 026518 80025918 4600D221 */ cvt.d.s $f8, $f26 -/* 02651C 8002591C 462E4282 */ mul.d $f10, $f8, $f14 -/* 026520 80025920 8E020000 */ lw $v0, ($s0) -/* 026524 80025924 3C038012 */ lui $v1, %hi(D_8011D4AC) # $v1, 0x8012 -/* 026528 80025928 C444000C */ lwc1 $f4, 0xc($v0) -/* 02652C 8002592C 2463D4AC */ addiu $v1, %lo(D_8011D4AC) # addiu $v1, $v1, -0x2b54 -/* 026530 80025930 460021A1 */ cvt.d.s $f6, $f4 -/* 026534 80025934 462A3400 */ add.d $f16, $f6, $f10 -/* 026538 80025938 3C048012 */ lui $a0, %hi(D_8011D4B0) # $a0, 0x8012 -/* 02653C 8002593C 462084A0 */ cvt.s.d $f18, $f16 -/* 026540 80025940 2484D4B0 */ addiu $a0, %lo(D_8011D4B0) # addiu $a0, $a0, -0x2b50 -/* 026544 80025944 460001A1 */ cvt.d.s $f6, $f0 -/* 026548 80025948 462E3282 */ mul.d $f10, $f6, $f14 -/* 02654C 8002594C E4720000 */ swc1 $f18, ($v1) -/* 026550 80025950 C4440014 */ lwc1 $f4, 0x14($v0) -/* 026554 80025954 C4620000 */ lwc1 $f2, ($v1) -/* 026558 80025958 3C058012 */ lui $a1, %hi(D_8011D4A0) # $a1, 0x8012 -/* 02655C 8002595C 46002221 */ cvt.d.s $f8, $f4 -/* 026560 80025960 462A4400 */ add.d $f16, $f8, $f10 -/* 026564 80025964 24A5D4A0 */ addiu $a1, %lo(D_8011D4A0) # addiu $a1, $a1, -0x2b60 -/* 026568 80025968 462084A0 */ cvt.s.d $f18, $f16 -/* 02656C 8002596C 3C068012 */ lui $a2, %hi(D_8011D4A4) # $a2, 0x8012 -/* 026570 80025970 4602D102 */ mul.s $f4, $f26, $f2 -/* 026574 80025974 E4920000 */ swc1 $f18, ($a0) -/* 026578 80025978 C48C0000 */ lwc1 $f12, ($a0) -/* 02657C 8002597C 24C6D4A4 */ addiu $a2, %lo(D_8011D4A4) # addiu $a2, $a2, -0x2b5c -/* 026580 80025980 46000207 */ neg.s $f8, $f0 -/* 026584 80025984 460C0182 */ mul.s $f6, $f0, $f12 -/* 026588 80025988 E4A80000 */ swc1 $f8, ($a1) -/* 02658C 8002598C C4AA0000 */ lwc1 $f10, ($a1) -/* 026590 80025990 E4DA0000 */ swc1 $f26, ($a2) -/* 026594 80025994 46025402 */ mul.s $f16, $f10, $f2 -/* 026598 80025998 C4D20000 */ lwc1 $f18, ($a2) -/* 02659C 8002599C 8FAA00C4 */ lw $t2, 0xc4($sp) -/* 0265A0 800259A0 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 -/* 0265A4 800259A4 46062580 */ add.s $f22, $f4, $f6 -/* 0265A8 800259A8 3C14800E */ lui $s4, %hi(D_800DC918) # $s4, 0x800e -/* 0265AC 800259AC 460C9102 */ mul.s $f4, $f18, $f12 -/* 0265B0 800259B0 46000606 */ mov.s $f24, $f0 -/* 0265B4 800259B4 4600B587 */ neg.s $f22, $f22 -/* 0265B8 800259B8 00009025 */ move $s2, $zero -/* 0265BC 800259BC 46048180 */ add.s $f6, $f16, $f4 -/* 0265C0 800259C0 2694C918 */ addiu $s4, %lo(D_800DC918) # addiu $s4, $s4, -0x36e8 -/* 0265C4 800259C4 46003207 */ neg.s $f8, $f6 -/* 0265C8 800259C8 19400069 */ blez $t2, .L80025B70 -/* 0265CC 800259CC E428D4A8 */ swc1 $f8, %lo(D_8011D4A8)($at) -/* 0265D0 800259D0 4480A800 */ mtc1 $zero, $f21 -/* 0265D4 800259D4 4480A000 */ mtc1 $zero, $f20 -/* 0265D8 800259D8 24130044 */ li $s3, 68 -/* 0265DC 800259DC 8FAB00C0 */ lw $t3, 0xc0($sp) -.L800259E0: -/* 0265E0 800259E0 8E830000 */ lw $v1, ($s4) -/* 0265E4 800259E4 024B8821 */ addu $s1, $s2, $t3 -/* 0265E8 800259E8 92220000 */ lbu $v0, ($s1) -/* 0265EC 800259EC 8C6D0008 */ lw $t5, 8($v1) -/* 0265F0 800259F0 00026080 */ sll $t4, $v0, 2 -/* 0265F4 800259F4 01826023 */ subu $t4, $t4, $v0 -/* 0265F8 800259F8 000C6080 */ sll $t4, $t4, 2 -/* 0265FC 800259FC 018D8021 */ addu $s0, $t4, $t5 -/* 026600 80025A00 860E0000 */ lh $t6, ($s0) -/* 026604 80025A04 860F0004 */ lh $t7, 4($s0) -/* 026608 80025A08 448E5000 */ mtc1 $t6, $f10 -/* 02660C 80025A0C 448F8000 */ mtc1 $t7, $f16 -/* 026610 80025A10 468054A0 */ cvt.s.w $f18, $f10 -/* 026614 80025A14 00003025 */ move $a2, $zero -/* 026618 80025A18 461A9002 */ mul.s $f0, $f18, $f26 -/* 02661C 80025A1C 46808120 */ cvt.s.w $f4, $f16 -/* 026620 80025A20 4604C082 */ mul.s $f2, $f24, $f4 -/* 026624 80025A24 46020180 */ add.s $f6, $f0, $f2 -/* 026628 80025A28 46163200 */ add.s $f8, $f6, $f22 -/* 02662C 80025A2C 460042A1 */ cvt.d.s $f10, $f8 -/* 026630 80025A30 4634503E */ c.le.d $f10, $f20 -/* 026634 80025A34 00000000 */ nop -/* 026638 80025A38 45000002 */ bc1f .L80025A44 -/* 02663C 80025A3C 00000000 */ nop -/* 026640 80025A40 24060001 */ li $a2, 1 -.L80025A44: -/* 026644 80025A44 860A0006 */ lh $t2, 6($s0) -/* 026648 80025A48 0006C400 */ sll $t8, $a2, 0x10 -/* 02664C 80025A4C 448A9000 */ mtc1 $t2, $f18 -/* 026650 80025A50 00183403 */ sra $a2, $t8, 0x10 -/* 026654 80025A54 46809420 */ cvt.s.w $f16, $f18 -/* 026658 80025A58 00005825 */ move $t3, $zero -/* 02665C 80025A5C 4610D302 */ mul.s $f12, $f26, $f16 -/* 026660 80025A60 46026100 */ add.s $f4, $f12, $f2 -/* 026664 80025A64 46162180 */ add.s $f6, $f4, $f22 -/* 026668 80025A68 46003221 */ cvt.d.s $f8, $f6 -/* 02666C 80025A6C 4634403E */ c.le.d $f8, $f20 -/* 026670 80025A70 00000000 */ nop -/* 026674 80025A74 45000002 */ bc1f .L80025A80 -/* 026678 80025A78 00000000 */ nop -/* 02667C 80025A7C 240B0001 */ li $t3, 1 -.L80025A80: -/* 026680 80025A80 860E000A */ lh $t6, 0xa($s0) -/* 026684 80025A84 00CB3021 */ addu $a2, $a2, $t3 -/* 026688 80025A88 448E5000 */ mtc1 $t6, $f10 -/* 02668C 80025A8C 00066400 */ sll $t4, $a2, 0x10 -/* 026690 80025A90 468054A0 */ cvt.s.w $f18, $f10 -/* 026694 80025A94 000C3403 */ sra $a2, $t4, 0x10 -/* 026698 80025A98 00007825 */ move $t7, $zero -/* 02669C 80025A9C 4612C382 */ mul.s $f14, $f24, $f18 -/* 0266A0 80025AA0 00005025 */ move $t2, $zero -/* 0266A4 80025AA4 460E0400 */ add.s $f16, $f0, $f14 -/* 0266A8 80025AA8 46168100 */ add.s $f4, $f16, $f22 -/* 0266AC 80025AAC 460021A1 */ cvt.d.s $f6, $f4 -/* 0266B0 80025AB0 4634303E */ c.le.d $f6, $f20 -/* 0266B4 80025AB4 460E6200 */ add.s $f8, $f12, $f14 -/* 0266B8 80025AB8 45000002 */ bc1f .L80025AC4 -/* 0266BC 80025ABC 46164280 */ add.s $f10, $f8, $f22 -/* 0266C0 80025AC0 240F0001 */ li $t7, 1 -.L80025AC4: -/* 0266C4 80025AC4 460054A1 */ cvt.d.s $f18, $f10 -/* 0266C8 80025AC8 4634903E */ c.le.d $f18, $f20 -/* 0266CC 80025ACC 00CF3021 */ addu $a2, $a2, $t7 -/* 0266D0 80025AD0 0006C400 */ sll $t8, $a2, 0x10 -/* 0266D4 80025AD4 45000002 */ bc1f .L80025AE0 -/* 0266D8 80025AD8 00183403 */ sra $a2, $t8, 0x10 -/* 0266DC 80025ADC 240A0001 */ li $t2, 1 -.L80025AE0: -/* 0266E0 80025AE0 00CA6021 */ addu $t4, $a2, $t2 -/* 0266E4 80025AE4 318D0003 */ andi $t5, $t4, 3 -/* 0266E8 80025AE8 11A0001A */ beqz $t5, .L80025B54 -/* 0266EC 80025AEC 00000000 */ nop -/* 0266F0 80025AF0 00530019 */ multu $v0, $s3 -/* 0266F4 80025AF4 8C6F0004 */ lw $t7, 4($v1) -/* 0266F8 80025AF8 4405D000 */ mfc1 $a1, $f26 -/* 0266FC 80025AFC 4406C000 */ mfc1 $a2, $f24 -/* 026700 80025B00 4407B000 */ mfc1 $a3, $f22 -/* 026704 80025B04 00007012 */ mflo $t6 -/* 026708 80025B08 01CF2021 */ addu $a0, $t6, $t7 -/* 02670C 80025B0C 0C00990C */ jal func_80026430 -/* 026710 80025B10 00000000 */ nop -/* 026714 80025B14 922A0000 */ lbu $t2, ($s1) -/* 026718 80025B18 8E980000 */ lw $t8, ($s4) -/* 02671C 80025B1C 01530019 */ multu $t2, $s3 -/* 026720 80025B20 8F190004 */ lw $t9, 4($t8) -/* 026724 80025B24 00005812 */ mflo $t3 -/* 026728 80025B28 032B6021 */ addu $t4, $t9, $t3 -/* 02672C 80025B2C 8D8D003C */ lw $t5, 0x3c($t4) -/* 026730 80025B30 00000000 */ nop -/* 026734 80025B34 31AE0002 */ andi $t6, $t5, 2 -/* 026738 80025B38 11C00006 */ beqz $t6, .L80025B54 -/* 02673C 80025B3C 00000000 */ nop -/* 026740 80025B40 4405D000 */ mfc1 $a1, $f26 -/* 026744 80025B44 4406C000 */ mfc1 $a2, $f24 -/* 026748 80025B48 4407B000 */ mfc1 $a3, $f22 -/* 02674C 80025B4C 0C00981C */ jal func_80026070 -/* 026750 80025B50 02002025 */ move $a0, $s0 -.L80025B54: -/* 026754 80025B54 26520001 */ addiu $s2, $s2, 1 -/* 026758 80025B58 8FAA00C4 */ lw $t2, 0xc4($sp) -/* 02675C 80025B5C 00127C00 */ sll $t7, $s2, 0x10 -/* 026760 80025B60 000F9403 */ sra $s2, $t7, 0x10 -/* 026764 80025B64 024A082A */ slt $at, $s2, $t2 -/* 026768 80025B68 1420FF9D */ bnez $at, .L800259E0 -/* 02676C 80025B6C 8FAB00C0 */ lw $t3, 0xc0($sp) -.L80025B70: -/* 026770 80025B70 3C14800E */ lui $s4, %hi(D_800DC918) # $s4, 0x800e -/* 026774 80025B74 2694C918 */ addiu $s4, %lo(D_800DC918) # addiu $s4, $s4, -0x36e8 -/* 026778 80025B78 8E990000 */ lw $t9, ($s4) -/* 02677C 80025B7C 2404012C */ li $a0, 300 -/* 026780 80025B80 87250040 */ lh $a1, 0x40($t9) -/* 026784 80025B84 24060001 */ li $a2, 1 -/* 026788 80025B88 24A5FF3D */ addiu $a1, $a1, -0xc3 -/* 02678C 80025B8C 00055C00 */ sll $t3, $a1, 0x10 -/* 026790 80025B90 0C009B05 */ jal func_80026C14 -/* 026794 80025B94 000B2C03 */ sra $a1, $t3, 0x10 -/* 026798 80025B98 8E8D0000 */ lw $t5, ($s4) -/* 02679C 80025B9C 2404FED4 */ li $a0, -300 -/* 0267A0 80025BA0 85A50040 */ lh $a1, 0x40($t5) -/* 0267A4 80025BA4 24060001 */ li $a2, 1 -/* 0267A8 80025BA8 24A5FF3D */ addiu $a1, $a1, -0xc3 -/* 0267AC 80025BAC 00057400 */ sll $t6, $a1, 0x10 -/* 0267B0 80025BB0 0C009B05 */ jal func_80026C14 -/* 0267B4 80025BB4 000E2C03 */ sra $a1, $t6, 0x10 -/* 0267B8 80025BB8 8E980000 */ lw $t8, ($s4) -/* 0267BC 80025BBC 2404012C */ li $a0, 300 -/* 0267C0 80025BC0 87050042 */ lh $a1, 0x42($t8) -/* 0267C4 80025BC4 00003025 */ move $a2, $zero -/* 0267C8 80025BC8 24A500C3 */ addiu $a1, $a1, 0xc3 -/* 0267CC 80025BCC 00055400 */ sll $t2, $a1, 0x10 -/* 0267D0 80025BD0 0C009B05 */ jal func_80026C14 -/* 0267D4 80025BD4 000A2C03 */ sra $a1, $t2, 0x10 -/* 0267D8 80025BD8 8E8B0000 */ lw $t3, ($s4) -/* 0267DC 80025BDC 2404FED4 */ li $a0, -300 -/* 0267E0 80025BE0 85650042 */ lh $a1, 0x42($t3) -/* 0267E4 80025BE4 00003025 */ move $a2, $zero -/* 0267E8 80025BE8 24A500C3 */ addiu $a1, $a1, 0xc3 -/* 0267EC 80025BEC 00056400 */ sll $t4, $a1, 0x10 -/* 0267F0 80025BF0 0C009B05 */ jal func_80026C14 -/* 0267F4 80025BF4 000C2C03 */ sra $a1, $t4, 0x10 -/* 0267F8 80025BF8 3C098012 */ lui $t1, %hi(D_8011D49E) # $t1, 0x8012 -/* 0267FC 80025BFC 2529D49E */ addiu $t1, %lo(D_8011D49E) # addiu $t1, $t1, -0x2b62 -/* 026800 80025C00 3C0E8012 */ lui $t6, %hi(D_8011D4BA) # $t6, 0x8012 -/* 026804 80025C04 85CED4BA */ lh $t6, %lo(D_8011D4BA)($t6) -/* 026808 80025C08 85270000 */ lh $a3, ($t1) -/* 02680C 80025C0C 00000000 */ nop -/* 026810 80025C10 00EE082A */ slt $at, $a3, $t6 -/* 026814 80025C14 10200107 */ beqz $at, .L80026034 -/* 026818 80025C18 8FBF004C */ lw $ra, 0x4c($sp) -/* 02681C 80025C1C 10E00104 */ beqz $a3, .L80026030 -/* 026820 80025C20 00009025 */ move $s2, $zero -/* 026824 80025C24 3C088012 */ lui $t0, %hi(D_8011D478) # $t0, 0x8012 -/* 026828 80025C28 2508D478 */ addiu $t0, %lo(D_8011D478) # addiu $t0, $t0, -0x2b88 -/* 02682C 80025C2C 24E5FFFF */ addiu $a1, $a3, -1 -.L80025C30: -/* 026830 80025C30 8D020000 */ lw $v0, ($t0) -/* 026834 80025C34 18A0001A */ blez $a1, .L80025CA0 -/* 026838 80025C38 24060001 */ li $a2, 1 -.L80025C3C: -/* 02683C 80025C3C 8D0F0000 */ lw $t7, ($t0) -/* 026840 80025C40 0012C0C0 */ sll $t8, $s2, 3 -/* 026844 80025C44 01F82021 */ addu $a0, $t7, $t8 -/* 026848 80025C48 848A0008 */ lh $t2, 8($a0) -/* 02684C 80025C4C 84990000 */ lh $t9, ($a0) -/* 026850 80025C50 26520001 */ addiu $s2, $s2, 1 -/* 026854 80025C54 0159082A */ slt $at, $t2, $t9 -/* 026858 80025C58 1020000C */ beqz $at, .L80025C8C -/* 02685C 80025C5C 00126C00 */ sll $t5, $s2, 0x10 -/* 026860 80025C60 8C430000 */ lw $v1, ($v0) -/* 026864 80025C64 8C4B0008 */ lw $t3, 8($v0) -/* 026868 80025C68 AC430008 */ sw $v1, 8($v0) -/* 02686C 80025C6C 8C430004 */ lw $v1, 4($v0) -/* 026870 80025C70 8C4C000C */ lw $t4, 0xc($v0) -/* 026874 80025C74 AC4B0000 */ sw $t3, ($v0) -/* 026878 80025C78 AC43000C */ sw $v1, 0xc($v0) -/* 02687C 80025C7C AC4C0004 */ sw $t4, 4($v0) -/* 026880 80025C80 85270000 */ lh $a3, ($t1) -/* 026884 80025C84 00003025 */ move $a2, $zero -/* 026888 80025C88 24E5FFFF */ addiu $a1, $a3, -1 -.L80025C8C: -/* 02688C 80025C8C 000D9403 */ sra $s2, $t5, 0x10 -/* 026890 80025C90 0245082A */ slt $at, $s2, $a1 -/* 026894 80025C94 1420FFE9 */ bnez $at, .L80025C3C -/* 026898 80025C98 24420008 */ addiu $v0, $v0, 8 -/* 02689C 80025C9C 00009025 */ move $s2, $zero -.L80025CA0: -/* 0268A0 80025CA0 10C0FFE3 */ beqz $a2, .L80025C30 -/* 0268A4 80025CA4 00000000 */ nop -/* 0268A8 80025CA8 18E00022 */ blez $a3, .L80025D34 -/* 0268AC 80025CAC 00008025 */ move $s0, $zero -/* 0268B0 80025CB0 3C058012 */ lui $a1, %hi(D_8011D47C) # $a1, 0x8012 -/* 0268B4 80025CB4 24A5D47C */ addiu $a1, %lo(D_8011D47C) # addiu $a1, $a1, -0x2b84 -/* 0268B8 80025CB8 2406FFFF */ li $a2, -1 -.L80025CBC: -/* 0268BC 80025CBC 8D0F0000 */ lw $t7, ($t0) -/* 0268C0 80025CC0 0012C0C0 */ sll $t8, $s2, 3 -/* 0268C4 80025CC4 01F82021 */ addu $a0, $t7, $t8 -/* 0268C8 80025CC8 808A0007 */ lb $t2, 7($a0) -/* 0268CC 80025CCC 8CAC0000 */ lw $t4, ($a1) -/* 0268D0 80025CD0 000ACC40 */ sll $t9, $t2, 0x11 -/* 0268D4 80025CD4 00195C03 */ sra $t3, $t9, 0x10 -/* 0268D8 80025CD8 016C1021 */ addu $v0, $t3, $t4 -/* 0268DC 80025CDC 804D0000 */ lb $t5, ($v0) -/* 0268E0 80025CE0 00000000 */ nop -/* 0268E4 80025CE4 14CD000A */ bne $a2, $t5, .L80025D10 -/* 0268E8 80025CE8 00000000 */ nop -/* 0268EC 80025CEC 808E0006 */ lb $t6, 6($a0) -/* 0268F0 80025CF0 00000000 */ nop -/* 0268F4 80025CF4 35CF0002 */ ori $t7, $t6, 2 -/* 0268F8 80025CF8 A08F0006 */ sb $t7, 6($a0) -/* 0268FC 80025CFC 8CB80000 */ lw $t8, ($a1) -/* 026900 80025D00 00000000 */ nop -/* 026904 80025D04 030B5021 */ addu $t2, $t8, $t3 -/* 026908 80025D08 10000002 */ b .L80025D14 -/* 02690C 80025D0C A1520000 */ sb $s2, ($t2) -.L80025D10: -/* 026910 80025D10 A0520001 */ sb $s2, 1($v0) -.L80025D14: -/* 026914 80025D14 26520001 */ addiu $s2, $s2, 1 -/* 026918 80025D18 85270000 */ lh $a3, ($t1) -/* 02691C 80025D1C 0012CC00 */ sll $t9, $s2, 0x10 -/* 026920 80025D20 00199403 */ sra $s2, $t9, 0x10 -/* 026924 80025D24 0247082A */ slt $at, $s2, $a3 -/* 026928 80025D28 1420FFE4 */ bnez $at, .L80025CBC -/* 02692C 80025D2C 00000000 */ nop -/* 026930 80025D30 00009025 */ move $s2, $zero -.L80025D34: -/* 026934 80025D34 3C048012 */ lui $a0, %hi(D_8011D4B4) # $a0, 0x8012 -/* 026938 80025D38 2484D4B4 */ addiu $a0, %lo(D_8011D4B4) # addiu $a0, $a0, -0x2b4c -/* 02693C 80025D3C 80820000 */ lb $v0, ($a0) -/* 026940 80025D40 8D0C0000 */ lw $t4, ($t0) -/* 026944 80025D44 3C188012 */ lui $t8, 0x8012 -/* 026948 80025D48 00021880 */ sll $v1, $v0, 2 -/* 02694C 80025D4C 0303C021 */ addu $t8, $t8, $v1 -/* 026950 80025D50 8F18D480 */ lw $t8, -0x2b80($t8) -/* 026954 80025D54 85930000 */ lh $s3, ($t4) -/* 026958 80025D58 3C0E8012 */ lui $t6, %hi(D_8011B0A8) # $t6, 0x8012 -/* 02695C 80025D5C 3C0A8012 */ lui $t2, 0x8012 -/* 026960 80025D60 8DCEB0A8 */ lw $t6, %lo(D_8011B0A8)($t6) -/* 026964 80025D64 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 -/* 026968 80025D68 01435021 */ addu $t2, $t2, $v1 -/* 02696C 80025D6C 8D4AD490 */ lw $t2, -0x2b70($t2) -/* 026970 80025D70 3C0F8012 */ lui $t7, %hi(D_8011B0AC) # $t7, 0x8012 -/* 026974 80025D74 AC38B0A8 */ sw $t8, %lo(D_8011B0A8)($at) -/* 026978 80025D78 8DEFB0AC */ lw $t7, %lo(D_8011B0AC)($t7) -/* 02697C 80025D7C 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 -/* 026980 80025D80 24190001 */ li $t9, 1 -/* 026984 80025D84 03225823 */ subu $t3, $t9, $v0 -/* 026988 80025D88 0013A400 */ sll $s4, $s3, 0x10 -/* 02698C 80025D8C AC2AB0AC */ sw $t2, %lo(D_8011B0AC)($at) -/* 026990 80025D90 00146C03 */ sra $t5, $s4, 0x10 -/* 026994 80025D94 A08B0000 */ sb $t3, ($a0) -/* 026998 80025D98 3C0C8012 */ lui $t4, %hi(D_8011B0A8) # $t4, 0x8012 -/* 02699C 80025D9C 8D8CB0A8 */ lw $t4, %lo(D_8011B0A8)($t4) -/* 0269A0 80025DA0 01A0A025 */ move $s4, $t5 -/* 0269A4 80025DA4 3C018012 */ lui $at, %hi(D_8011D488) # $at, 0x8012 -/* 0269A8 80025DA8 3C0D8012 */ lui $t5, %hi(D_8011B0AC) # $t5, 0x8012 -/* 0269AC 80025DAC 8DADB0AC */ lw $t5, %lo(D_8011B0AC)($t5) -/* 0269B0 80025DB0 AC2CD488 */ sw $t4, %lo(D_8011D488)($at) -/* 0269B4 80025DB4 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012 -/* 0269B8 80025DB8 AC2DD498 */ sw $t5, %lo(D_8011D498)($at) -/* 0269BC 80025DBC 3C018012 */ lui $at, %hi(D_8011D4B6) # $at, 0x8012 -/* 0269C0 80025DC0 A420D4B6 */ sh $zero, %lo(D_8011D4B6)($at) -/* 0269C4 80025DC4 3C018012 */ lui $at, %hi(D_8011D4B8) # $at, 0x8012 -/* 0269C8 80025DC8 A420D4B8 */ sh $zero, %lo(D_8011D4B8)($at) -/* 0269CC 80025DCC AFAE00AC */ sw $t6, 0xac($sp) -/* 0269D0 80025DD0 18E0005C */ blez $a3, .L80025F44 -/* 0269D4 80025DD4 AFAF00A8 */ sw $t7, 0xa8($sp) -/* 0269D8 80025DD8 27B1007C */ addiu $s1, $sp, 0x7c -/* 0269DC 80025DDC 0247082A */ slt $at, $s2, $a3 -.L80025DE0: -/* 0269E0 80025DE0 1020003A */ beqz $at, .L80025ECC -/* 0269E4 80025DE4 0247082A */ slt $at, $s2, $a3 -/* 0269E8 80025DE8 8D050000 */ lw $a1, ($t0) -/* 0269EC 80025DEC 001270C0 */ sll $t6, $s2, 3 -/* 0269F0 80025DF0 00AE2021 */ addu $a0, $a1, $t6 -/* 0269F4 80025DF4 848F0000 */ lh $t7, ($a0) -/* 0269F8 80025DF8 00000000 */ nop -/* 0269FC 80025DFC 168F0033 */ bne $s4, $t7, .L80025ECC -/* 026A00 80025E00 0247082A */ slt $at, $s2, $a3 -.L80025E04: -/* 026A04 80025E04 80980006 */ lb $t8, 6($a0) -/* 026A08 80025E08 02305821 */ addu $t3, $s1, $s0 -/* 026A0C 80025E0C 330A0002 */ andi $t2, $t8, 2 -/* 026A10 80025E10 11400007 */ beqz $t2, .L80025E30 -/* 026A14 80025E14 26520001 */ addiu $s2, $s2, 1 -/* 026A18 80025E18 80990007 */ lb $t9, 7($a0) -/* 026A1C 80025E1C 26100001 */ addiu $s0, $s0, 1 -/* 026A20 80025E20 00106400 */ sll $t4, $s0, 0x10 -/* 026A24 80025E24 000C8403 */ sra $s0, $t4, 0x10 -/* 026A28 80025E28 1000001C */ b .L80025E9C -/* 026A2C 80025E2C A1790000 */ sb $t9, ($t3) -.L80025E30: -/* 026A30 80025E30 1A00001A */ blez $s0, .L80025E9C -/* 026A34 80025E34 00001825 */ move $v1, $zero -/* 026A38 80025E38 02237021 */ addu $t6, $s1, $v1 -.L80025E3C: -/* 026A3C 80025E3C 81CF0000 */ lb $t7, ($t6) -/* 026A40 80025E40 80980007 */ lb $t8, 7($a0) -/* 026A44 80025E44 00000000 */ nop -/* 026A48 80025E48 15F8000E */ bne $t7, $t8, .L80025E84 -/* 026A4C 80025E4C 00000000 */ nop -/* 026A50 80025E50 2610FFFF */ addiu $s0, $s0, -1 -/* 026A54 80025E54 00105400 */ sll $t2, $s0, 0x10 -/* 026A58 80025E58 000A8403 */ sra $s0, $t2, 0x10 -/* 026A5C 80025E5C 0070082A */ slt $at, $v1, $s0 -/* 026A60 80025E60 10200008 */ beqz $at, .L80025E84 -.L80025E64: -/* 026A64 80025E64 02231021 */ addu $v0, $s1, $v1 -/* 026A68 80025E68 24630001 */ addiu $v1, $v1, 1 -/* 026A6C 80025E6C 00036400 */ sll $t4, $v1, 0x10 -/* 026A70 80025E70 804B0001 */ lb $t3, 1($v0) -/* 026A74 80025E74 000C1C03 */ sra $v1, $t4, 0x10 -/* 026A78 80025E78 0070082A */ slt $at, $v1, $s0 -/* 026A7C 80025E7C 1420FFF9 */ bnez $at, .L80025E64 -/* 026A80 80025E80 A04B0000 */ sb $t3, ($v0) -.L80025E84: -/* 026A84 80025E84 24630001 */ addiu $v1, $v1, 1 -/* 026A88 80025E88 00037400 */ sll $t6, $v1, 0x10 -/* 026A8C 80025E8C 000E1C03 */ sra $v1, $t6, 0x10 -/* 026A90 80025E90 0070082A */ slt $at, $v1, $s0 -/* 026A94 80025E94 1420FFE9 */ bnez $at, .L80025E3C -/* 026A98 80025E98 02237021 */ addu $t6, $s1, $v1 -.L80025E9C: -/* 026A9C 80025E9C 0012C400 */ sll $t8, $s2, 0x10 -/* 026AA0 80025EA0 00185403 */ sra $t2, $t8, 0x10 -/* 026AA4 80025EA4 0147082A */ slt $at, $t2, $a3 -/* 026AA8 80025EA8 10200007 */ beqz $at, .L80025EC8 -/* 026AAC 80025EAC 01409025 */ move $s2, $t2 -/* 026AB0 80025EB0 000AC8C0 */ sll $t9, $t2, 3 -/* 026AB4 80025EB4 00B92021 */ addu $a0, $a1, $t9 -/* 026AB8 80025EB8 848B0000 */ lh $t3, ($a0) -/* 026ABC 80025EBC 00000000 */ nop -/* 026AC0 80025EC0 128BFFD0 */ beq $s4, $t3, .L80025E04 -/* 026AC4 80025EC4 00000000 */ nop -.L80025EC8: -/* 026AC8 80025EC8 0247082A */ slt $at, $s2, $a3 -.L80025ECC: -/* 026ACC 80025ECC 1020001B */ beqz $at, .L80025F3C -/* 026AD0 80025ED0 0247082A */ slt $at, $s2, $a3 -/* 026AD4 80025ED4 8D0C0000 */ lw $t4, ($t0) -/* 026AD8 80025ED8 001268C0 */ sll $t5, $s2, 3 -/* 026ADC 80025EDC 018D7021 */ addu $t6, $t4, $t5 -/* 026AE0 80025EE0 85D30000 */ lh $s3, ($t6) -/* 026AE4 80025EE4 00000000 */ nop -/* 026AE8 80025EE8 12930014 */ beq $s4, $s3, .L80025F3C -/* 026AEC 80025EEC 0247082A */ slt $at, $s2, $a3 -/* 026AF0 80025EF0 44938000 */ mtc1 $s3, $f16 -/* 026AF4 80025EF4 44942000 */ mtc1 $s4, $f4 -/* 026AF8 80025EF8 46808420 */ cvt.s.w $f16, $f16 -/* 026AFC 80025EFC 00102400 */ sll $a0, $s0, 0x10 -/* 026B00 80025F00 00047C03 */ sra $t7, $a0, 0x10 -/* 026B04 80025F04 46802120 */ cvt.s.w $f4, $f4 -/* 026B08 80025F08 44068000 */ mfc1 $a2, $f16 -/* 026B0C 80025F0C 01E02025 */ move $a0, $t7 -/* 026B10 80025F10 44072000 */ mfc1 $a3, $f4 -/* 026B14 80025F14 0C009B95 */ jal func_80026E54 -/* 026B18 80025F18 02202825 */ move $a1, $s1 -/* 026B1C 80025F1C 0013A400 */ sll $s4, $s3, 0x10 -/* 026B20 80025F20 3C078012 */ lui $a3, %hi(D_8011D49E) # $a3, 0x8012 -/* 026B24 80025F24 3C088012 */ lui $t0, %hi(D_8011D478) # $t0, 0x8012 -/* 026B28 80025F28 0014C403 */ sra $t8, $s4, 0x10 -/* 026B2C 80025F2C 84E7D49E */ lh $a3, %lo(D_8011D49E)($a3) -/* 026B30 80025F30 2508D478 */ addiu $t0, %lo(D_8011D478) # addiu $t0, $t0, -0x2b88 -/* 026B34 80025F34 0300A025 */ move $s4, $t8 -/* 026B38 80025F38 0247082A */ slt $at, $s2, $a3 -.L80025F3C: -/* 026B3C 80025F3C 1420FFA8 */ bnez $at, .L80025DE0 -/* 026B40 80025F40 0247082A */ slt $at, $s2, $a3 -.L80025F44: -/* 026B44 80025F44 3C068012 */ lui $a2, %hi(D_8011D4B6) # $a2, 0x8012 -/* 026B48 80025F48 84C6D4B6 */ lh $a2, %lo(D_8011D4B6)($a2) -/* 026B4C 80025F4C 3C078000 */ lui $a3, 0x8000 -/* 026B50 80025F50 10C00031 */ beqz $a2, .L80026018 -/* 026B54 80025F54 3C088012 */ lui $t0, %hi(D_8011B0A0) # $t0, 0x8012 -/* 026B58 80025F58 2508B0A0 */ addiu $t0, %lo(D_8011B0A0) # addiu $t0, $t0, -0x4f60 -/* 026B5C 80025F5C 8D020000 */ lw $v0, ($t0) -/* 026B60 80025F60 3C0C8012 */ lui $t4, %hi(D_8011D488) # $t4, 0x8012 -/* 026B64 80025F64 244A0008 */ addiu $t2, $v0, 8 -/* 026B68 80025F68 AD0A0000 */ sw $t2, ($t0) -/* 026B6C 80025F6C 8D8CD488 */ lw $t4, %lo(D_8011D488)($t4) -/* 026B70 80025F70 24D9FFFF */ addiu $t9, $a2, -1 -/* 026B74 80025F74 01876821 */ addu $t5, $t4, $a3 -/* 026B78 80025F78 31AE0006 */ andi $t6, $t5, 6 -/* 026B7C 80025F7C 001958C0 */ sll $t3, $t9, 3 -/* 026B80 80025F80 016E7825 */ or $t7, $t3, $t6 -/* 026B84 80025F84 000660C0 */ sll $t4, $a2, 3 -/* 026B88 80025F88 01866821 */ addu $t5, $t4, $a2 -/* 026B8C 80025F8C 000D5840 */ sll $t3, $t5, 1 -/* 026B90 80025F90 31F800FF */ andi $t8, $t7, 0xff -/* 026B94 80025F94 00185400 */ sll $t2, $t8, 0x10 -/* 026B98 80025F98 256E0008 */ addiu $t6, $t3, 8 -/* 026B9C 80025F9C 3C010400 */ lui $at, 0x400 -/* 026BA0 80025FA0 0141C825 */ or $t9, $t2, $at -/* 026BA4 80025FA4 31CFFFFF */ andi $t7, $t6, 0xffff -/* 026BA8 80025FA8 032FC025 */ or $t8, $t9, $t7 -/* 026BAC 80025FAC 3C0A8012 */ lui $t2, %hi(D_8011D488) # $t2, 0x8012 -/* 026BB0 80025FB0 AC580000 */ sw $t8, ($v0) -/* 026BB4 80025FB4 8D4AD488 */ lw $t2, %lo(D_8011D488)($t2) -/* 026BB8 80025FB8 3C058012 */ lui $a1, %hi(D_8011D4B6) # $a1, 0x8012 -/* 026BBC 80025FBC 01476021 */ addu $t4, $t2, $a3 -/* 026BC0 80025FC0 AC4C0004 */ sw $t4, 4($v0) -/* 026BC4 80025FC4 8D020000 */ lw $v0, ($t0) -/* 026BC8 80025FC8 3C010500 */ lui $at, 0x500 -/* 026BCC 80025FCC 244D0008 */ addiu $t5, $v0, 8 -/* 026BD0 80025FD0 AD0D0000 */ sw $t5, ($t0) -/* 026BD4 80025FD4 84A5D4B6 */ lh $a1, %lo(D_8011D4B6)($a1) -/* 026BD8 80025FD8 00000000 */ nop -/* 026BDC 80025FDC 00055843 */ sra $t3, $a1, 1 -/* 026BE0 80025FE0 256EFFFF */ addiu $t6, $t3, -1 -/* 026BE4 80025FE4 000EC900 */ sll $t9, $t6, 4 -/* 026BE8 80025FE8 332F00FF */ andi $t7, $t9, 0xff -/* 026BEC 80025FEC 000FC400 */ sll $t8, $t7, 0x10 -/* 026BF0 80025FF0 000B6100 */ sll $t4, $t3, 4 -/* 026BF4 80025FF4 318DFFFF */ andi $t5, $t4, 0xffff -/* 026BF8 80025FF8 03015025 */ or $t2, $t8, $at -/* 026BFC 80025FFC 014D5825 */ or $t3, $t2, $t5 -/* 026C00 80026000 3C0E8012 */ lui $t6, %hi(D_8011D498) # $t6, 0x8012 -/* 026C04 80026004 AC4B0000 */ sw $t3, ($v0) -/* 026C08 80026008 8DCED498 */ lw $t6, %lo(D_8011D498)($t6) -/* 026C0C 8002600C 00000000 */ nop -/* 026C10 80026010 01C7C821 */ addu $t9, $t6, $a3 -/* 026C14 80026014 AC590004 */ sw $t9, 4($v0) -.L80026018: -/* 026C18 80026018 8FAF00AC */ lw $t7, 0xac($sp) -/* 026C1C 8002601C 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 -/* 026C20 80026020 8FB800A8 */ lw $t8, 0xa8($sp) -/* 026C24 80026024 AC2FB0A8 */ sw $t7, %lo(D_8011B0A8)($at) -/* 026C28 80026028 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 -/* 026C2C 8002602C AC38B0AC */ sw $t8, %lo(D_8011B0AC)($at) -.L80026030: -/* 026C30 80026030 8FBF004C */ lw $ra, 0x4c($sp) -.L80026034: -/* 026C34 80026034 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 026C38 80026038 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 026C3C 8002603C C7B70020 */ lwc1 $f23, 0x20($sp) -/* 026C40 80026040 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 026C44 80026044 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 026C48 80026048 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 026C4C 8002604C C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 026C50 80026050 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 026C54 80026054 8FB00038 */ lw $s0, 0x38($sp) -/* 026C58 80026058 8FB1003C */ lw $s1, 0x3c($sp) -/* 026C5C 8002605C 8FB20040 */ lw $s2, 0x40($sp) -/* 026C60 80026060 8FB30044 */ lw $s3, 0x44($sp) -/* 026C64 80026064 8FB40048 */ lw $s4, 0x48($sp) -/* 026C68 80026068 03E00008 */ jr $ra -/* 026C6C 8002606C 27BD00C0 */ addiu $sp, $sp, 0xc0 - -glabel func_80026070 -/* 026C70 80026070 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 026C74 80026074 AFBF001C */ sw $ra, 0x1c($sp) -/* 026C78 80026078 E7B50010 */ swc1 $f21, 0x10($sp) -/* 026C7C 8002607C E7B40014 */ swc1 $f20, 0x14($sp) -/* 026C80 80026080 848E0000 */ lh $t6, ($a0) -/* 026C84 80026084 44857000 */ mtc1 $a1, $f14 -/* 026C88 80026088 448E2000 */ mtc1 $t6, $f4 -/* 026C8C 8002608C 44866000 */ mtc1 $a2, $f12 -/* 026C90 80026090 468021A0 */ cvt.s.w $f6, $f4 -/* 026C94 80026094 4487A000 */ mtc1 $a3, $f20 -/* 026C98 80026098 44801800 */ mtc1 $zero, $f3 -/* 026C9C 8002609C E7A60080 */ swc1 $f6, 0x80($sp) -/* 026CA0 800260A0 848F0004 */ lh $t7, 4($a0) -/* 026CA4 800260A4 44801000 */ mtc1 $zero, $f2 -/* 026CA8 800260A8 448F4000 */ mtc1 $t7, $f8 -/* 026CAC 800260AC 00003025 */ move $a2, $zero -/* 026CB0 800260B0 468042A0 */ cvt.s.w $f10, $f8 -/* 026CB4 800260B4 00002825 */ move $a1, $zero -/* 026CB8 800260B8 27AC0040 */ addiu $t4, $sp, 0x40 -/* 026CBC 800260BC E7AA0070 */ swc1 $f10, 0x70($sp) -/* 026CC0 800260C0 84980006 */ lh $t8, 6($a0) -/* 026CC4 800260C4 27AB0080 */ addiu $t3, $sp, 0x80 -/* 026CC8 800260C8 44982000 */ mtc1 $t8, $f4 -/* 026CCC 800260CC 27AA0070 */ addiu $t2, $sp, 0x70 -/* 026CD0 800260D0 468021A0 */ cvt.s.w $f6, $f4 -/* 026CD4 800260D4 27A90060 */ addiu $t1, $sp, 0x60 -/* 026CD8 800260D8 E7A60084 */ swc1 $f6, 0x84($sp) -/* 026CDC 800260DC 84990004 */ lh $t9, 4($a0) -/* 026CE0 800260E0 00000000 */ nop -/* 026CE4 800260E4 44994000 */ mtc1 $t9, $f8 -/* 026CE8 800260E8 00000000 */ nop -/* 026CEC 800260EC 468042A0 */ cvt.s.w $f10, $f8 -/* 026CF0 800260F0 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 026CF4 800260F4 848E0006 */ lh $t6, 6($a0) -/* 026CF8 800260F8 00000000 */ nop -/* 026CFC 800260FC 448E2000 */ mtc1 $t6, $f4 -/* 026D00 80026100 00000000 */ nop -/* 026D04 80026104 468021A0 */ cvt.s.w $f6, $f4 -/* 026D08 80026108 E7A60088 */ swc1 $f6, 0x88($sp) -/* 026D0C 8002610C 848F000A */ lh $t7, 0xa($a0) -/* 026D10 80026110 00000000 */ nop -/* 026D14 80026114 448F4000 */ mtc1 $t7, $f8 -/* 026D18 80026118 00000000 */ nop -/* 026D1C 8002611C 468042A0 */ cvt.s.w $f10, $f8 -/* 026D20 80026120 E7AA0078 */ swc1 $f10, 0x78($sp) -/* 026D24 80026124 84980000 */ lh $t8, ($a0) -/* 026D28 80026128 00000000 */ nop -/* 026D2C 8002612C 44982000 */ mtc1 $t8, $f4 -/* 026D30 80026130 00000000 */ nop -/* 026D34 80026134 468021A0 */ cvt.s.w $f6, $f4 -/* 026D38 80026138 E7A6008C */ swc1 $f6, 0x8c($sp) -/* 026D3C 8002613C 8499000A */ lh $t9, 0xa($a0) -/* 026D40 80026140 00000000 */ nop -/* 026D44 80026144 44994000 */ mtc1 $t9, $f8 -/* 026D48 80026148 00000000 */ nop -/* 026D4C 8002614C 468042A0 */ cvt.s.w $f10, $f8 -/* 026D50 80026150 E7AA007C */ swc1 $f10, 0x7c($sp) -.L80026154: -/* 026D54 80026154 00051080 */ sll $v0, $a1, 2 -/* 026D58 80026158 01427021 */ addu $t6, $t2, $v0 -/* 026D5C 8002615C C5C40000 */ lwc1 $f4, ($t6) -/* 026D60 80026160 01627821 */ addu $t7, $t3, $v0 -/* 026D64 80026164 460C2182 */ mul.s $f6, $f4, $f12 -/* 026D68 80026168 C5E80000 */ lwc1 $f8, ($t7) -/* 026D6C 8002616C 0122C021 */ addu $t8, $t1, $v0 -/* 026D70 80026170 0005C840 */ sll $t9, $a1, 1 -/* 026D74 80026174 46087282 */ mul.s $f10, $f14, $f8 -/* 026D78 80026178 24A50001 */ addiu $a1, $a1, 1 -/* 026D7C 8002617C 01991821 */ addu $v1, $t4, $t9 -/* 026D80 80026180 00007025 */ move $t6, $zero -/* 026D84 80026184 460A3100 */ add.s $f4, $f6, $f10 -/* 026D88 80026188 46142000 */ add.s $f0, $f4, $f20 -/* 026D8C 8002618C 46000221 */ cvt.d.s $f8, $f0 -/* 026D90 80026190 4622403E */ c.le.d $f8, $f2 -/* 026D94 80026194 E7000000 */ swc1 $f0, ($t8) -/* 026D98 80026198 45000002 */ bc1f .L800261A4 -/* 026D9C 8002619C 00000000 */ nop -/* 026DA0 800261A0 240E0001 */ li $t6, 1 -.L800261A4: -/* 026DA4 800261A4 A46E0000 */ sh $t6, ($v1) -/* 026DA8 800261A8 846F0000 */ lh $t7, ($v1) -/* 026DAC 800261AC 00057400 */ sll $t6, $a1, 0x10 -/* 026DB0 800261B0 00CF3021 */ addu $a2, $a2, $t7 -/* 026DB4 800261B4 000E2C03 */ sra $a1, $t6, 0x10 -/* 026DB8 800261B8 0006C400 */ sll $t8, $a2, 0x10 -/* 026DBC 800261BC 28A10004 */ slti $at, $a1, 4 -/* 026DC0 800261C0 0018CC03 */ sra $t9, $t8, 0x10 -/* 026DC4 800261C4 1420FFE3 */ bnez $at, .L80026154 -/* 026DC8 800261C8 03203025 */ move $a2, $t9 -/* 026DCC 800261CC 13200093 */ beqz $t9, .L8002641C -/* 026DD0 800261D0 24010004 */ li $at, 4 -/* 026DD4 800261D4 13210091 */ beq $t9, $at, .L8002641C -/* 026DD8 800261D8 00004025 */ move $t0, $zero -/* 026DDC 800261DC 00002825 */ move $a1, $zero -/* 026DE0 800261E0 27BF004C */ addiu $ra, $sp, 0x4c -/* 026DE4 800261E4 27AD0054 */ addiu $t5, $sp, 0x54 -.L800261E8: -/* 026DE8 800261E8 24A60001 */ addiu $a2, $a1, 1 -/* 026DEC 800261EC 0006CC00 */ sll $t9, $a2, 0x10 -/* 026DF0 800261F0 00063C00 */ sll $a3, $a2, 0x10 -/* 026DF4 800261F4 00197403 */ sra $t6, $t9, 0x10 -/* 026DF8 800261F8 0007C403 */ sra $t8, $a3, 0x10 -/* 026DFC 800261FC 29C10004 */ slti $at, $t6, 4 -/* 026E00 80026200 14200002 */ bnez $at, .L8002620C -/* 026E04 80026204 03003825 */ move $a3, $t8 -/* 026E08 80026208 00003825 */ move $a3, $zero -.L8002620C: -/* 026E0C 8002620C 00077840 */ sll $t7, $a3, 1 -/* 026E10 80026210 018FC021 */ addu $t8, $t4, $t7 -/* 026E14 80026214 00057040 */ sll $t6, $a1, 1 -/* 026E18 80026218 87190000 */ lh $t9, ($t8) -/* 026E1C 8002621C 018E7821 */ addu $t7, $t4, $t6 -/* 026E20 80026220 85F80000 */ lh $t8, ($t7) -/* 026E24 80026224 00051080 */ sll $v0, $a1, 2 -/* 026E28 80026228 1338001D */ beq $t9, $t8, .L800262A0 -/* 026E2C 8002622C 01227821 */ addu $t7, $t1, $v0 -/* 026E30 80026230 00071880 */ sll $v1, $a3, 2 -/* 026E34 80026234 0123C821 */ addu $t9, $t1, $v1 -/* 026E38 80026238 C7260000 */ lwc1 $f6, ($t9) -/* 026E3C 8002623C C5EC0000 */ lwc1 $f12, ($t7) -/* 026E40 80026240 01637021 */ addu $t6, $t3, $v1 -/* 026E44 80026244 46066281 */ sub.s $f10, $f12, $f6 -/* 026E48 80026248 0162C021 */ addu $t8, $t3, $v0 -/* 026E4C 8002624C 460A6383 */ div.s $f14, $f12, $f10 -/* 026E50 80026250 C7020000 */ lwc1 $f2, ($t8) -/* 026E54 80026254 C5C40000 */ lwc1 $f4, ($t6) -/* 026E58 80026258 00082080 */ sll $a0, $t0, 2 -/* 026E5C 8002625C 46022201 */ sub.s $f8, $f4, $f2 -/* 026E60 80026260 01A47821 */ addu $t7, $t5, $a0 -/* 026E64 80026264 0143C021 */ addu $t8, $t2, $v1 -/* 026E68 80026268 0142C821 */ addu $t9, $t2, $v0 -/* 026E6C 8002626C 25080001 */ addiu $t0, $t0, 1 -/* 026E70 80026270 03E47021 */ addu $t6, $ra, $a0 -/* 026E74 80026274 460E4182 */ mul.s $f6, $f8, $f14 -/* 026E78 80026278 46023280 */ add.s $f10, $f6, $f2 -/* 026E7C 8002627C E5EA0000 */ swc1 $f10, ($t7) -/* 026E80 80026280 C7040000 */ lwc1 $f4, ($t8) -/* 026E84 80026284 C7200000 */ lwc1 $f0, ($t9) -/* 026E88 80026288 00087C00 */ sll $t7, $t0, 0x10 -/* 026E8C 8002628C 46002201 */ sub.s $f8, $f4, $f0 -/* 026E90 80026290 000F4403 */ sra $t0, $t7, 0x10 -/* 026E94 80026294 460E4182 */ mul.s $f6, $f8, $f14 -/* 026E98 80026298 46003280 */ add.s $f10, $f6, $f0 -/* 026E9C 8002629C E5CA0000 */ swc1 $f10, ($t6) -.L800262A0: -/* 026EA0 800262A0 00062C00 */ sll $a1, $a2, 0x10 -/* 026EA4 800262A4 0005C403 */ sra $t8, $a1, 0x10 -/* 026EA8 800262A8 2B010004 */ slti $at, $t8, 4 -/* 026EAC 800262AC 1420FFCE */ bnez $at, .L800261E8 -/* 026EB0 800262B0 03002825 */ move $a1, $t8 -/* 026EB4 800262B4 24010002 */ li $at, 2 -/* 026EB8 800262B8 15010058 */ bne $t0, $at, .L8002641C -/* 026EBC 800262BC 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 -/* 026EC0 800262C0 C420D4A4 */ lwc1 $f0, %lo(D_8011D4A4)($at) -/* 026EC4 800262C4 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 026EC8 800262C8 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 -/* 026ECC 800262CC 46002202 */ mul.s $f8, $f4, $f0 -/* 026ED0 800262D0 C422D4A0 */ lwc1 $f2, %lo(D_8011D4A0)($at) -/* 026ED4 800262D4 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 026ED8 800262D8 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 -/* 026EDC 800262DC 46061282 */ mul.s $f10, $f2, $f6 -/* 026EE0 800262E0 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 026EE4 800262E4 C42CD4A8 */ lwc1 $f12, %lo(D_8011D4A8)($at) -/* 026EE8 800262E8 3C01800E */ lui $at, %hi(D_800E5E6C) # $at, 0x800e -/* 026EEC 800262EC 460A4100 */ add.s $f4, $f8, $f10 -/* 026EF0 800262F0 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 026EF4 800262F4 46003202 */ mul.s $f8, $f6, $f0 -/* 026EF8 800262F8 460C2400 */ add.s $f16, $f4, $f12 -/* 026EFC 800262FC 460A1102 */ mul.s $f4, $f2, $f10 -/* 026F00 80026300 46044180 */ add.s $f6, $f8, $f4 -/* 026F04 80026304 460C3480 */ add.s $f18, $f6, $f12 -/* 026F08 80026308 4610903C */ c.lt.s $f18, $f16 -/* 026F0C 8002630C 00000000 */ nop -/* 026F10 80026310 45000004 */ bc1f .L80026324 -/* 026F14 80026314 00000000 */ nop -/* 026F18 80026318 46008386 */ mov.s $f14, $f16 -/* 026F1C 8002631C 46009406 */ mov.s $f16, $f18 -/* 026F20 80026320 46007486 */ mov.s $f18, $f14 -.L80026324: -/* 026F24 80026324 C42D5E68 */ lwc1 $f13, %lo(D_800E5E68)($at) -/* 026F28 80026328 C42C5E6C */ lwc1 $f12, %lo(D_800E5E6C)($at) -/* 026F2C 8002632C 46009021 */ cvt.d.s $f0, $f18 -/* 026F30 80026330 462C003C */ c.lt.d $f0, $f12 -/* 026F34 80026334 3C01800E */ lui $at, %hi(D_800E5E74) # $at, 0x800e -/* 026F38 80026338 45010038 */ bc1t .L8002641C -/* 026F3C 8002633C E7B20064 */ swc1 $f18, 0x64($sp) -/* 026F40 80026340 C42F5E70 */ lwc1 $f15, %lo(D_800E5E70)($at) -/* 026F44 80026344 C42E5E74 */ lwc1 $f14, %lo(D_800E5E74)($at) -/* 026F48 80026348 460080A1 */ cvt.d.s $f2, $f16 -/* 026F4C 8002634C 4622703C */ c.lt.d $f14, $f2 -/* 026F50 80026350 E7B00060 */ swc1 $f16, 0x60($sp) -/* 026F54 80026354 45010031 */ bc1t .L8002641C -/* 026F58 80026358 3C18800E */ lui $t8, %hi(D_800DC918) # $t8, 0x800e -/* 026F5C 8002635C 462C103C */ c.lt.d $f2, $f12 -/* 026F60 80026360 3C01C396 */ li $at, 0xC3960000 # -300.000000 -/* 026F64 80026364 45000004 */ bc1f .L80026378 -/* 026F68 80026368 00003025 */ move $a2, $zero -/* 026F6C 8002636C 44818000 */ mtc1 $at, $f16 -/* 026F70 80026370 00000000 */ nop -/* 026F74 80026374 E7B00060 */ swc1 $f16, 0x60($sp) -.L80026378: -/* 026F78 80026378 4620703C */ c.lt.d $f14, $f0 -/* 026F7C 8002637C 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 026F80 80026380 45000004 */ bc1f .L80026394 -/* 026F84 80026384 00000000 */ nop -/* 026F88 80026388 44819000 */ mtc1 $at, $f18 -/* 026F8C 8002638C 00000000 */ nop -/* 026F90 80026390 E7B20064 */ swc1 $f18, 0x64($sp) -.L80026394: -/* 026F94 80026394 444EF800 */ cfc1 $t6, $31 -/* 026F98 80026398 C7AA0064 */ lwc1 $f10, 0x64($sp) -/* 026F9C 8002639C 35C10003 */ ori $at, $t6, 3 -/* 026FA0 800263A0 38210002 */ xori $at, $at, 2 -/* 026FA4 800263A4 44C1F800 */ ctc1 $at, $31 -/* 026FA8 800263A8 8F18C918 */ lw $t8, %lo(D_800DC918)($t8) -/* 026FAC 800263AC 46005224 */ cvt.w.s $f8, $f10 -/* 026FB0 800263B0 87050040 */ lh $a1, 0x40($t8) -/* 026FB4 800263B4 44044000 */ mfc1 $a0, $f8 -/* 026FB8 800263B8 44CEF800 */ ctc1 $t6, $31 -/* 026FBC 800263BC 24A5FF3D */ addiu $a1, $a1, -0xc3 -/* 026FC0 800263C0 00057400 */ sll $t6, $a1, 0x10 -/* 026FC4 800263C4 00047C00 */ sll $t7, $a0, 0x10 -/* 026FC8 800263C8 000F2403 */ sra $a0, $t7, 0x10 -/* 026FCC 800263CC 0C009B05 */ jal func_80026C14 -/* 026FD0 800263D0 000E2C03 */ sra $a1, $t6, 0x10 -/* 026FD4 800263D4 4459F800 */ cfc1 $t9, $31 -/* 026FD8 800263D8 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 026FDC 800263DC 37210003 */ ori $at, $t9, 3 -/* 026FE0 800263E0 38210002 */ xori $at, $at, 2 -/* 026FE4 800263E4 44C1F800 */ ctc1 $at, $31 -/* 026FE8 800263E8 3C0F800E */ lui $t7, %hi(D_800DC918) # $t7, 0x800e -/* 026FEC 800263EC 8DEFC918 */ lw $t7, %lo(D_800DC918)($t7) -/* 026FF0 800263F0 460021A4 */ cvt.w.s $f6, $f4 -/* 026FF4 800263F4 85E50040 */ lh $a1, 0x40($t7) -/* 026FF8 800263F8 44043000 */ mfc1 $a0, $f6 -/* 026FFC 800263FC 44D9F800 */ ctc1 $t9, $31 -/* 027000 80026400 24A5FF3D */ addiu $a1, $a1, -0xc3 -/* 027004 80026404 0005CC00 */ sll $t9, $a1, 0x10 -/* 027008 80026408 0004C400 */ sll $t8, $a0, 0x10 -/* 02700C 8002640C 00182403 */ sra $a0, $t8, 0x10 -/* 027010 80026410 00192C03 */ sra $a1, $t9, 0x10 -/* 027014 80026414 0C009B05 */ jal func_80026C14 -/* 027018 80026418 00003025 */ move $a2, $zero -.L8002641C: -/* 02701C 8002641C 8FBF001C */ lw $ra, 0x1c($sp) -/* 027020 80026420 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 027024 80026424 C7B40014 */ lwc1 $f20, 0x14($sp) -/* 027028 80026428 03E00008 */ jr $ra -/* 02702C 8002642C 27BD0090 */ addiu $sp, $sp, 0x90 - -glabel func_80026430 -/* 027030 80026430 27BDFEF0 */ addiu $sp, $sp, -0x110 -/* 027034 80026434 3C0E8012 */ lui $t6, %hi(D_8011D49E) # $t6, 0x8012 -/* 027038 80026438 3C0F8012 */ lui $t7, %hi(D_8011D4BA) # $t7, 0x8012 -/* 02703C 8002643C 85EFD4BA */ lh $t7, %lo(D_8011D4BA)($t7) -/* 027040 80026440 85CED49E */ lh $t6, %lo(D_8011D49E)($t6) -/* 027044 80026444 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 027048 80026448 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 02704C 8002644C E7B8002C */ swc1 $f24, 0x2c($sp) -/* 027050 80026450 4486C000 */ mtc1 $a2, $f24 -/* 027054 80026454 4485D000 */ mtc1 $a1, $f26 -/* 027058 80026458 4487E000 */ mtc1 $a3, $f28 -/* 02705C 8002645C AFB60060 */ sw $s6, 0x60($sp) -/* 027060 80026460 01CF082A */ slt $at, $t6, $t7 -/* 027064 80026464 0080B025 */ move $s6, $a0 -/* 027068 80026468 AFBF006C */ sw $ra, 0x6c($sp) -/* 02706C 8002646C AFBE0068 */ sw $fp, 0x68($sp) -/* 027070 80026470 AFB70064 */ sw $s7, 0x64($sp) -/* 027074 80026474 AFB5005C */ sw $s5, 0x5c($sp) -/* 027078 80026478 AFB40058 */ sw $s4, 0x58($sp) -/* 02707C 8002647C AFB30054 */ sw $s3, 0x54($sp) -/* 027080 80026480 AFB20050 */ sw $s2, 0x50($sp) -/* 027084 80026484 AFB1004C */ sw $s1, 0x4c($sp) -/* 027088 80026488 AFB00048 */ sw $s0, 0x48($sp) -/* 02708C 8002648C E7BF0040 */ swc1 $f31, 0x40($sp) -/* 027090 80026490 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 027094 80026494 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 027098 80026498 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 02709C 8002649C E7B90028 */ swc1 $f25, 0x28($sp) -/* 0270A0 800264A0 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0270A4 800264A4 E7B60024 */ swc1 $f22, 0x24($sp) -/* 0270A8 800264A8 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0270AC 800264AC 102001C1 */ beqz $at, .L80026BB4 -/* 0270B0 800264B0 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0270B4 800264B4 A7A0010E */ sh $zero, 0x10e($sp) -/* 0270B8 800264B8 84840020 */ lh $a0, 0x20($a0) -/* 0270BC 800264BC 3C01800E */ lui $at, %hi(D_800E5E7C) # $at, 0x800e -/* 0270C0 800264C0 188001BC */ blez $a0, .L80026BB4 -/* 0270C4 800264C4 27BE00B8 */ addiu $fp, $sp, 0xb8 -/* 0270C8 800264C8 C43F5E78 */ lwc1 $f31, %lo(D_800E5E78)($at) -/* 0270CC 800264CC C43E5E7C */ lwc1 $f30, %lo(D_800E5E7C)($at) -/* 0270D0 800264D0 4480A800 */ mtc1 $zero, $f21 -/* 0270D4 800264D4 4480A000 */ mtc1 $zero, $f20 -/* 0270D8 800264D8 27B500D0 */ addiu $s5, $sp, 0xd0 -/* 0270DC 800264DC 27B400DC */ addiu $s4, $sp, 0xdc -/* 0270E0 800264E0 27B300E8 */ addiu $s3, $sp, 0xe8 -/* 0270E4 800264E4 27B200F8 */ addiu $s2, $sp, 0xf8 -/* 0270E8 800264E8 27B100C4 */ addiu $s1, $sp, 0xc4 -/* 0270EC 800264EC 241F0001 */ li $ra, 1 -/* 0270F0 800264F0 27AD00A8 */ addiu $t5, $sp, 0xa8 -/* 0270F4 800264F4 27AC00A0 */ addiu $t4, $sp, 0xa0 -/* 0270F8 800264F8 27AB00B0 */ addiu $t3, $sp, 0xb0 -/* 0270FC 800264FC 240A000A */ li $t2, 10 -.L80026500: -/* 027100 80026500 87B9010E */ lh $t9, 0x10e($sp) -/* 027104 80026504 8ED8000C */ lw $t8, 0xc($s6) -/* 027108 80026508 00197080 */ sll $t6, $t9, 2 -/* 02710C 8002650C 01D97023 */ subu $t6, $t6, $t9 -/* 027110 80026510 000E7080 */ sll $t6, $t6, 2 -/* 027114 80026514 030E1021 */ addu $v0, $t8, $t6 -/* 027118 80026518 844F0010 */ lh $t7, 0x10($v0) -/* 02711C 8002651C 84430004 */ lh $v1, 4($v0) -/* 027120 80026520 84490002 */ lh $t1, 2($v0) -/* 027124 80026524 A7AF0108 */ sh $t7, 0x108($sp) -/* 027128 80026528 8C590008 */ lw $t9, 8($v0) -/* 02712C 8002652C 87AF0108 */ lh $t7, 0x108($sp) -/* 027130 80026530 33380300 */ andi $t8, $t9, 0x300 -/* 027134 80026534 13000004 */ beqz $t8, .L80026548 -/* 027138 80026538 0003BC00 */ sll $s7, $v1, 0x10 -/* 02713C 8002653C 87A30108 */ lh $v1, 0x108($sp) -/* 027140 80026540 00000000 */ nop -/* 027144 80026544 0003BC00 */ sll $s7, $v1, 0x10 -.L80026548: -/* 027148 80026548 00177403 */ sra $t6, $s7, 0x10 -/* 02714C 8002654C 006F082A */ slt $at, $v1, $t7 -/* 027150 80026550 10200190 */ beqz $at, .L80026B94 -/* 027154 80026554 01C0B825 */ move $s7, $t6 -.L80026558: -/* 027158 80026558 8ED90004 */ lw $t9, 4($s6) -/* 02715C 8002655C 0017C100 */ sll $t8, $s7, 4 -/* 027160 80026560 03387021 */ addu $t6, $t9, $t8 -/* 027164 80026564 91CF0000 */ lbu $t7, ($t6) -/* 027168 80026568 00004025 */ move $t0, $zero -/* 02716C 8002656C 31F90040 */ andi $t9, $t7, 0x40 -/* 027170 80026570 1720017F */ bnez $t9, .L80026B70 -/* 027174 80026574 00003825 */ move $a3, $zero -.L80026578: -/* 027178 80026578 8ED80004 */ lw $t8, 4($s6) -/* 02717C 8002657C 00177100 */ sll $t6, $s7, 4 -/* 027180 80026580 030E7821 */ addu $t7, $t8, $t6 -/* 027184 80026584 01E7C821 */ addu $t9, $t7, $a3 -/* 027188 80026588 93380001 */ lbu $t8, 1($t9) -/* 02718C 8002658C 8ED90000 */ lw $t9, ($s6) -/* 027190 80026590 03097021 */ addu $t6, $t8, $t1 -/* 027194 80026594 01CA0019 */ multu $t6, $t2 -/* 027198 80026598 00071080 */ sll $v0, $a3, 2 -/* 02719C 8002659C 02622021 */ addu $a0, $s3, $v0 -/* 0271A0 800265A0 02A22821 */ addu $a1, $s5, $v0 -/* 0271A4 800265A4 02473021 */ addu $a2, $s2, $a3 -/* 0271A8 800265A8 24E70001 */ addiu $a3, $a3, 1 -/* 0271AC 800265AC 00007812 */ mflo $t7 -/* 0271B0 800265B0 01F91821 */ addu $v1, $t7, $t9 -/* 0271B4 800265B4 84780000 */ lh $t8, ($v1) -/* 0271B8 800265B8 02827821 */ addu $t7, $s4, $v0 -/* 0271BC 800265BC 44982000 */ mtc1 $t8, $f4 -/* 0271C0 800265C0 0222C021 */ addu $t8, $s1, $v0 -/* 0271C4 800265C4 468021A0 */ cvt.s.w $f6, $f4 -/* 0271C8 800265C8 E4860000 */ swc1 $f6, ($a0) -/* 0271CC 800265CC 846E0002 */ lh $t6, 2($v1) -/* 0271D0 800265D0 00000000 */ nop -/* 0271D4 800265D4 448E4000 */ mtc1 $t6, $f8 -/* 0271D8 800265D8 00007025 */ move $t6, $zero -/* 0271DC 800265DC 468042A0 */ cvt.s.w $f10, $f8 -/* 0271E0 800265E0 E5EA0000 */ swc1 $f10, ($t7) -/* 0271E4 800265E4 84790004 */ lh $t9, 4($v1) -/* 0271E8 800265E8 00000000 */ nop -/* 0271EC 800265EC 44992000 */ mtc1 $t9, $f4 -/* 0271F0 800265F0 00000000 */ nop -/* 0271F4 800265F4 468021A0 */ cvt.s.w $f6, $f4 -/* 0271F8 800265F8 C4840000 */ lwc1 $f4, ($a0) -/* 0271FC 800265FC E4A60000 */ swc1 $f6, ($a1) -/* 027200 80026600 C4A80000 */ lwc1 $f8, ($a1) -/* 027204 80026604 00000000 */ nop -/* 027208 80026608 46184282 */ mul.s $f10, $f8, $f24 -/* 02720C 8002660C 00000000 */ nop -/* 027210 80026610 4604D182 */ mul.s $f6, $f26, $f4 -/* 027214 80026614 46065200 */ add.s $f8, $f10, $f6 -/* 027218 80026618 461C4000 */ add.s $f0, $f8, $f28 -/* 02721C 8002661C 46000121 */ cvt.d.s $f4, $f0 -/* 027220 80026620 4634203E */ c.le.d $f4, $f20 -/* 027224 80026624 E7000000 */ swc1 $f0, ($t8) -/* 027228 80026628 45000002 */ bc1f .L80026634 -/* 02722C 8002662C 00000000 */ nop -/* 027230 80026630 240E0001 */ li $t6, 1 -.L80026634: -/* 027234 80026634 A0CE0000 */ sb $t6, ($a2) -/* 027238 80026638 80CF0000 */ lb $t7, ($a2) -/* 02723C 8002663C 0000C825 */ move $t9, $zero -/* 027240 80026640 448F5000 */ mtc1 $t7, $f10 -/* 027244 80026644 00077C00 */ sll $t7, $a3, 0x10 -/* 027248 80026648 468051A1 */ cvt.d.w $f6, $f10 -/* 02724C 8002664C 000F3C03 */ sra $a3, $t7, 0x10 -/* 027250 80026650 28E10003 */ slti $at, $a3, 3 -/* 027254 80026654 4634303E */ c.le.d $f6, $f20 -/* 027258 80026658 00000000 */ nop -/* 02725C 8002665C 45000002 */ bc1f .L80026668 -/* 027260 80026660 00000000 */ nop -/* 027264 80026664 24190001 */ li $t9, 1 -.L80026668: -/* 027268 80026668 01194021 */ addu $t0, $t0, $t9 -/* 02726C 8002666C 0008C400 */ sll $t8, $t0, 0x10 -/* 027270 80026670 00187403 */ sra $t6, $t8, 0x10 -/* 027274 80026674 1420FFC0 */ bnez $at, .L80026578 -/* 027278 80026678 01C04025 */ move $t0, $t6 -/* 02727C 8002667C 11DF0002 */ beq $t6, $ra, .L80026688 -/* 027280 80026680 24010002 */ li $at, 2 -/* 027284 80026684 15C1013A */ bne $t6, $at, .L80026B70 -.L80026688: -/* 027288 80026688 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 -/* 02728C 8002668C C428D4A4 */ lwc1 $f8, %lo(D_8011D4A4)($at) -/* 027290 80026690 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 -/* 027294 80026694 C424D4A0 */ lwc1 $f4, %lo(D_8011D4A0)($at) -/* 027298 80026698 3C018012 */ lui $at, %hi(D_8011D4A8) # $at, 0x8012 -/* 02729C 8002669C C436D4A8 */ lwc1 $f22, %lo(D_8011D4A8)($at) -/* 0272A0 800266A0 00008025 */ move $s0, $zero -/* 0272A4 800266A4 00003825 */ move $a3, $zero -/* 0272A8 800266A8 E7A80098 */ swc1 $f8, 0x98($sp) -/* 0272AC 800266AC E7A40094 */ swc1 $f4, 0x94($sp) -.L800266B0: -/* 0272B0 800266B0 24E60001 */ addiu $a2, $a3, 1 -/* 0272B4 800266B4 00067400 */ sll $t6, $a2, 0x10 -/* 0272B8 800266B8 00062C00 */ sll $a1, $a2, 0x10 -/* 0272BC 800266BC 000E7C03 */ sra $t7, $t6, 0x10 -/* 0272C0 800266C0 0005C403 */ sra $t8, $a1, 0x10 -/* 0272C4 800266C4 29E10003 */ slti $at, $t7, 3 -/* 0272C8 800266C8 14200002 */ bnez $at, .L800266D4 -/* 0272CC 800266CC 03002825 */ move $a1, $t8 -/* 0272D0 800266D0 00002825 */ move $a1, $zero -.L800266D4: -/* 0272D4 800266D4 0245C821 */ addu $t9, $s2, $a1 -/* 0272D8 800266D8 02477021 */ addu $t6, $s2, $a3 -/* 0272DC 800266DC 81CF0000 */ lb $t7, ($t6) -/* 0272E0 800266E0 83380000 */ lb $t8, ($t9) -/* 0272E4 800266E4 00071080 */ sll $v0, $a3, 2 -/* 0272E8 800266E8 130F0028 */ beq $t8, $t7, .L8002678C -/* 0272EC 800266EC 02227021 */ addu $t6, $s1, $v0 -/* 0272F0 800266F0 00051880 */ sll $v1, $a1, 2 -/* 0272F4 800266F4 0223C021 */ addu $t8, $s1, $v1 -/* 0272F8 800266F8 C70A0000 */ lwc1 $f10, ($t8) -/* 0272FC 800266FC C5D20000 */ lwc1 $f18, ($t6) -/* 027300 80026700 0263C821 */ addu $t9, $s3, $v1 -/* 027304 80026704 460A9181 */ sub.s $f6, $f18, $f10 -/* 027308 80026708 02627821 */ addu $t7, $s3, $v0 -/* 02730C 8002670C 46069403 */ div.s $f16, $f18, $f6 -/* 027310 80026710 C5E20000 */ lwc1 $f2, ($t7) -/* 027314 80026714 C7280000 */ lwc1 $f8, ($t9) -/* 027318 80026718 00102080 */ sll $a0, $s0, 2 -/* 02731C 8002671C 46024101 */ sub.s $f4, $f8, $f2 -/* 027320 80026720 01647021 */ addu $t6, $t3, $a0 -/* 027324 80026724 02837821 */ addu $t7, $s4, $v1 -/* 027328 80026728 0282C021 */ addu $t8, $s4, $v0 -/* 02732C 8002672C 03C4C821 */ addu $t9, $fp, $a0 -/* 027330 80026730 26100001 */ addiu $s0, $s0, 1 -/* 027334 80026734 46102282 */ mul.s $f10, $f4, $f16 -/* 027338 80026738 46025180 */ add.s $f6, $f10, $f2 -/* 02733C 8002673C E5C60000 */ swc1 $f6, ($t6) -/* 027340 80026740 C5E80000 */ lwc1 $f8, ($t7) -/* 027344 80026744 C70C0000 */ lwc1 $f12, ($t8) -/* 027348 80026748 01847021 */ addu $t6, $t4, $a0 -/* 02734C 8002674C 460C4101 */ sub.s $f4, $f8, $f12 -/* 027350 80026750 02A2C021 */ addu $t8, $s5, $v0 -/* 027354 80026754 46102282 */ mul.s $f10, $f4, $f16 -/* 027358 80026758 02A37821 */ addu $t7, $s5, $v1 -/* 02735C 8002675C 460C5380 */ add.s $f14, $f10, $f12 -/* 027360 80026760 E72E0000 */ swc1 $f14, ($t9) -/* 027364 80026764 E5CE0000 */ swc1 $f14, ($t6) -/* 027368 80026768 C5E60000 */ lwc1 $f6, ($t7) -/* 02736C 8002676C C7000000 */ lwc1 $f0, ($t8) -/* 027370 80026770 01A4C821 */ addu $t9, $t5, $a0 -/* 027374 80026774 46003201 */ sub.s $f8, $f6, $f0 -/* 027378 80026778 00107400 */ sll $t6, $s0, 0x10 -/* 02737C 8002677C 46104102 */ mul.s $f4, $f8, $f16 -/* 027380 80026780 000E8403 */ sra $s0, $t6, 0x10 -/* 027384 80026784 46002280 */ add.s $f10, $f4, $f0 -/* 027388 80026788 E72A0000 */ swc1 $f10, ($t9) -.L8002678C: -/* 02738C 8002678C 00063C00 */ sll $a3, $a2, 0x10 -/* 027390 80026790 00077C03 */ sra $t7, $a3, 0x10 -/* 027394 80026794 29E10003 */ slti $at, $t7, 3 -/* 027398 80026798 1420FFC5 */ bnez $at, .L800266B0 -/* 02739C 8002679C 01E03825 */ move $a3, $t7 -/* 0273A0 800267A0 C7AE0098 */ lwc1 $f14, 0x98($sp) -/* 0273A4 800267A4 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 0273A8 800267A8 C7A00094 */ lwc1 $f0, 0x94($sp) -/* 0273AC 800267AC 460E3202 */ mul.s $f8, $f6, $f14 -/* 0273B0 800267B0 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0273B4 800267B4 3C01800E */ lui $at, %hi(D_800E5E84) # $at, 0x800e -/* 0273B8 800267B8 00008025 */ move $s0, $zero -/* 0273BC 800267BC 46040282 */ mul.s $f10, $f0, $f4 -/* 0273C0 800267C0 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 0273C4 800267C4 00001025 */ move $v0, $zero -/* 0273C8 800267C8 00001825 */ move $v1, $zero -/* 0273CC 800267CC 460A4180 */ add.s $f6, $f8, $f10 -/* 0273D0 800267D0 C7AA00B4 */ lwc1 $f10, 0xb4($sp) -/* 0273D4 800267D4 460E2202 */ mul.s $f8, $f4, $f14 -/* 0273D8 800267D8 46163080 */ add.s $f2, $f6, $f22 -/* 0273DC 800267DC C4295E80 */ lwc1 $f9, %lo(D_800E5E80)($at) -/* 0273E0 800267E0 E7A200C4 */ swc1 $f2, 0xc4($sp) -/* 0273E4 800267E4 460A0182 */ mul.s $f6, $f0, $f10 -/* 0273E8 800267E8 C7AA00C4 */ lwc1 $f10, 0xc4($sp) -/* 0273EC 800267EC 46064100 */ add.s $f4, $f8, $f6 -/* 0273F0 800267F0 C4285E84 */ lwc1 $f8, %lo(D_800E5E84)($at) -/* 0273F4 800267F4 46005021 */ cvt.d.s $f0, $f10 -/* 0273F8 800267F8 4628003C */ c.lt.d $f0, $f8 -/* 0273FC 800267FC 46162300 */ add.s $f12, $f4, $f22 -/* 027400 80026800 45000004 */ bc1f .L80026814 -/* 027404 80026804 E7AC00C8 */ swc1 $f12, 0xc8($sp) -/* 027408 80026808 001F1600 */ sll $v0, $ra, 0x18 -/* 02740C 8002680C 0002CE03 */ sra $t9, $v0, 0x18 -/* 027410 80026810 03201025 */ move $v0, $t9 -.L80026814: -/* 027414 80026814 4620F03C */ c.lt.d $f30, $f0 -/* 027418 80026818 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 02741C 8002681C 45000004 */ bc1f .L80026830 -/* 027420 80026820 3C01800E */ lui $at, %hi(D_800E5E8C) # $at, 0x800e -/* 027424 80026824 344E0002 */ ori $t6, $v0, 2 -/* 027428 80026828 000EC600 */ sll $t8, $t6, 0x18 -/* 02742C 8002682C 00181603 */ sra $v0, $t8, 0x18 -.L80026830: -/* 027430 80026830 C4255E88 */ lwc1 $f5, %lo(D_800E5E88)($at) -/* 027434 80026834 C4245E8C */ lwc1 $f4, %lo(D_800E5E8C)($at) -/* 027438 80026838 46003021 */ cvt.d.s $f0, $f6 -/* 02743C 8002683C 4624003C */ c.lt.d $f0, $f4 -/* 027440 80026840 00000000 */ nop -/* 027444 80026844 45000004 */ bc1f .L80026858 -/* 027448 80026848 00000000 */ nop -/* 02744C 8002684C 001F1E00 */ sll $v1, $ra, 0x18 -/* 027450 80026850 0003CE03 */ sra $t9, $v1, 0x18 -/* 027454 80026854 03201825 */ move $v1, $t9 -.L80026858: -/* 027458 80026858 4620F03C */ c.lt.d $f30, $f0 -/* 02745C 8002685C 346E0002 */ ori $t6, $v1, 2 -/* 027460 80026860 45000002 */ bc1f .L8002686C -/* 027464 80026864 000EC600 */ sll $t8, $t6, 0x18 -/* 027468 80026868 00181E03 */ sra $v1, $t8, 0x18 -.L8002686C: -/* 02746C 8002686C 0062C825 */ or $t9, $v1, $v0 -/* 027470 80026870 17200007 */ bnez $t9, .L80026890 -/* 027474 80026874 00000000 */ nop -/* 027478 80026878 001F8400 */ sll $s0, $ra, 0x10 -/* 02747C 8002687C 00107403 */ sra $t6, $s0, 0x10 -/* 027480 80026880 01C08025 */ move $s0, $t6 -/* 027484 80026884 A3A300F9 */ sb $v1, 0xf9($sp) -/* 027488 80026888 10000050 */ b .L800269CC -/* 02748C 8002688C A3A200F8 */ sb $v0, 0xf8($sp) -.L80026890: -/* 027490 80026890 A3A200F8 */ sb $v0, 0xf8($sp) -/* 027494 80026894 1062004D */ beq $v1, $v0, .L800269CC -/* 027498 80026898 A3A300F9 */ sb $v1, 0xf9($sp) -/* 02749C 8002689C C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 0274A0 800268A0 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 0274A4 800268A4 00003825 */ move $a3, $zero -/* 0274A8 800268A8 4608503C */ c.lt.s $f10, $f8 -/* 0274AC 800268AC 001F8400 */ sll $s0, $ra, 0x10 -/* 0274B0 800268B0 45000005 */ bc1f .L800268C8 -/* 0274B4 800268B4 0247C821 */ addu $t9, $s2, $a3 -/* 0274B8 800268B8 001F3C00 */ sll $a3, $ra, 0x10 -/* 0274BC 800268BC 00077C03 */ sra $t7, $a3, 0x10 -/* 0274C0 800268C0 01E03825 */ move $a3, $t7 -/* 0274C4 800268C4 0247C821 */ addu $t9, $s2, $a3 -.L800268C8: -/* 0274C8 800268C8 832E0000 */ lb $t6, ($t9) -/* 0274CC 800268CC 00071080 */ sll $v0, $a3, 2 -/* 0274D0 800268D0 17EE001D */ bne $ra, $t6, .L80026948 -/* 0274D4 800268D4 03E73023 */ subu $a2, $ra, $a3 -/* 0274D8 800268D8 03E72823 */ subu $a1, $ra, $a3 -/* 0274DC 800268DC 0005C400 */ sll $t8, $a1, 0x10 -/* 0274E0 800268E0 02221821 */ addu $v1, $s1, $v0 -/* 0274E4 800268E4 C4720000 */ lwc1 $f18, ($v1) -/* 0274E8 800268E8 00187C03 */ sra $t7, $t8, 0x10 -/* 0274EC 800268EC 000FC880 */ sll $t9, $t7, 2 -/* 0274F0 800268F0 02397021 */ addu $t6, $s1, $t9 -/* 0274F4 800268F4 46009187 */ neg.s $f6, $f18 -/* 0274F8 800268F8 C5C80000 */ lwc1 $f8, ($t6) -/* 0274FC 800268FC 46003121 */ cvt.d.s $f4, $f6 -/* 027500 80026900 463E2281 */ sub.d $f10, $f4, $f30 -/* 027504 80026904 03D9C021 */ addu $t8, $fp, $t9 -/* 027508 80026908 46124181 */ sub.s $f6, $f8, $f18 -/* 02750C 8002690C 03C22021 */ addu $a0, $fp, $v0 -/* 027510 80026910 46003121 */ cvt.d.s $f4, $f6 -/* 027514 80026914 00000000 */ nop -/* 027518 80026918 46245203 */ div.d $f8, $f10, $f4 -/* 02751C 8002691C C7060000 */ lwc1 $f6, ($t8) -/* 027520 80026920 C4800000 */ lwc1 $f0, ($a0) -/* 027524 80026924 3C01C396 */ li $at, 0xC3960000 # -300.000000 -/* 027528 80026928 46003281 */ sub.s $f10, $f6, $f0 -/* 02752C 8002692C 44813000 */ mtc1 $at, $f6 -/* 027530 80026930 00000000 */ nop -/* 027534 80026934 E4660000 */ swc1 $f6, ($v1) -/* 027538 80026938 46204420 */ cvt.s.d $f16, $f8 -/* 02753C 8002693C 46105102 */ mul.s $f4, $f10, $f16 -/* 027540 80026940 46002200 */ add.s $f8, $f4, $f0 -/* 027544 80026944 E4880000 */ swc1 $f8, ($a0) -.L80026948: -/* 027548 80026948 00067C00 */ sll $t7, $a2, 0x10 -/* 02754C 8002694C 000FCC03 */ sra $t9, $t7, 0x10 -/* 027550 80026950 02597021 */ addu $t6, $s2, $t9 -/* 027554 80026954 81D80000 */ lb $t8, ($t6) -/* 027558 80026958 24010002 */ li $at, 2 -/* 02755C 8002695C 1701001A */ bne $t8, $at, .L800269C8 -/* 027560 80026960 00107403 */ sra $t6, $s0, 0x10 -/* 027564 80026964 00192880 */ sll $a1, $t9, 2 -/* 027568 80026968 02251821 */ addu $v1, $s1, $a1 -/* 02756C 8002696C 00071080 */ sll $v0, $a3, 2 -/* 027570 80026970 C4600000 */ lwc1 $f0, ($v1) -/* 027574 80026974 02227821 */ addu $t7, $s1, $v0 -/* 027578 80026978 C5E80000 */ lwc1 $f8, ($t7) -/* 02757C 8002697C 460002A1 */ cvt.d.s $f10, $f0 -/* 027580 80026980 463E5101 */ sub.d $f4, $f10, $f30 -/* 027584 80026984 03C2C821 */ addu $t9, $fp, $v0 -/* 027588 80026988 46080181 */ sub.s $f6, $f0, $f8 -/* 02758C 8002698C 03C52021 */ addu $a0, $fp, $a1 -/* 027590 80026990 460032A1 */ cvt.d.s $f10, $f6 -/* 027594 80026994 00000000 */ nop -/* 027598 80026998 462A2203 */ div.d $f8, $f4, $f10 -/* 02759C 8002699C C7260000 */ lwc1 $f6, ($t9) -/* 0275A0 800269A0 C4820000 */ lwc1 $f2, ($a0) -/* 0275A4 800269A4 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 0275A8 800269A8 46023101 */ sub.s $f4, $f6, $f2 -/* 0275AC 800269AC 44813000 */ mtc1 $at, $f6 -/* 0275B0 800269B0 00000000 */ nop -/* 0275B4 800269B4 E4660000 */ swc1 $f6, ($v1) -/* 0275B8 800269B8 46204420 */ cvt.s.d $f16, $f8 -/* 0275BC 800269BC 46102282 */ mul.s $f10, $f4, $f16 -/* 0275C0 800269C0 46025200 */ add.s $f8, $f10, $f2 -/* 0275C4 800269C4 E4880000 */ swc1 $f8, ($a0) -.L800269C8: -/* 0275C8 800269C8 01C08025 */ move $s0, $t6 -.L800269CC: -/* 0275CC 800269CC 12000068 */ beqz $s0, .L80026B70 -/* 0275D0 800269D0 001778C0 */ sll $t7, $s7, 3 -/* 0275D4 800269D4 8ED80014 */ lw $t8, 0x14($s6) -/* 0275D8 800269D8 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 0275DC 800269DC 030FC821 */ addu $t9, $t8, $t7 -/* 0275E0 800269E0 972E0000 */ lhu $t6, ($t9) -/* 0275E4 800269E4 8ED90018 */ lw $t9, 0x18($s6) -/* 0275E8 800269E8 000EC480 */ sll $t8, $t6, 0x12 -/* 0275EC 800269EC 00187C03 */ sra $t7, $t8, 0x10 -/* 0275F0 800269F0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 0275F4 800269F4 000F7080 */ sll $t6, $t7, 2 -/* 0275F8 800269F8 032E1021 */ addu $v0, $t9, $t6 -/* 0275FC 800269FC C4460000 */ lwc1 $f6, ($v0) -/* 027600 80026A00 460A2200 */ add.s $f8, $f4, $f10 -/* 027604 80026A04 C7A400B8 */ lwc1 $f4, 0xb8($sp) -/* 027608 80026A08 46083402 */ mul.s $f16, $f6, $f8 -/* 02760C 80026A0C C4400004 */ lwc1 $f0, 4($v0) -/* 027610 80026A10 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 027614 80026A14 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 027618 80026A18 46002282 */ mul.s $f10, $f4, $f0 -/* 02761C 80026A1C 46083100 */ add.s $f4, $f6, $f8 -/* 027620 80026A20 C448000C */ lwc1 $f8, 0xc($v0) -/* 027624 80026A24 00001825 */ move $v1, $zero -/* 027628 80026A28 460A8400 */ add.s $f16, $f16, $f10 -/* 02762C 80026A2C C44A0008 */ lwc1 $f10, 8($v0) -/* 027630 80026A30 00000000 */ nop -/* 027634 80026A34 460A2182 */ mul.s $f6, $f4, $f10 -/* 027638 80026A38 44805000 */ mtc1 $zero, $f10 -/* 02763C 80026A3C 46068400 */ add.s $f16, $f16, $f6 -/* 027640 80026A40 C7A600C4 */ lwc1 $f6, 0xc4($sp) -/* 027644 80026A44 46088400 */ add.s $f16, $f16, $f8 -/* 027648 80026A48 C7A800C8 */ lwc1 $f8, 0xc8($sp) -/* 02764C 80026A4C 46008121 */ cvt.d.s $f4, $f16 -/* 027650 80026A50 4624A03C */ c.lt.d $f20, $f4 -/* 027654 80026A54 00000000 */ nop -/* 027658 80026A58 45000003 */ bc1f .L80026A68 -/* 02765C 80026A5C 0003C080 */ sll $t8, $v1, 2 -/* 027660 80026A60 24030001 */ li $v1, 1 -/* 027664 80026A64 0003C080 */ sll $t8, $v1, 2 -.L80026A68: -/* 027668 80026A68 460A003C */ c.lt.s $f0, $f10 -/* 02766C 80026A6C 00188400 */ sll $s0, $t8, 0x10 -/* 027670 80026A70 00107C03 */ sra $t7, $s0, 0x10 -/* 027674 80026A74 45000005 */ bc1f .L80026A8C -/* 027678 80026A78 01E08025 */ move $s0, $t7 -/* 02767C 80026A7C 0300C825 */ move $t9, $t8 -/* 027680 80026A80 372E0001 */ ori $t6, $t9, 1 -/* 027684 80026A84 000EC400 */ sll $t8, $t6, 0x10 -/* 027688 80026A88 00188403 */ sra $s0, $t8, 0x10 -.L80026A8C: -/* 02768C 80026A8C 46083032 */ c.eq.s $f6, $f8 -/* 027690 80026A90 36190008 */ ori $t9, $s0, 8 -/* 027694 80026A94 45000002 */ bc1f .L80026AA0 -/* 027698 80026A98 00197400 */ sll $t6, $t9, 0x10 -/* 02769C 80026A9C 000E8403 */ sra $s0, $t6, 0x10 -.L80026AA0: -/* 0276A0 80026AA0 444FF800 */ cfc1 $t7, $31 -/* 0276A4 80026AA4 C7A400C4 */ lwc1 $f4, 0xc4($sp) -/* 0276A8 80026AA8 35E10003 */ ori $at, $t7, 3 -/* 0276AC 80026AAC 38210002 */ xori $at, $at, 2 -/* 0276B0 80026AB0 44C1F800 */ ctc1 $at, $31 -/* 0276B4 80026AB4 C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 0276B8 80026AB8 460022A4 */ cvt.w.s $f10, $f4 -/* 0276BC 80026ABC 02003025 */ move $a2, $s0 -/* 0276C0 80026AC0 44CFF800 */ ctc1 $t7, $31 -/* 0276C4 80026AC4 44045000 */ mfc1 $a0, $f10 -/* 0276C8 80026AC8 A7A9010A */ sh $t1, 0x10a($sp) -/* 0276CC 80026ACC 4458F800 */ cfc1 $t8, $31 -/* 0276D0 80026AD0 0004CC00 */ sll $t9, $a0, 0x10 -/* 0276D4 80026AD4 37010003 */ ori $at, $t8, 3 -/* 0276D8 80026AD8 38210002 */ xori $at, $at, 2 -/* 0276DC 80026ADC 44C1F800 */ ctc1 $at, $31 -/* 0276E0 80026AE0 00192403 */ sra $a0, $t9, 0x10 -/* 0276E4 80026AE4 46003224 */ cvt.w.s $f8, $f6 -/* 0276E8 80026AE8 44054000 */ mfc1 $a1, $f8 -/* 0276EC 80026AEC 44D8F800 */ ctc1 $t8, $31 -/* 0276F0 80026AF0 00057C00 */ sll $t7, $a1, 0x10 -/* 0276F4 80026AF4 0C009B05 */ jal func_80026C14 -/* 0276F8 80026AF8 000F2C03 */ sra $a1, $t7, 0x10 -/* 0276FC 80026AFC 444EF800 */ cfc1 $t6, $31 -/* 027700 80026B00 C7A400C8 */ lwc1 $f4, 0xc8($sp) -/* 027704 80026B04 35C10003 */ ori $at, $t6, 3 -/* 027708 80026B08 38210002 */ xori $at, $at, 2 -/* 02770C 80026B0C 44C1F800 */ ctc1 $at, $31 -/* 027710 80026B10 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 027714 80026B14 460022A4 */ cvt.w.s $f10, $f4 -/* 027718 80026B18 02003025 */ move $a2, $s0 -/* 02771C 80026B1C 44CEF800 */ ctc1 $t6, $31 -/* 027720 80026B20 44045000 */ mfc1 $a0, $f10 -/* 027724 80026B24 00000000 */ nop -/* 027728 80026B28 4459F800 */ cfc1 $t9, $31 -/* 02772C 80026B2C 0004C400 */ sll $t8, $a0, 0x10 -/* 027730 80026B30 37210003 */ ori $at, $t9, 3 -/* 027734 80026B34 38210002 */ xori $at, $at, 2 -/* 027738 80026B38 44C1F800 */ ctc1 $at, $31 -/* 02773C 80026B3C 00182403 */ sra $a0, $t8, 0x10 -/* 027740 80026B40 46003224 */ cvt.w.s $f8, $f6 -/* 027744 80026B44 44054000 */ mfc1 $a1, $f8 -/* 027748 80026B48 44D9F800 */ ctc1 $t9, $31 -/* 02774C 80026B4C 00057400 */ sll $t6, $a1, 0x10 -/* 027750 80026B50 0C009B05 */ jal func_80026C14 -/* 027754 80026B54 000E2C03 */ sra $a1, $t6, 0x10 -/* 027758 80026B58 87A9010A */ lh $t1, 0x10a($sp) -/* 02775C 80026B5C 240A000A */ li $t2, 10 -/* 027760 80026B60 27AB00B0 */ addiu $t3, $sp, 0xb0 -/* 027764 80026B64 27AC00A0 */ addiu $t4, $sp, 0xa0 -/* 027768 80026B68 27AD00A8 */ addiu $t5, $sp, 0xa8 -/* 02776C 80026B6C 241F0001 */ li $ra, 1 -.L80026B70: -/* 027770 80026B70 26F70001 */ addiu $s7, $s7, 1 -/* 027774 80026B74 87AE0108 */ lh $t6, 0x108($sp) -/* 027778 80026B78 00177C00 */ sll $t7, $s7, 0x10 -/* 02777C 80026B7C 000FBC03 */ sra $s7, $t7, 0x10 -/* 027780 80026B80 02EE082A */ slt $at, $s7, $t6 -/* 027784 80026B84 1420FE74 */ bnez $at, .L80026558 -/* 027788 80026B88 00000000 */ nop -/* 02778C 80026B8C 86C40020 */ lh $a0, 0x20($s6) -/* 027790 80026B90 00000000 */ nop -.L80026B94: -/* 027794 80026B94 87A2010E */ lh $v0, 0x10e($sp) -/* 027798 80026B98 00000000 */ nop -/* 02779C 80026B9C 24420001 */ addiu $v0, $v0, 1 -/* 0277A0 80026BA0 0002C400 */ sll $t8, $v0, 0x10 -/* 0277A4 80026BA4 00187C03 */ sra $t7, $t8, 0x10 -/* 0277A8 80026BA8 01E4082A */ slt $at, $t7, $a0 -/* 0277AC 80026BAC 1420FE54 */ bnez $at, .L80026500 -/* 0277B0 80026BB0 A7AF010E */ sh $t7, 0x10e($sp) -.L80026BB4: -/* 0277B4 80026BB4 8FBF006C */ lw $ra, 0x6c($sp) -/* 0277B8 80026BB8 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 0277BC 80026BBC C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 0277C0 80026BC0 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 0277C4 80026BC4 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 0277C8 80026BC8 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 0277CC 80026BCC C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 0277D0 80026BD0 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 0277D4 80026BD4 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 0277D8 80026BD8 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 0277DC 80026BDC C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 0277E0 80026BE0 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 0277E4 80026BE4 C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 0277E8 80026BE8 8FB00048 */ lw $s0, 0x48($sp) -/* 0277EC 80026BEC 8FB1004C */ lw $s1, 0x4c($sp) -/* 0277F0 80026BF0 8FB20050 */ lw $s2, 0x50($sp) -/* 0277F4 80026BF4 8FB30054 */ lw $s3, 0x54($sp) -/* 0277F8 80026BF8 8FB40058 */ lw $s4, 0x58($sp) -/* 0277FC 80026BFC 8FB5005C */ lw $s5, 0x5c($sp) -/* 027800 80026C00 8FB60060 */ lw $s6, 0x60($sp) -/* 027804 80026C04 8FB70064 */ lw $s7, 0x64($sp) -/* 027808 80026C08 8FBE0068 */ lw $fp, 0x68($sp) -/* 02780C 80026C0C 03E00008 */ jr $ra -/* 027810 80026C10 27BD0110 */ addiu $sp, $sp, 0x110 - -glabel func_80026C14 -/* 027814 80026C14 3C088012 */ lui $t0, %hi(D_8011D49E) # $t0, 0x8012 -/* 027818 80026C18 2508D49E */ addiu $t0, %lo(D_8011D49E) # addiu $t0, $t0, -0x2b62 -/* 02781C 80026C1C 27BDFFF8 */ addiu $sp, $sp, -8 -/* 027820 80026C20 3C188012 */ lui $t8, %hi(D_8011D4BA) # $t8, 0x8012 -/* 027824 80026C24 8718D4BA */ lh $t8, %lo(D_8011D4BA)($t8) -/* 027828 80026C28 85020000 */ lh $v0, ($t0) -/* 02782C 80026C2C AFB00004 */ sw $s0, 4($sp) -/* 027830 80026C30 00058400 */ sll $s0, $a1, 0x10 -/* 027834 80026C34 00043C00 */ sll $a3, $a0, 0x10 -/* 027838 80026C38 00077403 */ sra $t6, $a3, 0x10 -/* 02783C 80026C3C 00107C03 */ sra $t7, $s0, 0x10 -/* 027840 80026C40 0058082A */ slt $at, $v0, $t8 -/* 027844 80026C44 01E08025 */ move $s0, $t7 -/* 027848 80026C48 01C03825 */ move $a3, $t6 -/* 02784C 80026C4C AFA40008 */ sw $a0, 8($sp) -/* 027850 80026C50 AFA5000C */ sw $a1, 0xc($sp) -/* 027854 80026C54 1020007C */ beqz $at, .L80026E48 -/* 027858 80026C58 AFA60010 */ sw $a2, 0x10($sp) -/* 02785C 80026C5C 18400017 */ blez $v0, .L80026CBC -/* 027860 80026C60 00001825 */ move $v1, $zero -/* 027864 80026C64 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012 -/* 027868 80026C68 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88 -/* 02786C 80026C6C 8D240000 */ lw $a0, ($t1) -/* 027870 80026C70 00000000 */ nop -/* 027874 80026C74 84990000 */ lh $t9, ($a0) -/* 027878 80026C78 00000000 */ nop -/* 02787C 80026C7C 032E082A */ slt $at, $t9, $t6 -/* 027880 80026C80 1020000E */ beqz $at, .L80026CBC -/* 027884 80026C84 00000000 */ nop -.L80026C88: -/* 027888 80026C88 24630001 */ addiu $v1, $v1, 1 -/* 02788C 80026C8C 00035400 */ sll $t2, $v1, 0x10 -/* 027890 80026C90 000A5C03 */ sra $t3, $t2, 0x10 -/* 027894 80026C94 0162082A */ slt $at, $t3, $v0 -/* 027898 80026C98 10200008 */ beqz $at, .L80026CBC -/* 02789C 80026C9C 01601825 */ move $v1, $t3 -/* 0278A0 80026CA0 000B60C0 */ sll $t4, $t3, 3 -/* 0278A4 80026CA4 008C6821 */ addu $t5, $a0, $t4 -/* 0278A8 80026CA8 85AE0000 */ lh $t6, ($t5) -/* 0278AC 80026CAC 00000000 */ nop -/* 0278B0 80026CB0 01C7082A */ slt $at, $t6, $a3 -/* 0278B4 80026CB4 1420FFF4 */ bnez $at, .L80026C88 -/* 0278B8 80026CB8 00000000 */ nop -.L80026CBC: -/* 0278BC 80026CBC 3C098012 */ lui $t1, %hi(D_8011D478) # $t1, 0x8012 -/* 0278C0 80026CC0 0062082A */ slt $at, $v1, $v0 -/* 0278C4 80026CC4 1020001E */ beqz $at, .L80026D40 -/* 0278C8 80026CC8 2529D478 */ addiu $t1, %lo(D_8011D478) # addiu $t1, $t1, -0x2b88 -/* 0278CC 80026CCC 8D240000 */ lw $a0, ($t1) -/* 0278D0 80026CD0 000378C0 */ sll $t7, $v1, 3 -/* 0278D4 80026CD4 008F2821 */ addu $a1, $a0, $t7 -/* 0278D8 80026CD8 84B80000 */ lh $t8, ($a1) -/* 0278DC 80026CDC 00000000 */ nop -/* 0278E0 80026CE0 14F80017 */ bne $a3, $t8, .L80026D40 -/* 0278E4 80026CE4 00000000 */ nop -/* 0278E8 80026CE8 84B90002 */ lh $t9, 2($a1) -/* 0278EC 80026CEC 00000000 */ nop -/* 0278F0 80026CF0 0330082A */ slt $at, $t9, $s0 -/* 0278F4 80026CF4 10200013 */ beqz $at, .L80026D44 -/* 0278F8 80026CF8 00022C00 */ sll $a1, $v0, 0x10 -.L80026CFC: -/* 0278FC 80026CFC 24630001 */ addiu $v1, $v1, 1 -/* 027900 80026D00 00035400 */ sll $t2, $v1, 0x10 -/* 027904 80026D04 000A5C03 */ sra $t3, $t2, 0x10 -/* 027908 80026D08 0162082A */ slt $at, $t3, $v0 -/* 02790C 80026D0C 1020000C */ beqz $at, .L80026D40 -/* 027910 80026D10 01601825 */ move $v1, $t3 -/* 027914 80026D14 000B60C0 */ sll $t4, $t3, 3 -/* 027918 80026D18 008C2821 */ addu $a1, $a0, $t4 -/* 02791C 80026D1C 84AD0000 */ lh $t5, ($a1) -/* 027920 80026D20 00000000 */ nop -/* 027924 80026D24 14ED0006 */ bne $a3, $t5, .L80026D40 -/* 027928 80026D28 00000000 */ nop -/* 02792C 80026D2C 84AE0002 */ lh $t6, 2($a1) -/* 027930 80026D30 00000000 */ nop -/* 027934 80026D34 01D0082A */ slt $at, $t6, $s0 -/* 027938 80026D38 1420FFF0 */ bnez $at, .L80026CFC -/* 02793C 80026D3C 00000000 */ nop -.L80026D40: -/* 027940 80026D40 00022C00 */ sll $a1, $v0, 0x10 -.L80026D44: -/* 027944 80026D44 00057C03 */ sra $t7, $a1, 0x10 -/* 027948 80026D48 006F082A */ slt $at, $v1, $t7 -/* 02794C 80026D4C 01E02825 */ move $a1, $t7 -/* 027950 80026D50 10200019 */ beqz $at, .L80026DB8 -/* 027954 80026D54 000320C0 */ sll $a0, $v1, 3 -.L80026D58: -/* 027958 80026D58 8D380000 */ lw $t8, ($t1) -/* 02795C 80026D5C 000510C0 */ sll $v0, $a1, 3 -/* 027960 80026D60 03023021 */ addu $a2, $t8, $v0 -/* 027964 80026D64 84D9FFF8 */ lh $t9, -8($a2) -/* 027968 80026D68 24A5FFFF */ addiu $a1, $a1, -1 -/* 02796C 80026D6C A4D90000 */ sh $t9, ($a2) -/* 027970 80026D70 8D2A0000 */ lw $t2, ($t1) -/* 027974 80026D74 0005C400 */ sll $t8, $a1, 0x10 -/* 027978 80026D78 01423021 */ addu $a2, $t2, $v0 -/* 02797C 80026D7C 84CBFFFA */ lh $t3, -6($a2) -/* 027980 80026D80 00182C03 */ sra $a1, $t8, 0x10 -/* 027984 80026D84 A4CB0002 */ sh $t3, 2($a2) -/* 027988 80026D88 8D2C0000 */ lw $t4, ($t1) -/* 02798C 80026D8C 0065082A */ slt $at, $v1, $a1 -/* 027990 80026D90 01823021 */ addu $a2, $t4, $v0 -/* 027994 80026D94 80CDFFFF */ lb $t5, -1($a2) -/* 027998 80026D98 00000000 */ nop -/* 02799C 80026D9C A0CD0007 */ sb $t5, 7($a2) -/* 0279A0 80026DA0 8D2E0000 */ lw $t6, ($t1) -/* 0279A4 80026DA4 00000000 */ nop -/* 0279A8 80026DA8 01C23021 */ addu $a2, $t6, $v0 -/* 0279AC 80026DAC 80CFFFFE */ lb $t7, -2($a2) -/* 0279B0 80026DB0 1420FFE9 */ bnez $at, .L80026D58 -/* 0279B4 80026DB4 A0CF0006 */ sb $t7, 6($a2) -.L80026DB8: -/* 0279B8 80026DB8 8D2A0000 */ lw $t2, ($t1) -/* 0279BC 80026DBC 3C038012 */ lui $v1, %hi(D_8011D49C) # $v1, 0x8012 -/* 0279C0 80026DC0 01445821 */ addu $t3, $t2, $a0 -/* 0279C4 80026DC4 A5670000 */ sh $a3, ($t3) -/* 0279C8 80026DC8 8D2C0000 */ lw $t4, ($t1) -/* 0279CC 80026DCC 2463D49C */ addiu $v1, %lo(D_8011D49C) # addiu $v1, $v1, -0x2b64 -/* 0279D0 80026DD0 01846821 */ addu $t5, $t4, $a0 -/* 0279D4 80026DD4 A5B00002 */ sh $s0, 2($t5) -/* 0279D8 80026DD8 8D2E0000 */ lw $t6, ($t1) -/* 0279DC 80026DDC 00000000 */ nop -/* 0279E0 80026DE0 01C47821 */ addu $t7, $t6, $a0 -/* 0279E4 80026DE4 A5E00004 */ sh $zero, 4($t7) -/* 0279E8 80026DE8 8D390000 */ lw $t9, ($t1) -/* 0279EC 80026DEC 84780000 */ lh $t8, ($v1) -/* 0279F0 80026DF0 03245021 */ addu $t2, $t9, $a0 -/* 0279F4 80026DF4 A1580007 */ sb $t8, 7($t2) -/* 0279F8 80026DF8 8D2C0000 */ lw $t4, ($t1) -/* 0279FC 80026DFC 8FAB0010 */ lw $t3, 0x10($sp) -/* 027A00 80026E00 01846821 */ addu $t5, $t4, $a0 -/* 027A04 80026E04 A1AB0006 */ sb $t3, 6($t5) -/* 027A08 80026E08 3C0F8012 */ lui $t7, %hi(D_8011D47C) # $t7, 0x8012 -/* 027A0C 80026E0C 8DEFD47C */ lw $t7, %lo(D_8011D47C)($t7) -/* 027A10 80026E10 85190000 */ lh $t9, ($t0) -/* 027A14 80026E14 240EFFFF */ li $t6, -1 -/* 027A18 80026E18 01F9C021 */ addu $t8, $t7, $t9 -/* 027A1C 80026E1C A30E0000 */ sb $t6, ($t8) -/* 027A20 80026E20 85020000 */ lh $v0, ($t0) -/* 027A24 80026E24 00000000 */ nop -/* 027A28 80026E28 304A0001 */ andi $t2, $v0, 1 -/* 027A2C 80026E2C 11400005 */ beqz $t2, .L80026E44 -/* 027A30 80026E30 244D0001 */ addiu $t5, $v0, 1 -/* 027A34 80026E34 846C0000 */ lh $t4, ($v1) -/* 027A38 80026E38 00000000 */ nop -/* 027A3C 80026E3C 258B0001 */ addiu $t3, $t4, 1 -/* 027A40 80026E40 A46B0000 */ sh $t3, ($v1) -.L80026E44: -/* 027A44 80026E44 A50D0000 */ sh $t5, ($t0) -.L80026E48: -/* 027A48 80026E48 8FB00004 */ lw $s0, 4($sp) -/* 027A4C 80026E4C 03E00008 */ jr $ra -/* 027A50 80026E50 27BD0008 */ addiu $sp, $sp, 8 - -glabel func_80026E54 -/* 027A54 80026E54 27BDFEF8 */ addiu $sp, $sp, -0x108 -/* 027A58 80026E58 AFB5003C */ sw $s5, 0x3c($sp) -/* 027A5C 80026E5C 0004AC00 */ sll $s5, $a0, 0x10 -/* 027A60 80026E60 00157403 */ sra $t6, $s5, 0x10 -/* 027A64 80026E64 E7B60024 */ swc1 $f22, 0x24($sp) -/* 027A68 80026E68 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 027A6C 80026E6C 4487A000 */ mtc1 $a3, $f20 -/* 027A70 80026E70 4486B000 */ mtc1 $a2, $f22 -/* 027A74 80026E74 AFB30034 */ sw $s3, 0x34($sp) -/* 027A78 80026E78 29C1000A */ slti $at, $t6, 0xa -/* 027A7C 80026E7C 00A09825 */ move $s3, $a1 -/* 027A80 80026E80 01C0A825 */ move $s5, $t6 -/* 027A84 80026E84 AFBF0044 */ sw $ra, 0x44($sp) -/* 027A88 80026E88 AFB60040 */ sw $s6, 0x40($sp) -/* 027A8C 80026E8C AFB40038 */ sw $s4, 0x38($sp) -/* 027A90 80026E90 AFB20030 */ sw $s2, 0x30($sp) -/* 027A94 80026E94 AFB1002C */ sw $s1, 0x2c($sp) -/* 027A98 80026E98 AFB00028 */ sw $s0, 0x28($sp) -/* 027A9C 80026E9C E7B70020 */ swc1 $f23, 0x20($sp) -/* 027AA0 80026EA0 E7B50018 */ swc1 $f21, 0x18($sp) -/* 027AA4 80026EA4 102000A9 */ beqz $at, .L8002714C -/* 027AA8 80026EA8 AFA40108 */ sw $a0, 0x108($sp) -/* 027AAC 80026EAC 11C000A7 */ beqz $t6, .L8002714C -/* 027AB0 80026EB0 00001025 */ move $v0, $zero -/* 027AB4 80026EB4 19C0004D */ blez $t6, .L80026FEC -/* 027AB8 80026EB8 00008025 */ move $s0, $zero -/* 027ABC 80026EBC 3C088012 */ lui $t0, %hi(D_8011D47C) # $t0, 0x8012 -/* 027AC0 80026EC0 3C078012 */ lui $a3, %hi(D_8011D478) # $a3, 0x8012 -/* 027AC4 80026EC4 8CE7D478 */ lw $a3, %lo(D_8011D478)($a3) -/* 027AC8 80026EC8 8D08D47C */ lw $t0, %lo(D_8011D47C)($t0) -/* 027ACC 80026ECC 27B40094 */ addiu $s4, $sp, 0x94 -/* 027AD0 80026ED0 27B20060 */ addiu $s2, $sp, 0x60 -/* 027AD4 80026ED4 27A5006C */ addiu $a1, $sp, 0x6c -.L80026ED8: -/* 027AD8 80026ED8 02137821 */ addu $t7, $s0, $s3 -/* 027ADC 80026EDC 81F80000 */ lb $t8, ($t7) -/* 027AE0 80026EE0 00000000 */ nop -/* 027AE4 80026EE4 0018CC40 */ sll $t9, $t8, 0x11 -/* 027AE8 80026EE8 00195403 */ sra $t2, $t9, 0x10 -/* 027AEC 80026EEC 01482021 */ addu $a0, $t2, $t0 -/* 027AF0 80026EF0 808B0000 */ lb $t3, ($a0) -/* 027AF4 80026EF4 808D0001 */ lb $t5, 1($a0) -/* 027AF8 80026EF8 000B60C0 */ sll $t4, $t3, 3 -/* 027AFC 80026EFC 000D70C0 */ sll $t6, $t5, 3 -/* 027B00 80026F00 01871821 */ addu $v1, $t4, $a3 -/* 027B04 80026F04 01C73021 */ addu $a2, $t6, $a3 -/* 027B08 80026F08 846F0000 */ lh $t7, ($v1) -/* 027B0C 80026F0C 84D90000 */ lh $t9, ($a2) -/* 027B10 80026F10 448F2000 */ mtc1 $t7, $f4 -/* 027B14 80026F14 44994000 */ mtc1 $t9, $f8 -/* 027B18 80026F18 468020A0 */ cvt.s.w $f2, $f4 -/* 027B1C 80026F1C 84780002 */ lh $t8, 2($v1) -/* 027B20 80026F20 84CA0002 */ lh $t2, 2($a2) -/* 027B24 80026F24 468043A0 */ cvt.s.w $f14, $f8 -/* 027B28 80026F28 44983000 */ mtc1 $t8, $f6 -/* 027B2C 80026F2C 448A5000 */ mtc1 $t2, $f10 -/* 027B30 80026F30 460E1032 */ c.eq.s $f2, $f14 -/* 027B34 80026F34 46803320 */ cvt.s.w $f12, $f6 -/* 027B38 80026F38 45010084 */ bc1t .L8002714C -/* 027B3C 80026F3C 46805420 */ cvt.s.w $f16, $f10 -/* 027B40 80026F40 460E1001 */ sub.s $f0, $f2, $f14 -/* 027B44 80026F44 00025880 */ sll $t3, $v0, 2 -/* 027B48 80026F48 46141101 */ sub.s $f4, $f2, $f20 -/* 027B4C 80026F4C 24420001 */ addiu $v0, $v0, 1 -/* 027B50 80026F50 46002183 */ div.s $f6, $f4, $f0 -/* 027B54 80026F54 460C8481 */ sub.s $f18, $f16, $f12 -/* 027B58 80026F58 00026C00 */ sll $t5, $v0, 0x10 -/* 027B5C 80026F5C 000D7403 */ sra $t6, $t5, 0x10 -/* 027B60 80026F60 028B6021 */ addu $t4, $s4, $t3 -/* 027B64 80026F64 000EC080 */ sll $t8, $t6, 2 -/* 027B68 80026F68 02981821 */ addu $v1, $s4, $t8 -/* 027B6C 80026F6C 00107880 */ sll $t7, $s0, 2 -/* 027B70 80026F70 00AF2021 */ addu $a0, $a1, $t7 -/* 027B74 80026F74 0250C821 */ addu $t9, $s2, $s0 -/* 027B78 80026F78 25C20001 */ addiu $v0, $t6, 1 -/* 027B7C 80026F7C 00025400 */ sll $t2, $v0, 0x10 -/* 027B80 80026F80 46069202 */ mul.s $f8, $f18, $f6 -/* 027B84 80026F84 460EB181 */ sub.s $f6, $f22, $f14 -/* 027B88 80026F88 000A1403 */ sra $v0, $t2, 0x10 -/* 027B8C 80026F8C 460C4280 */ add.s $f10, $f8, $f12 -/* 027B90 80026F90 00000000 */ nop -/* 027B94 80026F94 46003203 */ div.s $f8, $f6, $f0 -/* 027B98 80026F98 46106481 */ sub.s $f18, $f12, $f16 -/* 027B9C 80026F9C E58A0000 */ swc1 $f10, ($t4) -/* 027BA0 80026FA0 C464FFFC */ lwc1 $f4, -4($v1) -/* 027BA4 80026FA4 A3300000 */ sb $s0, ($t9) -/* 027BA8 80026FA8 E4840000 */ swc1 $f4, ($a0) -/* 027BAC 80026FAC 00026080 */ sll $t4, $v0, 2 -/* 027BB0 80026FB0 028C6821 */ addu $t5, $s4, $t4 -/* 027BB4 80026FB4 26100001 */ addiu $s0, $s0, 1 -/* 027BB8 80026FB8 00107400 */ sll $t6, $s0, 0x10 -/* 027BBC 80026FBC 000E8403 */ sra $s0, $t6, 0x10 -/* 027BC0 80026FC0 0215082A */ slt $at, $s0, $s5 -/* 027BC4 80026FC4 46089282 */ mul.s $f10, $f18, $f8 -/* 027BC8 80026FC8 46105100 */ add.s $f4, $f10, $f16 -/* 027BCC 80026FCC E4640000 */ swc1 $f4, ($v1) -/* 027BD0 80026FD0 C4860000 */ lwc1 $f6, ($a0) -/* 027BD4 80026FD4 C5B2FFFC */ lwc1 $f18, -4($t5) -/* 027BD8 80026FD8 00000000 */ nop -/* 027BDC 80026FDC 46123200 */ add.s $f8, $f6, $f18 -/* 027BE0 80026FE0 1420FFBD */ bnez $at, .L80026ED8 -/* 027BE4 80026FE4 E4880000 */ swc1 $f8, ($a0) -/* 027BE8 80026FE8 00008025 */ move $s0, $zero -.L80026FEC: -/* 027BEC 80026FEC 27A5006C */ addiu $a1, $sp, 0x6c -/* 027BF0 80026FF0 27B20060 */ addiu $s2, $sp, 0x60 -/* 027BF4 80026FF4 27B40094 */ addiu $s4, $sp, 0x94 -/* 027BF8 80026FF8 26B1FFFF */ addiu $s1, $s5, -1 -.L80026FFC: -/* 027BFC 80026FFC 1A20001F */ blez $s1, .L8002707C -/* 027C00 80027000 24060001 */ li $a2, 1 -/* 027C04 80027004 02501821 */ addu $v1, $s2, $s0 -.L80027008: -/* 027C08 80027008 80780001 */ lb $t8, 1($v1) -/* 027C0C 8002700C 806B0000 */ lb $t3, ($v1) -/* 027C10 80027010 0018C880 */ sll $t9, $t8, 2 -/* 027C14 80027014 000B6080 */ sll $t4, $t3, 2 -/* 027C18 80027018 00AC6821 */ addu $t5, $a1, $t4 -/* 027C1C 8002701C 00B95021 */ addu $t2, $a1, $t9 -/* 027C20 80027020 C54A0000 */ lwc1 $f10, ($t2) -/* 027C24 80027024 C5A40000 */ lwc1 $f4, ($t5) -/* 027C28 80027028 02132021 */ addu $a0, $s0, $s3 -/* 027C2C 8002702C 4604503C */ c.lt.s $f10, $f4 -/* 027C30 80027030 00000000 */ nop -/* 027C34 80027034 4500000A */ bc1f .L80027060 -/* 027C38 80027038 00000000 */ nop -/* 027C3C 8002703C 80820000 */ lb $v0, ($a0) -/* 027C40 80027040 808E0001 */ lb $t6, 1($a0) -/* 027C44 80027044 A0820001 */ sb $v0, 1($a0) -/* 027C48 80027048 A08E0000 */ sb $t6, ($a0) -/* 027C4C 8002704C 80620000 */ lb $v0, ($v1) -/* 027C50 80027050 806F0001 */ lb $t7, 1($v1) -/* 027C54 80027054 00003025 */ move $a2, $zero -/* 027C58 80027058 A0620001 */ sb $v0, 1($v1) -/* 027C5C 8002705C A06F0000 */ sb $t7, ($v1) -.L80027060: -/* 027C60 80027060 26100001 */ addiu $s0, $s0, 1 -/* 027C64 80027064 0010C400 */ sll $t8, $s0, 0x10 -/* 027C68 80027068 00188403 */ sra $s0, $t8, 0x10 -/* 027C6C 8002706C 0211082A */ slt $at, $s0, $s1 -/* 027C70 80027070 1420FFE5 */ bnez $at, .L80027008 -/* 027C74 80027074 02501821 */ addu $v1, $s2, $s0 -/* 027C78 80027078 00008025 */ move $s0, $zero -.L8002707C: -/* 027C7C 8002707C 10C0FFDF */ beqz $a2, .L80026FFC -/* 027C80 80027080 00000000 */ nop -/* 027C84 80027084 1A200031 */ blez $s1, .L8002714C -/* 027C88 80027088 3C168012 */ lui $s6, %hi(D_8011D47C) # $s6, 0x8012 -/* 027C8C 8002708C 3C158012 */ lui $s5, %hi(D_8011D478) # $s5, 0x8012 -/* 027C90 80027090 26B5D478 */ addiu $s5, %lo(D_8011D478) # addiu $s5, $s5, -0x2b88 -/* 027C94 80027094 26D6D47C */ addiu $s6, %lo(D_8011D47C) # addiu $s6, $s6, -0x2b84 -/* 027C98 80027098 02132021 */ addu $a0, $s0, $s3 -.L8002709C: -/* 027C9C 8002709C 808A0000 */ lb $t2, ($a0) -/* 027CA0 800270A0 8EC80000 */ lw $t0, ($s6) -/* 027CA4 800270A4 000A5840 */ sll $t3, $t2, 1 -/* 027CA8 800270A8 01686021 */ addu $t4, $t3, $t0 -/* 027CAC 800270AC 818D0000 */ lb $t5, ($t4) -/* 027CB0 800270B0 8EA70000 */ lw $a3, ($s5) -/* 027CB4 800270B4 808B0001 */ lb $t3, 1($a0) -/* 027CB8 800270B8 000D70C0 */ sll $t6, $t5, 3 -/* 027CBC 800270BC 00EE7821 */ addu $t7, $a3, $t6 -/* 027CC0 800270C0 000B6040 */ sll $t4, $t3, 1 -/* 027CC4 800270C4 81E20006 */ lb $v0, 6($t7) -/* 027CC8 800270C8 01886821 */ addu $t5, $t4, $t0 -/* 027CCC 800270CC 81AE0000 */ lb $t6, ($t5) -/* 027CD0 800270D0 30580001 */ andi $t8, $v0, 1 -/* 027CD4 800270D4 0018CE00 */ sll $t9, $t8, 0x18 -/* 027CD8 800270D8 000E78C0 */ sll $t7, $t6, 3 -/* 027CDC 800270DC 00EFC021 */ addu $t8, $a3, $t7 -/* 027CE0 800270E0 83030006 */ lb $v1, 6($t8) -/* 027CE4 800270E4 00191603 */ sra $v0, $t9, 0x18 -/* 027CE8 800270E8 30790001 */ andi $t9, $v1, 1 -/* 027CEC 800270EC 00195600 */ sll $t2, $t9, 0x18 -/* 027CF0 800270F0 10400010 */ beqz $v0, .L80027134 -/* 027CF4 800270F4 000A5E03 */ sra $t3, $t2, 0x18 -/* 027CF8 800270F8 1560000E */ bnez $t3, .L80027134 -/* 027CFC 800270FC 02501821 */ addu $v1, $s2, $s0 -/* 027D00 80027100 806C0000 */ lb $t4, ($v1) -/* 027D04 80027104 806F0001 */ lb $t7, 1($v1) -/* 027D08 80027108 000C6C40 */ sll $t5, $t4, 0x11 -/* 027D0C 8002710C 000FC440 */ sll $t8, $t7, 0x11 -/* 027D10 80027110 000D7403 */ sra $t6, $t5, 0x10 -/* 027D14 80027114 0018CC03 */ sra $t9, $t8, 0x10 -/* 027D18 80027118 00195880 */ sll $t3, $t9, 2 -/* 027D1C 8002711C 000E5080 */ sll $t2, $t6, 2 -/* 027D20 80027120 4406A000 */ mfc1 $a2, $f20 -/* 027D24 80027124 4407B000 */ mfc1 $a3, $f22 -/* 027D28 80027128 028A2021 */ addu $a0, $s4, $t2 -/* 027D2C 8002712C 0C009C61 */ jal func_80027184 -/* 027D30 80027130 028B2821 */ addu $a1, $s4, $t3 -.L80027134: -/* 027D34 80027134 26100001 */ addiu $s0, $s0, 1 -/* 027D38 80027138 00106400 */ sll $t4, $s0, 0x10 -/* 027D3C 8002713C 000C8403 */ sra $s0, $t4, 0x10 -/* 027D40 80027140 0211082A */ slt $at, $s0, $s1 -/* 027D44 80027144 1420FFD5 */ bnez $at, .L8002709C -/* 027D48 80027148 02132021 */ addu $a0, $s0, $s3 -.L8002714C: -/* 027D4C 8002714C 8FBF0044 */ lw $ra, 0x44($sp) -/* 027D50 80027150 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 027D54 80027154 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 027D58 80027158 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 027D5C 8002715C C7B60024 */ lwc1 $f22, 0x24($sp) -/* 027D60 80027160 8FB00028 */ lw $s0, 0x28($sp) -/* 027D64 80027164 8FB1002C */ lw $s1, 0x2c($sp) -/* 027D68 80027168 8FB20030 */ lw $s2, 0x30($sp) -/* 027D6C 8002716C 8FB30034 */ lw $s3, 0x34($sp) -/* 027D70 80027170 8FB40038 */ lw $s4, 0x38($sp) -/* 027D74 80027174 8FB5003C */ lw $s5, 0x3c($sp) -/* 027D78 80027178 8FB60040 */ lw $s6, 0x40($sp) -/* 027D7C 8002717C 03E00008 */ jr $ra -/* 027D80 80027180 27BD0108 */ addiu $sp, $sp, 0x108 - -glabel func_80027184 -/* 027D84 80027184 44866000 */ mtc1 $a2, $f12 -/* 027D88 80027188 3C068012 */ lui $a2, %hi(D_8011D4B8) # $a2, 0x8012 -/* 027D8C 8002718C 24C6D4B8 */ addiu $a2, %lo(D_8011D4B8) # addiu $a2, $a2, -0x2b48 -/* 027D90 80027190 3C0F8012 */ lui $t7, %hi(D_8011D4BC) # $t7, 0x8012 -/* 027D94 80027194 85EFD4BC */ lh $t7, %lo(D_8011D4BC)($t7) -/* 027D98 80027198 84CE0000 */ lh $t6, ($a2) -/* 027D9C 8002719C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 027DA0 800271A0 01CF082A */ slt $at, $t6, $t7 -/* 027DA4 800271A4 AFB1000C */ sw $s1, 0xc($sp) -/* 027DA8 800271A8 AFB00008 */ sw $s0, 8($sp) -/* 027DAC 800271AC 14200003 */ bnez $at, .L800271BC -/* 027DB0 800271B0 AFA7001C */ sw $a3, 0x1c($sp) -/* 027DB4 800271B4 100000E8 */ b .L80027558 -/* 027DB8 800271B8 00001025 */ move $v0, $zero -.L800271BC: -/* 027DBC 800271BC 3C038012 */ lui $v1, %hi(D_8011D4B6) # $v1, 0x8012 -/* 027DC0 800271C0 2463D4B6 */ addiu $v1, %lo(D_8011D4B6) # addiu $v1, $v1, -0x2b4a -/* 027DC4 800271C4 84620000 */ lh $v0, ($v1) -/* 027DC8 800271C8 24010018 */ li $at, 24 -/* 027DCC 800271CC 1441003A */ bne $v0, $at, .L800272B8 -/* 027DD0 800271D0 3C078012 */ lui $a3, %hi(D_8011B0A8) # $a3, 0x8012 -/* 027DD4 800271D4 3C0D8012 */ lui $t5, %hi(D_8011B0A0) # $t5, 0x8012 -/* 027DD8 800271D8 25ADB0A0 */ addiu $t5, %lo(D_8011B0A0) # addiu $t5, $t5, -0x4f60 -/* 027DDC 800271DC 8DAA0000 */ lw $t2, ($t5) -/* 027DE0 800271E0 3C108012 */ lui $s0, %hi(D_8011D488) # $s0, 0x8012 -/* 027DE4 800271E4 2610D488 */ addiu $s0, %lo(D_8011D488) # addiu $s0, $s0, -0x2b78 -/* 027DE8 800271E8 8E0F0000 */ lw $t7, ($s0) -/* 027DEC 800271EC 25580008 */ addiu $t8, $t2, 8 -/* 027DF0 800271F0 3C118000 */ lui $s1, 0x8000 -/* 027DF4 800271F4 ADB80000 */ sw $t8, ($t5) -/* 027DF8 800271F8 2459FFFF */ addiu $t9, $v0, -1 -/* 027DFC 800271FC 001970C0 */ sll $t6, $t9, 3 -/* 027E00 80027200 01F1C021 */ addu $t8, $t7, $s1 -/* 027E04 80027204 33190006 */ andi $t9, $t8, 6 -/* 027E08 80027208 01D97825 */ or $t7, $t6, $t9 -/* 027E0C 8002720C 31F800FF */ andi $t8, $t7, 0xff -/* 027E10 80027210 00187400 */ sll $t6, $t8, 0x10 -/* 027E14 80027214 000278C0 */ sll $t7, $v0, 3 -/* 027E18 80027218 3C010400 */ lui $at, 0x400 -/* 027E1C 8002721C 01C1C825 */ or $t9, $t6, $at -/* 027E20 80027220 01E2C021 */ addu $t8, $t7, $v0 -/* 027E24 80027224 00187040 */ sll $t6, $t8, 1 -/* 027E28 80027228 25CF0008 */ addiu $t7, $t6, 8 -/* 027E2C 8002722C 31F8FFFF */ andi $t8, $t7, 0xffff -/* 027E30 80027230 03387025 */ or $t6, $t9, $t8 -/* 027E34 80027234 AD4E0000 */ sw $t6, ($t2) -/* 027E38 80027238 8E0F0000 */ lw $t7, ($s0) -/* 027E3C 8002723C 3C010500 */ lui $at, 0x500 -/* 027E40 80027240 01F1C821 */ addu $t9, $t7, $s1 -/* 027E44 80027244 AD590004 */ sw $t9, 4($t2) -/* 027E48 80027248 846C0000 */ lh $t4, ($v1) -/* 027E4C 8002724C 8DAA0000 */ lw $t2, ($t5) -/* 027E50 80027250 000C7043 */ sra $t6, $t4, 1 -/* 027E54 80027254 25CFFFFF */ addiu $t7, $t6, -1 -/* 027E58 80027258 25580008 */ addiu $t8, $t2, 8 -/* 027E5C 8002725C ADB80000 */ sw $t8, ($t5) -/* 027E60 80027260 000FC900 */ sll $t9, $t7, 4 -/* 027E64 80027264 333800FF */ andi $t8, $t9, 0xff -/* 027E68 80027268 01C06025 */ move $t4, $t6 -/* 027E6C 8002726C 00187400 */ sll $t6, $t8, 0x10 -/* 027E70 80027270 000CC900 */ sll $t9, $t4, 4 -/* 027E74 80027274 3338FFFF */ andi $t8, $t9, 0xffff -/* 027E78 80027278 01C17825 */ or $t7, $t6, $at -/* 027E7C 8002727C 01F87025 */ or $t6, $t7, $t8 -/* 027E80 80027280 3C198012 */ lui $t9, %hi(D_8011D498) # $t9, 0x8012 -/* 027E84 80027284 AD4E0000 */ sw $t6, ($t2) -/* 027E88 80027288 8F39D498 */ lw $t9, %lo(D_8011D498)($t9) -/* 027E8C 8002728C 24E7B0A8 */ addiu $a3, %lo(D_8011B0A8) # addiu $a3, $a3, -0x4f58 -/* 027E90 80027290 03317821 */ addu $t7, $t9, $s1 -/* 027E94 80027294 AD4F0004 */ sw $t7, 4($t2) -/* 027E98 80027298 3C088012 */ lui $t0, %hi(D_8011B0AC) # $t0, 0x8012 -/* 027E9C 8002729C 8CF80000 */ lw $t8, ($a3) -/* 027EA0 800272A0 2508B0AC */ addiu $t0, %lo(D_8011B0AC) # addiu $t0, $t0, -0x4f54 -/* 027EA4 800272A4 8D0E0000 */ lw $t6, ($t0) -/* 027EA8 800272A8 A4600000 */ sh $zero, ($v1) -/* 027EAC 800272AC 3C018012 */ lui $at, %hi(D_8011D498) # $at, 0x8012 -/* 027EB0 800272B0 AE180000 */ sw $t8, ($s0) -/* 027EB4 800272B4 AC2ED498 */ sw $t6, %lo(D_8011D498)($at) -.L800272B8: -/* 027EB8 800272B8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 027EBC 800272BC 44819000 */ mtc1 $at, $f18 -/* 027EC0 800272C0 3C018012 */ lui $at, %hi(D_8011D4A0) # $at, 0x8012 -/* 027EC4 800272C4 C420D4A0 */ lwc1 $f0, %lo(D_8011D4A0)($at) -/* 027EC8 800272C8 3C018012 */ lui $at, %hi(D_8011D4AC) # $at, 0x8012 -/* 027ECC 800272CC 46006102 */ mul.s $f4, $f12, $f0 -/* 027ED0 800272D0 C422D4AC */ lwc1 $f2, %lo(D_8011D4AC)($at) -/* 027ED4 800272D4 3C078012 */ lui $a3, %hi(D_8011B0A8) # $a3, 0x8012 -/* 027ED8 800272D8 24E7B0A8 */ addiu $a3, %lo(D_8011B0A8) # addiu $a3, $a3, -0x4f58 -/* 027EDC 800272DC 46022180 */ add.s $f6, $f4, $f2 -/* 027EE0 800272E0 8CE20000 */ lw $v0, ($a3) -/* 027EE4 800272E4 4459F800 */ cfc1 $t9, $31 -/* 027EE8 800272E8 3C0D8012 */ lui $t5, %hi(D_8011B0E1) # $t5, 0x8012 -/* 027EEC 800272EC 37210003 */ ori $at, $t9, 3 -/* 027EF0 800272F0 38210002 */ xori $at, $at, 2 -/* 027EF4 800272F4 44C1F800 */ ctc1 $at, $31 -/* 027EF8 800272F8 3C018012 */ lui $at, %hi(D_8011D4A4) # $at, 0x8012 -/* 027EFC 800272FC 46003224 */ cvt.w.s $f8, $f6 -/* 027F00 80027300 C42ED4A4 */ lwc1 $f14, %lo(D_8011D4A4)($at) -/* 027F04 80027304 44D9F800 */ ctc1 $t9, $31 -/* 027F08 80027308 3C018012 */ lui $at, %hi(D_8011D4B0) # $at, 0x8012 -/* 027F0C 8002730C 460E6282 */ mul.s $f10, $f12, $f14 -/* 027F10 80027310 C430D4B0 */ lwc1 $f16, %lo(D_8011D4B0)($at) -/* 027F14 80027314 44094000 */ mfc1 $t1, $f8 -/* 027F18 80027318 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* 027F1C 8002731C 46105100 */ add.s $f4, $f10, $f16 -/* 027F20 80027320 3C108012 */ lui $s0, %hi(D_8011B0E2) # $s0, 0x8012 -/* 027F24 80027324 444EF800 */ cfc1 $t6, $31 -/* 027F28 80027328 3C118012 */ lui $s1, %hi(D_8011B0E3) # $s1, 0x8012 -/* 027F2C 8002732C 35C10003 */ ori $at, $t6, 3 -/* 027F30 80027330 38210002 */ xori $at, $at, 2 -/* 027F34 80027334 44C1F800 */ ctc1 $at, $31 -/* 027F38 80027338 91ADB0E1 */ lbu $t5, %lo(D_8011B0E1)($t5) -/* 027F3C 8002733C 460021A4 */ cvt.w.s $f6, $f4 -/* 027F40 80027340 9210B0E2 */ lbu $s0, %lo(D_8011B0E2)($s0) -/* 027F44 80027344 44CEF800 */ ctc1 $t6, $31 -/* 027F48 80027348 440A3000 */ mfc1 $t2, $f6 -/* 027F4C 8002734C 46004282 */ mul.s $f10, $f8, $f0 -/* 027F50 80027350 9231B0E3 */ lbu $s1, %lo(D_8011B0E3)($s1) -/* 027F54 80027354 A4490000 */ sh $t1, ($v0) -/* 027F58 80027358 3C088012 */ lui $t0, %hi(D_8011B0AC) # $t0, 0x8012 -/* 027F5C 8002735C 46025100 */ add.s $f4, $f10, $f2 -/* 027F60 80027360 2508B0AC */ addiu $t0, %lo(D_8011B0AC) # addiu $t0, $t0, -0x4f54 -/* 027F64 80027364 4458F800 */ cfc1 $t8, $31 -/* 027F68 80027368 24420028 */ addiu $v0, $v0, 0x28 -/* 027F6C 8002736C 37010003 */ ori $at, $t8, 3 -/* 027F70 80027370 38210002 */ xori $at, $at, 2 -/* 027F74 80027374 44C1F800 */ ctc1 $at, $31 -/* 027F78 80027378 00000000 */ nop -/* 027F7C 8002737C 460021A4 */ cvt.w.s $f6, $f4 -/* 027F80 80027380 44D8F800 */ ctc1 $t8, $31 -/* 027F84 80027384 440B3000 */ mfc1 $t3, $f6 -/* 027F88 80027388 460E4282 */ mul.s $f10, $f8, $f14 -/* 027F8C 8002738C C4880000 */ lwc1 $f8, ($a0) -/* 027F90 80027390 241800FF */ li $t8, 255 -/* 027F94 80027394 A058FFE1 */ sb $t8, -0x1f($v0) -/* 027F98 80027398 46105100 */ add.s $f4, $f10, $f16 -/* 027F9C 8002739C A04DFFDE */ sb $t5, -0x22($v0) -/* 027FA0 800273A0 444FF800 */ cfc1 $t7, $31 -/* 027FA4 800273A4 A050FFDF */ sb $s0, -0x21($v0) -/* 027FA8 800273A8 35E10003 */ ori $at, $t7, 3 -/* 027FAC 800273AC 38210002 */ xori $at, $at, 2 -/* 027FB0 800273B0 44C1F800 */ ctc1 $at, $31 -/* 027FB4 800273B4 A44AFFDC */ sh $t2, -0x24($v0) -/* 027FB8 800273B8 460021A4 */ cvt.w.s $f6, $f4 -/* 027FBC 800273BC A051FFE0 */ sb $s1, -0x20($v0) -/* 027FC0 800273C0 44CFF800 */ ctc1 $t7, $31 -/* 027FC4 800273C4 440C3000 */ mfc1 $t4, $f6 -/* 027FC8 800273C8 46124280 */ add.s $f10, $f8, $f18 -/* 027FCC 800273CC A44BFFE2 */ sh $t3, -0x1e($v0) -/* 027FD0 800273D0 4459F800 */ cfc1 $t9, $31 -/* 027FD4 800273D4 00000000 */ nop -/* 027FD8 800273D8 37210003 */ ori $at, $t9, 3 -/* 027FDC 800273DC 38210002 */ xori $at, $at, 2 -/* 027FE0 800273E0 44C1F800 */ ctc1 $at, $31 -/* 027FE4 800273E4 00000000 */ nop -/* 027FE8 800273E8 46005124 */ cvt.w.s $f4, $f10 -/* 027FEC 800273EC 440F2000 */ mfc1 $t7, $f4 -/* 027FF0 800273F0 44D9F800 */ ctc1 $t9, $31 -/* 027FF4 800273F4 A44FFFDA */ sh $t7, -0x26($v0) -/* 027FF8 800273F8 C4860004 */ lwc1 $f6, 4($a0) -/* 027FFC 800273FC 240F00FF */ li $t7, 255 -/* 028000 80027400 46123200 */ add.s $f8, $f6, $f18 -/* 028004 80027404 A04FFFEB */ sb $t7, -0x15($v0) -/* 028008 80027408 444EF800 */ cfc1 $t6, $31 -/* 02800C 8002740C A449FFEC */ sh $t1, -0x14($v0) -/* 028010 80027410 35C10003 */ ori $at, $t6, 3 -/* 028014 80027414 38210002 */ xori $at, $at, 2 -/* 028018 80027418 44C1F800 */ ctc1 $at, $31 -/* 02801C 8002741C A04DFFE8 */ sb $t5, -0x18($v0) -/* 028020 80027420 460042A4 */ cvt.w.s $f10, $f8 -/* 028024 80027424 A050FFE9 */ sb $s0, -0x17($v0) -/* 028028 80027428 44195000 */ mfc1 $t9, $f10 -/* 02802C 8002742C A051FFEA */ sb $s1, -0x16($v0) -/* 028030 80027430 A44CFFE6 */ sh $t4, -0x1a($v0) -/* 028034 80027434 A459FFE4 */ sh $t9, -0x1c($v0) -/* 028038 80027438 44CEF800 */ ctc1 $t6, $31 -/* 02803C 8002743C C4A40000 */ lwc1 $f4, ($a1) -/* 028040 80027440 241900FF */ li $t9, 255 -/* 028044 80027444 46122181 */ sub.s $f6, $f4, $f18 -/* 028048 80027448 A059FFF5 */ sb $t9, -0xb($v0) -/* 02804C 8002744C 4458F800 */ cfc1 $t8, $31 -/* 028050 80027450 A04DFFF2 */ sb $t5, -0xe($v0) -/* 028054 80027454 37010003 */ ori $at, $t8, 3 -/* 028058 80027458 38210002 */ xori $at, $at, 2 -/* 02805C 8002745C 44C1F800 */ ctc1 $at, $31 -/* 028060 80027460 A050FFF3 */ sb $s0, -0xd($v0) -/* 028064 80027464 46003224 */ cvt.w.s $f8, $f6 -/* 028068 80027468 A44AFFF0 */ sh $t2, -0x10($v0) -/* 02806C 8002746C 440E4000 */ mfc1 $t6, $f8 -/* 028070 80027470 A051FFF4 */ sb $s1, -0xc($v0) -/* 028074 80027474 A44BFFF6 */ sh $t3, -0xa($v0) -/* 028078 80027478 A44EFFEE */ sh $t6, -0x12($v0) -/* 02807C 8002747C 44D8F800 */ ctc1 $t8, $31 -/* 028080 80027480 C4AA0004 */ lwc1 $f10, 4($a1) -/* 028084 80027484 240E00FF */ li $t6, 255 -/* 028088 80027488 46125101 */ sub.s $f4, $f10, $f18 -/* 02808C 8002748C A04DFFFC */ sb $t5, -4($v0) -/* 028090 80027490 444FF800 */ cfc1 $t7, $31 -/* 028094 80027494 A050FFFD */ sb $s0, -3($v0) -/* 028098 80027498 35E10003 */ ori $at, $t7, 3 -/* 02809C 8002749C 38210002 */ xori $at, $at, 2 -/* 0280A0 800274A0 44C1F800 */ ctc1 $at, $31 -/* 0280A4 800274A4 A44CFFFA */ sh $t4, -6($v0) -/* 0280A8 800274A8 460021A4 */ cvt.w.s $f6, $f4 -/* 0280AC 800274AC A04EFFFF */ sb $t6, -1($v0) -/* 0280B0 800274B0 44183000 */ mfc1 $t8, $f6 -/* 0280B4 800274B4 A051FFFE */ sb $s1, -2($v0) -/* 0280B8 800274B8 A458FFF8 */ sh $t8, -8($v0) -/* 0280BC 800274BC 90650001 */ lbu $a1, 1($v1) -/* 0280C0 800274C0 8D040000 */ lw $a0, ($t0) -/* 0280C4 800274C4 ACE20000 */ sw $v0, ($a3) -/* 0280C8 800274C8 240D03E0 */ li $t5, 992 -/* 0280CC 800274CC 24100001 */ li $s0, 1 -/* 0280D0 800274D0 240C0040 */ li $t4, 64 -/* 0280D4 800274D4 24AA0002 */ addiu $t2, $a1, 2 -/* 0280D8 800274D8 24AB0001 */ addiu $t3, $a1, 1 -/* 0280DC 800274DC 24B90003 */ addiu $t9, $a1, 3 -/* 0280E0 800274E0 A0990011 */ sb $t9, 0x11($a0) -/* 0280E4 800274E4 A08C0000 */ sb $t4, ($a0) -/* 0280E8 800274E8 A08A0001 */ sb $t2, 1($a0) -/* 0280EC 800274EC A08B0002 */ sb $t3, 2($a0) -/* 0280F0 800274F0 A0850003 */ sb $a1, 3($a0) -/* 0280F4 800274F4 A48D0004 */ sh $t5, 4($a0) -/* 0280F8 800274F8 A48D0006 */ sh $t5, 6($a0) -/* 0280FC 800274FC A48D0008 */ sh $t5, 8($a0) -/* 028100 80027500 A480000A */ sh $zero, 0xa($a0) -/* 028104 80027504 A490000C */ sh $s0, 0xc($a0) -/* 028108 80027508 A480000E */ sh $zero, 0xe($a0) -/* 02810C 8002750C A08C0010 */ sb $t4, 0x10($a0) -/* 028110 80027510 A08B0012 */ sb $t3, 0x12($a0) -/* 028114 80027514 A08A0013 */ sb $t2, 0x13($a0) -/* 028118 80027518 A4900014 */ sh $s0, 0x14($a0) -/* 02811C 8002751C A48D0016 */ sh $t5, 0x16($a0) -/* 028120 80027520 A48D0018 */ sh $t5, 0x18($a0) -/* 028124 80027524 A48D001A */ sh $t5, 0x1a($a0) -/* 028128 80027528 A490001C */ sh $s0, 0x1c($a0) -/* 02812C 8002752C A480001E */ sh $zero, 0x1e($a0) -/* 028130 80027530 44CFF800 */ ctc1 $t7, $31 -/* 028134 80027534 846F0000 */ lh $t7, ($v1) -/* 028138 80027538 84CE0000 */ lh $t6, ($a2) -/* 02813C 8002753C 24840020 */ addiu $a0, $a0, 0x20 -/* 028140 80027540 25F80004 */ addiu $t8, $t7, 4 -/* 028144 80027544 25D90001 */ addiu $t9, $t6, 1 -/* 028148 80027548 AD040000 */ sw $a0, ($t0) -/* 02814C 8002754C A4780000 */ sh $t8, ($v1) -/* 028150 80027550 A4D90000 */ sh $t9, ($a2) -/* 028154 80027554 00001025 */ move $v0, $zero -.L80027558: -/* 028158 80027558 8FB00008 */ lw $s0, 8($sp) -/* 02815C 8002755C 8FB1000C */ lw $s1, 0xc($sp) -/* 028160 80027560 03E00008 */ jr $ra -/* 028164 80027564 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_80027568 -/* 028168 80027568 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 02816C 8002756C AFBF0044 */ sw $ra, 0x44($sp) -/* 028170 80027570 E7BF0038 */ swc1 $f31, 0x38($sp) -/* 028174 80027574 E7BE003C */ swc1 $f30, 0x3c($sp) -/* 028178 80027578 E7BD0030 */ swc1 $f29, 0x30($sp) -/* 02817C 8002757C E7BC0034 */ swc1 $f28, 0x34($sp) -/* 028180 80027580 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 028184 80027584 E7BA002C */ swc1 $f26, 0x2c($sp) -/* 028188 80027588 E7B90020 */ swc1 $f25, 0x20($sp) -/* 02818C 8002758C E7B80024 */ swc1 $f24, 0x24($sp) -/* 028190 80027590 E7B70018 */ swc1 $f23, 0x18($sp) -/* 028194 80027594 E7B6001C */ swc1 $f22, 0x1c($sp) -/* 028198 80027598 E7B50010 */ swc1 $f21, 0x10($sp) -/* 02819C 8002759C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0281A0 800275A0 0C006E9D */ jal func_8001BA74 -/* 0281A4 800275A4 27A400C4 */ addiu $a0, $sp, 0xc4 -/* 0281A8 800275A8 8FAE00C4 */ lw $t6, 0xc4($sp) -/* 0281AC 800275AC 00403025 */ move $a2, $v0 -/* 0281B0 800275B0 15C00003 */ bnez $t6, .L800275C0 -/* 0281B4 800275B4 00000000 */ nop -/* 0281B8 800275B8 100000BC */ b .L800278AC -/* 0281BC 800275BC 00001025 */ move $v0, $zero -.L800275C0: -/* 0281C0 800275C0 0C019944 */ jal func_80066510 -/* 0281C4 800275C4 AFA60080 */ sw $a2, 0x80($sp) -/* 0281C8 800275C8 8FA60080 */ lw $a2, 0x80($sp) -/* 0281CC 800275CC 1440000A */ bnez $v0, .L800275F8 -/* 0281D0 800275D0 3C0F8012 */ lui $t7, %hi(D_8011B0B0) # $t7, 0x8012 -/* 0281D4 800275D4 8DEFB0B0 */ lw $t7, %lo(D_8011B0B0)($t7) -/* 0281D8 800275D8 00000000 */ nop -/* 0281DC 800275DC 85E20036 */ lh $v0, 0x36($t7) -/* 0281E0 800275E0 00000000 */ nop -/* 0281E4 800275E4 28410005 */ slti $at, $v0, 5 -/* 0281E8 800275E8 10200003 */ beqz $at, .L800275F8 -/* 0281EC 800275EC 24010003 */ li $at, 3 -/* 0281F0 800275F0 14410003 */ bne $v0, $at, .L80027600 -/* 0281F4 800275F4 00000000 */ nop -.L800275F8: -/* 0281F8 800275F8 100000AC */ b .L800278AC -/* 0281FC 800275FC 00001025 */ move $v0, $zero -.L80027600: -/* 028200 80027600 0C019888 */ jal func_80066220 -/* 028204 80027604 AFA60080 */ sw $a2, 0x80($sp) -/* 028208 80027608 8FB800C4 */ lw $t8, 0xc4($sp) -/* 02820C 8002760C 8FA60080 */ lw $a2, 0x80($sp) -/* 028210 80027610 00005825 */ move $t3, $zero -/* 028214 80027614 1B000011 */ blez $t8, .L8002765C -/* 028218 80027618 00001825 */ move $v1, $zero -/* 02821C 8002761C 0003C880 */ sll $t9, $v1, 2 -.L80027620: -/* 028220 80027620 00D97021 */ addu $t6, $a2, $t9 -/* 028224 80027624 8DC50000 */ lw $a1, ($t6) -/* 028228 80027628 8FB800C4 */ lw $t8, 0xc4($sp) -/* 02822C 8002762C 8CA40064 */ lw $a0, 0x64($a1) -/* 028230 80027630 00000000 */ nop -/* 028234 80027634 848F0000 */ lh $t7, ($a0) -/* 028238 80027638 00000000 */ nop -/* 02823C 8002763C 144F0004 */ bne $v0, $t7, .L80027650 -/* 028240 80027640 24630001 */ addiu $v1, $v1, 1 -/* 028244 80027644 8FA300C4 */ lw $v1, 0xc4($sp) -/* 028248 80027648 00A05825 */ move $t3, $a1 -/* 02824C 8002764C 24630001 */ addiu $v1, $v1, 1 -.L80027650: -/* 028250 80027650 0078082A */ slt $at, $v1, $t8 -/* 028254 80027654 1420FFF2 */ bnez $at, .L80027620 -/* 028258 80027658 0003C880 */ sll $t9, $v1, 2 -.L8002765C: -/* 02825C 8002765C 15600003 */ bnez $t3, .L8002766C -/* 028260 80027660 24040001 */ li $a0, 1 -/* 028264 80027664 10000091 */ b .L800278AC -/* 028268 80027668 00001025 */ move $v0, $zero -.L8002766C: -/* 02826C 8002766C 3C068012 */ lui $a2, %hi(D_8011B0B0) # $a2, 0x8012 -/* 028270 80027670 8CC6B0B0 */ lw $a2, %lo(D_8011B0B0)($a2) -/* 028274 80027674 2565000C */ addiu $a1, $t3, 0xc -/* 028278 80027678 2407FFFF */ li $a3, -1 -/* 02827C 8002767C AFAB007C */ sw $t3, 0x7c($sp) -/* 028280 80027680 0C00C44C */ jal func_80031130 -/* 028284 80027684 24C6000C */ addiu $a2, $a2, 0xc -/* 028288 80027688 3C038012 */ lui $v1, %hi(D_8011D378) # $v1, 0x8012 -/* 02828C 8002768C 8C63D378 */ lw $v1, %lo(D_8011D378)($v1) -/* 028290 80027690 8FAB007C */ lw $t3, 0x7c($sp) -/* 028294 80027694 18600084 */ blez $v1, .L800278A8 -/* 028298 80027698 00003825 */ move $a3, $zero -/* 02829C 8002769C 3C198012 */ lui $t9, %hi(D_8011D370) # $t9, 0x8012 -/* 0282A0 800276A0 8F39D370 */ lw $t9, %lo(D_8011D370)($t9) -/* 0282A4 800276A4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 0282A8 800276A8 00006080 */ sll $t4, $zero, 2 -/* 0282AC 800276AC 00037080 */ sll $t6, $v1, 2 -/* 0282B0 800276B0 4481D000 */ mtc1 $at, $f26 -/* 0282B4 800276B4 8FBF00E4 */ lw $ra, 0xe4($sp) -/* 0282B8 800276B8 AFAE004C */ sw $t6, 0x4c($sp) -/* 0282BC 800276BC 24090001 */ li $t1, 1 -/* 0282C0 800276C0 032C6821 */ addu $t5, $t9, $t4 -.L800276C4: -/* 0282C4 800276C4 8DA40000 */ lw $a0, ($t5) -/* 0282C8 800276C8 3C018000 */ lui $at, 0x8000 -/* 0282CC 800276CC 18800003 */ blez $a0, .L800276DC -/* 0282D0 800276D0 3C058012 */ lui $a1, %hi(D_8011B0B0) # $a1, 0x8012 -/* 0282D4 800276D4 1000006C */ b .L80027888 -/* 0282D8 800276D8 0081F825 */ or $ra, $a0, $at -.L800276DC: -/* 0282DC 800276DC 948F0000 */ lhu $t7, ($a0) -/* 0282E0 800276E0 8FE80018 */ lw $t0, 0x18($ra) -/* 0282E4 800276E4 8CA5B0B0 */ lw $a1, %lo(D_8011B0B0)($a1) -/* 0282E8 800276E8 000FC100 */ sll $t8, $t7, 4 -/* 0282EC 800276EC 01181821 */ addu $v1, $t0, $t8 -/* 0282F0 800276F0 C4620000 */ lwc1 $f2, ($v1) -/* 0282F4 800276F4 C4BC000C */ lwc1 $f28, 0xc($a1) -/* 0282F8 800276F8 C4740004 */ lwc1 $f20, 4($v1) -/* 0282FC 800276FC 4602E102 */ mul.s $f4, $f28, $f2 -/* 028300 80027700 C4BE0010 */ lwc1 $f30, 0x10($a1) -/* 028304 80027704 C4760008 */ lwc1 $f22, 8($v1) -/* 028308 80027708 C4A00014 */ lwc1 $f0, 0x14($a1) -/* 02830C 8002770C 461EA182 */ mul.s $f6, $f20, $f30 -/* 028310 80027710 C478000C */ lwc1 $f24, 0xc($v1) -/* 028314 80027714 3C01402C */ li $at, 0x402C0000 # 2.687500 -/* 028318 80027718 00805025 */ move $t2, $a0 -/* 02831C 8002771C 4600B282 */ mul.s $f10, $f22, $f0 -/* 028320 80027720 46062200 */ add.s $f8, $f4, $f6 -/* 028324 80027724 44815800 */ mtc1 $at, $f11 -/* 028328 80027728 3C01800E */ lui $at, %hi(D_800E5E90) # $at, 0x800e -/* 02832C 8002772C 460A4100 */ add.s $f4, $f8, $f10 -/* 028330 80027730 44805000 */ mtc1 $zero, $f10 -/* 028334 80027734 46182180 */ add.s $f6, $f4, $f24 -/* 028338 80027738 E7A0005C */ swc1 $f0, 0x5c($sp) -/* 02833C 8002773C 46003221 */ cvt.d.s $f8, $f6 -/* 028340 80027740 462A4101 */ sub.d $f4, $f8, $f10 -/* 028344 80027744 C4285E94 */ lwc1 $f8, %lo(D_800E5E94)($at) -/* 028348 80027748 46202320 */ cvt.s.d $f12, $f4 -/* 02834C 8002774C C4295E90 */ lwc1 $f9, %lo(D_800E5E90)($at) -/* 028350 80027750 460061A1 */ cvt.d.s $f6, $f12 -/* 028354 80027754 4628303C */ c.lt.d $f6, $f8 -/* 028358 80027758 00000000 */ nop -/* 02835C 8002775C 4500004B */ bc1f .L8002788C -/* 028360 80027760 8FB9004C */ lw $t9, 0x4c($sp) -/* 028364 80027764 C56E000C */ lwc1 $f14, 0xc($t3) -/* 028368 80027768 C5700010 */ lwc1 $f16, 0x10($t3) -/* 02836C 8002776C 46027282 */ mul.s $f10, $f14, $f2 -/* 028370 80027770 C5720014 */ lwc1 $f18, 0x14($t3) -/* 028374 80027774 3C01800E */ lui $at, %hi(D_800E5E9C) # $at, 0x800e -/* 028378 80027778 00001025 */ move $v0, $zero -/* 02837C 8002777C 4610A102 */ mul.s $f4, $f20, $f16 -/* 028380 80027780 00000000 */ nop -/* 028384 80027784 4612B202 */ mul.s $f8, $f22, $f18 -/* 028388 80027788 46045180 */ add.s $f6, $f10, $f4 -/* 02838C 8002778C C4275E98 */ lwc1 $f7, %lo(D_800E5E98)($at) -/* 028390 80027790 46083280 */ add.s $f10, $f6, $f8 -/* 028394 80027794 C4265E9C */ lwc1 $f6, %lo(D_800E5E9C)($at) -/* 028398 80027798 46185000 */ add.s $f0, $f10, $f24 -/* 02839C 8002779C C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 0283A0 800277A0 46000121 */ cvt.d.s $f4, $f0 -/* 0283A4 800277A4 4624303E */ c.le.d $f6, $f4 -/* 0283A8 800277A8 00000000 */ nop -/* 0283AC 800277AC 45000036 */ bc1f .L80027888 -/* 0283B0 800277B0 00000000 */ nop -/* 0283B4 800277B4 460C0032 */ c.eq.s $f0, $f12 -/* 0283B8 800277B8 460EE501 */ sub.s $f20, $f28, $f14 -/* 0283BC 800277BC 24070001 */ li $a3, 1 -/* 0283C0 800277C0 4610F581 */ sub.s $f22, $f30, $f16 -/* 0283C4 800277C4 45010004 */ bc1t .L800277D8 -/* 0283C8 800277C8 46124601 */ sub.s $f24, $f8, $f18 -/* 0283CC 800277CC 460C0281 */ sub.s $f10, $f0, $f12 -/* 0283D0 800277D0 10000003 */ b .L800277E0 -/* 0283D4 800277D4 460A0083 */ div.s $f2, $f0, $f10 -.L800277D8: -/* 0283D8 800277D8 44801000 */ mtc1 $zero, $f2 -/* 0283DC 800277DC 00000000 */ nop -.L800277E0: -/* 0283E0 800277E0 4602A102 */ mul.s $f4, $f20, $f2 -/* 0283E4 800277E4 00022840 */ sll $a1, $v0, 1 -/* 0283E8 800277E8 01453021 */ addu $a2, $t2, $a1 -/* 0283EC 800277EC 4602B182 */ mul.s $f6, $f22, $f2 -/* 0283F0 800277F0 46047500 */ add.s $f20, $f14, $f4 -/* 0283F4 800277F4 4602C202 */ mul.s $f8, $f24, $f2 -/* 0283F8 800277F8 46068580 */ add.s $f22, $f16, $f6 -/* 0283FC 800277FC 46089600 */ add.s $f24, $f18, $f8 -.L80027800: -/* 028400 80027800 94C20002 */ lhu $v0, 2($a2) -/* 028404 80027804 24A50002 */ addiu $a1, $a1, 2 -/* 028408 80027808 30598000 */ andi $t9, $v0, 0x8000 -/* 02840C 8002780C 13200004 */ beqz $t9, .L80027820 -/* 028410 80027810 00002025 */ move $a0, $zero -/* 028414 80027814 304E7FFF */ andi $t6, $v0, 0x7fff -/* 028418 80027818 01C01025 */ move $v0, $t6 -/* 02841C 8002781C 01202025 */ move $a0, $t1 -.L80027820: -/* 028420 80027820 0002C100 */ sll $t8, $v0, 4 -/* 028424 80027824 01181821 */ addu $v1, $t0, $t8 -/* 028428 80027828 C4600000 */ lwc1 $f0, ($v1) -/* 02842C 8002782C C4620004 */ lwc1 $f2, 4($v1) -/* 028430 80027830 46140282 */ mul.s $f10, $f0, $f20 -/* 028434 80027834 C46C0008 */ lwc1 $f12, 8($v1) -/* 028438 80027838 C46E000C */ lwc1 $f14, 0xc($v1) -/* 02843C 8002783C 28A10006 */ slti $at, $a1, 6 -/* 028440 80027840 46161102 */ mul.s $f4, $f2, $f22 -/* 028444 80027844 00000000 */ nop -/* 028448 80027848 46186202 */ mul.s $f8, $f12, $f24 -/* 02844C 8002784C 46045180 */ add.s $f6, $f10, $f4 -/* 028450 80027850 46083280 */ add.s $f10, $f6, $f8 -/* 028454 80027854 460E5480 */ add.s $f18, $f10, $f14 -/* 028458 80027858 10800002 */ beqz $a0, .L80027864 -/* 02845C 8002785C 46009406 */ mov.s $f16, $f18 -/* 028460 80027860 46009407 */ neg.s $f16, $f18 -.L80027864: -/* 028464 80027864 4610D03C */ c.lt.s $f26, $f16 -/* 028468 80027868 00000000 */ nop -/* 02846C 8002786C 45000002 */ bc1f .L80027878 -/* 028470 80027870 00000000 */ nop -/* 028474 80027874 00003825 */ move $a3, $zero -.L80027878: -/* 028478 80027878 10200003 */ beqz $at, .L80027888 -/* 02847C 8002787C 24C60002 */ addiu $a2, $a2, 2 -/* 028480 80027880 10E9FFDF */ beq $a3, $t1, .L80027800 -/* 028484 80027884 00000000 */ nop -.L80027888: -/* 028488 80027888 8FB9004C */ lw $t9, 0x4c($sp) -.L8002788C: -/* 02848C 8002788C 258C0004 */ addiu $t4, $t4, 4 -/* 028490 80027890 0199082A */ slt $at, $t4, $t9 -/* 028494 80027894 10200004 */ beqz $at, .L800278A8 -/* 028498 80027898 25AD0004 */ addiu $t5, $t5, 4 -/* 02849C 8002789C 10E0FF89 */ beqz $a3, .L800276C4 -/* 0284A0 800278A0 00000000 */ nop -/* 0284A4 800278A4 AFBF00E4 */ sw $ra, 0xe4($sp) -.L800278A8: -/* 0284A8 800278A8 00E01025 */ move $v0, $a3 -.L800278AC: -/* 0284AC 800278AC 8FBF0044 */ lw $ra, 0x44($sp) -/* 0284B0 800278B0 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 0284B4 800278B4 C7B40014 */ lwc1 $f20, 0x14($sp) -/* 0284B8 800278B8 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 0284BC 800278BC C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 0284C0 800278C0 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 0284C4 800278C4 C7B80024 */ lwc1 $f24, 0x24($sp) -/* 0284C8 800278C8 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 0284CC 800278CC C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 0284D0 800278D0 C7BD0030 */ lwc1 $f29, 0x30($sp) -/* 0284D4 800278D4 C7BC0034 */ lwc1 $f28, 0x34($sp) -/* 0284D8 800278D8 C7BF0038 */ lwc1 $f31, 0x38($sp) -/* 0284DC 800278DC C7BE003C */ lwc1 $f30, 0x3c($sp) -/* 0284E0 800278E0 03E00008 */ jr $ra -/* 0284E4 800278E4 27BD00E8 */ addiu $sp, $sp, 0xe8 - -glabel func_800278E8 -/* 0284E8 800278E8 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0284EC 800278EC AFBF001C */ sw $ra, 0x1c($sp) -/* 0284F0 800278F0 AFA40070 */ sw $a0, 0x70($sp) -/* 0284F4 800278F4 AFB10018 */ sw $s1, 0x18($sp) -/* 0284F8 800278F8 AFB00014 */ sw $s0, 0x14($sp) -/* 0284FC 800278FC 0C006E9D */ jal func_8001BA74 -/* 028500 80027900 27A40038 */ addiu $a0, $sp, 0x38 -/* 028504 80027904 8FAE0038 */ lw $t6, 0x38($sp) -/* 028508 80027908 00001825 */ move $v1, $zero -/* 02850C 8002790C 19C00031 */ blez $t6, .L800279D4 -/* 028510 80027910 00003025 */ move $a2, $zero -/* 028514 80027914 00408025 */ move $s0, $v0 -.L80027918: -/* 028518 80027918 8E020000 */ lw $v0, ($s0) -/* 02851C 8002791C 00000000 */ nop -/* 028520 80027920 10400028 */ beqz $v0, .L800279C4 -/* 028524 80027924 8FAE0038 */ lw $t6, 0x38($sp) -/* 028528 80027928 8C510064 */ lw $s1, 0x64($v0) -/* 02852C 8002792C 27A50030 */ addiu $a1, $sp, 0x30 -/* 028530 80027930 822F01FD */ lb $t7, 0x1fd($s1) -/* 028534 80027934 00000000 */ nop -/* 028538 80027938 AFAF0030 */ sw $t7, 0x30($sp) -/* 02853C 8002793C 8E040000 */ lw $a0, ($s0) -/* 028540 80027940 AFA60034 */ sw $a2, 0x34($sp) -/* 028544 80027944 0C006F75 */ jal func_8001BDD4 -/* 028548 80027948 AFA30040 */ sw $v1, 0x40($sp) -/* 02854C 8002794C 8FB80030 */ lw $t8, 0x30($sp) -/* 028550 80027950 823901D8 */ lb $t9, 0x1d8($s1) -/* 028554 80027954 8FA30040 */ lw $v1, 0x40($sp) -/* 028558 80027958 8FA60034 */ lw $a2, 0x34($sp) -/* 02855C 8002795C 13200009 */ beqz $t9, .L80027984 -/* 028560 80027960 A23801FD */ sb $t8, 0x1fd($s1) -/* 028564 80027964 862801AC */ lh $t0, 0x1ac($s1) -/* 028568 80027968 24010001 */ li $at, 1 -/* 02856C 8002796C 15010015 */ bne $t0, $at, .L800279C4 -/* 028570 80027970 8FAE0038 */ lw $t6, 0x38($sp) -/* 028574 80027974 AFB1003C */ sw $s1, 0x3c($sp) -/* 028578 80027978 8E090000 */ lw $t1, ($s0) -/* 02857C 8002797C 10000010 */ b .L800279C0 -/* 028580 80027980 AFA90048 */ sw $t1, 0x48($sp) -.L80027984: -/* 028584 80027984 14600005 */ bnez $v1, .L8002799C -/* 028588 80027988 00000000 */ nop -/* 02858C 8002798C 8E0A0000 */ lw $t2, ($s0) -/* 028590 80027990 02201825 */ move $v1, $s1 -/* 028594 80027994 1000000A */ b .L800279C0 -/* 028598 80027998 AFAA004C */ sw $t2, 0x4c($sp) -.L8002799C: -/* 02859C 8002799C 862B01AE */ lh $t3, 0x1ae($s1) -/* 0285A0 800279A0 846C01AE */ lh $t4, 0x1ae($v1) -/* 0285A4 800279A4 00000000 */ nop -/* 0285A8 800279A8 016C082A */ slt $at, $t3, $t4 -/* 0285AC 800279AC 10200005 */ beqz $at, .L800279C4 -/* 0285B0 800279B0 8FAE0038 */ lw $t6, 0x38($sp) -/* 0285B4 800279B4 8E0D0000 */ lw $t5, ($s0) -/* 0285B8 800279B8 02201825 */ move $v1, $s1 -/* 0285BC 800279BC AFAD004C */ sw $t5, 0x4c($sp) -.L800279C0: -/* 0285C0 800279C0 8FAE0038 */ lw $t6, 0x38($sp) -.L800279C4: -/* 0285C4 800279C4 24C60001 */ addiu $a2, $a2, 1 -/* 0285C8 800279C8 00CE082A */ slt $at, $a2, $t6 -/* 0285CC 800279CC 1420FFD2 */ bnez $at, .L80027918 -/* 0285D0 800279D0 26100004 */ addiu $s0, $s0, 4 -.L800279D4: -/* 0285D4 800279D4 10600005 */ beqz $v1, .L800279EC -/* 0285D8 800279D8 8FB1003C */ lw $s1, 0x3c($sp) -/* 0285DC 800279DC 8FA5004C */ lw $a1, 0x4c($sp) -/* 0285E0 800279E0 10000004 */ b .L800279F4 -/* 0285E4 800279E4 00608825 */ move $s1, $v1 -/* 0285E8 800279E8 8FB1003C */ lw $s1, 0x3c($sp) -.L800279EC: -/* 0285EC 800279EC 8FA50048 */ lw $a1, 0x48($sp) -/* 0285F0 800279F0 00000000 */ nop -.L800279F4: -/* 0285F4 800279F4 822401FD */ lb $a0, 0x1fd($s1) -/* 0285F8 800279F8 0C006F65 */ jal func_8001BD94 -/* 0285FC 800279FC AFA50054 */ sw $a1, 0x54($sp) -/* 028600 80027A00 3C0F8012 */ lui $t7, %hi(D_8011B104) # $t7, 0x8012 -/* 028604 80027A04 8DEFB104 */ lw $t7, %lo(D_8011B104)($t7) -/* 028608 80027A08 823801FD */ lb $t8, 0x1fd($s1) -/* 02860C 80027A0C 8FA50054 */ lw $a1, 0x54($sp) -/* 028610 80027A10 11F80005 */ beq $t7, $t8, .L80027A28 -/* 028614 80027A14 00408025 */ move $s0, $v0 -/* 028618 80027A18 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 -/* 02861C 80027A1C 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 -/* 028620 80027A20 1000000E */ b .L80027A5C -/* 028624 80027A24 ACE00000 */ sw $zero, ($a3) -.L80027A28: -/* 028628 80027A28 3C038012 */ lui $v1, %hi(D_8011B100) # $v1, 0x8012 -/* 02862C 80027A2C 2463B100 */ addiu $v1, %lo(D_8011B100) # addiu $v1, $v1, -0x4f00 -/* 028630 80027A30 8C790000 */ lw $t9, ($v1) -/* 028634 80027A34 86280000 */ lh $t0, ($s1) -/* 028638 80027A38 00000000 */ nop -/* 02863C 80027A3C 13280007 */ beq $t9, $t0, .L80027A5C -/* 028640 80027A40 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 -/* 028644 80027A44 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 -/* 028648 80027A48 240900B4 */ li $t1, 180 -/* 02864C 80027A4C ACE90000 */ sw $t1, ($a3) -/* 028650 80027A50 862A0000 */ lh $t2, ($s1) -/* 028654 80027A54 00000000 */ nop -/* 028658 80027A58 AC6A0000 */ sw $t2, ($v1) -.L80027A5C: -/* 02865C 80027A5C 104000ED */ beqz $v0, .L80027E14 -/* 028660 80027A60 8FBF001C */ lw $ra, 0x1c($sp) -/* 028664 80027A64 0C01A73F */ jal func_80069CFC -/* 028668 80027A68 AFA50054 */ sw $a1, 0x54($sp) -/* 02866C 80027A6C C604000C */ lwc1 $f4, 0xc($s0) -/* 028670 80027A70 8FA50054 */ lw $a1, 0x54($sp) -/* 028674 80027A74 E444000C */ swc1 $f4, 0xc($v0) -/* 028678 80027A78 C6060010 */ lwc1 $f6, 0x10($s0) -/* 02867C 80027A7C C44A000C */ lwc1 $f10, 0xc($v0) -/* 028680 80027A80 E4460010 */ swc1 $f6, 0x10($v0) -/* 028684 80027A84 C6080014 */ lwc1 $f8, 0x14($s0) -/* 028688 80027A88 C4520010 */ lwc1 $f18, 0x10($v0) -/* 02868C 80027A8C E4480014 */ swc1 $f8, 0x14($v0) -/* 028690 80027A90 C4A40010 */ lwc1 $f4, 0x10($a1) -/* 028694 80027A94 C4B0000C */ lwc1 $f16, 0xc($a1) -/* 028698 80027A98 46049181 */ sub.s $f6, $f18, $f4 -/* 02869C 80027A9C 46105081 */ sub.s $f2, $f10, $f16 -/* 0286A0 80027AA0 E7A60064 */ swc1 $f6, 0x64($sp) -/* 0286A4 80027AA4 C4480014 */ lwc1 $f8, 0x14($v0) -/* 0286A8 80027AA8 C4AA0014 */ lwc1 $f10, 0x14($a1) -/* 0286AC 80027AAC 46021402 */ mul.s $f16, $f2, $f2 -/* 0286B0 80027AB0 460A4381 */ sub.s $f14, $f8, $f10 -/* 0286B4 80027AB4 E7A20068 */ swc1 $f2, 0x68($sp) -/* 0286B8 80027AB8 E7AE0060 */ swc1 $f14, 0x60($sp) -/* 0286BC 80027ABC 460E7482 */ mul.s $f18, $f14, $f14 -/* 0286C0 80027AC0 AFA20058 */ sw $v0, 0x58($sp) -/* 0286C4 80027AC4 0C0326B4 */ jal sqrtf -/* 0286C8 80027AC8 46128300 */ add.s $f12, $f16, $f18 -/* 0286CC 80027ACC 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 -/* 0286D0 80027AD0 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 -/* 0286D4 80027AD4 8CEB0000 */ lw $t3, ($a3) -/* 0286D8 80027AD8 8FA30058 */ lw $v1, 0x58($sp) -/* 0286DC 80027ADC C7A20068 */ lwc1 $f2, 0x68($sp) -/* 0286E0 80027AE0 C7AE0060 */ lwc1 $f14, 0x60($sp) -/* 0286E4 80027AE4 1160008C */ beqz $t3, .L80027D18 -/* 0286E8 80027AE8 46000306 */ mov.s $f12, $f0 -/* 0286EC 80027AEC 444CF800 */ cfc1 $t4, $31 -/* 0286F0 80027AF0 AFA30058 */ sw $v1, 0x58($sp) -/* 0286F4 80027AF4 35810003 */ ori $at, $t4, 3 -/* 0286F8 80027AF8 38210002 */ xori $at, $at, 2 -/* 0286FC 80027AFC 44C1F800 */ ctc1 $at, $31 -/* 028700 80027B00 E7AC005C */ swc1 $f12, 0x5c($sp) -/* 028704 80027B04 46001124 */ cvt.w.s $f4, $f2 -/* 028708 80027B08 44CCF800 */ ctc1 $t4, $31 -/* 02870C 80027B0C 44042000 */ mfc1 $a0, $f4 -/* 028710 80027B10 00000000 */ nop -/* 028714 80027B14 444DF800 */ cfc1 $t5, $31 -/* 028718 80027B18 00000000 */ nop -/* 02871C 80027B1C 35A10003 */ ori $at, $t5, 3 -/* 028720 80027B20 38210002 */ xori $at, $at, 2 -/* 028724 80027B24 44C1F800 */ ctc1 $at, $31 -/* 028728 80027B28 00000000 */ nop -/* 02872C 80027B2C 460071A4 */ cvt.w.s $f6, $f14 -/* 028730 80027B30 44053000 */ mfc1 $a1, $f6 -/* 028734 80027B34 44CDF800 */ ctc1 $t5, $31 -/* 028738 80027B38 0C01C19B */ jal func_8007066C -/* 02873C 80027B3C 00000000 */ nop -/* 028740 80027B40 8FA30058 */ lw $v1, 0x58($sp) -/* 028744 80027B44 00027023 */ negu $t6, $v0 -/* 028748 80027B48 84660000 */ lh $a2, ($v1) -/* 02874C 80027B4C 34018000 */ li $at, 32768 -/* 028750 80027B50 01C68023 */ subu $s0, $t6, $a2 -/* 028754 80027B54 02018021 */ addu $s0, $s0, $at -/* 028758 80027B58 00107C00 */ sll $t7, $s0, 0x10 -/* 02875C 80027B5C 000FC403 */ sra $t8, $t7, 0x10 -/* 028760 80027B60 34018001 */ li $at, 32769 -/* 028764 80027B64 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 -/* 028768 80027B68 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 02876C 80027B6C 0301082A */ slt $at, $t8, $at -/* 028770 80027B70 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 -/* 028774 80027B74 14200007 */ bnez $at, .L80027B94 -/* 028778 80027B78 03008025 */ move $s0, $t8 -/* 02877C 80027B7C 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff -/* 028780 80027B80 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1 -/* 028784 80027B84 0018C823 */ negu $t9, $t8 -/* 028788 80027B88 01198023 */ subu $s0, $t0, $t9 -/* 02878C 80027B8C 00104C00 */ sll $t1, $s0, 0x10 -/* 028790 80027B90 00098403 */ sra $s0, $t1, 0x10 -.L80027B94: -/* 028794 80027B94 8CEB0000 */ lw $t3, ($a3) -/* 028798 80027B98 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 02879C 80027B9C 448B4000 */ mtc1 $t3, $f8 -/* 0287A0 80027BA0 44818000 */ mtc1 $at, $f16 -/* 0287A4 80027BA4 468042A0 */ cvt.s.w $f10, $f8 -/* 0287A8 80027BA8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0287AC 80027BAC 44812000 */ mtc1 $at, $f4 -/* 0287B0 80027BB0 46105483 */ div.s $f18, $f10, $f16 -/* 0287B4 80027BB4 44904000 */ mtc1 $s0, $f8 -/* 0287B8 80027BB8 00000000 */ nop -/* 0287BC 80027BBC 468042A0 */ cvt.s.w $f10, $f8 -/* 0287C0 80027BC0 46122182 */ mul.s $f6, $f4, $f18 -/* 0287C4 80027BC4 00000000 */ nop -/* 0287C8 80027BC8 46065403 */ div.s $f16, $f10, $f6 -/* 0287CC 80027BCC 444CF800 */ cfc1 $t4, $31 -/* 0287D0 80027BD0 00000000 */ nop -/* 0287D4 80027BD4 35810003 */ ori $at, $t4, 3 -/* 0287D8 80027BD8 38210002 */ xori $at, $at, 2 -/* 0287DC 80027BDC 44C1F800 */ ctc1 $at, $31 -/* 0287E0 80027BE0 00000000 */ nop -/* 0287E4 80027BE4 46008124 */ cvt.w.s $f4, $f16 -/* 0287E8 80027BE8 44CCF800 */ ctc1 $t4, $31 -/* 0287EC 80027BEC 440E2000 */ mfc1 $t6, $f4 -/* 0287F0 80027BF0 00000000 */ nop -/* 0287F4 80027BF4 4458F800 */ cfc1 $t8, $31 -/* 0287F8 80027BF8 00CE7821 */ addu $t7, $a2, $t6 -/* 0287FC 80027BFC 37010003 */ ori $at, $t8, 3 -/* 028800 80027C00 A46F0000 */ sh $t7, ($v1) -/* 028804 80027C04 38210002 */ xori $at, $at, 2 -/* 028808 80027C08 44C1F800 */ ctc1 $at, $31 -/* 02880C 80027C0C C7B20064 */ lwc1 $f18, 0x64($sp) -/* 028810 80027C10 AFA30058 */ sw $v1, 0x58($sp) -/* 028814 80027C14 46009224 */ cvt.w.s $f8, $f18 -/* 028818 80027C18 44D8F800 */ ctc1 $t8, $31 -/* 02881C 80027C1C 44044000 */ mfc1 $a0, $f8 -/* 028820 80027C20 00000000 */ nop -/* 028824 80027C24 4448F800 */ cfc1 $t0, $31 -/* 028828 80027C28 00000000 */ nop -/* 02882C 80027C2C 35010003 */ ori $at, $t0, 3 -/* 028830 80027C30 38210002 */ xori $at, $at, 2 -/* 028834 80027C34 44C1F800 */ ctc1 $at, $31 -/* 028838 80027C38 00000000 */ nop -/* 02883C 80027C3C 460062A4 */ cvt.w.s $f10, $f12 -/* 028840 80027C40 44055000 */ mfc1 $a1, $f10 -/* 028844 80027C44 44C8F800 */ ctc1 $t0, $31 -/* 028848 80027C48 0C01C19B */ jal func_8007066C -/* 02884C 80027C4C 00000000 */ nop -/* 028850 80027C50 8FA30058 */ lw $v1, 0x58($sp) -/* 028854 80027C54 34018001 */ li $at, 32769 -/* 028858 80027C58 84640002 */ lh $a0, 2($v1) -/* 02885C 80027C5C 3C078012 */ lui $a3, %hi(D_8011B108) # $a3, 0x8012 -/* 028860 80027C60 00448023 */ subu $s0, $v0, $a0 -/* 028864 80027C64 0010CC00 */ sll $t9, $s0, 0x10 -/* 028868 80027C68 00194C03 */ sra $t1, $t9, 0x10 -/* 02886C 80027C6C 0121082A */ slt $at, $t1, $at -/* 028870 80027C70 01208025 */ move $s0, $t1 -/* 028874 80027C74 14200007 */ bnez $at, .L80027C94 -/* 028878 80027C78 24E7B108 */ addiu $a3, %lo(D_8011B108) # addiu $a3, $a3, -0x4ef8 -/* 02887C 80027C7C 3C0BFFFF */ lui $t3, (0xFFFF0001 >> 16) # lui $t3, 0xffff -/* 028880 80027C80 356B0001 */ ori $t3, (0xFFFF0001 & 0xFFFF) # ori $t3, $t3, 1 -/* 028884 80027C84 00095023 */ negu $t2, $t1 -/* 028888 80027C88 016A8023 */ subu $s0, $t3, $t2 -/* 02888C 80027C8C 00106400 */ sll $t4, $s0, 0x10 -/* 028890 80027C90 000C8403 */ sra $s0, $t4, 0x10 -.L80027C94: -/* 028894 80027C94 8CEE0000 */ lw $t6, ($a3) -/* 028898 80027C98 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 02889C 80027C9C 448E3000 */ mtc1 $t6, $f6 -/* 0288A0 80027CA0 44812000 */ mtc1 $at, $f4 -/* 0288A4 80027CA4 46803420 */ cvt.s.w $f16, $f6 -/* 0288A8 80027CA8 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 0288AC 80027CAC 44814000 */ mtc1 $at, $f8 -/* 0288B0 80027CB0 46048483 */ div.s $f18, $f16, $f4 -/* 0288B4 80027CB4 44903000 */ mtc1 $s0, $f6 -/* 0288B8 80027CB8 00000000 */ nop -/* 0288BC 80027CBC 46803420 */ cvt.s.w $f16, $f6 -/* 0288C0 80027CC0 46124282 */ mul.s $f10, $f8, $f18 -/* 0288C4 80027CC4 00000000 */ nop -/* 0288C8 80027CC8 460A8103 */ div.s $f4, $f16, $f10 -/* 0288CC 80027CCC 444FF800 */ cfc1 $t7, $31 -/* 0288D0 80027CD0 00000000 */ nop -/* 0288D4 80027CD4 35E10003 */ ori $at, $t7, 3 -/* 0288D8 80027CD8 38210002 */ xori $at, $at, 2 -/* 0288DC 80027CDC 44C1F800 */ ctc1 $at, $31 -/* 0288E0 80027CE0 00000000 */ nop -/* 0288E4 80027CE4 46002224 */ cvt.w.s $f8, $f4 -/* 0288E8 80027CE8 44084000 */ mfc1 $t0, $f8 -/* 0288EC 80027CEC 44CFF800 */ ctc1 $t7, $31 -/* 0288F0 80027CF0 0088C821 */ addu $t9, $a0, $t0 -/* 0288F4 80027CF4 A4790002 */ sh $t9, 2($v1) -/* 0288F8 80027CF8 8CE90000 */ lw $t1, ($a3) -/* 0288FC 80027CFC 8FAB0070 */ lw $t3, 0x70($sp) -/* 028900 80027D00 00000000 */ nop -/* 028904 80027D04 012B5023 */ subu $t2, $t1, $t3 -/* 028908 80027D08 05410035 */ bgez $t2, .L80027DE0 -/* 02890C 80027D0C ACEA0000 */ sw $t2, ($a3) -/* 028910 80027D10 10000033 */ b .L80027DE0 -/* 028914 80027D14 ACE00000 */ sw $zero, ($a3) -.L80027D18: -/* 028918 80027D18 444DF800 */ cfc1 $t5, $31 -/* 02891C 80027D1C AFA30058 */ sw $v1, 0x58($sp) -/* 028920 80027D20 35A10003 */ ori $at, $t5, 3 -/* 028924 80027D24 38210002 */ xori $at, $at, 2 -/* 028928 80027D28 44C1F800 */ ctc1 $at, $31 -/* 02892C 80027D2C E7AC005C */ swc1 $f12, 0x5c($sp) -/* 028930 80027D30 460014A4 */ cvt.w.s $f18, $f2 -/* 028934 80027D34 44CDF800 */ ctc1 $t5, $31 -/* 028938 80027D38 44049000 */ mfc1 $a0, $f18 -/* 02893C 80027D3C 00000000 */ nop -/* 028940 80027D40 444EF800 */ cfc1 $t6, $31 -/* 028944 80027D44 00000000 */ nop -/* 028948 80027D48 35C10003 */ ori $at, $t6, 3 -/* 02894C 80027D4C 38210002 */ xori $at, $at, 2 -/* 028950 80027D50 44C1F800 */ ctc1 $at, $31 -/* 028954 80027D54 00000000 */ nop -/* 028958 80027D58 460071A4 */ cvt.w.s $f6, $f14 -/* 02895C 80027D5C 44053000 */ mfc1 $a1, $f6 -/* 028960 80027D60 44CEF800 */ ctc1 $t6, $31 -/* 028964 80027D64 0C01C19B */ jal func_8007066C -/* 028968 80027D68 00000000 */ nop -/* 02896C 80027D6C 4448F800 */ cfc1 $t0, $31 -/* 028970 80027D70 8FA30058 */ lw $v1, 0x58($sp) -/* 028974 80027D74 340F8000 */ li $t7, 32768 -/* 028978 80027D78 C7AC005C */ lwc1 $f12, 0x5c($sp) -/* 02897C 80027D7C 01E2C023 */ subu $t8, $t7, $v0 -/* 028980 80027D80 35010003 */ ori $at, $t0, 3 -/* 028984 80027D84 38210002 */ xori $at, $at, 2 -/* 028988 80027D88 A4780000 */ sh $t8, ($v1) -/* 02898C 80027D8C C7B00064 */ lwc1 $f16, 0x64($sp) -/* 028990 80027D90 44C1F800 */ ctc1 $at, $31 -/* 028994 80027D94 00000000 */ nop -/* 028998 80027D98 460082A4 */ cvt.w.s $f10, $f16 -/* 02899C 80027D9C 44C8F800 */ ctc1 $t0, $31 -/* 0289A0 80027DA0 44045000 */ mfc1 $a0, $f10 -/* 0289A4 80027DA4 00000000 */ nop -/* 0289A8 80027DA8 4459F800 */ cfc1 $t9, $31 -/* 0289AC 80027DAC 00000000 */ nop -/* 0289B0 80027DB0 37210003 */ ori $at, $t9, 3 -/* 0289B4 80027DB4 38210002 */ xori $at, $at, 2 -/* 0289B8 80027DB8 44C1F800 */ ctc1 $at, $31 -/* 0289BC 80027DBC 00000000 */ nop -/* 0289C0 80027DC0 46006124 */ cvt.w.s $f4, $f12 -/* 0289C4 80027DC4 44052000 */ mfc1 $a1, $f4 -/* 0289C8 80027DC8 44D9F800 */ ctc1 $t9, $31 -/* 0289CC 80027DCC 0C01C19B */ jal func_8007066C -/* 0289D0 80027DD0 00000000 */ nop -/* 0289D4 80027DD4 8FA30058 */ lw $v1, 0x58($sp) -/* 0289D8 80027DD8 00000000 */ nop -/* 0289DC 80027DDC A4620002 */ sh $v0, 2($v1) -.L80027DE0: -/* 0289E0 80027DE0 A4600004 */ sh $zero, 4($v1) -/* 0289E4 80027DE4 C62E003C */ lwc1 $f14, 0x3c($s1) -/* 0289E8 80027DE8 C46C000C */ lwc1 $f12, 0xc($v1) -/* 0289EC 80027DEC 8C660014 */ lw $a2, 0x14($v1) -/* 0289F0 80027DF0 0C00A7C6 */ jal func_80029F18 -/* 0289F4 80027DF4 AFA30058 */ sw $v1, 0x58($sp) -/* 0289F8 80027DF8 8FA30058 */ lw $v1, 0x58($sp) -/* 0289FC 80027DFC 3C018012 */ lui $at, %hi(D_8011B104) # $at, 0x8012 -/* 028A00 80027E00 A4620034 */ sh $v0, 0x34($v1) -/* 028A04 80027E04 822901FD */ lb $t1, 0x1fd($s1) -/* 028A08 80027E08 00000000 */ nop -/* 028A0C 80027E0C AC29B104 */ sw $t1, %lo(D_8011B104)($at) -/* 028A10 80027E10 8FBF001C */ lw $ra, 0x1c($sp) -.L80027E14: -/* 028A14 80027E14 8FB00014 */ lw $s0, 0x14($sp) -/* 028A18 80027E18 8FB10018 */ lw $s1, 0x18($sp) -/* 028A1C 80027E1C 03E00008 */ jr $ra -/* 028A20 80027E20 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_80027E24 -/* 028A24 80027E24 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 028A28 80027E28 3C05800E */ lui $a1, %hi(D_800DC918) # $a1, 0x800e -/* 028A2C 80027E2C 8CA5C918 */ lw $a1, %lo(D_800DC918)($a1) -/* 028A30 80027E30 AFBF003C */ sw $ra, 0x3c($sp) -/* 028A34 80027E34 AFBE0038 */ sw $fp, 0x38($sp) -/* 028A38 80027E38 AFB70034 */ sw $s7, 0x34($sp) -/* 028A3C 80027E3C AFB60030 */ sw $s6, 0x30($sp) -/* 028A40 80027E40 AFB5002C */ sw $s5, 0x2c($sp) -/* 028A44 80027E44 AFB40028 */ sw $s4, 0x28($sp) -/* 028A48 80027E48 AFB30024 */ sw $s3, 0x24($sp) -/* 028A4C 80027E4C AFB20020 */ sw $s2, 0x20($sp) -/* 028A50 80027E50 AFB1001C */ sw $s1, 0x1c($sp) -/* 028A54 80027E54 AFB00018 */ sw $s0, 0x18($sp) -/* 028A58 80027E58 8CA30004 */ lw $v1, 4($a1) -/* 028A5C 80027E5C AFA0006C */ sw $zero, 0x6c($sp) -/* 028A60 80027E60 84A2001A */ lh $v0, 0x1a($a1) -/* 028A64 80027E64 00809825 */ move $s3, $a0 -/* 028A68 80027E68 1840004A */ blez $v0, .L80027F94 -/* 028A6C 80027E6C 0060B025 */ move $s6, $v1 -/* 028A70 80027E70 241E00FF */ li $fp, 255 -/* 028A74 80027E74 3C170001 */ lui $s7, 1 -/* 028A78 80027E78 27B40058 */ addiu $s4, $sp, 0x58 -.L80027E7C: -/* 028A7C 80027E7C 86C30020 */ lh $v1, 0x20($s6) -/* 028A80 80027E80 8ED5000C */ lw $s5, 0xc($s6) -/* 028A84 80027E84 1860003D */ blez $v1, .L80027F7C -/* 028A88 80027E88 00008825 */ move $s1, $zero -/* 028A8C 80027E8C 00009025 */ move $s2, $zero -/* 028A90 80027E90 02A08025 */ move $s0, $s5 -.L80027E94: -/* 028A94 80027E94 8E0E0008 */ lw $t6, 8($s0) -/* 028A98 80027E98 00000000 */ nop -/* 028A9C 80027E9C 01D77824 */ and $t7, $t6, $s7 -/* 028AA0 80027EA0 11E0002F */ beqz $t7, .L80027F60 -/* 028AA4 80027EA4 00000000 */ nop -/* 028AA8 80027EA8 92020000 */ lbu $v0, ($s0) -/* 028AAC 80027EAC 00000000 */ nop -/* 028AB0 80027EB0 13C2002B */ beq $fp, $v0, .L80027F60 -/* 028AB4 80027EB4 00000000 */ nop -/* 028AB8 80027EB8 8CB80000 */ lw $t8, ($a1) -/* 028ABC 80027EBC 0002C8C0 */ sll $t9, $v0, 3 -/* 028AC0 80027EC0 03194021 */ addu $t0, $t8, $t9 -/* 028AC4 80027EC4 8D040000 */ lw $a0, ($t0) -/* 028AC8 80027EC8 24010100 */ li $at, 256 -/* 028ACC 80027ECC 94890012 */ lhu $t1, 0x12($a0) -/* 028AD0 80027ED0 00000000 */ nop -/* 028AD4 80027ED4 11210022 */ beq $t1, $at, .L80027F60 -/* 028AD8 80027ED8 00000000 */ nop -/* 028ADC 80027EDC 948A0014 */ lhu $t2, 0x14($a0) -/* 028AE0 80027EE0 00000000 */ nop -/* 028AE4 80027EE4 1140001E */ beqz $t2, .L80027F60 -/* 028AE8 80027EE8 00000000 */ nop -/* 028AEC 80027EEC 920B0007 */ lbu $t3, 7($s0) -/* 028AF0 80027EF0 02552821 */ addu $a1, $s2, $s5 -/* 028AF4 80027EF4 000B6180 */ sll $t4, $t3, 6 -/* 028AF8 80027EF8 AFAC0058 */ sw $t4, 0x58($sp) -/* 028AFC 80027EFC 8E0D0008 */ lw $t5, 8($s0) -/* 028B00 80027F00 24A50008 */ addiu $a1, $a1, 8 -/* 028B04 80027F04 000D7000 */ sll $t6, $t5, 0 -/* 028B08 80027F08 05C1000C */ bgez $t6, .L80027F3C -/* 028B0C 80027F0C 02803025 */ move $a2, $s4 -/* 028B10 80027F10 92180006 */ lbu $t8, 6($s0) -/* 028B14 80027F14 02803025 */ move $a2, $s4 -/* 028B18 80027F18 0198C825 */ or $t9, $t4, $t8 -/* 028B1C 80027F1C AFB90058 */ sw $t9, 0x58($sp) -/* 028B20 80027F20 0C01FBE0 */ jal func_8007EF80 -/* 028B24 80027F24 02603825 */ move $a3, $s3 -/* 028B28 80027F28 8FA80058 */ lw $t0, 0x58($sp) -/* 028B2C 80027F2C 00000000 */ nop -/* 028B30 80027F30 3109003F */ andi $t1, $t0, 0x3f -/* 028B34 80027F34 10000003 */ b .L80027F44 -/* 028B38 80027F38 A2090006 */ sb $t1, 6($s0) -.L80027F3C: -/* 028B3C 80027F3C 0C01FBE0 */ jal func_8007EF80 -/* 028B40 80027F40 02603825 */ move $a3, $s3 -.L80027F44: -/* 028B44 80027F44 8FAA0058 */ lw $t2, 0x58($sp) -/* 028B48 80027F48 3C05800E */ lui $a1, %hi(D_800DC918) # $a1, 0x800e -/* 028B4C 80027F4C 000A6183 */ sra $t4, $t2, 6 -/* 028B50 80027F50 A20C0007 */ sb $t4, 7($s0) -/* 028B54 80027F54 86C30020 */ lh $v1, 0x20($s6) -/* 028B58 80027F58 8CA5C918 */ lw $a1, %lo(D_800DC918)($a1) -/* 028B5C 80027F5C 00000000 */ nop -.L80027F60: -/* 028B60 80027F60 26310001 */ addiu $s1, $s1, 1 -/* 028B64 80027F64 0223082A */ slt $at, $s1, $v1 -/* 028B68 80027F68 2652000C */ addiu $s2, $s2, 0xc -/* 028B6C 80027F6C 1420FFC9 */ bnez $at, .L80027E94 -/* 028B70 80027F70 2610000C */ addiu $s0, $s0, 0xc -/* 028B74 80027F74 84A2001A */ lh $v0, 0x1a($a1) -/* 028B78 80027F78 00000000 */ nop -.L80027F7C: -/* 028B7C 80027F7C 8FAD006C */ lw $t5, 0x6c($sp) -/* 028B80 80027F80 26D60044 */ addiu $s6, $s6, 0x44 -/* 028B84 80027F84 25AE0001 */ addiu $t6, $t5, 1 -/* 028B88 80027F88 01C2082A */ slt $at, $t6, $v0 -/* 028B8C 80027F8C 1420FFBB */ bnez $at, .L80027E7C -/* 028B90 80027F90 AFAE006C */ sw $t6, 0x6c($sp) -.L80027F94: -/* 028B94 80027F94 8FBF003C */ lw $ra, 0x3c($sp) -/* 028B98 80027F98 8FB00018 */ lw $s0, 0x18($sp) -/* 028B9C 80027F9C 8FB1001C */ lw $s1, 0x1c($sp) -/* 028BA0 80027FA0 8FB20020 */ lw $s2, 0x20($sp) -/* 028BA4 80027FA4 8FB30024 */ lw $s3, 0x24($sp) -/* 028BA8 80027FA8 8FB40028 */ lw $s4, 0x28($sp) -/* 028BAC 80027FAC 8FB5002C */ lw $s5, 0x2c($sp) -/* 028BB0 80027FB0 8FB60030 */ lw $s6, 0x30($sp) -/* 028BB4 80027FB4 8FB70034 */ lw $s7, 0x34($sp) -/* 028BB8 80027FB8 8FBE0038 */ lw $fp, 0x38($sp) -/* 028BBC 80027FBC 03E00008 */ jr $ra -/* 028BC0 80027FC0 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_80027FC4 -/* 028BC4 80027FC4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 028BC8 80027FC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 028BCC 80027FCC 0C0168F4 */ jal func_8005A3D0 -/* 028BD0 80027FD0 AFA40028 */ sw $a0, 0x28($sp) -/* 028BD4 80027FD4 8FA20028 */ lw $v0, 0x28($sp) -/* 028BD8 80027FD8 2401FFFF */ li $at, -1 -/* 028BDC 80027FDC 14410004 */ bne $v0, $at, .L80027FF0 -/* 028BE0 80027FE0 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012 -/* 028BE4 80027FE4 2484B0B8 */ addiu $a0, %lo(D_8011B0B8) # addiu $a0, $a0, -0x4f48 -/* 028BE8 80027FE8 10000012 */ b .L80028034 -/* 028BEC 80027FEC AC800000 */ sw $zero, ($a0) -.L80027FF0: -/* 028BF0 80027FF0 240E0008 */ li $t6, 8 -/* 028BF4 80027FF4 A7A00022 */ sh $zero, 0x22($sp) -/* 028BF8 80027FF8 A7A00024 */ sh $zero, 0x24($sp) -/* 028BFC 80027FFC A7A00026 */ sh $zero, 0x26($sp) -/* 028C00 80028000 A3AE0021 */ sb $t6, 0x21($sp) -/* 028C04 80028004 A3A20020 */ sb $v0, 0x20($sp) -/* 028C08 80028008 27A40020 */ addiu $a0, $sp, 0x20 -/* 028C0C 8002800C 0C003A95 */ jal func_8000EA54 -/* 028C10 80028010 24050002 */ li $a1, 2 -/* 028C14 80028014 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012 -/* 028C18 80028018 2484B0B8 */ addiu $a0, %lo(D_8011B0B8) # addiu $a0, $a0, -0x4f48 -/* 028C1C 8002801C 10400005 */ beqz $v0, .L80028034 -/* 028C20 80028020 AC820000 */ sw $v0, ($a0) -/* 028C24 80028024 AC40003C */ sw $zero, 0x3c($v0) -/* 028C28 80028028 8C980000 */ lw $t8, ($a0) -/* 028C2C 8002802C 240FFFFF */ li $t7, -1 -/* 028C30 80028030 A70F004A */ sh $t7, 0x4a($t8) -.L80028034: -/* 028C34 80028034 8FBF0014 */ lw $ra, 0x14($sp) -/* 028C38 80028038 27BD0028 */ addiu $sp, $sp, 0x28 -/* 028C3C 8002803C 03E00008 */ jr $ra -/* 028C40 80028040 00000000 */ nop - -glabel func_80028044 -/* 028C44 80028044 3C018012 */ lui $at, 0x8012 -/* 028C48 80028048 03E00008 */ jr $ra -/* 028C4C 8002804C AC24B0DC */ sw $a0, -0x4f24($at) - -glabel func_80028050 -/* 028C50 80028050 27BDFEA8 */ addiu $sp, $sp, -0x158 -/* 028C54 80028054 AFB10018 */ sw $s1, 0x18($sp) -/* 028C58 80028058 AFB00014 */ sw $s0, 0x14($sp) -/* 028C5C 8002805C 3C118012 */ lui $s1, %hi(D_8011B0A8) # $s1, 0x8012 -/* 028C60 80028060 3C108012 */ lui $s0, %hi(D_8011B0AC) # $s0, 0x8012 -/* 028C64 80028064 AFBF0024 */ sw $ra, 0x24($sp) -/* 028C68 80028068 8E31B0A8 */ lw $s1, %lo(D_8011B0A8)($s1) -/* 028C6C 8002806C 8E10B0AC */ lw $s0, %lo(D_8011B0AC)($s0) -/* 028C70 80028070 AFB30020 */ sw $s3, 0x20($sp) -/* 028C74 80028074 0C01A748 */ jal func_80069D20 -/* 028C78 80028078 AFB2001C */ sw $s2, 0x1c($sp) -/* 028C7C 8002807C 3C0E800E */ lui $t6, %hi(D_800DC91C) # $t6, 0x800e -/* 028C80 80028080 8DCEC91C */ lw $t6, %lo(D_800DC91C)($t6) -/* 028C84 80028084 00409025 */ move $s2, $v0 -/* 028C88 80028088 8DC300A4 */ lw $v1, 0xa4($t6) -/* 028C8C 8002808C 00000000 */ nop -/* 028C90 80028090 90780001 */ lbu $t8, 1($v1) -/* 028C94 80028094 90730000 */ lbu $s3, ($v1) -/* 028C98 80028098 0018C940 */ sll $t9, $t8, 5 -/* 028C9C 8002809C 272CFFFF */ addiu $t4, $t9, -1 -/* 028CA0 800280A0 AFAC014C */ sw $t4, 0x14c($sp) -/* 028CA4 800280A4 84440000 */ lh $a0, ($v0) -/* 028CA8 800280A8 00137940 */ sll $t7, $s3, 5 -/* 028CAC 800280AC 00042023 */ negu $a0, $a0 -/* 028CB0 800280B0 00046C00 */ sll $t5, $a0, 0x10 -/* 028CB4 800280B4 25F3FFFF */ addiu $s3, $t7, -1 -/* 028CB8 800280B8 000D2403 */ sra $a0, $t5, 0x10 -/* 028CBC 800280BC 0C01C1F1 */ jal func_800707C4 -/* 028CC0 800280C0 AFA30074 */ sw $v1, 0x74($sp) -/* 028CC4 800280C4 E7A0010C */ swc1 $f0, 0x10c($sp) -/* 028CC8 800280C8 86440000 */ lh $a0, ($s2) -/* 028CCC 800280CC 00000000 */ nop -/* 028CD0 800280D0 00042023 */ negu $a0, $a0 -/* 028CD4 800280D4 00047C00 */ sll $t7, $a0, 0x10 -/* 028CD8 800280D8 0C01C1FE */ jal func_800707F8 -/* 028CDC 800280DC 000F2403 */ sra $a0, $t7, 0x10 -/* 028CE0 800280E0 3C0144A0 */ li $at, 0x44A00000 # 1280.000000 -/* 028CE4 800280E4 44812000 */ mtc1 $at, $f4 -/* 028CE8 800280E8 44814000 */ mtc1 $at, $f8 -/* 028CEC 800280EC 46040302 */ mul.s $f12, $f0, $f4 -/* 028CF0 800280F0 C7A6010C */ lwc1 $f6, 0x10c($sp) -/* 028CF4 800280F4 8FA70074 */ lw $a3, 0x74($sp) -/* 028CF8 800280F8 3C04800E */ lui $a0, %hi(D_800DC91C) # $a0, 0x800e -/* 028CFC 800280FC 46083082 */ mul.s $f2, $f6, $f8 -/* 028D00 80028100 46006487 */ neg.s $f18, $f12 -/* 028D04 80028104 8C84C91C */ lw $a0, %lo(D_800DC91C)($a0) -/* 028D08 80028108 46029200 */ add.s $f8, $f18, $f2 -/* 028D0C 8002810C 46029281 */ sub.s $f10, $f18, $f2 -/* 028D10 80028110 E7A80030 */ swc1 $f8, 0x30($sp) -/* 028D14 80028114 46026201 */ sub.s $f8, $f12, $f2 -/* 028D18 80028118 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 028D1C 8002811C C7A40034 */ lwc1 $f4, 0x34($sp) -/* 028D20 80028120 E7A8002C */ swc1 $f8, 0x2c($sp) -/* 028D24 80028124 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 028D28 80028128 E7A400DC */ swc1 $f4, 0xdc($sp) -/* 028D2C 8002812C E7A400BC */ swc1 $f4, 0xbc($sp) -/* 028D30 80028130 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 028D34 80028134 46026100 */ add.s $f4, $f12, $f2 -/* 028D38 80028138 E7A800E0 */ swc1 $f8, 0xe0($sp) -/* 028D3C 8002813C E7A800C0 */ swc1 $f8, 0xc0($sp) -/* 028D40 80028140 44804000 */ mtc1 $zero, $f8 -/* 028D44 80028144 E7A40034 */ swc1 $f4, 0x34($sp) -/* 028D48 80028148 C7A40034 */ lwc1 $f4, 0x34($sp) -/* 028D4C 8002814C E7AA00B8 */ swc1 $f10, 0xb8($sp) -/* 028D50 80028150 E7AA00E8 */ swc1 $f10, 0xe8($sp) -/* 028D54 80028154 E7A800EC */ swc1 $f8, 0xec($sp) -/* 028D58 80028158 44805000 */ mtc1 $zero, $f10 -/* 028D5C 8002815C 460C6200 */ add.s $f8, $f12, $f12 -/* 028D60 80028160 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 028D64 80028164 46021400 */ add.s $f16, $f2, $f2 -/* 028D68 80028168 E7A80030 */ swc1 $f8, 0x30($sp) -/* 028D6C 8002816C E7A400C4 */ swc1 $f4, 0xc4($sp) -/* 028D70 80028170 E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 028D74 80028174 46109101 */ sub.s $f4, $f18, $f16 -/* 028D78 80028178 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 028D7C 8002817C E7A400F0 */ swc1 $f4, 0xf0($sp) -/* 028D80 80028180 460A1201 */ sub.s $f8, $f2, $f10 -/* 028D84 80028184 46005107 */ neg.s $f4, $f10 -/* 028D88 80028188 E7A800CC */ swc1 $f8, 0xcc($sp) -/* 028D8C 8002818C 46022201 */ sub.s $f8, $f4, $f2 -/* 028D90 80028190 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 028D94 80028194 46106281 */ sub.s $f10, $f12, $f16 -/* 028D98 80028198 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 028D9C 8002819C E7A800D0 */ swc1 $f8, 0xd0($sp) -/* 028DA0 800281A0 46022201 */ sub.s $f8, $f4, $f2 -/* 028DA4 800281A4 E7AA00F4 */ swc1 $f10, 0xf4($sp) -/* 028DA8 800281A8 46106280 */ add.s $f10, $f12, $f16 -/* 028DAC 800281AC C7A40030 */ lwc1 $f4, 0x30($sp) -/* 028DB0 800281B0 E7AA00F8 */ swc1 $f10, 0xf8($sp) -/* 028DB4 800281B4 E7A800D4 */ swc1 $f8, 0xd4($sp) -/* 028DB8 800281B8 46109280 */ add.s $f10, $f18, $f16 -/* 028DBC 800281BC 46022200 */ add.s $f8, $f4, $f2 -/* 028DC0 800281C0 E7AA00FC */ swc1 $f10, 0xfc($sp) -/* 028DC4 800281C4 E7A800D8 */ swc1 $f8, 0xd8($sp) -/* 028DC8 800281C8 90F90000 */ lbu $t9, ($a3) -/* 028DCC 800281CC 908D00A0 */ lbu $t5, 0xa0($a0) -/* 028DD0 800281D0 00196100 */ sll $t4, $t9, 4 -/* 028DD4 800281D4 018D0019 */ multu $t4, $t5 -/* 028DD8 800281D8 44815000 */ mtc1 $at, $f10 -/* 028DDC 800281DC 3C013E80 */ li $at, 0x3E800000 # 0.250000 -/* 028DE0 800281E0 44812000 */ mtc1 $at, $f4 -/* 028DE4 800281E4 90EE0001 */ lbu $t6, 1($a3) -/* 028DE8 800281E8 46045202 */ mul.s $f8, $f10, $f4 -/* 028DEC 800281EC 909800A1 */ lbu $t8, 0xa1($a0) -/* 028DF0 800281F0 000E7900 */ sll $t7, $t6, 4 -/* 028DF4 800281F4 E7A8003C */ swc1 $f8, 0x3c($sp) -/* 028DF8 800281F8 00002812 */ mflo $a1 -/* 028DFC 800281FC 44855000 */ mtc1 $a1, $f10 -/* 028E00 80028200 00000000 */ nop -/* 028E04 80028204 46805120 */ cvt.s.w $f4, $f10 -/* 028E08 80028208 01F80019 */ multu $t7, $t8 -/* 028E0C 8002820C E7A40038 */ swc1 $f4, 0x38($sp) -/* 028E10 80028210 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 028E14 80028214 848D00A8 */ lh $t5, 0xa8($a0) -/* 028E18 80028218 460A4103 */ div.s $f4, $f8, $f10 -/* 028E1C 8002821C C64A000C */ lwc1 $f10, 0xc($s2) -/* 028E20 80028220 000D7103 */ sra $t6, $t5, 4 -/* 028E24 80028224 00003012 */ mflo $a2 -/* 028E28 80028228 46045282 */ mul.s $f10, $f10, $f4 -/* 028E2C 8002822C 4459F800 */ cfc1 $t9, $31 -/* 028E30 80028230 00000000 */ nop -/* 028E34 80028234 37210003 */ ori $at, $t9, 3 -/* 028E38 80028238 38210002 */ xori $at, $at, 2 -/* 028E3C 8002823C 44C1F800 */ ctc1 $at, $31 -/* 028E40 80028240 00000000 */ nop -/* 028E44 80028244 46005124 */ cvt.w.s $f4, $f10 -/* 028E48 80028248 44865000 */ mtc1 $a2, $f10 -/* 028E4C 8002824C 44D9F800 */ ctc1 $t9, $31 -/* 028E50 80028250 440C2000 */ mfc1 $t4, $f4 -/* 028E54 80028254 46805120 */ cvt.s.w $f4, $f10 -/* 028E58 80028258 018E7821 */ addu $t7, $t4, $t6 -/* 028E5C 8002825C 01F31024 */ and $v0, $t7, $s3 -/* 028E60 80028260 E7A40048 */ swc1 $f4, 0x48($sp) -/* 028E64 80028264 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 028E68 80028268 848D00AA */ lh $t5, 0xaa($a0) -/* 028E6C 8002826C 460A4103 */ div.s $f4, $f8, $f10 -/* 028E70 80028270 C6480014 */ lwc1 $f8, 0x14($s2) -/* 028E74 80028274 8FAF014C */ lw $t7, 0x14c($sp) -/* 028E78 80028278 000D6103 */ sra $t4, $t5, 4 -/* 028E7C 8002827C A7A20130 */ sh $v0, 0x130($sp) -/* 028E80 80028280 46044282 */ mul.s $f10, $f8, $f4 -/* 028E84 80028284 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 028E88 80028288 4458F800 */ cfc1 $t8, $31 -/* 028E8C 8002828C 00000000 */ nop -/* 028E90 80028290 37010003 */ ori $at, $t8, 3 -/* 028E94 80028294 38210002 */ xori $at, $at, 2 -/* 028E98 80028298 44C1F800 */ ctc1 $at, $31 -/* 028E9C 8002829C 37010003 */ ori $at, $t8, 3 -/* 028EA0 800282A0 46005224 */ cvt.w.s $f8, $f10 -/* 028EA4 800282A4 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 028EA8 800282A8 44D8F800 */ ctc1 $t8, $31 -/* 028EAC 800282AC 44194000 */ mfc1 $t9, $f8 -/* 028EB0 800282B0 46002382 */ mul.s $f14, $f4, $f0 -/* 028EB4 800282B4 38210002 */ xori $at, $at, 2 -/* 028EB8 800282B8 032C7021 */ addu $t6, $t9, $t4 -/* 028EBC 800282BC 01CF1824 */ and $v1, $t6, $t7 -/* 028EC0 800282C0 46065002 */ mul.s $f0, $f10, $f6 -/* 028EC4 800282C4 46007407 */ neg.s $f16, $f14 -/* 028EC8 800282C8 E7AE00B4 */ swc1 $f14, 0xb4($sp) -/* 028ECC 800282CC E7AE00AC */ swc1 $f14, 0xac($sp) -/* 028ED0 800282D0 46008201 */ sub.s $f8, $f16, $f0 -/* 028ED4 800282D4 A7A3011C */ sh $v1, 0x11c($sp) -/* 028ED8 800282D8 44C1F800 */ ctc1 $at, $31 -/* 028EDC 800282DC 00000000 */ nop -/* 028EE0 800282E0 46004124 */ cvt.w.s $f4, $f8 -/* 028EE4 800282E4 44D8F800 */ ctc1 $t8, $31 -/* 028EE8 800282E8 440C2000 */ mfc1 $t4, $f4 -/* 028EEC 800282EC 460E0281 */ sub.s $f10, $f0, $f14 -/* 028EF0 800282F0 01827021 */ addu $t6, $t4, $v0 -/* 028EF4 800282F4 444FF800 */ cfc1 $t7, $31 -/* 028EF8 800282F8 A7AE0128 */ sh $t6, 0x128($sp) -/* 028EFC 800282FC 35E10003 */ ori $at, $t7, 3 -/* 028F00 80028300 38210002 */ xori $at, $at, 2 -/* 028F04 80028304 44C1F800 */ ctc1 $at, $31 -/* 028F08 80028308 00000000 */ nop -/* 028F0C 8002830C 460051A4 */ cvt.w.s $f6, $f10 -/* 028F10 80028310 44CFF800 */ ctc1 $t7, $31 -/* 028F14 80028314 44043000 */ mfc1 $a0, $f6 -/* 028F18 80028318 46007201 */ sub.s $f8, $f14, $f0 -/* 028F1C 8002831C 0083C821 */ addu $t9, $a0, $v1 -/* 028F20 80028320 444CF800 */ cfc1 $t4, $31 -/* 028F24 80028324 A7B90114 */ sh $t9, 0x114($sp) -/* 028F28 80028328 35810003 */ ori $at, $t4, 3 -/* 028F2C 8002832C 38210002 */ xori $at, $at, 2 -/* 028F30 80028330 44C1F800 */ ctc1 $at, $31 -/* 028F34 80028334 00000000 */ nop -/* 028F38 80028338 46004124 */ cvt.w.s $f4, $f8 -/* 028F3C 8002833C 44CCF800 */ ctc1 $t4, $31 -/* 028F40 80028340 44182000 */ mfc1 $t8, $f4 -/* 028F44 80028344 46008281 */ sub.s $f10, $f16, $f0 -/* 028F48 80028348 03026821 */ addu $t5, $t8, $v0 -/* 028F4C 8002834C 4459F800 */ cfc1 $t9, $31 -/* 028F50 80028350 A7AD012A */ sh $t5, 0x12a($sp) -/* 028F54 80028354 37210003 */ ori $at, $t9, 3 -/* 028F58 80028358 38210002 */ xori $at, $at, 2 -/* 028F5C 8002835C 44C1F800 */ ctc1 $at, $31 -/* 028F60 80028360 00000000 */ nop -/* 028F64 80028364 460051A4 */ cvt.w.s $f6, $f10 -/* 028F68 80028368 44D9F800 */ ctc1 $t9, $31 -/* 028F6C 8002836C 440F3000 */ mfc1 $t7, $f6 -/* 028F70 80028370 46007200 */ add.s $f8, $f14, $f0 -/* 028F74 80028374 01E3C021 */ addu $t8, $t7, $v1 -/* 028F78 80028378 444DF800 */ cfc1 $t5, $31 -/* 028F7C 8002837C A7B80116 */ sh $t8, 0x116($sp) -/* 028F80 80028380 35A10003 */ ori $at, $t5, 3 -/* 028F84 80028384 38210002 */ xori $at, $at, 2 -/* 028F88 80028388 44C1F800 */ ctc1 $at, $31 -/* 028F8C 8002838C 00000000 */ nop -/* 028F90 80028390 46004124 */ cvt.w.s $f4, $f8 -/* 028F94 80028394 44CDF800 */ ctc1 $t5, $31 -/* 028F98 80028398 44052000 */ mfc1 $a1, $f4 -/* 028F9C 8002839C 46007281 */ sub.s $f10, $f14, $f0 -/* 028FA0 800283A0 00A27021 */ addu $t6, $a1, $v0 -/* 028FA4 800283A4 444FF800 */ cfc1 $t7, $31 -/* 028FA8 800283A8 A7AE012C */ sh $t6, 0x12c($sp) -/* 028FAC 800283AC 35E10003 */ ori $at, $t7, 3 -/* 028FB0 800283B0 38210002 */ xori $at, $at, 2 -/* 028FB4 800283B4 44C1F800 */ ctc1 $at, $31 -/* 028FB8 800283B8 00827021 */ addu $t6, $a0, $v0 -/* 028FBC 800283BC 460051A4 */ cvt.w.s $f6, $f10 -/* 028FC0 800283C0 A7AE012E */ sh $t6, 0x12e($sp) -/* 028FC4 800283C4 44CFF800 */ ctc1 $t7, $31 -/* 028FC8 800283C8 00A37821 */ addu $t7, $a1, $v1 -/* 028FCC 800283CC 46000300 */ add.s $f12, $f0, $f0 -/* 028FD0 800283D0 A7AF011A */ sh $t7, 0x11a($sp) -/* 028FD4 800283D4 460C8201 */ sub.s $f8, $f16, $f12 -/* 028FD8 800283D8 44193000 */ mfc1 $t9, $f6 -/* 028FDC 800283DC 4458F800 */ cfc1 $t8, $31 -/* 028FE0 800283E0 03236021 */ addu $t4, $t9, $v1 -/* 028FE4 800283E4 37010003 */ ori $at, $t8, 3 -/* 028FE8 800283E8 38210002 */ xori $at, $at, 2 -/* 028FEC 800283EC 44C1F800 */ ctc1 $at, $31 -/* 028FF0 800283F0 A7AC0118 */ sh $t4, 0x118($sp) -/* 028FF4 800283F4 46004124 */ cvt.w.s $f4, $f8 -/* 028FF8 800283F8 44D8F800 */ ctc1 $t8, $31 -/* 028FFC 800283FC 440C2000 */ mfc1 $t4, $f4 -/* 029000 80028400 460E7080 */ add.s $f2, $f14, $f14 -/* 029004 80028404 01827021 */ addu $t6, $t4, $v0 -/* 029008 80028408 46020281 */ sub.s $f10, $f0, $f2 -/* 02900C 8002840C A7AE0132 */ sh $t6, 0x132($sp) -/* 029010 80028410 444FF800 */ cfc1 $t7, $31 -/* 029014 80028414 00000000 */ nop -/* 029018 80028418 35E10003 */ ori $at, $t7, 3 -/* 02901C 8002841C 38210002 */ xori $at, $at, 2 -/* 029020 80028420 44C1F800 */ ctc1 $at, $31 -/* 029024 80028424 00000000 */ nop -/* 029028 80028428 460051A4 */ cvt.w.s $f6, $f10 -/* 02902C 8002842C 44CFF800 */ ctc1 $t7, $31 -/* 029030 80028430 44193000 */ mfc1 $t9, $f6 -/* 029034 80028434 460C7201 */ sub.s $f8, $f14, $f12 -/* 029038 80028438 03236021 */ addu $t4, $t9, $v1 -/* 02903C 8002843C 444EF800 */ cfc1 $t6, $31 -/* 029040 80028440 A7AC011E */ sh $t4, 0x11e($sp) -/* 029044 80028444 35C10003 */ ori $at, $t6, 3 -/* 029048 80028448 38210002 */ xori $at, $at, 2 -/* 02904C 8002844C 44C1F800 */ ctc1 $at, $31 -/* 029050 80028450 00000000 */ nop -/* 029054 80028454 46004124 */ cvt.w.s $f4, $f8 -/* 029058 80028458 44CEF800 */ ctc1 $t6, $31 -/* 02905C 8002845C 440D2000 */ mfc1 $t5, $f4 -/* 029060 80028460 46001287 */ neg.s $f10, $f2 -/* 029064 80028464 46005181 */ sub.s $f6, $f10, $f0 -/* 029068 80028468 01A2C821 */ addu $t9, $t5, $v0 -/* 02906C 8002846C 444CF800 */ cfc1 $t4, $31 -/* 029070 80028470 A7B90134 */ sh $t9, 0x134($sp) -/* 029074 80028474 35810003 */ ori $at, $t4, 3 -/* 029078 80028478 38210002 */ xori $at, $at, 2 -/* 02907C 8002847C 44C1F800 */ ctc1 $at, $31 -/* 029080 80028480 00000000 */ nop -/* 029084 80028484 46003224 */ cvt.w.s $f8, $f6 -/* 029088 80028488 44CCF800 */ ctc1 $t4, $31 -/* 02908C 8002848C 00000000 */ nop -/* 029090 80028490 00000000 */ nop -/* 029094 80028494 C7AE00B4 */ lwc1 $f14, 0xb4($sp) -/* 029098 80028498 C7B000AC */ lwc1 $f16, 0xac($sp) -/* 02909C 8002849C 460C7100 */ add.s $f4, $f14, $f12 -/* 0290A0 800284A0 44184000 */ mfc1 $t8, $f8 -/* 0290A4 800284A4 4459F800 */ cfc1 $t9, $31 -/* 0290A8 800284A8 03036821 */ addu $t5, $t8, $v1 -/* 0290AC 800284AC 37210003 */ ori $at, $t9, 3 -/* 0290B0 800284B0 38210002 */ xori $at, $at, 2 -/* 0290B4 800284B4 44C1F800 */ ctc1 $at, $31 -/* 0290B8 800284B8 A7AD0120 */ sh $t5, 0x120($sp) -/* 0290BC 800284BC 460022A4 */ cvt.w.s $f10, $f4 -/* 0290C0 800284C0 3C138012 */ lui $s3, %hi(D_8011B0A0) # $s3, 0x8012 -/* 0290C4 800284C4 44D9F800 */ ctc1 $t9, $31 -/* 0290C8 800284C8 440F5000 */ mfc1 $t7, $f10 -/* 0290CC 800284CC 46108080 */ add.s $f2, $f16, $f16 -/* 0290D0 800284D0 01E2C021 */ addu $t8, $t7, $v0 -/* 0290D4 800284D4 46001181 */ sub.s $f6, $f2, $f0 -/* 0290D8 800284D8 A7B80136 */ sh $t8, 0x136($sp) -/* 0290DC 800284DC 444DF800 */ cfc1 $t5, $31 -/* 0290E0 800284E0 2673B0A0 */ addiu $s3, %lo(D_8011B0A0) # addiu $s3, $s3, -0x4f60 -/* 0290E4 800284E4 35A10003 */ ori $at, $t5, 3 -/* 0290E8 800284E8 38210002 */ xori $at, $at, 2 -/* 0290EC 800284EC 44C1F800 */ ctc1 $at, $31 -/* 0290F0 800284F0 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012 -/* 0290F4 800284F4 46003224 */ cvt.w.s $f8, $f6 -/* 0290F8 800284F8 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c -/* 0290FC 800284FC 44CDF800 */ ctc1 $t5, $31 -/* 029100 80028500 440E4000 */ mfc1 $t6, $f8 -/* 029104 80028504 460E6101 */ sub.s $f4, $f12, $f14 -/* 029108 80028508 01C37821 */ addu $t7, $t6, $v1 -/* 02910C 8002850C 4458F800 */ cfc1 $t8, $31 -/* 029110 80028510 A7AF0122 */ sh $t7, 0x122($sp) -/* 029114 80028514 37010003 */ ori $at, $t8, 3 -/* 029118 80028518 38210002 */ xori $at, $at, 2 -/* 02911C 8002851C 44C1F800 */ ctc1 $at, $31 -/* 029120 80028520 02602025 */ move $a0, $s3 -/* 029124 80028524 460022A4 */ cvt.w.s $f10, $f4 -/* 029128 80028528 44D8F800 */ ctc1 $t8, $31 -/* 02912C 8002852C 440C5000 */ mfc1 $t4, $f10 -/* 029130 80028530 46001180 */ add.s $f6, $f2, $f0 -/* 029134 80028534 01827021 */ addu $t6, $t4, $v0 -/* 029138 80028538 444FF800 */ cfc1 $t7, $31 -/* 02913C 8002853C A7AE0138 */ sh $t6, 0x138($sp) -/* 029140 80028540 35E10003 */ ori $at, $t7, 3 -/* 029144 80028544 38210002 */ xori $at, $at, 2 -/* 029148 80028548 44C1F800 */ ctc1 $at, $31 -/* 02914C 8002854C 00000000 */ nop -/* 029150 80028550 46003224 */ cvt.w.s $f8, $f6 -/* 029154 80028554 44194000 */ mfc1 $t9, $f8 -/* 029158 80028558 44CFF800 */ ctc1 $t7, $31 -/* 02915C 8002855C 03236021 */ addu $t4, $t9, $v1 -/* 029160 80028560 0C01A102 */ jal func_80068408 -/* 029164 80028564 A7AC0124 */ sh $t4, 0x124($sp) -/* 029168 80028568 3C04800E */ lui $a0, %hi(D_800DC91C) # $a0, 0x800e -/* 02916C 8002856C 8C84C91C */ lw $a0, %lo(D_800DC91C)($a0) -/* 029170 80028570 2403FFFF */ li $v1, -1 -/* 029174 80028574 8C8A0074 */ lw $t2, 0x74($a0) -/* 029178 80028578 2406FFFF */ li $a2, -1 -/* 02917C 8002857C 11430007 */ beq $t2, $v1, .L8002859C -/* 029180 80028580 24050001 */ li $a1, 1 -/* 029184 80028584 8C820078 */ lw $v0, 0x78($a0) -/* 029188 80028588 00000000 */ nop -/* 02918C 8002858C 14430005 */ bne $v0, $v1, .L800285A4 -/* 029190 80028590 00000000 */ nop -/* 029194 80028594 10000003 */ b .L800285A4 -/* 029198 80028598 01401025 */ move $v0, $t2 -.L8002859C: -/* 02919C 8002859C 8FA20078 */ lw $v0, 0x78($sp) -/* 0291A0 800285A0 00005025 */ move $t2, $zero -.L800285A4: -/* 0291A4 800285A4 11400006 */ beqz $t2, .L800285C0 -/* 0291A8 800285A8 2407FF00 */ li $a3, -256 -/* 0291AC 800285AC 8C470010 */ lw $a3, 0x10($v0) -/* 0291B0 800285B0 2401FF00 */ li $at, -256 -/* 0291B4 800285B4 00E17024 */ and $t6, $a3, $at -/* 0291B8 800285B8 8D460010 */ lw $a2, 0x10($t2) -/* 0291BC 800285BC 01C03825 */ move $a3, $t6 -.L800285C0: -/* 0291C0 800285C0 02602025 */ move $a0, $s3 -/* 0291C4 800285C4 0C01FD65 */ jal func_8007F594 -/* 0291C8 800285C8 AFAA007C */ sw $t2, 0x7c($sp) -/* 0291CC 800285CC 3C058012 */ lui $a1, %hi(D_8011B110) # $a1, 0x8012 -/* 0291D0 800285D0 8CA5B110 */ lw $a1, %lo(D_8011B110)($a1) -/* 0291D4 800285D4 8FA40074 */ lw $a0, 0x74($sp) -/* 0291D8 800285D8 00057A00 */ sll $t7, $a1, 8 -/* 0291DC 800285DC 0C01ED1B */ jal func_8007B46C -/* 0291E0 800285E0 01E02825 */ move $a1, $t7 -/* 0291E4 800285E4 8E630000 */ lw $v1, ($s3) -/* 0291E8 800285E8 3C010700 */ lui $at, 0x700 -/* 0291EC 800285EC 24780008 */ addiu $t8, $v1, 8 -/* 0291F0 800285F0 AE780000 */ sw $t8, ($s3) -/* 0291F4 800285F4 8445000A */ lh $a1, 0xa($v0) -/* 0291F8 800285F8 8FAA007C */ lw $t2, 0x7c($sp) -/* 0291FC 800285FC 30AD00FF */ andi $t5, $a1, 0xff -/* 029200 80028600 000DCC00 */ sll $t9, $t5, 0x10 -/* 029204 80028604 000570C0 */ sll $t6, $a1, 3 -/* 029208 80028608 31CFFFFF */ andi $t7, $t6, 0xffff -/* 02920C 8002860C 03216025 */ or $t4, $t9, $at -/* 029210 80028610 018FC025 */ or $t8, $t4, $t7 -/* 029214 80028614 AC780000 */ sw $t8, ($v1) -/* 029218 80028618 8C4D000C */ lw $t5, 0xc($v0) -/* 02921C 8002861C 3C098000 */ lui $t1, 0x8000 -/* 029220 80028620 3C0B8012 */ lui $t3, %hi(D_8011B0A8) # $t3, 0x8012 -/* 029224 80028624 01A9C821 */ addu $t9, $t5, $t1 -/* 029228 80028628 256BB0A8 */ addiu $t3, %lo(D_8011B0A8) # addiu $t3, $t3, -0x4f58 -/* 02922C 8002862C AC790004 */ sw $t9, 4($v1) -/* 029230 80028630 8D6C0000 */ lw $t4, ($t3) -/* 029234 80028634 8E630000 */ lw $v1, ($s3) -/* 029238 80028638 01897821 */ addu $t7, $t4, $t1 -/* 02923C 8002863C 31F80006 */ andi $t8, $t7, 6 -/* 029240 80028640 370D0040 */ ori $t5, $t8, 0x40 -/* 029244 80028644 246E0008 */ addiu $t6, $v1, 8 -/* 029248 80028648 AE6E0000 */ sw $t6, ($s3) -/* 02924C 8002864C 31B900FF */ andi $t9, $t5, 0xff -/* 029250 80028650 00197400 */ sll $t6, $t9, 0x10 -/* 029254 80028654 3C010400 */ lui $at, 0x400 -/* 029258 80028658 01C16025 */ or $t4, $t6, $at -/* 02925C 8002865C 358F00AA */ ori $t7, $t4, 0xaa -/* 029260 80028660 AC6F0000 */ sw $t7, ($v1) -/* 029264 80028664 8D780000 */ lw $t8, ($t3) -/* 029268 80028668 3C0E0571 */ lui $t6, (0x05710080 >> 16) # lui $t6, 0x571 -/* 02926C 8002866C 03096821 */ addu $t5, $t8, $t1 -/* 029270 80028670 AC6D0004 */ sw $t5, 4($v1) -/* 029274 80028674 8E630000 */ lw $v1, ($s3) -/* 029278 80028678 35CE0080 */ ori $t6, (0x05710080 & 0xFFFF) # ori $t6, $t6, 0x80 -/* 02927C 8002867C 24790008 */ addiu $t9, $v1, 8 -/* 029280 80028680 AE790000 */ sw $t9, ($s3) -/* 029284 80028684 3C0C8012 */ lui $t4, %hi(D_8011B0AC) # $t4, 0x8012 -/* 029288 80028688 AC6E0000 */ sw $t6, ($v1) -/* 02928C 8002868C 8D8CB0AC */ lw $t4, %lo(D_8011B0AC)($t4) -/* 029290 80028690 3C0DE700 */ lui $t5, 0xe700 -/* 029294 80028694 01897821 */ addu $t7, $t4, $t1 -/* 029298 80028698 AC6F0004 */ sw $t7, 4($v1) -/* 02929C 8002869C 8E630000 */ lw $v1, ($s3) -/* 0292A0 800286A0 3C0EFA00 */ lui $t6, 0xfa00 -/* 0292A4 800286A4 24780008 */ addiu $t8, $v1, 8 -/* 0292A8 800286A8 AE780000 */ sw $t8, ($s3) -/* 0292AC 800286AC AC600004 */ sw $zero, 4($v1) -/* 0292B0 800286B0 1140000E */ beqz $t2, .L800286EC -/* 0292B4 800286B4 AC6D0000 */ sw $t5, ($v1) -/* 0292B8 800286B8 8E630000 */ lw $v1, ($s3) -/* 0292BC 800286BC 240CFFFF */ li $t4, -1 -/* 0292C0 800286C0 24790008 */ addiu $t9, $v1, 8 -/* 0292C4 800286C4 AE790000 */ sw $t9, ($s3) -/* 0292C8 800286C8 AC6C0004 */ sw $t4, 4($v1) -/* 0292CC 800286CC AC6E0000 */ sw $t6, ($v1) -/* 0292D0 800286D0 8E630000 */ lw $v1, ($s3) -/* 0292D4 800286D4 3C18FB00 */ lui $t8, 0xfb00 -/* 0292D8 800286D8 246F0008 */ addiu $t7, $v1, 8 -/* 0292DC 800286DC AE6F0000 */ sw $t7, ($s3) -/* 0292E0 800286E0 240DFF00 */ li $t5, -256 -/* 0292E4 800286E4 AC6D0004 */ sw $t5, 4($v1) -/* 0292E8 800286E8 AC780000 */ sw $t8, ($v1) -.L800286EC: -/* 0292EC 800286EC 0C01ECF4 */ jal func_8007B3D0 -/* 0292F0 800286F0 02602025 */ move $a0, $s3 -/* 0292F4 800286F4 3C014340 */ li $at, 0x43400000 # 192.000000 -/* 0292F8 800286F8 44815000 */ mtc1 $at, $f10 -/* 0292FC 800286FC C6440010 */ lwc1 $f4, 0x10($s2) -/* 029300 80028700 27A400DC */ addiu $a0, $sp, 0xdc -/* 029304 80028704 460A2180 */ add.s $f6, $f4, $f10 -/* 029308 80028708 27A200B8 */ addiu $v0, $sp, 0xb8 -/* 02930C 8002870C 4459F800 */ cfc1 $t9, $31 -/* 029310 80028710 27A700DC */ addiu $a3, $sp, 0xdc -/* 029314 80028714 37210003 */ ori $at, $t9, 3 -/* 029318 80028718 38210002 */ xori $at, $at, 2 -/* 02931C 8002871C 44C1F800 */ ctc1 $at, $31 -/* 029320 80028720 27A600CC */ addiu $a2, $sp, 0xcc -/* 029324 80028724 46003224 */ cvt.w.s $f8, $f6 -/* 029328 80028728 240300FF */ li $v1, 255 -/* 02932C 8002872C 44054000 */ mfc1 $a1, $f8 -/* 029330 80028730 44D9F800 */ ctc1 $t9, $31 -/* 029334 80028734 00057400 */ sll $t6, $a1, 0x10 -/* 029338 80028738 000E2C03 */ sra $a1, $t6, 0x10 -.L8002873C: -/* 02933C 8002873C C4840000 */ lwc1 $f4, ($a0) -/* 029340 80028740 C64A000C */ lwc1 $f10, 0xc($s2) -/* 029344 80028744 A6250002 */ sh $a1, 2($s1) -/* 029348 80028748 460A2180 */ add.s $f6, $f4, $f10 -/* 02934C 8002874C 24840004 */ addiu $a0, $a0, 4 -/* 029350 80028750 444FF800 */ cfc1 $t7, $31 -/* 029354 80028754 00000000 */ nop -/* 029358 80028758 35E10003 */ ori $at, $t7, 3 -/* 02935C 8002875C 38210002 */ xori $at, $at, 2 -/* 029360 80028760 44C1F800 */ ctc1 $at, $31 -/* 029364 80028764 00000000 */ nop -/* 029368 80028768 46003224 */ cvt.w.s $f8, $f6 -/* 02936C 8002876C 44184000 */ mfc1 $t8, $f8 -/* 029370 80028770 44CFF800 */ ctc1 $t7, $31 -/* 029374 80028774 A6380000 */ sh $t8, ($s1) -/* 029378 80028778 C64A0014 */ lwc1 $f10, 0x14($s2) -/* 02937C 8002877C C4440000 */ lwc1 $f4, ($v0) -/* 029380 80028780 A2230006 */ sb $v1, 6($s1) -/* 029384 80028784 460A2180 */ add.s $f6, $f4, $f10 -/* 029388 80028788 A2230007 */ sb $v1, 7($s1) -/* 02938C 8002878C 444DF800 */ cfc1 $t5, $31 -/* 029390 80028790 A2230008 */ sb $v1, 8($s1) -/* 029394 80028794 35A10003 */ ori $at, $t5, 3 -/* 029398 80028798 38210002 */ xori $at, $at, 2 -/* 02939C 8002879C 44C1F800 */ ctc1 $at, $31 -/* 0293A0 800287A0 0046082B */ sltu $at, $v0, $a2 -/* 0293A4 800287A4 46003224 */ cvt.w.s $f8, $f6 -/* 0293A8 800287A8 24420004 */ addiu $v0, $v0, 4 -/* 0293AC 800287AC 44194000 */ mfc1 $t9, $f8 -/* 0293B0 800287B0 44CDF800 */ ctc1 $t5, $31 -/* 0293B4 800287B4 10200003 */ beqz $at, .L800287C4 -/* 0293B8 800287B8 A6390004 */ sh $t9, 4($s1) -/* 0293BC 800287BC 10000002 */ b .L800287C8 -/* 0293C0 800287C0 A2230009 */ sb $v1, 9($s1) -.L800287C4: -/* 0293C4 800287C4 A2200009 */ sb $zero, 9($s1) -.L800287C8: -/* 0293C8 800287C8 0047082B */ sltu $at, $v0, $a3 -/* 0293CC 800287CC 1420FFDB */ bnez $at, .L8002873C -/* 0293D0 800287D0 2631000A */ addiu $s1, $s1, 0xa -/* 0293D4 800287D4 3C02800E */ lui $v0, %hi(D_800DC92C) # $v0, 0x800e -/* 0293D8 800287D8 2442C92C */ addiu $v0, %lo(D_800DC92C) # addiu $v0, $v0, -0x36d4 -/* 0293DC 800287DC 00003025 */ move $a2, $zero -/* 0293E0 800287E0 24070008 */ li $a3, 8 -/* 0293E4 800287E4 24050040 */ li $a1, 64 -/* 0293E8 800287E8 27A40114 */ addiu $a0, $sp, 0x114 -/* 0293EC 800287EC 27A30128 */ addiu $v1, $sp, 0x128 -.L800287F0: -/* 0293F0 800287F0 A2050000 */ sb $a1, ($s0) -/* 0293F4 800287F4 904E0000 */ lbu $t6, ($v0) -/* 0293F8 800287F8 24C60002 */ addiu $a2, $a2, 2 -/* 0293FC 800287FC A20E0001 */ sb $t6, 1($s0) -/* 029400 80028800 904C0000 */ lbu $t4, ($v0) -/* 029404 80028804 24420006 */ addiu $v0, $v0, 6 -/* 029408 80028808 000C7840 */ sll $t7, $t4, 1 -/* 02940C 8002880C 006FC021 */ addu $t8, $v1, $t7 -/* 029410 80028810 870D0000 */ lh $t5, ($t8) -/* 029414 80028814 26100020 */ addiu $s0, $s0, 0x20 -/* 029418 80028818 A60DFFE4 */ sh $t5, -0x1c($s0) -/* 02941C 8002881C 9059FFFA */ lbu $t9, -6($v0) -/* 029420 80028820 00000000 */ nop -/* 029424 80028824 00197040 */ sll $t6, $t9, 1 -/* 029428 80028828 008E6021 */ addu $t4, $a0, $t6 -/* 02942C 8002882C 858F0000 */ lh $t7, ($t4) -/* 029430 80028830 00000000 */ nop -/* 029434 80028834 A60FFFE6 */ sh $t7, -0x1a($s0) -/* 029438 80028838 9058FFFB */ lbu $t8, -5($v0) -/* 02943C 8002883C 00000000 */ nop -/* 029440 80028840 A218FFE2 */ sb $t8, -0x1e($s0) -/* 029444 80028844 904DFFFB */ lbu $t5, -5($v0) -/* 029448 80028848 00000000 */ nop -/* 02944C 8002884C 000DC840 */ sll $t9, $t5, 1 -/* 029450 80028850 00797021 */ addu $t6, $v1, $t9 -/* 029454 80028854 85CC0000 */ lh $t4, ($t6) -/* 029458 80028858 00000000 */ nop -/* 02945C 8002885C A60CFFE8 */ sh $t4, -0x18($s0) -/* 029460 80028860 904FFFFB */ lbu $t7, -5($v0) -/* 029464 80028864 00000000 */ nop -/* 029468 80028868 000FC040 */ sll $t8, $t7, 1 -/* 02946C 8002886C 00986821 */ addu $t5, $a0, $t8 -/* 029470 80028870 85B90000 */ lh $t9, ($t5) -/* 029474 80028874 00000000 */ nop -/* 029478 80028878 A619FFEA */ sh $t9, -0x16($s0) -/* 02947C 8002887C 904EFFFC */ lbu $t6, -4($v0) -/* 029480 80028880 00000000 */ nop -/* 029484 80028884 A20EFFE3 */ sb $t6, -0x1d($s0) -/* 029488 80028888 904CFFFC */ lbu $t4, -4($v0) -/* 02948C 8002888C 00000000 */ nop -/* 029490 80028890 000C7840 */ sll $t7, $t4, 1 -/* 029494 80028894 006FC021 */ addu $t8, $v1, $t7 -/* 029498 80028898 870D0000 */ lh $t5, ($t8) -/* 02949C 8002889C 00000000 */ nop -/* 0294A0 800288A0 A60DFFEC */ sh $t5, -0x14($s0) -/* 0294A4 800288A4 9059FFFC */ lbu $t9, -4($v0) -/* 0294A8 800288A8 00000000 */ nop -/* 0294AC 800288AC 00197040 */ sll $t6, $t9, 1 -/* 0294B0 800288B0 008E6021 */ addu $t4, $a0, $t6 -/* 0294B4 800288B4 858F0000 */ lh $t7, ($t4) -/* 0294B8 800288B8 A205FFF0 */ sb $a1, -0x10($s0) -/* 0294BC 800288BC A60FFFEE */ sh $t7, -0x12($s0) -/* 0294C0 800288C0 9058FFFD */ lbu $t8, -3($v0) -/* 0294C4 800288C4 00000000 */ nop -/* 0294C8 800288C8 A218FFF1 */ sb $t8, -0xf($s0) -/* 0294CC 800288CC 904DFFFD */ lbu $t5, -3($v0) -/* 0294D0 800288D0 00000000 */ nop -/* 0294D4 800288D4 000DC840 */ sll $t9, $t5, 1 -/* 0294D8 800288D8 00797021 */ addu $t6, $v1, $t9 -/* 0294DC 800288DC 85CC0000 */ lh $t4, ($t6) -/* 0294E0 800288E0 00000000 */ nop -/* 0294E4 800288E4 A60CFFF4 */ sh $t4, -0xc($s0) -/* 0294E8 800288E8 904FFFFD */ lbu $t7, -3($v0) -/* 0294EC 800288EC 00000000 */ nop -/* 0294F0 800288F0 000FC040 */ sll $t8, $t7, 1 -/* 0294F4 800288F4 00986821 */ addu $t5, $a0, $t8 -/* 0294F8 800288F8 85B90000 */ lh $t9, ($t5) -/* 0294FC 800288FC 00000000 */ nop -/* 029500 80028900 A619FFF6 */ sh $t9, -0xa($s0) -/* 029504 80028904 904EFFFE */ lbu $t6, -2($v0) -/* 029508 80028908 00000000 */ nop -/* 02950C 8002890C A20EFFF2 */ sb $t6, -0xe($s0) -/* 029510 80028910 904CFFFE */ lbu $t4, -2($v0) -/* 029514 80028914 00000000 */ nop -/* 029518 80028918 000C7840 */ sll $t7, $t4, 1 -/* 02951C 8002891C 006FC021 */ addu $t8, $v1, $t7 -/* 029520 80028920 870D0000 */ lh $t5, ($t8) -/* 029524 80028924 00000000 */ nop -/* 029528 80028928 A60DFFF8 */ sh $t5, -8($s0) -/* 02952C 8002892C 9059FFFE */ lbu $t9, -2($v0) -/* 029530 80028930 00000000 */ nop -/* 029534 80028934 00197040 */ sll $t6, $t9, 1 -/* 029538 80028938 008E6021 */ addu $t4, $a0, $t6 -/* 02953C 8002893C 858F0000 */ lh $t7, ($t4) -/* 029540 80028940 00000000 */ nop -/* 029544 80028944 A60FFFFA */ sh $t7, -6($s0) -/* 029548 80028948 9058FFFF */ lbu $t8, -1($v0) -/* 02954C 8002894C 00000000 */ nop -/* 029550 80028950 A218FFF3 */ sb $t8, -0xd($s0) -/* 029554 80028954 904DFFFF */ lbu $t5, -1($v0) -/* 029558 80028958 00000000 */ nop -/* 02955C 8002895C 000DC840 */ sll $t9, $t5, 1 -/* 029560 80028960 00797021 */ addu $t6, $v1, $t9 -/* 029564 80028964 85CC0000 */ lh $t4, ($t6) -/* 029568 80028968 00000000 */ nop -/* 02956C 8002896C A60CFFFC */ sh $t4, -4($s0) -/* 029570 80028970 904FFFFF */ lbu $t7, -1($v0) -/* 029574 80028974 00000000 */ nop -/* 029578 80028978 000FC040 */ sll $t8, $t7, 1 -/* 02957C 8002897C 00986821 */ addu $t5, $a0, $t8 -/* 029580 80028980 85B90000 */ lh $t9, ($t5) -/* 029584 80028984 14C7FF9A */ bne $a2, $a3, .L800287F0 -/* 029588 80028988 A619FFFE */ sh $t9, -2($s0) -/* 02958C 8002898C 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 -/* 029590 80028990 AC31B0A8 */ sw $s1, %lo(D_8011B0A8)($at) -/* 029594 80028994 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 -/* 029598 80028998 8FBF0024 */ lw $ra, 0x24($sp) -/* 02959C 8002899C AC30B0AC */ sw $s0, %lo(D_8011B0AC)($at) -/* 0295A0 800289A0 8FB00014 */ lw $s0, 0x14($sp) -/* 0295A4 800289A4 8FB10018 */ lw $s1, 0x18($sp) -/* 0295A8 800289A8 8FB2001C */ lw $s2, 0x1c($sp) -/* 0295AC 800289AC 8FB30020 */ lw $s3, 0x20($sp) -/* 0295B0 800289B0 03E00008 */ jr $ra -/* 0295B4 800289B4 27BD0158 */ addiu $sp, $sp, 0x158 - -glabel func_800289B8 -/* 0295B8 800289B8 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0295BC 800289BC 3C02800E */ lui $v0, %hi(D_800DC91C) # $v0, 0x800e -/* 0295C0 800289C0 8C42C91C */ lw $v0, %lo(D_800DC91C)($v0) -/* 0295C4 800289C4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0295C8 800289C8 AFB00018 */ sw $s0, 0x18($sp) -/* 0295CC 800289CC 904E00C1 */ lbu $t6, 0xc1($v0) -/* 0295D0 800289D0 3C038012 */ lui $v1, %hi(D_8011B0A8) # $v1, 0x8012 -/* 0295D4 800289D4 A3AE002F */ sb $t6, 0x2f($sp) -/* 0295D8 800289D8 904F00C2 */ lbu $t7, 0xc2($v0) -/* 0295DC 800289DC 3C078012 */ lui $a3, %hi(D_8011B0AC) # $a3, 0x8012 -/* 0295E0 800289E0 A3AF002E */ sb $t7, 0x2e($sp) -/* 0295E4 800289E4 905800C3 */ lbu $t8, 0xc3($v0) -/* 0295E8 800289E8 8C63B0A8 */ lw $v1, %lo(D_8011B0A8)($v1) -/* 0295EC 800289EC A3B8002D */ sb $t8, 0x2d($sp) -/* 0295F0 800289F0 905900BE */ lbu $t9, 0xbe($v0) -/* 0295F4 800289F4 8CE7B0AC */ lw $a3, %lo(D_8011B0AC)($a3) -/* 0295F8 800289F8 A3B9002C */ sb $t9, 0x2c($sp) -/* 0295FC 800289FC 904E00BF */ lbu $t6, 0xbf($v0) -/* 029600 80028A00 3C108012 */ lui $s0, %hi(D_8011B0A0) # $s0, 0x8012 -/* 029604 80028A04 A3AE002B */ sb $t6, 0x2b($sp) -/* 029608 80028A08 904F00C0 */ lbu $t7, 0xc0($v0) -/* 02960C 80028A0C 2610B0A0 */ addiu $s0, %lo(D_8011B0A0) # addiu $s0, $s0, -0x4f60 -/* 029610 80028A10 02002025 */ move $a0, $s0 -/* 029614 80028A14 AFA30024 */ sw $v1, 0x24($sp) -/* 029618 80028A18 AFA70020 */ sw $a3, 0x20($sp) -/* 02961C 80028A1C 0C01ECF4 */ jal func_8007B3D0 -/* 029620 80028A20 A3AF002A */ sb $t7, 0x2a($sp) -/* 029624 80028A24 02002025 */ move $a0, $s0 -/* 029628 80028A28 00002825 */ move $a1, $zero -/* 02962C 80028A2C 0C01ED32 */ jal func_8007B4C8 -/* 029630 80028A30 24060008 */ li $a2, 8 -/* 029634 80028A34 8FA30024 */ lw $v1, 0x24($sp) -/* 029638 80028A38 3C088000 */ lui $t0, 0x8000 -/* 02963C 80028A3C 8E020000 */ lw $v0, ($s0) -/* 029640 80028A40 00682821 */ addu $a1, $v1, $t0 -/* 029644 80028A44 30B90006 */ andi $t9, $a1, 6 -/* 029648 80028A48 372E0018 */ ori $t6, $t9, 0x18 -/* 02964C 80028A4C 24580008 */ addiu $t8, $v0, 8 -/* 029650 80028A50 AE180000 */ sw $t8, ($s0) -/* 029654 80028A54 31CF00FF */ andi $t7, $t6, 0xff -/* 029658 80028A58 000FC400 */ sll $t8, $t7, 0x10 -/* 02965C 80028A5C 3C010400 */ lui $at, 0x400 -/* 029660 80028A60 8FA70020 */ lw $a3, 0x20($sp) -/* 029664 80028A64 0301C825 */ or $t9, $t8, $at -/* 029668 80028A68 372E0050 */ ori $t6, $t9, 0x50 -/* 02966C 80028A6C AC4E0000 */ sw $t6, ($v0) -/* 029670 80028A70 AC450004 */ sw $a1, 4($v0) -/* 029674 80028A74 8E020000 */ lw $v0, ($s0) -/* 029678 80028A78 3C180510 */ lui $t8, (0x05100020 >> 16) # lui $t8, 0x510 -/* 02967C 80028A7C 244F0008 */ addiu $t7, $v0, 8 -/* 029680 80028A80 AE0F0000 */ sw $t7, ($s0) -/* 029684 80028A84 37180020 */ ori $t8, (0x05100020 & 0xFFFF) # ori $t8, $t8, 0x20 -/* 029688 80028A88 00E8C821 */ addu $t9, $a3, $t0 -/* 02968C 80028A8C 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 -/* 029690 80028A90 AC590004 */ sw $t9, 4($v0) -/* 029694 80028A94 AC580000 */ sw $t8, ($v0) -/* 029698 80028A98 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) -/* 02969C 80028A9C 2410FF6A */ li $s0, -150 -/* 0296A0 80028AA0 15C00004 */ bnez $t6, .L80028AB4 -/* 0296A4 80028AA4 24040096 */ li $a0, 150 -/* 0296A8 80028AA8 2410FF4C */ li $s0, -180 -/* 0296AC 80028AAC 10000001 */ b .L80028AB4 -/* 0296B0 80028AB0 240400B4 */ li $a0, 180 -.L80028AB4: -/* 0296B4 80028AB4 AFA30024 */ sw $v1, 0x24($sp) -/* 0296B8 80028AB8 A7A40030 */ sh $a0, 0x30($sp) -/* 0296BC 80028ABC 0C019884 */ jal func_80066210 -/* 0296C0 80028AC0 AFA70020 */ sw $a3, 0x20($sp) -/* 0296C4 80028AC4 8FA30024 */ lw $v1, 0x24($sp) -/* 0296C8 80028AC8 87A40030 */ lh $a0, 0x30($sp) -/* 0296CC 80028ACC 8FA70020 */ lw $a3, 0x20($sp) -/* 0296D0 80028AD0 24010001 */ li $at, 1 -/* 0296D4 80028AD4 14410007 */ bne $v0, $at, .L80028AF4 -/* 0296D8 80028AD8 240500FF */ li $a1, 255 -/* 0296DC 80028ADC 00107843 */ sra $t7, $s0, 1 -/* 0296E0 80028AE0 000FC400 */ sll $t8, $t7, 0x10 -/* 0296E4 80028AE4 00047043 */ sra $t6, $a0, 1 -/* 0296E8 80028AE8 000E7C00 */ sll $t7, $t6, 0x10 -/* 0296EC 80028AEC 00188403 */ sra $s0, $t8, 0x10 -/* 0296F0 80028AF0 000F2403 */ sra $a0, $t7, 0x10 -.L80028AF4: -/* 0296F4 80028AF4 93A9002F */ lbu $t1, 0x2f($sp) -/* 0296F8 80028AF8 93AA002E */ lbu $t2, 0x2e($sp) -/* 0296FC 80028AFC 93AB002D */ lbu $t3, 0x2d($sp) -/* 029700 80028B00 24020014 */ li $v0, 20 -/* 029704 80028B04 2406FF38 */ li $a2, -200 -/* 029708 80028B08 240800C8 */ li $t0, 200 -/* 02970C 80028B0C A4660000 */ sh $a2, ($v1) -/* 029710 80028B10 A4700002 */ sh $s0, 2($v1) -/* 029714 80028B14 A4620004 */ sh $v0, 4($v1) -/* 029718 80028B18 A0650009 */ sb $a1, 9($v1) -/* 02971C 80028B1C A468000A */ sh $t0, 0xa($v1) -/* 029720 80028B20 A470000C */ sh $s0, 0xc($v1) -/* 029724 80028B24 A462000E */ sh $v0, 0xe($v1) -/* 029728 80028B28 A0690006 */ sb $t1, 6($v1) -/* 02972C 80028B2C A0690010 */ sb $t1, 0x10($v1) -/* 029730 80028B30 A06A0007 */ sb $t2, 7($v1) -/* 029734 80028B34 A06B0008 */ sb $t3, 8($v1) -/* 029738 80028B38 93BF002A */ lbu $ra, 0x2a($sp) -/* 02973C 80028B3C 93AD002B */ lbu $t5, 0x2b($sp) -/* 029740 80028B40 93AC002C */ lbu $t4, 0x2c($sp) -/* 029744 80028B44 A4660014 */ sh $a2, 0x14($v1) -/* 029748 80028B48 A468001E */ sh $t0, 0x1e($v1) -/* 02974C 80028B4C A0650013 */ sb $a1, 0x13($v1) -/* 029750 80028B50 A4640016 */ sh $a0, 0x16($v1) -/* 029754 80028B54 A4620018 */ sh $v0, 0x18($v1) -/* 029758 80028B58 A065001D */ sb $a1, 0x1d($v1) -/* 02975C 80028B5C A4640020 */ sh $a0, 0x20($v1) -/* 029760 80028B60 A4620022 */ sh $v0, 0x22($v1) -/* 029764 80028B64 A0650027 */ sb $a1, 0x27($v1) -/* 029768 80028B68 A06A0011 */ sb $t2, 0x11($v1) -/* 02976C 80028B6C A06B0012 */ sb $t3, 0x12($v1) -/* 029770 80028B70 A07F001C */ sb $ra, 0x1c($v1) -/* 029774 80028B74 A07F0026 */ sb $ra, 0x26($v1) -/* 029778 80028B78 A06D001B */ sb $t5, 0x1b($v1) -/* 02977C 80028B7C A06D0025 */ sb $t5, 0x25($v1) -/* 029780 80028B80 A06C001A */ sb $t4, 0x1a($v1) -/* 029784 80028B84 A06C0024 */ sb $t4, 0x24($v1) -/* 029788 80028B88 24080002 */ li $t0, 2 -/* 02978C 80028B8C 24060040 */ li $a2, 64 -/* 029790 80028B90 24090001 */ li $t1, 1 -/* 029794 80028B94 24190003 */ li $t9, 3 -/* 029798 80028B98 A0E60000 */ sb $a2, ($a3) -/* 02979C 80028B9C A0E80001 */ sb $t0, 1($a3) -/* 0297A0 80028BA0 A0E90002 */ sb $t1, 2($a3) -/* 0297A4 80028BA4 A0E00003 */ sb $zero, 3($a3) -/* 0297A8 80028BA8 A4E00004 */ sh $zero, 4($a3) -/* 0297AC 80028BAC A4E00006 */ sh $zero, 6($a3) -/* 0297B0 80028BB0 A4E00008 */ sh $zero, 8($a3) -/* 0297B4 80028BB4 A4E0000A */ sh $zero, 0xa($a3) -/* 0297B8 80028BB8 A4E0000C */ sh $zero, 0xc($a3) -/* 0297BC 80028BBC A4E0000E */ sh $zero, 0xe($a3) -/* 0297C0 80028BC0 A0E60010 */ sb $a2, 0x10($a3) -/* 0297C4 80028BC4 A0F90011 */ sb $t9, 0x11($a3) -/* 0297C8 80028BC8 A0E80012 */ sb $t0, 0x12($a3) -/* 0297CC 80028BCC A0E90013 */ sb $t1, 0x13($a3) -/* 0297D0 80028BD0 A4E00014 */ sh $zero, 0x14($a3) -/* 0297D4 80028BD4 A4E00016 */ sh $zero, 0x16($a3) -/* 0297D8 80028BD8 A4E00018 */ sh $zero, 0x18($a3) -/* 0297DC 80028BDC A4E0001A */ sh $zero, 0x1a($a3) -/* 0297E0 80028BE0 A4E0001C */ sh $zero, 0x1c($a3) -/* 0297E4 80028BE4 A4E0001E */ sh $zero, 0x1e($a3) -/* 0297E8 80028BE8 24630028 */ addiu $v1, $v1, 0x28 -/* 0297EC 80028BEC 3C018012 */ lui $at, %hi(D_8011B0A8) # $at, 0x8012 -/* 0297F0 80028BF0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0297F4 80028BF4 AC23B0A8 */ sw $v1, %lo(D_8011B0A8)($at) -/* 0297F8 80028BF8 24E70020 */ addiu $a3, $a3, 0x20 -/* 0297FC 80028BFC 3C018012 */ lui $at, %hi(D_8011B0AC) # $at, 0x8012 -/* 029800 80028C00 8FB00018 */ lw $s0, 0x18($sp) -/* 029804 80028C04 AC27B0AC */ sw $a3, %lo(D_8011B0AC)($at) -/* 029808 80028C08 03E00008 */ jr $ra -/* 02980C 80028C0C 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_80028C10 -/* 029810 80028C10 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012 -/* 029814 80028C14 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48 -/* 029818 80028C18 8C6E0000 */ lw $t6, ($v1) -/* 02981C 80028C1C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 029820 80028C20 11C00027 */ beqz $t6, .L80028CC0 -/* 029824 80028C24 AFBF0014 */ sw $ra, 0x14($sp) -/* 029828 80028C28 0C01A748 */ jal func_80069D20 -/* 02982C 80028C2C 00000000 */ nop -/* 029830 80028C30 3C0F800E */ lui $t7, %hi(D_800DC91C) # $t7, 0x800e -/* 029834 80028C34 8DEFC91C */ lw $t7, %lo(D_800DC91C)($t7) -/* 029838 80028C38 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012 -/* 02983C 80028C3C 81F80049 */ lb $t8, 0x49($t7) -/* 029840 80028C40 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48 -/* 029844 80028C44 1700000D */ bnez $t8, .L80028C7C -/* 029848 80028C48 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012 -/* 02984C 80028C4C C444000C */ lwc1 $f4, 0xc($v0) -/* 029850 80028C50 8C790000 */ lw $t9, ($v1) -/* 029854 80028C54 00000000 */ nop -/* 029858 80028C58 E724000C */ swc1 $f4, 0xc($t9) -/* 02985C 80028C5C 8C680000 */ lw $t0, ($v1) -/* 029860 80028C60 C4460010 */ lwc1 $f6, 0x10($v0) -/* 029864 80028C64 00000000 */ nop -/* 029868 80028C68 E5060010 */ swc1 $f6, 0x10($t0) -/* 02986C 80028C6C 8C690000 */ lw $t1, ($v1) -/* 029870 80028C70 C4480014 */ lwc1 $f8, 0x14($v0) -/* 029874 80028C74 00000000 */ nop -/* 029878 80028C78 E5280014 */ swc1 $f8, 0x14($t1) -.L80028C7C: -/* 02987C 80028C7C 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012 -/* 029880 80028C80 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c -/* 029884 80028C84 0C01A102 */ jal func_80068408 -/* 029888 80028C88 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60 -/* 02988C 80028C8C 3C0A8012 */ lui $t2, %hi(D_8011B0DC) # $t2, 0x8012 -/* 029890 80028C90 8D4AB0DC */ lw $t2, %lo(D_8011B0DC)($t2) -/* 029894 80028C94 3C038012 */ lui $v1, %hi(D_8011B0B8) # $v1, 0x8012 -/* 029898 80028C98 11400009 */ beqz $t2, .L80028CC0 -/* 02989C 80028C9C 2463B0B8 */ addiu $v1, %lo(D_8011B0B8) # addiu $v1, $v1, -0x4f48 -/* 0298A0 80028CA0 3C048012 */ lui $a0, %hi(D_8011B0A0) # $a0, 0x8012 -/* 0298A4 80028CA4 3C058012 */ lui $a1, %hi(D_8011B0A4) # $a1, 0x8012 -/* 0298A8 80028CA8 3C068012 */ lui $a2, %hi(D_8011B0A8) # $a2, 0x8012 -/* 0298AC 80028CAC 8C670000 */ lw $a3, ($v1) -/* 0298B0 80028CB0 24C6B0A8 */ addiu $a2, %lo(D_8011B0A8) # addiu $a2, $a2, -0x4f58 -/* 0298B4 80028CB4 24A5B0A4 */ addiu $a1, %lo(D_8011B0A4) # addiu $a1, $a1, -0x4f5c -/* 0298B8 80028CB8 0C004B57 */ jal func_80012D5C -/* 0298BC 80028CBC 2484B0A0 */ addiu $a0, %lo(D_8011B0A0) # addiu $a0, $a0, -0x4f60 -.L80028CC0: -/* 0298C0 80028CC0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0298C4 80028CC4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0298C8 80028CC8 03E00008 */ jr $ra -/* 0298CC 80028CCC 00000000 */ nop - -glabel func_80028CD0 -/* 0298D0 80028CD0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0298D4 80028CD4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0298D8 80028CD8 0C01A748 */ jal func_80069D20 -/* 0298DC 80028CDC AFA40048 */ sw $a0, 0x48($sp) -/* 0298E0 80028CE0 3C018012 */ lui $at, %hi(D_8011B0B0) # $at, 0x8012 -/* 0298E4 80028CE4 0C019888 */ jal func_80066220 -/* 0298E8 80028CE8 AC22B0B0 */ sw $v0, %lo(D_8011B0B0)($at) -/* 0298EC 80028CEC 0C00C406 */ jal func_80031018 -/* 0298F0 80028CF0 AFA2003C */ sw $v0, 0x3c($sp) -/* 0298F4 80028CF4 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012 -/* 0298F8 80028CF8 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98 -/* 0298FC 80028CFC 8C580008 */ lw $t8, 8($v0) -/* 029900 80028D00 8C4E0000 */ lw $t6, ($v0) -/* 029904 80028D04 44988000 */ mtc1 $t8, $f16 -/* 029908 80028D08 448E2000 */ mtc1 $t6, $f4 -/* 02990C 80028D0C 468084A0 */ cvt.s.w $f18, $f16 -/* 029910 80028D10 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 029914 80028D14 44810000 */ mtc1 $at, $f0 -/* 029918 80028D18 468021A0 */ cvt.s.w $f6, $f4 -/* 02991C 80028D1C 8C4F0004 */ lw $t7, 4($v0) -/* 029920 80028D20 46009103 */ div.s $f4, $f18, $f0 -/* 029924 80028D24 448F4000 */ mtc1 $t7, $f8 -/* 029928 80028D28 00000000 */ nop -/* 02992C 80028D2C 468042A0 */ cvt.s.w $f10, $f8 -/* 029930 80028D30 44062000 */ mfc1 $a2, $f4 -/* 029934 80028D34 46005383 */ div.s $f14, $f10, $f0 -/* 029938 80028D38 0C007578 */ jal func_8001D5E0 -/* 02993C 80028D3C 46003303 */ div.s $f12, $f6, $f0 -/* 029940 80028D40 3C038012 */ lui $v1, %hi(D_8011B0B0) # $v1, 0x8012 -/* 029944 80028D44 8C63B0B0 */ lw $v1, %lo(D_8011B0B0)($v1) -/* 029948 80028D48 8FA7003C */ lw $a3, 0x3c($sp) -/* 02994C 80028D4C 84620034 */ lh $v0, 0x34($v1) -/* 029950 80028D50 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e -/* 029954 80028D54 0440000E */ bltz $v0, .L80028D90 -/* 029958 80028D58 3C0E8012 */ lui $t6, %hi(D_8011D384) # $t6, 0x8012 -/* 02995C 80028D5C 8C84C918 */ lw $a0, %lo(D_800DC918)($a0) -/* 029960 80028D60 00025100 */ sll $t2, $v0, 4 -/* 029964 80028D64 8499001A */ lh $t9, 0x1a($a0) -/* 029968 80028D68 01425021 */ addu $t2, $t2, $v0 -/* 02996C 80028D6C 0059082A */ slt $at, $v0, $t9 -/* 029970 80028D70 10200007 */ beqz $at, .L80028D90 -/* 029974 80028D74 000A5080 */ sll $t2, $t2, 2 -/* 029978 80028D78 8C890004 */ lw $t1, 4($a0) -/* 02997C 80028D7C 3C018012 */ lui $at, %hi(D_8011B0D4) # $at, 0x8012 -/* 029980 80028D80 012A5821 */ addu $t3, $t1, $t2 -/* 029984 80028D84 856C0028 */ lh $t4, 0x28($t3) -/* 029988 80028D88 10000004 */ b .L80028D9C -/* 02998C 80028D8C AC2CB0D4 */ sw $t4, %lo(D_8011B0D4)($at) -.L80028D90: -/* 029990 80028D90 240DFFFF */ li $t5, -1 -/* 029994 80028D94 3C018012 */ lui $at, %hi(D_8011B0D4) # $at, 0x8012 -/* 029998 80028D98 AC2DB0D4 */ sw $t5, %lo(D_8011B0D4)($at) -.L80028D9C: -/* 02999C 80028D9C C466000C */ lwc1 $f6, 0xc($v1) -/* 0299A0 80028DA0 3C018012 */ lui $at, %hi(D_8011D314) # $at, 0x8012 -/* 0299A4 80028DA4 E426D314 */ swc1 $f6, %lo(D_8011D314)($at) -/* 0299A8 80028DA8 C4680010 */ lwc1 $f8, 0x10($v1) -/* 0299AC 80028DAC 3C018012 */ lui $at, %hi(D_8011D318) # $at, 0x8012 -/* 0299B0 80028DB0 E428D318 */ swc1 $f8, %lo(D_8011D318)($at) -/* 0299B4 80028DB4 C46A0014 */ lwc1 $f10, 0x14($v1) -/* 0299B8 80028DB8 8DCED384 */ lw $t6, %lo(D_8011D384)($t6) -/* 0299BC 80028DBC 3C018012 */ lui $at, %hi(D_8011D31C) # $at, 0x8012 -/* 0299C0 80028DC0 11C0006E */ beqz $t6, .L80028F7C -/* 0299C4 80028DC4 E42AD31C */ swc1 $f10, %lo(D_8011D31C)($at) -/* 0299C8 80028DC8 0C02E2E3 */ jal func_800B8B8C -/* 0299CC 80028DCC AFA7003C */ sw $a3, 0x3c($sp) -/* 0299D0 80028DD0 0C006E9D */ jal func_8001BA74 -/* 0299D4 80028DD4 27A40040 */ addiu $a0, $sp, 0x40 -/* 0299D8 80028DD8 3C0F8012 */ lui $t7, %hi(D_8011B0B0) # $t7, 0x8012 -/* 0299DC 80028DDC 8DEFB0B0 */ lw $t7, %lo(D_8011B0B0)($t7) -/* 0299E0 80028DE0 8FA7003C */ lw $a3, 0x3c($sp) -/* 0299E4 80028DE4 85F80036 */ lh $t8, 0x36($t7) -/* 0299E8 80028DE8 24010007 */ li $at, 7 -/* 0299EC 80028DEC 1301003F */ beq $t8, $at, .L80028EEC -/* 0299F0 80028DF0 00000000 */ nop -/* 0299F4 80028DF4 8FB90040 */ lw $t9, 0x40($sp) -/* 0299F8 80028DF8 00000000 */ nop -/* 0299FC 80028DFC 1B20003B */ blez $t9, .L80028EEC -/* 029A00 80028E00 00000000 */ nop -/* 029A04 80028E04 AFA20038 */ sw $v0, 0x38($sp) -/* 029A08 80028E08 0C019944 */ jal func_80066510 -/* 029A0C 80028E0C AFA7003C */ sw $a3, 0x3c($sp) -/* 029A10 80028E10 8FA40038 */ lw $a0, 0x38($sp) -/* 029A14 80028E14 8FA7003C */ lw $a3, 0x3c($sp) -/* 029A18 80028E18 14400034 */ bnez $v0, .L80028EEC -/* 029A1C 80028E1C 2483FFFC */ addiu $v1, $a0, -4 -/* 029A20 80028E20 8FA50040 */ lw $a1, 0x40($sp) -/* 029A24 80028E24 2402FFFF */ li $v0, -1 -/* 029A28 80028E28 24A5FFFF */ addiu $a1, $a1, -1 -.L80028E2C: -/* 029A2C 80028E2C 8C690004 */ lw $t1, 4($v1) -/* 029A30 80028E30 24420001 */ addiu $v0, $v0, 1 -/* 029A34 80028E34 0045082A */ slt $at, $v0, $a1 -/* 029A38 80028E38 8D240064 */ lw $a0, 0x64($t1) -/* 029A3C 80028E3C 10200005 */ beqz $at, .L80028E54 -/* 029A40 80028E40 24630004 */ addiu $v1, $v1, 4 -/* 029A44 80028E44 848A0000 */ lh $t2, ($a0) -/* 029A48 80028E48 00000000 */ nop -/* 029A4C 80028E4C 14EAFFF7 */ bne $a3, $t2, .L80028E2C -/* 029A50 80028E50 00000000 */ nop -.L80028E54: -/* 029A54 80028E54 0C019888 */ jal func_80066220 -/* 029A58 80028E58 AFA30028 */ sw $v1, 0x28($sp) -/* 029A5C 80028E5C 8FA30028 */ lw $v1, 0x28($sp) -/* 029A60 80028E60 444BF800 */ cfc1 $t3, $31 -/* 029A64 80028E64 8C680000 */ lw $t0, ($v1) -/* 029A68 80028E68 35610003 */ ori $at, $t3, 3 -/* 029A6C 80028E6C 38210002 */ xori $at, $at, 2 -/* 029A70 80028E70 44C1F800 */ ctc1 $at, $31 -/* 029A74 80028E74 C510000C */ lwc1 $f16, 0xc($t0) -/* 029A78 80028E78 C5040010 */ lwc1 $f4, 0x10($t0) -/* 029A7C 80028E7C 460084A4 */ cvt.w.s $f18, $f16 -/* 029A80 80028E80 C5080014 */ lwc1 $f8, 0x14($t0) -/* 029A84 80028E84 44CBF800 */ ctc1 $t3, $31 -/* 029A88 80028E88 8FAE0048 */ lw $t6, 0x48($sp) -/* 029A8C 80028E8C 44049000 */ mfc1 $a0, $f18 -/* 029A90 80028E90 444CF800 */ cfc1 $t4, $31 -/* 029A94 80028E94 00403825 */ move $a3, $v0 -/* 029A98 80028E98 35810003 */ ori $at, $t4, 3 -/* 029A9C 80028E9C 38210002 */ xori $at, $at, 2 -/* 029AA0 80028EA0 44C1F800 */ ctc1 $at, $31 -/* 029AA4 80028EA4 AFAE0010 */ sw $t6, 0x10($sp) -/* 029AA8 80028EA8 460021A4 */ cvt.w.s $f6, $f4 -/* 029AAC 80028EAC 44CCF800 */ ctc1 $t4, $31 -/* 029AB0 80028EB0 44053000 */ mfc1 $a1, $f6 -/* 029AB4 80028EB4 00000000 */ nop -/* 029AB8 80028EB8 444DF800 */ cfc1 $t5, $31 -/* 029ABC 80028EBC 00000000 */ nop -/* 029AC0 80028EC0 35A10003 */ ori $at, $t5, 3 -/* 029AC4 80028EC4 38210002 */ xori $at, $at, 2 -/* 029AC8 80028EC8 44C1F800 */ ctc1 $at, $31 -/* 029ACC 80028ECC 00000000 */ nop -/* 029AD0 80028ED0 460042A4 */ cvt.w.s $f10, $f8 -/* 029AD4 80028ED4 44065000 */ mfc1 $a2, $f10 -/* 029AD8 80028ED8 44CDF800 */ ctc1 $t5, $31 -/* 029ADC 80028EDC 0C02E301 */ jal func_800B8C04 -/* 029AE0 80028EE0 00000000 */ nop -/* 029AE4 80028EE4 10000025 */ b .L80028F7C -/* 029AE8 80028EE8 00000000 */ nop -.L80028EEC: -/* 029AEC 80028EEC 0C019888 */ jal func_80066220 -/* 029AF0 80028EF0 00000000 */ nop -/* 029AF4 80028EF4 444FF800 */ cfc1 $t7, $31 -/* 029AF8 80028EF8 3C038012 */ lui $v1, %hi(D_8011B0B0) # $v1, 0x8012 -/* 029AFC 80028EFC 8C63B0B0 */ lw $v1, %lo(D_8011B0B0)($v1) -/* 029B00 80028F00 35E10003 */ ori $at, $t7, 3 -/* 029B04 80028F04 38210002 */ xori $at, $at, 2 -/* 029B08 80028F08 44C1F800 */ ctc1 $at, $31 -/* 029B0C 80028F0C C470000C */ lwc1 $f16, 0xc($v1) -/* 029B10 80028F10 C4640010 */ lwc1 $f4, 0x10($v1) -/* 029B14 80028F14 460084A4 */ cvt.w.s $f18, $f16 -/* 029B18 80028F18 C4680014 */ lwc1 $f8, 0x14($v1) -/* 029B1C 80028F1C 44CFF800 */ ctc1 $t7, $31 -/* 029B20 80028F20 8FA90048 */ lw $t1, 0x48($sp) -/* 029B24 80028F24 44049000 */ mfc1 $a0, $f18 -/* 029B28 80028F28 4458F800 */ cfc1 $t8, $31 -/* 029B2C 80028F2C 00403825 */ move $a3, $v0 -/* 029B30 80028F30 37010003 */ ori $at, $t8, 3 -/* 029B34 80028F34 38210002 */ xori $at, $at, 2 -/* 029B38 80028F38 44C1F800 */ ctc1 $at, $31 -/* 029B3C 80028F3C AFA90010 */ sw $t1, 0x10($sp) -/* 029B40 80028F40 460021A4 */ cvt.w.s $f6, $f4 -/* 029B44 80028F44 44D8F800 */ ctc1 $t8, $31 -/* 029B48 80028F48 44053000 */ mfc1 $a1, $f6 -/* 029B4C 80028F4C 00000000 */ nop -/* 029B50 80028F50 4459F800 */ cfc1 $t9, $31 -/* 029B54 80028F54 00000000 */ nop -/* 029B58 80028F58 37210003 */ ori $at, $t9, 3 -/* 029B5C 80028F5C 38210002 */ xori $at, $at, 2 -/* 029B60 80028F60 44C1F800 */ ctc1 $at, $31 -/* 029B64 80028F64 00000000 */ nop -/* 029B68 80028F68 460042A4 */ cvt.w.s $f10, $f8 -/* 029B6C 80028F6C 44065000 */ mfc1 $a2, $f10 -/* 029B70 80028F70 44D9F800 */ ctc1 $t9, $31 -/* 029B74 80028F74 0C02E301 */ jal func_800B8C04 -/* 029B78 80028F78 00000000 */ nop -.L80028F7C: -/* 029B7C 80028F7C 0C01AF6C */ jal func_8006BDB0 -/* 029B80 80028F80 00000000 */ nop -/* 029B84 80028F84 240A0001 */ li $t2, 1 -/* 029B88 80028F88 0C00A3EB */ jal func_80028FAC -/* 029B8C 80028F8C A04A0003 */ sb $t2, 3($v0) -/* 029B90 80028F90 8FBF001C */ lw $ra, 0x1c($sp) -/* 029B94 80028F94 27BD0048 */ addiu $sp, $sp, 0x48 -/* 029B98 80028F98 03E00008 */ jr $ra -/* 029B9C 80028F9C 00000000 */ nop - -glabel func_80028FA0 -/* 029BA0 80028FA0 3C018012 */ lui $at, 0x8012 -/* 029BA4 80028FA4 03E00008 */ jr $ra -/* 029BA8 80028FA8 AC24B0FC */ sw $a0, -0x4f04($at) - -glabel func_80028FAC -/* 029BAC 80028FAC 27BDFE90 */ addiu $sp, $sp, -0x170 -/* 029BB0 80028FB0 AFBF003C */ sw $ra, 0x3c($sp) -/* 029BB4 80028FB4 AFB60038 */ sw $s6, 0x38($sp) -/* 029BB8 80028FB8 AFB50034 */ sw $s5, 0x34($sp) -/* 029BBC 80028FBC AFB40030 */ sw $s4, 0x30($sp) -/* 029BC0 80028FC0 AFB3002C */ sw $s3, 0x2c($sp) -/* 029BC4 80028FC4 AFB20028 */ sw $s2, 0x28($sp) -/* 029BC8 80028FC8 AFB10024 */ sw $s1, 0x24($sp) -/* 029BCC 80028FCC 0C004B0C */ jal func_80012C30 -/* 029BD0 80028FD0 AFB00020 */ sw $s0, 0x20($sp) -/* 029BD4 80028FD4 0C01BAA4 */ jal func_8006EA90 -/* 029BD8 80028FD8 00000000 */ nop -/* 029BDC 80028FDC 904E0049 */ lbu $t6, 0x49($v0) -/* 029BE0 80028FE0 24010024 */ li $at, 36 -/* 029BE4 80028FE4 15C10003 */ bne $t6, $at, .L80028FF4 -/* 029BE8 80028FE8 240F0001 */ li $t7, 1 -/* 029BEC 80028FEC 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 -/* 029BF0 80028FF0 AC2FB0FC */ sw $t7, %lo(D_8011B0FC)($at) -.L80028FF4: -/* 029BF4 80028FF4 0C005205 */ jal func_80014814 -/* 029BF8 80028FF8 27A4016C */ addiu $a0, $sp, 0x16c -/* 029BFC 80028FFC 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e -/* 029C00 80029000 8E10C918 */ lw $s0, %lo(D_800DC918)($s0) -/* 029C04 80029004 AFA20160 */ sw $v0, 0x160($sp) -/* 029C08 80029008 8618001A */ lh $t8, 0x1a($s0) -/* 029C0C 8002900C 00000000 */ nop -/* 029C10 80029010 2B010002 */ slti $at, $t8, 2 -/* 029C14 80029014 1420000F */ bnez $at, .L80029054 -/* 029C18 80029018 24080001 */ li $t0, 1 -/* 029C1C 8002901C AFA00168 */ sw $zero, 0x168($sp) -/* 029C20 80029020 8606001A */ lh $a2, 0x1a($s0) -/* 029C24 80029024 27B90168 */ addiu $t9, $sp, 0x168 -/* 029C28 80029028 AFB90010 */ sw $t9, 0x10($sp) -/* 029C2C 8002902C 00002025 */ move $a0, $zero -/* 029C30 80029030 00002825 */ move $a1, $zero -/* 029C34 80029034 27A700D8 */ addiu $a3, $sp, 0xd8 -/* 029C38 80029038 0C00A6BE */ jal func_80029AF8 -/* 029C3C 8002903C 24C6FFFF */ addiu $a2, $a2, -1 -/* 029C40 80029040 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e -/* 029C44 80029044 8E10C918 */ lw $s0, %lo(D_800DC918)($s0) -/* 029C48 80029048 10000005 */ b .L80029060 -/* 029C4C 8002904C 8609001A */ lh $t1, 0x1a($s0) -/* 029C50 80029050 24080001 */ li $t0, 1 -.L80029054: -/* 029C54 80029054 AFA80168 */ sw $t0, 0x168($sp) -/* 029C58 80029058 A3A000D8 */ sb $zero, 0xd8($sp) -/* 029C5C 8002905C 8609001A */ lh $t1, 0x1a($s0) -.L80029060: -/* 029C60 80029060 24120001 */ li $s2, 1 -/* 029C64 80029064 19200008 */ blez $t1, .L80029088 -/* 029C68 80029068 3C0C8012 */ lui $t4, %hi(D_8011B0E0) # $t4, 0x8012 -/* 029C6C 8002906C 27A20059 */ addiu $v0, $sp, 0x59 -.L80029070: -/* 029C70 80029070 A0400000 */ sb $zero, ($v0) -/* 029C74 80029074 860A001A */ lh $t2, 0x1a($s0) -/* 029C78 80029078 26520001 */ addiu $s2, $s2, 1 -/* 029C7C 8002907C 0152082A */ slt $at, $t2, $s2 -/* 029C80 80029080 1020FFFB */ beqz $at, .L80029070 -/* 029C84 80029084 24420001 */ addiu $v0, $v0, 1 -.L80029088: -/* 029C88 80029088 818CB0E0 */ lb $t4, %lo(D_8011B0E0)($t4) -/* 029C8C 8002908C 240B0001 */ li $t3, 1 -/* 029C90 80029090 11800016 */ beqz $t4, .L800290EC -/* 029C94 80029094 A3AB0058 */ sb $t3, 0x58($sp) -/* 029C98 80029098 8FAD0168 */ lw $t5, 0x168($sp) -/* 029C9C 8002909C 00009025 */ move $s2, $zero -/* 029CA0 800290A0 19A00012 */ blez $t5, .L800290EC -/* 029CA4 800290A4 27B60058 */ addiu $s6, $sp, 0x58 -/* 029CA8 800290A8 27B000D8 */ addiu $s0, $sp, 0xd8 -/* 029CAC 800290AC 24110001 */ li $s1, 1 -.L800290B0: -/* 029CB0 800290B0 92040000 */ lbu $a0, ($s0) -/* 029CB4 800290B4 0C00A596 */ jal func_80029658 -/* 029CB8 800290B8 00002825 */ move $a1, $zero -/* 029CBC 800290BC 920E0000 */ lbu $t6, ($s0) -/* 029CC0 800290C0 26520001 */ addiu $s2, $s2, 1 -/* 029CC4 800290C4 02CE7821 */ addu $t7, $s6, $t6 -/* 029CC8 800290C8 A1F10001 */ sb $s1, 1($t7) -/* 029CCC 800290CC 8FB80168 */ lw $t8, 0x168($sp) -/* 029CD0 800290D0 26100001 */ addiu $s0, $s0, 1 -/* 029CD4 800290D4 0258082A */ slt $at, $s2, $t8 -/* 029CD8 800290D8 1420FFF5 */ bnez $at, .L800290B0 -/* 029CDC 800290DC 00000000 */ nop -/* 029CE0 800290E0 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e -/* 029CE4 800290E4 8E10C918 */ lw $s0, %lo(D_800DC918)($s0) -/* 029CE8 800290E8 00000000 */ nop -.L800290EC: -/* 029CEC 800290EC 8619001A */ lh $t9, 0x1a($s0) -/* 029CF0 800290F0 27B60058 */ addiu $s6, $sp, 0x58 -/* 029CF4 800290F4 2B210002 */ slti $at, $t9, 2 -/* 029CF8 800290F8 10200003 */ beqz $at, .L80029108 -/* 029CFC 800290FC 3C138012 */ lui $s3, %hi(D_8011B0A0) # $s3, 0x8012 -/* 029D00 80029100 24080001 */ li $t0, 1 -/* 029D04 80029104 A3A80059 */ sb $t0, 0x59($sp) -.L80029108: -/* 029D08 80029108 2673B0A0 */ addiu $s3, %lo(D_8011B0A0) # addiu $s3, $s3, -0x4f60 -/* 029D0C 8002910C 0C01ECF4 */ jal func_8007B3D0 -/* 029D10 80029110 02602025 */ move $a0, $s3 -/* 029D14 80029114 8FA3016C */ lw $v1, 0x16c($sp) -/* 029D18 80029118 8FA40160 */ lw $a0, 0x160($sp) -/* 029D1C 8002911C 0C0054D2 */ jal func_80015348 -/* 029D20 80029120 2465FFFF */ addiu $a1, $v1, -1 -/* 029D24 80029124 0C019888 */ jal func_80066220 -/* 029D28 80029128 00000000 */ nop -/* 029D2C 8002912C 8FA3016C */ lw $v1, 0x16c($sp) -/* 029D30 80029130 8FB20160 */ lw $s2, 0x160($sp) -/* 029D34 80029134 30490001 */ andi $t1, $v0, 1 -/* 029D38 80029138 240A0200 */ li $t2, 512 -/* 029D3C 8002913C 012A5804 */ sllv $t3, $t2, $t1 -/* 029D40 80029140 0243082A */ slt $at, $s2, $v1 -/* 029D44 80029144 10200056 */ beqz $at, .L800292A0 -/* 029D48 80029148 AFAB0158 */ sw $t3, 0x158($sp) -/* 029D4C 8002914C 3C158012 */ lui $s5, %hi(D_8011B0A8) # $s5, 0x8012 -/* 029D50 80029150 3C148012 */ lui $s4, %hi(D_8011B0A4) # $s4, 0x8012 -/* 029D54 80029154 2694B0A4 */ addiu $s4, %lo(D_8011B0A4) # addiu $s4, $s4, -0x4f5c -/* 029D58 80029158 26B5B0A8 */ addiu $s5, %lo(D_8011B0A8) # addiu $s5, $s5, -0x4f58 -/* 029D5C 8002915C 02402025 */ move $a0, $s2 -.L80029160: -/* 029D60 80029160 0C003A52 */ jal func_8000E948 -/* 029D64 80029164 241000FF */ li $s0, 255 -/* 029D68 80029168 84430006 */ lh $v1, 6($v0) -/* 029D6C 8002916C 8FAF0158 */ lw $t7, 0x158($sp) -/* 029D70 80029170 306D0080 */ andi $t5, $v1, 0x80 -/* 029D74 80029174 11A00003 */ beqz $t5, .L80029184 -/* 029D78 80029178 00408825 */ move $s1, $v0 -/* 029D7C 8002917C 10000006 */ b .L80029198 -/* 029D80 80029180 00008025 */ move $s0, $zero -.L80029184: -/* 029D84 80029184 306E8000 */ andi $t6, $v1, 0x8000 -/* 029D88 80029188 15C00004 */ bnez $t6, .L8002919C -/* 029D8C 8002918C 006FC024 */ and $t8, $v1, $t7 -/* 029D90 80029190 90500039 */ lbu $s0, 0x39($v0) -/* 029D94 80029194 00000000 */ nop -.L80029198: -/* 029D98 80029198 006FC024 */ and $t8, $v1, $t7 -.L8002919C: -/* 029D9C 8002919C 13000002 */ beqz $t8, .L800291A8 -/* 029DA0 800291A0 240100FF */ li $at, 255 -/* 029DA4 800291A4 00008025 */ move $s0, $zero -.L800291A8: -/* 029DA8 800291A8 10400039 */ beqz $v0, .L80029290 -/* 029DAC 800291AC 8FA3016C */ lw $v1, 0x16c($sp) -/* 029DB0 800291B0 16010037 */ bne $s0, $at, .L80029290 -/* 029DB4 800291B4 8FA3016C */ lw $v1, 0x16c($sp) -/* 029DB8 800291B8 0C00AA40 */ jal func_8002A900 -/* 029DBC 800291BC 02202025 */ move $a0, $s1 -/* 029DC0 800291C0 10400033 */ beqz $v0, .L80029290 -/* 029DC4 800291C4 8FA3016C */ lw $v1, 0x16c($sp) -/* 029DC8 800291C8 8639002E */ lh $t9, 0x2e($s1) -/* 029DCC 800291CC 3C01800E */ lui $at, %hi(D_800E5EA4) # $at, 0x800e -/* 029DD0 800291D0 02D94021 */ addu $t0, $s6, $t9 -/* 029DD4 800291D4 910A0001 */ lbu $t2, 1($t0) -/* 029DD8 800291D8 00000000 */ nop -/* 029DDC 800291DC 15400009 */ bnez $t2, .L80029204 -/* 029DE0 800291E0 00000000 */ nop -/* 029DE4 800291E4 C6260034 */ lwc1 $f6, 0x34($s1) -/* 029DE8 800291E8 C4255EA0 */ lwc1 $f5, %lo(D_800E5EA0)($at) -/* 029DEC 800291EC C4245EA4 */ lwc1 $f4, %lo(D_800E5EA4)($at) -/* 029DF0 800291F0 46003221 */ cvt.d.s $f8, $f6 -/* 029DF4 800291F4 4628203C */ c.lt.d $f4, $f8 -/* 029DF8 800291F8 00000000 */ nop -/* 029DFC 800291FC 45000024 */ bc1f .L80029290 -/* 029E00 80029200 8FA3016C */ lw $v1, 0x16c($sp) -.L80029204: -/* 029E04 80029204 86290006 */ lh $t1, 6($s1) -/* 029E08 80029208 02602025 */ move $a0, $s3 -/* 029E0C 8002920C 312B8000 */ andi $t3, $t1, 0x8000 -/* 029E10 80029210 11600006 */ beqz $t3, .L8002922C -/* 029E14 80029214 02802825 */ move $a1, $s4 -/* 029E18 80029218 02A03025 */ move $a2, $s5 -/* 029E1C 8002921C 0C004B57 */ jal func_80012D5C -/* 029E20 80029220 02203825 */ move $a3, $s1 -/* 029E24 80029224 1000001A */ b .L80029290 -/* 029E28 80029228 8FA3016C */ lw $v1, 0x16c($sp) -.L8002922C: -/* 029E2C 8002922C 8E250050 */ lw $a1, 0x50($s1) -/* 029E30 80029230 00000000 */ nop -/* 029E34 80029234 10A00004 */ beqz $a1, .L80029248 -/* 029E38 80029238 02602025 */ move $a0, $s3 -/* 029E3C 8002923C 0C00B4E1 */ jal func_8002D384 -/* 029E40 80029240 02202025 */ move $a0, $s1 -/* 029E44 80029244 02602025 */ move $a0, $s3 -.L80029248: -/* 029E48 80029248 02802825 */ move $a1, $s4 -/* 029E4C 8002924C 02A03025 */ move $a2, $s5 -/* 029E50 80029250 0C004B57 */ jal func_80012D5C -/* 029E54 80029254 02203825 */ move $a3, $s1 -/* 029E58 80029258 8E250058 */ lw $a1, 0x58($s1) -/* 029E5C 8002925C 00000000 */ nop -/* 029E60 80029260 10A0000B */ beqz $a1, .L80029290 -/* 029E64 80029264 8FA3016C */ lw $v1, 0x16c($sp) -/* 029E68 80029268 8E2C0040 */ lw $t4, 0x40($s1) -/* 029E6C 8002926C 00000000 */ nop -/* 029E70 80029270 958D0030 */ lhu $t5, 0x30($t4) -/* 029E74 80029274 00000000 */ nop -/* 029E78 80029278 31AE0010 */ andi $t6, $t5, 0x10 -/* 029E7C 8002927C 11C00004 */ beqz $t6, .L80029290 -/* 029E80 80029280 8FA3016C */ lw $v1, 0x16c($sp) -/* 029E84 80029284 0C00B59C */ jal func_8002D670 -/* 029E88 80029288 02202025 */ move $a0, $s1 -/* 029E8C 8002928C 8FA3016C */ lw $v1, 0x16c($sp) -.L80029290: -/* 029E90 80029290 26520001 */ addiu $s2, $s2, 1 -/* 029E94 80029294 0243082A */ slt $at, $s2, $v1 -/* 029E98 80029298 1420FFB1 */ bnez $at, .L80029160 -/* 029E9C 8002929C 02402025 */ move $a0, $s2 -.L800292A0: -/* 029EA0 800292A0 8FAF0160 */ lw $t7, 0x160($sp) -/* 029EA4 800292A4 2472FFFF */ addiu $s2, $v1, -1 -/* 029EA8 800292A8 3C148012 */ lui $s4, %hi(D_8011B0A4) # $s4, 0x8012 -/* 029EAC 800292AC 3C158012 */ lui $s5, %hi(D_8011B0A8) # $s5, 0x8012 -/* 029EB0 800292B0 024F082A */ slt $at, $s2, $t7 -/* 029EB4 800292B4 26B5B0A8 */ addiu $s5, %lo(D_8011B0A8) # addiu $s5, $s5, -0x4f58 -/* 029EB8 800292B8 14200044 */ bnez $at, .L800293CC -/* 029EBC 800292BC 2694B0A4 */ addiu $s4, %lo(D_8011B0A4) # addiu $s4, $s4, -0x4f5c -/* 029EC0 800292C0 25F8FFFF */ addiu $t8, $t7, -1 -/* 029EC4 800292C4 AFB80044 */ sw $t8, 0x44($sp) -.L800292C8: -/* 029EC8 800292C8 0C003A52 */ jal func_8000E948 -/* 029ECC 800292CC 02402025 */ move $a0, $s2 -/* 029ED0 800292D0 84430006 */ lh $v1, 6($v0) -/* 029ED4 800292D4 8FB90158 */ lw $t9, 0x158($sp) -/* 029ED8 800292D8 00408825 */ move $s1, $v0 -/* 029EDC 800292DC 00794024 */ and $t0, $v1, $t9 -/* 029EE0 800292E0 11000003 */ beqz $t0, .L800292F0 -/* 029EE4 800292E4 24100001 */ li $s0, 1 -/* 029EE8 800292E8 10000001 */ b .L800292F0 -/* 029EEC 800292EC 00008025 */ move $s0, $zero -.L800292F0: -/* 029EF0 800292F0 10400033 */ beqz $v0, .L800293C0 -/* 029EF4 800292F4 8FA80044 */ lw $t0, 0x44($sp) -/* 029EF8 800292F8 12000030 */ beqz $s0, .L800293BC -/* 029EFC 800292FC 306A0100 */ andi $t2, $v1, 0x100 -/* 029F00 80029300 1140002F */ beqz $t2, .L800293C0 -/* 029F04 80029304 8FA80044 */ lw $t0, 0x44($sp) -/* 029F08 80029308 8449002E */ lh $t1, 0x2e($v0) -/* 029F0C 8002930C 00000000 */ nop -/* 029F10 80029310 02C95821 */ addu $t3, $s6, $t1 -/* 029F14 80029314 916C0001 */ lbu $t4, 1($t3) -/* 029F18 80029318 00000000 */ nop -/* 029F1C 8002931C 11800028 */ beqz $t4, .L800293C0 -/* 029F20 80029320 8FA80044 */ lw $t0, 0x44($sp) -/* 029F24 80029324 0C00AA40 */ jal func_8002A900 -/* 029F28 80029328 02202025 */ move $a0, $s1 -/* 029F2C 8002932C 10400024 */ beqz $v0, .L800293C0 -/* 029F30 80029330 8FA80044 */ lw $t0, 0x44($sp) -/* 029F34 80029334 862D0006 */ lh $t5, 6($s1) -/* 029F38 80029338 02602025 */ move $a0, $s3 -/* 029F3C 8002933C 31AE8000 */ andi $t6, $t5, 0x8000 -/* 029F40 80029340 11C00006 */ beqz $t6, .L8002935C -/* 029F44 80029344 02802825 */ move $a1, $s4 -/* 029F48 80029348 02A03025 */ move $a2, $s5 -/* 029F4C 8002934C 0C004B57 */ jal func_80012D5C -/* 029F50 80029350 02203825 */ move $a3, $s1 -/* 029F54 80029354 1000001A */ b .L800293C0 -/* 029F58 80029358 8FA80044 */ lw $t0, 0x44($sp) -.L8002935C: -/* 029F5C 8002935C 8E250050 */ lw $a1, 0x50($s1) -/* 029F60 80029360 00000000 */ nop -/* 029F64 80029364 10A00004 */ beqz $a1, .L80029378 -/* 029F68 80029368 02602025 */ move $a0, $s3 -/* 029F6C 8002936C 0C00B4E1 */ jal func_8002D384 -/* 029F70 80029370 02202025 */ move $a0, $s1 -/* 029F74 80029374 02602025 */ move $a0, $s3 -.L80029378: -/* 029F78 80029378 02802825 */ move $a1, $s4 -/* 029F7C 8002937C 02A03025 */ move $a2, $s5 -/* 029F80 80029380 0C004B57 */ jal func_80012D5C -/* 029F84 80029384 02203825 */ move $a3, $s1 -/* 029F88 80029388 8E250058 */ lw $a1, 0x58($s1) -/* 029F8C 8002938C 00000000 */ nop -/* 029F90 80029390 10A0000B */ beqz $a1, .L800293C0 -/* 029F94 80029394 8FA80044 */ lw $t0, 0x44($sp) -/* 029F98 80029398 8E2F0040 */ lw $t7, 0x40($s1) -/* 029F9C 8002939C 00000000 */ nop -/* 029FA0 800293A0 95F80030 */ lhu $t8, 0x30($t7) -/* 029FA4 800293A4 00000000 */ nop -/* 029FA8 800293A8 33190010 */ andi $t9, $t8, 0x10 -/* 029FAC 800293AC 13200004 */ beqz $t9, .L800293C0 -/* 029FB0 800293B0 8FA80044 */ lw $t0, 0x44($sp) -/* 029FB4 800293B4 0C00B59C */ jal func_8002D670 -/* 029FB8 800293B8 02202025 */ move $a0, $s1 -.L800293BC: -/* 029FBC 800293BC 8FA80044 */ lw $t0, 0x44($sp) -.L800293C0: -/* 029FC0 800293C0 2652FFFF */ addiu $s2, $s2, -1 -/* 029FC4 800293C4 1648FFC0 */ bne $s2, $t0, .L800292C8 -/* 029FC8 800293C8 00000000 */ nop -.L800293CC: -/* 029FCC 800293CC 3C0A8012 */ lui $t2, %hi(D_8011B0E0) # $t2, 0x8012 -/* 029FD0 800293D0 814AB0E0 */ lb $t2, %lo(D_8011B0E0)($t2) -/* 029FD4 800293D4 8FA20168 */ lw $v0, 0x168($sp) -/* 029FD8 800293D8 1140000C */ beqz $t2, .L8002940C -/* 029FDC 800293DC 2442FFFF */ addiu $v0, $v0, -1 -/* 029FE0 800293E0 0440000A */ bltz $v0, .L8002940C -/* 029FE4 800293E4 27A900D8 */ addiu $t1, $sp, 0xd8 -/* 029FE8 800293E8 00498021 */ addu $s0, $v0, $t1 -/* 029FEC 800293EC 27B100D8 */ addiu $s1, $sp, 0xd8 -.L800293F0: -/* 029FF0 800293F0 92040000 */ lbu $a0, ($s0) -/* 029FF4 800293F4 0C00A596 */ jal func_80029658 -/* 029FF8 800293F8 24050001 */ li $a1, 1 -/* 029FFC 800293FC 2610FFFF */ addiu $s0, $s0, -1 -/* 02A000 80029400 0211082B */ sltu $at, $s0, $s1 -/* 02A004 80029404 1020FFFA */ beqz $at, .L800293F0 -/* 02A008 80029408 00000000 */ nop -.L8002940C: -/* 02A00C 8002940C 3C0B8012 */ lui $t3, %hi(D_8011D384) # $t3, 0x8012 -/* 02A010 80029410 8D6BD384 */ lw $t3, %lo(D_8011D384)($t3) -/* 02A014 80029414 00000000 */ nop -/* 02A018 80029418 11600007 */ beqz $t3, .L80029438 -/* 02A01C 8002941C 00000000 */ nop -/* 02A020 80029420 0C019888 */ jal func_80066220 -/* 02A024 80029424 00000000 */ nop -/* 02A028 80029428 02602025 */ move $a0, $s3 -/* 02A02C 8002942C 02802825 */ move $a1, $s4 -/* 02A030 80029430 0C02EA39 */ jal func_800BA8E4 -/* 02A034 80029434 00403025 */ move $a2, $v0 -.L80029438: -/* 02A038 80029438 0C01ECF4 */ jal func_8007B3D0 -/* 02A03C 8002943C 02602025 */ move $a0, $s3 -/* 02A040 80029440 02602025 */ move $a0, $s3 -/* 02A044 80029444 00002825 */ move $a1, $zero -/* 02A048 80029448 0C01ED32 */ jal func_8007B4C8 -/* 02A04C 8002944C 2406000A */ li $a2, 10 -/* 02A050 80029450 0C004B0F */ jal func_80012C3C -/* 02A054 80029454 02602025 */ move $a0, $s3 -/* 02A058 80029458 8FA3016C */ lw $v1, 0x16c($sp) -/* 02A05C 8002945C 8FAC0160 */ lw $t4, 0x160($sp) -/* 02A060 80029460 2472FFFF */ addiu $s2, $v1, -1 -/* 02A064 80029464 024C082A */ slt $at, $s2, $t4 -/* 02A068 80029468 14200060 */ bnez $at, .L800295EC -/* 02A06C 8002946C 258DFFFF */ addiu $t5, $t4, -1 -/* 02A070 80029470 AFAD0044 */ sw $t5, 0x44($sp) -/* 02A074 80029474 02402025 */ move $a0, $s2 -.L80029478: -/* 02A078 80029478 0C003A52 */ jal func_8000E948 -/* 02A07C 8002947C 241000FF */ li $s0, 255 -/* 02A080 80029480 84430006 */ lh $v1, 6($v0) -/* 02A084 80029484 8FB80158 */ lw $t8, 0x158($sp) -/* 02A088 80029488 306E0080 */ andi $t6, $v1, 0x80 -/* 02A08C 8002948C 11C00003 */ beqz $t6, .L8002949C -/* 02A090 80029490 00408825 */ move $s1, $v0 -/* 02A094 80029494 10000006 */ b .L800294B0 -/* 02A098 80029498 24100001 */ li $s0, 1 -.L8002949C: -/* 02A09C 8002949C 306F8000 */ andi $t7, $v1, 0x8000 -/* 02A0A0 800294A0 15E00004 */ bnez $t7, .L800294B4 -/* 02A0A4 800294A4 0078C824 */ and $t9, $v1, $t8 -/* 02A0A8 800294A8 90500039 */ lbu $s0, 0x39($v0) -/* 02A0AC 800294AC 00000000 */ nop -.L800294B0: -/* 02A0B0 800294B0 0078C824 */ and $t9, $v1, $t8 -.L800294B4: -/* 02A0B4 800294B4 13200002 */ beqz $t9, .L800294C0 -/* 02A0B8 800294B8 00000000 */ nop -/* 02A0BC 800294BC 00008025 */ move $s0, $zero -.L800294C0: -/* 02A0C0 800294C0 84480048 */ lh $t0, 0x48($v0) -/* 02A0C4 800294C4 24010001 */ li $at, 1 -/* 02A0C8 800294C8 15010004 */ bne $t0, $at, .L800294DC -/* 02A0CC 800294CC 2A0100FF */ slti $at, $s0, 0xff -/* 02A0D0 800294D0 14200002 */ bnez $at, .L800294DC -/* 02A0D4 800294D4 00000000 */ nop -/* 02A0D8 800294D8 00008025 */ move $s0, $zero -.L800294DC: -/* 02A0DC 800294DC 1040003F */ beqz $v0, .L800295DC -/* 02A0E0 800294E0 2A0100FF */ slti $at, $s0, 0xff -/* 02A0E4 800294E4 1020003E */ beqz $at, .L800295E0 -/* 02A0E8 800294E8 8FA80044 */ lw $t0, 0x44($sp) -/* 02A0EC 800294EC 844A002E */ lh $t2, 0x2e($v0) -/* 02A0F0 800294F0 00000000 */ nop -/* 02A0F4 800294F4 02CA4821 */ addu $t1, $s6, $t2 -/* 02A0F8 800294F8 912B0001 */ lbu $t3, 1($t1) -/* 02A0FC 800294FC 00000000 */ nop -/* 02A100 80029500 11600037 */ beqz $t3, .L800295E0 -/* 02A104 80029504 8FA80044 */ lw $t0, 0x44($sp) -/* 02A108 80029508 0C00AA40 */ jal func_8002A900 -/* 02A10C 8002950C 02202025 */ move $a0, $s1 -/* 02A110 80029510 10400033 */ beqz $v0, .L800295E0 -/* 02A114 80029514 8FA80044 */ lw $t0, 0x44($sp) -/* 02A118 80029518 1A000023 */ blez $s0, .L800295A8 -/* 02A11C 8002951C 00000000 */ nop -/* 02A120 80029520 862C0006 */ lh $t4, 6($s1) -/* 02A124 80029524 02602025 */ move $a0, $s3 -/* 02A128 80029528 318D8000 */ andi $t5, $t4, 0x8000 -/* 02A12C 8002952C 11A00006 */ beqz $t5, .L80029548 -/* 02A130 80029530 02802825 */ move $a1, $s4 -/* 02A134 80029534 02A03025 */ move $a2, $s5 -/* 02A138 80029538 0C004B57 */ jal func_80012D5C -/* 02A13C 8002953C 02203825 */ move $a3, $s1 -/* 02A140 80029540 1000001A */ b .L800295AC -/* 02A144 80029544 86390048 */ lh $t9, 0x48($s1) -.L80029548: -/* 02A148 80029548 8E250050 */ lw $a1, 0x50($s1) -/* 02A14C 8002954C 00000000 */ nop -/* 02A150 80029550 10A00004 */ beqz $a1, .L80029564 -/* 02A154 80029554 02602025 */ move $a0, $s3 -/* 02A158 80029558 0C00B4E1 */ jal func_8002D384 -/* 02A15C 8002955C 02202025 */ move $a0, $s1 -/* 02A160 80029560 02602025 */ move $a0, $s3 -.L80029564: -/* 02A164 80029564 02802825 */ move $a1, $s4 -/* 02A168 80029568 02A03025 */ move $a2, $s5 -/* 02A16C 8002956C 0C004B57 */ jal func_80012D5C -/* 02A170 80029570 02203825 */ move $a3, $s1 -/* 02A174 80029574 8E250058 */ lw $a1, 0x58($s1) -/* 02A178 80029578 00000000 */ nop -/* 02A17C 8002957C 10A0000A */ beqz $a1, .L800295A8 -/* 02A180 80029580 00000000 */ nop -/* 02A184 80029584 8E2E0040 */ lw $t6, 0x40($s1) -/* 02A188 80029588 00000000 */ nop -/* 02A18C 8002958C 95CF0030 */ lhu $t7, 0x30($t6) -/* 02A190 80029590 00000000 */ nop -/* 02A194 80029594 31F80010 */ andi $t8, $t7, 0x10 -/* 02A198 80029598 13000003 */ beqz $t8, .L800295A8 -/* 02A19C 8002959C 00000000 */ nop -/* 02A1A0 800295A0 0C00B59C */ jal func_8002D670 -/* 02A1A4 800295A4 02202025 */ move $a0, $s1 -.L800295A8: -/* 02A1A8 800295A8 86390048 */ lh $t9, 0x48($s1) -.L800295AC: -/* 02A1AC 800295AC 24010001 */ li $at, 1 -/* 02A1B0 800295B0 1721000A */ bne $t9, $at, .L800295DC -/* 02A1B4 800295B4 02602025 */ move $a0, $s3 -/* 02A1B8 800295B8 02802825 */ move $a1, $s4 -/* 02A1BC 800295BC 02A03025 */ move $a2, $s5 -/* 02A1C0 800295C0 0C004E83 */ jal func_80013A0C -/* 02A1C4 800295C4 02203825 */ move $a3, $s1 -/* 02A1C8 800295C8 02602025 */ move $a0, $s3 -/* 02A1CC 800295CC 02802825 */ move $a1, $s4 -/* 02A1D0 800295D0 02A03025 */ move $a2, $s5 -/* 02A1D4 800295D4 0C004F73 */ jal func_80013DCC -/* 02A1D8 800295D8 02203825 */ move $a3, $s1 -.L800295DC: -/* 02A1DC 800295DC 8FA80044 */ lw $t0, 0x44($sp) -.L800295E0: -/* 02A1E0 800295E0 2652FFFF */ addiu $s2, $s2, -1 -/* 02A1E4 800295E4 1648FFA4 */ bne $s2, $t0, .L80029478 -/* 02A1E8 800295E8 02402025 */ move $a0, $s2 -.L800295EC: -/* 02A1EC 800295EC 3C0A800E */ lui $t2, %hi(D_800DC924) # $t2, 0x800e -/* 02A1F0 800295F0 8D4AC924 */ lw $t2, %lo(D_800DC924)($t2) -/* 02A1F4 800295F4 00000000 */ nop -/* 02A1F8 800295F8 1140000C */ beqz $t2, .L8002962C -/* 02A1FC 800295FC 8FBF003C */ lw $ra, 0x3c($sp) -/* 02A200 80029600 0C009D5A */ jal func_80027568 -/* 02A204 80029604 00000000 */ nop -/* 02A208 80029608 10400008 */ beqz $v0, .L8002962C -/* 02A20C 8002960C 8FBF003C */ lw $ra, 0x3c($sp) -/* 02A210 80029610 0C019888 */ jal func_80066220 -/* 02A214 80029614 00000000 */ nop -/* 02A218 80029618 8FA50168 */ lw $a1, 0x168($sp) -/* 02A21C 8002961C 27A400D8 */ addiu $a0, $sp, 0xd8 -/* 02A220 80029620 0C009607 */ jal func_8002581C -/* 02A224 80029624 00403025 */ move $a2, $v0 -/* 02A228 80029628 8FBF003C */ lw $ra, 0x3c($sp) -.L8002962C: -/* 02A22C 8002962C 3C018012 */ lui $at, %hi(D_8011B0FC) # $at, 0x8012 -/* 02A230 80029630 8FB00020 */ lw $s0, 0x20($sp) -/* 02A234 80029634 8FB10024 */ lw $s1, 0x24($sp) -/* 02A238 80029638 8FB20028 */ lw $s2, 0x28($sp) -/* 02A23C 8002963C 8FB3002C */ lw $s3, 0x2c($sp) -/* 02A240 80029640 8FB40030 */ lw $s4, 0x30($sp) -/* 02A244 80029644 8FB50034 */ lw $s5, 0x34($sp) -/* 02A248 80029648 8FB60038 */ lw $s6, 0x38($sp) -/* 02A24C 8002964C AC20B0FC */ sw $zero, %lo(D_8011B0FC)($at) -/* 02A250 80029650 03E00008 */ jr $ra -/* 02A254 80029654 27BD0170 */ addiu $sp, $sp, 0x170 - -glabel func_80029658 -/* 02A258 80029658 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 02A25C 8002965C 3C0E800E */ lui $t6, %hi(D_800DC918) # $t6, 0x800e -/* 02A260 80029660 8DCEC918 */ lw $t6, %lo(D_800DC918)($t6) -/* 02A264 80029664 AFBF003C */ sw $ra, 0x3c($sp) -/* 02A268 80029668 AFBE0038 */ sw $fp, 0x38($sp) -/* 02A26C 8002966C AFB70034 */ sw $s7, 0x34($sp) -/* 02A270 80029670 AFB60030 */ sw $s6, 0x30($sp) -/* 02A274 80029674 AFB5002C */ sw $s5, 0x2c($sp) -/* 02A278 80029678 AFB40028 */ sw $s4, 0x28($sp) -/* 02A27C 8002967C AFB30024 */ sw $s3, 0x24($sp) -/* 02A280 80029680 AFB20020 */ sw $s2, 0x20($sp) -/* 02A284 80029684 AFB1001C */ sw $s1, 0x1c($sp) -/* 02A288 80029688 AFB00018 */ sw $s0, 0x18($sp) -/* 02A28C 8002968C AFA500B4 */ sw $a1, 0xb4($sp) -/* 02A290 80029690 0004C100 */ sll $t8, $a0, 4 -/* 02A294 80029694 8DCF0004 */ lw $t7, 4($t6) -/* 02A298 80029698 0304C021 */ addu $t8, $t8, $a0 -/* 02A29C 8002969C 0018C080 */ sll $t8, $t8, 2 -/* 02A2A0 800296A0 01F8C821 */ addu $t9, $t7, $t8 -/* 02A2A4 800296A4 10A0000A */ beqz $a1, .L800296D0 -/* 02A2A8 800296A8 AFB900AC */ sw $t9, 0xac($sp) -/* 02A2AC 800296AC 3C0C8012 */ lui $t4, %hi(D_8011D384) # $t4, 0x8012 -/* 02A2B0 800296B0 8D8CD384 */ lw $t4, %lo(D_8011D384)($t4) -/* 02A2B4 800296B4 00000000 */ nop -/* 02A2B8 800296B8 11800005 */ beqz $t4, .L800296D0 -/* 02A2BC 800296BC 00000000 */ nop -/* 02A2C0 800296C0 0C02E48A */ jal func_800B9228 -/* 02A2C4 800296C4 03202025 */ move $a0, $t9 -/* 02A2C8 800296C8 10000002 */ b .L800296D4 -/* 02A2CC 800296CC AFA20078 */ sw $v0, 0x78($sp) -.L800296D0: -/* 02A2D0 800296D0 AFA00078 */ sw $zero, 0x78($sp) -.L800296D4: -/* 02A2D4 800296D4 8FAD00B4 */ lw $t5, 0xb4($sp) -/* 02A2D8 800296D8 8FB800AC */ lw $t8, 0xac($sp) -/* 02A2DC 800296DC 11A00007 */ beqz $t5, .L800296FC -/* 02A2E0 800296E0 3C1E8000 */ lui $fp, 0x8000 -/* 02A2E4 800296E4 8FAE00AC */ lw $t6, 0xac($sp) -/* 02A2E8 800296E8 00000000 */ nop -/* 02A2EC 800296EC 85CF0020 */ lh $t7, 0x20($t6) -/* 02A2F0 800296F0 91C20040 */ lbu $v0, 0x40($t6) -/* 02A2F4 800296F4 10000004 */ b .L80029708 -/* 02A2F8 800296F8 AFAF0070 */ sw $t7, 0x70($sp) -.L800296FC: -/* 02A2FC 800296FC 930B0040 */ lbu $t3, 0x40($t8) -/* 02A300 80029700 00001025 */ move $v0, $zero -/* 02A304 80029704 AFAB0070 */ sw $t3, 0x70($sp) -.L80029708: -/* 02A308 80029708 8FAC0070 */ lw $t4, 0x70($sp) -/* 02A30C 8002970C 00404825 */ move $t1, $v0 -/* 02A310 80029710 004C082A */ slt $at, $v0, $t4 -/* 02A314 80029714 102000EC */ beqz $at, .L80029AC8 -/* 02A318 80029718 00025080 */ sll $t2, $v0, 2 -/* 02A31C 8002971C 01425023 */ subu $t2, $t2, $v0 -/* 02A320 80029720 3C128012 */ lui $s2, %hi(D_8011B0A0) # $s2, 0x8012 -/* 02A324 80029724 2652B0A0 */ addiu $s2, %lo(D_8011B0A0) # addiu $s2, $s2, -0x4f60 -/* 02A328 80029728 000A5080 */ sll $t2, $t2, 2 -.L8002972C: -/* 02A32C 8002972C 8FB900AC */ lw $t9, 0xac($sp) -/* 02A330 80029730 00003025 */ move $a2, $zero -/* 02A334 80029734 8F2D000C */ lw $t5, 0xc($t9) -/* 02A338 80029738 00000000 */ nop -/* 02A33C 8002973C 01AA2821 */ addu $a1, $t5, $t2 -/* 02A340 80029740 8CA30008 */ lw $v1, 8($a1) -/* 02A344 80029744 00000000 */ nop -/* 02A348 80029748 30620100 */ andi $v0, $v1, 0x100 -/* 02A34C 8002974C 144000DA */ bnez $v0, .L80029AB8 -/* 02A350 80029750 00608825 */ move $s1, $v1 -/* 02A354 80029754 90A20000 */ lbu $v0, ($a1) -/* 02A358 80029758 240100FF */ li $at, 255 -/* 02A35C 8002975C 14410003 */ bne $v0, $at, .L8002976C -/* 02A360 80029760 00002025 */ move $a0, $zero -/* 02A364 80029764 1000000B */ b .L80029794 -/* 02A368 80029768 0000A825 */ move $s5, $zero -.L8002976C: -/* 02A36C 8002976C 3C0E800E */ lui $t6, %hi(D_800DC918) # $t6, 0x800e -/* 02A370 80029770 8DCEC918 */ lw $t6, %lo(D_800DC918)($t6) -/* 02A374 80029774 0002C0C0 */ sll $t8, $v0, 3 -/* 02A378 80029778 8DCF0000 */ lw $t7, ($t6) -/* 02A37C 8002977C 00000000 */ nop -/* 02A380 80029780 01F85821 */ addu $t3, $t7, $t8 -/* 02A384 80029784 8D750000 */ lw $s5, ($t3) -/* 02A388 80029788 00000000 */ nop -/* 02A38C 8002978C 86A60006 */ lh $a2, 6($s5) -/* 02A390 80029790 00000000 */ nop -.L80029794: -/* 02A394 80029794 362C000A */ ori $t4, $s1, 0xa -/* 02A398 80029798 31990010 */ andi $t9, $t4, 0x10 -/* 02A39C 8002979C 17200007 */ bnez $t9, .L800297BC -/* 02A3A0 800297A0 01808825 */ move $s1, $t4 -/* 02A3A4 800297A4 318D0800 */ andi $t5, $t4, 0x800 -/* 02A3A8 800297A8 15A00004 */ bnez $t5, .L800297BC -/* 02A3AC 800297AC 3C0E8012 */ lui $t6, %hi(D_8011B0FC) # $t6, 0x8012 -/* 02A3B0 800297B0 8DCEB0FC */ lw $t6, %lo(D_8011B0FC)($t6) -/* 02A3B4 800297B4 00000000 */ nop -/* 02A3B8 800297B8 018E8825 */ or $s1, $t4, $t6 -.L800297BC: -/* 02A3BC 800297BC 30CF0004 */ andi $t7, $a2, 4 -/* 02A3C0 800297C0 8FAC00B4 */ lw $t4, 0xb4($sp) -/* 02A3C4 800297C4 8FAD0078 */ lw $t5, 0x78($sp) -/* 02A3C8 800297C8 15E00002 */ bnez $t7, .L800297D4 -/* 02A3CC 800297CC 32382000 */ andi $t8, $s1, 0x2000 -/* 02A3D0 800297D0 13000003 */ beqz $t8, .L800297E0 -.L800297D4: -/* 02A3D4 800297D4 322B0800 */ andi $t3, $s1, 0x800 -/* 02A3D8 800297D8 11600002 */ beqz $t3, .L800297E4 -/* 02A3DC 800297DC 00000000 */ nop -.L800297E0: -/* 02A3E0 800297E0 24040001 */ li $a0, 1 -.L800297E4: -/* 02A3E4 800297E4 11800004 */ beqz $t4, .L800297F8 -/* 02A3E8 800297E8 322E2000 */ andi $t6, $s1, 0x2000 -/* 02A3EC 800297EC 24840001 */ addiu $a0, $a0, 1 -/* 02A3F0 800297F0 30990001 */ andi $t9, $a0, 1 -/* 02A3F4 800297F4 03202025 */ move $a0, $t9 -.L800297F8: -/* 02A3F8 800297F8 11A00004 */ beqz $t5, .L8002980C -/* 02A3FC 800297FC 00000000 */ nop -/* 02A400 80029800 11C00002 */ beqz $t6, .L8002980C -/* 02A404 80029804 00000000 */ nop -/* 02A408 80029808 00002025 */ move $a0, $zero -.L8002980C: -/* 02A40C 8002980C 108000AB */ beqz $a0, .L80029ABC -/* 02A410 80029810 8FAF0070 */ lw $t7, 0x70($sp) -/* 02A414 80029814 84A20002 */ lh $v0, 2($a1) -/* 02A418 80029818 8FAB00AC */ lw $t3, 0xac($sp) -/* 02A41C 8002981C 84A30004 */ lh $v1, 4($a1) -/* 02A420 80029820 84AF000E */ lh $t7, 0xe($a1) -/* 02A424 80029824 84B80010 */ lh $t8, 0x10($a1) -/* 02A428 80029828 90A70007 */ lbu $a3, 7($a1) -/* 02A42C 8002982C 0002C880 */ sll $t9, $v0, 2 -/* 02A430 80029830 8D6C0000 */ lw $t4, ($t3) -/* 02A434 80029834 8D6D0004 */ lw $t5, 4($t3) -/* 02A438 80029838 00112703 */ sra $a0, $s1, 0x1c -/* 02A43C 8002983C 0322C821 */ addu $t9, $t9, $v0 -/* 02A440 80029840 01E29823 */ subu $s3, $t7, $v0 -/* 02A444 80029844 0303A023 */ subu $s4, $t8, $v1 -/* 02A448 80029848 0019C840 */ sll $t9, $t9, 1 -/* 02A44C 8002984C 30980007 */ andi $t8, $a0, 7 -/* 02A450 80029850 00037100 */ sll $t6, $v1, 4 -/* 02A454 80029854 00077B80 */ sll $t7, $a3, 0xe -/* 02A458 80029858 01E03825 */ move $a3, $t7 -/* 02A45C 8002985C 0199B021 */ addu $s6, $t4, $t9 -/* 02A460 80029860 13000018 */ beqz $t8, .L800298C4 -/* 02A464 80029864 01AEB821 */ addu $s7, $t5, $t6 -/* 02A468 80029868 8E500000 */ lw $s0, ($s2) -/* 02A46C 8002986C 3C19FB00 */ lui $t9, 0xfb00 -/* 02A470 80029870 260C0008 */ addiu $t4, $s0, 8 -/* 02A474 80029874 AE4C0000 */ sw $t4, ($s2) -/* 02A478 80029878 3C0B800E */ lui $t3, %hi(D_800DC91C) # $t3, 0x800e -/* 02A47C 8002987C AE190000 */ sw $t9, ($s0) -/* 02A480 80029880 8D6BC91C */ lw $t3, %lo(D_800DC91C)($t3) -/* 02A484 80029884 00186880 */ sll $t5, $t8, 2 -/* 02A488 80029888 016D7021 */ addu $t6, $t3, $t5 -/* 02A48C 8002988C 8DC20070 */ lw $v0, 0x70($t6) -/* 02A490 80029890 00000000 */ nop -/* 02A494 80029894 90590010 */ lbu $t9, 0x10($v0) -/* 02A498 80029898 90580013 */ lbu $t8, 0x13($v0) -/* 02A49C 8002989C 00195E00 */ sll $t3, $t9, 0x18 -/* 02A4A0 800298A0 904F0011 */ lbu $t7, 0x11($v0) -/* 02A4A4 800298A4 030B6825 */ or $t5, $t8, $t3 -/* 02A4A8 800298A8 904B0012 */ lbu $t3, 0x12($v0) -/* 02A4AC 800298AC 000F6400 */ sll $t4, $t7, 0x10 -/* 02A4B0 800298B0 01ACC825 */ or $t9, $t5, $t4 -/* 02A4B4 800298B4 000B7200 */ sll $t6, $t3, 8 -/* 02A4B8 800298B8 032E7825 */ or $t7, $t9, $t6 -/* 02A4BC 800298BC 10000008 */ b .L800298E0 -/* 02A4C0 800298C0 AE0F0004 */ sw $t7, 4($s0) -.L800298C4: -/* 02A4C4 800298C4 8E500000 */ lw $s0, ($s2) -/* 02A4C8 800298C8 3C0CFB00 */ lui $t4, 0xfb00 -/* 02A4CC 800298CC 260D0008 */ addiu $t5, $s0, 8 -/* 02A4D0 800298D0 AE4D0000 */ sw $t5, ($s2) -/* 02A4D4 800298D4 2418FF00 */ li $t8, -256 -/* 02A4D8 800298D8 AE180004 */ sw $t8, 4($s0) -/* 02A4DC 800298DC AE0C0000 */ sw $t4, ($s0) -.L800298E0: -/* 02A4E0 800298E0 00115B40 */ sll $t3, $s1, 0xd -/* 02A4E4 800298E4 05610046 */ bgez $t3, .L80029A00 -/* 02A4E8 800298E8 02402025 */ move $a0, $s2 -/* 02A4EC 800298EC 3C19800E */ lui $t9, %hi(D_800DC91C) # $t9, 0x800e -/* 02A4F0 800298F0 8F39C91C */ lw $t9, %lo(D_800DC91C)($t9) -/* 02A4F4 800298F4 8E500000 */ lw $s0, ($s2) -/* 02A4F8 800298F8 8F2E00AC */ lw $t6, 0xac($t9) -/* 02A4FC 800298FC 260F0008 */ addiu $t7, $s0, 8 -/* 02A500 80029900 8DC80008 */ lw $t0, 8($t6) -/* 02A504 80029904 AE4F0000 */ sw $t7, ($s2) -/* 02A508 80029908 310200FF */ andi $v0, $t0, 0xff -/* 02A50C 8002990C 00026600 */ sll $t4, $v0, 0x18 -/* 02A510 80029910 0002C400 */ sll $t8, $v0, 0x10 -/* 02A514 80029914 01985825 */ or $t3, $t4, $t8 -/* 02A518 80029918 0002CA00 */ sll $t9, $v0, 8 -/* 02A51C 8002991C 01797025 */ or $t6, $t3, $t9 -/* 02A520 80029920 01C27825 */ or $t7, $t6, $v0 -/* 02A524 80029924 3C0DFA00 */ lui $t5, 0xfa00 -/* 02A528 80029928 AE0D0000 */ sw $t5, ($s0) -/* 02A52C 8002992C AE0F0004 */ sw $t7, 4($s0) -/* 02A530 80029930 AFAA0040 */ sw $t2, 0x40($sp) -/* 02A534 80029934 AFA900A8 */ sw $t1, 0xa8($sp) -/* 02A538 80029938 02402025 */ move $a0, $s2 -/* 02A53C 8002993C 02A02825 */ move $a1, $s5 -/* 02A540 80029940 0C01EE97 */ jal func_8007BA5C -/* 02A544 80029944 02203025 */ move $a2, $s1 -/* 02A548 80029948 02DE1821 */ addu $v1, $s6, $fp -/* 02A54C 8002994C 266CFFFF */ addiu $t4, $s3, -1 -/* 02A550 80029950 000CC0C0 */ sll $t8, $t4, 3 -/* 02A554 80029954 306B0006 */ andi $t3, $v1, 6 -/* 02A558 80029958 030BC825 */ or $t9, $t8, $t3 -/* 02A55C 8002995C 8E500000 */ lw $s0, ($s2) -/* 02A560 80029960 001360C0 */ sll $t4, $s3, 3 -/* 02A564 80029964 0193C021 */ addu $t8, $t4, $s3 -/* 02A568 80029968 332E00FF */ andi $t6, $t9, 0xff -/* 02A56C 8002996C 000E7C00 */ sll $t7, $t6, 0x10 -/* 02A570 80029970 00185840 */ sll $t3, $t8, 1 -/* 02A574 80029974 260D0008 */ addiu $t5, $s0, 8 -/* 02A578 80029978 AE4D0000 */ sw $t5, ($s2) -/* 02A57C 8002997C 25790008 */ addiu $t9, $t3, 8 -/* 02A580 80029980 3C010400 */ lui $at, 0x400 -/* 02A584 80029984 8FA900A8 */ lw $t1, 0xa8($sp) -/* 02A588 80029988 8FAA0040 */ lw $t2, 0x40($sp) -/* 02A58C 8002998C 01E16825 */ or $t5, $t7, $at -/* 02A590 80029990 332EFFFF */ andi $t6, $t9, 0xffff -/* 02A594 80029994 01AE7825 */ or $t7, $t5, $t6 -/* 02A598 80029998 AE0F0000 */ sw $t7, ($s0) -/* 02A59C 8002999C AE030004 */ sw $v1, 4($s0) -/* 02A5A0 800299A0 8E500000 */ lw $s0, ($s2) -/* 02A5A4 800299A4 2698FFFF */ addiu $t8, $s4, -1 -/* 02A5A8 800299A8 00185900 */ sll $t3, $t8, 4 -/* 02A5AC 800299AC 35790001 */ ori $t9, $t3, 1 -/* 02A5B0 800299B0 260C0008 */ addiu $t4, $s0, 8 -/* 02A5B4 800299B4 AE4C0000 */ sw $t4, ($s2) -/* 02A5B8 800299B8 332D00FF */ andi $t5, $t9, 0xff -/* 02A5BC 800299BC 000D7400 */ sll $t6, $t5, 0x10 -/* 02A5C0 800299C0 00146100 */ sll $t4, $s4, 4 -/* 02A5C4 800299C4 3C010500 */ lui $at, 0x500 -/* 02A5C8 800299C8 01C17825 */ or $t7, $t6, $at -/* 02A5CC 800299CC 3198FFFF */ andi $t8, $t4, 0xffff -/* 02A5D0 800299D0 01F85825 */ or $t3, $t7, $t8 -/* 02A5D4 800299D4 02FEC821 */ addu $t9, $s7, $fp -/* 02A5D8 800299D8 AE190004 */ sw $t9, 4($s0) -/* 02A5DC 800299DC AE0B0000 */ sw $t3, ($s0) -/* 02A5E0 800299E0 8E500000 */ lw $s0, ($s2) -/* 02A5E4 800299E4 240CFFFF */ li $t4, -1 -/* 02A5E8 800299E8 260D0008 */ addiu $t5, $s0, 8 -/* 02A5EC 800299EC AE4D0000 */ sw $t5, ($s2) -/* 02A5F0 800299F0 3C0EFA00 */ lui $t6, 0xfa00 -/* 02A5F4 800299F4 AE0E0000 */ sw $t6, ($s0) -/* 02A5F8 800299F8 1000002F */ b .L80029AB8 -/* 02A5FC 800299FC AE0C0004 */ sw $t4, 4($s0) -.L80029A00: -/* 02A600 80029A00 02A02825 */ move $a1, $s5 -/* 02A604 80029A04 02203025 */ move $a2, $s1 -/* 02A608 80029A08 AFA900A8 */ sw $t1, 0xa8($sp) -/* 02A60C 80029A0C 0C01ED3A */ jal func_8007B4E8 -/* 02A610 80029A10 AFAA0040 */ sw $t2, 0x40($sp) -/* 02A614 80029A14 8FA900A8 */ lw $t1, 0xa8($sp) -/* 02A618 80029A18 8FAA0040 */ lw $t2, 0x40($sp) -/* 02A61C 80029A1C 16A00002 */ bnez $s5, .L80029A28 -/* 02A620 80029A20 24110001 */ li $s1, 1 -/* 02A624 80029A24 00008825 */ move $s1, $zero -.L80029A28: -/* 02A628 80029A28 02DE1821 */ addu $v1, $s6, $fp -/* 02A62C 80029A2C 2678FFFF */ addiu $t8, $s3, -1 -/* 02A630 80029A30 001858C0 */ sll $t3, $t8, 3 -/* 02A634 80029A34 30790006 */ andi $t9, $v1, 6 -/* 02A638 80029A38 01796825 */ or $t5, $t3, $t9 -/* 02A63C 80029A3C 8E500000 */ lw $s0, ($s2) -/* 02A640 80029A40 0013C0C0 */ sll $t8, $s3, 3 -/* 02A644 80029A44 03135821 */ addu $t3, $t8, $s3 -/* 02A648 80029A48 31AE00FF */ andi $t6, $t5, 0xff -/* 02A64C 80029A4C 000E6400 */ sll $t4, $t6, 0x10 -/* 02A650 80029A50 000BC840 */ sll $t9, $t3, 1 -/* 02A654 80029A54 260F0008 */ addiu $t7, $s0, 8 -/* 02A658 80029A58 AE4F0000 */ sw $t7, ($s2) -/* 02A65C 80029A5C 272D0008 */ addiu $t5, $t9, 8 -/* 02A660 80029A60 3C010400 */ lui $at, 0x400 -/* 02A664 80029A64 01817825 */ or $t7, $t4, $at -/* 02A668 80029A68 31AEFFFF */ andi $t6, $t5, 0xffff -/* 02A66C 80029A6C 01EE6025 */ or $t4, $t7, $t6 -/* 02A670 80029A70 AE0C0000 */ sw $t4, ($s0) -/* 02A674 80029A74 AE030004 */ sw $v1, 4($s0) -/* 02A678 80029A78 8E500000 */ lw $s0, ($s2) -/* 02A67C 80029A7C 268BFFFF */ addiu $t3, $s4, -1 -/* 02A680 80029A80 000BC900 */ sll $t9, $t3, 4 -/* 02A684 80029A84 03316825 */ or $t5, $t9, $s1 -/* 02A688 80029A88 26180008 */ addiu $t8, $s0, 8 -/* 02A68C 80029A8C AE580000 */ sw $t8, ($s2) -/* 02A690 80029A90 31AF00FF */ andi $t7, $t5, 0xff -/* 02A694 80029A94 000F7400 */ sll $t6, $t7, 0x10 -/* 02A698 80029A98 0014C100 */ sll $t8, $s4, 4 -/* 02A69C 80029A9C 3C010500 */ lui $at, 0x500 -/* 02A6A0 80029AA0 01C16025 */ or $t4, $t6, $at -/* 02A6A4 80029AA4 330BFFFF */ andi $t3, $t8, 0xffff -/* 02A6A8 80029AA8 018BC825 */ or $t9, $t4, $t3 -/* 02A6AC 80029AAC 02FE6821 */ addu $t5, $s7, $fp -/* 02A6B0 80029AB0 AE0D0004 */ sw $t5, 4($s0) -/* 02A6B4 80029AB4 AE190000 */ sw $t9, ($s0) -.L80029AB8: -/* 02A6B8 80029AB8 8FAF0070 */ lw $t7, 0x70($sp) -.L80029ABC: -/* 02A6BC 80029ABC 25290001 */ addiu $t1, $t1, 1 -/* 02A6C0 80029AC0 152FFF1A */ bne $t1, $t7, .L8002972C -/* 02A6C4 80029AC4 254A000C */ addiu $t2, $t2, 0xc -.L80029AC8: -/* 02A6C8 80029AC8 8FBF003C */ lw $ra, 0x3c($sp) -/* 02A6CC 80029ACC 8FB00018 */ lw $s0, 0x18($sp) -/* 02A6D0 80029AD0 8FB1001C */ lw $s1, 0x1c($sp) -/* 02A6D4 80029AD4 8FB20020 */ lw $s2, 0x20($sp) -/* 02A6D8 80029AD8 8FB30024 */ lw $s3, 0x24($sp) -/* 02A6DC 80029ADC 8FB40028 */ lw $s4, 0x28($sp) -/* 02A6E0 80029AE0 8FB5002C */ lw $s5, 0x2c($sp) -/* 02A6E4 80029AE4 8FB60030 */ lw $s6, 0x30($sp) -/* 02A6E8 80029AE8 8FB70034 */ lw $s7, 0x34($sp) -/* 02A6EC 80029AEC 8FBE0038 */ lw $fp, 0x38($sp) -/* 02A6F0 80029AF0 03E00008 */ jr $ra -/* 02A6F4 80029AF4 27BD00B0 */ addiu $sp, $sp, 0xb0 - -glabel func_80029AF8 -/* 02A6F8 80029AF8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 02A6FC 80029AFC AFBE0040 */ sw $fp, 0x40($sp) -/* 02A700 80029B00 AFB7003C */ sw $s7, 0x3c($sp) -/* 02A704 80029B04 AFB3002C */ sw $s3, 0x2c($sp) -/* 02A708 80029B08 3C178012 */ lui $s7, %hi(D_8011B0B0) # $s7, 0x8012 -/* 02A70C 80029B0C 3C1E800E */ lui $fp, %hi(D_800DC918) # $fp, 0x800e -/* 02A710 80029B10 AFB60038 */ sw $s6, 0x38($sp) -/* 02A714 80029B14 AFB50034 */ sw $s5, 0x34($sp) -/* 02A718 80029B18 AFB40030 */ sw $s4, 0x30($sp) -/* 02A71C 80029B1C AFB20028 */ sw $s2, 0x28($sp) -/* 02A720 80029B20 AFB10024 */ sw $s1, 0x24($sp) -/* 02A724 80029B24 8FB30058 */ lw $s3, 0x58($sp) -/* 02A728 80029B28 00808825 */ move $s1, $a0 -/* 02A72C 80029B2C 00E09025 */ move $s2, $a3 -/* 02A730 80029B30 00A0A025 */ move $s4, $a1 -/* 02A734 80029B34 00C0A825 */ move $s5, $a2 -/* 02A738 80029B38 2416FFFF */ li $s6, -1 -/* 02A73C 80029B3C 27DEC918 */ addiu $fp, %lo(D_800DC918) # addiu $fp, $fp, -0x36e8 -/* 02A740 80029B40 26F7B0B0 */ addiu $s7, %lo(D_8011B0B0) # addiu $s7, $s7, -0x4f50 -/* 02A744 80029B44 AFBF0044 */ sw $ra, 0x44($sp) -/* 02A748 80029B48 AFB00020 */ sw $s0, 0x20($sp) -.L80029B4C: -/* 02A74C 80029B4C 8FCE0000 */ lw $t6, ($fp) -/* 02A750 80029B50 0011C0C0 */ sll $t8, $s1, 3 -/* 02A754 80029B54 8DCF0014 */ lw $t7, 0x14($t6) -/* 02A758 80029B58 24010001 */ li $at, 1 -/* 02A75C 80029B5C 01F88021 */ addu $s0, $t7, $t8 -/* 02A760 80029B60 92020004 */ lbu $v0, 4($s0) -/* 02A764 80029B64 00000000 */ nop -/* 02A768 80029B68 1440000D */ bnez $v0, .L80029BA0 -/* 02A76C 80029B6C 00000000 */ nop -/* 02A770 80029B70 4448F800 */ cfc1 $t0, $31 -/* 02A774 80029B74 8EF90000 */ lw $t9, ($s7) -/* 02A778 80029B78 35010003 */ ori $at, $t0, 3 -/* 02A77C 80029B7C 38210002 */ xori $at, $at, 2 -/* 02A780 80029B80 44C1F800 */ ctc1 $at, $31 -/* 02A784 80029B84 C724000C */ lwc1 $f4, 0xc($t9) -/* 02A788 80029B88 00000000 */ nop -/* 02A78C 80029B8C 460021A4 */ cvt.w.s $f6, $f4 -/* 02A790 80029B90 44023000 */ mfc1 $v0, $f6 -/* 02A794 80029B94 44C8F800 */ ctc1 $t0, $31 -/* 02A798 80029B98 1000001B */ b .L80029C08 -/* 02A79C 80029B9C 860D0006 */ lh $t5, 6($s0) -.L80029BA0: -/* 02A7A0 80029BA0 1441000D */ bne $v0, $at, .L80029BD8 -/* 02A7A4 80029BA4 00000000 */ nop -/* 02A7A8 80029BA8 444AF800 */ cfc1 $t2, $31 -/* 02A7AC 80029BAC 8EE90000 */ lw $t1, ($s7) -/* 02A7B0 80029BB0 35410003 */ ori $at, $t2, 3 -/* 02A7B4 80029BB4 38210002 */ xori $at, $at, 2 -/* 02A7B8 80029BB8 44C1F800 */ ctc1 $at, $31 -/* 02A7BC 80029BBC C5280010 */ lwc1 $f8, 0x10($t1) -/* 02A7C0 80029BC0 00000000 */ nop -/* 02A7C4 80029BC4 460042A4 */ cvt.w.s $f10, $f8 -/* 02A7C8 80029BC8 44025000 */ mfc1 $v0, $f10 -/* 02A7CC 80029BCC 44CAF800 */ ctc1 $t2, $31 -/* 02A7D0 80029BD0 1000000D */ b .L80029C08 -/* 02A7D4 80029BD4 860D0006 */ lh $t5, 6($s0) -.L80029BD8: -/* 02A7D8 80029BD8 444CF800 */ cfc1 $t4, $31 -/* 02A7DC 80029BDC 8EEB0000 */ lw $t3, ($s7) -/* 02A7E0 80029BE0 35810003 */ ori $at, $t4, 3 -/* 02A7E4 80029BE4 38210002 */ xori $at, $at, 2 -/* 02A7E8 80029BE8 44C1F800 */ ctc1 $at, $31 -/* 02A7EC 80029BEC C5700014 */ lwc1 $f16, 0x14($t3) -/* 02A7F0 80029BF0 00000000 */ nop -/* 02A7F4 80029BF4 460084A4 */ cvt.w.s $f18, $f16 -/* 02A7F8 80029BF8 44CCF800 */ ctc1 $t4, $31 -/* 02A7FC 80029BFC 44029000 */ mfc1 $v0, $f18 -/* 02A800 80029C00 00000000 */ nop -/* 02A804 80029C04 860D0006 */ lh $t5, 6($s0) -.L80029C08: -/* 02A808 80029C08 00000000 */ nop -/* 02A80C 80029C0C 004D082A */ slt $at, $v0, $t5 -/* 02A810 80029C10 1020001C */ beqz $at, .L80029C84 -/* 02A814 80029C14 00000000 */ nop -/* 02A818 80029C18 86040000 */ lh $a0, ($s0) -/* 02A81C 80029C1C 02602825 */ move $a1, $s3 -/* 02A820 80029C20 12C40009 */ beq $s6, $a0, .L80029C48 -/* 02A824 80029C24 02403025 */ move $a2, $s2 -/* 02A828 80029C28 92060005 */ lbu $a2, 5($s0) -/* 02A82C 80029C2C AFB30010 */ sw $s3, 0x10($sp) -/* 02A830 80029C30 02802825 */ move $a1, $s4 -/* 02A834 80029C34 02403825 */ move $a3, $s2 -/* 02A838 80029C38 0C00A6BE */ jal func_80029AF8 -/* 02A83C 80029C3C 24C6FFFF */ addiu $a2, $a2, -1 -/* 02A840 80029C40 10000004 */ b .L80029C54 -/* 02A844 80029C44 86040002 */ lh $a0, 2($s0) -.L80029C48: -/* 02A848 80029C48 0C00A745 */ jal func_80029D14 -/* 02A84C 80029C4C 02802025 */ move $a0, $s4 -/* 02A850 80029C50 86040002 */ lh $a0, 2($s0) -.L80029C54: -/* 02A854 80029C54 00000000 */ nop -/* 02A858 80029C58 12C40004 */ beq $s6, $a0, .L80029C6C -/* 02A85C 80029C5C 00000000 */ nop -/* 02A860 80029C60 92140005 */ lbu $s4, 5($s0) -/* 02A864 80029C64 1000FFB9 */ b .L80029B4C -/* 02A868 80029C68 00808825 */ move $s1, $a0 -.L80029C6C: -/* 02A86C 80029C6C 02A02025 */ move $a0, $s5 -/* 02A870 80029C70 02602825 */ move $a1, $s3 -/* 02A874 80029C74 0C00A745 */ jal func_80029D14 -/* 02A878 80029C78 02403025 */ move $a2, $s2 -/* 02A87C 80029C7C 1000001A */ b .L80029CE8 -/* 02A880 80029C80 8FBF0044 */ lw $ra, 0x44($sp) -.L80029C84: -/* 02A884 80029C84 86040002 */ lh $a0, 2($s0) -/* 02A888 80029C88 02602825 */ move $a1, $s3 -/* 02A88C 80029C8C 12C40008 */ beq $s6, $a0, .L80029CB0 -/* 02A890 80029C90 02403025 */ move $a2, $s2 -/* 02A894 80029C94 92050005 */ lbu $a1, 5($s0) -/* 02A898 80029C98 AFB30010 */ sw $s3, 0x10($sp) -/* 02A89C 80029C9C 02A03025 */ move $a2, $s5 -/* 02A8A0 80029CA0 0C00A6BE */ jal func_80029AF8 -/* 02A8A4 80029CA4 02403825 */ move $a3, $s2 -/* 02A8A8 80029CA8 10000004 */ b .L80029CBC -/* 02A8AC 80029CAC 86040000 */ lh $a0, ($s0) -.L80029CB0: -/* 02A8B0 80029CB0 0C00A745 */ jal func_80029D14 -/* 02A8B4 80029CB4 02A02025 */ move $a0, $s5 -/* 02A8B8 80029CB8 86040000 */ lh $a0, ($s0) -.L80029CBC: -/* 02A8BC 80029CBC 00000000 */ nop -/* 02A8C0 80029CC0 12C40004 */ beq $s6, $a0, .L80029CD4 -/* 02A8C4 80029CC4 00808825 */ move $s1, $a0 -/* 02A8C8 80029CC8 92150005 */ lbu $s5, 5($s0) -/* 02A8CC 80029CCC 1000FF9F */ b .L80029B4C -/* 02A8D0 80029CD0 26B5FFFF */ addiu $s5, $s5, -1 -.L80029CD4: -/* 02A8D4 80029CD4 02802025 */ move $a0, $s4 -/* 02A8D8 80029CD8 02602825 */ move $a1, $s3 -/* 02A8DC 80029CDC 0C00A745 */ jal func_80029D14 -/* 02A8E0 80029CE0 02403025 */ move $a2, $s2 -/* 02A8E4 80029CE4 8FBF0044 */ lw $ra, 0x44($sp) -.L80029CE8: -/* 02A8E8 80029CE8 8FB00020 */ lw $s0, 0x20($sp) -/* 02A8EC 80029CEC 8FB10024 */ lw $s1, 0x24($sp) -/* 02A8F0 80029CF0 8FB20028 */ lw $s2, 0x28($sp) -/* 02A8F4 80029CF4 8FB3002C */ lw $s3, 0x2c($sp) -/* 02A8F8 80029CF8 8FB40030 */ lw $s4, 0x30($sp) -/* 02A8FC 80029CFC 8FB50034 */ lw $s5, 0x34($sp) -/* 02A900 80029D00 8FB60038 */ lw $s6, 0x38($sp) -/* 02A904 80029D04 8FB7003C */ lw $s7, 0x3c($sp) -/* 02A908 80029D08 8FBE0040 */ lw $fp, 0x40($sp) -/* 02A90C 80029D0C 03E00008 */ jr $ra -/* 02A910 80029D10 27BD0048 */ addiu $sp, $sp, 0x48 - -glabel func_80029D14 -/* 02A914 80029D14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02A918 80029D18 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e -/* 02A91C 80029D1C 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) -/* 02A920 80029D20 AFBF0014 */ sw $ra, 0x14($sp) -/* 02A924 80029D24 AFA60020 */ sw $a2, 0x20($sp) -/* 02A928 80029D28 850E001A */ lh $t6, 0x1a($t0) -/* 02A92C 80029D2C 00803825 */ move $a3, $a0 -/* 02A930 80029D30 008E082A */ slt $at, $a0, $t6 -/* 02A934 80029D34 10200026 */ beqz $at, .L80029DD0 -/* 02A938 80029D38 3C038012 */ lui $v1, %hi(D_8011B0D4) # $v1, 0x8012 -/* 02A93C 80029D3C 8C63B0D4 */ lw $v1, %lo(D_8011B0D4)($v1) -/* 02A940 80029D40 2401FFFF */ li $at, -1 -/* 02A944 80029D44 1061000B */ beq $v1, $at, .L80029D74 -/* 02A948 80029D48 24020001 */ li $v0, 1 -/* 02A94C 80029D4C 8D0F0010 */ lw $t7, 0x10($t0) -/* 02A950 80029D50 0004C8C3 */ sra $t9, $a0, 3 -/* 02A954 80029D54 01E3C021 */ addu $t8, $t7, $v1 -/* 02A958 80029D58 03194821 */ addu $t1, $t8, $t9 -/* 02A95C 80029D5C 91220000 */ lbu $v0, ($t1) -/* 02A960 80029D60 308A0007 */ andi $t2, $a0, 7 -/* 02A964 80029D64 01421006 */ srlv $v0, $v0, $t2 -/* 02A968 80029D68 304B00FF */ andi $t3, $v0, 0xff -/* 02A96C 80029D6C 10000001 */ b .L80029D74 -/* 02A970 80029D70 01601025 */ move $v0, $t3 -.L80029D74: -/* 02A974 80029D74 304C0001 */ andi $t4, $v0, 1 -/* 02A978 80029D78 11800015 */ beqz $t4, .L80029DD0 -/* 02A97C 80029D7C 00077080 */ sll $t6, $a3, 2 -/* 02A980 80029D80 8D0D0008 */ lw $t5, 8($t0) -/* 02A984 80029D84 01C77023 */ subu $t6, $t6, $a3 -/* 02A988 80029D88 000E7080 */ sll $t6, $t6, 2 -/* 02A98C 80029D8C AFA70018 */ sw $a3, 0x18($sp) -/* 02A990 80029D90 AFA5001C */ sw $a1, 0x1c($sp) -/* 02A994 80029D94 0C00A97E */ jal func_8002A5F8 -/* 02A998 80029D98 01AE2021 */ addu $a0, $t5, $t6 -/* 02A99C 80029D9C 8FA5001C */ lw $a1, 0x1c($sp) -/* 02A9A0 80029DA0 8FA70018 */ lw $a3, 0x18($sp) -/* 02A9A4 80029DA4 1040000B */ beqz $v0, .L80029DD4 -/* 02A9A8 80029DA8 8FBF0014 */ lw $ra, 0x14($sp) -/* 02A9AC 80029DAC 8FAF0020 */ lw $t7, 0x20($sp) -/* 02A9B0 80029DB0 8CB80000 */ lw $t8, ($a1) -/* 02A9B4 80029DB4 00000000 */ nop -/* 02A9B8 80029DB8 01F8C821 */ addu $t9, $t7, $t8 -/* 02A9BC 80029DBC A3270000 */ sb $a3, ($t9) -/* 02A9C0 80029DC0 8CA90000 */ lw $t1, ($a1) -/* 02A9C4 80029DC4 00000000 */ nop -/* 02A9C8 80029DC8 252A0001 */ addiu $t2, $t1, 1 -/* 02A9CC 80029DCC ACAA0000 */ sw $t2, ($a1) -.L80029DD0: -/* 02A9D0 80029DD0 8FBF0014 */ lw $ra, 0x14($sp) -.L80029DD4: -/* 02A9D4 80029DD4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02A9D8 80029DD8 03E00008 */ jr $ra -/* 02A9DC 80029DDC 00000000 */ nop - -/* 02A9E0 80029DE0 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02A9E4 80029DE4 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 02A9E8 80029DE8 00803025 */ move $a2, $a0 -/* 02A9EC 80029DEC 844E001A */ lh $t6, 0x1a($v0) -/* 02A9F0 80029DF0 00000000 */ nop -/* 02A9F4 80029DF4 00AE082A */ slt $at, $a1, $t6 -/* 02A9F8 80029DF8 14200003 */ bnez $at, .L80029E08 -/* 02A9FC 80029DFC 00000000 */ nop -/* 02AA00 80029E00 03E00008 */ jr $ra -/* 02AA04 80029E04 00001025 */ move $v0, $zero - -.L80029E08: -/* 02AA08 80029E08 4459F800 */ cfc1 $t9, $31 -/* 02AA0C 80029E0C C4C4000C */ lwc1 $f4, 0xc($a2) -/* 02AA10 80029E10 37210003 */ ori $at, $t9, 3 -/* 02AA14 80029E14 38210002 */ xori $at, $at, 2 -/* 02AA18 80029E18 44C1F800 */ ctc1 $at, $31 -/* 02AA1C 80029E1C C4C80010 */ lwc1 $f8, 0x10($a2) -/* 02AA20 80029E20 460021A4 */ cvt.w.s $f6, $f4 -/* 02AA24 80029E24 0005C080 */ sll $t8, $a1, 2 -/* 02AA28 80029E28 44D9F800 */ ctc1 $t9, $31 -/* 02AA2C 80029E2C 8C4F0008 */ lw $t7, 8($v0) -/* 02AA30 80029E30 0305C023 */ subu $t8, $t8, $a1 -/* 02AA34 80029E34 4449F800 */ cfc1 $t1, $31 -/* 02AA38 80029E38 C4D00014 */ lwc1 $f16, 0x14($a2) -/* 02AA3C 80029E3C 35210003 */ ori $at, $t1, 3 -/* 02AA40 80029E40 38210002 */ xori $at, $at, 2 -/* 02AA44 80029E44 44C1F800 */ ctc1 $at, $31 -/* 02AA48 80029E48 0018C080 */ sll $t8, $t8, 2 -/* 02AA4C 80029E4C 460042A4 */ cvt.w.s $f10, $f8 -/* 02AA50 80029E50 01F81821 */ addu $v1, $t7, $t8 -/* 02AA54 80029E54 44C9F800 */ ctc1 $t1, $31 -/* 02AA58 80029E58 846B0006 */ lh $t3, 6($v1) -/* 02AA5C 80029E5C 44043000 */ mfc1 $a0, $f6 -/* 02AA60 80029E60 444AF800 */ cfc1 $t2, $31 -/* 02AA64 80029E64 256C0019 */ addiu $t4, $t3, 0x19 -/* 02AA68 80029E68 35410003 */ ori $at, $t2, 3 -/* 02AA6C 80029E6C 38210002 */ xori $at, $at, 2 -/* 02AA70 80029E70 44C1F800 */ ctc1 $at, $31 -/* 02AA74 80029E74 44075000 */ mfc1 $a3, $f10 -/* 02AA78 80029E78 460084A4 */ cvt.w.s $f18, $f16 -/* 02AA7C 80029E7C 008C082A */ slt $at, $a0, $t4 -/* 02AA80 80029E80 44089000 */ mfc1 $t0, $f18 -/* 02AA84 80029E84 44CAF800 */ ctc1 $t2, $31 -/* 02AA88 80029E88 10200021 */ beqz $at, .L80029F10 -/* 02AA8C 80029E8C 00001025 */ move $v0, $zero -/* 02AA90 80029E90 846D0000 */ lh $t5, ($v1) -/* 02AA94 80029E94 00000000 */ nop -/* 02AA98 80029E98 25AEFFE7 */ addiu $t6, $t5, -0x19 -/* 02AA9C 80029E9C 01C4082A */ slt $at, $t6, $a0 -/* 02AAA0 80029EA0 1020001B */ beqz $at, .L80029F10 -/* 02AAA4 80029EA4 00000000 */ nop -/* 02AAA8 80029EA8 846F000A */ lh $t7, 0xa($v1) -/* 02AAAC 80029EAC 00000000 */ nop -/* 02AAB0 80029EB0 25F80019 */ addiu $t8, $t7, 0x19 -/* 02AAB4 80029EB4 0118082A */ slt $at, $t0, $t8 -/* 02AAB8 80029EB8 10200015 */ beqz $at, .L80029F10 -/* 02AABC 80029EBC 00000000 */ nop -/* 02AAC0 80029EC0 84790004 */ lh $t9, 4($v1) -/* 02AAC4 80029EC4 00000000 */ nop -/* 02AAC8 80029EC8 2729FFE7 */ addiu $t1, $t9, -0x19 -/* 02AACC 80029ECC 0128082A */ slt $at, $t1, $t0 -/* 02AAD0 80029ED0 1020000F */ beqz $at, .L80029F10 -/* 02AAD4 80029ED4 00000000 */ nop -/* 02AAD8 80029ED8 846A0008 */ lh $t2, 8($v1) -/* 02AADC 80029EDC 00000000 */ nop -/* 02AAE0 80029EE0 254B0019 */ addiu $t3, $t2, 0x19 -/* 02AAE4 80029EE4 00EB082A */ slt $at, $a3, $t3 -/* 02AAE8 80029EE8 10200009 */ beqz $at, .L80029F10 -/* 02AAEC 80029EEC 00000000 */ nop -/* 02AAF0 80029EF0 846C0002 */ lh $t4, 2($v1) -/* 02AAF4 80029EF4 00000000 */ nop -/* 02AAF8 80029EF8 258DFFE7 */ addiu $t5, $t4, -0x19 -/* 02AAFC 80029EFC 01A7082A */ slt $at, $t5, $a3 -/* 02AB00 80029F00 10200003 */ beqz $at, .L80029F10 -/* 02AB04 80029F04 00000000 */ nop -/* 02AB08 80029F08 03E00008 */ jr $ra -/* 02AB0C 80029F0C 24020001 */ li $v0, 1 - -.L80029F10: -/* 02AB10 80029F10 03E00008 */ jr $ra -/* 02AB14 80029F14 00000000 */ nop - -glabel func_80029F18 -/* 02AB18 80029F18 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 02AB1C 80029F1C 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02AB20 80029F20 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 02AB24 80029F24 E7B4000C */ swc1 $f20, 0xc($sp) -/* 02AB28 80029F28 4486A000 */ mtc1 $a2, $f20 -/* 02AB2C 80029F2C 14400003 */ bnez $v0, .L80029F3C -/* 02AB30 80029F30 E7B50008 */ swc1 $f21, 8($sp) -/* 02AB34 80029F34 10000045 */ b .L8002A04C -/* 02AB38 80029F38 2402FFFF */ li $v0, -1 -.L80029F3C: -/* 02AB3C 80029F3C 8447001A */ lh $a3, 0x1a($v0) -/* 02AB40 80029F40 3C04000F */ lui $a0, (0x000F4240 >> 16) # lui $a0, 0xf -/* 02AB44 80029F44 34844240 */ ori $a0, (0x000F4240 & 0xFFFF) # ori $a0, $a0, 0x4240 -/* 02AB48 80029F48 2405FFFF */ li $a1, -1 -/* 02AB4C 80029F4C 18E0003E */ blez $a3, .L8002A048 -/* 02AB50 80029F50 00003025 */ move $a2, $zero -/* 02AB54 80029F54 444EF800 */ cfc1 $t6, $31 -/* 02AB58 80029F58 8C490008 */ lw $t1, 8($v0) -/* 02AB5C 80029F5C 35C10003 */ ori $at, $t6, 3 -/* 02AB60 80029F60 38210002 */ xori $at, $at, 2 -/* 02AB64 80029F64 44C1F800 */ ctc1 $at, $31 -/* 02AB68 80029F68 00000000 */ nop -/* 02AB6C 80029F6C 46006124 */ cvt.w.s $f4, $f12 -/* 02AB70 80029F70 44CEF800 */ ctc1 $t6, $31 -/* 02AB74 80029F74 44032000 */ mfc1 $v1, $f4 -/* 02AB78 80029F78 00000000 */ nop -.L80029F7C: -/* 02AB7C 80029F7C 852F0006 */ lh $t7, 6($t1) -/* 02AB80 80029F80 01204025 */ move $t0, $t1 -/* 02AB84 80029F84 006F082A */ slt $at, $v1, $t7 -/* 02AB88 80029F88 1020002B */ beqz $at, .L8002A038 -/* 02AB8C 80029F8C 00000000 */ nop -/* 02AB90 80029F90 85180000 */ lh $t8, ($t0) -/* 02AB94 80029F94 00000000 */ nop -/* 02AB98 80029F98 0303082A */ slt $at, $t8, $v1 -/* 02AB9C 80029F9C 10200026 */ beqz $at, .L8002A038 -/* 02ABA0 80029FA0 00000000 */ nop -/* 02ABA4 80029FA4 4459F800 */ cfc1 $t9, $31 -/* 02ABA8 80029FA8 850A000A */ lh $t2, 0xa($t0) -/* 02ABAC 80029FAC 37210003 */ ori $at, $t9, 3 -/* 02ABB0 80029FB0 38210002 */ xori $at, $at, 2 -/* 02ABB4 80029FB4 44C1F800 */ ctc1 $at, $31 -/* 02ABB8 80029FB8 00000000 */ nop -/* 02ABBC 80029FBC 4600A1A4 */ cvt.w.s $f6, $f20 -/* 02ABC0 80029FC0 44023000 */ mfc1 $v0, $f6 -/* 02ABC4 80029FC4 44D9F800 */ ctc1 $t9, $31 -/* 02ABC8 80029FC8 004A082A */ slt $at, $v0, $t2 -/* 02ABCC 80029FCC 1020001A */ beqz $at, .L8002A038 -/* 02ABD0 80029FD0 00000000 */ nop -/* 02ABD4 80029FD4 850B0004 */ lh $t3, 4($t0) -/* 02ABD8 80029FD8 00000000 */ nop -/* 02ABDC 80029FDC 0162082A */ slt $at, $t3, $v0 -/* 02ABE0 80029FE0 10200015 */ beqz $at, .L8002A038 -/* 02ABE4 80029FE4 00000000 */ nop -/* 02ABE8 80029FE8 444FF800 */ cfc1 $t7, $31 -/* 02ABEC 80029FEC 850C0008 */ lh $t4, 8($t0) -/* 02ABF0 80029FF0 35E10003 */ ori $at, $t7, 3 -/* 02ABF4 80029FF4 38210002 */ xori $at, $at, 2 -/* 02ABF8 80029FF8 44C1F800 */ ctc1 $at, $31 -/* 02ABFC 80029FFC 850D0002 */ lh $t5, 2($t0) -/* 02AC00 8002A000 46007224 */ cvt.w.s $f8, $f14 -/* 02AC04 8002A004 018D1021 */ addu $v0, $t4, $t5 -/* 02AC08 8002A008 44184000 */ mfc1 $t8, $f8 -/* 02AC0C 8002A00C 00027043 */ sra $t6, $v0, 1 -/* 02AC10 8002A010 44CFF800 */ ctc1 $t7, $31 -/* 02AC14 8002A014 030E1023 */ subu $v0, $t8, $t6 -/* 02AC18 8002A018 04410003 */ bgez $v0, .L8002A028 -/* 02AC1C 8002A01C 0044082A */ slt $at, $v0, $a0 -/* 02AC20 8002A020 00021023 */ negu $v0, $v0 -/* 02AC24 8002A024 0044082A */ slt $at, $v0, $a0 -.L8002A028: -/* 02AC28 8002A028 10200003 */ beqz $at, .L8002A038 -/* 02AC2C 8002A02C 00000000 */ nop -/* 02AC30 8002A030 00402025 */ move $a0, $v0 -/* 02AC34 8002A034 00C02825 */ move $a1, $a2 -.L8002A038: -/* 02AC38 8002A038 24C60001 */ addiu $a2, $a2, 1 -/* 02AC3C 8002A03C 00C7082A */ slt $at, $a2, $a3 -/* 02AC40 8002A040 1420FFCE */ bnez $at, .L80029F7C -/* 02AC44 8002A044 2529000C */ addiu $t1, $t1, 0xc -.L8002A048: -/* 02AC48 8002A048 00A01025 */ move $v0, $a1 -.L8002A04C: -/* 02AC4C 8002A04C C7B50008 */ lwc1 $f21, 8($sp) -/* 02AC50 8002A050 C7B4000C */ lwc1 $f20, 0xc($sp) -/* 02AC54 8002A054 03E00008 */ jr $ra -/* 02AC58 8002A058 27BD0010 */ addiu $sp, $sp, 0x10 - -glabel func_8002A05C -/* 02AC5C 8002A05C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 02AC60 8002A060 3C07800E */ lui $a3, %hi(D_800DC918) # $a3, 0x800e -/* 02AC64 8002A064 8CE7C918 */ lw $a3, %lo(D_800DC918)($a3) -/* 02AC68 8002A068 AFB1000C */ sw $s1, 0xc($sp) -/* 02AC6C 8002A06C AFB00008 */ sw $s0, 8($sp) -/* 02AC70 8002A070 84E8001A */ lh $t0, 0x1a($a3) -/* 02AC74 8002A074 00808025 */ move $s0, $a0 -/* 02AC78 8002A078 00A08825 */ move $s1, $a1 -/* 02AC7C 8002A07C 00001825 */ move $v1, $zero -/* 02AC80 8002A080 19000027 */ blez $t0, .L8002A120 -/* 02AC84 8002A084 00001025 */ move $v0, $zero -/* 02AC88 8002A088 00002825 */ move $a1, $zero -.L8002A08C: -/* 02AC8C 8002A08C 8CEE0008 */ lw $t6, 8($a3) -/* 02AC90 8002A090 00000000 */ nop -/* 02AC94 8002A094 01C52021 */ addu $a0, $t6, $a1 -/* 02AC98 8002A098 848F0006 */ lh $t7, 6($a0) -/* 02AC9C 8002A09C 00000000 */ nop -/* 02ACA0 8002A0A0 25F80004 */ addiu $t8, $t7, 4 -/* 02ACA4 8002A0A4 0218082A */ slt $at, $s0, $t8 -/* 02ACA8 8002A0A8 10200019 */ beqz $at, .L8002A110 -/* 02ACAC 8002A0AC 00000000 */ nop -/* 02ACB0 8002A0B0 84990000 */ lh $t9, ($a0) -/* 02ACB4 8002A0B4 00000000 */ nop -/* 02ACB8 8002A0B8 2729FFFC */ addiu $t1, $t9, -4 -/* 02ACBC 8002A0BC 0130082A */ slt $at, $t1, $s0 -/* 02ACC0 8002A0C0 10200013 */ beqz $at, .L8002A110 -/* 02ACC4 8002A0C4 00000000 */ nop -/* 02ACC8 8002A0C8 848A000A */ lh $t2, 0xa($a0) -/* 02ACCC 8002A0CC 00000000 */ nop -/* 02ACD0 8002A0D0 254B0004 */ addiu $t3, $t2, 4 -/* 02ACD4 8002A0D4 022B082A */ slt $at, $s1, $t3 -/* 02ACD8 8002A0D8 1020000D */ beqz $at, .L8002A110 -/* 02ACDC 8002A0DC 00000000 */ nop -/* 02ACE0 8002A0E0 848C0004 */ lh $t4, 4($a0) -/* 02ACE4 8002A0E4 00000000 */ nop -/* 02ACE8 8002A0E8 258DFFFC */ addiu $t5, $t4, -4 -/* 02ACEC 8002A0EC 01B1082A */ slt $at, $t5, $s1 -/* 02ACF0 8002A0F0 10200007 */ beqz $at, .L8002A110 -/* 02ACF4 8002A0F4 00000000 */ nop -/* 02ACF8 8002A0F8 ACC20000 */ sw $v0, ($a2) -/* 02ACFC 8002A0FC 3C07800E */ lui $a3, %hi(D_800DC918) # $a3, 0x800e -/* 02AD00 8002A100 8CE7C918 */ lw $a3, %lo(D_800DC918)($a3) -/* 02AD04 8002A104 24630001 */ addiu $v1, $v1, 1 -/* 02AD08 8002A108 84E8001A */ lh $t0, 0x1a($a3) -/* 02AD0C 8002A10C 24C60004 */ addiu $a2, $a2, 4 -.L8002A110: -/* 02AD10 8002A110 24420001 */ addiu $v0, $v0, 1 -/* 02AD14 8002A114 0048082A */ slt $at, $v0, $t0 -/* 02AD18 8002A118 1420FFDC */ bnez $at, .L8002A08C -/* 02AD1C 8002A11C 24A5000C */ addiu $a1, $a1, 0xc -.L8002A120: -/* 02AD20 8002A120 8FB00008 */ lw $s0, 8($sp) -/* 02AD24 8002A124 8FB1000C */ lw $s1, 0xc($sp) -/* 02AD28 8002A128 27BD0010 */ addiu $sp, $sp, 0x10 -/* 02AD2C 8002A12C 03E00008 */ jr $ra -/* 02AD30 8002A130 00601025 */ move $v0, $v1 - -glabel func_8002A134 -/* 02AD34 8002A134 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02AD38 8002A138 AFB20010 */ sw $s2, 0x10($sp) -/* 02AD3C 8002A13C AFB1000C */ sw $s1, 0xc($sp) -/* 02AD40 8002A140 AFB00008 */ sw $s0, 8($sp) -/* 02AD44 8002A144 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e -/* 02AD48 8002A148 87B0002A */ lh $s0, 0x2a($sp) -/* 02AD4C 8002A14C 87B1002E */ lh $s1, 0x2e($sp) -/* 02AD50 8002A150 87B20032 */ lh $s2, 0x32($sp) -/* 02AD54 8002A154 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) -/* 02AD58 8002A158 AFA5001C */ sw $a1, 0x1c($sp) -/* 02AD5C 8002A15C AFA60020 */ sw $a2, 0x20($sp) -/* 02AD60 8002A160 AFA70024 */ sw $a3, 0x24($sp) -/* 02AD64 8002A164 00A07825 */ move $t7, $a1 -/* 02AD68 8002A168 00C0C825 */ move $t9, $a2 -/* 02AD6C 8002A16C 00E06025 */ move $t4, $a3 -/* 02AD70 8002A170 AFB30014 */ sw $s3, 0x14($sp) -/* 02AD74 8002A174 25E5FFFC */ addiu $a1, $t7, -4 -/* 02AD78 8002A178 2726FFFC */ addiu $a2, $t9, -4 -/* 02AD7C 8002A17C 2587FFFC */ addiu $a3, $t4, -4 -/* 02AD80 8002A180 8509001A */ lh $t1, 0x1a($t0) -/* 02AD84 8002A184 26100004 */ addiu $s0, $s0, 4 -/* 02AD88 8002A188 26310004 */ addiu $s1, $s1, 4 -/* 02AD8C 8002A18C 26520004 */ addiu $s2, $s2, 4 -/* 02AD90 8002A190 00056C00 */ sll $t5, $a1, 0x10 -/* 02AD94 8002A194 00067C00 */ sll $t7, $a2, 0x10 -/* 02AD98 8002A198 0007CC00 */ sll $t9, $a3, 0x10 -/* 02AD9C 8002A19C 00106400 */ sll $t4, $s0, 0x10 -/* 02ADA0 8002A1A0 00117400 */ sll $t6, $s1, 0x10 -/* 02ADA4 8002A1A4 0012C400 */ sll $t8, $s2, 0x10 -/* 02ADA8 8002A1A8 00809825 */ move $s3, $a0 -/* 02ADAC 8002A1AC 000D2C03 */ sra $a1, $t5, 0x10 -/* 02ADB0 8002A1B0 000F3403 */ sra $a2, $t7, 0x10 -/* 02ADB4 8002A1B4 00193C03 */ sra $a3, $t9, 0x10 -/* 02ADB8 8002A1B8 000C8403 */ sra $s0, $t4, 0x10 -/* 02ADBC 8002A1BC 000E8C03 */ sra $s1, $t6, 0x10 -/* 02ADC0 8002A1C0 00189403 */ sra $s2, $t8, 0x10 -/* 02ADC4 8002A1C4 00001025 */ move $v0, $zero -/* 02ADC8 8002A1C8 1920002D */ blez $t1, .L8002A280 -/* 02ADCC 8002A1CC 00001825 */ move $v1, $zero -/* 02ADD0 8002A1D0 00005025 */ move $t2, $zero -.L8002A1D4: -/* 02ADD4 8002A1D4 8D0B0008 */ lw $t3, 8($t0) -/* 02ADD8 8002A1D8 00000000 */ nop -/* 02ADDC 8002A1DC 016A2021 */ addu $a0, $t3, $t2 -/* 02ADE0 8002A1E0 848C0006 */ lh $t4, 6($a0) -/* 02ADE4 8002A1E4 00000000 */ nop -/* 02ADE8 8002A1E8 0185082A */ slt $at, $t4, $a1 -/* 02ADEC 8002A1EC 14200020 */ bnez $at, .L8002A270 -/* 02ADF0 8002A1F0 00000000 */ nop -/* 02ADF4 8002A1F4 848D0000 */ lh $t5, ($a0) -/* 02ADF8 8002A1F8 00000000 */ nop -/* 02ADFC 8002A1FC 020D082A */ slt $at, $s0, $t5 -/* 02AE00 8002A200 1420001B */ bnez $at, .L8002A270 -/* 02AE04 8002A204 00000000 */ nop -/* 02AE08 8002A208 848E000A */ lh $t6, 0xa($a0) -/* 02AE0C 8002A20C 00000000 */ nop -/* 02AE10 8002A210 01C7082A */ slt $at, $t6, $a3 -/* 02AE14 8002A214 14200016 */ bnez $at, .L8002A270 -/* 02AE18 8002A218 00000000 */ nop -/* 02AE1C 8002A21C 848F0004 */ lh $t7, 4($a0) -/* 02AE20 8002A220 00000000 */ nop -/* 02AE24 8002A224 024F082A */ slt $at, $s2, $t7 -/* 02AE28 8002A228 14200011 */ bnez $at, .L8002A270 -/* 02AE2C 8002A22C 00000000 */ nop -/* 02AE30 8002A230 84980008 */ lh $t8, 8($a0) -/* 02AE34 8002A234 00000000 */ nop -/* 02AE38 8002A238 0306082A */ slt $at, $t8, $a2 -/* 02AE3C 8002A23C 1420000C */ bnez $at, .L8002A270 -/* 02AE40 8002A240 00000000 */ nop -/* 02AE44 8002A244 84990002 */ lh $t9, 2($a0) -/* 02AE48 8002A248 00000000 */ nop -/* 02AE4C 8002A24C 0239082A */ slt $at, $s1, $t9 -/* 02AE50 8002A250 14200007 */ bnez $at, .L8002A270 -/* 02AE54 8002A254 00000000 */ nop -/* 02AE58 8002A258 AE620000 */ sw $v0, ($s3) -/* 02AE5C 8002A25C 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e -/* 02AE60 8002A260 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) -/* 02AE64 8002A264 24630001 */ addiu $v1, $v1, 1 -/* 02AE68 8002A268 8509001A */ lh $t1, 0x1a($t0) -/* 02AE6C 8002A26C 26730004 */ addiu $s3, $s3, 4 -.L8002A270: -/* 02AE70 8002A270 24420001 */ addiu $v0, $v0, 1 -/* 02AE74 8002A274 0049082A */ slt $at, $v0, $t1 -/* 02AE78 8002A278 1420FFD6 */ bnez $at, .L8002A1D4 -/* 02AE7C 8002A27C 254A000C */ addiu $t2, $t2, 0xc -.L8002A280: -/* 02AE80 8002A280 8FB00008 */ lw $s0, 8($sp) -/* 02AE84 8002A284 8FB1000C */ lw $s1, 0xc($sp) -/* 02AE88 8002A288 8FB20010 */ lw $s2, 0x10($sp) -/* 02AE8C 8002A28C 8FB30014 */ lw $s3, 0x14($sp) -/* 02AE90 8002A290 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02AE94 8002A294 03E00008 */ jr $ra -/* 02AE98 8002A298 00601025 */ move $v0, $v1 - -/* 02AE9C 8002A29C 04800008 */ bltz $a0, .L8002A2C0 -/* 02AEA0 8002A2A0 3C03800E */ lui $v1, %hi(D_800DC918) # $v1, 0x800e -/* 02AEA4 8002A2A4 8C63C918 */ lw $v1, %lo(D_800DC918)($v1) -/* 02AEA8 8002A2A8 0004C100 */ sll $t8, $a0, 4 -/* 02AEAC 8002A2AC 846E001A */ lh $t6, 0x1a($v1) -/* 02AEB0 8002A2B0 0304C021 */ addu $t8, $t8, $a0 -/* 02AEB4 8002A2B4 01C4082A */ slt $at, $t6, $a0 -/* 02AEB8 8002A2B8 10200003 */ beqz $at, .L8002A2C8 -/* 02AEBC 8002A2BC 00000000 */ nop -.L8002A2C0: -/* 02AEC0 8002A2C0 03E00008 */ jr $ra -/* 02AEC4 8002A2C4 00001025 */ move $v0, $zero - -.L8002A2C8: -/* 02AEC8 8002A2C8 8C6F0004 */ lw $t7, 4($v1) -/* 02AECC 8002A2CC 0018C080 */ sll $t8, $t8, 2 -/* 02AED0 8002A2D0 01F81021 */ addu $v0, $t7, $t8 -/* 02AED4 8002A2D4 03E00008 */ jr $ra -/* 02AED8 8002A2D8 00000000 */ nop - -glabel func_8002A2DC -/* 02AEDC 8002A2DC 04800008 */ bltz $a0, .L8002A300 -/* 02AEE0 8002A2E0 3C03800E */ lui $v1, %hi(D_800DC918) # $v1, 0x800e -/* 02AEE4 8002A2E4 8C63C918 */ lw $v1, %lo(D_800DC918)($v1) -/* 02AEE8 8002A2E8 0004C080 */ sll $t8, $a0, 2 -/* 02AEEC 8002A2EC 846E001A */ lh $t6, 0x1a($v1) -/* 02AEF0 8002A2F0 0304C023 */ subu $t8, $t8, $a0 -/* 02AEF4 8002A2F4 01C4082A */ slt $at, $t6, $a0 -/* 02AEF8 8002A2F8 10200003 */ beqz $at, .L8002A308 -/* 02AEFC 8002A2FC 00000000 */ nop -.L8002A300: -/* 02AF00 8002A300 03E00008 */ jr $ra -/* 02AF04 8002A304 00001025 */ move $v0, $zero - -.L8002A308: -/* 02AF08 8002A308 8C6F0008 */ lw $t7, 8($v1) -/* 02AF0C 8002A30C 0018C080 */ sll $t8, $t8, 2 -/* 02AF10 8002A310 01F81021 */ addu $v0, $t7, $t8 -/* 02AF14 8002A314 03E00008 */ jr $ra -/* 02AF18 8002A318 00000000 */ nop - -glabel func_8002A31C -/* 02AF1C 8002A31C 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 02AF20 8002A320 AFBF007C */ sw $ra, 0x7c($sp) -/* 02AF24 8002A324 AFBE0078 */ sw $fp, 0x78($sp) -/* 02AF28 8002A328 AFB70074 */ sw $s7, 0x74($sp) -/* 02AF2C 8002A32C AFB60070 */ sw $s6, 0x70($sp) -/* 02AF30 8002A330 AFB5006C */ sw $s5, 0x6c($sp) -/* 02AF34 8002A334 AFB40068 */ sw $s4, 0x68($sp) -/* 02AF38 8002A338 AFB30064 */ sw $s3, 0x64($sp) -/* 02AF3C 8002A33C AFB20060 */ sw $s2, 0x60($sp) -/* 02AF40 8002A340 AFB1005C */ sw $s1, 0x5c($sp) -/* 02AF44 8002A344 AFB00058 */ sw $s0, 0x58($sp) -/* 02AF48 8002A348 E7BF0050 */ swc1 $f31, 0x50($sp) -/* 02AF4C 8002A34C E7BE0054 */ swc1 $f30, 0x54($sp) -/* 02AF50 8002A350 E7BD0048 */ swc1 $f29, 0x48($sp) -/* 02AF54 8002A354 E7BC004C */ swc1 $f28, 0x4c($sp) -/* 02AF58 8002A358 E7BB0040 */ swc1 $f27, 0x40($sp) -/* 02AF5C 8002A35C E7BA0044 */ swc1 $f26, 0x44($sp) -/* 02AF60 8002A360 E7B90038 */ swc1 $f25, 0x38($sp) -/* 02AF64 8002A364 E7B8003C */ swc1 $f24, 0x3c($sp) -/* 02AF68 8002A368 E7B70030 */ swc1 $f23, 0x30($sp) -/* 02AF6C 8002A36C E7B60034 */ swc1 $f22, 0x34($sp) -/* 02AF70 8002A370 E7B50028 */ swc1 $f21, 0x28($sp) -/* 02AF74 8002A374 0C01A769 */ jal func_80069DA4 -/* 02AF78 8002A378 E7B4002C */ swc1 $f20, 0x2c($sp) -/* 02AF7C 8002A37C 3C10800E */ lui $s0, %hi(D_800DC8AC) # $s0, 0x800e -/* 02AF80 8002A380 3C118012 */ lui $s1, %hi(D_8011D0F8) # $s1, 0x8012 -/* 02AF84 8002A384 00409025 */ move $s2, $v0 -/* 02AF88 8002A388 2631D0F8 */ addiu $s1, %lo(D_8011D0F8) # addiu $s1, $s1, -0x2f08 -/* 02AF8C 8002A38C 2610C8AC */ addiu $s0, %lo(D_800DC8AC) # addiu $s0, $s0, -0x3754 -/* 02AF90 8002A390 27BE00B8 */ addiu $fp, $sp, 0xb8 -/* 02AF94 8002A394 27B700BC */ addiu $s7, $sp, 0xbc -/* 02AF98 8002A398 27B600C0 */ addiu $s6, $sp, 0xc0 -/* 02AF9C 8002A39C 27B500C4 */ addiu $s5, $sp, 0xc4 -/* 02AFA0 8002A3A0 27B400C8 */ addiu $s4, $sp, 0xc8 -/* 02AFA4 8002A3A4 27B300CC */ addiu $s3, $sp, 0xcc -.L8002A3A8: -/* 02AFA8 8002A3A8 C6000000 */ lwc1 $f0, ($s0) -/* 02AFAC 8002A3AC C6020004 */ lwc1 $f2, 4($s0) -/* 02AFB0 8002A3B0 C60C0008 */ lwc1 $f12, 8($s0) -/* 02AFB4 8002A3B4 44050000 */ mfc1 $a1, $f0 -/* 02AFB8 8002A3B8 44061000 */ mfc1 $a2, $f2 -/* 02AFBC 8002A3BC 44076000 */ mfc1 $a3, $f12 -/* 02AFC0 8002A3C0 02402025 */ move $a0, $s2 -/* 02AFC4 8002A3C4 AFB30010 */ sw $s3, 0x10($sp) -/* 02AFC8 8002A3C8 AFB40014 */ sw $s4, 0x14($sp) -/* 02AFCC 8002A3CC AFB50018 */ sw $s5, 0x18($sp) -/* 02AFD0 8002A3D0 E7A000CC */ swc1 $f0, 0xcc($sp) -/* 02AFD4 8002A3D4 E7A200C8 */ swc1 $f2, 0xc8($sp) -/* 02AFD8 8002A3D8 0C01BD93 */ jal func_8006F64C -/* 02AFDC 8002A3DC E7AC00C4 */ swc1 $f12, 0xc4($sp) -/* 02AFE0 8002A3E0 C60E000C */ lwc1 $f14, 0xc($s0) -/* 02AFE4 8002A3E4 C6100010 */ lwc1 $f16, 0x10($s0) -/* 02AFE8 8002A3E8 C6120014 */ lwc1 $f18, 0x14($s0) -/* 02AFEC 8002A3EC 44057000 */ mfc1 $a1, $f14 -/* 02AFF0 8002A3F0 44068000 */ mfc1 $a2, $f16 -/* 02AFF4 8002A3F4 44079000 */ mfc1 $a3, $f18 -/* 02AFF8 8002A3F8 02402025 */ move $a0, $s2 -/* 02AFFC 8002A3FC AFB60010 */ sw $s6, 0x10($sp) -/* 02B000 8002A400 AFB70014 */ sw $s7, 0x14($sp) -/* 02B004 8002A404 AFBE0018 */ sw $fp, 0x18($sp) -/* 02B008 8002A408 E7AE00C0 */ swc1 $f14, 0xc0($sp) -/* 02B00C 8002A40C E7B000BC */ swc1 $f16, 0xbc($sp) -/* 02B010 8002A410 0C01BD93 */ jal func_8006F64C -/* 02B014 8002A414 E7B200B8 */ swc1 $f18, 0xb8($sp) -/* 02B018 8002A418 C61A0018 */ lwc1 $f26, 0x18($s0) -/* 02B01C 8002A41C C61C001C */ lwc1 $f28, 0x1c($s0) -/* 02B020 8002A420 C61E0020 */ lwc1 $f30, 0x20($s0) -/* 02B024 8002A424 27AE00B4 */ addiu $t6, $sp, 0xb4 -/* 02B028 8002A428 27AF00B0 */ addiu $t7, $sp, 0xb0 -/* 02B02C 8002A42C 27B800AC */ addiu $t8, $sp, 0xac -/* 02B030 8002A430 4405D000 */ mfc1 $a1, $f26 -/* 02B034 8002A434 4406E000 */ mfc1 $a2, $f28 -/* 02B038 8002A438 4407F000 */ mfc1 $a3, $f30 -/* 02B03C 8002A43C AFB80018 */ sw $t8, 0x18($sp) -/* 02B040 8002A440 AFAF0014 */ sw $t7, 0x14($sp) -/* 02B044 8002A444 AFAE0010 */ sw $t6, 0x10($sp) -/* 02B048 8002A448 02402025 */ move $a0, $s2 -/* 02B04C 8002A44C E7BA00B4 */ swc1 $f26, 0xb4($sp) -/* 02B050 8002A450 E7BC00B0 */ swc1 $f28, 0xb0($sp) -/* 02B054 8002A454 0C01BD93 */ jal func_8006F64C -/* 02B058 8002A458 E7BE00AC */ swc1 $f30, 0xac($sp) -/* 02B05C 8002A45C C7B200B8 */ lwc1 $f18, 0xb8($sp) -/* 02B060 8002A460 C7BE00AC */ lwc1 $f30, 0xac($sp) -/* 02B064 8002A464 C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 02B068 8002A468 461E9101 */ sub.s $f4, $f18, $f30 -/* 02B06C 8002A46C C7AC00C4 */ lwc1 $f12, 0xc4($sp) -/* 02B070 8002A470 46022182 */ mul.s $f6, $f4, $f2 -/* 02B074 8002A474 C7B000BC */ lwc1 $f16, 0xbc($sp) -/* 02B078 8002A478 C7BC00B0 */ lwc1 $f28, 0xb0($sp) -/* 02B07C 8002A47C C7AE00C0 */ lwc1 $f14, 0xc0($sp) -/* 02B080 8002A480 460CF201 */ sub.s $f8, $f30, $f12 -/* 02B084 8002A484 C7BA00B4 */ lwc1 $f26, 0xb4($sp) -/* 02B088 8002A488 46088282 */ mul.s $f10, $f16, $f8 -/* 02B08C 8002A48C 46126201 */ sub.s $f8, $f12, $f18 -/* 02B090 8002A490 C7A000CC */ lwc1 $f0, 0xcc($sp) -/* 02B094 8002A494 460A3100 */ add.s $f4, $f6, $f10 -/* 02B098 8002A498 4608E182 */ mul.s $f6, $f28, $f8 -/* 02B09C 8002A49C 461A7281 */ sub.s $f10, $f14, $f26 -/* 02B0A0 8002A4A0 460C5202 */ mul.s $f8, $f10, $f12 -/* 02B0A4 8002A4A4 46062500 */ add.s $f20, $f4, $f6 -/* 02B0A8 8002A4A8 4600D101 */ sub.s $f4, $f26, $f0 -/* 02B0AC 8002A4AC 46049182 */ mul.s $f6, $f18, $f4 -/* 02B0B0 8002A4B0 460E0101 */ sub.s $f4, $f0, $f14 -/* 02B0B4 8002A4B4 46064280 */ add.s $f10, $f8, $f6 -/* 02B0B8 8002A4B8 4604F202 */ mul.s $f8, $f30, $f4 -/* 02B0BC 8002A4BC 461C8181 */ sub.s $f6, $f16, $f28 -/* 02B0C0 8002A4C0 46003102 */ mul.s $f4, $f6, $f0 -/* 02B0C4 8002A4C4 46085580 */ add.s $f22, $f10, $f8 -/* 02B0C8 8002A4C8 4602E281 */ sub.s $f10, $f28, $f2 -/* 02B0CC 8002A4CC 460A7202 */ mul.s $f8, $f14, $f10 -/* 02B0D0 8002A4D0 46101281 */ sub.s $f10, $f2, $f16 -/* 02B0D4 8002A4D4 46082180 */ add.s $f6, $f4, $f8 -/* 02B0D8 8002A4D8 460AD102 */ mul.s $f4, $f26, $f10 -/* 02B0DC 8002A4DC 00000000 */ nop -/* 02B0E0 8002A4E0 4614A202 */ mul.s $f8, $f20, $f20 -/* 02B0E4 8002A4E4 46043600 */ add.s $f24, $f6, $f4 -/* 02B0E8 8002A4E8 4616B282 */ mul.s $f10, $f22, $f22 -/* 02B0EC 8002A4EC 00000000 */ nop -/* 02B0F0 8002A4F0 4618C102 */ mul.s $f4, $f24, $f24 -/* 02B0F4 8002A4F4 460A4180 */ add.s $f6, $f8, $f10 -/* 02B0F8 8002A4F8 0C0326B4 */ jal sqrtf -/* 02B0FC 8002A4FC 46043300 */ add.s $f12, $f6, $f4 -/* 02B100 8002A500 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 02B104 8002A504 44814800 */ mtc1 $at, $f9 -/* 02B108 8002A508 44804000 */ mtc1 $zero, $f8 -/* 02B10C 8002A50C 460002A1 */ cvt.d.s $f10, $f0 -/* 02B110 8002A510 00000000 */ nop -/* 02B114 8002A514 462A4183 */ div.d $f6, $f8, $f10 -/* 02B118 8002A518 44802800 */ mtc1 $zero, $f5 -/* 02B11C 8002A51C 44802000 */ mtc1 $zero, $f4 -/* 02B120 8002A520 C7A000CC */ lwc1 $f0, 0xcc($sp) -/* 02B124 8002A524 462030A0 */ cvt.s.d $f2, $f6 -/* 02B128 8002A528 46001221 */ cvt.d.s $f8, $f2 -/* 02B12C 8002A52C 4628203C */ c.lt.d $f4, $f8 -/* 02B130 8002A530 00000000 */ nop -/* 02B134 8002A534 45000007 */ bc1f .L8002A554 -/* 02B138 8002A538 00000000 */ nop -/* 02B13C 8002A53C 4602A502 */ mul.s $f20, $f20, $f2 -/* 02B140 8002A540 00000000 */ nop -/* 02B144 8002A544 4602B582 */ mul.s $f22, $f22, $f2 -/* 02B148 8002A548 00000000 */ nop -/* 02B14C 8002A54C 4602C602 */ mul.s $f24, $f24, $f2 -/* 02B150 8002A550 00000000 */ nop -.L8002A554: -/* 02B154 8002A554 46140282 */ mul.s $f10, $f0, $f20 -/* 02B158 8002A558 C7A200C8 */ lwc1 $f2, 0xc8($sp) -/* 02B15C 8002A55C C7AC00C4 */ lwc1 $f12, 0xc4($sp) -/* 02B160 8002A560 3C198012 */ lui $t9, %hi(D_8011D128) # $t9, 0x8012 -/* 02B164 8002A564 46161182 */ mul.s $f6, $f2, $f22 -/* 02B168 8002A568 2739D128 */ addiu $t9, %lo(D_8011D128) # addiu $t9, $t9, -0x2ed8 -/* 02B16C 8002A56C 26310010 */ addiu $s1, $s1, 0x10 -/* 02B170 8002A570 E634FFF0 */ swc1 $f20, -0x10($s1) -/* 02B174 8002A574 46186202 */ mul.s $f8, $f12, $f24 -/* 02B178 8002A578 46065100 */ add.s $f4, $f10, $f6 -/* 02B17C 8002A57C E636FFF4 */ swc1 $f22, -0xc($s1) -/* 02B180 8002A580 E638FFF8 */ swc1 $f24, -8($s1) -/* 02B184 8002A584 46082280 */ add.s $f10, $f4, $f8 -/* 02B188 8002A588 26100024 */ addiu $s0, $s0, 0x24 -/* 02B18C 8002A58C 46005187 */ neg.s $f6, $f10 -/* 02B190 8002A590 1639FF85 */ bne $s1, $t9, .L8002A3A8 -/* 02B194 8002A594 E626FFFC */ swc1 $f6, -4($s1) -/* 02B198 8002A598 8FBF007C */ lw $ra, 0x7c($sp) -/* 02B19C 8002A59C C7B50028 */ lwc1 $f21, 0x28($sp) -/* 02B1A0 8002A5A0 C7B4002C */ lwc1 $f20, 0x2c($sp) -/* 02B1A4 8002A5A4 C7B70030 */ lwc1 $f23, 0x30($sp) -/* 02B1A8 8002A5A8 C7B60034 */ lwc1 $f22, 0x34($sp) -/* 02B1AC 8002A5AC C7B90038 */ lwc1 $f25, 0x38($sp) -/* 02B1B0 8002A5B0 C7B8003C */ lwc1 $f24, 0x3c($sp) -/* 02B1B4 8002A5B4 C7BB0040 */ lwc1 $f27, 0x40($sp) -/* 02B1B8 8002A5B8 C7BA0044 */ lwc1 $f26, 0x44($sp) -/* 02B1BC 8002A5BC C7BD0048 */ lwc1 $f29, 0x48($sp) -/* 02B1C0 8002A5C0 C7BC004C */ lwc1 $f28, 0x4c($sp) -/* 02B1C4 8002A5C4 C7BF0050 */ lwc1 $f31, 0x50($sp) -/* 02B1C8 8002A5C8 C7BE0054 */ lwc1 $f30, 0x54($sp) -/* 02B1CC 8002A5CC 8FB00058 */ lw $s0, 0x58($sp) -/* 02B1D0 8002A5D0 8FB1005C */ lw $s1, 0x5c($sp) -/* 02B1D4 8002A5D4 8FB20060 */ lw $s2, 0x60($sp) -/* 02B1D8 8002A5D8 8FB30064 */ lw $s3, 0x64($sp) -/* 02B1DC 8002A5DC 8FB40068 */ lw $s4, 0x68($sp) -/* 02B1E0 8002A5E0 8FB5006C */ lw $s5, 0x6c($sp) -/* 02B1E4 8002A5E4 8FB60070 */ lw $s6, 0x70($sp) -/* 02B1E8 8002A5E8 8FB70074 */ lw $s7, 0x74($sp) -/* 02B1EC 8002A5EC 8FBE0078 */ lw $fp, 0x78($sp) -/* 02B1F0 8002A5F0 03E00008 */ jr $ra -/* 02B1F4 8002A5F4 27BD00D0 */ addiu $sp, $sp, 0xd0 - -glabel func_8002A5F8 -/* 02B1F8 8002A5F8 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 02B1FC 8002A5FC AFB30040 */ sw $s3, 0x40($sp) -/* 02B200 8002A600 AFB10038 */ sw $s1, 0x38($sp) -/* 02B204 8002A604 3C138012 */ lui $s3, %hi(D_8011D0F8) # $s3, 0x8012 -/* 02B208 8002A608 00808825 */ move $s1, $a0 -/* 02B20C 8002A60C AFBF0044 */ sw $ra, 0x44($sp) -/* 02B210 8002A610 AFB2003C */ sw $s2, 0x3c($sp) -/* 02B214 8002A614 AFB00034 */ sw $s0, 0x34($sp) -/* 02B218 8002A618 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 02B21C 8002A61C E7BA002C */ swc1 $f26, 0x2c($sp) -/* 02B220 8002A620 E7B90020 */ swc1 $f25, 0x20($sp) -/* 02B224 8002A624 E7B80024 */ swc1 $f24, 0x24($sp) -/* 02B228 8002A628 E7B70018 */ swc1 $f23, 0x18($sp) -/* 02B22C 8002A62C E7B6001C */ swc1 $f22, 0x1c($sp) -/* 02B230 8002A630 E7B50010 */ swc1 $f21, 0x10($sp) -/* 02B234 8002A634 E7B40014 */ swc1 $f20, 0x14($sp) -/* 02B238 8002A638 2673D0F8 */ addiu $s3, %lo(D_8011D0F8) # addiu $s3, $s3, -0x2f08 -.L8002A63C: -/* 02B23C 8002A63C C6740000 */ lwc1 $f20, ($s3) -/* 02B240 8002A640 C6760004 */ lwc1 $f22, 4($s3) -/* 02B244 8002A644 C6780008 */ lwc1 $f24, 8($s3) -/* 02B248 8002A648 C67A000C */ lwc1 $f26, 0xc($s3) -/* 02B24C 8002A64C 00008025 */ move $s0, $zero -/* 02B250 8002A650 00009025 */ move $s2, $zero -/* 02B254 8002A654 320E0001 */ andi $t6, $s0, 1 -.L8002A658: -/* 02B258 8002A658 11C0000C */ beqz $t6, .L8002A68C -/* 02B25C 8002A65C 00000000 */ nop -/* 02B260 8002A660 862F0000 */ lh $t7, ($s1) -/* 02B264 8002A664 00000000 */ nop -/* 02B268 8002A668 448F2000 */ mtc1 $t7, $f4 -/* 02B26C 8002A66C 00000000 */ nop -/* 02B270 8002A670 468021A0 */ cvt.s.w $f6, $f4 -/* 02B274 8002A674 46143302 */ mul.s $f12, $f6, $f20 -/* 02B278 8002A678 0C0326D3 */ jal func_800C9B4C -/* 02B27C 8002A67C 00000000 */ nop -/* 02B280 8002A680 AFA20048 */ sw $v0, 0x48($sp) -/* 02B284 8002A684 1000000B */ b .L8002A6B4 -/* 02B288 8002A688 AFA3004C */ sw $v1, 0x4c($sp) -.L8002A68C: -/* 02B28C 8002A68C 86380006 */ lh $t8, 6($s1) -/* 02B290 8002A690 00000000 */ nop -/* 02B294 8002A694 44984000 */ mtc1 $t8, $f8 -/* 02B298 8002A698 00000000 */ nop -/* 02B29C 8002A69C 468042A0 */ cvt.s.w $f10, $f8 -/* 02B2A0 8002A6A0 46145302 */ mul.s $f12, $f10, $f20 -/* 02B2A4 8002A6A4 0C0326D3 */ jal func_800C9B4C -/* 02B2A8 8002A6A8 00000000 */ nop -/* 02B2AC 8002A6AC AFA20048 */ sw $v0, 0x48($sp) -/* 02B2B0 8002A6B0 AFA3004C */ sw $v1, 0x4c($sp) -.L8002A6B4: -/* 02B2B4 8002A6B4 32190002 */ andi $t9, $s0, 2 -/* 02B2B8 8002A6B8 13200011 */ beqz $t9, .L8002A700 -/* 02B2BC 8002A6BC 8FA40048 */ lw $a0, 0x48($sp) -/* 02B2C0 8002A6C0 8FA40048 */ lw $a0, 0x48($sp) -/* 02B2C4 8002A6C4 8FA5004C */ lw $a1, 0x4c($sp) -/* 02B2C8 8002A6C8 0C03272F */ jal func_800C9CBC -/* 02B2CC 8002A6CC 00000000 */ nop -/* 02B2D0 8002A6D0 86280002 */ lh $t0, 2($s1) -/* 02B2D4 8002A6D4 00000000 */ nop -/* 02B2D8 8002A6D8 44888000 */ mtc1 $t0, $f16 -/* 02B2DC 8002A6DC 00000000 */ nop -/* 02B2E0 8002A6E0 468084A0 */ cvt.s.w $f18, $f16 -/* 02B2E4 8002A6E4 46169102 */ mul.s $f4, $f18, $f22 -/* 02B2E8 8002A6E8 0C0326D3 */ jal func_800C9B4C -/* 02B2EC 8002A6EC 46040300 */ add.s $f12, $f0, $f4 -/* 02B2F0 8002A6F0 AFA20048 */ sw $v0, 0x48($sp) -/* 02B2F4 8002A6F4 1000000F */ b .L8002A734 -/* 02B2F8 8002A6F8 AFA3004C */ sw $v1, 0x4c($sp) -/* 02B2FC 8002A6FC 8FA40048 */ lw $a0, 0x48($sp) -.L8002A700: -/* 02B300 8002A700 8FA5004C */ lw $a1, 0x4c($sp) -/* 02B304 8002A704 0C03272F */ jal func_800C9CBC -/* 02B308 8002A708 00000000 */ nop -/* 02B30C 8002A70C 86290008 */ lh $t1, 8($s1) -/* 02B310 8002A710 00000000 */ nop -/* 02B314 8002A714 44893000 */ mtc1 $t1, $f6 -/* 02B318 8002A718 00000000 */ nop -/* 02B31C 8002A71C 46803220 */ cvt.s.w $f8, $f6 -/* 02B320 8002A720 46164282 */ mul.s $f10, $f8, $f22 -/* 02B324 8002A724 0C0326D3 */ jal func_800C9B4C -/* 02B328 8002A728 460A0300 */ add.s $f12, $f0, $f10 -/* 02B32C 8002A72C AFA20048 */ sw $v0, 0x48($sp) -/* 02B330 8002A730 AFA3004C */ sw $v1, 0x4c($sp) -.L8002A734: -/* 02B334 8002A734 320A0004 */ andi $t2, $s0, 4 -/* 02B338 8002A738 11400011 */ beqz $t2, .L8002A780 -/* 02B33C 8002A73C 8FA40048 */ lw $a0, 0x48($sp) -/* 02B340 8002A740 8FA40048 */ lw $a0, 0x48($sp) -/* 02B344 8002A744 8FA5004C */ lw $a1, 0x4c($sp) -/* 02B348 8002A748 0C03272F */ jal func_800C9CBC -/* 02B34C 8002A74C 00000000 */ nop -/* 02B350 8002A750 862B0004 */ lh $t3, 4($s1) -/* 02B354 8002A754 00000000 */ nop -/* 02B358 8002A758 448B8000 */ mtc1 $t3, $f16 -/* 02B35C 8002A75C 00000000 */ nop -/* 02B360 8002A760 468084A0 */ cvt.s.w $f18, $f16 -/* 02B364 8002A764 46189102 */ mul.s $f4, $f18, $f24 -/* 02B368 8002A768 0C0326D3 */ jal func_800C9B4C -/* 02B36C 8002A76C 46040300 */ add.s $f12, $f0, $f4 -/* 02B370 8002A770 AFA20048 */ sw $v0, 0x48($sp) -/* 02B374 8002A774 1000000F */ b .L8002A7B4 -/* 02B378 8002A778 AFA3004C */ sw $v1, 0x4c($sp) -/* 02B37C 8002A77C 8FA40048 */ lw $a0, 0x48($sp) -.L8002A780: -/* 02B380 8002A780 8FA5004C */ lw $a1, 0x4c($sp) -/* 02B384 8002A784 0C03272F */ jal func_800C9CBC -/* 02B388 8002A788 00000000 */ nop -/* 02B38C 8002A78C 862C000A */ lh $t4, 0xa($s1) -/* 02B390 8002A790 00000000 */ nop -/* 02B394 8002A794 448C3000 */ mtc1 $t4, $f6 -/* 02B398 8002A798 00000000 */ nop -/* 02B39C 8002A79C 46803220 */ cvt.s.w $f8, $f6 -/* 02B3A0 8002A7A0 46184282 */ mul.s $f10, $f8, $f24 -/* 02B3A4 8002A7A4 0C0326D3 */ jal func_800C9B4C -/* 02B3A8 8002A7A8 460A0300 */ add.s $f12, $f0, $f10 -/* 02B3AC 8002A7AC AFA20048 */ sw $v0, 0x48($sp) -/* 02B3B0 8002A7B0 AFA3004C */ sw $v1, 0x4c($sp) -.L8002A7B4: -/* 02B3B4 8002A7B4 8FA40048 */ lw $a0, 0x48($sp) -/* 02B3B8 8002A7B8 8FA5004C */ lw $a1, 0x4c($sp) -/* 02B3BC 8002A7BC 0C03272F */ jal func_800C9CBC -/* 02B3C0 8002A7C0 00000000 */ nop -/* 02B3C4 8002A7C4 0C0326D3 */ jal func_800C9B4C -/* 02B3C8 8002A7C8 461A0300 */ add.s $f12, $f0, $f26 -/* 02B3CC 8002A7CC AFA20048 */ sw $v0, 0x48($sp) -/* 02B3D0 8002A7D0 04400006 */ bltz $v0, .L8002A7EC -/* 02B3D4 8002A7D4 AFA3004C */ sw $v1, 0x4c($sp) -/* 02B3D8 8002A7D8 1C400003 */ bgtz $v0, .L8002A7E8 -/* 02B3DC 8002A7DC 00000000 */ nop -/* 02B3E0 8002A7E0 10600002 */ beqz $v1, .L8002A7EC -/* 02B3E4 8002A7E4 00000000 */ nop -.L8002A7E8: -/* 02B3E8 8002A7E8 24120001 */ li $s2, 1 -.L8002A7EC: -/* 02B3EC 8002A7EC 26100001 */ addiu $s0, $s0, 1 -/* 02B3F0 8002A7F0 2A010008 */ slti $at, $s0, 8 -/* 02B3F4 8002A7F4 10200004 */ beqz $at, .L8002A808 -/* 02B3F8 8002A7F8 24010008 */ li $at, 8 -/* 02B3FC 8002A7FC 1240FF96 */ beqz $s2, .L8002A658 -/* 02B400 8002A800 320E0001 */ andi $t6, $s0, 1 -/* 02B404 8002A804 24010008 */ li $at, 8 -.L8002A808: -/* 02B408 8002A808 16010005 */ bne $s0, $at, .L8002A820 -/* 02B40C 8002A80C 26730010 */ addiu $s3, $s3, 0x10 -/* 02B410 8002A810 16400003 */ bnez $s2, .L8002A820 -/* 02B414 8002A814 00000000 */ nop -/* 02B418 8002A818 1000002A */ b .L8002A8C4 -/* 02B41C 8002A81C 00001025 */ move $v0, $zero -.L8002A820: -/* 02B420 8002A820 3C0D8012 */ lui $t5, %hi(D_8011D128) # $t5, 0x8012 -/* 02B424 8002A824 25ADD128 */ addiu $t5, %lo(D_8011D128) # addiu $t5, $t5, -0x2ed8 -/* 02B428 8002A828 166DFF84 */ bne $s3, $t5, .L8002A63C -/* 02B42C 8002A82C 00000000 */ nop -/* 02B430 8002A830 86380006 */ lh $t8, 6($s1) -/* 02B434 8002A834 86390000 */ lh $t9, ($s1) -/* 02B438 8002A838 862F000A */ lh $t7, 0xa($s1) -/* 02B43C 8002A83C 862D0004 */ lh $t5, 4($s1) -/* 02B440 8002A840 03194021 */ addu $t0, $t8, $t9 -/* 02B444 8002A844 01EDC021 */ addu $t8, $t7, $t5 -/* 02B448 8002A848 0018C843 */ sra $t9, $t8, 1 -/* 02B44C 8002A84C 862A0008 */ lh $t2, 8($s1) -/* 02B450 8002A850 862B0002 */ lh $t3, 2($s1) -/* 02B454 8002A854 44992000 */ mtc1 $t9, $f4 -/* 02B458 8002A858 014B6021 */ addu $t4, $t2, $t3 -/* 02B45C 8002A85C 46802020 */ cvt.s.w $f0, $f4 -/* 02B460 8002A860 00084843 */ sra $t1, $t0, 1 -/* 02B464 8002A864 000C7043 */ sra $t6, $t4, 1 -/* 02B468 8002A868 44898000 */ mtc1 $t1, $f16 -/* 02B46C 8002A86C 448E9000 */ mtc1 $t6, $f18 -/* 02B470 8002A870 44060000 */ mfc1 $a2, $f0 -/* 02B474 8002A874 46808320 */ cvt.s.w $f12, $f16 -/* 02B478 8002A878 0C0198D2 */ jal func_80066348 -/* 02B47C 8002A87C 468093A0 */ cvt.s.w $f14, $f18 -/* 02B480 8002A880 3C028012 */ lui $v0, %hi(D_8011D380) # $v0, 0x8012 -/* 02B484 8002A884 2442D380 */ addiu $v0, %lo(D_8011D380) # addiu $v0, $v0, -0x2c80 -/* 02B488 8002A888 E4400000 */ swc1 $f0, ($v0) -/* 02B48C 8002A88C 3C01800E */ lui $at, %hi(D_800E5EAC) # $at, 0x800e -/* 02B490 8002A890 C4460000 */ lwc1 $f6, ($v0) -/* 02B494 8002A894 C42B5EA8 */ lwc1 $f11, %lo(D_800E5EA8)($at) -/* 02B498 8002A898 C42A5EAC */ lwc1 $f10, %lo(D_800E5EAC)($at) -/* 02B49C 8002A89C 46003221 */ cvt.d.s $f8, $f6 -/* 02B4A0 8002A8A0 462A403C */ c.lt.d $f8, $f10 -/* 02B4A4 8002A8A4 3C018012 */ lui $at, 0x8012 -/* 02B4A8 8002A8A8 45000005 */ bc1f .L8002A8C0 -/* 02B4AC 8002A8AC 24020001 */ li $v0, 1 -/* 02B4B0 8002A8B0 24080001 */ li $t0, 1 -/* 02B4B4 8002A8B4 3C018012 */ lui $at, %hi(D_8011B0BC) # $at, 0x8012 -/* 02B4B8 8002A8B8 10000002 */ b .L8002A8C4 -/* 02B4BC 8002A8BC AC28B0BC */ sw $t0, %lo(D_8011B0BC)($at) -.L8002A8C0: -/* 02B4C0 8002A8C0 AC20B0BC */ sw $zero, %lo(D_8011B0BC)($at) -.L8002A8C4: -/* 02B4C4 8002A8C4 8FBF0044 */ lw $ra, 0x44($sp) -/* 02B4C8 8002A8C8 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 02B4CC 8002A8CC C7B40014 */ lwc1 $f20, 0x14($sp) -/* 02B4D0 8002A8D0 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 02B4D4 8002A8D4 C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 02B4D8 8002A8D8 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 02B4DC 8002A8DC C7B80024 */ lwc1 $f24, 0x24($sp) -/* 02B4E0 8002A8E0 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 02B4E4 8002A8E4 C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 02B4E8 8002A8E8 8FB00034 */ lw $s0, 0x34($sp) -/* 02B4EC 8002A8EC 8FB10038 */ lw $s1, 0x38($sp) -/* 02B4F0 8002A8F0 8FB2003C */ lw $s2, 0x3c($sp) -/* 02B4F4 8002A8F4 8FB30040 */ lw $s3, 0x40($sp) -/* 02B4F8 8002A8F8 03E00008 */ jr $ra -/* 02B4FC 8002A8FC 27BD0078 */ addiu $sp, $sp, 0x78 - -glabel func_8002A900 -/* 02B500 8002A900 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 02B504 8002A904 AFBF0034 */ sw $ra, 0x34($sp) -/* 02B508 8002A908 E7BB0028 */ swc1 $f27, 0x28($sp) -/* 02B50C 8002A90C E7BA002C */ swc1 $f26, 0x2c($sp) -/* 02B510 8002A910 E7B90020 */ swc1 $f25, 0x20($sp) -/* 02B514 8002A914 E7B80024 */ swc1 $f24, 0x24($sp) -/* 02B518 8002A918 E7B70018 */ swc1 $f23, 0x18($sp) -/* 02B51C 8002A91C E7B6001C */ swc1 $f22, 0x1c($sp) -/* 02B520 8002A920 E7B50010 */ swc1 $f21, 0x10($sp) -/* 02B524 8002A924 E7B40014 */ swc1 $f20, 0x14($sp) -/* 02B528 8002A928 848E0006 */ lh $t6, 6($a0) -/* 02B52C 8002A92C 00000000 */ nop -/* 02B530 8002A930 31CF8000 */ andi $t7, $t6, 0x8000 -/* 02B534 8002A934 15E000A7 */ bnez $t7, .L8002ABD4 -/* 02B538 8002A938 24020001 */ li $v0, 1 -/* 02B53C 8002A93C 8C980040 */ lw $t8, 0x40($a0) -/* 02B540 8002A940 240500FF */ li $a1, 255 -/* 02B544 8002A944 8703004E */ lh $v1, 0x4e($t8) -/* 02B548 8002A948 3C198012 */ lui $t9, %hi(D_8011D37C) # $t9, 0x8012 -/* 02B54C 8002A94C 1060005C */ beqz $v1, .L8002AAC0 -/* 02B550 8002A950 00000000 */ nop -/* 02B554 8002A954 8F39D37C */ lw $t9, %lo(D_8011D37C)($t9) -/* 02B558 8002A958 24010003 */ li $at, 3 -/* 02B55C 8002A95C 17210012 */ bne $t9, $at, .L8002A9A8 -/* 02B560 8002A960 00000000 */ nop -/* 02B564 8002A964 44832000 */ mtc1 $v1, $f4 -/* 02B568 8002A968 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 02B56C 8002A96C 468021A1 */ cvt.d.w $f6, $f4 -/* 02B570 8002A970 44814800 */ mtc1 $at, $f9 -/* 02B574 8002A974 44804000 */ mtc1 $zero, $f8 -/* 02B578 8002A978 00000000 */ nop -/* 02B57C 8002A97C 46283282 */ mul.d $f10, $f6, $f8 -/* 02B580 8002A980 4448F800 */ cfc1 $t0, $31 -/* 02B584 8002A984 00000000 */ nop -/* 02B588 8002A988 35010003 */ ori $at, $t0, 3 -/* 02B58C 8002A98C 38210002 */ xori $at, $at, 2 -/* 02B590 8002A990 44C1F800 */ ctc1 $at, $31 -/* 02B594 8002A994 00000000 */ nop -/* 02B598 8002A998 46205124 */ cvt.w.d $f4, $f10 -/* 02B59C 8002A99C 44C8F800 */ ctc1 $t0, $31 -/* 02B5A0 8002A9A0 44032000 */ mfc1 $v1, $f4 -/* 02B5A4 8002A9A4 00000000 */ nop -.L8002A9A8: -/* 02B5A8 8002A9A8 C48C000C */ lwc1 $f12, 0xc($a0) -/* 02B5AC 8002A9AC C48E0010 */ lwc1 $f14, 0x10($a0) -/* 02B5B0 8002A9B0 8C860014 */ lw $a2, 0x14($a0) -/* 02B5B4 8002A9B4 AFA5003C */ sw $a1, 0x3c($sp) -/* 02B5B8 8002A9B8 AFA40058 */ sw $a0, 0x58($sp) -/* 02B5BC 8002A9BC 0C0198D2 */ jal func_80066348 -/* 02B5C0 8002A9C0 AFA30040 */ sw $v1, 0x40($sp) -/* 02B5C4 8002A9C4 8FA30040 */ lw $v1, 0x40($sp) -/* 02B5C8 8002A9C8 8FA40058 */ lw $a0, 0x58($sp) -/* 02B5CC 8002A9CC 44833000 */ mtc1 $v1, $f6 -/* 02B5D0 8002A9D0 8FA5003C */ lw $a1, 0x3c($sp) -/* 02B5D4 8002A9D4 46803320 */ cvt.s.w $f12, $f6 -/* 02B5D8 8002A9D8 3C01800E */ lui $at, %hi(D_800E5EB4) # $at, 0x800e -/* 02B5DC 8002A9DC 4600603C */ c.lt.s $f12, $f0 -/* 02B5E0 8002A9E0 00000000 */ nop -/* 02B5E4 8002A9E4 45000003 */ bc1f .L8002A9F4 -/* 02B5E8 8002A9E8 00000000 */ nop -/* 02B5EC 8002A9EC 10000079 */ b .L8002ABD4 -/* 02B5F0 8002A9F0 00001025 */ move $v0, $zero -.L8002A9F4: -/* 02B5F4 8002A9F4 44834000 */ mtc1 $v1, $f8 -/* 02B5F8 8002A9F8 C4255EB0 */ lwc1 $f5, %lo(D_800E5EB0)($at) -/* 02B5FC 8002A9FC 468042A1 */ cvt.d.w $f10, $f8 -/* 02B600 8002AA00 C4245EB4 */ lwc1 $f4, %lo(D_800E5EB4)($at) -/* 02B604 8002AA04 00000000 */ nop -/* 02B608 8002AA08 46245182 */ mul.d $f6, $f10, $f4 -/* 02B60C 8002AA0C 462030A0 */ cvt.s.d $f2, $f6 -/* 02B610 8002AA10 4600103C */ c.lt.s $f2, $f0 -/* 02B614 8002AA14 00000000 */ nop -/* 02B618 8002AA18 45000029 */ bc1f .L8002AAC0 -/* 02B61C 8002AA1C 00000000 */ nop -/* 02B620 8002AA20 46026201 */ sub.s $f8, $f12, $f2 -/* 02B624 8002AA24 4449F800 */ cfc1 $t1, $31 -/* 02B628 8002AA28 00000000 */ nop -/* 02B62C 8002AA2C 35210003 */ ori $at, $t1, 3 -/* 02B630 8002AA30 38210002 */ xori $at, $at, 2 -/* 02B634 8002AA34 44C1F800 */ ctc1 $at, $31 -/* 02B638 8002AA38 00000000 */ nop -/* 02B63C 8002AA3C 460042A4 */ cvt.w.s $f10, $f8 -/* 02B640 8002AA40 44035000 */ mfc1 $v1, $f10 -/* 02B644 8002AA44 44C9F800 */ ctc1 $t1, $31 -/* 02B648 8002AA48 1860001A */ blez $v1, .L8002AAB4 -/* 02B64C 8002AA4C 00000000 */ nop -/* 02B650 8002AA50 44833000 */ mtc1 $v1, $f6 -/* 02B654 8002AA54 46020381 */ sub.s $f14, $f0, $f2 -/* 02B658 8002AA58 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 02B65C 8002AA5C 46803220 */ cvt.s.w $f8, $f6 -/* 02B660 8002AA60 44812800 */ mtc1 $at, $f5 -/* 02B664 8002AA64 44802000 */ mtc1 $zero, $f4 -/* 02B668 8002AA68 46087283 */ div.s $f10, $f14, $f8 -/* 02B66C 8002AA6C 3C01800E */ lui $at, %hi(D_800E5EB8) # $at, 0x800e -/* 02B670 8002AA70 460051A1 */ cvt.d.s $f6, $f10 -/* 02B674 8002AA74 46262201 */ sub.d $f8, $f4, $f6 -/* 02B678 8002AA78 C4265EBC */ lwc1 $f6, %lo(D_800E5EBC)($at) -/* 02B67C 8002AA7C 462042A0 */ cvt.s.d $f10, $f8 -/* 02B680 8002AA80 C4275EB8 */ lwc1 $f7, %lo(D_800E5EB8)($at) -/* 02B684 8002AA84 46005121 */ cvt.d.s $f4, $f10 -/* 02B688 8002AA88 46262202 */ mul.d $f8, $f4, $f6 -/* 02B68C 8002AA8C 444AF800 */ cfc1 $t2, $31 -/* 02B690 8002AA90 00000000 */ nop -/* 02B694 8002AA94 35410003 */ ori $at, $t2, 3 -/* 02B698 8002AA98 38210002 */ xori $at, $at, 2 -/* 02B69C 8002AA9C 44C1F800 */ ctc1 $at, $31 -/* 02B6A0 8002AAA0 00000000 */ nop -/* 02B6A4 8002AAA4 462042A4 */ cvt.w.d $f10, $f8 -/* 02B6A8 8002AAA8 44CAF800 */ ctc1 $t2, $31 -/* 02B6AC 8002AAAC 44055000 */ mfc1 $a1, $f10 -/* 02B6B0 8002AAB0 00000000 */ nop -.L8002AAB4: -/* 02B6B4 8002AAB4 14A00002 */ bnez $a1, .L8002AAC0 -/* 02B6B8 8002AAB8 00000000 */ nop -/* 02B6BC 8002AABC 24050001 */ li $a1, 1 -.L8002AAC0: -/* 02B6C0 8002AAC0 84820048 */ lh $v0, 0x48($a0) -/* 02B6C4 8002AAC4 00000000 */ nop -/* 02B6C8 8002AAC8 28410002 */ slti $at, $v0, 2 -/* 02B6CC 8002AACC 1420000A */ bnez $at, .L8002AAF8 -/* 02B6D0 8002AAD0 244BFFCE */ addiu $t3, $v0, -0x32 -/* 02B6D4 8002AAD4 2D610020 */ sltiu $at, $t3, 0x20 -/* 02B6D8 8002AAD8 1020001E */ beqz $at, .L8002AB54 -/* 02B6DC 8002AADC 000B5880 */ sll $t3, $t3, 2 -/* 02B6E0 8002AAE0 3C01800E */ lui $at, 0x800e -/* 02B6E4 8002AAE4 002B0821 */ addu $at, $at, $t3 -/* 02B6E8 8002AAE8 8C2B5EC0 */ lw $t3, 0x5ec0($at) -/* 02B6EC 8002AAEC 00000000 */ nop -/* 02B6F0 8002AAF0 01600008 */ jr $t3 -/* 02B6F4 8002AAF4 00000000 */ nop -.L8002AAF8: -/* 02B6F8 8002AAF8 24010001 */ li $at, 1 -/* 02B6FC 8002AAFC 14410015 */ bne $v0, $at, .L8002AB54 -/* 02B700 8002AB00 00000000 */ nop -/* 02B704 8002AB04 8C820064 */ lw $v0, 0x64($a0) -/* 02B708 8002AB08 00000000 */ nop -/* 02B70C 8002AB0C 904C01F7 */ lbu $t4, 0x1f7($v0) -/* 02B710 8002AB10 00000000 */ nop -/* 02B714 8002AB14 258D0001 */ addiu $t5, $t4, 1 -/* 02B718 8002AB18 01A50019 */ multu $t5, $a1 -/* 02B71C 8002AB1C 00007012 */ mflo $t6 -/* 02B720 8002AB20 000E7A03 */ sra $t7, $t6, 8 -/* 02B724 8002AB24 1000000C */ b .L8002AB58 -/* 02B728 8002AB28 A08F0039 */ sb $t7, 0x39($a0) -/* 02B72C 8002AB2C 8C820064 */ lw $v0, 0x64($a0) -/* 02B730 8002AB30 00000000 */ nop -/* 02B734 8002AB34 905801F7 */ lbu $t8, 0x1f7($v0) -/* 02B738 8002AB38 10000007 */ b .L8002AB58 -/* 02B73C 8002AB3C A0980039 */ sb $t8, 0x39($a0) -/* 02B740 8002AB40 8C820064 */ lw $v0, 0x64($a0) -/* 02B744 8002AB44 00000000 */ nop -/* 02B748 8002AB48 90590042 */ lbu $t9, 0x42($v0) -/* 02B74C 8002AB4C 10000002 */ b .L8002AB58 -/* 02B750 8002AB50 A0990039 */ sb $t9, 0x39($a0) -.L8002AB54: -/* 02B754 8002AB54 A0850039 */ sb $a1, 0x39($a0) -.L8002AB58: -/* 02B758 8002AB58 3C028012 */ lui $v0, %hi(D_8011D0F8) # $v0, 0x8012 -/* 02B75C 8002AB5C 3C038012 */ lui $v1, %hi(D_8011D128) # $v1, 0x8012 -/* 02B760 8002AB60 C492000C */ lwc1 $f18, 0xc($a0) -/* 02B764 8002AB64 C4940010 */ lwc1 $f20, 0x10($a0) -/* 02B768 8002AB68 C4960014 */ lwc1 $f22, 0x14($a0) -/* 02B76C 8002AB6C C4980034 */ lwc1 $f24, 0x34($a0) -/* 02B770 8002AB70 4480D000 */ mtc1 $zero, $f26 -/* 02B774 8002AB74 2463D128 */ addiu $v1, %lo(D_8011D128) # addiu $v1, $v1, -0x2ed8 -/* 02B778 8002AB78 2442D0F8 */ addiu $v0, %lo(D_8011D0F8) # addiu $v0, $v0, -0x2f08 -.L8002AB7C: -/* 02B77C 8002AB7C C4400000 */ lwc1 $f0, ($v0) -/* 02B780 8002AB80 C44E0004 */ lwc1 $f14, 4($v0) -/* 02B784 8002AB84 46009102 */ mul.s $f4, $f18, $f0 -/* 02B788 8002AB88 C4420008 */ lwc1 $f2, 8($v0) -/* 02B78C 8002AB8C C44C000C */ lwc1 $f12, 0xc($v0) -/* 02B790 8002AB90 24420010 */ addiu $v0, $v0, 0x10 -/* 02B794 8002AB94 46147182 */ mul.s $f6, $f14, $f20 -/* 02B798 8002AB98 00000000 */ nop -/* 02B79C 8002AB9C 46161282 */ mul.s $f10, $f2, $f22 -/* 02B7A0 8002ABA0 46062200 */ add.s $f8, $f4, $f6 -/* 02B7A4 8002ABA4 460A4100 */ add.s $f4, $f8, $f10 -/* 02B7A8 8002ABA8 460C2180 */ add.s $f6, $f4, $f12 -/* 02B7AC 8002ABAC 46183400 */ add.s $f16, $f6, $f24 -/* 02B7B0 8002ABB0 461A803C */ c.lt.s $f16, $f26 -/* 02B7B4 8002ABB4 00000000 */ nop -/* 02B7B8 8002ABB8 45000003 */ bc1f .L8002ABC8 -/* 02B7BC 8002ABBC 00000000 */ nop -/* 02B7C0 8002ABC0 10000004 */ b .L8002ABD4 -/* 02B7C4 8002ABC4 00001025 */ move $v0, $zero -.L8002ABC8: -/* 02B7C8 8002ABC8 1443FFEC */ bne $v0, $v1, .L8002AB7C -/* 02B7CC 8002ABCC 00000000 */ nop -/* 02B7D0 8002ABD0 24020001 */ li $v0, 1 -.L8002ABD4: -/* 02B7D4 8002ABD4 8FBF0034 */ lw $ra, 0x34($sp) -/* 02B7D8 8002ABD8 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 02B7DC 8002ABDC C7B40014 */ lwc1 $f20, 0x14($sp) -/* 02B7E0 8002ABE0 C7B70018 */ lwc1 $f23, 0x18($sp) -/* 02B7E4 8002ABE4 C7B6001C */ lwc1 $f22, 0x1c($sp) -/* 02B7E8 8002ABE8 C7B90020 */ lwc1 $f25, 0x20($sp) -/* 02B7EC 8002ABEC C7B80024 */ lwc1 $f24, 0x24($sp) -/* 02B7F0 8002ABF0 C7BB0028 */ lwc1 $f27, 0x28($sp) -/* 02B7F4 8002ABF4 C7BA002C */ lwc1 $f26, 0x2c($sp) -/* 02B7F8 8002ABF8 03E00008 */ jr $ra -/* 02B7FC 8002ABFC 27BD0058 */ addiu $sp, $sp, 0x58 - -/* 02B800 8002AC00 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02B804 8002AC04 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 02B808 8002AC08 00000000 */ nop -/* 02B80C 8002AC0C 8443001A */ lh $v1, 0x1a($v0) -/* 02B810 8002AC10 00000000 */ nop -/* 02B814 8002AC14 0083082A */ slt $at, $a0, $v1 -/* 02B818 8002AC18 1020001F */ beqz $at, .L8002AC98 -/* 02B81C 8002AC1C 00A3082A */ slt $at, $a1, $v1 -/* 02B820 8002AC20 1020001D */ beqz $at, .L8002AC98 -/* 02B824 8002AC24 00047900 */ sll $t7, $a0, 4 -/* 02B828 8002AC28 8C4E0004 */ lw $t6, 4($v0) -/* 02B82C 8002AC2C 01E47821 */ addu $t7, $t7, $a0 -/* 02B830 8002AC30 000F7880 */ sll $t7, $t7, 2 -/* 02B834 8002AC34 01CFC021 */ addu $t8, $t6, $t7 -/* 02B838 8002AC38 87030028 */ lh $v1, 0x28($t8) -/* 02B83C 8002AC3C 10C0000C */ beqz $a2, .L8002AC70 -/* 02B840 8002AC40 000540C3 */ sra $t0, $a1, 3 -/* 02B844 8002AC44 8C590010 */ lw $t9, 0x10($v0) -/* 02B848 8002AC48 000548C3 */ sra $t1, $a1, 3 -/* 02B84C 8002AC4C 03234021 */ addu $t0, $t9, $v1 -/* 02B850 8002AC50 01092021 */ addu $a0, $t0, $t1 -/* 02B854 8002AC54 908A0000 */ lbu $t2, ($a0) -/* 02B858 8002AC58 30AB0007 */ andi $t3, $a1, 7 -/* 02B85C 8002AC5C 240C0001 */ li $t4, 1 -/* 02B860 8002AC60 016C7004 */ sllv $t6, $t4, $t3 -/* 02B864 8002AC64 014E7825 */ or $t7, $t2, $t6 -/* 02B868 8002AC68 03E00008 */ jr $ra -/* 02B86C 8002AC6C A08F0000 */ sb $t7, ($a0) - -.L8002AC70: -/* 02B870 8002AC70 8C580010 */ lw $t8, 0x10($v0) -/* 02B874 8002AC74 30AC0007 */ andi $t4, $a1, 7 -/* 02B878 8002AC78 0303C821 */ addu $t9, $t8, $v1 -/* 02B87C 8002AC7C 03282021 */ addu $a0, $t9, $t0 -/* 02B880 8002AC80 240B0001 */ li $t3, 1 -/* 02B884 8002AC84 90890000 */ lbu $t1, ($a0) -/* 02B888 8002AC88 018B5004 */ sllv $t2, $t3, $t4 -/* 02B88C 8002AC8C 01407027 */ not $t6, $t2 -/* 02B890 8002AC90 012E7824 */ and $t7, $t1, $t6 -/* 02B894 8002AC94 A08F0000 */ sb $t7, ($a0) -.L8002AC98: -/* 02B898 8002AC98 03E00008 */ jr $ra -/* 02B89C 8002AC9C 00000000 */ nop - -/* 02B8A0 8002ACA0 3C0E8012 */ lui $t6, %hi(D_8011D378) # $t6, 0x8012 -/* 02B8A4 8002ACA4 8DCED378 */ lw $t6, %lo(D_8011D378)($t6) -/* 02B8A8 8002ACA8 3C0F8012 */ lui $t7, %hi(D_8011D370) # $t7, 0x8012 -/* 02B8AC 8002ACAC AC8E0000 */ sw $t6, ($a0) -/* 02B8B0 8002ACB0 8DEFD370 */ lw $t7, %lo(D_8011D370)($t7) -/* 02B8B4 8002ACB4 3C188012 */ lui $t8, %hi(D_8011D374) # $t8, 0x8012 -/* 02B8B8 8002ACB8 ACAF0000 */ sw $t7, ($a1) -/* 02B8BC 8002ACBC 8F18D374 */ lw $t8, %lo(D_8011D374)($t8) -/* 02B8C0 8002ACC0 03E00008 */ jr $ra -/* 02B8C4 8002ACC4 ACD80000 */ sw $t8, ($a2) - -glabel func_8002ACC8 -/* 02B8C8 8002ACC8 3C018012 */ lui $at, 0x8012 -/* 02B8CC 8002ACCC 03E00008 */ jr $ra -/* 02B8D0 8002ACD0 AC24B0F4 */ sw $a0, -0x4f0c($at) - -glabel func_8002ACD4 -/* 02B8D4 8002ACD4 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 -/* 02B8D8 8002ACD8 C424B0E4 */ lwc1 $f4, %lo(D_8011B0E4)($at) -/* 02B8DC 8002ACDC 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 -/* 02B8E0 8002ACE0 E4840000 */ swc1 $f4, ($a0) -/* 02B8E4 8002ACE4 C426B0E8 */ lwc1 $f6, %lo(D_8011B0E8)($at) -/* 02B8E8 8002ACE8 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 -/* 02B8EC 8002ACEC E4A60000 */ swc1 $f6, ($a1) -/* 02B8F0 8002ACF0 C428B0EC */ lwc1 $f8, %lo(D_8011B0EC)($at) -/* 02B8F4 8002ACF4 3C028012 */ lui $v0, %hi(D_8011B0F0) # $v0, 0x8012 -/* 02B8F8 8002ACF8 E4C80000 */ swc1 $f8, ($a2) -/* 02B8FC 8002ACFC 8C42B0F0 */ lw $v0, %lo(D_8011B0F0)($v0) -/* 02B900 8002AD00 03E00008 */ jr $ra -/* 02B904 8002AD04 00000000 */ nop - -glabel func_8002AD08 -/* 02B908 8002AD08 3C028012 */ lui $v0, %hi(D_8011D308) # $v0, 0x8012 -/* 02B90C 8002AD0C 8042D308 */ lb $v0, %lo(D_8011D308)($v0) -/* 02B910 8002AD10 10C00007 */ beqz $a2, .L8002AD30 -/* 02B914 8002AD14 00001825 */ move $v1, $zero -/* 02B918 8002AD18 44800000 */ mtc1 $zero, $f0 -/* 02B91C 8002AD1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02B920 8002AD20 44812000 */ mtc1 $at, $f4 -/* 02B924 8002AD24 E4C00000 */ swc1 $f0, ($a2) -/* 02B928 8002AD28 E4C00008 */ swc1 $f0, 8($a2) -/* 02B92C 8002AD2C E4C40004 */ swc1 $f4, 4($a2) -.L8002AD30: -/* 02B930 8002AD30 18400044 */ blez $v0, .L8002AE44 -/* 02B934 8002AD34 00002025 */ move $a0, $zero -/* 02B938 8002AD38 30490003 */ andi $t1, $v0, 3 -/* 02B93C 8002AD3C 11200013 */ beqz $t1, .L8002AD8C -/* 02B940 8002AD40 01203825 */ move $a3, $t1 -/* 02B944 8002AD44 3C0F8012 */ lui $t7, %hi(D_8011D2B8) # $t7, 0x8012 -/* 02B948 8002AD48 25EFD2B8 */ addiu $t7, %lo(D_8011D2B8) # addiu $t7, $t7, -0x2d48 -/* 02B94C 8002AD4C 00007080 */ sll $t6, $zero, 2 -/* 02B950 8002AD50 01CF4021 */ addu $t0, $t6, $t7 -/* 02B954 8002AD54 240C000E */ li $t4, 14 -/* 02B958 8002AD58 240B000B */ li $t3, 11 -.L8002AD5C: -/* 02B95C 8002AD5C 8D180000 */ lw $t8, ($t0) -/* 02B960 8002AD60 24630001 */ addiu $v1, $v1, 1 -/* 02B964 8002AD64 830A0010 */ lb $t2, 0x10($t8) -/* 02B968 8002AD68 00000000 */ nop -/* 02B96C 8002AD6C 116A0003 */ beq $t3, $t2, .L8002AD7C -/* 02B970 8002AD70 00000000 */ nop -/* 02B974 8002AD74 158A0002 */ bne $t4, $t2, .L8002AD80 -/* 02B978 8002AD78 00000000 */ nop -.L8002AD7C: -/* 02B97C 8002AD7C 24840001 */ addiu $a0, $a0, 1 -.L8002AD80: -/* 02B980 8002AD80 14E3FFF6 */ bne $a3, $v1, .L8002AD5C -/* 02B984 8002AD84 25080004 */ addiu $t0, $t0, 4 -/* 02B988 8002AD88 1062002E */ beq $v1, $v0, .L8002AE44 -.L8002AD8C: -/* 02B98C 8002AD8C 3C0D8012 */ lui $t5, %hi(D_8011D2B8) # $t5, 0x8012 -/* 02B990 8002AD90 25ADD2B8 */ addiu $t5, %lo(D_8011D2B8) # addiu $t5, $t5, -0x2d48 -/* 02B994 8002AD94 0002C880 */ sll $t9, $v0, 2 -/* 02B998 8002AD98 00037080 */ sll $t6, $v1, 2 -/* 02B99C 8002AD9C 01CD4021 */ addu $t0, $t6, $t5 -/* 02B9A0 8002ADA0 032D3821 */ addu $a3, $t9, $t5 -/* 02B9A4 8002ADA4 240B000B */ li $t3, 11 -/* 02B9A8 8002ADA8 240C000E */ li $t4, 14 -.L8002ADAC: -/* 02B9AC 8002ADAC 8D0F0000 */ lw $t7, ($t0) -/* 02B9B0 8002ADB0 00000000 */ nop -/* 02B9B4 8002ADB4 81EA0010 */ lb $t2, 0x10($t7) -/* 02B9B8 8002ADB8 00000000 */ nop -/* 02B9BC 8002ADBC 116A0003 */ beq $t3, $t2, .L8002ADCC -/* 02B9C0 8002ADC0 00000000 */ nop -/* 02B9C4 8002ADC4 158A0002 */ bne $t4, $t2, .L8002ADD0 -/* 02B9C8 8002ADC8 00000000 */ nop -.L8002ADCC: -/* 02B9CC 8002ADCC 24840001 */ addiu $a0, $a0, 1 -.L8002ADD0: -/* 02B9D0 8002ADD0 8D180004 */ lw $t8, 4($t0) -/* 02B9D4 8002ADD4 00000000 */ nop -/* 02B9D8 8002ADD8 830A0010 */ lb $t2, 0x10($t8) -/* 02B9DC 8002ADDC 00000000 */ nop -/* 02B9E0 8002ADE0 116A0003 */ beq $t3, $t2, .L8002ADF0 -/* 02B9E4 8002ADE4 00000000 */ nop -/* 02B9E8 8002ADE8 158A0002 */ bne $t4, $t2, .L8002ADF4 -/* 02B9EC 8002ADEC 00000000 */ nop -.L8002ADF0: -/* 02B9F0 8002ADF0 24840001 */ addiu $a0, $a0, 1 -.L8002ADF4: -/* 02B9F4 8002ADF4 8D190008 */ lw $t9, 8($t0) -/* 02B9F8 8002ADF8 00000000 */ nop -/* 02B9FC 8002ADFC 83230010 */ lb $v1, 0x10($t9) -/* 02BA00 8002AE00 00000000 */ nop -/* 02BA04 8002AE04 11630003 */ beq $t3, $v1, .L8002AE14 -/* 02BA08 8002AE08 00000000 */ nop -/* 02BA0C 8002AE0C 15830002 */ bne $t4, $v1, .L8002AE18 -/* 02BA10 8002AE10 00000000 */ nop -.L8002AE14: -/* 02BA14 8002AE14 24840001 */ addiu $a0, $a0, 1 -.L8002AE18: -/* 02BA18 8002AE18 8D0E000C */ lw $t6, 0xc($t0) -/* 02BA1C 8002AE1C 25080010 */ addiu $t0, $t0, 0x10 -/* 02BA20 8002AE20 81C30010 */ lb $v1, 0x10($t6) -/* 02BA24 8002AE24 00000000 */ nop -/* 02BA28 8002AE28 11630003 */ beq $t3, $v1, .L8002AE38 -/* 02BA2C 8002AE2C 00000000 */ nop -/* 02BA30 8002AE30 15830002 */ bne $t4, $v1, .L8002AE3C -/* 02BA34 8002AE34 00000000 */ nop -.L8002AE38: -/* 02BA38 8002AE38 24840001 */ addiu $a0, $a0, 1 -.L8002AE3C: -/* 02BA3C 8002AE3C 1507FFDB */ bne $t0, $a3, .L8002ADAC -/* 02BA40 8002AE40 00000000 */ nop -.L8002AE44: -/* 02BA44 8002AE44 240B000B */ li $t3, 11 -/* 02BA48 8002AE48 14800003 */ bnez $a0, .L8002AE58 -/* 02BA4C 8002AE4C 240C000E */ li $t4, 14 -/* 02BA50 8002AE50 03E00008 */ jr $ra -/* 02BA54 8002AE54 00001025 */ move $v0, $zero - -.L8002AE58: -/* 02BA58 8002AE58 2407FFFF */ li $a3, -1 -/* 02BA5C 8002AE5C 18400084 */ blez $v0, .L8002B070 -/* 02BA60 8002AE60 00001825 */ move $v1, $zero -/* 02BA64 8002AE64 30480001 */ andi $t0, $v0, 1 -/* 02BA68 8002AE68 11000022 */ beqz $t0, .L8002AEF4 -/* 02BA6C 8002AE6C 3C0D8012 */ lui $t5, %hi(D_8011D2B8) # $t5, 0x8012 -/* 02BA70 8002AE70 8DADD2B8 */ lw $t5, %lo(D_8011D2B8)($t5) -/* 02BA74 8002AE74 3C014039 */ li $at, 0x40390000 # 2.890625 -/* 02BA78 8002AE78 81A30010 */ lb $v1, 0x10($t5) -/* 02BA7C 8002AE7C 3C0F8012 */ lui $t7, %hi(D_8011D2B8) # $t7, 0x8012 -/* 02BA80 8002AE80 11630003 */ beq $t3, $v1, .L8002AE90 -/* 02BA84 8002AE84 00000000 */ nop -/* 02BA88 8002AE88 15830019 */ bne $t4, $v1, .L8002AEF0 -/* 02BA8C 8002AE8C 24030001 */ li $v1, 1 -.L8002AE90: -/* 02BA90 8002AE90 8DEFD2B8 */ lw $t7, %lo(D_8011D2B8)($t7) -/* 02BA94 8002AE94 44811800 */ mtc1 $at, $f3 -/* 02BA98 8002AE98 C5E80000 */ lwc1 $f8, ($t7) -/* 02BA9C 8002AE9C 44801000 */ mtc1 $zero, $f2 -/* 02BAA0 8002AEA0 460042A1 */ cvt.d.s $f10, $f8 -/* 02BAA4 8002AEA4 46225400 */ add.d $f16, $f10, $f2 -/* 02BAA8 8002AEA8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 02BAAC 8002AEAC 460061A1 */ cvt.d.s $f6, $f12 -/* 02BAB0 8002AEB0 4630303C */ c.lt.d $f6, $f16 -/* 02BAB4 8002AEB4 00000000 */ nop -/* 02BAB8 8002AEB8 4500000D */ bc1f .L8002AEF0 -/* 02BABC 8002AEBC 24030001 */ li $v1, 1 -/* 02BAC0 8002AEC0 C5E40008 */ lwc1 $f4, 8($t7) -/* 02BAC4 8002AEC4 44819800 */ mtc1 $at, $f19 -/* 02BAC8 8002AEC8 44809000 */ mtc1 $zero, $f18 -/* 02BACC 8002AECC 46002221 */ cvt.d.s $f8, $f4 -/* 02BAD0 8002AED0 4628903C */ c.lt.d $f18, $f8 -/* 02BAD4 8002AED4 24010001 */ li $at, 1 -/* 02BAD8 8002AED8 45010003 */ bc1t .L8002AEE8 -/* 02BADC 8002AEDC 00000000 */ nop -/* 02BAE0 8002AEE0 14810003 */ bne $a0, $at, .L8002AEF0 -/* 02BAE4 8002AEE4 24030001 */ li $v1, 1 -.L8002AEE8: -/* 02BAE8 8002AEE8 00003825 */ move $a3, $zero -/* 02BAEC 8002AEEC 24030001 */ li $v1, 1 -.L8002AEF0: -/* 02BAF0 8002AEF0 1062005F */ beq $v1, $v0, .L8002B070 -.L8002AEF4: -/* 02BAF4 8002AEF4 3C014039 */ li $at, 0x40390000 # 2.890625 -/* 02BAF8 8002AEF8 44811800 */ mtc1 $at, $f3 -/* 02BAFC 8002AEFC 3C014034 */ li $at, 0x40340000 # 2.812500 -/* 02BB00 8002AF00 3C198012 */ lui $t9, %hi(D_8011D2B8) # $t9, 0x8012 -/* 02BB04 8002AF04 2739D2B8 */ addiu $t9, %lo(D_8011D2B8) # addiu $t9, $t9, -0x2d48 -/* 02BB08 8002AF08 0003C080 */ sll $t8, $v1, 2 -/* 02BB0C 8002AF0C 44817800 */ mtc1 $at, $f15 -/* 02BB10 8002AF10 44801000 */ mtc1 $zero, $f2 -/* 02BB14 8002AF14 44807000 */ mtc1 $zero, $f14 -/* 02BB18 8002AF18 03194021 */ addu $t0, $t8, $t9 -.L8002AF1C: -/* 02BB1C 8002AF1C 8D090000 */ lw $t1, ($t0) -/* 02BB20 8002AF20 00000000 */ nop -/* 02BB24 8002AF24 812A0010 */ lb $t2, 0x10($t1) -/* 02BB28 8002AF28 00000000 */ nop -/* 02BB2C 8002AF2C 116A0003 */ beq $t3, $t2, .L8002AF3C -/* 02BB30 8002AF30 00000000 */ nop -/* 02BB34 8002AF34 158A0016 */ bne $t4, $t2, .L8002AF90 -/* 02BB38 8002AF38 00000000 */ nop -.L8002AF3C: -/* 02BB3C 8002AF3C C5260000 */ lwc1 $f6, ($t1) -/* 02BB40 8002AF40 460062A1 */ cvt.d.s $f10, $f12 -/* 02BB44 8002AF44 46003421 */ cvt.d.s $f16, $f6 -/* 02BB48 8002AF48 46228100 */ add.d $f4, $f16, $f2 -/* 02BB4C 8002AF4C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 02BB50 8002AF50 4624503C */ c.lt.d $f10, $f4 -/* 02BB54 8002AF54 00000000 */ nop -/* 02BB58 8002AF58 4500001A */ bc1f .L8002AFC4 -/* 02BB5C 8002AF5C 00000000 */ nop -/* 02BB60 8002AF60 C5280008 */ lwc1 $f8, 8($t1) -/* 02BB64 8002AF64 44819800 */ mtc1 $at, $f19 -/* 02BB68 8002AF68 44809000 */ mtc1 $zero, $f18 -/* 02BB6C 8002AF6C 460041A1 */ cvt.d.s $f6, $f8 -/* 02BB70 8002AF70 4626903C */ c.lt.d $f18, $f6 -/* 02BB74 8002AF74 24010001 */ li $at, 1 -/* 02BB78 8002AF78 45010003 */ bc1t .L8002AF88 -/* 02BB7C 8002AF7C 00000000 */ nop -/* 02BB80 8002AF80 14810010 */ bne $a0, $at, .L8002AFC4 -/* 02BB84 8002AF84 00000000 */ nop -.L8002AF88: -/* 02BB88 8002AF88 1000000E */ b .L8002AFC4 -/* 02BB8C 8002AF8C 00603825 */ move $a3, $v1 -.L8002AF90: -/* 02BB90 8002AF90 04E0000C */ bltz $a3, .L8002AFC4 -/* 02BB94 8002AF94 28810002 */ slti $at, $a0, 2 -/* 02BB98 8002AF98 1420000A */ bnez $at, .L8002AFC4 -/* 02BB9C 8002AF9C 00000000 */ nop -/* 02BBA0 8002AFA0 C52A0000 */ lwc1 $f10, ($t1) -/* 02BBA4 8002AFA4 46006421 */ cvt.d.s $f16, $f12 -/* 02BBA8 8002AFA8 46005121 */ cvt.d.s $f4, $f10 -/* 02BBAC 8002AFAC 462E2201 */ sub.d $f8, $f4, $f14 -/* 02BBB0 8002AFB0 4628803C */ c.lt.d $f16, $f8 -/* 02BBB4 8002AFB4 00000000 */ nop -/* 02BBB8 8002AFB8 45000002 */ bc1f .L8002AFC4 -/* 02BBBC 8002AFBC 00000000 */ nop -/* 02BBC0 8002AFC0 2407FFFF */ li $a3, -1 -.L8002AFC4: -/* 02BBC4 8002AFC4 8D090004 */ lw $t1, 4($t0) -/* 02BBC8 8002AFC8 00000000 */ nop -/* 02BBCC 8002AFCC 812A0010 */ lb $t2, 0x10($t1) -/* 02BBD0 8002AFD0 C5200000 */ lwc1 $f0, ($t1) -/* 02BBD4 8002AFD4 116A0003 */ beq $t3, $t2, .L8002AFE4 -/* 02BBD8 8002AFD8 00000000 */ nop -/* 02BBDC 8002AFDC 158A0015 */ bne $t4, $t2, .L8002B034 -/* 02BBE0 8002AFE0 00000000 */ nop -.L8002AFE4: -/* 02BBE4 8002AFE4 460001A1 */ cvt.d.s $f6, $f0 -/* 02BBE8 8002AFE8 46223280 */ add.d $f10, $f6, $f2 -/* 02BBEC 8002AFEC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 02BBF0 8002AFF0 460064A1 */ cvt.d.s $f18, $f12 -/* 02BBF4 8002AFF4 462A903C */ c.lt.d $f18, $f10 -/* 02BBF8 8002AFF8 00000000 */ nop -/* 02BBFC 8002AFFC 45000019 */ bc1f .L8002B064 -/* 02BC00 8002B000 00000000 */ nop -/* 02BC04 8002B004 C5300008 */ lwc1 $f16, 8($t1) -/* 02BC08 8002B008 44812800 */ mtc1 $at, $f5 -/* 02BC0C 8002B00C 44802000 */ mtc1 $zero, $f4 -/* 02BC10 8002B010 46008221 */ cvt.d.s $f8, $f16 -/* 02BC14 8002B014 4628203C */ c.lt.d $f4, $f8 -/* 02BC18 8002B018 24010001 */ li $at, 1 -/* 02BC1C 8002B01C 45010003 */ bc1t .L8002B02C -/* 02BC20 8002B020 00000000 */ nop -/* 02BC24 8002B024 1481000F */ bne $a0, $at, .L8002B064 -/* 02BC28 8002B028 00000000 */ nop -.L8002B02C: -/* 02BC2C 8002B02C 1000000D */ b .L8002B064 -/* 02BC30 8002B030 24670001 */ addiu $a3, $v1, 1 -.L8002B034: -/* 02BC34 8002B034 04E0000B */ bltz $a3, .L8002B064 -/* 02BC38 8002B038 28810002 */ slti $at, $a0, 2 -/* 02BC3C 8002B03C 14200009 */ bnez $at, .L8002B064 -/* 02BC40 8002B040 00000000 */ nop -/* 02BC44 8002B044 460004A1 */ cvt.d.s $f18, $f0 -/* 02BC48 8002B048 462E9281 */ sub.d $f10, $f18, $f14 -/* 02BC4C 8002B04C 460061A1 */ cvt.d.s $f6, $f12 -/* 02BC50 8002B050 462A303C */ c.lt.d $f6, $f10 -/* 02BC54 8002B054 00000000 */ nop -/* 02BC58 8002B058 45000002 */ bc1f .L8002B064 -/* 02BC5C 8002B05C 00000000 */ nop -/* 02BC60 8002B060 2407FFFF */ li $a3, -1 -.L8002B064: -/* 02BC64 8002B064 24630002 */ addiu $v1, $v1, 2 -/* 02BC68 8002B068 1462FFAC */ bne $v1, $v0, .L8002AF1C -/* 02BC6C 8002B06C 25080008 */ addiu $t0, $t0, 8 -.L8002B070: -/* 02BC70 8002B070 04E10003 */ bgez $a3, .L8002B080 -/* 02BC74 8002B074 00077080 */ sll $t6, $a3, 2 -/* 02BC78 8002B078 03E00008 */ jr $ra -/* 02BC7C 8002B07C 00001025 */ move $v0, $zero - -.L8002B080: -/* 02BC80 8002B080 3C0D8012 */ lui $t5, %hi(D_8011D2B8) # $t5, 0x8012 -/* 02BC84 8002B084 25ADD2B8 */ addiu $t5, %lo(D_8011D2B8) # addiu $t5, $t5, -0x2d48 -/* 02BC88 8002B088 01CD1821 */ addu $v1, $t6, $t5 -/* 02BC8C 8002B08C 8C6F0000 */ lw $t7, ($v1) -/* 02BC90 8002B090 00000000 */ nop -/* 02BC94 8002B094 C5F00000 */ lwc1 $f16, ($t7) -/* 02BC98 8002B098 10C00010 */ beqz $a2, .L8002B0DC -/* 02BC9C 8002B09C E4B00000 */ swc1 $f16, ($a1) -/* 02BCA0 8002B0A0 8C780000 */ lw $t8, ($v1) -/* 02BCA4 8002B0A4 00000000 */ nop -/* 02BCA8 8002B0A8 C7040004 */ lwc1 $f4, 4($t8) -/* 02BCAC 8002B0AC 00000000 */ nop -/* 02BCB0 8002B0B0 E4C40000 */ swc1 $f4, ($a2) -/* 02BCB4 8002B0B4 8C790000 */ lw $t9, ($v1) -/* 02BCB8 8002B0B8 00000000 */ nop -/* 02BCBC 8002B0BC C7280008 */ lwc1 $f8, 8($t9) -/* 02BCC0 8002B0C0 00000000 */ nop -/* 02BCC4 8002B0C4 E4C80004 */ swc1 $f8, 4($a2) -/* 02BCC8 8002B0C8 8C6E0000 */ lw $t6, ($v1) -/* 02BCCC 8002B0CC 00000000 */ nop -/* 02BCD0 8002B0D0 C5D2000C */ lwc1 $f18, 0xc($t6) -/* 02BCD4 8002B0D4 00000000 */ nop -/* 02BCD8 8002B0D8 E4D20008 */ swc1 $f18, 8($a2) -.L8002B0DC: -/* 02BCDC 8002B0DC 8C6D0000 */ lw $t5, ($v1) -/* 02BCE0 8002B0E0 00000000 */ nop -/* 02BCE4 8002B0E4 81A20010 */ lb $v0, 0x10($t5) -/* 02BCE8 8002B0E8 00000000 */ nop -/* 02BCEC 8002B0EC 03E00008 */ jr $ra -/* 02BCF0 8002B0F0 00000000 */ nop - -glabel func_8002B0F4 -/* 02BCF4 8002B0F4 444FF800 */ cfc1 $t7, $31 -/* 02BCF8 8002B0F8 3C018012 */ lui $at, %hi(D_8011D308) # $at, 0x8012 -/* 02BCFC 8002B0FC A020D308 */ sb $zero, %lo(D_8011D308)($at) -/* 02BD00 8002B100 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 02BD04 8002B104 35E10003 */ ori $at, $t7, 3 -/* 02BD08 8002B108 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 02BD0C 8002B10C 38210002 */ xori $at, $at, 2 -/* 02BD10 8002B110 4485A000 */ mtc1 $a1, $f20 -/* 02BD14 8002B114 44C1F800 */ ctc1 $at, $31 -/* 02BD18 8002B118 E7B60024 */ swc1 $f22, 0x24($sp) -/* 02BD1C 8002B11C 4600A124 */ cvt.w.s $f4, $f20 -/* 02BD20 8002B120 4486B000 */ mtc1 $a2, $f22 -/* 02BD24 8002B124 44CFF800 */ ctc1 $t7, $31 -/* 02BD28 8002B128 AFB60040 */ sw $s6, 0x40($sp) -/* 02BD2C 8002B12C AFB40038 */ sw $s4, 0x38($sp) -/* 02BD30 8002B130 4458F800 */ cfc1 $t8, $31 -/* 02BD34 8002B134 44162000 */ mfc1 $s6, $f4 -/* 02BD38 8002B138 37010003 */ ori $at, $t8, 3 -/* 02BD3C 8002B13C 38210002 */ xori $at, $at, 2 -/* 02BD40 8002B140 44C1F800 */ ctc1 $at, $31 -/* 02BD44 8002B144 AFB00028 */ sw $s0, 0x28($sp) -/* 02BD48 8002B148 4600B1A4 */ cvt.w.s $f6, $f22 -/* 02BD4C 8002B14C 00808025 */ move $s0, $a0 -/* 02BD50 8002B150 44143000 */ mfc1 $s4, $f6 -/* 02BD54 8002B154 AFBF004C */ sw $ra, 0x4c($sp) -/* 02BD58 8002B158 AFBE0048 */ sw $fp, 0x48($sp) -/* 02BD5C 8002B15C AFB70044 */ sw $s7, 0x44($sp) -/* 02BD60 8002B160 AFB5003C */ sw $s5, 0x3c($sp) -/* 02BD64 8002B164 AFB30034 */ sw $s3, 0x34($sp) -/* 02BD68 8002B168 AFB20030 */ sw $s2, 0x30($sp) -/* 02BD6C 8002B16C AFB1002C */ sw $s1, 0x2c($sp) -/* 02BD70 8002B170 E7B70020 */ swc1 $f23, 0x20($sp) -/* 02BD74 8002B174 E7B50018 */ swc1 $f21, 0x18($sp) -/* 02BD78 8002B178 AFA70134 */ sw $a3, 0x134($sp) -/* 02BD7C 8002B17C 44D8F800 */ ctc1 $t8, $31 -/* 02BD80 8002B180 ACE00000 */ sw $zero, ($a3) -/* 02BD84 8002B184 27A600B0 */ addiu $a2, $sp, 0xb0 -/* 02BD88 8002B188 02C02025 */ move $a0, $s6 -/* 02BD8C 8002B18C 0C00A817 */ jal func_8002A05C -/* 02BD90 8002B190 02802825 */ move $a1, $s4 -/* 02BD94 8002B194 10400004 */ beqz $v0, .L8002B1A8 -/* 02BD98 8002B198 AFA20108 */ sw $v0, 0x108($sp) -/* 02BD9C 8002B19C 28410008 */ slti $at, $v0, 8 -/* 02BDA0 8002B1A0 14200003 */ bnez $at, .L8002B1B0 -/* 02BDA4 8002B1A4 0000A825 */ move $s5, $zero -.L8002B1A8: -/* 02BDA8 8002B1A8 100001F4 */ b .L8002B97C -/* 02BDAC 8002B1AC 00001025 */ move $v0, $zero -.L8002B1B0: -/* 02BDB0 8002B1B0 18400135 */ blez $v0, .L8002B688 -/* 02BDB4 8002B1B4 0000F025 */ move $fp, $zero -/* 02BDB8 8002B1B8 44808800 */ mtc1 $zero, $f17 -/* 02BDBC 8002B1BC 44808000 */ mtc1 $zero, $f16 -/* 02BDC0 8002B1C0 AFB00128 */ sw $s0, 0x128($sp) -/* 02BDC4 8002B1C4 2413000A */ li $s3, 10 -/* 02BDC8 8002B1C8 001EC880 */ sll $t9, $fp, 2 -.L8002B1CC: -/* 02BDCC 8002B1CC 03B94821 */ addu $t1, $sp, $t9 -/* 02BDD0 8002B1D0 8D2900B0 */ lw $t1, 0xb0($t1) -/* 02BDD4 8002B1D4 3C0B800E */ lui $t3, %hi(D_800DC918) # $t3, 0x800e -/* 02BDD8 8002B1D8 8D6BC918 */ lw $t3, %lo(D_800DC918)($t3) -/* 02BDDC 8002B1DC 0009C080 */ sll $t8, $t1, 2 -/* 02BDE0 8002B1E0 8D790008 */ lw $t9, 8($t3) -/* 02BDE4 8002B1E4 00097100 */ sll $t6, $t1, 4 -/* 02BDE8 8002B1E8 0309C023 */ subu $t8, $t8, $t1 -/* 02BDEC 8002B1EC 8D6F0004 */ lw $t7, 4($t3) -/* 02BDF0 8002B1F0 0018C080 */ sll $t8, $t8, 2 -/* 02BDF4 8002B1F4 01C97021 */ addu $t6, $t6, $t1 -/* 02BDF8 8002B1F8 000E7080 */ sll $t6, $t6, 2 -/* 02BDFC 8002B1FC 03195021 */ addu $t2, $t8, $t9 -/* 02BE00 8002B200 01CFF821 */ addu $ra, $t6, $t7 -/* 02BE04 8002B204 854E0006 */ lh $t6, 6($t2) -/* 02BE08 8002B208 85480000 */ lh $t0, ($t2) -/* 02BE0C 8002B20C 24050001 */ li $a1, 1 -/* 02BE10 8002B210 01C83023 */ subu $a2, $t6, $t0 -/* 02BE14 8002B214 000678C3 */ sra $t7, $a2, 3 -/* 02BE18 8002B218 25E60001 */ addiu $a2, $t7, 1 -/* 02BE1C 8002B21C 0006C400 */ sll $t8, $a2, 0x10 -/* 02BE20 8002B220 00183403 */ sra $a2, $t8, 0x10 -/* 02BE24 8002B224 00C81821 */ addu $v1, $a2, $t0 -/* 02BE28 8002B228 00082400 */ sll $a0, $t0, 0x10 -/* 02BE2C 8002B22C 00037400 */ sll $t6, $v1, 0x10 -/* 02BE30 8002B230 0004C403 */ sra $t8, $a0, 0x10 -/* 02BE34 8002B234 00008825 */ move $s1, $zero -/* 02BE38 8002B238 000E1C03 */ sra $v1, $t6, 0x10 -/* 02BE3C 8002B23C 03002025 */ move $a0, $t8 -/* 02BE40 8002B240 00003825 */ move $a3, $zero -/* 02BE44 8002B244 0000B825 */ move $s7, $zero -.L8002B248: -/* 02BE48 8002B248 0076082A */ slt $at, $v1, $s6 -/* 02BE4C 8002B24C 14200007 */ bnez $at, .L8002B26C -/* 02BE50 8002B250 00661821 */ addu $v1, $v1, $a2 -/* 02BE54 8002B254 02C4082A */ slt $at, $s6, $a0 -/* 02BE58 8002B258 14200005 */ bnez $at, .L8002B270 -/* 02BE5C 8002B25C 00037C00 */ sll $t7, $v1, 0x10 -/* 02BE60 8002B260 02258825 */ or $s1, $s1, $a1 -/* 02BE64 8002B264 0011CC00 */ sll $t9, $s1, 0x10 -/* 02BE68 8002B268 00198C03 */ sra $s1, $t9, 0x10 -.L8002B26C: -/* 02BE6C 8002B26C 00037C00 */ sll $t7, $v1, 0x10 -.L8002B270: -/* 02BE70 8002B270 000F1C03 */ sra $v1, $t7, 0x10 -/* 02BE74 8002B274 24E70001 */ addiu $a3, $a3, 1 -/* 02BE78 8002B278 00862021 */ addu $a0, $a0, $a2 -/* 02BE7C 8002B27C 00A07825 */ move $t7, $a1 -/* 02BE80 8002B280 28E10008 */ slti $at, $a3, 8 -/* 02BE84 8002B284 0004CC00 */ sll $t9, $a0, 0x10 -/* 02BE88 8002B288 000FC440 */ sll $t8, $t7, 0x11 -/* 02BE8C 8002B28C 00192403 */ sra $a0, $t9, 0x10 -/* 02BE90 8002B290 1420FFED */ bnez $at, .L8002B248 -/* 02BE94 8002B294 00182C03 */ sra $a1, $t8, 0x10 -/* 02BE98 8002B298 85480004 */ lh $t0, 4($t2) -/* 02BE9C 8002B29C 854E000A */ lh $t6, 0xa($t2) -/* 02BEA0 8002B2A0 00082400 */ sll $a0, $t0, 0x10 -/* 02BEA4 8002B2A4 01C83023 */ subu $a2, $t6, $t0 -/* 02BEA8 8002B2A8 000678C3 */ sra $t7, $a2, 3 -/* 02BEAC 8002B2AC 25E60001 */ addiu $a2, $t7, 1 -/* 02BEB0 8002B2B0 0006C400 */ sll $t8, $a2, 0x10 -/* 02BEB4 8002B2B4 00183403 */ sra $a2, $t8, 0x10 -/* 02BEB8 8002B2B8 00C81821 */ addu $v1, $a2, $t0 -/* 02BEBC 8002B2BC 00037400 */ sll $t6, $v1, 0x10 -/* 02BEC0 8002B2C0 0004C403 */ sra $t8, $a0, 0x10 -/* 02BEC4 8002B2C4 000E1C03 */ sra $v1, $t6, 0x10 -/* 02BEC8 8002B2C8 03002025 */ move $a0, $t8 -/* 02BECC 8002B2CC 00003825 */ move $a3, $zero -.L8002B2D0: -/* 02BED0 8002B2D0 0074082A */ slt $at, $v1, $s4 -/* 02BED4 8002B2D4 14200007 */ bnez $at, .L8002B2F4 -/* 02BED8 8002B2D8 00661821 */ addu $v1, $v1, $a2 -/* 02BEDC 8002B2DC 0284082A */ slt $at, $s4, $a0 -/* 02BEE0 8002B2E0 14200005 */ bnez $at, .L8002B2F8 -/* 02BEE4 8002B2E4 00037C00 */ sll $t7, $v1, 0x10 -/* 02BEE8 8002B2E8 02258825 */ or $s1, $s1, $a1 -/* 02BEEC 8002B2EC 0011CC00 */ sll $t9, $s1, 0x10 -/* 02BEF0 8002B2F0 00198C03 */ sra $s1, $t9, 0x10 -.L8002B2F4: -/* 02BEF4 8002B2F4 00037C00 */ sll $t7, $v1, 0x10 -.L8002B2F8: -/* 02BEF8 8002B2F8 000F1C03 */ sra $v1, $t7, 0x10 -/* 02BEFC 8002B2FC 00862021 */ addu $a0, $a0, $a2 -/* 02BF00 8002B300 0004CC00 */ sll $t9, $a0, 0x10 -/* 02BF04 8002B304 00A07825 */ move $t7, $a1 -/* 02BF08 8002B308 00197403 */ sra $t6, $t9, 0x10 -/* 02BF0C 8002B30C 000FC440 */ sll $t8, $t7, 0x11 -/* 02BF10 8002B310 0074082A */ slt $at, $v1, $s4 -/* 02BF14 8002B314 0018CC03 */ sra $t9, $t8, 0x10 -/* 02BF18 8002B318 01C02025 */ move $a0, $t6 -/* 02BF1C 8002B31C 14200007 */ bnez $at, .L8002B33C -/* 02BF20 8002B320 03202825 */ move $a1, $t9 -/* 02BF24 8002B324 028E082A */ slt $at, $s4, $t6 -/* 02BF28 8002B328 14200004 */ bnez $at, .L8002B33C -/* 02BF2C 8002B32C 00000000 */ nop -/* 02BF30 8002B330 02398825 */ or $s1, $s1, $t9 -/* 02BF34 8002B334 00117400 */ sll $t6, $s1, 0x10 -/* 02BF38 8002B338 000E8C03 */ sra $s1, $t6, 0x10 -.L8002B33C: -/* 02BF3C 8002B33C 00661821 */ addu $v1, $v1, $a2 -/* 02BF40 8002B340 0003C400 */ sll $t8, $v1, 0x10 -/* 02BF44 8002B344 00181C03 */ sra $v1, $t8, 0x10 -/* 02BF48 8002B348 00862021 */ addu $a0, $a0, $a2 -/* 02BF4C 8002B34C 00047400 */ sll $t6, $a0, 0x10 -/* 02BF50 8002B350 00A0C025 */ move $t8, $a1 -/* 02BF54 8002B354 0018CC40 */ sll $t9, $t8, 0x11 -/* 02BF58 8002B358 000E7C03 */ sra $t7, $t6, 0x10 -/* 02BF5C 8002B35C 00197403 */ sra $t6, $t9, 0x10 -/* 02BF60 8002B360 0074082A */ slt $at, $v1, $s4 -/* 02BF64 8002B364 01C02825 */ move $a1, $t6 -/* 02BF68 8002B368 14200007 */ bnez $at, .L8002B388 -/* 02BF6C 8002B36C 01E02025 */ move $a0, $t7 -/* 02BF70 8002B370 028F082A */ slt $at, $s4, $t7 -/* 02BF74 8002B374 14200004 */ bnez $at, .L8002B388 -/* 02BF78 8002B378 00000000 */ nop -/* 02BF7C 8002B37C 022E8825 */ or $s1, $s1, $t6 -/* 02BF80 8002B380 00117C00 */ sll $t7, $s1, 0x10 -/* 02BF84 8002B384 000F8C03 */ sra $s1, $t7, 0x10 -.L8002B388: -/* 02BF88 8002B388 00661821 */ addu $v1, $v1, $a2 -/* 02BF8C 8002B38C 0003CC00 */ sll $t9, $v1, 0x10 -/* 02BF90 8002B390 00191C03 */ sra $v1, $t9, 0x10 -/* 02BF94 8002B394 00862021 */ addu $a0, $a0, $a2 -/* 02BF98 8002B398 00047C00 */ sll $t7, $a0, 0x10 -/* 02BF9C 8002B39C 00A0C825 */ move $t9, $a1 -/* 02BFA0 8002B3A0 00197440 */ sll $t6, $t9, 0x11 -/* 02BFA4 8002B3A4 000FC403 */ sra $t8, $t7, 0x10 -/* 02BFA8 8002B3A8 000E7C03 */ sra $t7, $t6, 0x10 -/* 02BFAC 8002B3AC 0074082A */ slt $at, $v1, $s4 -/* 02BFB0 8002B3B0 01E02825 */ move $a1, $t7 -/* 02BFB4 8002B3B4 14200007 */ bnez $at, .L8002B3D4 -/* 02BFB8 8002B3B8 03002025 */ move $a0, $t8 -/* 02BFBC 8002B3BC 0298082A */ slt $at, $s4, $t8 -/* 02BFC0 8002B3C0 14200004 */ bnez $at, .L8002B3D4 -/* 02BFC4 8002B3C4 00000000 */ nop -/* 02BFC8 8002B3C8 022F8825 */ or $s1, $s1, $t7 -/* 02BFCC 8002B3CC 0011C400 */ sll $t8, $s1, 0x10 -/* 02BFD0 8002B3D0 00188C03 */ sra $s1, $t8, 0x10 -.L8002B3D4: -/* 02BFD4 8002B3D4 00661821 */ addu $v1, $v1, $a2 -/* 02BFD8 8002B3D8 00037400 */ sll $t6, $v1, 0x10 -/* 02BFDC 8002B3DC 000E1C03 */ sra $v1, $t6, 0x10 -/* 02BFE0 8002B3E0 00A07025 */ move $t6, $a1 -/* 02BFE4 8002B3E4 00862021 */ addu $a0, $a0, $a2 -/* 02BFE8 8002B3E8 0004C400 */ sll $t8, $a0, 0x10 -/* 02BFEC 8002B3EC 000E7C40 */ sll $t7, $t6, 0x11 -/* 02BFF0 8002B3F0 24E70004 */ addiu $a3, $a3, 4 -/* 02BFF4 8002B3F4 24010008 */ li $at, 8 -/* 02BFF8 8002B3F8 000F2C03 */ sra $a1, $t7, 0x10 -/* 02BFFC 8002B3FC 14E1FFB4 */ bne $a3, $at, .L8002B2D0 -/* 02C000 8002B400 00182403 */ sra $a0, $t8, 0x10 -/* 02C004 8002B404 87E50020 */ lh $a1, 0x20($ra) -/* 02C008 8002B408 00000000 */ nop -/* 02C00C 8002B40C 18A00097 */ blez $a1, .L8002B66C -/* 02C010 8002B410 00177080 */ sll $t6, $s7, 2 -.L8002B414: -/* 02C014 8002B414 8FF9000C */ lw $t9, 0xc($ra) -/* 02C018 8002B418 01D77023 */ subu $t6, $t6, $s7 -/* 02C01C 8002B41C 000E7080 */ sll $t6, $t6, 2 -/* 02C020 8002B420 3C0F800E */ lui $t7, %hi(D_800DC918) # $t7, 0x800e -/* 02C024 8002B424 8DEFC918 */ lw $t7, %lo(D_800DC918)($t7) -/* 02C028 8002B428 032E1821 */ addu $v1, $t9, $t6 -/* 02C02C 8002B42C 90790000 */ lbu $t9, ($v1) -/* 02C030 8002B430 8DF80000 */ lw $t8, ($t7) -/* 02C034 8002B434 001970C0 */ sll $t6, $t9, 3 -/* 02C038 8002B438 030E7821 */ addu $t7, $t8, $t6 -/* 02C03C 8002B43C 81F20007 */ lb $s2, 7($t7) -/* 02C040 8002B440 84640004 */ lh $a0, 4($v1) -/* 02C044 8002B444 846D0002 */ lh $t5, 2($v1) -/* 02C048 8002B448 84700010 */ lh $s0, 0x10($v1) -/* 02C04C 8002B44C 2401000B */ li $at, 11 -/* 02C050 8002B450 12410009 */ beq $s2, $at, .L8002B478 -/* 02C054 8002B454 2401000F */ li $at, 15 -/* 02C058 8002B458 12410008 */ beq $s2, $at, .L8002B47C -/* 02C05C 8002B45C 0090082A */ slt $at, $a0, $s0 -/* 02C060 8002B460 8C790008 */ lw $t9, 8($v1) -/* 02C064 8002B464 00000000 */ nop -/* 02C068 8002B468 33380300 */ andi $t8, $t9, 0x300 -/* 02C06C 8002B46C 13000003 */ beqz $t8, .L8002B47C -/* 02C070 8002B470 0090082A */ slt $at, $a0, $s0 -/* 02C074 8002B474 02002025 */ move $a0, $s0 -.L8002B478: -/* 02C078 8002B478 0090082A */ slt $at, $a0, $s0 -.L8002B47C: -/* 02C07C 8002B47C 10200077 */ beqz $at, .L8002B65C -/* 02C080 8002B480 00805025 */ move $t2, $a0 -.L8002B484: -/* 02C084 8002B484 8FEE0010 */ lw $t6, 0x10($ra) -/* 02C088 8002B488 000A7840 */ sll $t7, $t2, 1 -/* 02C08C 8002B48C 01CFC821 */ addu $t9, $t6, $t7 -/* 02C090 8002B490 87380000 */ lh $t8, ($t9) -/* 02C094 8002B494 00000000 */ nop -/* 02C098 8002B498 03117024 */ and $t6, $t8, $s1 -/* 02C09C 8002B49C 162E0069 */ bne $s1, $t6, .L8002B644 -/* 02C0A0 8002B4A0 00000000 */ nop -/* 02C0A4 8002B4A4 8FEF0004 */ lw $t7, 4($ra) -/* 02C0A8 8002B4A8 000AC900 */ sll $t9, $t2, 4 -/* 02C0AC 8002B4AC 01F92021 */ addu $a0, $t7, $t9 -/* 02C0B0 8002B4B0 90980001 */ lbu $t8, 1($a0) -/* 02C0B4 8002B4B4 90990002 */ lbu $t9, 2($a0) -/* 02C0B8 8002B4B8 030D7021 */ addu $t6, $t8, $t5 -/* 02C0BC 8002B4BC 01D30019 */ multu $t6, $s3 -/* 02C0C0 8002B4C0 032DC021 */ addu $t8, $t9, $t5 -/* 02C0C4 8002B4C4 8FE50000 */ lw $a1, ($ra) -/* 02C0C8 8002B4C8 00007812 */ mflo $t7 -/* 02C0CC 8002B4CC 01E51821 */ addu $v1, $t7, $a1 -/* 02C0D0 8002B4D0 908F0003 */ lbu $t7, 3($a0) -/* 02C0D4 8002B4D4 03130019 */ multu $t8, $s3 -/* 02C0D8 8002B4D8 01EDC821 */ addu $t9, $t7, $t5 -/* 02C0DC 8002B4DC 84660000 */ lh $a2, ($v1) -/* 02C0E0 8002B4E0 84670004 */ lh $a3, 4($v1) -/* 02C0E4 8002B4E4 00000000 */ nop -/* 02C0E8 8002B4E8 02872023 */ subu $a0, $s4, $a3 -/* 02C0EC 8002B4EC 00007012 */ mflo $t6 -/* 02C0F0 8002B4F0 01C51821 */ addu $v1, $t6, $a1 -/* 02C0F4 8002B4F4 84680000 */ lh $t0, ($v1) -/* 02C0F8 8002B4F8 03330019 */ multu $t9, $s3 -/* 02C0FC 8002B4FC 84690004 */ lh $t1, 4($v1) -/* 02C100 8002B500 0106C823 */ subu $t9, $t0, $a2 -/* 02C104 8002B504 01277023 */ subu $t6, $t1, $a3 -/* 02C108 8002B508 0000C012 */ mflo $t8 -/* 02C10C 8002B50C 03051821 */ addu $v1, $t8, $a1 -/* 02C110 8002B510 846B0000 */ lh $t3, ($v1) -/* 02C114 8002B514 846C0004 */ lh $t4, 4($v1) -/* 02C118 8002B518 02C61823 */ subu $v1, $s6, $a2 -/* 02C11C 8002B51C 006E0019 */ multu $v1, $t6 -/* 02C120 8002B520 00007812 */ mflo $t7 -/* 02C124 8002B524 00000000 */ nop -/* 02C128 8002B528 00000000 */ nop -/* 02C12C 8002B52C 03240019 */ multu $t9, $a0 -/* 02C130 8002B530 02C8C823 */ subu $t9, $s6, $t0 -/* 02C134 8002B534 0000C012 */ mflo $t8 -/* 02C138 8002B538 01F82823 */ subu $a1, $t7, $t8 -/* 02C13C 8002B53C 01897823 */ subu $t7, $t4, $t1 -/* 02C140 8002B540 032F0019 */ multu $t9, $t7 -/* 02C144 8002B544 28AE0000 */ slti $t6, $a1, 0 -/* 02C148 8002B548 39C50001 */ xori $a1, $t6, 1 -/* 02C14C 8002B54C 0289C823 */ subu $t9, $s4, $t1 -/* 02C150 8002B550 01687023 */ subu $t6, $t3, $t0 -/* 02C154 8002B554 0000C012 */ mflo $t8 -/* 02C158 8002B558 00000000 */ nop -/* 02C15C 8002B55C 00000000 */ nop -/* 02C160 8002B560 01D90019 */ multu $t6, $t9 -/* 02C164 8002B564 00007812 */ mflo $t7 -/* 02C168 8002B568 030F7023 */ subu $t6, $t8, $t7 -/* 02C16C 8002B56C 29D90000 */ slti $t9, $t6, 0 -/* 02C170 8002B570 3B390001 */ xori $t9, $t9, 1 -/* 02C174 8002B574 17250033 */ bne $t9, $a1, .L8002B644 -/* 02C178 8002B578 0187C023 */ subu $t8, $t4, $a3 -/* 02C17C 8002B57C 00780019 */ multu $v1, $t8 -/* 02C180 8002B580 01667023 */ subu $t6, $t3, $a2 -/* 02C184 8002B584 00007812 */ mflo $t7 -/* 02C188 8002B588 00000000 */ nop -/* 02C18C 8002B58C 00000000 */ nop -/* 02C190 8002B590 01C40019 */ multu $t6, $a0 -/* 02C194 8002B594 0000C812 */ mflo $t9 -/* 02C198 8002B598 01F9C023 */ subu $t8, $t7, $t9 -/* 02C19C 8002B59C 2B0E0000 */ slti $t6, $t8, 0 -/* 02C1A0 8002B5A0 39CE0001 */ xori $t6, $t6, 1 -/* 02C1A4 8002B5A4 10AE0027 */ beq $a1, $t6, .L8002B644 -/* 02C1A8 8002B5A8 00000000 */ nop -/* 02C1AC 8002B5AC 8FEF0014 */ lw $t7, 0x14($ra) -/* 02C1B0 8002B5B0 000AC8C0 */ sll $t9, $t2, 3 -/* 02C1B4 8002B5B4 01F9C021 */ addu $t8, $t7, $t9 -/* 02C1B8 8002B5B8 970F0000 */ lhu $t7, ($t8) -/* 02C1BC 8002B5BC 8FEE0018 */ lw $t6, 0x18($ra) -/* 02C1C0 8002B5C0 000FC900 */ sll $t9, $t7, 4 -/* 02C1C4 8002B5C4 01D91821 */ addu $v1, $t6, $t9 -/* 02C1C8 8002B5C8 C4600004 */ lwc1 $f0, 4($v1) -/* 02C1CC 8002B5CC C4620000 */ lwc1 $f2, ($v1) -/* 02C1D0 8002B5D0 46000221 */ cvt.d.s $f8, $f0 -/* 02C1D4 8002B5D4 46288032 */ c.eq.d $f16, $f8 -/* 02C1D8 8002B5D8 C46C0008 */ lwc1 $f12, 8($v1) -/* 02C1DC 8002B5DC C46E000C */ lwc1 $f14, 0xc($v1) -/* 02C1E0 8002B5E0 45010018 */ bc1t .L8002B644 -/* 02C1E4 8002B5E4 00000000 */ nop -/* 02C1E8 8002B5E8 46141282 */ mul.s $f10, $f2, $f20 -/* 02C1EC 8002B5EC 0015C080 */ sll $t8, $s5, 2 -/* 02C1F0 8002B5F0 0315C021 */ addu $t8, $t8, $s5 -/* 02C1F4 8002B5F4 3C0F8012 */ lui $t7, %hi(D_8011D128) # $t7, 0x8012 -/* 02C1F8 8002B5F8 46166482 */ mul.s $f18, $f12, $f22 -/* 02C1FC 8002B5FC 25EFD128 */ addiu $t7, %lo(D_8011D128) # addiu $t7, $t7, -0x2ed8 -/* 02C200 8002B600 0018C080 */ sll $t8, $t8, 2 -/* 02C204 8002B604 030F1821 */ addu $v1, $t8, $t7 -/* 02C208 8002B608 46125100 */ add.s $f4, $f10, $f18 -/* 02C20C 8002B60C 26B50001 */ addiu $s5, $s5, 1 -/* 02C210 8002B610 460E2180 */ add.s $f6, $f4, $f14 -/* 02C214 8002B614 2AA10014 */ slti $at, $s5, 0x14 -/* 02C218 8002B618 46003203 */ div.s $f8, $f6, $f0 -/* 02C21C 8002B61C A0720010 */ sb $s2, 0x10($v1) -/* 02C220 8002B620 E4620004 */ swc1 $f2, 4($v1) -/* 02C224 8002B624 E4600008 */ swc1 $f0, 8($v1) -/* 02C228 8002B628 E46C000C */ swc1 $f12, 0xc($v1) -/* 02C22C 8002B62C 46004287 */ neg.s $f10, $f8 -/* 02C230 8002B630 14200004 */ bnez $at, .L8002B644 -/* 02C234 8002B634 E46A0000 */ swc1 $f10, ($v1) -/* 02C238 8002B638 87F70020 */ lh $s7, 0x20($ra) -/* 02C23C 8002B63C 02005025 */ move $t2, $s0 -/* 02C240 8002B640 0040F025 */ move $fp, $v0 -.L8002B644: -/* 02C244 8002B644 254A0001 */ addiu $t2, $t2, 1 -/* 02C248 8002B648 0150082A */ slt $at, $t2, $s0 -/* 02C24C 8002B64C 1420FF8D */ bnez $at, .L8002B484 -/* 02C250 8002B650 00000000 */ nop -/* 02C254 8002B654 87E50020 */ lh $a1, 0x20($ra) -/* 02C258 8002B658 00000000 */ nop -.L8002B65C: -/* 02C25C 8002B65C 26F70001 */ addiu $s7, $s7, 1 -/* 02C260 8002B660 02E5082A */ slt $at, $s7, $a1 -/* 02C264 8002B664 1420FF6B */ bnez $at, .L8002B414 -/* 02C268 8002B668 00177080 */ sll $t6, $s7, 2 -.L8002B66C: -/* 02C26C 8002B66C 8FAE0108 */ lw $t6, 0x108($sp) -/* 02C270 8002B670 27DE0001 */ addiu $fp, $fp, 1 -/* 02C274 8002B674 03CE082A */ slt $at, $fp, $t6 -/* 02C278 8002B678 1420FED4 */ bnez $at, .L8002B1CC -/* 02C27C 8002B67C 001EC880 */ sll $t9, $fp, 2 -/* 02C280 8002B680 8FB00128 */ lw $s0, 0x128($sp) -/* 02C284 8002B684 00000000 */ nop -.L8002B688: -/* 02C288 8002B688 0600002C */ bltz $s0, .L8002B73C -/* 02C28C 8002B68C 3C0B800E */ lui $t3, %hi(D_800DC918) # $t3, 0x800e -/* 02C290 8002B690 8D6BC918 */ lw $t3, %lo(D_800DC918)($t3) -/* 02C294 8002B694 3C088012 */ lui $t0, %hi(D_8011D128) # $t0, 0x8012 -/* 02C298 8002B698 8579001A */ lh $t9, 0x1a($t3) -/* 02C29C 8002B69C 2508D128 */ addiu $t0, %lo(D_8011D128) # addiu $t0, $t0, -0x2ed8 -/* 02C2A0 8002B6A0 0219082A */ slt $at, $s0, $t9 -/* 02C2A4 8002B6A4 10200025 */ beqz $at, .L8002B73C -/* 02C2A8 8002B6A8 00107900 */ sll $t7, $s0, 4 -/* 02C2AC 8002B6AC 00151080 */ sll $v0, $s5, 2 -/* 02C2B0 8002B6B0 00551021 */ addu $v0, $v0, $s5 -/* 02C2B4 8002B6B4 8D780004 */ lw $t8, 4($t3) -/* 02C2B8 8002B6B8 01F07821 */ addu $t7, $t7, $s0 -/* 02C2BC 8002B6BC 00021080 */ sll $v0, $v0, 2 -/* 02C2C0 8002B6C0 000F7880 */ sll $t7, $t7, 2 -/* 02C2C4 8002B6C4 01021821 */ addu $v1, $t0, $v0 -/* 02C2C8 8002B6C8 240E000E */ li $t6, 14 -/* 02C2CC 8002B6CC A06E0010 */ sb $t6, 0x10($v1) -/* 02C2D0 8002B6D0 030FF821 */ addu $ra, $t8, $t7 -/* 02C2D4 8002B6D4 83F9002B */ lb $t9, 0x2b($ra) -/* 02C2D8 8002B6D8 3C188012 */ lui $t8, %hi(D_8011D384) # $t8, 0x8012 -/* 02C2DC 8002B6DC 1320000D */ beqz $t9, .L8002B714 -/* 02C2E0 8002B6E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02C2E4 8002B6E4 8F18D384 */ lw $t8, %lo(D_8011D384)($t8) -/* 02C2E8 8002B6E8 02002025 */ move $a0, $s0 -/* 02C2EC 8002B6EC 13000009 */ beqz $t8, .L8002B714 -/* 02C2F0 8002B6F0 00483821 */ addu $a3, $v0, $t0 -/* 02C2F4 8002B6F4 4405A000 */ mfc1 $a1, $f20 -/* 02C2F8 8002B6F8 4406B000 */ mfc1 $a2, $f22 -/* 02C2FC 8002B6FC 24E70004 */ addiu $a3, $a3, 4 -/* 02C300 8002B700 0C02ECBD */ jal func_800BB2F4 -/* 02C304 8002B704 AFA30064 */ sw $v1, 0x64($sp) -/* 02C308 8002B708 8FA30064 */ lw $v1, 0x64($sp) -/* 02C30C 8002B70C 1000000A */ b .L8002B738 -/* 02C310 8002B710 E4600000 */ swc1 $f0, ($v1) -.L8002B714: -/* 02C314 8002B714 87EF0038 */ lh $t7, 0x38($ra) -/* 02C318 8002B718 44800000 */ mtc1 $zero, $f0 -/* 02C31C 8002B71C 448F9000 */ mtc1 $t7, $f18 -/* 02C320 8002B720 44813000 */ mtc1 $at, $f6 -/* 02C324 8002B724 46809120 */ cvt.s.w $f4, $f18 -/* 02C328 8002B728 E4600004 */ swc1 $f0, 4($v1) -/* 02C32C 8002B72C E460000C */ swc1 $f0, 0xc($v1) -/* 02C330 8002B730 E4640000 */ swc1 $f4, ($v1) -/* 02C334 8002B734 E4660008 */ swc1 $f6, 8($v1) -.L8002B738: -/* 02C338 8002B738 26B50001 */ addiu $s5, $s5, 1 -.L8002B73C: -/* 02C33C 8002B73C 1AA0002F */ blez $s5, .L8002B7FC -/* 02C340 8002B740 00003825 */ move $a3, $zero -/* 02C344 8002B744 32A50003 */ andi $a1, $s5, 3 -/* 02C348 8002B748 10A0000F */ beqz $a1, .L8002B788 -/* 02C34C 8002B74C 00A02025 */ move $a0, $a1 -/* 02C350 8002B750 3C198012 */ lui $t9, %hi(D_8011D2B8) # $t9, 0x8012 -/* 02C354 8002B754 3C0F8012 */ lui $t7, %hi(D_8011D128) # $t7, 0x8012 -/* 02C358 8002B758 25EFD128 */ addiu $t7, %lo(D_8011D128) # addiu $t7, $t7, -0x2ed8 -/* 02C35C 8002B75C 2739D2B8 */ addiu $t9, %lo(D_8011D2B8) # addiu $t9, $t9, -0x2d48 -/* 02C360 8002B760 00007080 */ sll $t6, $zero, 2 -/* 02C364 8002B764 0000C100 */ sll $t8, $zero, 4 -/* 02C368 8002B768 030F1021 */ addu $v0, $t8, $t7 -/* 02C36C 8002B76C 01D91821 */ addu $v1, $t6, $t9 -.L8002B770: -/* 02C370 8002B770 AC620000 */ sw $v0, ($v1) -/* 02C374 8002B774 24E70001 */ addiu $a3, $a3, 1 -/* 02C378 8002B778 24420014 */ addiu $v0, $v0, 0x14 -/* 02C37C 8002B77C 1487FFFC */ bne $a0, $a3, .L8002B770 -/* 02C380 8002B780 24630004 */ addiu $v1, $v1, 4 -/* 02C384 8002B784 10F5001D */ beq $a3, $s5, .L8002B7FC -.L8002B788: -/* 02C388 8002B788 00157080 */ sll $t6, $s5, 2 -/* 02C38C 8002B78C 01D57021 */ addu $t6, $t6, $s5 -/* 02C390 8002B790 3C198012 */ lui $t9, %hi(D_8011D164) # $t9, 0x8012 -/* 02C394 8002B794 2739D164 */ addiu $t9, %lo(D_8011D164) # addiu $t9, $t9, -0x2e9c -/* 02C398 8002B798 000E7080 */ sll $t6, $t6, 2 -/* 02C39C 8002B79C 01D94021 */ addu $t0, $t6, $t9 -/* 02C3A0 8002B7A0 00077080 */ sll $t6, $a3, 2 -/* 02C3A4 8002B7A4 01C77021 */ addu $t6, $t6, $a3 -/* 02C3A8 8002B7A8 3C198012 */ lui $t9, %hi(D_8011D128) # $t9, 0x8012 -/* 02C3AC 8002B7AC 2739D128 */ addiu $t9, %lo(D_8011D128) # addiu $t9, $t9, -0x2ed8 -/* 02C3B0 8002B7B0 000E7080 */ sll $t6, $t6, 2 -/* 02C3B4 8002B7B4 01D91021 */ addu $v0, $t6, $t9 -/* 02C3B8 8002B7B8 3C0F8012 */ lui $t7, %hi(D_8011D2B8) # $t7, 0x8012 -/* 02C3BC 8002B7BC 25EFD2B8 */ addiu $t7, %lo(D_8011D2B8) # addiu $t7, $t7, -0x2d48 -/* 02C3C0 8002B7C0 0007C080 */ sll $t8, $a3, 2 -/* 02C3C4 8002B7C4 030F1821 */ addu $v1, $t8, $t7 -/* 02C3C8 8002B7C8 24450014 */ addiu $a1, $v0, 0x14 -/* 02C3CC 8002B7CC 24460028 */ addiu $a2, $v0, 0x28 -/* 02C3D0 8002B7D0 2444003C */ addiu $a0, $v0, 0x3c -.L8002B7D4: -/* 02C3D4 8002B7D4 AC64000C */ sw $a0, 0xc($v1) -/* 02C3D8 8002B7D8 24840050 */ addiu $a0, $a0, 0x50 -/* 02C3DC 8002B7DC AC620000 */ sw $v0, ($v1) -/* 02C3E0 8002B7E0 AC650004 */ sw $a1, 4($v1) -/* 02C3E4 8002B7E4 AC660008 */ sw $a2, 8($v1) -/* 02C3E8 8002B7E8 24C60050 */ addiu $a2, $a2, 0x50 -/* 02C3EC 8002B7EC 24A50050 */ addiu $a1, $a1, 0x50 -/* 02C3F0 8002B7F0 24420050 */ addiu $v0, $v0, 0x50 -/* 02C3F4 8002B7F4 1488FFF7 */ bne $a0, $t0, .L8002B7D4 -/* 02C3F8 8002B7F8 24630010 */ addiu $v1, $v1, 0x10 -.L8002B7FC: -/* 02C3FC 8002B7FC 26A9FFFF */ addiu $t1, $s5, -1 -/* 02C400 8002B800 24060001 */ li $a2, 1 -.L8002B804: -/* 02C404 8002B804 19200054 */ blez $t1, .L8002B958 -/* 02C408 8002B808 00003825 */ move $a3, $zero -/* 02C40C 8002B80C 26A2FFFF */ addiu $v0, $s5, -1 -/* 02C410 8002B810 30580003 */ andi $t8, $v0, 3 -/* 02C414 8002B814 13000014 */ beqz $t8, .L8002B868 -/* 02C418 8002B818 03004025 */ move $t0, $t8 -/* 02C41C 8002B81C 3C0E8012 */ lui $t6, %hi(D_8011D2B8) # $t6, 0x8012 -/* 02C420 8002B820 25CED2B8 */ addiu $t6, %lo(D_8011D2B8) # addiu $t6, $t6, -0x2d48 -/* 02C424 8002B824 00007880 */ sll $t7, $zero, 2 -/* 02C428 8002B828 01EE1821 */ addu $v1, $t7, $t6 -.L8002B82C: -/* 02C42C 8002B82C 8C650000 */ lw $a1, ($v1) -/* 02C430 8002B830 8C640004 */ lw $a0, 4($v1) -/* 02C434 8002B834 C4A80000 */ lwc1 $f8, ($a1) -/* 02C438 8002B838 C48A0000 */ lwc1 $f10, ($a0) -/* 02C43C 8002B83C 24E70001 */ addiu $a3, $a3, 1 -/* 02C440 8002B840 460A403C */ c.lt.s $f8, $f10 -/* 02C444 8002B844 00000000 */ nop -/* 02C448 8002B848 45000004 */ bc1f .L8002B85C -/* 02C44C 8002B84C 00000000 */ nop -/* 02C450 8002B850 00003025 */ move $a2, $zero -/* 02C454 8002B854 AC640000 */ sw $a0, ($v1) -/* 02C458 8002B858 AC650004 */ sw $a1, 4($v1) -.L8002B85C: -/* 02C45C 8002B85C 1507FFF3 */ bne $t0, $a3, .L8002B82C -/* 02C460 8002B860 24630004 */ addiu $v1, $v1, 4 -/* 02C464 8002B864 10E9003C */ beq $a3, $t1, .L8002B958 -.L8002B868: -/* 02C468 8002B868 3C188012 */ lui $t8, %hi(D_8011D2B8) # $t8, 0x8012 -/* 02C46C 8002B86C 2718D2B8 */ addiu $t8, %lo(D_8011D2B8) # addiu $t8, $t8, -0x2d48 -/* 02C470 8002B870 0009C880 */ sll $t9, $t1, 2 -/* 02C474 8002B874 00077880 */ sll $t7, $a3, 2 -/* 02C478 8002B878 01F81821 */ addu $v1, $t7, $t8 -/* 02C47C 8002B87C 03384021 */ addu $t0, $t9, $t8 -.L8002B880: -/* 02C480 8002B880 8C650000 */ lw $a1, ($v1) -/* 02C484 8002B884 8C640004 */ lw $a0, 4($v1) -/* 02C488 8002B888 C4B20000 */ lwc1 $f18, ($a1) -/* 02C48C 8002B88C C4800000 */ lwc1 $f0, ($a0) -/* 02C490 8002B890 00000000 */ nop -/* 02C494 8002B894 4600903C */ c.lt.s $f18, $f0 -/* 02C498 8002B898 00000000 */ nop -/* 02C49C 8002B89C 45000006 */ bc1f .L8002B8B8 -/* 02C4A0 8002B8A0 00000000 */ nop -/* 02C4A4 8002B8A4 AC640000 */ sw $a0, ($v1) -/* 02C4A8 8002B8A8 AC650004 */ sw $a1, 4($v1) -/* 02C4AC 8002B8AC C4A00000 */ lwc1 $f0, ($a1) -/* 02C4B0 8002B8B0 00003025 */ move $a2, $zero -/* 02C4B4 8002B8B4 00A02025 */ move $a0, $a1 -.L8002B8B8: -/* 02C4B8 8002B8B8 8C650008 */ lw $a1, 8($v1) -/* 02C4BC 8002B8BC 00000000 */ nop -/* 02C4C0 8002B8C0 C4A20000 */ lwc1 $f2, ($a1) -/* 02C4C4 8002B8C4 00000000 */ nop -/* 02C4C8 8002B8C8 4602003C */ c.lt.s $f0, $f2 -/* 02C4CC 8002B8CC 00000000 */ nop -/* 02C4D0 8002B8D0 45000006 */ bc1f .L8002B8EC -/* 02C4D4 8002B8D4 00000000 */ nop -/* 02C4D8 8002B8D8 AC650004 */ sw $a1, 4($v1) -/* 02C4DC 8002B8DC AC640008 */ sw $a0, 8($v1) -/* 02C4E0 8002B8E0 C4820000 */ lwc1 $f2, ($a0) -/* 02C4E4 8002B8E4 00802825 */ move $a1, $a0 -/* 02C4E8 8002B8E8 00003025 */ move $a2, $zero -.L8002B8EC: -/* 02C4EC 8002B8EC 8C64000C */ lw $a0, 0xc($v1) -/* 02C4F0 8002B8F0 00000000 */ nop -/* 02C4F4 8002B8F4 C4800000 */ lwc1 $f0, ($a0) -/* 02C4F8 8002B8F8 00000000 */ nop -/* 02C4FC 8002B8FC 4600103C */ c.lt.s $f2, $f0 -/* 02C500 8002B900 00000000 */ nop -/* 02C504 8002B904 45000006 */ bc1f .L8002B920 -/* 02C508 8002B908 00000000 */ nop -/* 02C50C 8002B90C AC640008 */ sw $a0, 8($v1) -/* 02C510 8002B910 AC65000C */ sw $a1, 0xc($v1) -/* 02C514 8002B914 C4A00000 */ lwc1 $f0, ($a1) -/* 02C518 8002B918 00A02025 */ move $a0, $a1 -/* 02C51C 8002B91C 00003025 */ move $a2, $zero -.L8002B920: -/* 02C520 8002B920 8C650010 */ lw $a1, 0x10($v1) -/* 02C524 8002B924 00000000 */ nop -/* 02C528 8002B928 C4A40000 */ lwc1 $f4, ($a1) -/* 02C52C 8002B92C 00000000 */ nop -/* 02C530 8002B930 4604003C */ c.lt.s $f0, $f4 -/* 02C534 8002B934 00000000 */ nop -/* 02C538 8002B938 45000004 */ bc1f .L8002B94C -/* 02C53C 8002B93C 00000000 */ nop -/* 02C540 8002B940 00003025 */ move $a2, $zero -/* 02C544 8002B944 AC65000C */ sw $a1, 0xc($v1) -/* 02C548 8002B948 AC640010 */ sw $a0, 0x10($v1) -.L8002B94C: -/* 02C54C 8002B94C 24630010 */ addiu $v1, $v1, 0x10 -/* 02C550 8002B950 1468FFCB */ bne $v1, $t0, .L8002B880 -/* 02C554 8002B954 00000000 */ nop -.L8002B958: -/* 02C558 8002B958 10C0FFAA */ beqz $a2, .L8002B804 -/* 02C55C 8002B95C 24060001 */ li $a2, 1 -/* 02C560 8002B960 8FB90134 */ lw $t9, 0x134($sp) -/* 02C564 8002B964 3C0E8012 */ lui $t6, %hi(D_8011D2B8) # $t6, 0x8012 -/* 02C568 8002B968 25CED2B8 */ addiu $t6, %lo(D_8011D2B8) # addiu $t6, $t6, -0x2d48 -/* 02C56C 8002B96C 3C018012 */ lui $at, %hi(D_8011D308) # $at, 0x8012 -/* 02C570 8002B970 AF2E0000 */ sw $t6, ($t9) -/* 02C574 8002B974 A035D308 */ sb $s5, %lo(D_8011D308)($at) -/* 02C578 8002B978 02A01025 */ move $v0, $s5 -.L8002B97C: -/* 02C57C 8002B97C 8FBF004C */ lw $ra, 0x4c($sp) -/* 02C580 8002B980 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 02C584 8002B984 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 02C588 8002B988 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 02C58C 8002B98C C7B60024 */ lwc1 $f22, 0x24($sp) -/* 02C590 8002B990 8FB00028 */ lw $s0, 0x28($sp) -/* 02C594 8002B994 8FB1002C */ lw $s1, 0x2c($sp) -/* 02C598 8002B998 8FB20030 */ lw $s2, 0x30($sp) -/* 02C59C 8002B99C 8FB30034 */ lw $s3, 0x34($sp) -/* 02C5A0 8002B9A0 8FB40038 */ lw $s4, 0x38($sp) -/* 02C5A4 8002B9A4 8FB5003C */ lw $s5, 0x3c($sp) -/* 02C5A8 8002B9A8 8FB60040 */ lw $s6, 0x40($sp) -/* 02C5AC 8002B9AC 8FB70044 */ lw $s7, 0x44($sp) -/* 02C5B0 8002B9B0 8FBE0048 */ lw $fp, 0x48($sp) -/* 02C5B4 8002B9B4 03E00008 */ jr $ra -/* 02C5B8 8002B9B8 27BD0128 */ addiu $sp, $sp, 0x128 - -glabel func_8002B9BC -/* 02C5BC 8002B9BC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02C5C0 8002B9C0 AFB00018 */ sw $s0, 0x18($sp) -/* 02C5C4 8002B9C4 00C08025 */ move $s0, $a2 -/* 02C5C8 8002B9C8 AFBF001C */ sw $ra, 0x1c($sp) -/* 02C5CC 8002B9CC AFA40020 */ sw $a0, 0x20($sp) -/* 02C5D0 8002B9D0 10C00007 */ beqz $a2, .L8002B9F0 -/* 02C5D4 8002B9D4 AFA50024 */ sw $a1, 0x24($sp) -/* 02C5D8 8002B9D8 44800000 */ mtc1 $zero, $f0 -/* 02C5DC 8002B9DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02C5E0 8002B9E0 44812000 */ mtc1 $at, $f4 -/* 02C5E4 8002B9E4 E4C00000 */ swc1 $f0, ($a2) -/* 02C5E8 8002B9E8 E4C00008 */ swc1 $f0, 8($a2) -/* 02C5EC 8002B9EC E4C40004 */ swc1 $f4, 4($a2) -.L8002B9F0: -/* 02C5F0 8002B9F0 8FAE0020 */ lw $t6, 0x20($sp) -/* 02C5F4 8002B9F4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02C5F8 8002B9F8 85C4002E */ lh $a0, 0x2e($t6) -/* 02C5FC 8002B9FC 00000000 */ nop -/* 02C600 8002BA00 04800008 */ bltz $a0, .L8002BA24 -/* 02C604 8002BA04 00000000 */ nop -/* 02C608 8002BA08 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 02C60C 8002BA0C 0004C900 */ sll $t9, $a0, 4 -/* 02C610 8002BA10 844F001A */ lh $t7, 0x1a($v0) -/* 02C614 8002BA14 0324C821 */ addu $t9, $t9, $a0 -/* 02C618 8002BA18 008F082A */ slt $at, $a0, $t7 -/* 02C61C 8002BA1C 14200003 */ bnez $at, .L8002BA2C -/* 02C620 8002BA20 00000000 */ nop -.L8002BA24: -/* 02C624 8002BA24 1000001E */ b .L8002BAA0 -/* 02C628 8002BA28 00001025 */ move $v0, $zero -.L8002BA2C: -/* 02C62C 8002BA2C 8C580004 */ lw $t8, 4($v0) -/* 02C630 8002BA30 0019C880 */ sll $t9, $t9, 2 -/* 02C634 8002BA34 03191821 */ addu $v1, $t8, $t9 -/* 02C638 8002BA38 8068002B */ lb $t0, 0x2b($v1) -/* 02C63C 8002BA3C 3C098012 */ lui $t1, %hi(D_8011D384) # $t1, 0x8012 -/* 02C640 8002BA40 11000011 */ beqz $t0, .L8002BA88 -/* 02C644 8002BA44 00000000 */ nop -/* 02C648 8002BA48 8D29D384 */ lw $t1, %lo(D_8011D384)($t1) -/* 02C64C 8002BA4C 24010001 */ li $at, 1 -/* 02C650 8002BA50 1120000D */ beqz $t1, .L8002BA88 -/* 02C654 8002BA54 00000000 */ nop -/* 02C658 8002BA58 14E1000B */ bne $a3, $at, .L8002BA88 -/* 02C65C 8002BA5C 00000000 */ nop -/* 02C660 8002BA60 8FAA0020 */ lw $t2, 0x20($sp) -/* 02C664 8002BA64 02003825 */ move $a3, $s0 -/* 02C668 8002BA68 8D45000C */ lw $a1, 0xc($t2) -/* 02C66C 8002BA6C 8D460014 */ lw $a2, 0x14($t2) -/* 02C670 8002BA70 0C02ECBD */ jal func_800BB2F4 -/* 02C674 8002BA74 00000000 */ nop -/* 02C678 8002BA78 8FAB0024 */ lw $t3, 0x24($sp) -/* 02C67C 8002BA7C 24020001 */ li $v0, 1 -/* 02C680 8002BA80 10000007 */ b .L8002BAA0 -/* 02C684 8002BA84 E5600000 */ swc1 $f0, ($t3) -.L8002BA88: -/* 02C688 8002BA88 846C0038 */ lh $t4, 0x38($v1) -/* 02C68C 8002BA8C 8FAD0024 */ lw $t5, 0x24($sp) -/* 02C690 8002BA90 448C3000 */ mtc1 $t4, $f6 -/* 02C694 8002BA94 24020001 */ li $v0, 1 -/* 02C698 8002BA98 46803220 */ cvt.s.w $f8, $f6 -/* 02C69C 8002BA9C E5A80000 */ swc1 $f8, ($t5) -.L8002BAA0: -/* 02C6A0 8002BAA0 8FBF001C */ lw $ra, 0x1c($sp) -/* 02C6A4 8002BAA4 8FB00018 */ lw $s0, 0x18($sp) -/* 02C6A8 8002BAA8 03E00008 */ jr $ra -/* 02C6AC 8002BAAC 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel func_8002BAB0 -/* 02C6B0 8002BAB0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 02C6B4 8002BAB4 AFB40020 */ sw $s4, 0x20($sp) -/* 02C6B8 8002BAB8 44856000 */ mtc1 $a1, $f12 -/* 02C6BC 8002BABC 44867000 */ mtc1 $a2, $f14 -/* 02C6C0 8002BAC0 00E0A025 */ move $s4, $a3 -/* 02C6C4 8002BAC4 AFBF0034 */ sw $ra, 0x34($sp) -/* 02C6C8 8002BAC8 AFBE0030 */ sw $fp, 0x30($sp) -/* 02C6CC 8002BACC AFB7002C */ sw $s7, 0x2c($sp) -/* 02C6D0 8002BAD0 AFB60028 */ sw $s6, 0x28($sp) -/* 02C6D4 8002BAD4 AFB50024 */ sw $s5, 0x24($sp) -/* 02C6D8 8002BAD8 AFB3001C */ sw $s3, 0x1c($sp) -/* 02C6DC 8002BADC AFB20018 */ sw $s2, 0x18($sp) -/* 02C6E0 8002BAE0 AFB10014 */ sw $s1, 0x14($sp) -/* 02C6E4 8002BAE4 AFB00010 */ sw $s0, 0x10($sp) -/* 02C6E8 8002BAE8 E7B50008 */ swc1 $f21, 8($sp) -/* 02C6EC 8002BAEC 04800009 */ bltz $a0, .L8002BB14 -/* 02C6F0 8002BAF0 E7B4000C */ swc1 $f20, 0xc($sp) -/* 02C6F4 8002BAF4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02C6F8 8002BAF8 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 02C6FC 8002BAFC 0004C100 */ sll $t8, $a0, 4 -/* 02C700 8002BB00 844E001A */ lh $t6, 0x1a($v0) -/* 02C704 8002BB04 0304C021 */ addu $t8, $t8, $a0 -/* 02C708 8002BB08 008E082A */ slt $at, $a0, $t6 -/* 02C70C 8002BB0C 14200003 */ bnez $at, .L8002BB1C -/* 02C710 8002BB10 0018C080 */ sll $t8, $t8, 2 -.L8002BB14: -/* 02C714 8002BB14 1000015D */ b .L8002C08C -/* 02C718 8002BB18 00001025 */ move $v0, $zero -.L8002BB1C: -/* 02C71C 8002BB1C 00047080 */ sll $t6, $a0, 2 -/* 02C720 8002BB20 8C590008 */ lw $t9, 8($v0) -/* 02C724 8002BB24 01C47023 */ subu $t6, $t6, $a0 -/* 02C728 8002BB28 000E7080 */ sll $t6, $t6, 2 -/* 02C72C 8002BB2C 8C4F0004 */ lw $t7, 4($v0) -/* 02C730 8002BB30 032E1821 */ addu $v1, $t9, $t6 -/* 02C734 8002BB34 444EF800 */ cfc1 $t6, $31 -/* 02C738 8002BB38 01F86021 */ addu $t4, $t7, $t8 -/* 02C73C 8002BB3C 846F0006 */ lh $t7, 6($v1) -/* 02C740 8002BB40 84670000 */ lh $a3, ($v1) -/* 02C744 8002BB44 35C10003 */ ori $at, $t6, 3 -/* 02C748 8002BB48 38210002 */ xori $at, $at, 2 -/* 02C74C 8002BB4C 01E73023 */ subu $a2, $t7, $a3 -/* 02C750 8002BB50 44C1F800 */ ctc1 $at, $31 -/* 02C754 8002BB54 0006C0C3 */ sra $t8, $a2, 3 -/* 02C758 8002BB58 27060001 */ addiu $a2, $t8, 1 -/* 02C75C 8002BB5C 46006124 */ cvt.w.s $f4, $f12 -/* 02C760 8002BB60 0006CC00 */ sll $t9, $a2, 0x10 -/* 02C764 8002BB64 00193403 */ sra $a2, $t9, 0x10 -/* 02C768 8002BB68 00C74021 */ addu $t0, $a2, $a3 -/* 02C76C 8002BB6C 00074C00 */ sll $t1, $a3, 0x10 -/* 02C770 8002BB70 44CEF800 */ ctc1 $t6, $31 -/* 02C774 8002BB74 00087C00 */ sll $t7, $t0, 0x10 -/* 02C778 8002BB78 0009CC03 */ sra $t9, $t1, 0x10 -/* 02C77C 8002BB7C 44132000 */ mfc1 $s3, $f4 -/* 02C780 8002BB80 24050001 */ li $a1, 1 -/* 02C784 8002BB84 00008825 */ move $s1, $zero -/* 02C788 8002BB88 000F4403 */ sra $t0, $t7, 0x10 -/* 02C78C 8002BB8C 03204825 */ move $t1, $t9 -/* 02C790 8002BB90 00005025 */ move $t2, $zero -.L8002BB94: -/* 02C794 8002BB94 0113082A */ slt $at, $t0, $s3 -/* 02C798 8002BB98 14200007 */ bnez $at, .L8002BBB8 -/* 02C79C 8002BB9C 01064021 */ addu $t0, $t0, $a2 -/* 02C7A0 8002BBA0 0269082A */ slt $at, $s3, $t1 -/* 02C7A4 8002BBA4 14200005 */ bnez $at, .L8002BBBC -/* 02C7A8 8002BBA8 0008CC00 */ sll $t9, $t0, 0x10 -/* 02C7AC 8002BBAC 02258825 */ or $s1, $s1, $a1 -/* 02C7B0 8002BBB0 00117C00 */ sll $t7, $s1, 0x10 -/* 02C7B4 8002BBB4 000F8C03 */ sra $s1, $t7, 0x10 -.L8002BBB8: -/* 02C7B8 8002BBB8 0008CC00 */ sll $t9, $t0, 0x10 -.L8002BBBC: -/* 02C7BC 8002BBBC 00194403 */ sra $t0, $t9, 0x10 -/* 02C7C0 8002BBC0 254A0001 */ addiu $t2, $t2, 1 -/* 02C7C4 8002BBC4 01264821 */ addu $t1, $t1, $a2 -/* 02C7C8 8002BBC8 00A0C825 */ move $t9, $a1 -/* 02C7CC 8002BBCC 29410008 */ slti $at, $t2, 8 -/* 02C7D0 8002BBD0 00097C00 */ sll $t7, $t1, 0x10 -/* 02C7D4 8002BBD4 00197440 */ sll $t6, $t9, 0x11 -/* 02C7D8 8002BBD8 000F4C03 */ sra $t1, $t7, 0x10 -/* 02C7DC 8002BBDC 1420FFED */ bnez $at, .L8002BB94 -/* 02C7E0 8002BBE0 000E2C03 */ sra $a1, $t6, 0x10 -/* 02C7E4 8002BBE4 84620004 */ lh $v0, 4($v1) -/* 02C7E8 8002BBE8 8478000A */ lh $t8, 0xa($v1) -/* 02C7EC 8002BBEC 444FF800 */ cfc1 $t7, $31 -/* 02C7F0 8002BBF0 03023023 */ subu $a2, $t8, $v0 -/* 02C7F4 8002BBF4 35E10003 */ ori $at, $t7, 3 -/* 02C7F8 8002BBF8 0006C8C3 */ sra $t9, $a2, 3 -/* 02C7FC 8002BBFC 38210002 */ xori $at, $at, 2 -/* 02C800 8002BC00 44C1F800 */ ctc1 $at, $31 -/* 02C804 8002BC04 27260001 */ addiu $a2, $t9, 1 -/* 02C808 8002BC08 00067400 */ sll $t6, $a2, 0x10 -/* 02C80C 8002BC0C 460071A4 */ cvt.w.s $f6, $f14 -/* 02C810 8002BC10 000E3403 */ sra $a2, $t6, 0x10 -/* 02C814 8002BC14 00C24021 */ addu $t0, $a2, $v0 -/* 02C818 8002BC18 00024C00 */ sll $t1, $v0, 0x10 -/* 02C81C 8002BC1C 44CFF800 */ ctc1 $t7, $31 -/* 02C820 8002BC20 0008C400 */ sll $t8, $t0, 0x10 -/* 02C824 8002BC24 00097403 */ sra $t6, $t1, 0x10 -/* 02C828 8002BC28 44103000 */ mfc1 $s0, $f6 -/* 02C82C 8002BC2C 00184403 */ sra $t0, $t8, 0x10 -/* 02C830 8002BC30 01C04825 */ move $t1, $t6 -/* 02C834 8002BC34 24020008 */ li $v0, 8 -/* 02C838 8002BC38 00005025 */ move $t2, $zero -.L8002BC3C: -/* 02C83C 8002BC3C 0110082A */ slt $at, $t0, $s0 -/* 02C840 8002BC40 14200007 */ bnez $at, .L8002BC60 -/* 02C844 8002BC44 01064021 */ addu $t0, $t0, $a2 -/* 02C848 8002BC48 0209082A */ slt $at, $s0, $t1 -/* 02C84C 8002BC4C 14200005 */ bnez $at, .L8002BC64 -/* 02C850 8002BC50 00087400 */ sll $t6, $t0, 0x10 -/* 02C854 8002BC54 02258825 */ or $s1, $s1, $a1 -/* 02C858 8002BC58 0011C400 */ sll $t8, $s1, 0x10 -/* 02C85C 8002BC5C 00188C03 */ sra $s1, $t8, 0x10 -.L8002BC60: -/* 02C860 8002BC60 00087400 */ sll $t6, $t0, 0x10 -.L8002BC64: -/* 02C864 8002BC64 000E4403 */ sra $t0, $t6, 0x10 -/* 02C868 8002BC68 01264821 */ addu $t1, $t1, $a2 -/* 02C86C 8002BC6C 0009C400 */ sll $t8, $t1, 0x10 -/* 02C870 8002BC70 00A07025 */ move $t6, $a1 -/* 02C874 8002BC74 0018CC03 */ sra $t9, $t8, 0x10 -/* 02C878 8002BC78 000E7C40 */ sll $t7, $t6, 0x11 -/* 02C87C 8002BC7C 0110082A */ slt $at, $t0, $s0 -/* 02C880 8002BC80 000FC403 */ sra $t8, $t7, 0x10 -/* 02C884 8002BC84 03204825 */ move $t1, $t9 -/* 02C888 8002BC88 14200007 */ bnez $at, .L8002BCA8 -/* 02C88C 8002BC8C 03002825 */ move $a1, $t8 -/* 02C890 8002BC90 0219082A */ slt $at, $s0, $t9 -/* 02C894 8002BC94 14200004 */ bnez $at, .L8002BCA8 -/* 02C898 8002BC98 00000000 */ nop -/* 02C89C 8002BC9C 02388825 */ or $s1, $s1, $t8 -/* 02C8A0 8002BCA0 0011CC00 */ sll $t9, $s1, 0x10 -/* 02C8A4 8002BCA4 00198C03 */ sra $s1, $t9, 0x10 -.L8002BCA8: -/* 02C8A8 8002BCA8 01064021 */ addu $t0, $t0, $a2 -/* 02C8AC 8002BCAC 00087C00 */ sll $t7, $t0, 0x10 -/* 02C8B0 8002BCB0 000F4403 */ sra $t0, $t7, 0x10 -/* 02C8B4 8002BCB4 01264821 */ addu $t1, $t1, $a2 -/* 02C8B8 8002BCB8 0009CC00 */ sll $t9, $t1, 0x10 -/* 02C8BC 8002BCBC 00A07825 */ move $t7, $a1 -/* 02C8C0 8002BCC0 000FC440 */ sll $t8, $t7, 0x11 -/* 02C8C4 8002BCC4 00197403 */ sra $t6, $t9, 0x10 -/* 02C8C8 8002BCC8 0018CC03 */ sra $t9, $t8, 0x10 -/* 02C8CC 8002BCCC 0110082A */ slt $at, $t0, $s0 -/* 02C8D0 8002BCD0 03202825 */ move $a1, $t9 -/* 02C8D4 8002BCD4 14200007 */ bnez $at, .L8002BCF4 -/* 02C8D8 8002BCD8 01C04825 */ move $t1, $t6 -/* 02C8DC 8002BCDC 020E082A */ slt $at, $s0, $t6 -/* 02C8E0 8002BCE0 14200004 */ bnez $at, .L8002BCF4 -/* 02C8E4 8002BCE4 00000000 */ nop -/* 02C8E8 8002BCE8 02398825 */ or $s1, $s1, $t9 -/* 02C8EC 8002BCEC 00117400 */ sll $t6, $s1, 0x10 -/* 02C8F0 8002BCF0 000E8C03 */ sra $s1, $t6, 0x10 -.L8002BCF4: -/* 02C8F4 8002BCF4 01064021 */ addu $t0, $t0, $a2 -/* 02C8F8 8002BCF8 0008C400 */ sll $t8, $t0, 0x10 -/* 02C8FC 8002BCFC 00184403 */ sra $t0, $t8, 0x10 -/* 02C900 8002BD00 01264821 */ addu $t1, $t1, $a2 -/* 02C904 8002BD04 00097400 */ sll $t6, $t1, 0x10 -/* 02C908 8002BD08 00A0C025 */ move $t8, $a1 -/* 02C90C 8002BD0C 0018CC40 */ sll $t9, $t8, 0x11 -/* 02C910 8002BD10 000E7C03 */ sra $t7, $t6, 0x10 -/* 02C914 8002BD14 00197403 */ sra $t6, $t9, 0x10 -/* 02C918 8002BD18 0110082A */ slt $at, $t0, $s0 -/* 02C91C 8002BD1C 01C02825 */ move $a1, $t6 -/* 02C920 8002BD20 14200007 */ bnez $at, .L8002BD40 -/* 02C924 8002BD24 01E04825 */ move $t1, $t7 -/* 02C928 8002BD28 020F082A */ slt $at, $s0, $t7 -/* 02C92C 8002BD2C 14200004 */ bnez $at, .L8002BD40 -/* 02C930 8002BD30 00000000 */ nop -/* 02C934 8002BD34 022E8825 */ or $s1, $s1, $t6 -/* 02C938 8002BD38 00117C00 */ sll $t7, $s1, 0x10 -/* 02C93C 8002BD3C 000F8C03 */ sra $s1, $t7, 0x10 -.L8002BD40: -/* 02C940 8002BD40 01064021 */ addu $t0, $t0, $a2 -/* 02C944 8002BD44 0008CC00 */ sll $t9, $t0, 0x10 -/* 02C948 8002BD48 00194403 */ sra $t0, $t9, 0x10 -/* 02C94C 8002BD4C 00A0C825 */ move $t9, $a1 -/* 02C950 8002BD50 01264821 */ addu $t1, $t1, $a2 -/* 02C954 8002BD54 00097C00 */ sll $t7, $t1, 0x10 -/* 02C958 8002BD58 00197440 */ sll $t6, $t9, 0x11 -/* 02C95C 8002BD5C 254A0004 */ addiu $t2, $t2, 4 -/* 02C960 8002BD60 000E2C03 */ sra $a1, $t6, 0x10 -/* 02C964 8002BD64 1542FFB5 */ bne $t2, $v0, .L8002BC3C -/* 02C968 8002BD68 000F4C03 */ sra $t1, $t7, 0x10 -/* 02C96C 8002BD6C 85820020 */ lh $v0, 0x20($t4) -/* 02C970 8002BD70 00009025 */ move $s2, $zero -/* 02C974 8002BD74 1840007C */ blez $v0, .L8002BF68 -/* 02C978 8002BD78 0000A825 */ move $s5, $zero -/* 02C97C 8002BD7C 4480A800 */ mtc1 $zero, $f21 -/* 02C980 8002BD80 4480A000 */ mtc1 $zero, $f20 -/* 02C984 8002BD84 0000B025 */ move $s6, $zero -/* 02C988 8002BD88 240B000A */ li $t3, 10 -.L8002BD8C: -/* 02C98C 8002BD8C 8D98000C */ lw $t8, 0xc($t4) -/* 02C990 8002BD90 26B50001 */ addiu $s5, $s5, 1 -/* 02C994 8002BD94 03162021 */ addu $a0, $t8, $s6 -/* 02C998 8002BD98 84830004 */ lh $v1, 4($a0) -/* 02C99C 8002BD9C 848D0010 */ lh $t5, 0x10($a0) -/* 02C9A0 8002BDA0 84890002 */ lh $t1, 2($a0) -/* 02C9A4 8002BDA4 006D082A */ slt $at, $v1, $t5 -/* 02C9A8 8002BDA8 1020006C */ beqz $at, .L8002BF5C -/* 02C9AC 8002BDAC 00603025 */ move $a2, $v1 -/* 02C9B0 8002BDB0 00035040 */ sll $t2, $v1, 1 -.L8002BDB4: -/* 02C9B4 8002BDB4 8D990010 */ lw $t9, 0x10($t4) -/* 02C9B8 8002BDB8 00000000 */ nop -/* 02C9BC 8002BDBC 032A7021 */ addu $t6, $t9, $t2 -/* 02C9C0 8002BDC0 85CF0000 */ lh $t7, ($t6) -/* 02C9C4 8002BDC4 00000000 */ nop -/* 02C9C8 8002BDC8 01F1C024 */ and $t8, $t7, $s1 -/* 02C9CC 8002BDCC 1638005D */ bne $s1, $t8, .L8002BF44 -/* 02C9D0 8002BDD0 00000000 */ nop -/* 02C9D4 8002BDD4 8D990004 */ lw $t9, 4($t4) -/* 02C9D8 8002BDD8 00067100 */ sll $t6, $a2, 4 -/* 02C9DC 8002BDDC 032EF021 */ addu $fp, $t9, $t6 -/* 02C9E0 8002BDE0 93CF0001 */ lbu $t7, 1($fp) -/* 02C9E4 8002BDE4 93CE0002 */ lbu $t6, 2($fp) -/* 02C9E8 8002BDE8 01E9C021 */ addu $t8, $t7, $t1 -/* 02C9EC 8002BDEC 030B0019 */ multu $t8, $t3 -/* 02C9F0 8002BDF0 01C97821 */ addu $t7, $t6, $t1 -/* 02C9F4 8002BDF4 8D9F0000 */ lw $ra, ($t4) -/* 02C9F8 8002BDF8 0000C812 */ mflo $t9 -/* 02C9FC 8002BDFC 033FB821 */ addu $s7, $t9, $ra -/* 02CA00 8002BE00 93D90003 */ lbu $t9, 3($fp) -/* 02CA04 8002BE04 01EB0019 */ multu $t7, $t3 -/* 02CA08 8002BE08 03297021 */ addu $t6, $t9, $t1 -/* 02CA0C 8002BE0C 86E20000 */ lh $v0, ($s7) -/* 02CA10 8002BE10 86E30004 */ lh $v1, 4($s7) -/* 02CA14 8002BE14 00000000 */ nop -/* 02CA18 8002BE18 0203F023 */ subu $fp, $s0, $v1 -/* 02CA1C 8002BE1C 0000C012 */ mflo $t8 -/* 02CA20 8002BE20 031FB821 */ addu $s7, $t8, $ra -/* 02CA24 8002BE24 86E40000 */ lh $a0, ($s7) -/* 02CA28 8002BE28 01CB0019 */ multu $t6, $t3 -/* 02CA2C 8002BE2C 86E50004 */ lh $a1, 4($s7) -/* 02CA30 8002BE30 00827023 */ subu $t6, $a0, $v0 -/* 02CA34 8002BE34 00A3C023 */ subu $t8, $a1, $v1 -/* 02CA38 8002BE38 00007812 */ mflo $t7 -/* 02CA3C 8002BE3C 01FFB821 */ addu $s7, $t7, $ra -/* 02CA40 8002BE40 86E70000 */ lh $a3, ($s7) -/* 02CA44 8002BE44 86E80004 */ lh $t0, 4($s7) -/* 02CA48 8002BE48 0262B823 */ subu $s7, $s3, $v0 -/* 02CA4C 8002BE4C 02F80019 */ multu $s7, $t8 -/* 02CA50 8002BE50 0000C812 */ mflo $t9 -/* 02CA54 8002BE54 00000000 */ nop -/* 02CA58 8002BE58 00000000 */ nop -/* 02CA5C 8002BE5C 01DE0019 */ multu $t6, $fp -/* 02CA60 8002BE60 02647023 */ subu $t6, $s3, $a0 -/* 02CA64 8002BE64 00007812 */ mflo $t7 -/* 02CA68 8002BE68 032FF823 */ subu $ra, $t9, $t7 -/* 02CA6C 8002BE6C 0105C823 */ subu $t9, $t0, $a1 -/* 02CA70 8002BE70 01D90019 */ multu $t6, $t9 -/* 02CA74 8002BE74 2BF80000 */ slti $t8, $ra, 0 -/* 02CA78 8002BE78 3B1F0001 */ xori $ra, $t8, 1 -/* 02CA7C 8002BE7C 02057023 */ subu $t6, $s0, $a1 -/* 02CA80 8002BE80 00E4C023 */ subu $t8, $a3, $a0 -/* 02CA84 8002BE84 00007812 */ mflo $t7 -/* 02CA88 8002BE88 00000000 */ nop -/* 02CA8C 8002BE8C 00000000 */ nop -/* 02CA90 8002BE90 030E0019 */ multu $t8, $t6 -/* 02CA94 8002BE94 0000C812 */ mflo $t9 -/* 02CA98 8002BE98 01F9C023 */ subu $t8, $t7, $t9 -/* 02CA9C 8002BE9C 2B0E0000 */ slti $t6, $t8, 0 -/* 02CAA0 8002BEA0 39CE0001 */ xori $t6, $t6, 1 -/* 02CAA4 8002BEA4 15DF0027 */ bne $t6, $ra, .L8002BF44 -/* 02CAA8 8002BEA8 01037823 */ subu $t7, $t0, $v1 -/* 02CAAC 8002BEAC 02EF0019 */ multu $s7, $t7 -/* 02CAB0 8002BEB0 00E2C023 */ subu $t8, $a3, $v0 -/* 02CAB4 8002BEB4 0000C812 */ mflo $t9 -/* 02CAB8 8002BEB8 00000000 */ nop -/* 02CABC 8002BEBC 00000000 */ nop -/* 02CAC0 8002BEC0 031E0019 */ multu $t8, $fp -/* 02CAC4 8002BEC4 00007012 */ mflo $t6 -/* 02CAC8 8002BEC8 032E7823 */ subu $t7, $t9, $t6 -/* 02CACC 8002BECC 29F80000 */ slti $t8, $t7, 0 -/* 02CAD0 8002BED0 3B180001 */ xori $t8, $t8, 1 -/* 02CAD4 8002BED4 13F8001B */ beq $ra, $t8, .L8002BF44 -/* 02CAD8 8002BED8 00000000 */ nop -/* 02CADC 8002BEDC 8D990014 */ lw $t9, 0x14($t4) -/* 02CAE0 8002BEE0 000670C0 */ sll $t6, $a2, 3 -/* 02CAE4 8002BEE4 032E7821 */ addu $t7, $t9, $t6 -/* 02CAE8 8002BEE8 95F90000 */ lhu $t9, ($t7) -/* 02CAEC 8002BEEC 8D980018 */ lw $t8, 0x18($t4) -/* 02CAF0 8002BEF0 00197100 */ sll $t6, $t9, 4 -/* 02CAF4 8002BEF4 030E1821 */ addu $v1, $t8, $t6 -/* 02CAF8 8002BEF8 C4620004 */ lwc1 $f2, 4($v1) -/* 02CAFC 8002BEFC C4600000 */ lwc1 $f0, ($v1) -/* 02CB00 8002BF00 46001221 */ cvt.d.s $f8, $f2 -/* 02CB04 8002BF04 4628A032 */ c.eq.d $f20, $f8 -/* 02CB08 8002BF08 C4700008 */ lwc1 $f16, 8($v1) -/* 02CB0C 8002BF0C C472000C */ lwc1 $f18, 0xc($v1) -/* 02CB10 8002BF10 4501000C */ bc1t .L8002BF44 -/* 02CB14 8002BF14 00000000 */ nop -/* 02CB18 8002BF18 460C0282 */ mul.s $f10, $f0, $f12 -/* 02CB1C 8002BF1C 00127880 */ sll $t7, $s2, 2 -/* 02CB20 8002BF20 028FC821 */ addu $t9, $s4, $t7 -/* 02CB24 8002BF24 26520001 */ addiu $s2, $s2, 1 -/* 02CB28 8002BF28 460E8102 */ mul.s $f4, $f16, $f14 -/* 02CB2C 8002BF2C 46045180 */ add.s $f6, $f10, $f4 -/* 02CB30 8002BF30 46123200 */ add.s $f8, $f6, $f18 -/* 02CB34 8002BF34 00000000 */ nop -/* 02CB38 8002BF38 46024283 */ div.s $f10, $f8, $f2 -/* 02CB3C 8002BF3C 46005107 */ neg.s $f4, $f10 -/* 02CB40 8002BF40 E7240000 */ swc1 $f4, ($t9) -.L8002BF44: -/* 02CB44 8002BF44 24C60001 */ addiu $a2, $a2, 1 -/* 02CB48 8002BF48 00CD082A */ slt $at, $a2, $t5 -/* 02CB4C 8002BF4C 1420FF99 */ bnez $at, .L8002BDB4 -/* 02CB50 8002BF50 254A0002 */ addiu $t2, $t2, 2 -/* 02CB54 8002BF54 85820020 */ lh $v0, 0x20($t4) -/* 02CB58 8002BF58 00000000 */ nop -.L8002BF5C: -/* 02CB5C 8002BF5C 02A2082A */ slt $at, $s5, $v0 -/* 02CB60 8002BF60 1420FF8A */ bnez $at, .L8002BD8C -/* 02CB64 8002BF64 26D6000C */ addiu $s6, $s6, 0xc -.L8002BF68: -/* 02CB68 8002BF68 2644FFFF */ addiu $a0, $s2, -1 -/* 02CB6C 8002BF6C 24030001 */ li $v1, 1 -.L8002BF70: -/* 02CB70 8002BF70 18800043 */ blez $a0, .L8002C080 -/* 02CB74 8002BF74 00001025 */ move $v0, $zero -/* 02CB78 8002BF78 2647FFFF */ addiu $a3, $s2, -1 -/* 02CB7C 8002BF7C 30F80003 */ andi $t8, $a3, 3 -/* 02CB80 8002BF80 13000010 */ beqz $t8, .L8002BFC4 -/* 02CB84 8002BF84 03003025 */ move $a2, $t8 -/* 02CB88 8002BF88 00007080 */ sll $t6, $zero, 2 -/* 02CB8C 8002BF8C 028E2821 */ addu $a1, $s4, $t6 -.L8002BF90: -/* 02CB90 8002BF90 C4A00004 */ lwc1 $f0, 4($a1) -/* 02CB94 8002BF94 C4A20000 */ lwc1 $f2, ($a1) -/* 02CB98 8002BF98 24420001 */ addiu $v0, $v0, 1 -/* 02CB9C 8002BF9C 4602003C */ c.lt.s $f0, $f2 -/* 02CBA0 8002BFA0 00000000 */ nop -/* 02CBA4 8002BFA4 45000004 */ bc1f .L8002BFB8 -/* 02CBA8 8002BFA8 00000000 */ nop -/* 02CBAC 8002BFAC 00001825 */ move $v1, $zero -/* 02CBB0 8002BFB0 E4A00000 */ swc1 $f0, ($a1) -/* 02CBB4 8002BFB4 E4A20004 */ swc1 $f2, 4($a1) -.L8002BFB8: -/* 02CBB8 8002BFB8 14C2FFF5 */ bne $a2, $v0, .L8002BF90 -/* 02CBBC 8002BFBC 24A50004 */ addiu $a1, $a1, 4 -/* 02CBC0 8002BFC0 1044002F */ beq $v0, $a0, .L8002C080 -.L8002BFC4: -/* 02CBC4 8002BFC4 00027880 */ sll $t7, $v0, 2 -/* 02CBC8 8002BFC8 0004C880 */ sll $t9, $a0, 2 -/* 02CBCC 8002BFCC 03343021 */ addu $a2, $t9, $s4 -/* 02CBD0 8002BFD0 028F2821 */ addu $a1, $s4, $t7 -.L8002BFD4: -/* 02CBD4 8002BFD4 C4A00004 */ lwc1 $f0, 4($a1) -/* 02CBD8 8002BFD8 C4A20000 */ lwc1 $f2, ($a1) -/* 02CBDC 8002BFDC 00000000 */ nop -/* 02CBE0 8002BFE0 4602003C */ c.lt.s $f0, $f2 -/* 02CBE4 8002BFE4 00000000 */ nop -/* 02CBE8 8002BFE8 45000005 */ bc1f .L8002C000 -/* 02CBEC 8002BFEC 00000000 */ nop -/* 02CBF0 8002BFF0 E4A00000 */ swc1 $f0, ($a1) -/* 02CBF4 8002BFF4 E4A20004 */ swc1 $f2, 4($a1) -/* 02CBF8 8002BFF8 C4A00004 */ lwc1 $f0, 4($a1) -/* 02CBFC 8002BFFC 00001825 */ move $v1, $zero -.L8002C000: -/* 02CC00 8002C000 C4A20008 */ lwc1 $f2, 8($a1) -/* 02CC04 8002C004 00000000 */ nop -/* 02CC08 8002C008 4600103C */ c.lt.s $f2, $f0 -/* 02CC0C 8002C00C 00000000 */ nop -/* 02CC10 8002C010 45000005 */ bc1f .L8002C028 -/* 02CC14 8002C014 00000000 */ nop -/* 02CC18 8002C018 E4A20004 */ swc1 $f2, 4($a1) -/* 02CC1C 8002C01C E4A00008 */ swc1 $f0, 8($a1) -/* 02CC20 8002C020 C4A20008 */ lwc1 $f2, 8($a1) -/* 02CC24 8002C024 00001825 */ move $v1, $zero -.L8002C028: -/* 02CC28 8002C028 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 02CC2C 8002C02C 00000000 */ nop -/* 02CC30 8002C030 4602003C */ c.lt.s $f0, $f2 -/* 02CC34 8002C034 00000000 */ nop -/* 02CC38 8002C038 45000005 */ bc1f .L8002C050 -/* 02CC3C 8002C03C 00000000 */ nop -/* 02CC40 8002C040 E4A00008 */ swc1 $f0, 8($a1) -/* 02CC44 8002C044 E4A2000C */ swc1 $f2, 0xc($a1) -/* 02CC48 8002C048 C4A0000C */ lwc1 $f0, 0xc($a1) -/* 02CC4C 8002C04C 00001825 */ move $v1, $zero -.L8002C050: -/* 02CC50 8002C050 C4A20010 */ lwc1 $f2, 0x10($a1) -/* 02CC54 8002C054 00000000 */ nop -/* 02CC58 8002C058 4600103C */ c.lt.s $f2, $f0 -/* 02CC5C 8002C05C 00000000 */ nop -/* 02CC60 8002C060 45000004 */ bc1f .L8002C074 -/* 02CC64 8002C064 00000000 */ nop -/* 02CC68 8002C068 00001825 */ move $v1, $zero -/* 02CC6C 8002C06C E4A2000C */ swc1 $f2, 0xc($a1) -/* 02CC70 8002C070 E4A00010 */ swc1 $f0, 0x10($a1) -.L8002C074: -/* 02CC74 8002C074 24A50010 */ addiu $a1, $a1, 0x10 -/* 02CC78 8002C078 14A6FFD6 */ bne $a1, $a2, .L8002BFD4 -/* 02CC7C 8002C07C 00000000 */ nop -.L8002C080: -/* 02CC80 8002C080 1060FFBB */ beqz $v1, .L8002BF70 -/* 02CC84 8002C084 24030001 */ li $v1, 1 -/* 02CC88 8002C088 02401025 */ move $v0, $s2 -.L8002C08C: -/* 02CC8C 8002C08C 8FBF0034 */ lw $ra, 0x34($sp) -/* 02CC90 8002C090 C7B50008 */ lwc1 $f21, 8($sp) -/* 02CC94 8002C094 C7B4000C */ lwc1 $f20, 0xc($sp) -/* 02CC98 8002C098 8FB00010 */ lw $s0, 0x10($sp) -/* 02CC9C 8002C09C 8FB10014 */ lw $s1, 0x14($sp) -/* 02CCA0 8002C0A0 8FB20018 */ lw $s2, 0x18($sp) -/* 02CCA4 8002C0A4 8FB3001C */ lw $s3, 0x1c($sp) -/* 02CCA8 8002C0A8 8FB40020 */ lw $s4, 0x20($sp) -/* 02CCAC 8002C0AC 8FB50024 */ lw $s5, 0x24($sp) -/* 02CCB0 8002C0B0 8FB60028 */ lw $s6, 0x28($sp) -/* 02CCB4 8002C0B4 8FB7002C */ lw $s7, 0x2c($sp) -/* 02CCB8 8002C0B8 8FBE0030 */ lw $fp, 0x30($sp) -/* 02CCBC 8002C0BC 03E00008 */ jr $ra -/* 02CCC0 8002C0C0 27BD0038 */ addiu $sp, $sp, 0x38 - -glabel func_8002C0C4 -/* 02CCC4 8002C0C4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02CCC8 8002C0C8 AFB2001C */ sw $s2, 0x1c($sp) -/* 02CCCC 8002C0CC 00809025 */ move $s2, $a0 -/* 02CCD0 8002C0D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 02CCD4 8002C0D4 3C0400FF */ lui $a0, (0x00FF00FF >> 16) # lui $a0, 0xff -/* 02CCD8 8002C0D8 AFB50028 */ sw $s5, 0x28($sp) -/* 02CCDC 8002C0DC AFB40024 */ sw $s4, 0x24($sp) -/* 02CCE0 8002C0E0 AFB30020 */ sw $s3, 0x20($sp) -/* 02CCE4 8002C0E4 AFB10018 */ sw $s1, 0x18($sp) -/* 02CCE8 8002C0E8 AFB00014 */ sw $s0, 0x14($sp) -/* 02CCEC 8002C0EC 0C01ECDD */ jal func_8007B374 -/* 02CCF0 8002C0F0 348400FF */ ori $a0, (0x00FF00FF & 0xFFFF) # ori $a0, $a0, 0xff -/* 02CCF4 8002C0F4 3C150008 */ lui $s5, (0x00082A00 >> 16) # lui $s5, 8 -/* 02CCF8 8002C0F8 36B52A00 */ ori $s5, (0x00082A00 & 0xFFFF) # ori $s5, $s5, 0x2a00 -/* 02CCFC 8002C0FC 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 02CD00 8002C100 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 02CD04 8002C104 0C01C327 */ jal func_80070C9C -/* 02CD08 8002C108 02A02025 */ move $a0, $s5 -/* 02CD0C 8002C10C 3C038012 */ lui $v1, %hi(D_8011D30C) # $v1, 0x8012 -/* 02CD10 8002C110 3C11800E */ lui $s1, %hi(D_800DC918) # $s1, 0x800e -/* 02CD14 8002C114 2631C918 */ addiu $s1, %lo(D_800DC918) # addiu $s1, $s1, -0x36e8 -/* 02CD18 8002C118 2463D30C */ addiu $v1, %lo(D_8011D30C) # addiu $v1, $v1, -0x2cf4 -/* 02CD1C 8002C11C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 02CD20 8002C120 AC620000 */ sw $v0, ($v1) -/* 02CD24 8002C124 AE220000 */ sw $v0, ($s1) -/* 02CD28 8002C128 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 02CD2C 8002C12C 0C01C327 */ jal func_80070C9C -/* 02CD30 8002C130 240407D0 */ li $a0, 2000 -/* 02CD34 8002C134 3C018012 */ lui $at, %hi(D_8011D370) # $at, 0x8012 -/* 02CD38 8002C138 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff -/* 02CD3C 8002C13C AC22D370 */ sw $v0, %lo(D_8011D370)($at) -/* 02CD40 8002C140 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 02CD44 8002C144 0C01C327 */ jal func_80070C9C -/* 02CD48 8002C148 240401F4 */ li $a0, 500 -/* 02CD4C 8002C14C 3C018012 */ lui $at, %hi(D_8011D374) # $at, 0x8012 -/* 02CD50 8002C150 AC22D374 */ sw $v0, %lo(D_8011D374)($at) -/* 02CD54 8002C154 3C018012 */ lui $at, %hi(D_8011D378) # $at, 0x8012 -/* 02CD58 8002C158 AC20D378 */ sw $zero, %lo(D_8011D378)($at) -/* 02CD5C 8002C15C 0C01DB16 */ jal func_80076C58 -/* 02CD60 8002C160 2404001A */ li $a0, 26 -/* 02CD64 8002C164 3C148012 */ lui $s4, %hi(D_8011D310) # $s4, 0x8012 -/* 02CD68 8002C168 2694D310 */ addiu $s4, %lo(D_8011D310) # addiu $s4, $s4, -0x2cf0 -/* 02CD6C 8002C16C AE820000 */ sw $v0, ($s4) -/* 02CD70 8002C170 8C4F0000 */ lw $t7, ($v0) -/* 02CD74 8002C174 2403FFFF */ li $v1, -1 -/* 02CD78 8002C178 00006025 */ move $t4, $zero -/* 02CD7C 8002C17C 106F0005 */ beq $v1, $t7, .L8002C194 -/* 02CD80 8002C180 00404025 */ move $t0, $v0 -.L8002C184: -/* 02CD84 8002C184 8C580004 */ lw $t8, 4($v0) -/* 02CD88 8002C188 258C0001 */ addiu $t4, $t4, 1 -/* 02CD8C 8002C18C 1478FFFD */ bne $v1, $t8, .L8002C184 -/* 02CD90 8002C190 24420004 */ addiu $v0, $v0, 4 -.L8002C194: -/* 02CD94 8002C194 258CFFFF */ addiu $t4, $t4, -1 -/* 02CD98 8002C198 024C082A */ slt $at, $s2, $t4 -/* 02CD9C 8002C19C 14200002 */ bnez $at, .L8002C1A8 -/* 02CDA0 8002C1A0 2404001B */ li $a0, 27 -/* 02CDA4 8002C1A4 00009025 */ move $s2, $zero -.L8002C1A8: -/* 02CDA8 8002C1A8 0012C880 */ sll $t9, $s2, 2 -/* 02CDAC 8002C1AC 01191021 */ addu $v0, $t0, $t9 -/* 02CDB0 8002C1B0 8C460000 */ lw $a2, ($v0) -/* 02CDB4 8002C1B4 8C4D0004 */ lw $t5, 4($v0) -/* 02CDB8 8002C1B8 8E300000 */ lw $s0, ($s1) -/* 02CDBC 8002C1BC 01A69823 */ subu $s3, $t5, $a2 -/* 02CDC0 8002C1C0 02157021 */ addu $t6, $s0, $s5 -/* 02CDC4 8002C1C4 01D38023 */ subu $s0, $t6, $s3 -/* 02CDC8 8002C1C8 06010004 */ bgez $s0, .L8002C1DC -/* 02CDCC 8002C1CC 320F000F */ andi $t7, $s0, 0xf -/* 02CDD0 8002C1D0 11E00002 */ beqz $t7, .L8002C1DC -/* 02CDD4 8002C1D4 00000000 */ nop -/* 02CDD8 8002C1D8 25EFFFF0 */ addiu $t7, $t7, -0x10 -.L8002C1DC: -/* 02CDDC 8002C1DC 020F8023 */ subu $s0, $s0, $t7 -/* 02CDE0 8002C1E0 02002825 */ move $a1, $s0 -/* 02CDE4 8002C1E4 0C01DB9A */ jal func_80076E68 -/* 02CDE8 8002C1E8 02603825 */ move $a3, $s3 -/* 02CDEC 8002C1EC 8E250000 */ lw $a1, ($s1) -/* 02CDF0 8002C1F0 0C031886 */ jal func_800C6218 -/* 02CDF4 8002C1F4 02002025 */ move $a0, $s0 -/* 02CDF8 8002C1F8 8E840000 */ lw $a0, ($s4) -/* 02CDFC 8002C1FC 0C01C450 */ jal func_80071140 -/* 02CE00 8002C200 00000000 */ nop -/* 02CE04 8002C204 8E320000 */ lw $s2, ($s1) -/* 02CE08 8002C208 00008025 */ move $s0, $zero -/* 02CE0C 8002C20C 8E580000 */ lw $t8, ($s2) -/* 02CE10 8002C210 02403025 */ move $a2, $s2 -/* 02CE14 8002C214 0312C821 */ addu $t9, $t8, $s2 -/* 02CE18 8002C218 AE590000 */ sw $t9, ($s2) -/* 02CE1C 8002C21C 8E320000 */ lw $s2, ($s1) -/* 02CE20 8002C220 00000000 */ nop -/* 02CE24 8002C224 8E4D0004 */ lw $t5, 4($s2) -/* 02CE28 8002C228 00000000 */ nop -/* 02CE2C 8002C22C 01A67021 */ addu $t6, $t5, $a2 -/* 02CE30 8002C230 AE4E0004 */ sw $t6, 4($s2) -/* 02CE34 8002C234 8E320000 */ lw $s2, ($s1) -/* 02CE38 8002C238 00000000 */ nop -/* 02CE3C 8002C23C 8E4F0008 */ lw $t7, 8($s2) -/* 02CE40 8002C240 00000000 */ nop -/* 02CE44 8002C244 01E6C021 */ addu $t8, $t7, $a2 -/* 02CE48 8002C248 AE580008 */ sw $t8, 8($s2) -/* 02CE4C 8002C24C 8E320000 */ lw $s2, ($s1) -/* 02CE50 8002C250 00000000 */ nop -/* 02CE54 8002C254 8E59000C */ lw $t9, 0xc($s2) -/* 02CE58 8002C258 00000000 */ nop -/* 02CE5C 8002C25C 03266821 */ addu $t5, $t9, $a2 -/* 02CE60 8002C260 AE4D000C */ sw $t5, 0xc($s2) -/* 02CE64 8002C264 8E320000 */ lw $s2, ($s1) -/* 02CE68 8002C268 00000000 */ nop -/* 02CE6C 8002C26C 8E4E0010 */ lw $t6, 0x10($s2) -/* 02CE70 8002C270 00000000 */ nop -/* 02CE74 8002C274 01C67821 */ addu $t7, $t6, $a2 -/* 02CE78 8002C278 AE4F0010 */ sw $t7, 0x10($s2) -/* 02CE7C 8002C27C 8E320000 */ lw $s2, ($s1) -/* 02CE80 8002C280 00000000 */ nop -/* 02CE84 8002C284 8E580014 */ lw $t8, 0x14($s2) -/* 02CE88 8002C288 00000000 */ nop -/* 02CE8C 8002C28C 0306C821 */ addu $t9, $t8, $a2 -/* 02CE90 8002C290 AE590014 */ sw $t9, 0x14($s2) -/* 02CE94 8002C294 8E320000 */ lw $s2, ($s1) -/* 02CE98 8002C298 00000000 */ nop -/* 02CE9C 8002C29C 8643001A */ lh $v1, 0x1a($s2) -/* 02CEA0 8002C2A0 00000000 */ nop -/* 02CEA4 8002C2A4 1860002B */ blez $v1, .L8002C354 -/* 02CEA8 8002C2A8 00009825 */ move $s3, $zero -.L8002C2AC: -/* 02CEAC 8002C2AC 8E4D0004 */ lw $t5, 4($s2) -/* 02CEB0 8002C2B0 26100001 */ addiu $s0, $s0, 1 -/* 02CEB4 8002C2B4 01B31021 */ addu $v0, $t5, $s3 -/* 02CEB8 8002C2B8 8C4E0000 */ lw $t6, ($v0) -/* 02CEBC 8002C2BC 00000000 */ nop -/* 02CEC0 8002C2C0 01C67821 */ addu $t7, $t6, $a2 -/* 02CEC4 8002C2C4 AC4F0000 */ sw $t7, ($v0) -/* 02CEC8 8002C2C8 8E380000 */ lw $t8, ($s1) -/* 02CECC 8002C2CC 00000000 */ nop -/* 02CED0 8002C2D0 8F190004 */ lw $t9, 4($t8) -/* 02CED4 8002C2D4 00000000 */ nop -/* 02CED8 8002C2D8 03331021 */ addu $v0, $t9, $s3 -/* 02CEDC 8002C2DC 8C4D0004 */ lw $t5, 4($v0) -/* 02CEE0 8002C2E0 00000000 */ nop -/* 02CEE4 8002C2E4 01A67021 */ addu $t6, $t5, $a2 -/* 02CEE8 8002C2E8 AC4E0004 */ sw $t6, 4($v0) -/* 02CEEC 8002C2EC 8E2F0000 */ lw $t7, ($s1) -/* 02CEF0 8002C2F0 00000000 */ nop -/* 02CEF4 8002C2F4 8DF80004 */ lw $t8, 4($t7) -/* 02CEF8 8002C2F8 00000000 */ nop -/* 02CEFC 8002C2FC 03131021 */ addu $v0, $t8, $s3 -/* 02CF00 8002C300 8C59000C */ lw $t9, 0xc($v0) -/* 02CF04 8002C304 00000000 */ nop -/* 02CF08 8002C308 03266821 */ addu $t5, $t9, $a2 -/* 02CF0C 8002C30C AC4D000C */ sw $t5, 0xc($v0) -/* 02CF10 8002C310 8E2E0000 */ lw $t6, ($s1) -/* 02CF14 8002C314 00000000 */ nop -/* 02CF18 8002C318 8DCF0004 */ lw $t7, 4($t6) -/* 02CF1C 8002C31C 00000000 */ nop -/* 02CF20 8002C320 01F31021 */ addu $v0, $t7, $s3 -/* 02CF24 8002C324 8C580014 */ lw $t8, 0x14($v0) -/* 02CF28 8002C328 26730044 */ addiu $s3, $s3, 0x44 -/* 02CF2C 8002C32C 0306C821 */ addu $t9, $t8, $a2 -/* 02CF30 8002C330 AC590014 */ sw $t9, 0x14($v0) -/* 02CF34 8002C334 8E320000 */ lw $s2, ($s1) -/* 02CF38 8002C338 00000000 */ nop -/* 02CF3C 8002C33C 8643001A */ lh $v1, 0x1a($s2) -/* 02CF40 8002C340 00000000 */ nop -/* 02CF44 8002C344 0203082A */ slt $at, $s0, $v1 -/* 02CF48 8002C348 1420FFD8 */ bnez $at, .L8002C2AC -/* 02CF4C 8002C34C 00000000 */ nop -/* 02CF50 8002C350 00008025 */ move $s0, $zero -.L8002C354: -/* 02CF54 8002C354 864D0018 */ lh $t5, 0x18($s2) -/* 02CF58 8002C358 00009825 */ move $s3, $zero -/* 02CF5C 8002C35C 19A00018 */ blez $t5, .L8002C3C0 -/* 02CF60 8002C360 00000000 */ nop -.L8002C364: -/* 02CF64 8002C364 8E4E0000 */ lw $t6, ($s2) -/* 02CF68 8002C368 00000000 */ nop -/* 02CF6C 8002C36C 01D37821 */ addu $t7, $t6, $s3 -/* 02CF70 8002C370 8DE40000 */ lw $a0, ($t7) -/* 02CF74 8002C374 00000000 */ nop -/* 02CF78 8002C378 34988000 */ ori $t8, $a0, 0x8000 -/* 02CF7C 8002C37C 0C01EB9D */ jal func_8007AE74 -/* 02CF80 8002C380 03002025 */ move $a0, $t8 -/* 02CF84 8002C384 8E390000 */ lw $t9, ($s1) -/* 02CF88 8002C388 26100001 */ addiu $s0, $s0, 1 -/* 02CF8C 8002C38C 8F2D0000 */ lw $t5, ($t9) -/* 02CF90 8002C390 00000000 */ nop -/* 02CF94 8002C394 01B37021 */ addu $t6, $t5, $s3 -/* 02CF98 8002C398 ADC20000 */ sw $v0, ($t6) -/* 02CF9C 8002C39C 8E320000 */ lw $s2, ($s1) -/* 02CFA0 8002C3A0 26730008 */ addiu $s3, $s3, 8 -/* 02CFA4 8002C3A4 864F0018 */ lh $t7, 0x18($s2) -/* 02CFA8 8002C3A8 00000000 */ nop -/* 02CFAC 8002C3AC 020F082A */ slt $at, $s0, $t7 -/* 02CFB0 8002C3B0 1420FFEC */ bnez $at, .L8002C364 -/* 02CFB4 8002C3B4 00000000 */ nop -/* 02CFB8 8002C3B8 8643001A */ lh $v1, 0x1a($s2) -/* 02CFBC 8002C3BC 00008025 */ move $s0, $zero -.L8002C3C0: -/* 02CFC0 8002C3C0 8E580048 */ lw $t8, 0x48($s2) -/* 02CFC4 8002C3C4 02401025 */ move $v0, $s2 -/* 02CFC8 8002C3C8 18600048 */ blez $v1, .L8002C4EC -/* 02CFCC 8002C3CC 0258A021 */ addu $s4, $s2, $t8 -/* 02CFD0 8002C3D0 00009825 */ move $s3, $zero -/* 02CFD4 8002C3D4 0000A825 */ move $s5, $zero -.L8002C3D8: -/* 02CFD8 8002C3D8 8E590004 */ lw $t9, 4($s2) -/* 02CFDC 8002C3DC 00000000 */ nop -/* 02CFE0 8002C3E0 03336821 */ addu $t5, $t9, $s3 -/* 02CFE4 8002C3E4 ADB40010 */ sw $s4, 0x10($t5) -/* 02CFE8 8002C3E8 8E2E0000 */ lw $t6, ($s1) -/* 02CFEC 8002C3EC 00000000 */ nop -/* 02CFF0 8002C3F0 8DCF0004 */ lw $t7, 4($t6) -/* 02CFF4 8002C3F4 00000000 */ nop -/* 02CFF8 8002C3F8 01F3C021 */ addu $t8, $t7, $s3 -/* 02CFFC 8002C3FC 8719001E */ lh $t9, 0x1e($t8) -/* 02D000 8002C400 00000000 */ nop -/* 02D004 8002C404 00196840 */ sll $t5, $t9, 1 -/* 02D008 8002C408 0C01C614 */ jal func_80071850 -/* 02D00C 8002C40C 01B42021 */ addu $a0, $t5, $s4 -/* 02D010 8002C410 8E2E0000 */ lw $t6, ($s1) -/* 02D014 8002C414 0040A025 */ move $s4, $v0 -/* 02D018 8002C418 8DCF0004 */ lw $t7, 4($t6) -/* 02D01C 8002C41C 00000000 */ nop -/* 02D020 8002C420 01F3C021 */ addu $t8, $t7, $s3 -/* 02D024 8002C424 AF020018 */ sw $v0, 0x18($t8) -/* 02D028 8002C428 8E390000 */ lw $t9, ($s1) -/* 02D02C 8002C42C 00000000 */ nop -/* 02D030 8002C430 8F2D0004 */ lw $t5, 4($t9) -/* 02D034 8002C434 0C00B30C */ jal func_8002CC30 -/* 02D038 8002C438 01B32021 */ addu $a0, $t5, $s3 -/* 02D03C 8002C43C 8E320000 */ lw $s2, ($s1) -/* 02D040 8002C440 0054A021 */ addu $s4, $v0, $s4 -/* 02D044 8002C444 8E4E0004 */ lw $t6, 4($s2) -/* 02D048 8002C448 8E4F0008 */ lw $t7, 8($s2) -/* 02D04C 8002C44C 02003025 */ move $a2, $s0 -/* 02D050 8002C450 01D32021 */ addu $a0, $t6, $s3 -/* 02D054 8002C454 0C00B255 */ jal func_8002C954 -/* 02D058 8002C458 01F52821 */ addu $a1, $t7, $s5 -/* 02D05C 8002C45C 8E380000 */ lw $t8, ($s1) -/* 02D060 8002C460 00000000 */ nop -/* 02D064 8002C464 8F190004 */ lw $t9, 4($t8) -/* 02D068 8002C468 00000000 */ nop -/* 02D06C 8002C46C 03336821 */ addu $t5, $t9, $s3 -/* 02D070 8002C470 A5A00030 */ sh $zero, 0x30($t5) -/* 02D074 8002C474 8E2E0000 */ lw $t6, ($s1) -/* 02D078 8002C478 00000000 */ nop -/* 02D07C 8002C47C 8DCF0004 */ lw $t7, 4($t6) -/* 02D080 8002C480 00000000 */ nop -/* 02D084 8002C484 01F3C021 */ addu $t8, $t7, $s3 -/* 02D088 8002C488 AF140034 */ sw $s4, 0x34($t8) -/* 02D08C 8002C48C 8E390000 */ lw $t9, ($s1) -/* 02D090 8002C490 00000000 */ nop -/* 02D094 8002C494 8F2D0004 */ lw $t5, 4($t9) -/* 02D098 8002C498 0C00B1C7 */ jal func_8002C71C -/* 02D09C 8002C49C 01B32021 */ addu $a0, $t5, $s3 -/* 02D0A0 8002C4A0 8E2E0000 */ lw $t6, ($s1) -/* 02D0A4 8002C4A4 00000000 */ nop -/* 02D0A8 8002C4A8 8DCF0004 */ lw $t7, 4($t6) -/* 02D0AC 8002C4AC 00000000 */ nop -/* 02D0B0 8002C4B0 01F3C021 */ addu $t8, $t7, $s3 -/* 02D0B4 8002C4B4 87190032 */ lh $t9, 0x32($t8) -/* 02D0B8 8002C4B8 00000000 */ nop -/* 02D0BC 8002C4BC 00196840 */ sll $t5, $t9, 1 -/* 02D0C0 8002C4C0 0C01C614 */ jal func_80071850 -/* 02D0C4 8002C4C4 01B42021 */ addu $a0, $t5, $s4 -/* 02D0C8 8002C4C8 8E320000 */ lw $s2, ($s1) -/* 02D0CC 8002C4CC 26100001 */ addiu $s0, $s0, 1 -/* 02D0D0 8002C4D0 864E001A */ lh $t6, 0x1a($s2) -/* 02D0D4 8002C4D4 26730044 */ addiu $s3, $s3, 0x44 -/* 02D0D8 8002C4D8 020E082A */ slt $at, $s0, $t6 -/* 02D0DC 8002C4DC 26B5000C */ addiu $s5, $s5, 0xc -/* 02D0E0 8002C4E0 1420FFBD */ bnez $at, .L8002C3D8 -/* 02D0E4 8002C4E4 0040A025 */ move $s4, $v0 -/* 02D0E8 8002C4E8 02401025 */ move $v0, $s2 -.L8002C4EC: -/* 02D0EC 8002C4EC 3C010008 */ lui $at, (0x00082A01 >> 16) # lui $at, 8 -/* 02D0F0 8002C4F0 02829823 */ subu $s3, $s4, $v0 -/* 02D0F4 8002C4F4 34212A01 */ ori $at, (0x00082A01 & 0xFFFF) # ori $at, $at, 0x2a01 -/* 02D0F8 8002C4F8 0261082A */ slt $at, $s3, $at -/* 02D0FC 8002C4FC 14200004 */ bnez $at, .L8002C510 -/* 02D100 8002C500 3C04800E */ lui $a0, %hi(D_800E5E38) # $a0, 0x800e -/* 02D104 8002C504 24845E38 */ addiu $a0, %lo(D_800E5E38) # addiu $a0, $a0, 0x5e38 -/* 02D108 8002C508 0C032755 */ jal func_800C9D54 -/* 02D10C 8002C50C 02602825 */ move $a1, $s3 -.L8002C510: -/* 02D110 8002C510 0C01C42C */ jal func_800710B0 -/* 02D114 8002C514 00002025 */ move $a0, $zero -/* 02D118 8002C518 3C048012 */ lui $a0, %hi(D_8011D30C) # $a0, 0x8012 -/* 02D11C 8002C51C 8C84D30C */ lw $a0, %lo(D_8011D30C)($a0) -/* 02D120 8002C520 0C01C450 */ jal func_80071140 -/* 02D124 8002C524 00000000 */ nop -/* 02D128 8002C528 3C058012 */ lui $a1, %hi(D_8011D30C) # $a1, 0x8012 -/* 02D12C 8002C52C 8CA5D30C */ lw $a1, %lo(D_8011D30C)($a1) -/* 02D130 8002C530 3C06FFFF */ lui $a2, (0xFFFF00FF >> 16) # lui $a2, 0xffff -/* 02D134 8002C534 34C600FF */ ori $a2, (0xFFFF00FF & 0xFFFF) # ori $a2, $a2, 0xff -/* 02D138 8002C538 0C01C3BE */ jal func_80070EF8 -/* 02D13C 8002C53C 02602025 */ move $a0, $s3 -/* 02D140 8002C540 0C01C42C */ jal func_800710B0 -/* 02D144 8002C544 24040002 */ li $a0, 2 -/* 02D148 8002C548 8E240000 */ lw $a0, ($s1) -/* 02D14C 8002C54C 0C02A0ED */ jal func_800A83B4 -/* 02D150 8002C550 00000000 */ nop -/* 02D154 8002C554 8E320000 */ lw $s2, ($s1) -/* 02D158 8002C558 00006025 */ move $t4, $zero -/* 02D15C 8002C55C 8643001A */ lh $v1, 0x1a($s2) -/* 02D160 8002C560 00002825 */ move $a1, $zero -/* 02D164 8002C564 18600061 */ blez $v1, .L8002C6EC -/* 02D168 8002C568 3C0B0800 */ lui $t3, 0x800 -/* 02D16C 8002C56C 8E460004 */ lw $a2, 4($s2) -/* 02D170 8002C570 240A0001 */ li $t2, 1 -/* 02D174 8002C574 24070080 */ li $a3, 128 -.L8002C578: -/* 02D178 8002C578 84C20020 */ lh $v0, 0x20($a2) -/* 02D17C 8002C57C 258C0001 */ addiu $t4, $t4, 1 -/* 02D180 8002C580 18400056 */ blez $v0, .L8002C6DC -/* 02D184 8002C584 00009825 */ move $s3, $zero -/* 02D188 8002C588 8CC4000C */ lw $a0, 0xc($a2) -/* 02D18C 8002C58C 00004025 */ move $t0, $zero -.L8002C590: -/* 02D190 8002C590 84900002 */ lh $s0, 2($a0) -/* 02D194 8002C594 8489000E */ lh $t1, 0xe($a0) -/* 02D198 8002C598 26730001 */ addiu $s3, $s3, 1 -/* 02D19C 8002C59C 0209082A */ slt $at, $s0, $t1 -/* 02D1A0 8002C5A0 10200049 */ beqz $at, .L8002C6C8 -/* 02D1A4 8002C5A4 0262082A */ slt $at, $s3, $v0 -/* 02D1A8 8002C5A8 00101080 */ sll $v0, $s0, 2 -/* 02D1AC 8002C5AC 00501021 */ addu $v0, $v0, $s0 -/* 02D1B0 8002C5B0 00021040 */ sll $v0, $v0, 1 -.L8002C5B4: -/* 02D1B4 8002C5B4 8CCF0000 */ lw $t7, ($a2) -/* 02D1B8 8002C5B8 26100001 */ addiu $s0, $s0, 1 -/* 02D1BC 8002C5BC 01E21821 */ addu $v1, $t7, $v0 -/* 02D1C0 8002C5C0 90780006 */ lbu $t8, 6($v1) -/* 02D1C4 8002C5C4 00000000 */ nop -/* 02D1C8 8002C5C8 1558003A */ bne $t2, $t8, .L8002C6B4 -/* 02D1CC 8002C5CC 0209082A */ slt $at, $s0, $t1 -/* 02D1D0 8002C5D0 90790007 */ lbu $t9, 7($v1) -/* 02D1D4 8002C5D4 00000000 */ nop -/* 02D1D8 8002C5D8 15590036 */ bne $t2, $t9, .L8002C6B4 -/* 02D1DC 8002C5DC 0209082A */ slt $at, $s0, $t1 -/* 02D1E0 8002C5E0 906D0008 */ lbu $t5, 8($v1) -/* 02D1E4 8002C5E4 00000000 */ nop -/* 02D1E8 8002C5E8 A06D0009 */ sb $t5, 9($v1) -/* 02D1EC 8002C5EC 8E2E0000 */ lw $t6, ($s1) -/* 02D1F0 8002C5F0 00000000 */ nop -/* 02D1F4 8002C5F4 8DCF0004 */ lw $t7, 4($t6) -/* 02D1F8 8002C5F8 00000000 */ nop -/* 02D1FC 8002C5FC 01E5C021 */ addu $t8, $t7, $a1 -/* 02D200 8002C600 8F190000 */ lw $t9, ($t8) -/* 02D204 8002C604 00000000 */ nop -/* 02D208 8002C608 03226821 */ addu $t5, $t9, $v0 -/* 02D20C 8002C60C A1A70006 */ sb $a3, 6($t5) -/* 02D210 8002C610 8E2E0000 */ lw $t6, ($s1) -/* 02D214 8002C614 00000000 */ nop -/* 02D218 8002C618 8DCF0004 */ lw $t7, 4($t6) -/* 02D21C 8002C61C 00000000 */ nop -/* 02D220 8002C620 01E5C021 */ addu $t8, $t7, $a1 -/* 02D224 8002C624 8F190000 */ lw $t9, ($t8) -/* 02D228 8002C628 00000000 */ nop -/* 02D22C 8002C62C 03226821 */ addu $t5, $t9, $v0 -/* 02D230 8002C630 A1A70007 */ sb $a3, 7($t5) -/* 02D234 8002C634 8E2E0000 */ lw $t6, ($s1) -/* 02D238 8002C638 00000000 */ nop -/* 02D23C 8002C63C 8DCF0004 */ lw $t7, 4($t6) -/* 02D240 8002C640 00000000 */ nop -/* 02D244 8002C644 01E5C021 */ addu $t8, $t7, $a1 -/* 02D248 8002C648 8F190000 */ lw $t9, ($t8) -/* 02D24C 8002C64C 00000000 */ nop -/* 02D250 8002C650 03226821 */ addu $t5, $t9, $v0 -/* 02D254 8002C654 A1A70008 */ sb $a3, 8($t5) -/* 02D258 8002C658 8E2E0000 */ lw $t6, ($s1) -/* 02D25C 8002C65C 00000000 */ nop -/* 02D260 8002C660 8DCF0004 */ lw $t7, 4($t6) -/* 02D264 8002C664 00000000 */ nop -/* 02D268 8002C668 01E5C021 */ addu $t8, $t7, $a1 -/* 02D26C 8002C66C 8F19000C */ lw $t9, 0xc($t8) -/* 02D270 8002C670 00000000 */ nop -/* 02D274 8002C674 03282021 */ addu $a0, $t9, $t0 -/* 02D278 8002C678 8C8D0008 */ lw $t5, 8($a0) -/* 02D27C 8002C67C 00000000 */ nop -/* 02D280 8002C680 01AB7025 */ or $t6, $t5, $t3 -/* 02D284 8002C684 AC8E0008 */ sw $t6, 8($a0) -/* 02D288 8002C688 8E320000 */ lw $s2, ($s1) -/* 02D28C 8002C68C 00000000 */ nop -/* 02D290 8002C690 8E4F0004 */ lw $t7, 4($s2) -/* 02D294 8002C694 00000000 */ nop -/* 02D298 8002C698 01E53021 */ addu $a2, $t7, $a1 -/* 02D29C 8002C69C 8CD8000C */ lw $t8, 0xc($a2) -/* 02D2A0 8002C6A0 00000000 */ nop -/* 02D2A4 8002C6A4 03082021 */ addu $a0, $t8, $t0 -/* 02D2A8 8002C6A8 8489000E */ lh $t1, 0xe($a0) -/* 02D2AC 8002C6AC 00000000 */ nop -/* 02D2B0 8002C6B0 0209082A */ slt $at, $s0, $t1 -.L8002C6B4: -/* 02D2B4 8002C6B4 1420FFBF */ bnez $at, .L8002C5B4 -/* 02D2B8 8002C6B8 2442000A */ addiu $v0, $v0, 0xa -/* 02D2BC 8002C6BC 84C20020 */ lh $v0, 0x20($a2) -/* 02D2C0 8002C6C0 00000000 */ nop -/* 02D2C4 8002C6C4 0262082A */ slt $at, $s3, $v0 -.L8002C6C8: -/* 02D2C8 8002C6C8 2508000C */ addiu $t0, $t0, 0xc -/* 02D2CC 8002C6CC 1420FFB0 */ bnez $at, .L8002C590 -/* 02D2D0 8002C6D0 2484000C */ addiu $a0, $a0, 0xc -/* 02D2D4 8002C6D4 8643001A */ lh $v1, 0x1a($s2) -/* 02D2D8 8002C6D8 00000000 */ nop -.L8002C6DC: -/* 02D2DC 8002C6DC 0183082A */ slt $at, $t4, $v1 -/* 02D2E0 8002C6E0 24A50044 */ addiu $a1, $a1, 0x44 -/* 02D2E4 8002C6E4 1420FFA4 */ bnez $at, .L8002C578 -/* 02D2E8 8002C6E8 24C60044 */ addiu $a2, $a2, 0x44 -.L8002C6EC: -/* 02D2EC 8002C6EC 3C04FF00 */ lui $a0, (0xFF00FFFF >> 16) # lui $a0, 0xff00 -/* 02D2F0 8002C6F0 0C01ECDD */ jal func_8007B374 -/* 02D2F4 8002C6F4 3484FFFF */ ori $a0, (0xFF00FFFF & 0xFFFF) # ori $a0, $a0, 0xffff -/* 02D2F8 8002C6F8 8FBF002C */ lw $ra, 0x2c($sp) -/* 02D2FC 8002C6FC 8FB00014 */ lw $s0, 0x14($sp) -/* 02D300 8002C700 8FB10018 */ lw $s1, 0x18($sp) -/* 02D304 8002C704 8FB2001C */ lw $s2, 0x1c($sp) -/* 02D308 8002C708 8FB30020 */ lw $s3, 0x20($sp) -/* 02D30C 8002C70C 8FB40024 */ lw $s4, 0x24($sp) -/* 02D310 8002C710 8FB50028 */ lw $s5, 0x28($sp) -/* 02D314 8002C714 03E00008 */ jr $ra -/* 02D318 8002C718 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_8002C71C -/* 02D31C 8002C71C 848E0020 */ lh $t6, 0x20($a0) -/* 02D320 8002C720 2408D8F0 */ li $t0, -10000 -/* 02D324 8002C724 A4880038 */ sh $t0, 0x38($a0) -/* 02D328 8002C728 00001025 */ move $v0, $zero -/* 02D32C 8002C72C 19C00023 */ blez $t6, .L8002C7BC -/* 02D330 8002C730 00001825 */ move $v1, $zero -/* 02D334 8002C734 00002825 */ move $a1, $zero -/* 02D338 8002C738 2409000A */ li $t1, 10 -.L8002C73C: -/* 02D33C 8002C73C 8C8F000C */ lw $t7, 0xc($a0) -/* 02D340 8002C740 00000000 */ nop -/* 02D344 8002C744 01E5C021 */ addu $t8, $t7, $a1 -/* 02D348 8002C748 8F190008 */ lw $t9, 8($t8) -/* 02D34C 8002C74C 00000000 */ nop -/* 02D350 8002C750 332A2000 */ andi $t2, $t9, 0x2000 -/* 02D354 8002C754 11400014 */ beqz $t2, .L8002C7A8 -/* 02D358 8002C758 00000000 */ nop -/* 02D35C 8002C75C 8C8B0034 */ lw $t3, 0x34($a0) -/* 02D360 8002C760 00026040 */ sll $t4, $v0, 1 -/* 02D364 8002C764 016C6821 */ addu $t5, $t3, $t4 -/* 02D368 8002C768 A5A30000 */ sh $v1, ($t5) -/* 02D36C 8002C76C 8C8F000C */ lw $t7, 0xc($a0) -/* 02D370 8002C770 8C8E0000 */ lw $t6, ($a0) -/* 02D374 8002C774 01E5C021 */ addu $t8, $t7, $a1 -/* 02D378 8002C778 87190002 */ lh $t9, 2($t8) -/* 02D37C 8002C77C 84870038 */ lh $a3, 0x38($a0) -/* 02D380 8002C780 03290019 */ multu $t9, $t1 -/* 02D384 8002C784 24420001 */ addiu $v0, $v0, 1 -/* 02D388 8002C788 00005012 */ mflo $t2 -/* 02D38C 8002C78C 01CA5821 */ addu $t3, $t6, $t2 -/* 02D390 8002C790 85660002 */ lh $a2, 2($t3) -/* 02D394 8002C794 11070003 */ beq $t0, $a3, .L8002C7A4 -/* 02D398 8002C798 00E6082A */ slt $at, $a3, $a2 -/* 02D39C 8002C79C 10200002 */ beqz $at, .L8002C7A8 -/* 02D3A0 8002C7A0 00000000 */ nop -.L8002C7A4: -/* 02D3A4 8002C7A4 A4860038 */ sh $a2, 0x38($a0) -.L8002C7A8: -/* 02D3A8 8002C7A8 848C0020 */ lh $t4, 0x20($a0) -/* 02D3AC 8002C7AC 24630001 */ addiu $v1, $v1, 1 -/* 02D3B0 8002C7B0 006C082A */ slt $at, $v1, $t4 -/* 02D3B4 8002C7B4 1420FFE1 */ bnez $at, .L8002C73C -/* 02D3B8 8002C7B8 24A5000C */ addiu $a1, $a1, 0xc -.L8002C7BC: -/* 02D3BC 8002C7BC 03E00008 */ jr $ra -/* 02D3C0 8002C7C0 A4820032 */ sh $v0, 0x32($a0) - -glabel func_8002C7C4 -/* 02D3C4 8002C7C4 3C02800E */ lui $v0, %hi(D_800DC918) # $v0, 0x800e -/* 02D3C8 8002C7C8 8C42C918 */ lw $v0, %lo(D_800DC918)($v0) -/* 02D3CC 8002C7CC 03E00008 */ jr $ra -/* 02D3D0 8002C7D0 00000000 */ nop - -glabel func_8002C7D4 -/* 02D3D4 8002C7D4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02D3D8 8002C7D8 AFBF002C */ sw $ra, 0x2c($sp) -/* 02D3DC 8002C7DC AFB40028 */ sw $s4, 0x28($sp) -/* 02D3E0 8002C7E0 AFB30024 */ sw $s3, 0x24($sp) -/* 02D3E4 8002C7E4 AFB20020 */ sw $s2, 0x20($sp) -/* 02D3E8 8002C7E8 AFB1001C */ sw $s1, 0x1c($sp) -/* 02D3EC 8002C7EC 0C002CA4 */ jal func_8000B290 -/* 02D3F0 8002C7F0 AFB00018 */ sw $s0, 0x18($sp) -/* 02D3F4 8002C7F4 3C0E8012 */ lui $t6, %hi(D_8011D384) # $t6, 0x8012 -/* 02D3F8 8002C7F8 8DCED384 */ lw $t6, %lo(D_8011D384)($t6) -/* 02D3FC 8002C7FC 00000000 */ nop -/* 02D400 8002C800 11C00003 */ beqz $t6, .L8002C810 -/* 02D404 8002C804 00000000 */ nop -/* 02D408 8002C808 0C02DF48 */ jal func_800B7D20 -/* 02D40C 8002C80C 00000000 */ nop -.L8002C810: -/* 02D410 8002C810 3C14800E */ lui $s4, %hi(D_800DC918) # $s4, 0x800e -/* 02D414 8002C814 2694C918 */ addiu $s4, %lo(D_800DC918) # addiu $s4, $s4, -0x36e8 -/* 02D418 8002C818 8E910000 */ lw $s1, ($s4) -/* 02D41C 8002C81C 00008025 */ move $s0, $zero -/* 02D420 8002C820 862F0018 */ lh $t7, 0x18($s1) -/* 02D424 8002C824 00009025 */ move $s2, $zero -/* 02D428 8002C828 19E0000E */ blez $t7, .L8002C864 -/* 02D42C 8002C82C 00000000 */ nop -.L8002C830: -/* 02D430 8002C830 8E380000 */ lw $t8, ($s1) -/* 02D434 8002C834 00000000 */ nop -/* 02D438 8002C838 0312C821 */ addu $t9, $t8, $s2 -/* 02D43C 8002C83C 8F240000 */ lw $a0, ($t9) -/* 02D440 8002C840 0C01ECAF */ jal func_8007B2BC -/* 02D444 8002C844 00000000 */ nop -/* 02D448 8002C848 8E910000 */ lw $s1, ($s4) -/* 02D44C 8002C84C 26100001 */ addiu $s0, $s0, 1 -/* 02D450 8002C850 86280018 */ lh $t0, 0x18($s1) -/* 02D454 8002C854 26520008 */ addiu $s2, $s2, 8 -/* 02D458 8002C858 0208082A */ slt $at, $s0, $t0 -/* 02D45C 8002C85C 1420FFF4 */ bnez $at, .L8002C830 -/* 02D460 8002C860 00000000 */ nop -.L8002C864: -/* 02D464 8002C864 3C048012 */ lui $a0, %hi(D_8011D30C) # $a0, 0x8012 -/* 02D468 8002C868 8C84D30C */ lw $a0, %lo(D_8011D30C)($a0) -/* 02D46C 8002C86C 0C01C450 */ jal func_80071140 -/* 02D470 8002C870 00000000 */ nop -/* 02D474 8002C874 3C048012 */ lui $a0, %hi(D_8011D370) # $a0, 0x8012 -/* 02D478 8002C878 8C84D370 */ lw $a0, %lo(D_8011D370)($a0) -/* 02D47C 8002C87C 0C01C450 */ jal func_80071140 -/* 02D480 8002C880 00000000 */ nop -/* 02D484 8002C884 3C048012 */ lui $a0, %hi(D_8011D374) # $a0, 0x8012 -/* 02D488 8002C888 8C84D374 */ lw $a0, %lo(D_8011D374)($a0) -/* 02D48C 8002C88C 0C01C450 */ jal func_80071140 -/* 02D490 8002C890 00000000 */ nop -/* 02D494 8002C894 8E890000 */ lw $t1, ($s4) -/* 02D498 8002C898 00000000 */ nop -/* 02D49C 8002C89C 8D240020 */ lw $a0, 0x20($t1) -/* 02D4A0 8002C8A0 0C01F32C */ jal func_8007CCB0 -/* 02D4A4 8002C8A4 00000000 */ nop -/* 02D4A8 8002C8A8 3C118012 */ lui $s1, %hi(D_8011D350) # $s1, 0x8012 -/* 02D4AC 8002C8AC 3C128012 */ lui $s2, %hi(D_8011D320) # $s2, 0x8012 -/* 02D4B0 8002C8B0 3C108012 */ lui $s0, %hi(D_8011D338) # $s0, 0x8012 -/* 02D4B4 8002C8B4 3C138012 */ lui $s3, %hi(D_8011D348) # $s3, 0x8012 -/* 02D4B8 8002C8B8 2673D348 */ addiu $s3, %lo(D_8011D348) # addiu $s3, $s3, -0x2cb8 -/* 02D4BC 8002C8BC 2610D338 */ addiu $s0, %lo(D_8011D338) # addiu $s0, $s0, -0x2cc8 -/* 02D4C0 8002C8C0 2652D320 */ addiu $s2, %lo(D_8011D320) # addiu $s2, $s2, -0x2ce0 -/* 02D4C4 8002C8C4 2631D350 */ addiu $s1, %lo(D_8011D350) # addiu $s1, $s1, -0x2cb0 -.L8002C8C8: -/* 02D4C8 8002C8C8 8E240000 */ lw $a0, ($s1) -/* 02D4CC 8002C8CC 0C01C450 */ jal func_80071140 -/* 02D4D0 8002C8D0 00000000 */ nop -/* 02D4D4 8002C8D4 8E440000 */ lw $a0, ($s2) -/* 02D4D8 8002C8D8 0C01C450 */ jal func_80071140 -/* 02D4DC 8002C8DC 00000000 */ nop -/* 02D4E0 8002C8E0 8E040000 */ lw $a0, ($s0) -/* 02D4E4 8002C8E4 0C01C450 */ jal func_80071140 -/* 02D4E8 8002C8E8 00000000 */ nop -/* 02D4EC 8002C8EC 26100004 */ addiu $s0, $s0, 4 -/* 02D4F0 8002C8F0 26310004 */ addiu $s1, $s1, 4 -/* 02D4F4 8002C8F4 1613FFF4 */ bne $s0, $s3, .L8002C8C8 -/* 02D4F8 8002C8F8 26520004 */ addiu $s2, $s2, 4 -/* 02D4FC 8002C8FC 0C0095F4 */ jal func_800257D0 -/* 02D500 8002C900 00000000 */ nop -/* 02D504 8002C904 3C048012 */ lui $a0, %hi(D_8011B0B8) # $a0, 0x8012 -/* 02D508 8002C908 8C84B0B8 */ lw $a0, %lo(D_8011B0B8)($a0) -/* 02D50C 8002C90C 00000000 */ nop -/* 02D510 8002C910 10800005 */ beqz $a0, .L8002C928 -/* 02D514 8002C914 00000000 */ nop -/* 02D518 8002C918 0C003FEE */ jal func_8000FFB8 -/* 02D51C 8002C91C 00000000 */ nop -/* 02D520 8002C920 0C004013 */ jal func_8001004C -/* 02D524 8002C924 00000000 */ nop -.L8002C928: -/* 02D528 8002C928 0C003181 */ jal func_8000C604 -/* 02D52C 8002C92C 00000000 */ nop -/* 02D530 8002C930 8FBF002C */ lw $ra, 0x2c($sp) -/* 02D534 8002C934 AE800000 */ sw $zero, ($s4) -/* 02D538 8002C938 8FB40028 */ lw $s4, 0x28($sp) -/* 02D53C 8002C93C 8FB00018 */ lw $s0, 0x18($sp) -/* 02D540 8002C940 8FB1001C */ lw $s1, 0x1c($sp) -/* 02D544 8002C944 8FB20020 */ lw $s2, 0x20($sp) -/* 02D548 8002C948 8FB30024 */ lw $s3, 0x24($sp) -/* 02D54C 8002C94C 03E00008 */ jr $ra -/* 02D550 8002C950 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_8002C954 -/* 02D554 8002C954 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 02D558 8002C958 AFBF002C */ sw $ra, 0x2c($sp) -/* 02D55C 8002C95C AFBE0028 */ sw $fp, 0x28($sp) -/* 02D560 8002C960 AFB70024 */ sw $s7, 0x24($sp) -/* 02D564 8002C964 AFB60020 */ sw $s6, 0x20($sp) -/* 02D568 8002C968 AFB5001C */ sw $s5, 0x1c($sp) -/* 02D56C 8002C96C AFB40018 */ sw $s4, 0x18($sp) -/* 02D570 8002C970 AFB30014 */ sw $s3, 0x14($sp) -/* 02D574 8002C974 AFB20010 */ sw $s2, 0x10($sp) -/* 02D578 8002C978 AFB1000C */ sw $s1, 0xc($sp) -/* 02D57C 8002C97C AFB00008 */ sw $s0, 8($sp) -/* 02D580 8002C980 AFA60038 */ sw $a2, 0x38($sp) -/* 02D584 8002C984 84820020 */ lh $v0, 0x20($a0) -/* 02D588 8002C988 00809825 */ move $s3, $a0 -/* 02D58C 8002C98C 00A0A025 */ move $s4, $a1 -/* 02D590 8002C990 1840009B */ blez $v0, .L8002CC00 -/* 02D594 8002C994 0000B825 */ move $s7, $zero -/* 02D598 8002C998 0000F025 */ move $fp, $zero -/* 02D59C 8002C99C 24100003 */ li $s0, 3 -/* 02D5A0 8002C9A0 240D000A */ li $t5, 10 -.L8002C9A4: -/* 02D5A4 8002C9A4 8E6E000C */ lw $t6, 0xc($s3) -/* 02D5A8 8002C9A8 26F70001 */ addiu $s7, $s7, 1 -/* 02D5AC 8002C9AC 01DE2021 */ addu $a0, $t6, $fp -/* 02D5B0 8002C9B0 84830004 */ lh $v1, 4($a0) -/* 02D5B4 8002C9B4 84960010 */ lh $s6, 0x10($a0) -/* 02D5B8 8002C9B8 848C0002 */ lh $t4, 2($a0) -/* 02D5BC 8002C9BC 0076082A */ slt $at, $v1, $s6 -/* 02D5C0 8002C9C0 1020008C */ beqz $at, .L8002CBF4 -/* 02D5C4 8002C9C4 00608825 */ move $s1, $v1 -/* 02D5C8 8002C9C8 0003A900 */ sll $s5, $v1, 4 -/* 02D5CC 8002C9CC 00039040 */ sll $s2, $v1, 1 -.L8002C9D0: -/* 02D5D0 8002C9D0 8E620004 */ lw $v0, 4($s3) -/* 02D5D4 8002C9D4 24078300 */ li $a3, -32000 -/* 02D5D8 8002C9D8 00557821 */ addu $t7, $v0, $s5 -/* 02D5DC 8002C9DC 91F80000 */ lbu $t8, ($t7) -/* 02D5E0 8002C9E0 26B50010 */ addiu $s5, $s5, 0x10 -/* 02D5E4 8002C9E4 33190080 */ andi $t9, $t8, 0x80 -/* 02D5E8 8002C9E8 13200006 */ beqz $t9, .L8002CA04 -/* 02D5EC 8002C9EC 240A8300 */ li $t2, -32000 -/* 02D5F0 8002C9F0 8E6E0010 */ lw $t6, 0x10($s3) -/* 02D5F4 8002C9F4 00000000 */ nop -/* 02D5F8 8002C9F8 01D27821 */ addu $t7, $t6, $s2 -/* 02D5FC 8002C9FC 10000077 */ b .L8002CBDC -/* 02D600 8002CA00 A5E00000 */ sh $zero, ($t7) -.L8002CA04: -/* 02D604 8002CA04 0011C100 */ sll $t8, $s1, 4 -/* 02D608 8002CA08 8E650000 */ lw $a1, ($s3) -/* 02D60C 8002CA0C 240B7D00 */ li $t3, 32000 -/* 02D610 8002CA10 24087D00 */ li $t0, 32000 -/* 02D614 8002CA14 00582021 */ addu $a0, $v0, $t8 -/* 02D618 8002CA18 00001825 */ move $v1, $zero -/* 02D61C 8002CA1C 00004825 */ move $t1, $zero -.L8002CA20: -/* 02D620 8002CA20 90990001 */ lbu $t9, 1($a0) -/* 02D624 8002CA24 24630001 */ addiu $v1, $v1, 1 -/* 02D628 8002CA28 032C7021 */ addu $t6, $t9, $t4 -/* 02D62C 8002CA2C 01CD0019 */ multu $t6, $t5 -/* 02D630 8002CA30 00007812 */ mflo $t7 -/* 02D634 8002CA34 01E53021 */ addu $a2, $t7, $a1 -/* 02D638 8002CA38 84C20000 */ lh $v0, ($a2) -/* 02D63C 8002CA3C 84DF0004 */ lh $ra, 4($a2) -/* 02D640 8002CA40 00E2082A */ slt $at, $a3, $v0 -/* 02D644 8002CA44 10200005 */ beqz $at, .L8002CA5C -/* 02D648 8002CA48 0048082A */ slt $at, $v0, $t0 -/* 02D64C 8002CA4C 00023C00 */ sll $a3, $v0, 0x10 -/* 02D650 8002CA50 0007C403 */ sra $t8, $a3, 0x10 -/* 02D654 8002CA54 03003825 */ move $a3, $t8 -/* 02D658 8002CA58 0048082A */ slt $at, $v0, $t0 -.L8002CA5C: -/* 02D65C 8002CA5C 10200005 */ beqz $at, .L8002CA74 -/* 02D660 8002CA60 015F082A */ slt $at, $t2, $ra -/* 02D664 8002CA64 00024400 */ sll $t0, $v0, 0x10 -/* 02D668 8002CA68 0008CC03 */ sra $t9, $t0, 0x10 -/* 02D66C 8002CA6C 03204025 */ move $t0, $t9 -/* 02D670 8002CA70 015F082A */ slt $at, $t2, $ra -.L8002CA74: -/* 02D674 8002CA74 10200005 */ beqz $at, .L8002CA8C -/* 02D678 8002CA78 03EB082A */ slt $at, $ra, $t3 -/* 02D67C 8002CA7C 001F5400 */ sll $t2, $ra, 0x10 -/* 02D680 8002CA80 000A7403 */ sra $t6, $t2, 0x10 -/* 02D684 8002CA84 01C05025 */ move $t2, $t6 -/* 02D688 8002CA88 03EB082A */ slt $at, $ra, $t3 -.L8002CA8C: -/* 02D68C 8002CA8C 10200004 */ beqz $at, .L8002CAA0 -/* 02D690 8002CA90 00000000 */ nop -/* 02D694 8002CA94 001F5C00 */ sll $t3, $ra, 0x10 -/* 02D698 8002CA98 000B7C03 */ sra $t7, $t3, 0x10 -/* 02D69C 8002CA9C 01E05825 */ move $t3, $t7 -.L8002CAA0: -/* 02D6A0 8002CAA0 1470FFDF */ bne $v1, $s0, .L8002CA20 -/* 02D6A4 8002CAA4 24840001 */ addiu $a0, $a0, 1 -/* 02D6A8 8002CAA8 869F0000 */ lh $ra, ($s4) -/* 02D6AC 8002CAAC 86980006 */ lh $t8, 6($s4) -/* 02D6B0 8002CAB0 001F2400 */ sll $a0, $ra, 0x10 -/* 02D6B4 8002CAB4 031F3023 */ subu $a2, $t8, $ra -/* 02D6B8 8002CAB8 0006C8C3 */ sra $t9, $a2, 3 -/* 02D6BC 8002CABC 27260001 */ addiu $a2, $t9, 1 -/* 02D6C0 8002CAC0 00067400 */ sll $t6, $a2, 0x10 -/* 02D6C4 8002CAC4 000E3403 */ sra $a2, $t6, 0x10 -/* 02D6C8 8002CAC8 00DF1821 */ addu $v1, $a2, $ra -/* 02D6CC 8002CACC 0003C400 */ sll $t8, $v1, 0x10 -/* 02D6D0 8002CAD0 00047403 */ sra $t6, $a0, 0x10 -/* 02D6D4 8002CAD4 24050001 */ li $a1, 1 -/* 02D6D8 8002CAD8 00181C03 */ sra $v1, $t8, 0x10 -/* 02D6DC 8002CADC 01C02025 */ move $a0, $t6 -/* 02D6E0 8002CAE0 00001025 */ move $v0, $zero -.L8002CAE4: -/* 02D6E4 8002CAE4 0068082A */ slt $at, $v1, $t0 -/* 02D6E8 8002CAE8 14200007 */ bnez $at, .L8002CB08 -/* 02D6EC 8002CAEC 00661821 */ addu $v1, $v1, $a2 -/* 02D6F0 8002CAF0 00E4082A */ slt $at, $a3, $a0 -/* 02D6F4 8002CAF4 14200004 */ bnez $at, .L8002CB08 -/* 02D6F8 8002CAF8 00000000 */ nop -/* 02D6FC 8002CAFC 01254825 */ or $t1, $t1, $a1 -/* 02D700 8002CB00 00097C00 */ sll $t7, $t1, 0x10 -/* 02D704 8002CB04 000F4C03 */ sra $t1, $t7, 0x10 -.L8002CB08: -/* 02D708 8002CB08 24420001 */ addiu $v0, $v0, 1 -/* 02D70C 8002CB0C 0003CC00 */ sll $t9, $v1, 0x10 -/* 02D710 8002CB10 0002C400 */ sll $t8, $v0, 0x10 -/* 02D714 8002CB14 00191C03 */ sra $v1, $t9, 0x10 -/* 02D718 8002CB18 00181403 */ sra $v0, $t8, 0x10 -/* 02D71C 8002CB1C 00862021 */ addu $a0, $a0, $a2 -/* 02D720 8002CB20 00A0C825 */ move $t9, $a1 -/* 02D724 8002CB24 28410008 */ slti $at, $v0, 8 -/* 02D728 8002CB28 00047C00 */ sll $t7, $a0, 0x10 -/* 02D72C 8002CB2C 00197440 */ sll $t6, $t9, 0x11 -/* 02D730 8002CB30 000F2403 */ sra $a0, $t7, 0x10 -/* 02D734 8002CB34 1420FFEB */ bnez $at, .L8002CAE4 -/* 02D738 8002CB38 000E2C03 */ sra $a1, $t6, 0x10 -/* 02D73C 8002CB3C 86870004 */ lh $a3, 4($s4) -/* 02D740 8002CB40 868E000A */ lh $t6, 0xa($s4) -/* 02D744 8002CB44 00072400 */ sll $a0, $a3, 0x10 -/* 02D748 8002CB48 01C73023 */ subu $a2, $t6, $a3 -/* 02D74C 8002CB4C 000678C3 */ sra $t7, $a2, 3 -/* 02D750 8002CB50 25E60001 */ addiu $a2, $t7, 1 -/* 02D754 8002CB54 0006C400 */ sll $t8, $a2, 0x10 -/* 02D758 8002CB58 00183403 */ sra $a2, $t8, 0x10 -/* 02D75C 8002CB5C 00C71821 */ addu $v1, $a2, $a3 -/* 02D760 8002CB60 00037400 */ sll $t6, $v1, 0x10 -/* 02D764 8002CB64 0004C403 */ sra $t8, $a0, 0x10 -/* 02D768 8002CB68 000E1C03 */ sra $v1, $t6, 0x10 -/* 02D76C 8002CB6C 03002025 */ move $a0, $t8 -/* 02D770 8002CB70 00001025 */ move $v0, $zero -.L8002CB74: -/* 02D774 8002CB74 006B082A */ slt $at, $v1, $t3 -/* 02D778 8002CB78 14200007 */ bnez $at, .L8002CB98 -/* 02D77C 8002CB7C 00661821 */ addu $v1, $v1, $a2 -/* 02D780 8002CB80 0144082A */ slt $at, $t2, $a0 -/* 02D784 8002CB84 14200004 */ bnez $at, .L8002CB98 -/* 02D788 8002CB88 00000000 */ nop -/* 02D78C 8002CB8C 01254825 */ or $t1, $t1, $a1 -/* 02D790 8002CB90 0009CC00 */ sll $t9, $t1, 0x10 -/* 02D794 8002CB94 00194C03 */ sra $t1, $t9, 0x10 -.L8002CB98: -/* 02D798 8002CB98 24420001 */ addiu $v0, $v0, 1 -/* 02D79C 8002CB9C 00037C00 */ sll $t7, $v1, 0x10 -/* 02D7A0 8002CBA0 00027400 */ sll $t6, $v0, 0x10 -/* 02D7A4 8002CBA4 000F1C03 */ sra $v1, $t7, 0x10 -/* 02D7A8 8002CBA8 000E1403 */ sra $v0, $t6, 0x10 -/* 02D7AC 8002CBAC 00862021 */ addu $a0, $a0, $a2 -/* 02D7B0 8002CBB0 00A07825 */ move $t7, $a1 -/* 02D7B4 8002CBB4 28410008 */ slti $at, $v0, 8 -/* 02D7B8 8002CBB8 0004CC00 */ sll $t9, $a0, 0x10 -/* 02D7BC 8002CBBC 000FC440 */ sll $t8, $t7, 0x11 -/* 02D7C0 8002CBC0 00192403 */ sra $a0, $t9, 0x10 -/* 02D7C4 8002CBC4 1420FFEB */ bnez $at, .L8002CB74 -/* 02D7C8 8002CBC8 00182C03 */ sra $a1, $t8, 0x10 -/* 02D7CC 8002CBCC 8E780010 */ lw $t8, 0x10($s3) -/* 02D7D0 8002CBD0 00000000 */ nop -/* 02D7D4 8002CBD4 0312C821 */ addu $t9, $t8, $s2 -/* 02D7D8 8002CBD8 A7290000 */ sh $t1, ($t9) -.L8002CBDC: -/* 02D7DC 8002CBDC 26310001 */ addiu $s1, $s1, 1 -/* 02D7E0 8002CBE0 0236082A */ slt $at, $s1, $s6 -/* 02D7E4 8002CBE4 1420FF7A */ bnez $at, .L8002C9D0 -/* 02D7E8 8002CBE8 26520002 */ addiu $s2, $s2, 2 -/* 02D7EC 8002CBEC 86620020 */ lh $v0, 0x20($s3) -/* 02D7F0 8002CBF0 00000000 */ nop -.L8002CBF4: -/* 02D7F4 8002CBF4 02E2082A */ slt $at, $s7, $v0 -/* 02D7F8 8002CBF8 1420FF6A */ bnez $at, .L8002C9A4 -/* 02D7FC 8002CBFC 27DE000C */ addiu $fp, $fp, 0xc -.L8002CC00: -/* 02D800 8002CC00 8FBF002C */ lw $ra, 0x2c($sp) -/* 02D804 8002CC04 8FB00008 */ lw $s0, 8($sp) -/* 02D808 8002CC08 8FB1000C */ lw $s1, 0xc($sp) -/* 02D80C 8002CC0C 8FB20010 */ lw $s2, 0x10($sp) -/* 02D810 8002CC10 8FB30014 */ lw $s3, 0x14($sp) -/* 02D814 8002CC14 8FB40018 */ lw $s4, 0x18($sp) -/* 02D818 8002CC18 8FB5001C */ lw $s5, 0x1c($sp) -/* 02D81C 8002CC1C 8FB60020 */ lw $s6, 0x20($sp) -/* 02D820 8002CC20 8FB70024 */ lw $s7, 0x24($sp) -/* 02D824 8002CC24 8FBE0028 */ lw $fp, 0x28($sp) -/* 02D828 8002CC28 03E00008 */ jr $ra -/* 02D82C 8002CC2C 27BD0030 */ addiu $sp, $sp, 0x30 - -glabel func_8002CC30 -/* 02D830 8002CC30 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 02D834 8002CC34 AFBF006C */ sw $ra, 0x6c($sp) -/* 02D838 8002CC38 AFBE0068 */ sw $fp, 0x68($sp) -/* 02D83C 8002CC3C AFB70064 */ sw $s7, 0x64($sp) -/* 02D840 8002CC40 AFB60060 */ sw $s6, 0x60($sp) -/* 02D844 8002CC44 AFB5005C */ sw $s5, 0x5c($sp) -/* 02D848 8002CC48 AFB40058 */ sw $s4, 0x58($sp) -/* 02D84C 8002CC4C AFB30054 */ sw $s3, 0x54($sp) -/* 02D850 8002CC50 AFB20050 */ sw $s2, 0x50($sp) -/* 02D854 8002CC54 AFB1004C */ sw $s1, 0x4c($sp) -/* 02D858 8002CC58 AFB00048 */ sw $s0, 0x48($sp) -/* 02D85C 8002CC5C E7BF0040 */ swc1 $f31, 0x40($sp) -/* 02D860 8002CC60 E7BE0044 */ swc1 $f30, 0x44($sp) -/* 02D864 8002CC64 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 02D868 8002CC68 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 02D86C 8002CC6C E7BB0030 */ swc1 $f27, 0x30($sp) -/* 02D870 8002CC70 E7BA0034 */ swc1 $f26, 0x34($sp) -/* 02D874 8002CC74 E7B90028 */ swc1 $f25, 0x28($sp) -/* 02D878 8002CC78 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 02D87C 8002CC7C E7B70020 */ swc1 $f23, 0x20($sp) -/* 02D880 8002CC80 E7B60024 */ swc1 $f22, 0x24($sp) -/* 02D884 8002CC84 E7B50018 */ swc1 $f21, 0x18($sp) -/* 02D888 8002CC88 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 02D88C 8002CC8C AFA000EC */ sw $zero, 0xec($sp) -/* 02D890 8002CC90 84850020 */ lh $a1, 0x20($a0) -/* 02D894 8002CC94 00809025 */ move $s2, $a0 -/* 02D898 8002CC98 18A0009F */ blez $a1, .L8002CF18 -/* 02D89C 8002CC9C 0000A025 */ move $s4, $zero -/* 02D8A0 8002CCA0 AFA00074 */ sw $zero, 0x74($sp) -/* 02D8A4 8002CCA4 2408000A */ li $t0, 10 -.L8002CCA8: -/* 02D8A8 8002CCA8 8E4E000C */ lw $t6, 0xc($s2) -/* 02D8AC 8002CCAC 8FAF0074 */ lw $t7, 0x74($sp) -/* 02D8B0 8002CCB0 00000000 */ nop -/* 02D8B4 8002CCB4 01CF1021 */ addu $v0, $t6, $t7 -/* 02D8B8 8002CCB8 84430004 */ lh $v1, 4($v0) -/* 02D8BC 8002CCBC 84580010 */ lh $t8, 0x10($v0) -/* 02D8C0 8002CCC0 845E0002 */ lh $fp, 2($v0) -/* 02D8C4 8002CCC4 0078082A */ slt $at, $v1, $t8 -/* 02D8C8 8002CCC8 1020008B */ beqz $at, .L8002CEF8 -/* 02D8CC 8002CCCC AFB800F4 */ sw $t8, 0xf4($sp) -/* 02D8D0 8002CCD0 00032900 */ sll $a1, $v1, 4 -/* 02D8D4 8002CCD4 00188100 */ sll $s0, $t8, 4 -.L8002CCD8: -/* 02D8D8 8002CCD8 8E4A0004 */ lw $t2, 4($s2) -/* 02D8DC 8002CCDC 00000000 */ nop -/* 02D8E0 8002CCE0 01451821 */ addu $v1, $t2, $a1 -/* 02D8E4 8002CCE4 906B0000 */ lbu $t3, ($v1) -/* 02D8E8 8002CCE8 00000000 */ nop -/* 02D8EC 8002CCEC 316C0080 */ andi $t4, $t3, 0x80 -/* 02D8F0 8002CCF0 1580007B */ bnez $t4, .L8002CEE0 -/* 02D8F4 8002CCF4 00000000 */ nop -/* 02D8F8 8002CCF8 906D0001 */ lbu $t5, 1($v1) -/* 02D8FC 8002CCFC 8E440000 */ lw $a0, ($s2) -/* 02D900 8002CD00 01BE7021 */ addu $t6, $t5, $fp -/* 02D904 8002CD04 01C80019 */ multu $t6, $t0 -/* 02D908 8002CD08 00007812 */ mflo $t7 -/* 02D90C 8002CD0C 01E41021 */ addu $v0, $t7, $a0 -/* 02D910 8002CD10 844A0004 */ lh $t2, 4($v0) -/* 02D914 8002CD14 84580000 */ lh $t8, ($v0) -/* 02D918 8002CD18 448A4000 */ mtc1 $t2, $f8 -/* 02D91C 8002CD1C 84590002 */ lh $t9, 2($v0) -/* 02D920 8002CD20 468042A0 */ cvt.s.w $f10, $f8 -/* 02D924 8002CD24 44993000 */ mtc1 $t9, $f6 -/* 02D928 8002CD28 44982000 */ mtc1 $t8, $f4 -/* 02D92C 8002CD2C E7AA00BC */ swc1 $f10, 0xbc($sp) -/* 02D930 8002CD30 906B0002 */ lbu $t3, 2($v1) -/* 02D934 8002CD34 90790003 */ lbu $t9, 3($v1) -/* 02D938 8002CD38 017E6021 */ addu $t4, $t3, $fp -/* 02D93C 8002CD3C 01880019 */ multu $t4, $t0 -/* 02D940 8002CD40 033E5021 */ addu $t2, $t9, $fp -/* 02D944 8002CD44 468037A0 */ cvt.s.w $f30, $f6 -/* 02D948 8002CD48 C7BA00BC */ lwc1 $f26, 0xbc($sp) -/* 02D94C 8002CD4C 46802720 */ cvt.s.w $f28, $f4 -/* 02D950 8002CD50 00006812 */ mflo $t5 -/* 02D954 8002CD54 01A41021 */ addu $v0, $t5, $a0 -/* 02D958 8002CD58 844E0000 */ lh $t6, ($v0) -/* 02D95C 8002CD5C 01480019 */ multu $t2, $t0 -/* 02D960 8002CD60 844F0002 */ lh $t7, 2($v0) -/* 02D964 8002CD64 84580004 */ lh $t8, 4($v0) -/* 02D968 8002CD68 448E2000 */ mtc1 $t6, $f4 -/* 02D96C 8002CD6C 448F3000 */ mtc1 $t7, $f6 -/* 02D970 8002CD70 44984000 */ mtc1 $t8, $f8 -/* 02D974 8002CD74 46803320 */ cvt.s.w $f12, $f6 -/* 02D978 8002CD78 468043A0 */ cvt.s.w $f14, $f8 -/* 02D97C 8002CD7C 00005812 */ mflo $t3 -/* 02D980 8002CD80 01641021 */ addu $v0, $t3, $a0 -/* 02D984 8002CD84 844E0004 */ lh $t6, 4($v0) -/* 02D988 8002CD88 844C0000 */ lh $t4, ($v0) -/* 02D98C 8002CD8C 448E3000 */ mtc1 $t6, $f6 -/* 02D990 8002CD90 844D0002 */ lh $t5, 2($v0) -/* 02D994 8002CD94 46803020 */ cvt.s.w $f0, $f6 -/* 02D998 8002CD98 448C5000 */ mtc1 $t4, $f10 -/* 02D99C 8002CD9C AFA50078 */ sw $a1, 0x78($sp) -/* 02D9A0 8002CDA0 468020A0 */ cvt.s.w $f2, $f4 -/* 02D9A4 8002CDA4 448D2000 */ mtc1 $t5, $f4 -/* 02D9A8 8002CDA8 46007201 */ sub.s $f8, $f14, $f0 -/* 02D9AC 8002CDAC 46805420 */ cvt.s.w $f16, $f10 -/* 02D9B0 8002CDB0 461E4282 */ mul.s $f10, $f8, $f30 -/* 02D9B4 8002CDB4 468024A0 */ cvt.s.w $f18, $f4 -/* 02D9B8 8002CDB8 461A0101 */ sub.s $f4, $f0, $f26 -/* 02D9BC 8002CDBC 46046182 */ mul.s $f6, $f12, $f4 -/* 02D9C0 8002CDC0 460ED101 */ sub.s $f4, $f26, $f14 -/* 02D9C4 8002CDC4 46065200 */ add.s $f8, $f10, $f6 -/* 02D9C8 8002CDC8 46049282 */ mul.s $f10, $f18, $f4 -/* 02D9CC 8002CDCC 46101181 */ sub.s $f6, $f2, $f16 -/* 02D9D0 8002CDD0 461A3102 */ mul.s $f4, $f6, $f26 -/* 02D9D4 8002CDD4 460A4500 */ add.s $f20, $f8, $f10 -/* 02D9D8 8002CDD8 E7B400A0 */ swc1 $f20, 0xa0($sp) -/* 02D9DC 8002CDDC 461C8201 */ sub.s $f8, $f16, $f28 -/* 02D9E0 8002CDE0 46087282 */ mul.s $f10, $f14, $f8 -/* 02D9E4 8002CDE4 4602E201 */ sub.s $f8, $f28, $f2 -/* 02D9E8 8002CDE8 460A2180 */ add.s $f6, $f4, $f10 -/* 02D9EC 8002CDEC 46080102 */ mul.s $f4, $f0, $f8 -/* 02D9F0 8002CDF0 46126281 */ sub.s $f10, $f12, $f18 -/* 02D9F4 8002CDF4 461C5202 */ mul.s $f8, $f10, $f28 -/* 02D9F8 8002CDF8 46043580 */ add.s $f22, $f6, $f4 -/* 02D9FC 8002CDFC E7B6009C */ swc1 $f22, 0x9c($sp) -/* 02DA00 8002CE00 461E9181 */ sub.s $f6, $f18, $f30 -/* 02DA04 8002CE04 46061102 */ mul.s $f4, $f2, $f6 -/* 02DA08 8002CE08 460CF181 */ sub.s $f6, $f30, $f12 -/* 02DA0C 8002CE0C 46044280 */ add.s $f10, $f8, $f4 -/* 02DA10 8002CE10 46068202 */ mul.s $f8, $f16, $f6 -/* 02DA14 8002CE14 00000000 */ nop -/* 02DA18 8002CE18 4614A102 */ mul.s $f4, $f20, $f20 -/* 02DA1C 8002CE1C 46085600 */ add.s $f24, $f10, $f8 -/* 02DA20 8002CE20 E7B80098 */ swc1 $f24, 0x98($sp) -/* 02DA24 8002CE24 4616B182 */ mul.s $f6, $f22, $f22 -/* 02DA28 8002CE28 00000000 */ nop -/* 02DA2C 8002CE2C 4618C202 */ mul.s $f8, $f24, $f24 -/* 02DA30 8002CE30 46062280 */ add.s $f10, $f4, $f6 -/* 02DA34 8002CE34 0C0326B4 */ jal sqrtf -/* 02DA38 8002CE38 46085300 */ add.s $f12, $f10, $f8 -/* 02DA3C 8002CE3C 44802800 */ mtc1 $zero, $f5 -/* 02DA40 8002CE40 44802000 */ mtc1 $zero, $f4 -/* 02DA44 8002CE44 460001A1 */ cvt.d.s $f6, $f0 -/* 02DA48 8002CE48 4626203C */ c.lt.d $f4, $f6 -/* 02DA4C 8002CE4C 2408000A */ li $t0, 10 -/* 02DA50 8002CE50 45000009 */ bc1f .L8002CE78 -/* 02DA54 8002CE54 02801025 */ move $v0, $s4 -/* 02DA58 8002CE58 00000000 */ nop -/* 02DA5C 8002CE5C 4600A383 */ div.s $f14, $f20, $f0 -/* 02DA60 8002CE60 00000000 */ nop -/* 02DA64 8002CE64 4600B303 */ div.s $f12, $f22, $f0 -/* 02DA68 8002CE68 E7AE00A0 */ swc1 $f14, 0xa0($sp) -/* 02DA6C 8002CE6C 4600C083 */ div.s $f2, $f24, $f0 -/* 02DA70 8002CE70 E7AC009C */ swc1 $f12, 0x9c($sp) -/* 02DA74 8002CE74 E7A20098 */ swc1 $f2, 0x98($sp) -.L8002CE78: -/* 02DA78 8002CE78 8E580018 */ lw $t8, 0x18($s2) -/* 02DA7C 8002CE7C C7AE00A0 */ lwc1 $f14, 0xa0($sp) -/* 02DA80 8002CE80 00027900 */ sll $t7, $v0, 4 -/* 02DA84 8002CE84 C7A20098 */ lwc1 $f2, 0x98($sp) -/* 02DA88 8002CE88 C7AC009C */ lwc1 $f12, 0x9c($sp) -/* 02DA8C 8002CE8C 030FC821 */ addu $t9, $t8, $t7 -/* 02DA90 8002CE90 E72E0000 */ swc1 $f14, ($t9) -/* 02DA94 8002CE94 8E4A0018 */ lw $t2, 0x18($s2) -/* 02DA98 8002CE98 460EE282 */ mul.s $f10, $f28, $f14 -/* 02DA9C 8002CE9C 014F5821 */ addu $t3, $t2, $t7 -/* 02DAA0 8002CEA0 E56C0004 */ swc1 $f12, 4($t3) -/* 02DAA4 8002CEA4 8E4C0018 */ lw $t4, 0x18($s2) -/* 02DAA8 8002CEA8 460CF202 */ mul.s $f8, $f30, $f12 -/* 02DAAC 8002CEAC 018F6821 */ addu $t5, $t4, $t7 -/* 02DAB0 8002CEB0 E5A20008 */ swc1 $f2, 8($t5) -/* 02DAB4 8002CEB4 C7A600BC */ lwc1 $f6, 0xbc($sp) -/* 02DAB8 8002CEB8 46085100 */ add.s $f4, $f10, $f8 -/* 02DABC 8002CEBC 8E4E0018 */ lw $t6, 0x18($s2) -/* 02DAC0 8002CEC0 46023282 */ mul.s $f10, $f6, $f2 -/* 02DAC4 8002CEC4 01CF7821 */ addu $t7, $t6, $t7 -/* 02DAC8 8002CEC8 26940001 */ addiu $s4, $s4, 1 -/* 02DACC 8002CECC 460A2200 */ add.s $f8, $f4, $f10 -/* 02DAD0 8002CED0 46004187 */ neg.s $f6, $f8 -/* 02DAD4 8002CED4 E5E6000C */ swc1 $f6, 0xc($t7) -/* 02DAD8 8002CED8 8FA50078 */ lw $a1, 0x78($sp) -/* 02DADC 8002CEDC 00000000 */ nop -.L8002CEE0: -/* 02DAE0 8002CEE0 24A50010 */ addiu $a1, $a1, 0x10 -/* 02DAE4 8002CEE4 00B0082A */ slt $at, $a1, $s0 -/* 02DAE8 8002CEE8 1420FF7B */ bnez $at, .L8002CCD8 -/* 02DAEC 8002CEEC 00000000 */ nop -/* 02DAF0 8002CEF0 86450020 */ lh $a1, 0x20($s2) -/* 02DAF4 8002CEF4 00000000 */ nop -.L8002CEF8: -/* 02DAF8 8002CEF8 8FB800EC */ lw $t8, 0xec($sp) -/* 02DAFC 8002CEFC 8FAA0074 */ lw $t2, 0x74($sp) -/* 02DB00 8002CF00 27190001 */ addiu $t9, $t8, 1 -/* 02DB04 8002CF04 0325082A */ slt $at, $t9, $a1 -/* 02DB08 8002CF08 254B000C */ addiu $t3, $t2, 0xc -/* 02DB0C 8002CF0C AFAB0074 */ sw $t3, 0x74($sp) -/* 02DB10 8002CF10 1420FF65 */ bnez $at, .L8002CCA8 -/* 02DB14 8002CF14 AFB900EC */ sw $t9, 0xec($sp) -.L8002CF18: -/* 02DB18 8002CF18 3C0C8012 */ lui $t4, %hi(D_8011B0F8) # $t4, 0x8012 -/* 02DB1C 8002CF1C 8D8CB0F8 */ lw $t4, %lo(D_8011B0F8)($t4) -/* 02DB20 8002CF20 2408000A */ li $t0, 10 -/* 02DB24 8002CF24 11800003 */ beqz $t4, .L8002CF34 -/* 02DB28 8002CF28 02804825 */ move $t1, $s4 -/* 02DB2C 8002CF2C 100000DF */ b .L8002D2AC -/* 02DB30 8002CF30 00141100 */ sll $v0, $s4, 4 -.L8002CF34: -/* 02DB34 8002CF34 18A000DC */ blez $a1, .L8002D2A8 -/* 02DB38 8002CF38 AFA000EC */ sw $zero, 0xec($sp) -/* 02DB3C 8002CF3C AFA00074 */ sw $zero, 0x74($sp) -/* 02DB40 8002CF40 24130006 */ li $s3, 6 -.L8002CF44: -/* 02DB44 8002CF44 8E4D000C */ lw $t5, 0xc($s2) -/* 02DB48 8002CF48 8FAE0074 */ lw $t6, 0x74($sp) -/* 02DB4C 8002CF4C 00000000 */ nop -/* 02DB50 8002CF50 01AE1021 */ addu $v0, $t5, $t6 -/* 02DB54 8002CF54 844F0010 */ lh $t7, 0x10($v0) -/* 02DB58 8002CF58 84430004 */ lh $v1, 4($v0) -/* 02DB5C 8002CF5C 845E0002 */ lh $fp, 2($v0) -/* 02DB60 8002CF60 AFAF00F4 */ sw $t7, 0xf4($sp) -/* 02DB64 8002CF64 8C580008 */ lw $t8, 8($v0) -/* 02DB68 8002CF68 8FAB00F4 */ lw $t3, 0xf4($sp) -/* 02DB6C 8002CF6C 330A0200 */ andi $t2, $t8, 0x200 -/* 02DB70 8002CF70 11400003 */ beqz $t2, .L8002CF80 -/* 02DB74 8002CF74 006B082A */ slt $at, $v1, $t3 -/* 02DB78 8002CF78 01E01825 */ move $v1, $t7 -/* 02DB7C 8002CF7C 006B082A */ slt $at, $v1, $t3 -.L8002CF80: -/* 02DB80 8002CF80 102000C1 */ beqz $at, .L8002D288 -/* 02DB84 8002CF84 0060B825 */ move $s7, $v1 -/* 02DB88 8002CF88 00032100 */ sll $a0, $v1, 4 -.L8002CF8C: -/* 02DB8C 8002CF8C 8E590004 */ lw $t9, 4($s2) -/* 02DB90 8002CF90 00000000 */ nop -/* 02DB94 8002CF94 03246021 */ addu $t4, $t9, $a0 -/* 02DB98 8002CF98 918D0000 */ lbu $t5, ($t4) -/* 02DB9C 8002CF9C 00000000 */ nop -/* 02DBA0 8002CFA0 31AE0080 */ andi $t6, $t5, 0x80 -/* 02DBA4 8002CFA4 15C000B3 */ bnez $t6, .L8002D274 -/* 02DBA8 8002CFA8 8FB900F4 */ lw $t9, 0xf4($sp) -/* 02DBAC 8002CFAC 8E4F0014 */ lw $t7, 0x14($s2) -/* 02DBB0 8002CFB0 0017C0C0 */ sll $t8, $s7, 3 -/* 02DBB4 8002CFB4 01F85021 */ addu $t2, $t7, $t8 -/* 02DBB8 8002CFB8 95510000 */ lhu $s1, ($t2) -/* 02DBBC 8002CFBC 8E4B0018 */ lw $t3, 0x18($s2) -/* 02DBC0 8002CFC0 00116100 */ sll $t4, $s1, 4 -/* 02DBC4 8002CFC4 016C1821 */ addu $v1, $t3, $t4 -/* 02DBC8 8002CFC8 C4640000 */ lwc1 $f4, ($v1) -/* 02DBCC 8002CFCC 00001025 */ move $v0, $zero -/* 02DBD0 8002CFD0 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 02DBD4 8002CFD4 C46A0004 */ lwc1 $f10, 4($v1) -/* 02DBD8 8002CFD8 0000A825 */ move $s5, $zero -/* 02DBDC 8002CFDC E7AA009C */ swc1 $f10, 0x9c($sp) -/* 02DBE0 8002CFE0 C4680008 */ lwc1 $f8, 8($v1) -/* 02DBE4 8002CFE4 AFA40078 */ sw $a0, 0x78($sp) -/* 02DBE8 8002CFE8 E7A80098 */ swc1 $f8, 0x98($sp) -.L8002CFEC: -/* 02DBEC 8002CFEC 8E4D0004 */ lw $t5, 4($s2) -/* 02DBF0 8002CFF0 8E4F0014 */ lw $t7, 0x14($s2) -/* 02DBF4 8002CFF4 24560001 */ addiu $s6, $v0, 1 -/* 02DBF8 8002CFF8 00177100 */ sll $t6, $s7, 4 -/* 02DBFC 8002CFFC 0017C0C0 */ sll $t8, $s7, 3 -/* 02DC00 8002D000 2AC10003 */ slti $at, $s6, 3 -/* 02DC04 8002D004 01AE1821 */ addu $v1, $t5, $t6 -/* 02DC08 8002D008 01F85021 */ addu $t2, $t7, $t8 -/* 02DC0C 8002D00C 02C08025 */ move $s0, $s6 -/* 02DC10 8002D010 01553821 */ addu $a3, $t2, $s5 -/* 02DC14 8002D014 14200002 */ bnez $at, .L8002D020 -/* 02DC18 8002D018 00622021 */ addu $a0, $v1, $v0 -/* 02DC1C 8002D01C 00008025 */ move $s0, $zero -.L8002D020: -/* 02DC20 8002D020 00705821 */ addu $t3, $v1, $s0 -/* 02DC24 8002D024 94F00002 */ lhu $s0, 2($a3) -/* 02DC28 8002D028 90990001 */ lbu $t9, 1($a0) -/* 02DC2C 8002D02C 916C0001 */ lbu $t4, 1($t3) -/* 02DC30 8002D030 0209082A */ slt $at, $s0, $t1 -/* 02DC34 8002D034 033E2821 */ addu $a1, $t9, $fp -/* 02DC38 8002D038 10200087 */ beqz $at, .L8002D258 -/* 02DC3C 8002D03C 019E3021 */ addu $a2, $t4, $fp -/* 02DC40 8002D040 00A80019 */ multu $a1, $t0 -/* 02DC44 8002D044 8E4D0018 */ lw $t5, 0x18($s2) -/* 02DC48 8002D048 00107900 */ sll $t7, $s0, 4 -/* 02DC4C 8002D04C 01AF1821 */ addu $v1, $t5, $t7 -/* 02DC50 8002D050 C4660000 */ lwc1 $f6, ($v1) -/* 02DC54 8002D054 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 02DC58 8002D058 8E440000 */ lw $a0, ($s2) -/* 02DC5C 8002D05C 46043500 */ add.s $f20, $f6, $f4 -/* 02DC60 8002D060 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 02DC64 8002D064 C4660008 */ lwc1 $f6, 8($v1) -/* 02DC68 8002D068 C46A0004 */ lwc1 $f10, 4($v1) -/* 02DC6C 8002D06C 46043680 */ add.s $f26, $f6, $f4 -/* 02DC70 8002D070 0000C012 */ mflo $t8 -/* 02DC74 8002D074 00981021 */ addu $v0, $a0, $t8 -/* 02DC78 8002D078 844B0004 */ lh $t3, 4($v0) -/* 02DC7C 8002D07C 00C80019 */ multu $a2, $t0 -/* 02DC80 8002D080 448B3000 */ mtc1 $t3, $f6 -/* 02DC84 8002D084 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 02DC88 8002D088 46803120 */ cvt.s.w $f4, $f6 -/* 02DC8C 8002D08C 844A0000 */ lh $t2, ($v0) -/* 02DC90 8002D090 84590002 */ lh $t9, 2($v0) -/* 02DC94 8002D094 46085580 */ add.s $f22, $f10, $f8 -/* 02DC98 8002D098 448A5000 */ mtc1 $t2, $f10 -/* 02DC9C 8002D09C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 02DCA0 8002D0A0 E7A400BC */ swc1 $f4, 0xbc($sp) -/* 02DCA4 8002D0A4 44810000 */ mtc1 $at, $f0 -/* 02DCA8 8002D0A8 44994000 */ mtc1 $t9, $f8 -/* 02DCAC 8002D0AC 00006012 */ mflo $t4 -/* 02DCB0 8002D0B0 008C1021 */ addu $v0, $a0, $t4 -/* 02DCB4 8002D0B4 844E0000 */ lh $t6, ($v0) -/* 02DCB8 8002D0B8 46805720 */ cvt.s.w $f28, $f10 -/* 02DCBC 8002D0BC 844D0002 */ lh $t5, 2($v0) -/* 02DCC0 8002D0C0 448E5000 */ mtc1 $t6, $f10 -/* 02DCC4 8002D0C4 4600A102 */ mul.s $f4, $f20, $f0 -/* 02DCC8 8002D0C8 844F0004 */ lh $t7, 4($v0) -/* 02DCCC 8002D0CC AFA900D0 */ sw $t1, 0xd0($sp) -/* 02DCD0 8002D0D0 448F3000 */ mtc1 $t7, $f6 -/* 02DCD4 8002D0D4 468047A0 */ cvt.s.w $f30, $f8 -/* 02DCD8 8002D0D8 448D4000 */ mtc1 $t5, $f8 -/* 02DCDC 8002D0DC 468050A0 */ cvt.s.w $f2, $f10 -/* 02DCE0 8002D0E0 4600B282 */ mul.s $f10, $f22, $f0 -/* 02DCE4 8002D0E4 461C2400 */ add.s $f16, $f4, $f28 -/* 02DCE8 8002D0E8 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 02DCEC 8002D0EC 46804320 */ cvt.s.w $f12, $f8 -/* 02DCF0 8002D0F0 44814000 */ mtc1 $at, $f8 -/* 02DCF4 8002D0F4 468033A0 */ cvt.s.w $f14, $f6 -/* 02DCF8 8002D0F8 4608D182 */ mul.s $f6, $f26, $f8 -/* 02DCFC 8002D0FC 461E5480 */ add.s $f18, $f10, $f30 -/* 02DD00 8002D100 46043000 */ add.s $f0, $f6, $f4 -/* 02DD04 8002D104 46007281 */ sub.s $f10, $f14, $f0 -/* 02DD08 8002D108 461E5202 */ mul.s $f8, $f10, $f30 -/* 02DD0C 8002D10C 46040181 */ sub.s $f6, $f0, $f4 -/* 02DD10 8002D110 46066282 */ mul.s $f10, $f12, $f6 -/* 02DD14 8002D114 460A4180 */ add.s $f6, $f8, $f10 -/* 02DD18 8002D118 460E2201 */ sub.s $f8, $f4, $f14 -/* 02DD1C 8002D11C 46089282 */ mul.s $f10, $f18, $f8 -/* 02DD20 8002D120 46101201 */ sub.s $f8, $f2, $f16 -/* 02DD24 8002D124 460A3500 */ add.s $f20, $f6, $f10 -/* 02DD28 8002D128 46044182 */ mul.s $f6, $f8, $f4 -/* 02DD2C 8002D12C 461C8281 */ sub.s $f10, $f16, $f28 -/* 02DD30 8002D130 460A7202 */ mul.s $f8, $f14, $f10 -/* 02DD34 8002D134 4602E281 */ sub.s $f10, $f28, $f2 -/* 02DD38 8002D138 46083100 */ add.s $f4, $f6, $f8 -/* 02DD3C 8002D13C 460A0182 */ mul.s $f6, $f0, $f10 -/* 02DD40 8002D140 46126201 */ sub.s $f8, $f12, $f18 -/* 02DD44 8002D144 461C4282 */ mul.s $f10, $f8, $f28 -/* 02DD48 8002D148 46062580 */ add.s $f22, $f4, $f6 -/* 02DD4C 8002D14C 461E9101 */ sub.s $f4, $f18, $f30 -/* 02DD50 8002D150 46041182 */ mul.s $f6, $f2, $f4 -/* 02DD54 8002D154 460CF101 */ sub.s $f4, $f30, $f12 -/* 02DD58 8002D158 46065200 */ add.s $f8, $f10, $f6 -/* 02DD5C 8002D15C 46048282 */ mul.s $f10, $f16, $f4 -/* 02DD60 8002D160 00000000 */ nop -/* 02DD64 8002D164 4614A182 */ mul.s $f6, $f20, $f20 -/* 02DD68 8002D168 460A4600 */ add.s $f24, $f8, $f10 -/* 02DD6C 8002D16C 4616B102 */ mul.s $f4, $f22, $f22 -/* 02DD70 8002D170 4600C686 */ mov.s $f26, $f24 -/* 02DD74 8002D174 4618C282 */ mul.s $f10, $f24, $f24 -/* 02DD78 8002D178 46043200 */ add.s $f8, $f6, $f4 -/* 02DD7C 8002D17C 0C0326B4 */ jal sqrtf -/* 02DD80 8002D180 460A4300 */ add.s $f12, $f8, $f10 -/* 02DD84 8002D184 44803800 */ mtc1 $zero, $f7 -/* 02DD88 8002D188 44803000 */ mtc1 $zero, $f6 -/* 02DD8C 8002D18C 46000121 */ cvt.d.s $f4, $f0 -/* 02DD90 8002D190 4624303C */ c.lt.d $f6, $f4 -/* 02DD94 8002D194 8FA900D0 */ lw $t1, 0xd0($sp) -/* 02DD98 8002D198 45000007 */ bc1f .L8002D1B8 -/* 02DD9C 8002D19C 2408000A */ li $t0, 10 -/* 02DDA0 8002D1A0 00000000 */ nop -/* 02DDA4 8002D1A4 4600A503 */ div.s $f20, $f20, $f0 -/* 02DDA8 8002D1A8 00000000 */ nop -/* 02DDAC 8002D1AC 4600B583 */ div.s $f22, $f22, $f0 -/* 02DDB0 8002D1B0 00000000 */ nop -/* 02DDB4 8002D1B4 4600C683 */ div.s $f26, $f24, $f0 -.L8002D1B8: -/* 02DDB8 8002D1B8 1211000D */ beq $s0, $s1, .L8002D1F0 -/* 02DDBC 8002D1BC 001768C0 */ sll $t5, $s7, 3 -/* 02DDC0 8002D1C0 00001025 */ move $v0, $zero -.L8002D1C4: -/* 02DDC4 8002D1C4 8E580014 */ lw $t8, 0x14($s2) -/* 02DDC8 8002D1C8 001050C0 */ sll $t2, $s0, 3 -/* 02DDCC 8002D1CC 030AC821 */ addu $t9, $t8, $t2 -/* 02DDD0 8002D1D0 03221821 */ addu $v1, $t9, $v0 -/* 02DDD4 8002D1D4 946B0002 */ lhu $t3, 2($v1) -/* 02DDD8 8002D1D8 24420002 */ addiu $v0, $v0, 2 -/* 02DDDC 8002D1DC 162B0002 */ bne $s1, $t3, .L8002D1E8 -/* 02DDE0 8002D1E0 368C8000 */ ori $t4, $s4, 0x8000 -/* 02DDE4 8002D1E4 A46C0002 */ sh $t4, 2($v1) -.L8002D1E8: -/* 02DDE8 8002D1E8 1453FFF6 */ bne $v0, $s3, .L8002D1C4 -/* 02DDEC 8002D1EC 00000000 */ nop -.L8002D1F0: -/* 02DDF0 8002D1F0 8E4E0014 */ lw $t6, 0x14($s2) -/* 02DDF4 8002D1F4 02801025 */ move $v0, $s4 -/* 02DDF8 8002D1F8 01CD7821 */ addu $t7, $t6, $t5 -/* 02DDFC 8002D1FC 01F5C021 */ addu $t8, $t7, $s5 -/* 02DE00 8002D200 A7140002 */ sh $s4, 2($t8) -/* 02DE04 8002D204 8E590018 */ lw $t9, 0x18($s2) -/* 02DE08 8002D208 00025100 */ sll $t2, $v0, 4 -/* 02DE0C 8002D20C 032A5821 */ addu $t3, $t9, $t2 -/* 02DE10 8002D210 E5740000 */ swc1 $f20, ($t3) -/* 02DE14 8002D214 8E4C0018 */ lw $t4, 0x18($s2) -/* 02DE18 8002D218 4614E202 */ mul.s $f8, $f28, $f20 -/* 02DE1C 8002D21C 018A7021 */ addu $t6, $t4, $t2 -/* 02DE20 8002D220 E5D60004 */ swc1 $f22, 4($t6) -/* 02DE24 8002D224 8E4D0018 */ lw $t5, 0x18($s2) -/* 02DE28 8002D228 4616F282 */ mul.s $f10, $f30, $f22 -/* 02DE2C 8002D22C 01AA7821 */ addu $t7, $t5, $t2 -/* 02DE30 8002D230 E5FA0008 */ swc1 $f26, 8($t7) -/* 02DE34 8002D234 C7A400BC */ lwc1 $f4, 0xbc($sp) -/* 02DE38 8002D238 460A4180 */ add.s $f6, $f8, $f10 -/* 02DE3C 8002D23C 8E580018 */ lw $t8, 0x18($s2) -/* 02DE40 8002D240 461A2202 */ mul.s $f8, $f4, $f26 -/* 02DE44 8002D244 030A5021 */ addu $t2, $t8, $t2 -/* 02DE48 8002D248 26940001 */ addiu $s4, $s4, 1 -/* 02DE4C 8002D24C 46083280 */ add.s $f10, $f6, $f8 -/* 02DE50 8002D250 46005107 */ neg.s $f4, $f10 -/* 02DE54 8002D254 E544000C */ swc1 $f4, 0xc($t2) -.L8002D258: -/* 02DE58 8002D258 24010003 */ li $at, 3 -/* 02DE5C 8002D25C 02C01025 */ move $v0, $s6 -/* 02DE60 8002D260 16C1FF62 */ bne $s6, $at, .L8002CFEC -/* 02DE64 8002D264 26B50002 */ addiu $s5, $s5, 2 -/* 02DE68 8002D268 8FA40078 */ lw $a0, 0x78($sp) -/* 02DE6C 8002D26C 00000000 */ nop -/* 02DE70 8002D270 8FB900F4 */ lw $t9, 0xf4($sp) -.L8002D274: -/* 02DE74 8002D274 26F70001 */ addiu $s7, $s7, 1 -/* 02DE78 8002D278 16F9FF44 */ bne $s7, $t9, .L8002CF8C -/* 02DE7C 8002D27C 24840010 */ addiu $a0, $a0, 0x10 -/* 02DE80 8002D280 86450020 */ lh $a1, 0x20($s2) -/* 02DE84 8002D284 00000000 */ nop -.L8002D288: -/* 02DE88 8002D288 8FAB00EC */ lw $t3, 0xec($sp) -/* 02DE8C 8002D28C 8FAE0074 */ lw $t6, 0x74($sp) -/* 02DE90 8002D290 256C0001 */ addiu $t4, $t3, 1 -/* 02DE94 8002D294 0185082A */ slt $at, $t4, $a1 -/* 02DE98 8002D298 25CD000C */ addiu $t5, $t6, 0xc -/* 02DE9C 8002D29C AFAD0074 */ sw $t5, 0x74($sp) -/* 02DEA0 8002D2A0 1420FF28 */ bnez $at, .L8002CF44 -/* 02DEA4 8002D2A4 AFAC00EC */ sw $t4, 0xec($sp) -.L8002D2A8: -/* 02DEA8 8002D2A8 00141100 */ sll $v0, $s4, 4 -.L8002D2AC: -/* 02DEAC 8002D2AC 8FBF006C */ lw $ra, 0x6c($sp) -/* 02DEB0 8002D2B0 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 02DEB4 8002D2B4 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 02DEB8 8002D2B8 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 02DEBC 8002D2BC C7B60024 */ lwc1 $f22, 0x24($sp) -/* 02DEC0 8002D2C0 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 02DEC4 8002D2C4 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 02DEC8 8002D2C8 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 02DECC 8002D2CC C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 02DED0 8002D2D0 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 02DED4 8002D2D4 C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 02DED8 8002D2D8 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 02DEDC 8002D2DC C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 02DEE0 8002D2E0 8FB00048 */ lw $s0, 0x48($sp) -/* 02DEE4 8002D2E4 8FB1004C */ lw $s1, 0x4c($sp) -/* 02DEE8 8002D2E8 8FB20050 */ lw $s2, 0x50($sp) -/* 02DEEC 8002D2EC 8FB30054 */ lw $s3, 0x54($sp) -/* 02DEF0 8002D2F0 8FB40058 */ lw $s4, 0x58($sp) -/* 02DEF4 8002D2F4 8FB5005C */ lw $s5, 0x5c($sp) -/* 02DEF8 8002D2F8 8FB60060 */ lw $s6, 0x60($sp) -/* 02DEFC 8002D2FC 8FB70064 */ lw $s7, 0x64($sp) -/* 02DF00 8002D300 8FBE0068 */ lw $fp, 0x68($sp) -/* 02DF04 8002D304 03E00008 */ jr $ra -/* 02DF08 8002D308 27BD0100 */ addiu $sp, $sp, 0x100 - -glabel func_8002D30C -/* 02DF0C 8002D30C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02DF10 8002D310 AFB10018 */ sw $s1, 0x18($sp) -/* 02DF14 8002D314 AFB00014 */ sw $s0, 0x14($sp) -/* 02DF18 8002D318 00808025 */ move $s0, $a0 -/* 02DF1C 8002D31C 00A08825 */ move $s1, $a1 -/* 02DF20 8002D320 AFBF001C */ sw $ra, 0x1c($sp) -/* 02DF24 8002D324 12000013 */ beqz $s0, .L8002D374 -/* 02DF28 8002D328 8FBF001C */ lw $ra, 0x1c($sp) -.L8002D32C: -/* 02DF2C 8002D32C 8E020004 */ lw $v0, 4($s0) -/* 02DF30 8002D330 00000000 */ nop -/* 02DF34 8002D334 10400002 */ beqz $v0, .L8002D340 -/* 02DF38 8002D338 00517021 */ addu $t6, $v0, $s1 -/* 02DF3C 8002D33C AE0E0004 */ sw $t6, 4($s0) -.L8002D340: -/* 02DF40 8002D340 8E020008 */ lw $v0, 8($s0) -/* 02DF44 8002D344 00000000 */ nop -/* 02DF48 8002D348 10400002 */ beqz $v0, .L8002D354 -/* 02DF4C 8002D34C 00517821 */ addu $t7, $v0, $s1 -/* 02DF50 8002D350 AE0F0008 */ sw $t7, 8($s0) -.L8002D354: -/* 02DF54 8002D354 8E040004 */ lw $a0, 4($s0) -/* 02DF58 8002D358 0C00B4C3 */ jal func_8002D30C -/* 02DF5C 8002D35C 02202825 */ move $a1, $s1 -/* 02DF60 8002D360 8E100008 */ lw $s0, 8($s0) -/* 02DF64 8002D364 00000000 */ nop -/* 02DF68 8002D368 1600FFF0 */ bnez $s0, .L8002D32C -/* 02DF6C 8002D36C 00000000 */ nop -/* 02DF70 8002D370 8FBF001C */ lw $ra, 0x1c($sp) -.L8002D374: -/* 02DF74 8002D374 8FB00014 */ lw $s0, 0x14($sp) -/* 02DF78 8002D378 8FB10018 */ lw $s1, 0x18($sp) -/* 02DF7C 8002D37C 03E00008 */ jr $ra -/* 02DF80 8002D380 27BD0020 */ addiu $sp, $sp, 0x20 - -glabel func_8002D384 -/* 02DF84 8002D384 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 02DF88 8002D388 AFBF003C */ sw $ra, 0x3c($sp) -/* 02DF8C 8002D38C AFBE0038 */ sw $fp, 0x38($sp) -/* 02DF90 8002D390 AFB70034 */ sw $s7, 0x34($sp) -/* 02DF94 8002D394 AFB60030 */ sw $s6, 0x30($sp) -/* 02DF98 8002D398 AFB5002C */ sw $s5, 0x2c($sp) -/* 02DF9C 8002D39C AFB40028 */ sw $s4, 0x28($sp) -/* 02DFA0 8002D3A0 AFB30024 */ sw $s3, 0x24($sp) -/* 02DFA4 8002D3A4 AFB20020 */ sw $s2, 0x20($sp) -/* 02DFA8 8002D3A8 AFB1001C */ sw $s1, 0x1c($sp) -/* 02DFAC 8002D3AC AFB00018 */ sw $s0, 0x18($sp) -/* 02DFB0 8002D3B0 8C8E0040 */ lw $t6, 0x40($a0) -/* 02DFB4 8002D3B4 00803025 */ move $a2, $a0 -/* 02DFB8 8002D3B8 85CF0032 */ lh $t7, 0x32($t6) -/* 02DFBC 8002D3BC 00A03825 */ move $a3, $a1 -/* 02DFC0 8002D3C0 11E000A0 */ beqz $t7, .L8002D644 -/* 02DFC4 8002D3C4 8FBF003C */ lw $ra, 0x3c($sp) -/* 02DFC8 8002D3C8 84B80008 */ lh $t8, 8($a1) -/* 02DFCC 8002D3CC 2401FFFF */ li $at, -1 -/* 02DFD0 8002D3D0 1301009B */ beq $t8, $at, .L8002D640 -/* 02DFD4 8002D3D4 3C198012 */ lui $t9, %hi(D_8011B0C4) # $t9, 0x8012 -/* 02DFD8 8002D3D8 8F39B0C4 */ lw $t9, %lo(D_8011B0C4)($t9) -/* 02DFDC 8002D3DC 3C048012 */ lui $a0, %hi(D_8011B0CC) # $a0, 0x8012 -/* 02DFE0 8002D3E0 17200097 */ bnez $t9, .L8002D640 -/* 02DFE4 8002D3E4 3C0D8012 */ lui $t5, %hi(D_8011B0C8) # $t5, 0x8012 -/* 02DFE8 8002D3E8 8DADB0C8 */ lw $t5, %lo(D_8011B0C8)($t5) -/* 02DFEC 8002D3EC 2484B0CC */ addiu $a0, %lo(D_8011B0CC) # addiu $a0, $a0, -0x4f34 -/* 02DFF0 8002D3F0 AC8D0000 */ sw $t5, ($a0) -/* 02DFF4 8002D3F4 8CCE0040 */ lw $t6, 0x40($a2) -/* 02DFF8 8002D3F8 24010001 */ li $at, 1 -/* 02DFFC 8002D3FC 85CF0032 */ lh $t7, 0x32($t6) -/* 02E000 8002D400 3C148012 */ lui $s4, %hi(D_8011D360) # $s4, 0x8012 -/* 02E004 8002D404 15E10003 */ bne $t7, $at, .L8002D414 -/* 02E008 8002D408 2694D360 */ addiu $s4, %lo(D_8011D360) # addiu $s4, $s4, -0x2ca0 -/* 02E00C 8002D40C 25B90002 */ addiu $t9, $t5, 2 -/* 02E010 8002D410 AC990000 */ sw $t9, ($a0) -.L8002D414: -/* 02E014 8002D414 8C820000 */ lw $v0, ($a0) -/* 02E018 8002D418 3C0E8012 */ lui $t6, 0x8012 -/* 02E01C 8002D41C 00026880 */ sll $t5, $v0, 2 -/* 02E020 8002D420 01CD7021 */ addu $t6, $t6, $t5 -/* 02E024 8002D424 8DCED350 */ lw $t6, -0x2cb0($t6) -/* 02E028 8002D428 84F30008 */ lh $s3, 8($a3) -/* 02E02C 8002D42C 3C0F8012 */ lui $t7, 0x8012 -/* 02E030 8002D430 01ED7821 */ addu $t7, $t7, $t5 -/* 02E034 8002D434 AE8E0000 */ sw $t6, ($s4) -/* 02E038 8002D438 8DEFD320 */ lw $t7, -0x2ce0($t7) -/* 02E03C 8002D43C 3C018012 */ lui $at, %hi(D_8011D330) # $at, 0x8012 -/* 02E040 8002D440 3C188012 */ lui $t8, 0x8012 -/* 02E044 8002D444 030DC021 */ addu $t8, $t8, $t5 -/* 02E048 8002D448 AC2FD330 */ sw $t7, %lo(D_8011D330)($at) -/* 02E04C 8002D44C 8F18D338 */ lw $t8, -0x2cc8($t8) -/* 02E050 8002D450 8E990000 */ lw $t9, ($s4) -/* 02E054 8002D454 3C178012 */ lui $s7, %hi(D_8011D348) # $s7, 0x8012 -/* 02E058 8002D458 26F7D348 */ addiu $s7, %lo(D_8011D348) # addiu $s7, $s7, -0x2cb8 -/* 02E05C 8002D45C 001368C0 */ sll $t5, $s3, 3 -/* 02E060 8002D460 AEF80000 */ sw $t8, ($s7) -/* 02E064 8002D464 032D7021 */ addu $t6, $t9, $t5 -/* 02E068 8002D468 85CF0006 */ lh $t7, 6($t6) -/* 02E06C 8002D46C 8EF90000 */ lw $t9, ($s7) -/* 02E070 8002D470 000FC080 */ sll $t8, $t7, 2 -/* 02E074 8002D474 030FC021 */ addu $t8, $t8, $t7 -/* 02E078 8002D478 0018C040 */ sll $t8, $t8, 1 -/* 02E07C 8002D47C 03386821 */ addu $t5, $t9, $t8 -/* 02E080 8002D480 91A30009 */ lbu $v1, 9($t5) -/* 02E084 8002D484 241E000A */ li $fp, 10 -/* 02E088 8002D488 10600005 */ beqz $v1, .L8002D4A0 -/* 02E08C 8002D48C 3C160500 */ lui $s6, 0x500 -/* 02E090 8002D490 90C50039 */ lbu $a1, 0x39($a2) -/* 02E094 8002D494 240200FF */ li $v0, 255 -/* 02E098 8002D498 14A00004 */ bnez $a1, .L8002D4AC -/* 02E09C 8002D49C 00000000 */ nop -.L8002D4A0: -/* 02E0A0 8002D4A0 84F3000A */ lh $s3, 0xa($a3) -/* 02E0A4 8002D4A4 10000015 */ b .L8002D4FC -/* 02E0A8 8002D4A8 84EE000A */ lh $t6, 0xa($a3) -.L8002D4AC: -/* 02E0AC 8002D4AC 14620003 */ bne $v1, $v0, .L8002D4BC -/* 02E0B0 8002D4B0 00000000 */ nop -/* 02E0B4 8002D4B4 10450010 */ beq $v0, $a1, .L8002D4F8 -/* 02E0B8 8002D4B8 00000000 */ nop -.L8002D4BC: -/* 02E0BC 8002D4BC 00A30019 */ multu $a1, $v1 -/* 02E0C0 8002D4C0 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 -/* 02E0C4 8002D4C4 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 -/* 02E0C8 8002D4C8 8E240000 */ lw $a0, ($s1) -/* 02E0CC 8002D4CC 2401FF00 */ li $at, -256 -/* 02E0D0 8002D4D0 248F0008 */ addiu $t7, $a0, 8 -/* 02E0D4 8002D4D4 AE2F0000 */ sw $t7, ($s1) -/* 02E0D8 8002D4D8 3C19FA00 */ lui $t9, 0xfa00 -/* 02E0DC 8002D4DC 241E000E */ li $fp, 14 -/* 02E0E0 8002D4E0 AC990000 */ sw $t9, ($a0) -/* 02E0E4 8002D4E4 00001812 */ mflo $v1 -/* 02E0E8 8002D4E8 00037203 */ sra $t6, $v1, 8 -/* 02E0EC 8002D4EC 31D800FF */ andi $t8, $t6, 0xff -/* 02E0F0 8002D4F0 03016825 */ or $t5, $t8, $at -/* 02E0F4 8002D4F4 AC8D0004 */ sw $t5, 4($a0) -.L8002D4F8: -/* 02E0F8 8002D4F8 84EE000A */ lh $t6, 0xa($a3) -.L8002D4FC: -/* 02E0FC 8002D4FC 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 -/* 02E100 8002D500 026E082A */ slt $at, $s3, $t6 -/* 02E104 8002D504 10200045 */ beqz $at, .L8002D61C -/* 02E108 8002D508 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 -/* 02E10C 8002D50C 001380C0 */ sll $s0, $s3, 3 -/* 02E110 8002D510 AFA70044 */ sw $a3, 0x44($sp) -/* 02E114 8002D514 3C150400 */ lui $s5, 0x400 -/* 02E118 8002D518 3C128000 */ lui $s2, 0x8000 -.L8002D51C: -/* 02E11C 8002D51C 8E8F0000 */ lw $t7, ($s4) -/* 02E120 8002D520 02202025 */ move $a0, $s1 -/* 02E124 8002D524 01F0C821 */ addu $t9, $t7, $s0 -/* 02E128 8002D528 8F250000 */ lw $a1, ($t9) -/* 02E12C 8002D52C 0C01ED32 */ jal func_8007B4C8 -/* 02E130 8002D530 03C03025 */ move $a2, $fp -/* 02E134 8002D534 8E980000 */ lw $t8, ($s4) -/* 02E138 8002D538 3C198012 */ lui $t9, %hi(D_8011D330) # $t9, 0x8012 -/* 02E13C 8002D53C 03101021 */ addu $v0, $t8, $s0 -/* 02E140 8002D540 84450004 */ lh $a1, 4($v0) -/* 02E144 8002D544 84460006 */ lh $a2, 6($v0) -/* 02E148 8002D548 844D000C */ lh $t5, 0xc($v0) -/* 02E14C 8002D54C 0006C080 */ sll $t8, $a2, 2 -/* 02E150 8002D550 01A53823 */ subu $a3, $t5, $a1 -/* 02E154 8002D554 844E000E */ lh $t6, 0xe($v0) -/* 02E158 8002D558 8F39D330 */ lw $t9, %lo(D_8011D330)($t9) -/* 02E15C 8002D55C 8EED0000 */ lw $t5, ($s7) -/* 02E160 8002D560 0306C021 */ addu $t8, $t8, $a2 -/* 02E164 8002D564 0018C040 */ sll $t8, $t8, 1 -/* 02E168 8002D568 00057900 */ sll $t7, $a1, 4 -/* 02E16C 8002D56C 8E240000 */ lw $a0, ($s1) -/* 02E170 8002D570 01C61823 */ subu $v1, $t6, $a2 -/* 02E174 8002D574 01F95821 */ addu $t3, $t7, $t9 -/* 02E178 8002D578 030D6021 */ addu $t4, $t8, $t5 -/* 02E17C 8002D57C 01924821 */ addu $t1, $t4, $s2 -/* 02E180 8002D580 246FFFFF */ addiu $t7, $v1, -1 -/* 02E184 8002D584 000FC8C0 */ sll $t9, $t7, 3 -/* 02E188 8002D588 31380006 */ andi $t8, $t1, 6 -/* 02E18C 8002D58C 248E0008 */ addiu $t6, $a0, 8 -/* 02E190 8002D590 AE2E0000 */ sw $t6, ($s1) -/* 02E194 8002D594 03386825 */ or $t5, $t9, $t8 -/* 02E198 8002D598 31AE00FF */ andi $t6, $t5, 0xff -/* 02E19C 8002D59C 000E7C00 */ sll $t7, $t6, 0x10 -/* 02E1A0 8002D5A0 0003C0C0 */ sll $t8, $v1, 3 -/* 02E1A4 8002D5A4 03036821 */ addu $t5, $t8, $v1 -/* 02E1A8 8002D5A8 000D7040 */ sll $t6, $t5, 1 -/* 02E1AC 8002D5AC 01F5C825 */ or $t9, $t7, $s5 -/* 02E1B0 8002D5B0 25CF0008 */ addiu $t7, $t6, 8 -/* 02E1B4 8002D5B4 31F8FFFF */ andi $t8, $t7, 0xffff -/* 02E1B8 8002D5B8 03386825 */ or $t5, $t9, $t8 -/* 02E1BC 8002D5BC AC8D0000 */ sw $t5, ($a0) -/* 02E1C0 8002D5C0 AC890004 */ sw $t1, 4($a0) -/* 02E1C4 8002D5C4 8E240000 */ lw $a0, ($s1) -/* 02E1C8 8002D5C8 24EFFFFF */ addiu $t7, $a3, -1 -/* 02E1CC 8002D5CC 000FC900 */ sll $t9, $t7, 4 -/* 02E1D0 8002D5D0 37380001 */ ori $t8, $t9, 1 -/* 02E1D4 8002D5D4 248E0008 */ addiu $t6, $a0, 8 -/* 02E1D8 8002D5D8 AE2E0000 */ sw $t6, ($s1) -/* 02E1DC 8002D5DC 330D00FF */ andi $t5, $t8, 0xff -/* 02E1E0 8002D5E0 000D7400 */ sll $t6, $t5, 0x10 -/* 02E1E4 8002D5E4 01D67825 */ or $t7, $t6, $s6 -/* 02E1E8 8002D5E8 0007C900 */ sll $t9, $a3, 4 -/* 02E1EC 8002D5EC 3338FFFF */ andi $t8, $t9, 0xffff -/* 02E1F0 8002D5F0 01F86825 */ or $t5, $t7, $t8 -/* 02E1F4 8002D5F4 01727021 */ addu $t6, $t3, $s2 -/* 02E1F8 8002D5F8 AC8E0004 */ sw $t6, 4($a0) -/* 02E1FC 8002D5FC AC8D0000 */ sw $t5, ($a0) -/* 02E200 8002D600 8FB90044 */ lw $t9, 0x44($sp) -/* 02E204 8002D604 26730001 */ addiu $s3, $s3, 1 -/* 02E208 8002D608 872F000A */ lh $t7, 0xa($t9) -/* 02E20C 8002D60C 26100008 */ addiu $s0, $s0, 8 -/* 02E210 8002D610 026F082A */ slt $at, $s3, $t7 -/* 02E214 8002D614 1420FFC1 */ bnez $at, .L8002D51C -/* 02E218 8002D618 00000000 */ nop -.L8002D61C: -/* 02E21C 8002D61C 24010002 */ li $at, 2 -/* 02E220 8002D620 13C10007 */ beq $fp, $at, .L8002D640 -/* 02E224 8002D624 3C0DFA00 */ lui $t5, 0xfa00 -/* 02E228 8002D628 8E240000 */ lw $a0, ($s1) -/* 02E22C 8002D62C 240EFFFF */ li $t6, -1 -/* 02E230 8002D630 24980008 */ addiu $t8, $a0, 8 -/* 02E234 8002D634 AE380000 */ sw $t8, ($s1) -/* 02E238 8002D638 AC8E0004 */ sw $t6, 4($a0) -/* 02E23C 8002D63C AC8D0000 */ sw $t5, ($a0) -.L8002D640: -/* 02E240 8002D640 8FBF003C */ lw $ra, 0x3c($sp) -.L8002D644: -/* 02E244 8002D644 8FB00018 */ lw $s0, 0x18($sp) -/* 02E248 8002D648 8FB1001C */ lw $s1, 0x1c($sp) -/* 02E24C 8002D64C 8FB20020 */ lw $s2, 0x20($sp) -/* 02E250 8002D650 8FB30024 */ lw $s3, 0x24($sp) -/* 02E254 8002D654 8FB40028 */ lw $s4, 0x28($sp) -/* 02E258 8002D658 8FB5002C */ lw $s5, 0x2c($sp) -/* 02E25C 8002D65C 8FB60030 */ lw $s6, 0x30($sp) -/* 02E260 8002D660 8FB70034 */ lw $s7, 0x34($sp) -/* 02E264 8002D664 8FBE0038 */ lw $fp, 0x38($sp) -/* 02E268 8002D668 03E00008 */ jr $ra -/* 02E26C 8002D66C 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_8002D670 -/* 02E270 8002D670 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 02E274 8002D674 AFBF003C */ sw $ra, 0x3c($sp) -/* 02E278 8002D678 AFBE0038 */ sw $fp, 0x38($sp) -/* 02E27C 8002D67C AFB70034 */ sw $s7, 0x34($sp) -/* 02E280 8002D680 AFB60030 */ sw $s6, 0x30($sp) -/* 02E284 8002D684 AFB5002C */ sw $s5, 0x2c($sp) -/* 02E288 8002D688 AFB40028 */ sw $s4, 0x28($sp) -/* 02E28C 8002D68C AFB30024 */ sw $s3, 0x24($sp) -/* 02E290 8002D690 AFB20020 */ sw $s2, 0x20($sp) -/* 02E294 8002D694 AFB1001C */ sw $s1, 0x1c($sp) -/* 02E298 8002D698 AFB00018 */ sw $s0, 0x18($sp) -/* 02E29C 8002D69C AFA50044 */ sw $a1, 0x44($sp) -/* 02E2A0 8002D6A0 8C8E0040 */ lw $t6, 0x40($a0) -/* 02E2A4 8002D6A4 00000000 */ nop -/* 02E2A8 8002D6A8 85CF0036 */ lh $t7, 0x36($t6) -/* 02E2AC 8002D6AC 00000000 */ nop -/* 02E2B0 8002D6B0 11E0007F */ beqz $t7, .L8002D8B0 -/* 02E2B4 8002D6B4 8FBF003C */ lw $ra, 0x3c($sp) -/* 02E2B8 8002D6B8 84B90008 */ lh $t9, 8($a1) -/* 02E2BC 8002D6BC 2401FFFF */ li $at, -1 -/* 02E2C0 8002D6C0 1321007A */ beq $t9, $at, .L8002D8AC -/* 02E2C4 8002D6C4 3C0D8012 */ lui $t5, %hi(D_8011B0C4) # $t5, 0x8012 -/* 02E2C8 8002D6C8 8DADB0C4 */ lw $t5, %lo(D_8011B0C4)($t5) -/* 02E2CC 8002D6CC 3C108012 */ lui $s0, %hi(D_8011B0D0) # $s0, 0x8012 -/* 02E2D0 8002D6D0 15A00076 */ bnez $t5, .L8002D8AC -/* 02E2D4 8002D6D4 3C0E8012 */ lui $t6, %hi(D_8011B0C8) # $t6, 0x8012 -/* 02E2D8 8002D6D8 8DCEB0C8 */ lw $t6, %lo(D_8011B0C8)($t6) -/* 02E2DC 8002D6DC 2610B0D0 */ addiu $s0, %lo(D_8011B0D0) # addiu $s0, $s0, -0x4f30 -/* 02E2E0 8002D6E0 AE0E0000 */ sw $t6, ($s0) -/* 02E2E4 8002D6E4 8C980040 */ lw $t8, 0x40($a0) -/* 02E2E8 8002D6E8 84B20008 */ lh $s2, 8($a1) -/* 02E2EC 8002D6EC 87190036 */ lh $t9, 0x36($t8) -/* 02E2F0 8002D6F0 24010001 */ li $at, 1 -/* 02E2F4 8002D6F4 17210010 */ bne $t9, $at, .L8002D738 -/* 02E2F8 8002D6F8 25CE0002 */ addiu $t6, $t6, 2 -/* 02E2FC 8002D6FC AE0E0000 */ sw $t6, ($s0) -/* 02E300 8002D700 8C860014 */ lw $a2, 0x14($a0) -/* 02E304 8002D704 C48E0010 */ lwc1 $f14, 0x10($a0) -/* 02E308 8002D708 C48C000C */ lwc1 $f12, 0xc($a0) -/* 02E30C 8002D70C 0C0198D2 */ jal func_80066348 -/* 02E310 8002D710 00000000 */ nop -/* 02E314 8002D714 3C014440 */ li $at, 0x44400000 # 768.000000 -/* 02E318 8002D718 44812000 */ mtc1 $at, $f4 -/* 02E31C 8002D71C 8FAF0044 */ lw $t7, 0x44($sp) -/* 02E320 8002D720 4600203C */ c.lt.s $f4, $f0 -/* 02E324 8002D724 00000000 */ nop -/* 02E328 8002D728 45000003 */ bc1f .L8002D738 -/* 02E32C 8002D72C 00000000 */ nop -/* 02E330 8002D730 85F2000A */ lh $s2, 0xa($t7) -/* 02E334 8002D734 00000000 */ nop -.L8002D738: -/* 02E338 8002D738 8E020000 */ lw $v0, ($s0) -/* 02E33C 8002D73C 3C198012 */ lui $t9, 0x8012 -/* 02E340 8002D740 0002C080 */ sll $t8, $v0, 2 -/* 02E344 8002D744 0338C821 */ addu $t9, $t9, $t8 -/* 02E348 8002D748 8F39D350 */ lw $t9, -0x2cb0($t9) -/* 02E34C 8002D74C 3C138012 */ lui $s3, %hi(D_8011D360) # $s3, 0x8012 -/* 02E350 8002D750 2673D360 */ addiu $s3, %lo(D_8011D360) # addiu $s3, $s3, -0x2ca0 -/* 02E354 8002D754 3C0D8012 */ lui $t5, 0x8012 -/* 02E358 8002D758 01B86821 */ addu $t5, $t5, $t8 -/* 02E35C 8002D75C AE790000 */ sw $t9, ($s3) -/* 02E360 8002D760 8DADD320 */ lw $t5, -0x2ce0($t5) -/* 02E364 8002D764 3C158012 */ lui $s5, %hi(D_8011D330) # $s5, 0x8012 -/* 02E368 8002D768 26B5D330 */ addiu $s5, %lo(D_8011D330) # addiu $s5, $s5, -0x2cd0 -/* 02E36C 8002D76C 3C0E8012 */ lui $t6, 0x8012 -/* 02E370 8002D770 01D87021 */ addu $t6, $t6, $t8 -/* 02E374 8002D774 AEAD0000 */ sw $t5, ($s5) -/* 02E378 8002D778 8DCED338 */ lw $t6, -0x2cc8($t6) -/* 02E37C 8002D77C 3C168012 */ lui $s6, %hi(D_8011D348) # $s6, 0x8012 -/* 02E380 8002D780 8FAF0044 */ lw $t7, 0x44($sp) -/* 02E384 8002D784 26D6D348 */ addiu $s6, %lo(D_8011D348) # addiu $s6, $s6, -0x2cb8 -/* 02E388 8002D788 AECE0000 */ sw $t6, ($s6) -/* 02E38C 8002D78C 85F8000A */ lh $t8, 0xa($t7) -/* 02E390 8002D790 001288C0 */ sll $s1, $s2, 3 -/* 02E394 8002D794 0258082A */ slt $at, $s2, $t8 -/* 02E398 8002D798 10200044 */ beqz $at, .L8002D8AC -/* 02E39C 8002D79C 3C1E0400 */ lui $fp, 0x400 -/* 02E3A0 8002D7A0 3C108012 */ lui $s0, %hi(D_8011B0A0) # $s0, 0x8012 -/* 02E3A4 8002D7A4 2610B0A0 */ addiu $s0, %lo(D_8011B0A0) # addiu $s0, $s0, -0x4f60 -/* 02E3A8 8002D7A8 2417000A */ li $s7, 10 -/* 02E3AC 8002D7AC 3C148000 */ lui $s4, 0x8000 -.L8002D7B0: -/* 02E3B0 8002D7B0 8E790000 */ lw $t9, ($s3) -/* 02E3B4 8002D7B4 02002025 */ move $a0, $s0 -/* 02E3B8 8002D7B8 03316821 */ addu $t5, $t9, $s1 -/* 02E3BC 8002D7BC 8DA50000 */ lw $a1, ($t5) -/* 02E3C0 8002D7C0 0C01ED32 */ jal func_8007B4C8 -/* 02E3C4 8002D7C4 02E03025 */ move $a2, $s7 -/* 02E3C8 8002D7C8 8E6E0000 */ lw $t6, ($s3) -/* 02E3CC 8002D7CC 8EAD0000 */ lw $t5, ($s5) -/* 02E3D0 8002D7D0 01D11821 */ addu $v1, $t6, $s1 -/* 02E3D4 8002D7D4 84660006 */ lh $a2, 6($v1) -/* 02E3D8 8002D7D8 84650004 */ lh $a1, 4($v1) -/* 02E3DC 8002D7DC 00D70019 */ multu $a2, $s7 -/* 02E3E0 8002D7E0 846F000C */ lh $t7, 0xc($v1) -/* 02E3E4 8002D7E4 8478000E */ lh $t8, 0xe($v1) -/* 02E3E8 8002D7E8 01E53823 */ subu $a3, $t7, $a1 -/* 02E3EC 8002D7EC 8ECF0000 */ lw $t7, ($s6) -/* 02E3F0 8002D7F0 0005C900 */ sll $t9, $a1, 4 -/* 02E3F4 8002D7F4 8E020000 */ lw $v0, ($s0) -/* 02E3F8 8002D7F8 032D5821 */ addu $t3, $t9, $t5 -/* 02E3FC 8002D7FC 03062023 */ subu $a0, $t8, $a2 -/* 02E400 8002D800 2499FFFF */ addiu $t9, $a0, -1 -/* 02E404 8002D804 001968C0 */ sll $t5, $t9, 3 -/* 02E408 8002D808 24580008 */ addiu $t8, $v0, 8 -/* 02E40C 8002D80C 00007012 */ mflo $t6 -/* 02E410 8002D810 01CF6021 */ addu $t4, $t6, $t7 -/* 02E414 8002D814 01944821 */ addu $t1, $t4, $s4 -/* 02E418 8002D818 312E0006 */ andi $t6, $t1, 6 -/* 02E41C 8002D81C 01AE7825 */ or $t7, $t5, $t6 -/* 02E420 8002D820 AE180000 */ sw $t8, ($s0) -/* 02E424 8002D824 31F800FF */ andi $t8, $t7, 0xff -/* 02E428 8002D828 0018CC00 */ sll $t9, $t8, 0x10 -/* 02E42C 8002D82C 000470C0 */ sll $t6, $a0, 3 -/* 02E430 8002D830 01C47821 */ addu $t7, $t6, $a0 -/* 02E434 8002D834 000FC040 */ sll $t8, $t7, 1 -/* 02E438 8002D838 033E6825 */ or $t5, $t9, $fp -/* 02E43C 8002D83C 27190008 */ addiu $t9, $t8, 8 -/* 02E440 8002D840 332EFFFF */ andi $t6, $t9, 0xffff -/* 02E444 8002D844 01AE7825 */ or $t7, $t5, $t6 -/* 02E448 8002D848 AC4F0000 */ sw $t7, ($v0) -/* 02E44C 8002D84C AC490004 */ sw $t1, 4($v0) -/* 02E450 8002D850 8E020000 */ lw $v0, ($s0) -/* 02E454 8002D854 24F9FFFF */ addiu $t9, $a3, -1 -/* 02E458 8002D858 00196900 */ sll $t5, $t9, 4 -/* 02E45C 8002D85C 35AE0001 */ ori $t6, $t5, 1 -/* 02E460 8002D860 24580008 */ addiu $t8, $v0, 8 -/* 02E464 8002D864 AE180000 */ sw $t8, ($s0) -/* 02E468 8002D868 31CF00FF */ andi $t7, $t6, 0xff -/* 02E46C 8002D86C 000FC400 */ sll $t8, $t7, 0x10 -/* 02E470 8002D870 3C010500 */ lui $at, 0x500 -/* 02E474 8002D874 0301C825 */ or $t9, $t8, $at -/* 02E478 8002D878 00076900 */ sll $t5, $a3, 4 -/* 02E47C 8002D87C 31AEFFFF */ andi $t6, $t5, 0xffff -/* 02E480 8002D880 032E7825 */ or $t7, $t9, $t6 -/* 02E484 8002D884 0174C021 */ addu $t8, $t3, $s4 -/* 02E488 8002D888 AC580004 */ sw $t8, 4($v0) -/* 02E48C 8002D88C AC4F0000 */ sw $t7, ($v0) -/* 02E490 8002D890 8FAD0044 */ lw $t5, 0x44($sp) -/* 02E494 8002D894 26520001 */ addiu $s2, $s2, 1 -/* 02E498 8002D898 85B9000A */ lh $t9, 0xa($t5) -/* 02E49C 8002D89C 26310008 */ addiu $s1, $s1, 8 -/* 02E4A0 8002D8A0 0259082A */ slt $at, $s2, $t9 -/* 02E4A4 8002D8A4 1420FFC2 */ bnez $at, .L8002D7B0 -/* 02E4A8 8002D8A8 00000000 */ nop -.L8002D8AC: -/* 02E4AC 8002D8AC 8FBF003C */ lw $ra, 0x3c($sp) -.L8002D8B0: -/* 02E4B0 8002D8B0 8FB00018 */ lw $s0, 0x18($sp) -/* 02E4B4 8002D8B4 8FB1001C */ lw $s1, 0x1c($sp) -/* 02E4B8 8002D8B8 8FB20020 */ lw $s2, 0x20($sp) -/* 02E4BC 8002D8BC 8FB30024 */ lw $s3, 0x24($sp) -/* 02E4C0 8002D8C0 8FB40028 */ lw $s4, 0x28($sp) -/* 02E4C4 8002D8C4 8FB5002C */ lw $s5, 0x2c($sp) -/* 02E4C8 8002D8C8 8FB60030 */ lw $s6, 0x30($sp) -/* 02E4CC 8002D8CC 8FB70034 */ lw $s7, 0x34($sp) -/* 02E4D0 8002D8D0 8FBE0038 */ lw $fp, 0x38($sp) -/* 02E4D4 8002D8D4 03E00008 */ jr $ra -/* 02E4D8 8002D8D8 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_8002D8DC -/* 02E4DC 8002D8DC 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 02E4E0 8002D8E0 3C0E8012 */ lui $t6, %hi(D_8011B0C8) # $t6, 0x8012 -/* 02E4E4 8002D8E4 8DCEB0C8 */ lw $t6, %lo(D_8011B0C8)($t6) -/* 02E4E8 8002D8E8 3C038012 */ lui $v1, %hi(D_8011B0CC) # $v1, 0x8012 -/* 02E4EC 8002D8EC 2463B0CC */ addiu $v1, %lo(D_8011B0CC) # addiu $v1, $v1, -0x4f34 -/* 02E4F0 8002D8F0 AFBE0050 */ sw $fp, 0x50($sp) -/* 02E4F4 8002D8F4 24010001 */ li $at, 1 -/* 02E4F8 8002D8F8 0080F025 */ move $fp, $a0 -/* 02E4FC 8002D8FC AFBF0054 */ sw $ra, 0x54($sp) -/* 02E500 8002D900 AFB7004C */ sw $s7, 0x4c($sp) -/* 02E504 8002D904 AFB60048 */ sw $s6, 0x48($sp) -/* 02E508 8002D908 AFB50044 */ sw $s5, 0x44($sp) -/* 02E50C 8002D90C AFB40040 */ sw $s4, 0x40($sp) -/* 02E510 8002D910 AFB3003C */ sw $s3, 0x3c($sp) -/* 02E514 8002D914 AFB20038 */ sw $s2, 0x38($sp) -/* 02E518 8002D918 AFB10034 */ sw $s1, 0x34($sp) -/* 02E51C 8002D91C AFB00030 */ sw $s0, 0x30($sp) -/* 02E520 8002D920 E7B90028 */ swc1 $f25, 0x28($sp) -/* 02E524 8002D924 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 02E528 8002D928 E7B70020 */ swc1 $f23, 0x20($sp) -/* 02E52C 8002D92C E7B60024 */ swc1 $f22, 0x24($sp) -/* 02E530 8002D930 E7B50018 */ swc1 $f21, 0x18($sp) -/* 02E534 8002D934 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 02E538 8002D938 AFA5009C */ sw $a1, 0x9c($sp) -/* 02E53C 8002D93C AFA600A0 */ sw $a2, 0xa0($sp) -/* 02E540 8002D940 14810003 */ bne $a0, $at, .L8002D950 -/* 02E544 8002D944 AC6E0000 */ sw $t6, ($v1) -/* 02E548 8002D948 25D80002 */ addiu $t8, $t6, 2 -/* 02E54C 8002D94C AC780000 */ sw $t8, ($v1) -.L8002D950: -/* 02E550 8002D950 8C620000 */ lw $v0, ($v1) -/* 02E554 8002D954 3C088012 */ lui $t0, 0x8012 -/* 02E558 8002D958 0002C880 */ sll $t9, $v0, 2 -/* 02E55C 8002D95C 01194021 */ addu $t0, $t0, $t9 -/* 02E560 8002D960 8D08D320 */ lw $t0, -0x2ce0($t0) -/* 02E564 8002D964 3C098012 */ lui $t1, 0x8012 -/* 02E568 8002D968 3C018012 */ lui $at, %hi(D_8011D330) # $at, 0x8012 -/* 02E56C 8002D96C 01394821 */ addu $t1, $t1, $t9 -/* 02E570 8002D970 8D29D338 */ lw $t1, -0x2cc8($t1) -/* 02E574 8002D974 3C0A8012 */ lui $t2, 0x8012 -/* 02E578 8002D978 AC28D330 */ sw $t0, %lo(D_8011D330)($at) -/* 02E57C 8002D97C 3C018012 */ lui $at, %hi(D_8011D348) # $at, 0x8012 -/* 02E580 8002D980 01595021 */ addu $t2, $t2, $t9 -/* 02E584 8002D984 8D4AD350 */ lw $t2, -0x2cb0($t2) -/* 02E588 8002D988 AC29D348 */ sw $t1, %lo(D_8011D348)($at) -/* 02E58C 8002D98C 3C018012 */ lui $at, %hi(D_8011D360) # $at, 0x8012 -/* 02E590 8002D990 AC2AD360 */ sw $t2, %lo(D_8011D360)($at) -/* 02E594 8002D994 3C018012 */ lui $at, %hi(D_8011D364) # $at, 0x8012 -/* 02E598 8002D998 AC20D364 */ sw $zero, %lo(D_8011D364)($at) -/* 02E59C 8002D99C 3C018012 */ lui $at, %hi(D_8011D368) # $at, 0x8012 -/* 02E5A0 8002D9A0 AC20D368 */ sw $zero, %lo(D_8011D368)($at) -/* 02E5A4 8002D9A4 3C018012 */ lui $at, %hi(D_8011D36C) # $at, 0x8012 -/* 02E5A8 8002D9A8 0C019884 */ jal func_80066210 -/* 02E5AC 8002D9AC AC20D36C */ sw $zero, %lo(D_8011D36C)($at) -/* 02E5B0 8002D9B0 0040B025 */ move $s6, $v0 -/* 02E5B4 8002D9B4 27A40094 */ addiu $a0, $sp, 0x94 -/* 02E5B8 8002D9B8 0C003A62 */ jal func_8000E988 -/* 02E5BC 8002D9BC 27A50090 */ addiu $a1, $sp, 0x90 -/* 02E5C0 8002D9C0 8FAB0094 */ lw $t3, 0x94($sp) -/* 02E5C4 8002D9C4 8FAC0090 */ lw $t4, 0x90($sp) -/* 02E5C8 8002D9C8 AFA20078 */ sw $v0, 0x78($sp) -/* 02E5CC 8002D9CC 016C082A */ slt $at, $t3, $t4 -/* 02E5D0 8002D9D0 102000F3 */ beqz $at, .L8002DDA0 -/* 02E5D4 8002D9D4 24170005 */ li $s7, 5 -/* 02E5D8 8002D9D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02E5DC 8002D9DC 3C158012 */ lui $s5, %hi(D_8011D0D4) # $s5, 0x8012 -/* 02E5E0 8002D9E0 4481C000 */ mtc1 $at, $f24 -/* 02E5E4 8002D9E4 4480B000 */ mtc1 $zero, $f22 -/* 02E5E8 8002D9E8 26B5D0D4 */ addiu $s5, %lo(D_8011D0D4) # addiu $s5, $s5, -0x2f2c -/* 02E5EC 8002D9EC 24140002 */ li $s4, 2 -/* 02E5F0 8002D9F0 2413FFFF */ li $s3, -1 -/* 02E5F4 8002D9F4 8FAE0094 */ lw $t6, 0x94($sp) -.L8002D9F8: -/* 02E5F8 8002D9F8 8FAD0078 */ lw $t5, 0x78($sp) -/* 02E5FC 8002D9FC 000E7880 */ sll $t7, $t6, 2 -/* 02E600 8002DA00 01AFC021 */ addu $t8, $t5, $t7 -/* 02E604 8002DA04 8F110000 */ lw $s1, ($t8) -/* 02E608 8002DA08 25D90001 */ addiu $t9, $t6, 1 -/* 02E60C 8002DA0C 8E320040 */ lw $s2, 0x40($s1) -/* 02E610 8002DA10 8E300058 */ lw $s0, 0x58($s1) -/* 02E614 8002DA14 8E220050 */ lw $v0, 0x50($s1) -/* 02E618 8002DA18 AFB90094 */ sw $t9, 0x94($sp) -/* 02E61C 8002DA1C 86230006 */ lh $v1, 6($s1) -/* 02E620 8002DA20 00000000 */ nop -/* 02E624 8002DA24 30688000 */ andi $t0, $v1, 0x8000 -/* 02E628 8002DA28 150000D8 */ bnez $t0, .L8002DD8C -/* 02E62C 8002DA2C 8FA90094 */ lw $t1, 0x94($sp) -/* 02E630 8002DA30 1040000F */ beqz $v0, .L8002DA70 -/* 02E634 8002DA34 306A4000 */ andi $t2, $v1, 0x4000 -/* 02E638 8002DA38 C4440000 */ lwc1 $f4, ($v0) -/* 02E63C 8002DA3C 00000000 */ nop -/* 02E640 8002DA40 4604B03C */ c.lt.s $f22, $f4 -/* 02E644 8002DA44 00000000 */ nop -/* 02E648 8002DA48 45000009 */ bc1f .L8002DA70 -/* 02E64C 8002DA4C 306A4000 */ andi $t2, $v1, 0x4000 -/* 02E650 8002DA50 86490032 */ lh $t1, 0x32($s2) -/* 02E654 8002DA54 00000000 */ nop -/* 02E658 8002DA58 17C90005 */ bne $fp, $t1, .L8002DA70 -/* 02E65C 8002DA5C 306A4000 */ andi $t2, $v1, 0x4000 -/* 02E660 8002DA60 A4530008 */ sh $s3, 8($v0) -/* 02E664 8002DA64 86230006 */ lh $v1, 6($s1) -/* 02E668 8002DA68 00000000 */ nop -/* 02E66C 8002DA6C 306A4000 */ andi $t2, $v1, 0x4000 -.L8002DA70: -/* 02E670 8002DA70 11400002 */ beqz $t2, .L8002DA7C -/* 02E674 8002DA74 00000000 */ nop -/* 02E678 8002DA78 00001025 */ move $v0, $zero -.L8002DA7C: -/* 02E67C 8002DA7C 10400005 */ beqz $v0, .L8002DA94 -/* 02E680 8002DA80 00000000 */ nop -/* 02E684 8002DA84 864B0032 */ lh $t3, 0x32($s2) -/* 02E688 8002DA88 00000000 */ nop -/* 02E68C 8002DA8C 128B0007 */ beq $s4, $t3, .L8002DAAC -/* 02E690 8002DA90 00000000 */ nop -.L8002DA94: -/* 02E694 8002DA94 1200000D */ beqz $s0, .L8002DACC -/* 02E698 8002DA98 00000000 */ nop -/* 02E69C 8002DA9C 864C0036 */ lh $t4, 0x36($s2) -/* 02E6A0 8002DAA0 00000000 */ nop -/* 02E6A4 8002DAA4 168C0009 */ bne $s4, $t4, .L8002DACC -/* 02E6A8 8002DAA8 00000000 */ nop -.L8002DAAC: -/* 02E6AC 8002DAAC C62C000C */ lwc1 $f12, 0xc($s1) -/* 02E6B0 8002DAB0 C62E0010 */ lwc1 $f14, 0x10($s1) -/* 02E6B4 8002DAB4 8E260014 */ lw $a2, 0x14($s1) -/* 02E6B8 8002DAB8 0C0198D2 */ jal func_80066348 -/* 02E6BC 8002DABC AFA2006C */ sw $v0, 0x6c($sp) -/* 02E6C0 8002DAC0 8FA2006C */ lw $v0, 0x6c($sp) -/* 02E6C4 8002DAC4 10000003 */ b .L8002DAD4 -/* 02E6C8 8002DAC8 46000506 */ mov.s $f20, $f0 -.L8002DACC: -/* 02E6CC 8002DACC 4480A000 */ mtc1 $zero, $f20 -/* 02E6D0 8002DAD0 00000000 */ nop -.L8002DAD4: -/* 02E6D4 8002DAD4 1040004C */ beqz $v0, .L8002DC08 -/* 02E6D8 8002DAD8 00000000 */ nop -/* 02E6DC 8002DADC C4460000 */ lwc1 $f6, ($v0) -/* 02E6E0 8002DAE0 00000000 */ nop -/* 02E6E4 8002DAE4 4606B03C */ c.lt.s $f22, $f6 -/* 02E6E8 8002DAE8 00000000 */ nop -/* 02E6EC 8002DAEC 45000046 */ bc1f .L8002DC08 -/* 02E6F0 8002DAF0 00000000 */ nop -/* 02E6F4 8002DAF4 864D0032 */ lh $t5, 0x32($s2) -/* 02E6F8 8002DAF8 00000000 */ nop -/* 02E6FC 8002DAFC 17CD0042 */ bne $fp, $t5, .L8002DC08 -/* 02E700 8002DB00 00000000 */ nop -/* 02E704 8002DB04 E6B80000 */ swc1 $f24, ($s5) -/* 02E708 8002DB08 A4530008 */ sh $s3, 8($v0) -/* 02E70C 8002DB0C 864F0032 */ lh $t7, 0x32($s2) -/* 02E710 8002DB10 00002025 */ move $a0, $zero -/* 02E714 8002DB14 168F0019 */ bne $s4, $t7, .L8002DB7C -/* 02E718 8002DB18 00000000 */ nop -/* 02E71C 8002DB1C 1AC00017 */ blez $s6, .L8002DB7C -/* 02E720 8002DB20 2AC10004 */ slti $at, $s6, 4 -/* 02E724 8002DB24 10200015 */ beqz $at, .L8002DB7C -/* 02E728 8002DB28 00000000 */ nop -/* 02E72C 8002DB2C 86220048 */ lh $v0, 0x48($s1) -/* 02E730 8002DB30 24010001 */ li $at, 1 -/* 02E734 8002DB34 1441000B */ bne $v0, $at, .L8002DB64 -/* 02E738 8002DB38 00000000 */ nop -/* 02E73C 8002DB3C 8E380064 */ lw $t8, 0x64($s1) -/* 02E740 8002DB40 00002825 */ move $a1, $zero -/* 02E744 8002DB44 87020000 */ lh $v0, ($t8) -/* 02E748 8002DB48 00000000 */ nop -/* 02E74C 8002DB4C 10530026 */ beq $v0, $s3, .L8002DBE8 -/* 02E750 8002DB50 00000000 */ nop -/* 02E754 8002DB54 0C00B88D */ jal func_8002E234 -/* 02E758 8002DB58 02202025 */ move $a0, $s1 -/* 02E75C 8002DB5C 10000022 */ b .L8002DBE8 -/* 02E760 8002DB60 24040001 */ li $a0, 1 -.L8002DB64: -/* 02E764 8002DB64 16E20020 */ bne $s7, $v0, .L8002DBE8 -/* 02E768 8002DB68 00002825 */ move $a1, $zero -/* 02E76C 8002DB6C 0C00B88D */ jal func_8002E234 -/* 02E770 8002DB70 02202025 */ move $a0, $s1 -/* 02E774 8002DB74 1000001C */ b .L8002DBE8 -/* 02E778 8002DB78 24040001 */ li $a0, 1 -.L8002DB7C: -/* 02E77C 8002DB7C 8643004A */ lh $v1, 0x4a($s2) -/* 02E780 8002DB80 00002825 */ move $a1, $zero -/* 02E784 8002DB84 44834000 */ mtc1 $v1, $f8 -/* 02E788 8002DB88 00000000 */ nop -/* 02E78C 8002DB8C 46804020 */ cvt.s.w $f0, $f8 -/* 02E790 8002DB90 4600A03C */ c.lt.s $f20, $f0 -/* 02E794 8002DB94 00000000 */ nop -/* 02E798 8002DB98 45000013 */ bc1f .L8002DBE8 -/* 02E79C 8002DB9C 00000000 */ nop -/* 02E7A0 8002DBA0 8642004C */ lh $v0, 0x4c($s2) -/* 02E7A4 8002DBA4 00000000 */ nop -/* 02E7A8 8002DBA8 44825000 */ mtc1 $v0, $f10 -/* 02E7AC 8002DBAC 00627023 */ subu $t6, $v1, $v0 -/* 02E7B0 8002DBB0 46805420 */ cvt.s.w $f16, $f10 -/* 02E7B4 8002DBB4 4614803C */ c.lt.s $f16, $f20 -/* 02E7B8 8002DBB8 00000000 */ nop -/* 02E7BC 8002DBBC 45000007 */ bc1f .L8002DBDC -/* 02E7C0 8002DBC0 00000000 */ nop -/* 02E7C4 8002DBC4 448E2000 */ mtc1 $t6, $f4 -/* 02E7C8 8002DBC8 46140481 */ sub.s $f18, $f0, $f20 -/* 02E7CC 8002DBCC 468021A0 */ cvt.s.w $f6, $f4 -/* 02E7D0 8002DBD0 00000000 */ nop -/* 02E7D4 8002DBD4 46069203 */ div.s $f8, $f18, $f6 -/* 02E7D8 8002DBD8 E6A80000 */ swc1 $f8, ($s5) -.L8002DBDC: -/* 02E7DC 8002DBDC 0C00B88D */ jal func_8002E234 -/* 02E7E0 8002DBE0 02202025 */ move $a0, $s1 -/* 02E7E4 8002DBE4 24040001 */ li $a0, 1 -.L8002DBE8: -/* 02E7E8 8002DBE8 14800007 */ bnez $a0, .L8002DC08 -/* 02E7EC 8002DBEC 00000000 */ nop -/* 02E7F0 8002DBF0 8E390054 */ lw $t9, 0x54($s1) -/* 02E7F4 8002DBF4 00000000 */ nop -/* 02E7F8 8002DBF8 13200003 */ beqz $t9, .L8002DC08 -/* 02E7FC 8002DBFC 00000000 */ nop -/* 02E800 8002DC00 0C00B78C */ jal func_8002DE30 -/* 02E804 8002DC04 02202025 */ move $a0, $s1 -.L8002DC08: -/* 02E808 8002DC08 12000060 */ beqz $s0, .L8002DD8C -/* 02E80C 8002DC0C 8FA90094 */ lw $t1, 0x94($sp) -/* 02E810 8002DC10 C60A0000 */ lwc1 $f10, ($s0) -/* 02E814 8002DC14 8FA8009C */ lw $t0, 0x9c($sp) -/* 02E818 8002DC18 460AB03C */ c.lt.s $f22, $f10 -/* 02E81C 8002DC1C 00000000 */ nop -/* 02E820 8002DC20 4500005A */ bc1f .L8002DD8C -/* 02E824 8002DC24 8FA90094 */ lw $t1, 0x94($sp) -/* 02E828 8002DC28 86490036 */ lh $t1, 0x36($s2) -/* 02E82C 8002DC2C 00000000 */ nop -/* 02E830 8002DC30 15090056 */ bne $t0, $t1, .L8002DD8C -/* 02E834 8002DC34 8FA90094 */ lw $t1, 0x94($sp) -/* 02E838 8002DC38 A6130008 */ sh $s3, 8($s0) -/* 02E83C 8002DC3C E6B80000 */ swc1 $f24, ($s5) -/* 02E840 8002DC40 8E040004 */ lw $a0, 4($s0) -/* 02E844 8002DC44 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 02E848 8002DC48 10800019 */ beqz $a0, .L8002DCB0 -/* 02E84C 8002DC4C 00000000 */ nop -/* 02E850 8002DC50 11400017 */ beqz $t2, .L8002DCB0 -/* 02E854 8002DC54 00000000 */ nop -/* 02E858 8002DC58 948B0012 */ lhu $t3, 0x12($a0) -/* 02E85C 8002DC5C 24010100 */ li $at, 256 -/* 02E860 8002DC60 11610013 */ beq $t3, $at, .L8002DCB0 -/* 02E864 8002DC64 00000000 */ nop -/* 02E868 8002DC68 860C000C */ lh $t4, 0xc($s0) -/* 02E86C 8002DC6C 860D000E */ lh $t5, 0xe($s0) -/* 02E870 8002DC70 00000000 */ nop -/* 02E874 8002DC74 018D7821 */ addu $t7, $t4, $t5 -/* 02E878 8002DC78 A60F000C */ sh $t7, 0xc($s0) -/* 02E87C 8002DC7C 8603000C */ lh $v1, 0xc($s0) -/* 02E880 8002DC80 94820012 */ lhu $v0, 0x12($a0) -/* 02E884 8002DC84 00000000 */ nop -/* 02E888 8002DC88 0043082A */ slt $at, $v0, $v1 -/* 02E88C 8002DC8C 10200008 */ beqz $at, .L8002DCB0 -/* 02E890 8002DC90 0062C023 */ subu $t8, $v1, $v0 -.L8002DC94: -/* 02E894 8002DC94 A618000C */ sh $t8, 0xc($s0) -/* 02E898 8002DC98 8603000C */ lh $v1, 0xc($s0) -/* 02E89C 8002DC9C 94820012 */ lhu $v0, 0x12($a0) -/* 02E8A0 8002DCA0 00000000 */ nop -/* 02E8A4 8002DCA4 0043082A */ slt $at, $v0, $v1 -/* 02E8A8 8002DCA8 1420FFFA */ bnez $at, .L8002DC94 -/* 02E8AC 8002DCAC 0062C023 */ subu $t8, $v1, $v0 -.L8002DCB0: -/* 02E8B0 8002DCB0 864E0032 */ lh $t6, 0x32($s2) -/* 02E8B4 8002DCB4 00000000 */ nop -/* 02E8B8 8002DCB8 168E0019 */ bne $s4, $t6, .L8002DD20 -/* 02E8BC 8002DCBC 00000000 */ nop -/* 02E8C0 8002DCC0 1AC00017 */ blez $s6, .L8002DD20 -/* 02E8C4 8002DCC4 2AC10004 */ slti $at, $s6, 4 -/* 02E8C8 8002DCC8 10200015 */ beqz $at, .L8002DD20 -/* 02E8CC 8002DCCC 00000000 */ nop -/* 02E8D0 8002DCD0 86220048 */ lh $v0, 0x48($s1) -/* 02E8D4 8002DCD4 24010001 */ li $at, 1 -/* 02E8D8 8002DCD8 1441000B */ bne $v0, $at, .L8002DD08 -/* 02E8DC 8002DCDC 00000000 */ nop -/* 02E8E0 8002DCE0 8E390064 */ lw $t9, 0x64($s1) -/* 02E8E4 8002DCE4 02202025 */ move $a0, $s1 -/* 02E8E8 8002DCE8 87220000 */ lh $v0, ($t9) -/* 02E8EC 8002DCEC 00000000 */ nop -/* 02E8F0 8002DCF0 10530026 */ beq $v0, $s3, .L8002DD8C -/* 02E8F4 8002DCF4 8FA90094 */ lw $t1, 0x94($sp) -/* 02E8F8 8002DCF8 0C00B88D */ jal func_8002E234 -/* 02E8FC 8002DCFC 24050001 */ li $a1, 1 -/* 02E900 8002DD00 10000022 */ b .L8002DD8C -/* 02E904 8002DD04 8FA90094 */ lw $t1, 0x94($sp) -.L8002DD08: -/* 02E908 8002DD08 16E2001F */ bne $s7, $v0, .L8002DD88 -/* 02E90C 8002DD0C 02202025 */ move $a0, $s1 -/* 02E910 8002DD10 0C00B88D */ jal func_8002E234 -/* 02E914 8002DD14 24050001 */ li $a1, 1 -/* 02E918 8002DD18 1000001C */ b .L8002DD8C -/* 02E91C 8002DD1C 8FA90094 */ lw $t1, 0x94($sp) -.L8002DD20: -/* 02E920 8002DD20 8643004A */ lh $v1, 0x4a($s2) -/* 02E924 8002DD24 02202025 */ move $a0, $s1 -/* 02E928 8002DD28 44838000 */ mtc1 $v1, $f16 -/* 02E92C 8002DD2C 00000000 */ nop -/* 02E930 8002DD30 46808020 */ cvt.s.w $f0, $f16 -/* 02E934 8002DD34 4600A03C */ c.lt.s $f20, $f0 -/* 02E938 8002DD38 00000000 */ nop -/* 02E93C 8002DD3C 45000013 */ bc1f .L8002DD8C -/* 02E940 8002DD40 8FA90094 */ lw $t1, 0x94($sp) -/* 02E944 8002DD44 8642004C */ lh $v0, 0x4c($s2) -/* 02E948 8002DD48 00000000 */ nop -/* 02E94C 8002DD4C 44822000 */ mtc1 $v0, $f4 -/* 02E950 8002DD50 00624023 */ subu $t0, $v1, $v0 -/* 02E954 8002DD54 468024A0 */ cvt.s.w $f18, $f4 -/* 02E958 8002DD58 4614903C */ c.lt.s $f18, $f20 -/* 02E95C 8002DD5C 00000000 */ nop -/* 02E960 8002DD60 45000007 */ bc1f .L8002DD80 -/* 02E964 8002DD64 00000000 */ nop -/* 02E968 8002DD68 44884000 */ mtc1 $t0, $f8 -/* 02E96C 8002DD6C 46140181 */ sub.s $f6, $f0, $f20 -/* 02E970 8002DD70 468042A0 */ cvt.s.w $f10, $f8 -/* 02E974 8002DD74 00000000 */ nop -/* 02E978 8002DD78 460A3403 */ div.s $f16, $f6, $f10 -/* 02E97C 8002DD7C E6B00000 */ swc1 $f16, ($s5) -.L8002DD80: -/* 02E980 8002DD80 0C00B88D */ jal func_8002E234 -/* 02E984 8002DD84 24050001 */ li $a1, 1 -.L8002DD88: -/* 02E988 8002DD88 8FA90094 */ lw $t1, 0x94($sp) -.L8002DD8C: -/* 02E98C 8002DD8C 8FAA0090 */ lw $t2, 0x90($sp) -/* 02E990 8002DD90 00000000 */ nop -/* 02E994 8002DD94 012A082A */ slt $at, $t1, $t2 -/* 02E998 8002DD98 1420FF17 */ bnez $at, .L8002D9F8 -/* 02E99C 8002DD9C 8FAE0094 */ lw $t6, 0x94($sp) -.L8002DDA0: -/* 02E9A0 8002DDA0 3C038012 */ lui $v1, %hi(D_8011D364) # $v1, 0x8012 -/* 02E9A4 8002DDA4 2463D364 */ addiu $v1, %lo(D_8011D364) # addiu $v1, $v1, -0x2c9c -/* 02E9A8 8002DDA8 3C028012 */ lui $v0, %hi(D_8011D360) # $v0, 0x8012 -/* 02E9AC 8002DDAC 8C6D0000 */ lw $t5, ($v1) -/* 02E9B0 8002DDB0 2442D360 */ addiu $v0, %lo(D_8011D360) # addiu $v0, $v0, -0x2ca0 -/* 02E9B4 8002DDB4 8C4C0000 */ lw $t4, ($v0) -/* 02E9B8 8002DDB8 3C0B8012 */ lui $t3, %hi(D_8011D368) # $t3, 0x8012 -/* 02E9BC 8002DDBC 8D6BD368 */ lw $t3, %lo(D_8011D368)($t3) -/* 02E9C0 8002DDC0 000D78C0 */ sll $t7, $t5, 3 -/* 02E9C4 8002DDC4 018FC021 */ addu $t8, $t4, $t7 -/* 02E9C8 8002DDC8 A70B0004 */ sh $t3, 4($t8) -/* 02E9CC 8002DDCC 8C680000 */ lw $t0, ($v1) -/* 02E9D0 8002DDD0 8C590000 */ lw $t9, ($v0) -/* 02E9D4 8002DDD4 3C0E8012 */ lui $t6, %hi(D_8011D36C) # $t6, 0x8012 -/* 02E9D8 8002DDD8 8DCED36C */ lw $t6, %lo(D_8011D36C)($t6) -/* 02E9DC 8002DDDC 000848C0 */ sll $t1, $t0, 3 -/* 02E9E0 8002DDE0 03295021 */ addu $t2, $t9, $t1 -/* 02E9E4 8002DDE4 A54E0006 */ sh $t6, 6($t2) -/* 02E9E8 8002DDE8 8FBF0054 */ lw $ra, 0x54($sp) -/* 02E9EC 8002DDEC 8FBE0050 */ lw $fp, 0x50($sp) -/* 02E9F0 8002DDF0 8FB7004C */ lw $s7, 0x4c($sp) -/* 02E9F4 8002DDF4 8FB60048 */ lw $s6, 0x48($sp) -/* 02E9F8 8002DDF8 8FB50044 */ lw $s5, 0x44($sp) -/* 02E9FC 8002DDFC 8FB40040 */ lw $s4, 0x40($sp) -/* 02EA00 8002DE00 8FB3003C */ lw $s3, 0x3c($sp) -/* 02EA04 8002DE04 8FB20038 */ lw $s2, 0x38($sp) -/* 02EA08 8002DE08 8FB10034 */ lw $s1, 0x34($sp) -/* 02EA0C 8002DE0C 8FB00030 */ lw $s0, 0x30($sp) -/* 02EA10 8002DE10 C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 02EA14 8002DE14 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 02EA18 8002DE18 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 02EA1C 8002DE1C C7B70020 */ lwc1 $f23, 0x20($sp) -/* 02EA20 8002DE20 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 02EA24 8002DE24 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 02EA28 8002DE28 03E00008 */ jr $ra -/* 02EA2C 8002DE2C 27BD0098 */ addiu $sp, $sp, 0x98 - -glabel func_8002DE30 -/* 02EA30 8002DE30 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 02EA34 8002DE34 444EF800 */ cfc1 $t6, $31 -/* 02EA38 8002DE38 AFBF0054 */ sw $ra, 0x54($sp) -/* 02EA3C 8002DE3C 35C10003 */ ori $at, $t6, 3 -/* 02EA40 8002DE40 AFBE0050 */ sw $fp, 0x50($sp) -/* 02EA44 8002DE44 AFB7004C */ sw $s7, 0x4c($sp) -/* 02EA48 8002DE48 AFB60048 */ sw $s6, 0x48($sp) -/* 02EA4C 8002DE4C AFB50044 */ sw $s5, 0x44($sp) -/* 02EA50 8002DE50 AFB40040 */ sw $s4, 0x40($sp) -/* 02EA54 8002DE54 AFB3003C */ sw $s3, 0x3c($sp) -/* 02EA58 8002DE58 AFB20038 */ sw $s2, 0x38($sp) -/* 02EA5C 8002DE5C AFB10034 */ sw $s1, 0x34($sp) -/* 02EA60 8002DE60 AFB00030 */ sw $s0, 0x30($sp) -/* 02EA64 8002DE64 E7B70028 */ swc1 $f23, 0x28($sp) -/* 02EA68 8002DE68 E7B6002C */ swc1 $f22, 0x2c($sp) -/* 02EA6C 8002DE6C E7B50020 */ swc1 $f21, 0x20($sp) -/* 02EA70 8002DE70 E7B40024 */ swc1 $f20, 0x24($sp) -/* 02EA74 8002DE74 38210002 */ xori $at, $at, 2 -/* 02EA78 8002DE78 44C1F800 */ ctc1 $at, $31 -/* 02EA7C 8002DE7C C4840010 */ lwc1 $f4, 0x10($a0) -/* 02EA80 8002DE80 8C850040 */ lw $a1, 0x40($a0) -/* 02EA84 8002DE84 460021A4 */ cvt.w.s $f6, $f4 -/* 02EA88 8002DE88 84AF0044 */ lh $t7, 0x44($a1) -/* 02EA8C 8002DE8C 44023000 */ mfc1 $v0, $f6 -/* 02EA90 8002DE90 2401FFFF */ li $at, -1 -/* 02EA94 8002DE94 004FC021 */ addu $t8, $v0, $t7 -/* 02EA98 8002DE98 AFB80094 */ sw $t8, 0x94($sp) -/* 02EA9C 8002DE9C 84B90042 */ lh $t9, 0x42($a1) -/* 02EAA0 8002DEA0 44CEF800 */ ctc1 $t6, $31 -/* 02EAA4 8002DEA4 00596021 */ addu $t4, $v0, $t9 -/* 02EAA8 8002DEA8 AFAC0090 */ sw $t4, 0x90($sp) -/* 02EAAC 8002DEAC 8483002E */ lh $v1, 0x2e($a0) -/* 02EAB0 8002DEB0 0080B025 */ move $s6, $a0 -/* 02EAB4 8002DEB4 106100CF */ beq $v1, $at, .L8002E1F4 -/* 02EAB8 8002DEB8 0000B825 */ move $s7, $zero -/* 02EABC 8002DEBC 3C014180 */ li $at, 0x41800000 # 16.000000 -/* 02EAC0 8002DEC0 44816000 */ mtc1 $at, $f12 -/* 02EAC4 8002DEC4 C6C0000C */ lwc1 $f0, 0xc($s6) -/* 02EAC8 8002DEC8 C6C20014 */ lwc1 $f2, 0x14($s6) -/* 02EACC 8002DECC 460C0201 */ sub.s $f8, $f0, $f12 -/* 02EAD0 8002DED0 3C10800E */ lui $s0, %hi(D_800DC918) # $s0, 0x800e -/* 02EAD4 8002DED4 4458F800 */ cfc1 $t8, $31 -/* 02EAD8 8002DED8 2610C918 */ addiu $s0, %lo(D_800DC918) # addiu $s0, $s0, -0x36e8 -/* 02EADC 8002DEDC 37010003 */ ori $at, $t8, 3 -/* 02EAE0 8002DEE0 38210002 */ xori $at, $at, 2 -/* 02EAE4 8002DEE4 44C1F800 */ ctc1 $at, $31 -/* 02EAE8 8002DEE8 8E0D0000 */ lw $t5, ($s0) -/* 02EAEC 8002DEEC 460042A4 */ cvt.w.s $f10, $f8 -/* 02EAF0 8002DEF0 8DAE0008 */ lw $t6, 8($t5) -/* 02EAF4 8002DEF4 44D8F800 */ ctc1 $t8, $31 -/* 02EAF8 8002DEF8 00037880 */ sll $t7, $v1, 2 -/* 02EAFC 8002DEFC 460C1401 */ sub.s $f16, $f2, $f12 -/* 02EB00 8002DF00 01E37823 */ subu $t7, $t7, $v1 -/* 02EB04 8002DF04 4459F800 */ cfc1 $t9, $31 -/* 02EB08 8002DF08 44055000 */ mfc1 $a1, $f10 -/* 02EB0C 8002DF0C 37210003 */ ori $at, $t9, 3 -/* 02EB10 8002DF10 38210002 */ xori $at, $at, 2 -/* 02EB14 8002DF14 44C1F800 */ ctc1 $at, $31 -/* 02EB18 8002DF18 000F7880 */ sll $t7, $t7, 2 -/* 02EB1C 8002DF1C 460084A4 */ cvt.w.s $f18, $f16 -/* 02EB20 8002DF20 01CF2021 */ addu $a0, $t6, $t7 -/* 02EB24 8002DF24 44D9F800 */ ctc1 $t9, $31 -/* 02EB28 8002DF28 44069000 */ mfc1 $a2, $f18 -/* 02EB2C 8002DF2C 460C0100 */ add.s $f4, $f0, $f12 -/* 02EB30 8002DF30 AFA3008C */ sw $v1, 0x8c($sp) -/* 02EB34 8002DF34 444CF800 */ cfc1 $t4, $31 -/* 02EB38 8002DF38 00000000 */ nop -/* 02EB3C 8002DF3C 35810003 */ ori $at, $t4, 3 -/* 02EB40 8002DF40 38210002 */ xori $at, $at, 2 -/* 02EB44 8002DF44 44C1F800 */ ctc1 $at, $31 -/* 02EB48 8002DF48 00000000 */ nop -/* 02EB4C 8002DF4C 460021A4 */ cvt.w.s $f6, $f4 -/* 02EB50 8002DF50 44CCF800 */ ctc1 $t4, $31 -/* 02EB54 8002DF54 44073000 */ mfc1 $a3, $f6 -/* 02EB58 8002DF58 460C1200 */ add.s $f8, $f2, $f12 -/* 02EB5C 8002DF5C 444DF800 */ cfc1 $t5, $31 -/* 02EB60 8002DF60 00000000 */ nop -/* 02EB64 8002DF64 35A10003 */ ori $at, $t5, 3 -/* 02EB68 8002DF68 38210002 */ xori $at, $at, 2 -/* 02EB6C 8002DF6C 44C1F800 */ ctc1 $at, $31 -/* 02EB70 8002DF70 00000000 */ nop -/* 02EB74 8002DF74 460042A4 */ cvt.w.s $f10, $f8 -/* 02EB78 8002DF78 440E5000 */ mfc1 $t6, $f10 -/* 02EB7C 8002DF7C 44CDF800 */ ctc1 $t5, $31 -/* 02EB80 8002DF80 0C00C537 */ jal func_800314DC -/* 02EB84 8002DF84 AFAE0010 */ sw $t6, 0x10($sp) -/* 02EB88 8002DF88 8FA3008C */ lw $v1, 0x8c($sp) -/* 02EB8C 8002DF8C 8E0F0000 */ lw $t7, ($s0) -/* 02EB90 8002DF90 0003C900 */ sll $t9, $v1, 4 -/* 02EB94 8002DF94 8DF80004 */ lw $t8, 4($t7) -/* 02EB98 8002DF98 0323C821 */ addu $t9, $t9, $v1 -/* 02EB9C 8002DF9C 0019C880 */ sll $t9, $t9, 2 -/* 02EBA0 8002DFA0 AFA00078 */ sw $zero, 0x78($sp) -/* 02EBA4 8002DFA4 0319A821 */ addu $s5, $t8, $t9 -/* 02EBA8 8002DFA8 86AC0020 */ lh $t4, 0x20($s5) -/* 02EBAC 8002DFAC 00405825 */ move $t3, $v0 -/* 02EBB0 8002DFB0 19800090 */ blez $t4, .L8002E1F4 -/* 02EBB4 8002DFB4 00005025 */ move $t2, $zero -/* 02EBB8 8002DFB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02EBBC 8002DFBC 4481B000 */ mtc1 $at, $f22 -/* 02EBC0 8002DFC0 3C01800E */ lui $at, %hi(D_800E5F44) # $at, 0x800e -/* 02EBC4 8002DFC4 C4355F40 */ lwc1 $f21, %lo(D_800E5F40)($at) -/* 02EBC8 8002DFC8 C4345F44 */ lwc1 $f20, %lo(D_800E5F44)($at) -/* 02EBCC 8002DFCC 8EA2000C */ lw $v0, 0xc($s5) -/* 02EBD0 8002DFD0 24120003 */ li $s2, 3 -/* 02EBD4 8002DFD4 2411000A */ li $s1, 10 -.L8002DFD8: -/* 02EBD8 8002DFD8 8C430008 */ lw $v1, 8($v0) -/* 02EBDC 8002DFDC 00000000 */ nop -/* 02EBE0 8002DFE0 306E6900 */ andi $t6, $v1, 0x6900 -/* 02EBE4 8002DFE4 15C00078 */ bnez $t6, .L8002E1C8 -/* 02EBE8 8002DFE8 0003F4C2 */ srl $fp, $v1, 0x13 -/* 02EBEC 8002DFEC 84580002 */ lh $t8, 2($v0) -/* 02EBF0 8002DFF0 84530004 */ lh $s3, 4($v0) -/* 02EBF4 8002DFF4 844D0010 */ lh $t5, 0x10($v0) -/* 02EBF8 8002DFF8 0018C880 */ sll $t9, $t8, 2 -/* 02EBFC 8002DFFC 8EAC0000 */ lw $t4, ($s5) -/* 02EC00 8002E000 0338C821 */ addu $t9, $t9, $t8 -/* 02EC04 8002E004 33CF0007 */ andi $t7, $fp, 7 -/* 02EC08 8002E008 0019C840 */ sll $t9, $t9, 1 -/* 02EC0C 8002E00C 026D082A */ slt $at, $s3, $t5 -/* 02EC10 8002E010 01E0F025 */ move $fp, $t7 -/* 02EC14 8002E014 1020006C */ beqz $at, .L8002E1C8 -/* 02EC18 8002E018 032C8021 */ addu $s0, $t9, $t4 -/* 02EC1C 8002E01C 16E0006A */ bnez $s7, .L8002E1C8 -/* 02EC20 8002E020 0013A040 */ sll $s4, $s3, 1 -.L8002E024: -/* 02EC24 8002E024 8EAE0010 */ lw $t6, 0x10($s5) -/* 02EC28 8002E028 00000000 */ nop -/* 02EC2C 8002E02C 01D47821 */ addu $t7, $t6, $s4 -/* 02EC30 8002E030 85F80000 */ lh $t8, ($t7) -/* 02EC34 8002E034 00000000 */ nop -/* 02EC38 8002E038 030B1024 */ and $v0, $t8, $t3 -/* 02EC3C 8002E03C 305900FF */ andi $t9, $v0, 0xff -/* 02EC40 8002E040 13200057 */ beqz $t9, .L8002E1A0 -/* 02EC44 8002E044 304CFF00 */ andi $t4, $v0, 0xff00 -/* 02EC48 8002E048 11800055 */ beqz $t4, .L8002E1A0 -/* 02EC4C 8002E04C 00000000 */ nop -/* 02EC50 8002E050 8EAD0004 */ lw $t5, 4($s5) -/* 02EC54 8002E054 00137100 */ sll $t6, $s3, 4 -/* 02EC58 8002E058 01AE4021 */ addu $t0, $t5, $t6 -/* 02EC5C 8002E05C 910F0001 */ lbu $t7, 1($t0) -/* 02EC60 8002E060 8FAE0090 */ lw $t6, 0x90($sp) -/* 02EC64 8002E064 01F10019 */ multu $t7, $s1 -/* 02EC68 8002E068 8FAF0094 */ lw $t7, 0x94($sp) -/* 02EC6C 8002E06C 25040001 */ addiu $a0, $t0, 1 -/* 02EC70 8002E070 24030001 */ li $v1, 1 -/* 02EC74 8002E074 00004812 */ mflo $t1 -/* 02EC78 8002E078 0209C021 */ addu $t8, $s0, $t1 -/* 02EC7C 8002E07C 87050002 */ lh $a1, 2($t8) -/* 02EC80 8002E080 00000000 */ nop -/* 02EC84 8002E084 00A03025 */ move $a2, $a1 -.L8002E088: -/* 02EC88 8002E088 90990001 */ lbu $t9, 1($a0) -/* 02EC8C 8002E08C 24630001 */ addiu $v1, $v1, 1 -/* 02EC90 8002E090 03310019 */ multu $t9, $s1 -/* 02EC94 8002E094 00006012 */ mflo $t4 -/* 02EC98 8002E098 020C6821 */ addu $t5, $s0, $t4 -/* 02EC9C 8002E09C 85A20002 */ lh $v0, 2($t5) -/* 02ECA0 8002E0A0 00000000 */ nop -/* 02ECA4 8002E0A4 0045082A */ slt $at, $v0, $a1 -/* 02ECA8 8002E0A8 10200004 */ beqz $at, .L8002E0BC -/* 02ECAC 8002E0AC 00C2082A */ slt $at, $a2, $v0 -/* 02ECB0 8002E0B0 10000005 */ b .L8002E0C8 -/* 02ECB4 8002E0B4 00402825 */ move $a1, $v0 -/* 02ECB8 8002E0B8 00C2082A */ slt $at, $a2, $v0 -.L8002E0BC: -/* 02ECBC 8002E0BC 10200002 */ beqz $at, .L8002E0C8 -/* 02ECC0 8002E0C0 00000000 */ nop -/* 02ECC4 8002E0C4 00403025 */ move $a2, $v0 -.L8002E0C8: -/* 02ECC8 8002E0C8 1472FFEF */ bne $v1, $s2, .L8002E088 -/* 02ECCC 8002E0CC 24840001 */ addiu $a0, $a0, 1 -/* 02ECD0 8002E0D0 00CE082A */ slt $at, $a2, $t6 -/* 02ECD4 8002E0D4 14200032 */ bnez $at, .L8002E1A0 -/* 02ECD8 8002E0D8 01E5082A */ slt $at, $t7, $a1 -/* 02ECDC 8002E0DC 14200030 */ bnez $at, .L8002E1A0 -/* 02ECE0 8002E0E0 00000000 */ nop -/* 02ECE4 8002E0E4 910C0002 */ lbu $t4, 2($t0) -/* 02ECE8 8002E0E8 4458F800 */ cfc1 $t8, $31 -/* 02ECEC 8002E0EC 01910019 */ multu $t4, $s1 -/* 02ECF0 8002E0F0 37010003 */ ori $at, $t8, 3 -/* 02ECF4 8002E0F4 38210002 */ xori $at, $at, 2 -/* 02ECF8 8002E0F8 44C1F800 */ ctc1 $at, $31 -/* 02ECFC 8002E0FC C6D0000C */ lwc1 $f16, 0xc($s6) -/* 02ED00 8002E100 910E0003 */ lbu $t6, 3($t0) -/* 02ED04 8002E104 460084A4 */ cvt.w.s $f18, $f16 -/* 02ED08 8002E108 C6C40014 */ lwc1 $f4, 0x14($s6) -/* 02ED0C 8002E10C 44D8F800 */ ctc1 $t8, $31 -/* 02ED10 8002E110 44049000 */ mfc1 $a0, $f18 -/* 02ED14 8002E114 AFAB0088 */ sw $t3, 0x88($sp) -/* 02ED18 8002E118 4459F800 */ cfc1 $t9, $31 -/* 02ED1C 8002E11C 00006812 */ mflo $t5 -/* 02ED20 8002E120 37210003 */ ori $at, $t9, 3 -/* 02ED24 8002E124 38210002 */ xori $at, $at, 2 -/* 02ED28 8002E128 01D10019 */ multu $t6, $s1 -/* 02ED2C 8002E12C 44C1F800 */ ctc1 $at, $31 -/* 02ED30 8002E130 01B03821 */ addu $a3, $t5, $s0 -/* 02ED34 8002E134 460021A4 */ cvt.w.s $f6, $f4 -/* 02ED38 8002E138 AFAA005C */ sw $t2, 0x5c($sp) -/* 02ED3C 8002E13C 44053000 */ mfc1 $a1, $f6 -/* 02ED40 8002E140 44D9F800 */ ctc1 $t9, $31 -/* 02ED44 8002E144 01303021 */ addu $a2, $t1, $s0 -/* 02ED48 8002E148 00007812 */ mflo $t7 -/* 02ED4C 8002E14C 01F0C021 */ addu $t8, $t7, $s0 -/* 02ED50 8002E150 0C01C13C */ jal func_800704F0 -/* 02ED54 8002E154 AFB80010 */ sw $t8, 0x10($sp) -/* 02ED58 8002E158 8FAA005C */ lw $t2, 0x5c($sp) -/* 02ED5C 8002E15C 8FAB0088 */ lw $t3, 0x88($sp) -/* 02ED60 8002E160 1040000F */ beqz $v0, .L8002E1A0 -/* 02ED64 8002E164 001EC880 */ sll $t9, $fp, 2 -/* 02ED68 8002E168 3C01800E */ lui $at, 0x800e -/* 02ED6C 8002E16C 00390821 */ addu $at, $at, $t9 -/* 02ED70 8002E170 C42AC884 */ lwc1 $f10, -0x377c($at) -/* 02ED74 8002E174 8EC20054 */ lw $v0, 0x54($s6) -/* 02ED78 8002E178 460AB401 */ sub.s $f16, $f22, $f10 -/* 02ED7C 8002E17C C4400000 */ lwc1 $f0, ($v0) -/* 02ED80 8002E180 24170001 */ li $s7, 1 -/* 02ED84 8002E184 46008481 */ sub.s $f18, $f16, $f0 -/* 02ED88 8002E188 46009121 */ cvt.d.s $f4, $f18 -/* 02ED8C 8002E18C 46342182 */ mul.d $f6, $f4, $f20 -/* 02ED90 8002E190 46000221 */ cvt.d.s $f8, $f0 -/* 02ED94 8002E194 46264280 */ add.d $f10, $f8, $f6 -/* 02ED98 8002E198 46205420 */ cvt.s.d $f16, $f10 -/* 02ED9C 8002E19C E4500000 */ swc1 $f16, ($v0) -.L8002E1A0: -/* 02EDA0 8002E1A0 8EAC000C */ lw $t4, 0xc($s5) -/* 02EDA4 8002E1A4 26730001 */ addiu $s3, $s3, 1 -/* 02EDA8 8002E1A8 018A1021 */ addu $v0, $t4, $t2 -/* 02EDAC 8002E1AC 844D0010 */ lh $t5, 0x10($v0) -/* 02EDB0 8002E1B0 26940002 */ addiu $s4, $s4, 2 -/* 02EDB4 8002E1B4 026D082A */ slt $at, $s3, $t5 -/* 02EDB8 8002E1B8 10200004 */ beqz $at, .L8002E1CC -/* 02EDBC 8002E1BC 8FAE0078 */ lw $t6, 0x78($sp) -/* 02EDC0 8002E1C0 12E0FF98 */ beqz $s7, .L8002E024 -/* 02EDC4 8002E1C4 00000000 */ nop -.L8002E1C8: -/* 02EDC8 8002E1C8 8FAE0078 */ lw $t6, 0x78($sp) -.L8002E1CC: -/* 02EDCC 8002E1CC 254A000C */ addiu $t2, $t2, 0xc -/* 02EDD0 8002E1D0 25CF0001 */ addiu $t7, $t6, 1 -/* 02EDD4 8002E1D4 AFAF0078 */ sw $t7, 0x78($sp) -/* 02EDD8 8002E1D8 86B80020 */ lh $t8, 0x20($s5) -/* 02EDDC 8002E1DC 2442000C */ addiu $v0, $v0, 0xc -/* 02EDE0 8002E1E0 01F8082A */ slt $at, $t7, $t8 -/* 02EDE4 8002E1E4 10200004 */ beqz $at, .L8002E1F8 -/* 02EDE8 8002E1E8 8FBF0054 */ lw $ra, 0x54($sp) -/* 02EDEC 8002E1EC 12E0FF7A */ beqz $s7, .L8002DFD8 -/* 02EDF0 8002E1F0 00000000 */ nop -.L8002E1F4: -/* 02EDF4 8002E1F4 8FBF0054 */ lw $ra, 0x54($sp) -.L8002E1F8: -/* 02EDF8 8002E1F8 C7B50020 */ lwc1 $f21, 0x20($sp) -/* 02EDFC 8002E1FC C7B40024 */ lwc1 $f20, 0x24($sp) -/* 02EE00 8002E200 C7B70028 */ lwc1 $f23, 0x28($sp) -/* 02EE04 8002E204 C7B6002C */ lwc1 $f22, 0x2c($sp) -/* 02EE08 8002E208 8FB00030 */ lw $s0, 0x30($sp) -/* 02EE0C 8002E20C 8FB10034 */ lw $s1, 0x34($sp) -/* 02EE10 8002E210 8FB20038 */ lw $s2, 0x38($sp) -/* 02EE14 8002E214 8FB3003C */ lw $s3, 0x3c($sp) -/* 02EE18 8002E218 8FB40040 */ lw $s4, 0x40($sp) -/* 02EE1C 8002E21C 8FB50044 */ lw $s5, 0x44($sp) -/* 02EE20 8002E220 8FB60048 */ lw $s6, 0x48($sp) -/* 02EE24 8002E224 8FB7004C */ lw $s7, 0x4c($sp) -/* 02EE28 8002E228 8FBE0050 */ lw $fp, 0x50($sp) -/* 02EE2C 8002E22C 03E00008 */ jr $ra -/* 02EE30 8002E230 27BD0098 */ addiu $sp, $sp, 0x98 - -glabel func_8002E234 -/* 02EE34 8002E234 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 02EE38 8002E238 444EF800 */ cfc1 $t6, $31 -/* 02EE3C 8002E23C AFBF0044 */ sw $ra, 0x44($sp) -/* 02EE40 8002E240 35C10003 */ ori $at, $t6, 3 -/* 02EE44 8002E244 AFB60040 */ sw $s6, 0x40($sp) -/* 02EE48 8002E248 AFB5003C */ sw $s5, 0x3c($sp) -/* 02EE4C 8002E24C AFB40038 */ sw $s4, 0x38($sp) -/* 02EE50 8002E250 AFB30034 */ sw $s3, 0x34($sp) -/* 02EE54 8002E254 AFB20030 */ sw $s2, 0x30($sp) -/* 02EE58 8002E258 AFB1002C */ sw $s1, 0x2c($sp) -/* 02EE5C 8002E25C AFB00028 */ sw $s0, 0x28($sp) -/* 02EE60 8002E260 38210002 */ xori $at, $at, 2 -/* 02EE64 8002E264 44C1F800 */ ctc1 $at, $31 -/* 02EE68 8002E268 C4840010 */ lwc1 $f4, 0x10($a0) -/* 02EE6C 8002E26C 848F0048 */ lh $t7, 0x48($a0) -/* 02EE70 8002E270 460021A4 */ cvt.w.s $f6, $f4 -/* 02EE74 8002E274 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02EE78 8002E278 24120001 */ li $s2, 1 -/* 02EE7C 8002E27C 44103000 */ mfc1 $s0, $f6 -/* 02EE80 8002E280 44819000 */ mtc1 $at, $f18 -/* 02EE84 8002E284 44CEF800 */ ctc1 $t6, $31 -/* 02EE88 8002E288 0080A825 */ move $s5, $a0 -/* 02EE8C 8002E28C 164F000F */ bne $s2, $t7, .L8002E2CC -/* 02EE90 8002E290 00A0B025 */ move $s6, $a1 -/* 02EE94 8002E294 0C0270C3 */ jal func_8009C30C -/* 02EE98 8002E298 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 02EE9C 8002E29C C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 02EEA0 8002E2A0 30580010 */ andi $t8, $v0, 0x10 -/* 02EEA4 8002E2A4 13000005 */ beqz $t8, .L8002E2BC -/* 02EEA8 8002E2A8 30590020 */ andi $t9, $v0, 0x20 -/* 02EEAC 8002E2AC 3C01800E */ lui $at, %hi(D_800E5F48) # $at, 0x800e -/* 02EEB0 8002E2B0 C4325F48 */ lwc1 $f18, %lo(D_800E5F48)($at) -/* 02EEB4 8002E2B4 10000006 */ b .L8002E2D0 -/* 02EEB8 8002E2B8 3C014000 */ lui $at, 0x4000 -.L8002E2BC: -/* 02EEBC 8002E2BC 13200003 */ beqz $t9, .L8002E2CC -/* 02EEC0 8002E2C0 3C01800E */ lui $at, %hi(D_800E5F4C) # $at, 0x800e -/* 02EEC4 8002E2C4 C4325F4C */ lwc1 $f18, %lo(D_800E5F4C)($at) -/* 02EEC8 8002E2C8 00000000 */ nop -.L8002E2CC: -/* 02EECC 8002E2CC 3C014000 */ li $at, 0x40000000 # 2.000000 -.L8002E2D0: -/* 02EED0 8002E2D0 44814000 */ mtc1 $at, $f8 -/* 02EED4 8002E2D4 3C118012 */ lui $s1, %hi(D_8011D0C8) # $s1, 0x8012 -/* 02EED8 8002E2D8 3C138012 */ lui $s3, %hi(D_8011D0C4) # $s3, 0x8012 -/* 02EEDC 8002E2DC 2673D0C4 */ addiu $s3, %lo(D_8011D0C4) # addiu $s3, $s3, -0x2f3c -/* 02EEE0 8002E2E0 2631D0C8 */ addiu $s1, %lo(D_8011D0C8) # addiu $s1, $s1, -0x2f38 -/* 02EEE4 8002E2E4 AE750000 */ sw $s5, ($s3) -/* 02EEE8 8002E2E8 12C00042 */ beqz $s6, .L8002E3F4 -/* 02EEEC 8002E2EC E6280000 */ swc1 $f8, ($s1) -/* 02EEF0 8002E2F0 3C018012 */ lui $at, %hi(D_8011D0B8) # $at, 0x8012 -/* 02EEF4 8002E2F4 AC20D0B8 */ sw $zero, %lo(D_8011D0B8)($at) -/* 02EEF8 8002E2F8 3C088012 */ lui $t0, %hi(D_8011D364) # $t0, 0x8012 -/* 02EEFC 8002E2FC 8D08D364 */ lw $t0, %lo(D_8011D364)($t0) -/* 02EF00 8002E300 8EA90058 */ lw $t1, 0x58($s5) -/* 02EF04 8002E304 00000000 */ nop -/* 02EF08 8002E308 A5280008 */ sh $t0, 8($t1) -/* 02EF0C 8002E30C 8EA20058 */ lw $v0, 0x58($s5) -/* 02EF10 8002E310 00000000 */ nop -/* 02EF14 8002E314 8445000C */ lh $a1, 0xc($v0) -/* 02EF18 8002E318 8C440004 */ lw $a0, 4($v0) -/* 02EF1C 8002E31C 00055200 */ sll $t2, $a1, 8 -/* 02EF20 8002E320 01402825 */ move $a1, $t2 -/* 02EF24 8002E324 0C01ED1B */ jal func_8007B46C -/* 02EF28 8002E328 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 02EF2C 8002E32C 3C018012 */ lui $at, %hi(D_8011D0C0) # $at, 0x8012 -/* 02EF30 8002E330 AC22D0C0 */ sw $v0, %lo(D_8011D0C0)($at) -/* 02EF34 8002E334 8EAB0040 */ lw $t3, 0x40($s5) -/* 02EF38 8002E338 3C148012 */ lui $s4, %hi(D_8011D0CE) # $s4, 0x8012 -/* 02EF3C 8002E33C 856C0048 */ lh $t4, 0x48($t3) -/* 02EF40 8002E340 2694D0CE */ addiu $s4, %lo(D_8011D0CE) # addiu $s4, $s4, -0x2f32 -/* 02EF44 8002E344 01906821 */ addu $t5, $t4, $s0 -/* 02EF48 8002E348 A68D0000 */ sh $t5, ($s4) -/* 02EF4C 8002E34C 8EAE0040 */ lw $t6, 0x40($s5) -/* 02EF50 8002E350 3C198012 */ lui $t9, %hi(D_8011D384) # $t9, 0x8012 -/* 02EF54 8002E354 85CF0046 */ lh $t7, 0x46($t6) -/* 02EF58 8002E358 8F39D384 */ lw $t9, %lo(D_8011D384)($t9) -/* 02EF5C 8002E35C C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 02EF60 8002E360 3C018012 */ lui $at, %hi(D_8011D0CC) # $at, 0x8012 -/* 02EF64 8002E364 01F0C021 */ addu $t8, $t7, $s0 -/* 02EF68 8002E368 13200006 */ beqz $t9, .L8002E384 -/* 02EF6C 8002E36C A438D0CC */ sh $t8, %lo(D_8011D0CC)($at) -/* 02EF70 8002E370 0C019884 */ jal func_80066210 -/* 02EF74 8002E374 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 02EF78 8002E378 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 02EF7C 8002E37C 1C400004 */ bgtz $v0, .L8002E390 -/* 02EF80 8002E380 00000000 */ nop -.L8002E384: -/* 02EF84 8002E384 44805000 */ mtc1 $zero, $f10 -/* 02EF88 8002E388 00000000 */ nop -/* 02EF8C 8002E38C E62A0000 */ swc1 $f10, ($s1) -.L8002E390: -/* 02EF90 8002E390 8EA80058 */ lw $t0, 0x58($s5) -/* 02EF94 8002E394 3C038012 */ lui $v1, %hi(D_8011D0D8) # $v1, 0x8012 -/* 02EF98 8002E398 C5040000 */ lwc1 $f4, ($t0) -/* 02EF9C 8002E39C 2463D0D8 */ addiu $v1, %lo(D_8011D0D8) # addiu $v1, $v1, -0x2f28 -/* 02EFA0 8002E3A0 46122182 */ mul.s $f6, $f4, $f18 -/* 02EFA4 8002E3A4 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 02EFA8 8002E3A8 44814000 */ mtc1 $at, $f8 -/* 02EFAC 8002E3AC 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02EFB0 8002E3B0 E4660000 */ swc1 $f6, ($v1) -/* 02EFB4 8002E3B4 C4700000 */ lwc1 $f16, ($v1) -/* 02EFB8 8002E3B8 3C028012 */ lui $v0, %hi(D_8011D0F0) # $v0, 0x8012 -/* 02EFBC 8002E3BC 46088002 */ mul.s $f0, $f16, $f8 -/* 02EFC0 8002E3C0 2442D0F0 */ addiu $v0, %lo(D_8011D0F0) # addiu $v0, $v0, -0x2f10 -/* 02EFC4 8002E3C4 E420D0DC */ swc1 $f0, %lo(D_8011D0DC)($at) -/* 02EFC8 8002E3C8 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02EFCC 8002E3CC E420D0E0 */ swc1 $f0, %lo(D_8011D0E0)($at) -/* 02EFD0 8002E3D0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 02EFD4 8002E3D4 44815000 */ mtc1 $at, $f10 -/* 02EFD8 8002E3D8 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02EFDC 8002E3DC E44A0000 */ swc1 $f10, ($v0) -/* 02EFE0 8002E3E0 C42CD0DC */ lwc1 $f12, %lo(D_8011D0DC)($at) -/* 02EFE4 8002E3E4 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02EFE8 8002E3E8 C42ED0E0 */ lwc1 $f14, %lo(D_8011D0E0)($at) -/* 02EFEC 8002E3EC 10000076 */ b .L8002E5C8 -/* 02EFF0 8002E3F0 3C014310 */ lui $at, 0x4310 -.L8002E3F4: -/* 02EFF4 8002E3F4 3C098012 */ lui $t1, %hi(D_8011D364) # $t1, 0x8012 -/* 02EFF8 8002E3F8 8D29D364 */ lw $t1, %lo(D_8011D364)($t1) -/* 02EFFC 8002E3FC 8EAA0050 */ lw $t2, 0x50($s5) -/* 02F000 8002E400 3C018012 */ lui $at, %hi(D_8011D0C0) # $at, 0x8012 -/* 02F004 8002E404 A5490008 */ sh $t1, 8($t2) -/* 02F008 8002E408 8EAB0050 */ lw $t3, 0x50($s5) -/* 02F00C 8002E40C 3C148012 */ lui $s4, %hi(D_8011D0CE) # $s4, 0x8012 -/* 02F010 8002E410 8D6C0004 */ lw $t4, 4($t3) -/* 02F014 8002E414 2694D0CE */ addiu $s4, %lo(D_8011D0CE) # addiu $s4, $s4, -0x2f32 -/* 02F018 8002E418 AC2CD0C0 */ sw $t4, %lo(D_8011D0C0)($at) -/* 02F01C 8002E41C 8EAD0040 */ lw $t5, 0x40($s5) -/* 02F020 8002E420 3C018012 */ lui $at, %hi(D_8011D0CC) # $at, 0x8012 -/* 02F024 8002E424 85AE0044 */ lh $t6, 0x44($t5) -/* 02F028 8002E428 00000000 */ nop -/* 02F02C 8002E42C 01D07821 */ addu $t7, $t6, $s0 -/* 02F030 8002E430 A68F0000 */ sh $t7, ($s4) -/* 02F034 8002E434 8EB80040 */ lw $t8, 0x40($s5) -/* 02F038 8002E438 00000000 */ nop -/* 02F03C 8002E43C 87190042 */ lh $t9, 0x42($t8) -/* 02F040 8002E440 00000000 */ nop -/* 02F044 8002E444 03304021 */ addu $t0, $t9, $s0 -/* 02F048 8002E448 A428D0CC */ sh $t0, %lo(D_8011D0CC)($at) -/* 02F04C 8002E44C 86A90048 */ lh $t1, 0x48($s5) -/* 02F050 8002E450 00000000 */ nop -/* 02F054 8002E454 12490025 */ beq $s2, $t1, .L8002E4EC -/* 02F058 8002E458 00000000 */ nop -/* 02F05C 8002E45C C6A20030 */ lwc1 $f2, 0x30($s5) -/* 02F060 8002E460 44806800 */ mtc1 $zero, $f13 -/* 02F064 8002E464 44806000 */ mtc1 $zero, $f12 -/* 02F068 8002E468 46001021 */ cvt.d.s $f0, $f2 -/* 02F06C 8002E46C 462C003C */ c.lt.d $f0, $f12 -/* 02F070 8002E470 44802000 */ mtc1 $zero, $f4 -/* 02F074 8002E474 45000003 */ bc1f .L8002E484 -/* 02F078 8002E478 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 02F07C 8002E47C 46001087 */ neg.s $f2, $f2 -/* 02F080 8002E480 46001021 */ cvt.d.s $f0, $f2 -.L8002E484: -/* 02F084 8002E484 44812800 */ mtc1 $at, $f5 -/* 02F088 8002E488 3C014090 */ li $at, 0x40900000 # 4.500000 -/* 02F08C 8002E48C 46240181 */ sub.d $f6, $f0, $f4 -/* 02F090 8002E490 44814800 */ mtc1 $at, $f9 -/* 02F094 8002E494 462030A0 */ cvt.s.d $f2, $f6 -/* 02F098 8002E498 44804000 */ mtc1 $zero, $f8 -/* 02F09C 8002E49C 46001021 */ cvt.d.s $f0, $f2 -/* 02F0A0 8002E4A0 462C003C */ c.lt.d $f0, $f12 -/* 02F0A4 8002E4A4 3C014480 */ li $at, 0x44800000 # 1024.000000 -/* 02F0A8 8002E4A8 45000004 */ bc1f .L8002E4BC -/* 02F0AC 8002E4AC 00000000 */ nop -/* 02F0B0 8002E4B0 44801000 */ mtc1 $zero, $f2 -/* 02F0B4 8002E4B4 00000000 */ nop -/* 02F0B8 8002E4B8 46001021 */ cvt.d.s $f0, $f2 -.L8002E4BC: -/* 02F0BC 8002E4BC 4620403C */ c.lt.d $f8, $f0 -/* 02F0C0 8002E4C0 00000000 */ nop -/* 02F0C4 8002E4C4 45000003 */ bc1f .L8002E4D4 -/* 02F0C8 8002E4C8 00000000 */ nop -/* 02F0CC 8002E4CC 44811000 */ mtc1 $at, $f2 -/* 02F0D0 8002E4D0 00000000 */ nop -.L8002E4D4: -/* 02F0D4 8002E4D4 3C01800E */ lui $at, %hi(D_800E5F50) # $at, 0x800e -/* 02F0D8 8002E4D8 C4245F50 */ lwc1 $f4, %lo(D_800E5F50)($at) -/* 02F0DC 8002E4DC C62A0000 */ lwc1 $f10, ($s1) -/* 02F0E0 8002E4E0 46041182 */ mul.s $f6, $f2, $f4 -/* 02F0E4 8002E4E4 46065200 */ add.s $f8, $f10, $f6 -/* 02F0E8 8002E4E8 E6280000 */ swc1 $f8, ($s1) -.L8002E4EC: -/* 02F0EC 8002E4EC 8EAA0050 */ lw $t2, 0x50($s5) -/* 02F0F0 8002E4F0 3C038012 */ lui $v1, %hi(D_8011D0D8) # $v1, 0x8012 -/* 02F0F4 8002E4F4 C5440000 */ lwc1 $f4, ($t2) -/* 02F0F8 8002E4F8 2463D0D8 */ addiu $v1, %lo(D_8011D0D8) # addiu $v1, $v1, -0x2f28 -/* 02F0FC 8002E4FC 46122282 */ mul.s $f10, $f4, $f18 -/* 02F100 8002E500 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 02F104 8002E504 44813000 */ mtc1 $at, $f6 -/* 02F108 8002E508 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02F10C 8002E50C E46A0000 */ swc1 $f10, ($v1) -/* 02F110 8002E510 C4700000 */ lwc1 $f16, ($v1) -/* 02F114 8002E514 3C028012 */ lui $v0, %hi(D_8011D0F0) # $v0, 0x8012 -/* 02F118 8002E518 46068002 */ mul.s $f0, $f16, $f6 -/* 02F11C 8002E51C 2442D0F0 */ addiu $v0, %lo(D_8011D0F0) # addiu $v0, $v0, -0x2f10 -/* 02F120 8002E520 E420D0DC */ swc1 $f0, %lo(D_8011D0DC)($at) -/* 02F124 8002E524 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02F128 8002E528 E420D0E0 */ swc1 $f0, %lo(D_8011D0E0)($at) -/* 02F12C 8002E52C 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02F130 8002E530 C42CD0DC */ lwc1 $f12, %lo(D_8011D0DC)($at) -/* 02F134 8002E534 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02F138 8002E538 C42ED0E0 */ lwc1 $f14, %lo(D_8011D0E0)($at) -/* 02F13C 8002E53C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 02F140 8002E540 44814000 */ mtc1 $at, $f8 -/* 02F144 8002E544 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 -/* 02F148 8002E548 460C4102 */ mul.s $f4, $f8, $f12 -/* 02F14C 8002E54C 00000000 */ nop -/* 02F150 8002E550 460E2282 */ mul.s $f10, $f4, $f14 -/* 02F154 8002E554 E42AD0E4 */ swc1 $f10, %lo(D_8011D0E4)($at) -/* 02F158 8002E558 8EAB0040 */ lw $t3, 0x40($s5) -/* 02F15C 8002E55C 3C013E00 */ li $at, 0x3E000000 # 0.125000 -/* 02F160 8002E560 856C0042 */ lh $t4, 0x42($t3) -/* 02F164 8002E564 44812000 */ mtc1 $at, $f4 -/* 02F168 8002E568 448C3000 */ mtc1 $t4, $f6 -/* 02F16C 8002E56C 3C0140E0 */ li $at, 0x40E00000 # 7.000000 -/* 02F170 8002E570 46803220 */ cvt.s.w $f8, $f6 -/* 02F174 8002E574 44803000 */ mtc1 $zero, $f6 -/* 02F178 8002E578 46044282 */ mul.s $f10, $f8, $f4 -/* 02F17C 8002E57C 44812000 */ mtc1 $at, $f4 -/* 02F180 8002E580 E44A0000 */ swc1 $f10, ($v0) -/* 02F184 8002E584 C4420000 */ lwc1 $f2, ($v0) -/* 02F188 8002E588 00000000 */ nop -/* 02F18C 8002E58C 4606103C */ c.lt.s $f2, $f6 -/* 02F190 8002E590 00000000 */ nop -/* 02F194 8002E594 45000005 */ bc1f .L8002E5AC -/* 02F198 8002E598 00000000 */ nop -/* 02F19C 8002E59C 46001207 */ neg.s $f8, $f2 -/* 02F1A0 8002E5A0 E4480000 */ swc1 $f8, ($v0) -/* 02F1A4 8002E5A4 C4420000 */ lwc1 $f2, ($v0) -/* 02F1A8 8002E5A8 00000000 */ nop -.L8002E5AC: -/* 02F1AC 8002E5AC 46022282 */ mul.s $f10, $f4, $f2 -/* 02F1B0 8002E5B0 3C018012 */ lui $at, %hi(D_8011D0F4) # $at, 0x8012 -/* 02F1B4 8002E5B4 240D8000 */ li $t5, -32768 -/* 02F1B8 8002E5B8 E42AD0F4 */ swc1 $f10, %lo(D_8011D0F4)($at) -/* 02F1BC 8002E5BC 3C018012 */ lui $at, %hi(D_8011D0D0) # $at, 0x8012 -/* 02F1C0 8002E5C0 A42DD0D0 */ sh $t5, %lo(D_8011D0D0)($at) -/* 02F1C4 8002E5C4 3C014310 */ li $at, 0x43100000 # 144.000000 -.L8002E5C8: -/* 02F1C8 8002E5C8 44813000 */ mtc1 $at, $f6 -/* 02F1CC 8002E5CC 8E620000 */ lw $v0, ($s3) -/* 02F1D0 8002E5D0 46103203 */ div.s $f8, $f6, $f16 -/* 02F1D4 8002E5D4 868C0000 */ lh $t4, ($s4) -/* 02F1D8 8002E5D8 3C068012 */ lui $a2, %hi(D_8011D0CC) # $a2, 0x8012 -/* 02F1DC 8002E5DC 27A40078 */ addiu $a0, $sp, 0x78 -/* 02F1E0 8002E5E0 E4680000 */ swc1 $f8, ($v1) -/* 02F1E4 8002E5E4 C440000C */ lwc1 $f0, 0xc($v0) -/* 02F1E8 8002E5E8 C4420014 */ lwc1 $f2, 0x14($v0) -/* 02F1EC 8002E5EC 460C0101 */ sub.s $f4, $f0, $f12 -/* 02F1F0 8002E5F0 84C6D0CC */ lh $a2, %lo(D_8011D0CC)($a2) -/* 02F1F4 8002E5F4 444EF800 */ cfc1 $t6, $31 -/* 02F1F8 8002E5F8 AFAC0014 */ sw $t4, 0x14($sp) -/* 02F1FC 8002E5FC 35C10003 */ ori $at, $t6, 3 -/* 02F200 8002E600 38210002 */ xori $at, $at, 2 -/* 02F204 8002E604 44C1F800 */ ctc1 $at, $31 -/* 02F208 8002E608 00000000 */ nop -/* 02F20C 8002E60C 460022A4 */ cvt.w.s $f10, $f4 -/* 02F210 8002E610 44CEF800 */ ctc1 $t6, $31 -/* 02F214 8002E614 44055000 */ mfc1 $a1, $f10 -/* 02F218 8002E618 460E1181 */ sub.s $f6, $f2, $f14 -/* 02F21C 8002E61C 00057C00 */ sll $t7, $a1, 0x10 -/* 02F220 8002E620 4459F800 */ cfc1 $t9, $31 -/* 02F224 8002E624 000F2C03 */ sra $a1, $t7, 0x10 -/* 02F228 8002E628 37210003 */ ori $at, $t9, 3 -/* 02F22C 8002E62C 38210002 */ xori $at, $at, 2 -/* 02F230 8002E630 44C1F800 */ ctc1 $at, $31 -/* 02F234 8002E634 00000000 */ nop -/* 02F238 8002E638 46003224 */ cvt.w.s $f8, $f6 -/* 02F23C 8002E63C 44D9F800 */ ctc1 $t9, $31 -/* 02F240 8002E640 44074000 */ mfc1 $a3, $f8 -/* 02F244 8002E644 460C0100 */ add.s $f4, $f0, $f12 -/* 02F248 8002E648 00074400 */ sll $t0, $a3, 0x10 -/* 02F24C 8002E64C 444AF800 */ cfc1 $t2, $31 -/* 02F250 8002E650 00083C03 */ sra $a3, $t0, 0x10 -/* 02F254 8002E654 35410003 */ ori $at, $t2, 3 -/* 02F258 8002E658 38210002 */ xori $at, $at, 2 -/* 02F25C 8002E65C 44C1F800 */ ctc1 $at, $31 -/* 02F260 8002E660 00000000 */ nop -/* 02F264 8002E664 460022A4 */ cvt.w.s $f10, $f4 -/* 02F268 8002E668 44CAF800 */ ctc1 $t2, $31 -/* 02F26C 8002E66C 440B5000 */ mfc1 $t3, $f10 -/* 02F270 8002E670 460E1180 */ add.s $f6, $f2, $f14 -/* 02F274 8002E674 AFAB0010 */ sw $t3, 0x10($sp) -/* 02F278 8002E678 444DF800 */ cfc1 $t5, $31 -/* 02F27C 8002E67C 00000000 */ nop -/* 02F280 8002E680 35A10003 */ ori $at, $t5, 3 -/* 02F284 8002E684 38210002 */ xori $at, $at, 2 -/* 02F288 8002E688 44C1F800 */ ctc1 $at, $31 -/* 02F28C 8002E68C 00000000 */ nop -/* 02F290 8002E690 46003224 */ cvt.w.s $f8, $f6 -/* 02F294 8002E694 440E4000 */ mfc1 $t6, $f8 -/* 02F298 8002E698 44CDF800 */ ctc1 $t5, $31 -/* 02F29C 8002E69C 0C00A84D */ jal func_8002A134 -/* 02F2A0 8002E6A0 AFAE0018 */ sw $t6, 0x18($sp) -/* 02F2A4 8002E6A4 3C018012 */ lui $at, %hi(D_8011C230) # $at, 0x8012 -/* 02F2A8 8002E6A8 AC20C230 */ sw $zero, %lo(D_8011C230)($at) -/* 02F2AC 8002E6AC 3C018012 */ lui $at, %hi(D_8011B118) # $at, 0x8012 -/* 02F2B0 8002E6B0 3C038012 */ lui $v1, %hi(D_8011B320) # $v1, 0x8012 -/* 02F2B4 8002E6B4 3C048012 */ lui $a0, %hi(D_8011B330) # $a0, 0x8012 -/* 02F2B8 8002E6B8 AFA20070 */ sw $v0, 0x70($sp) -/* 02F2BC 8002E6BC AC20B118 */ sw $zero, %lo(D_8011B118)($at) -/* 02F2C0 8002E6C0 2484B330 */ addiu $a0, %lo(D_8011B330) # addiu $a0, $a0, -0x4cd0 -/* 02F2C4 8002E6C4 2463B320 */ addiu $v1, %lo(D_8011B320) # addiu $v1, $v1, -0x4ce0 -.L8002E6C8: -/* 02F2C8 8002E6C8 24630004 */ addiu $v1, $v1, 4 -/* 02F2CC 8002E6CC 0064082B */ sltu $at, $v1, $a0 -/* 02F2D0 8002E6D0 1420FFFD */ bnez $at, .L8002E6C8 -/* 02F2D4 8002E6D4 AC60FFFC */ sw $zero, -4($v1) -/* 02F2D8 8002E6D8 2403FFFF */ li $v1, -1 -/* 02F2DC 8002E6DC 3C018012 */ lui $at, %hi(D_8011D0E8) # $at, 0x8012 -/* 02F2E0 8002E6E0 AC23D0E8 */ sw $v1, %lo(D_8011D0E8)($at) -/* 02F2E4 8002E6E4 3C018012 */ lui $at, %hi(D_8011D0EC) # $at, 0x8012 -/* 02F2E8 8002E6E8 AC23D0EC */ sw $v1, %lo(D_8011D0EC)($at) -/* 02F2EC 8002E6EC 1840005C */ blez $v0, .L8002E860 -/* 02F2F0 8002E6F0 00009025 */ move $s2, $zero -/* 02F2F4 8002E6F4 3C13800E */ lui $s3, %hi(D_800DC918) # $s3, 0x800e -/* 02F2F8 8002E6F8 2673C918 */ addiu $s3, %lo(D_800DC918) # addiu $s3, $s3, -0x36e8 -/* 02F2FC 8002E6FC 27B10078 */ addiu $s1, $sp, 0x78 -/* 02F300 8002E700 24140044 */ li $s4, 68 -.L8002E704: -/* 02F304 8002E704 8E300000 */ lw $s0, ($s1) -/* 02F308 8002E708 00000000 */ nop -/* 02F30C 8002E70C 06000051 */ bltz $s0, .L8002E854 -/* 02F310 8002E710 8FAD0070 */ lw $t5, 0x70($sp) -/* 02F314 8002E714 12C00013 */ beqz $s6, .L8002E764 -/* 02F318 8002E718 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02F31C 8002E71C 02140019 */ multu $s0, $s4 -/* 02F320 8002E720 8E6F0000 */ lw $t7, ($s3) -/* 02F324 8002E724 3C0A8012 */ lui $t2, %hi(D_8011D384) # $t2, 0x8012 -/* 02F328 8002E728 8DF80004 */ lw $t8, 4($t7) -/* 02F32C 8002E72C 0000C812 */ mflo $t9 -/* 02F330 8002E730 03194021 */ addu $t0, $t8, $t9 -/* 02F334 8002E734 8109002B */ lb $t1, 0x2b($t0) -/* 02F338 8002E738 00000000 */ nop -/* 02F33C 8002E73C 11200009 */ beqz $t1, .L8002E764 -/* 02F340 8002E740 00000000 */ nop -/* 02F344 8002E744 8D4AD384 */ lw $t2, %lo(D_8011D384)($t2) -/* 02F348 8002E748 00000000 */ nop -/* 02F34C 8002E74C 11400005 */ beqz $t2, .L8002E764 -/* 02F350 8002E750 00000000 */ nop -/* 02F354 8002E754 0C00BBBB */ jal func_8002EEEC -/* 02F358 8002E758 02002025 */ move $a0, $s0 -/* 02F35C 8002E75C 1000003D */ b .L8002E854 -/* 02F360 8002E760 8FAD0070 */ lw $t5, 0x70($sp) -.L8002E764: -/* 02F364 8002E764 C6A0000C */ lwc1 $f0, 0xc($s5) -/* 02F368 8002E768 C42CD0DC */ lwc1 $f12, %lo(D_8011D0DC)($at) -/* 02F36C 8002E76C C6A20014 */ lwc1 $f2, 0x14($s5) -/* 02F370 8002E770 460C0101 */ sub.s $f4, $f0, $f12 -/* 02F374 8002E774 8E6C0000 */ lw $t4, ($s3) -/* 02F378 8002E778 444EF800 */ cfc1 $t6, $31 -/* 02F37C 8002E77C 00105880 */ sll $t3, $s0, 2 -/* 02F380 8002E780 35C10003 */ ori $at, $t6, 3 -/* 02F384 8002E784 38210002 */ xori $at, $at, 2 -/* 02F388 8002E788 44C1F800 */ ctc1 $at, $31 -/* 02F38C 8002E78C 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02F390 8002E790 460022A4 */ cvt.w.s $f10, $f4 -/* 02F394 8002E794 C42ED0E0 */ lwc1 $f14, %lo(D_8011D0E0)($at) -/* 02F398 8002E798 44CEF800 */ ctc1 $t6, $31 -/* 02F39C 8002E79C 44055000 */ mfc1 $a1, $f10 -/* 02F3A0 8002E7A0 460E1181 */ sub.s $f6, $f2, $f14 -/* 02F3A4 8002E7A4 8D8D0008 */ lw $t5, 8($t4) -/* 02F3A8 8002E7A8 444FF800 */ cfc1 $t7, $31 -/* 02F3AC 8002E7AC 01705823 */ subu $t3, $t3, $s0 -/* 02F3B0 8002E7B0 35E10003 */ ori $at, $t7, 3 -/* 02F3B4 8002E7B4 38210002 */ xori $at, $at, 2 -/* 02F3B8 8002E7B8 44C1F800 */ ctc1 $at, $31 -/* 02F3BC 8002E7BC 000B5880 */ sll $t3, $t3, 2 -/* 02F3C0 8002E7C0 46003224 */ cvt.w.s $f8, $f6 -/* 02F3C4 8002E7C4 016D2021 */ addu $a0, $t3, $t5 -/* 02F3C8 8002E7C8 44CFF800 */ ctc1 $t7, $31 -/* 02F3CC 8002E7CC 44064000 */ mfc1 $a2, $f8 -/* 02F3D0 8002E7D0 460C0100 */ add.s $f4, $f0, $f12 -/* 02F3D4 8002E7D4 4458F800 */ cfc1 $t8, $31 -/* 02F3D8 8002E7D8 00000000 */ nop -/* 02F3DC 8002E7DC 37010003 */ ori $at, $t8, 3 -/* 02F3E0 8002E7E0 38210002 */ xori $at, $at, 2 -/* 02F3E4 8002E7E4 44C1F800 */ ctc1 $at, $31 -/* 02F3E8 8002E7E8 00000000 */ nop -/* 02F3EC 8002E7EC 460022A4 */ cvt.w.s $f10, $f4 -/* 02F3F0 8002E7F0 44D8F800 */ ctc1 $t8, $31 -/* 02F3F4 8002E7F4 44075000 */ mfc1 $a3, $f10 -/* 02F3F8 8002E7F8 460E1180 */ add.s $f6, $f2, $f14 -/* 02F3FC 8002E7FC 4459F800 */ cfc1 $t9, $31 -/* 02F400 8002E800 00000000 */ nop -/* 02F404 8002E804 37210003 */ ori $at, $t9, 3 -/* 02F408 8002E808 38210002 */ xori $at, $at, 2 -/* 02F40C 8002E80C 44C1F800 */ ctc1 $at, $31 -/* 02F410 8002E810 00000000 */ nop -/* 02F414 8002E814 46003224 */ cvt.w.s $f8, $f6 -/* 02F418 8002E818 44084000 */ mfc1 $t0, $f8 -/* 02F41C 8002E81C 44D9F800 */ ctc1 $t9, $31 -/* 02F420 8002E820 0C00C537 */ jal func_800314DC -/* 02F424 8002E824 AFA80010 */ sw $t0, 0x10($sp) -/* 02F428 8002E828 8E290000 */ lw $t1, ($s1) -/* 02F42C 8002E82C 8E6C0000 */ lw $t4, ($s3) -/* 02F430 8002E830 01340019 */ multu $t1, $s4 -/* 02F434 8002E834 8D8B0004 */ lw $t3, 4($t4) -/* 02F438 8002E838 00402825 */ move $a1, $v0 -/* 02F43C 8002E83C 02C03025 */ move $a2, $s6 -/* 02F440 8002E840 00005012 */ mflo $t2 -/* 02F444 8002E844 014B2021 */ addu $a0, $t2, $t3 -/* 02F448 8002E848 0C00BA41 */ jal func_8002E904 -/* 02F44C 8002E84C 00000000 */ nop -/* 02F450 8002E850 8FAD0070 */ lw $t5, 0x70($sp) -.L8002E854: -/* 02F454 8002E854 26520001 */ addiu $s2, $s2, 1 -/* 02F458 8002E858 164DFFAA */ bne $s2, $t5, .L8002E704 -/* 02F45C 8002E85C 26310004 */ addiu $s1, $s1, 4 -.L8002E860: -/* 02F460 8002E860 3C0E8012 */ lui $t6, %hi(D_8011C230) # $t6, 0x8012 -/* 02F464 8002E864 8DCEC230 */ lw $t6, %lo(D_8011C230)($t6) -/* 02F468 8002E868 00000000 */ nop -/* 02F46C 8002E86C 19C00010 */ blez $t6, .L8002E8B0 -/* 02F470 8002E870 00000000 */ nop -/* 02F474 8002E874 8EAF0054 */ lw $t7, 0x54($s5) -/* 02F478 8002E878 00000000 */ nop -/* 02F47C 8002E87C 11E00008 */ beqz $t7, .L8002E8A0 -/* 02F480 8002E880 00000000 */ nop -/* 02F484 8002E884 16C00006 */ bnez $s6, .L8002E8A0 -/* 02F488 8002E888 00000000 */ nop -/* 02F48C 8002E88C 0C00BE99 */ jal func_8002FA64 -/* 02F490 8002E890 00000000 */ nop -/* 02F494 8002E894 8EB80054 */ lw $t8, 0x54($s5) -/* 02F498 8002E898 00000000 */ nop -/* 02F49C 8002E89C E7000000 */ swc1 $f0, ($t8) -.L8002E8A0: -/* 02F4A0 8002E8A0 0C00BCAB */ jal func_8002F2AC -/* 02F4A4 8002E8A4 00000000 */ nop -/* 02F4A8 8002E8A8 0C00BD10 */ jal func_8002F440 -/* 02F4AC 8002E8AC 00000000 */ nop -.L8002E8B0: -/* 02F4B0 8002E8B0 16C00006 */ bnez $s6, .L8002E8CC -/* 02F4B4 8002E8B4 3C098012 */ lui $t1, %hi(D_8011D364) # $t1, 0x8012 -/* 02F4B8 8002E8B8 3C198012 */ lui $t9, %hi(D_8011D364) # $t9, 0x8012 -/* 02F4BC 8002E8BC 8F39D364 */ lw $t9, %lo(D_8011D364)($t9) -/* 02F4C0 8002E8C0 8EA80050 */ lw $t0, 0x50($s5) -/* 02F4C4 8002E8C4 10000005 */ b .L8002E8DC -/* 02F4C8 8002E8C8 A519000A */ sh $t9, 0xa($t0) -.L8002E8CC: -/* 02F4CC 8002E8CC 8D29D364 */ lw $t1, %lo(D_8011D364)($t1) -/* 02F4D0 8002E8D0 8EAC0058 */ lw $t4, 0x58($s5) -/* 02F4D4 8002E8D4 00000000 */ nop -/* 02F4D8 8002E8D8 A589000A */ sh $t1, 0xa($t4) -.L8002E8DC: -/* 02F4DC 8002E8DC 8FBF0044 */ lw $ra, 0x44($sp) -/* 02F4E0 8002E8E0 8FB00028 */ lw $s0, 0x28($sp) -/* 02F4E4 8002E8E4 8FB1002C */ lw $s1, 0x2c($sp) -/* 02F4E8 8002E8E8 8FB20030 */ lw $s2, 0x30($sp) -/* 02F4EC 8002E8EC 8FB30034 */ lw $s3, 0x34($sp) -/* 02F4F0 8002E8F0 8FB40038 */ lw $s4, 0x38($sp) -/* 02F4F4 8002E8F4 8FB5003C */ lw $s5, 0x3c($sp) -/* 02F4F8 8002E8F8 8FB60040 */ lw $s6, 0x40($sp) -/* 02F4FC 8002E8FC 03E00008 */ jr $ra -/* 02F500 8002E900 27BD0100 */ addiu $sp, $sp, 0x100 - -glabel func_8002E904 -/* 02F504 8002E904 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 02F508 8002E908 3C028012 */ lui $v0, %hi(D_8011D0C4) # $v0, 0x8012 -/* 02F50C 8002E90C 8C42D0C4 */ lw $v0, %lo(D_8011D0C4)($v0) -/* 02F510 8002E910 AFBF0054 */ sw $ra, 0x54($sp) -/* 02F514 8002E914 AFBE0050 */ sw $fp, 0x50($sp) -/* 02F518 8002E918 AFB7004C */ sw $s7, 0x4c($sp) -/* 02F51C 8002E91C AFB60048 */ sw $s6, 0x48($sp) -/* 02F520 8002E920 AFB50044 */ sw $s5, 0x44($sp) -/* 02F524 8002E924 AFB40040 */ sw $s4, 0x40($sp) -/* 02F528 8002E928 AFB3003C */ sw $s3, 0x3c($sp) -/* 02F52C 8002E92C AFB20038 */ sw $s2, 0x38($sp) -/* 02F530 8002E930 AFB10034 */ sw $s1, 0x34($sp) -/* 02F534 8002E934 AFB00030 */ sw $s0, 0x30($sp) -/* 02F538 8002E938 E7B70028 */ swc1 $f23, 0x28($sp) -/* 02F53C 8002E93C E7B6002C */ swc1 $f22, 0x2c($sp) -/* 02F540 8002E940 E7B50020 */ swc1 $f21, 0x20($sp) -/* 02F544 8002E944 E7B40024 */ swc1 $f20, 0x24($sp) -/* 02F548 8002E948 AFA50154 */ sw $a1, 0x154($sp) -/* 02F54C 8002E94C AFA60158 */ sw $a2, 0x158($sp) -/* 02F550 8002E950 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02F554 8002E954 C420D0DC */ lwc1 $f0, %lo(D_8011D0DC)($at) -/* 02F558 8002E958 C444000C */ lwc1 $f4, 0xc($v0) -/* 02F55C 8002E95C 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02F560 8002E960 46002180 */ add.s $f6, $f4, $f0 -/* 02F564 8002E964 C422D0E0 */ lwc1 $f2, %lo(D_8011D0E0)($at) -/* 02F568 8002E968 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 02F56C 8002E96C C4480014 */ lwc1 $f8, 0x14($v0) -/* 02F570 8002E970 3C138012 */ lui $s3, %hi(D_8011B118) # $s3, 0x8012 -/* 02F574 8002E974 46024280 */ add.s $f10, $f8, $f2 -/* 02F578 8002E978 3C148012 */ lui $s4, %hi(D_8011D0BC) # $s4, 0x8012 -/* 02F57C 8002E97C E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 02F580 8002E980 C450000C */ lwc1 $f16, 0xc($v0) -/* 02F584 8002E984 3C168012 */ lui $s6, %hi(D_8011B120) # $s6, 0x8012 -/* 02F588 8002E988 46008481 */ sub.s $f18, $f16, $f0 -/* 02F58C 8002E98C 0080F025 */ move $fp, $a0 -/* 02F590 8002E990 E7B200B8 */ swc1 $f18, 0xb8($sp) -/* 02F594 8002E994 C4440014 */ lwc1 $f4, 0x14($v0) -/* 02F598 8002E998 26D6B120 */ addiu $s6, %lo(D_8011B120) # addiu $s6, $s6, -0x4ee0 -/* 02F59C 8002E99C 46022180 */ add.s $f6, $f4, $f2 -/* 02F5A0 8002E9A0 2694D0BC */ addiu $s4, %lo(D_8011D0BC) # addiu $s4, $s4, -0x2f44 -/* 02F5A4 8002E9A4 E7A600BC */ swc1 $f6, 0xbc($sp) -/* 02F5A8 8002E9A8 C448000C */ lwc1 $f8, 0xc($v0) -/* 02F5AC 8002E9AC 2673B118 */ addiu $s3, %lo(D_8011B118) # addiu $s3, $s3, -0x4ee8 -/* 02F5B0 8002E9B0 46004281 */ sub.s $f10, $f8, $f0 -/* 02F5B4 8002E9B4 2410FFFF */ li $s0, -1 -/* 02F5B8 8002E9B8 E7AA00C0 */ swc1 $f10, 0xc0($sp) -/* 02F5BC 8002E9BC C4500014 */ lwc1 $f16, 0x14($v0) -/* 02F5C0 8002E9C0 2412000A */ li $s2, 10 -/* 02F5C4 8002E9C4 46028481 */ sub.s $f18, $f16, $f2 -/* 02F5C8 8002E9C8 27B50100 */ addiu $s5, $sp, 0x100 -/* 02F5CC 8002E9CC E7B200C4 */ swc1 $f18, 0xc4($sp) -/* 02F5D0 8002E9D0 C444000C */ lwc1 $f4, 0xc($v0) -/* 02F5D4 8002E9D4 00004025 */ move $t0, $zero -/* 02F5D8 8002E9D8 46002180 */ add.s $f6, $f4, $f0 -/* 02F5DC 8002E9DC E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 02F5E0 8002E9E0 C4480014 */ lwc1 $f8, 0x14($v0) -/* 02F5E4 8002E9E4 00000000 */ nop -/* 02F5E8 8002E9E8 46024281 */ sub.s $f10, $f8, $f2 -/* 02F5EC 8002E9EC E7AA00CC */ swc1 $f10, 0xcc($sp) -/* 02F5F0 8002E9F0 84870020 */ lh $a3, 0x20($a0) -/* 02F5F4 8002E9F4 00000000 */ nop -/* 02F5F8 8002E9F8 18E0012D */ blez $a3, .L8002EEB0 -/* 02F5FC 8002E9FC 8FBF0054 */ lw $ra, 0x54($sp) -/* 02F600 8002EA00 4480B000 */ mtc1 $zero, $f22 -/* 02F604 8002EA04 4480A000 */ mtc1 $zero, $f20 -/* 02F608 8002EA08 2405000C */ li $a1, 12 -/* 02F60C 8002EA0C 8FAE0158 */ lw $t6, 0x158($sp) -.L8002EA10: -/* 02F610 8002EA10 00000000 */ nop -/* 02F614 8002EA14 11C0000B */ beqz $t6, .L8002EA44 -/* 02F618 8002EA18 8FAE0158 */ lw $t6, 0x158($sp) -/* 02F61C 8002EA1C 01050019 */ multu $t0, $a1 -/* 02F620 8002EA20 8FCF000C */ lw $t7, 0xc($fp) -/* 02F624 8002EA24 0000C012 */ mflo $t8 -/* 02F628 8002EA28 01F81021 */ addu $v0, $t7, $t8 -/* 02F62C 8002EA2C 8C430008 */ lw $v1, 8($v0) -/* 02F630 8002EA30 AFA800AC */ sw $t0, 0xac($sp) -/* 02F634 8002EA34 30792000 */ andi $t9, $v1, 0x2000 -/* 02F638 8002EA38 1720000F */ bnez $t9, .L8002EA78 -/* 02F63C 8002EA3C 00000000 */ nop -/* 02F640 8002EA40 8FAE0158 */ lw $t6, 0x158($sp) -.L8002EA44: -/* 02F644 8002EA44 AFA800AC */ sw $t0, 0xac($sp) -/* 02F648 8002EA48 15C00112 */ bnez $t6, .L8002EE94 -/* 02F64C 8002EA4C 00000000 */ nop -/* 02F650 8002EA50 01050019 */ multu $t0, $a1 -/* 02F654 8002EA54 8FCF000C */ lw $t7, 0xc($fp) -/* 02F658 8002EA58 0000C012 */ mflo $t8 -/* 02F65C 8002EA5C 01F81021 */ addu $v0, $t7, $t8 -/* 02F660 8002EA60 8C430008 */ lw $v1, 8($v0) -/* 02F664 8002EA64 AFA800AC */ sw $t0, 0xac($sp) -/* 02F668 8002EA68 30796900 */ andi $t9, $v1, 0x6900 -/* 02F66C 8002EA6C 17200109 */ bnez $t9, .L8002EE94 -/* 02F670 8002EA70 00000000 */ nop -/* 02F674 8002EA74 AFA800AC */ sw $t0, 0xac($sp) -.L8002EA78: -/* 02F678 8002EA78 844E0002 */ lh $t6, 2($v0) -/* 02F67C 8002EA7C 84570004 */ lh $s7, 4($v0) -/* 02F680 8002EA80 84440010 */ lh $a0, 0x10($v0) -/* 02F684 8002EA84 000E7880 */ sll $t7, $t6, 2 -/* 02F688 8002EA88 8FD80000 */ lw $t8, ($fp) -/* 02F68C 8002EA8C 00036CC2 */ srl $t5, $v1, 0x13 -/* 02F690 8002EA90 01EE7821 */ addu $t7, $t7, $t6 -/* 02F694 8002EA94 000F7840 */ sll $t7, $t7, 1 -/* 02F698 8002EA98 31B90007 */ andi $t9, $t5, 7 -/* 02F69C 8002EA9C 02E4082A */ slt $at, $s7, $a0 -/* 02F6A0 8002EAA0 03206825 */ move $t5, $t9 -/* 02F6A4 8002EAA4 102000FB */ beqz $at, .L8002EE94 -/* 02F6A8 8002EAA8 01F88821 */ addu $s1, $t7, $t8 -/* 02F6AC 8002EAAC 0017F840 */ sll $ra, $s7, 1 -/* 02F6B0 8002EAB0 AFA400A4 */ sw $a0, 0xa4($sp) -.L8002EAB4: -/* 02F6B4 8002EAB4 8FCE0010 */ lw $t6, 0x10($fp) -/* 02F6B8 8002EAB8 8FB90154 */ lw $t9, 0x154($sp) -/* 02F6BC 8002EABC 01DF7821 */ addu $t7, $t6, $ra -/* 02F6C0 8002EAC0 85F80000 */ lh $t8, ($t7) -/* 02F6C4 8002EAC4 00000000 */ nop -/* 02F6C8 8002EAC8 03191024 */ and $v0, $t8, $t9 -/* 02F6CC 8002EACC 304E00FF */ andi $t6, $v0, 0xff -/* 02F6D0 8002EAD0 11C000E9 */ beqz $t6, .L8002EE78 -/* 02F6D4 8002EAD4 304FFF00 */ andi $t7, $v0, 0xff00 -/* 02F6D8 8002EAD8 11E000E8 */ beqz $t7, .L8002EE7C -/* 02F6DC 8002EADC 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F6E0 8002EAE0 8FD80004 */ lw $t8, 4($fp) -/* 02F6E4 8002EAE4 0017C900 */ sll $t9, $s7, 4 -/* 02F6E8 8002EAE8 03193821 */ addu $a3, $t8, $t9 -/* 02F6EC 8002EAEC 90EE0001 */ lbu $t6, 1($a3) -/* 02F6F0 8002EAF0 3C088012 */ lui $t0, %hi(D_8011D0CE) # $t0, 0x8012 -/* 02F6F4 8002EAF4 01D20019 */ multu $t6, $s2 -/* 02F6F8 8002EAF8 8508D0CE */ lh $t0, %lo(D_8011D0CE)($t0) -/* 02F6FC 8002EAFC 24E30001 */ addiu $v1, $a3, 1 -/* 02F700 8002EB00 24040001 */ li $a0, 1 -/* 02F704 8002EB04 00007812 */ mflo $t7 -/* 02F708 8002EB08 022FC021 */ addu $t8, $s1, $t7 -/* 02F70C 8002EB0C 87050002 */ lh $a1, 2($t8) -/* 02F710 8002EB10 3C188012 */ lui $t8, %hi(D_8011D0CC) # $t8, 0x8012 -/* 02F714 8002EB14 00A03025 */ move $a2, $a1 -.L8002EB18: -/* 02F718 8002EB18 90790001 */ lbu $t9, 1($v1) -/* 02F71C 8002EB1C 24840001 */ addiu $a0, $a0, 1 -/* 02F720 8002EB20 03320019 */ multu $t9, $s2 -/* 02F724 8002EB24 00007012 */ mflo $t6 -/* 02F728 8002EB28 022E7821 */ addu $t7, $s1, $t6 -/* 02F72C 8002EB2C 85E20002 */ lh $v0, 2($t7) -/* 02F730 8002EB30 00000000 */ nop -/* 02F734 8002EB34 0045082A */ slt $at, $v0, $a1 -/* 02F738 8002EB38 10200004 */ beqz $at, .L8002EB4C -/* 02F73C 8002EB3C 00C2082A */ slt $at, $a2, $v0 -/* 02F740 8002EB40 10000005 */ b .L8002EB58 -/* 02F744 8002EB44 00402825 */ move $a1, $v0 -/* 02F748 8002EB48 00C2082A */ slt $at, $a2, $v0 -.L8002EB4C: -/* 02F74C 8002EB4C 10200003 */ beqz $at, .L8002EB5C -/* 02F750 8002EB50 28810003 */ slti $at, $a0, 3 -/* 02F754 8002EB54 00403025 */ move $a2, $v0 -.L8002EB58: -/* 02F758 8002EB58 28810003 */ slti $at, $a0, 3 -.L8002EB5C: -/* 02F75C 8002EB5C 1420FFEE */ bnez $at, .L8002EB18 -/* 02F760 8002EB60 24630001 */ addiu $v1, $v1, 1 -/* 02F764 8002EB64 0105082A */ slt $at, $t0, $a1 -/* 02F768 8002EB68 142000C4 */ bnez $at, .L8002EE7C -/* 02F76C 8002EB6C 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F770 8002EB70 8718D0CC */ lh $t8, %lo(D_8011D0CC)($t8) -/* 02F774 8002EB74 00E01825 */ move $v1, $a3 -/* 02F778 8002EB78 00D8082A */ slt $at, $a2, $t8 -/* 02F77C 8002EB7C 142000BE */ bnez $at, .L8002EE78 -/* 02F780 8002EB80 27A200D0 */ addiu $v0, $sp, 0xd0 -/* 02F784 8002EB84 90790001 */ lbu $t9, 1($v1) -/* 02F788 8002EB88 24420010 */ addiu $v0, $v0, 0x10 -/* 02F78C 8002EB8C 10550017 */ beq $v0, $s5, .L8002EBEC -/* 02F790 8002EB90 03320019 */ multu $t9, $s2 -.L8002EB94: -/* 02F794 8002EB94 00007012 */ mflo $t6 -/* 02F798 8002EB98 022E7821 */ addu $t7, $s1, $t6 -/* 02F79C 8002EB9C 85F80000 */ lh $t8, ($t7) -/* 02F7A0 8002EBA0 24420010 */ addiu $v0, $v0, 0x10 -/* 02F7A4 8002EBA4 44989000 */ mtc1 $t8, $f18 -/* 02F7A8 8002EBA8 24630001 */ addiu $v1, $v1, 1 -/* 02F7AC 8002EBAC 468094A0 */ cvt.s.w $f18, $f18 -/* 02F7B0 8002EBB0 E452FFE0 */ swc1 $f18, -0x20($v0) -/* 02F7B4 8002EBB4 90790000 */ lbu $t9, ($v1) -/* 02F7B8 8002EBB8 00000000 */ nop -/* 02F7BC 8002EBBC 03320019 */ multu $t9, $s2 -/* 02F7C0 8002EBC0 00007012 */ mflo $t6 -/* 02F7C4 8002EBC4 022E7821 */ addu $t7, $s1, $t6 -/* 02F7C8 8002EBC8 85F80004 */ lh $t8, 4($t7) -/* 02F7CC 8002EBCC A450FFEE */ sh $s0, -0x12($v0) -/* 02F7D0 8002EBD0 44989000 */ mtc1 $t8, $f18 -/* 02F7D4 8002EBD4 00000000 */ nop -/* 02F7D8 8002EBD8 468094A0 */ cvt.s.w $f18, $f18 -/* 02F7DC 8002EBDC E452FFE8 */ swc1 $f18, -0x18($v0) -/* 02F7E0 8002EBE0 90790001 */ lbu $t9, 1($v1) -/* 02F7E4 8002EBE4 1455FFEB */ bne $v0, $s5, .L8002EB94 -/* 02F7E8 8002EBE8 03320019 */ multu $t9, $s2 -.L8002EBEC: -/* 02F7EC 8002EBEC 00007012 */ mflo $t6 -/* 02F7F0 8002EBF0 022E7821 */ addu $t7, $s1, $t6 -/* 02F7F4 8002EBF4 85F80000 */ lh $t8, ($t7) -/* 02F7F8 8002EBF8 24630001 */ addiu $v1, $v1, 1 -/* 02F7FC 8002EBFC 44989000 */ mtc1 $t8, $f18 -/* 02F800 8002EC00 00000000 */ nop -/* 02F804 8002EC04 468094A0 */ cvt.s.w $f18, $f18 -/* 02F808 8002EC08 E452FFF0 */ swc1 $f18, -0x10($v0) -/* 02F80C 8002EC0C 90790000 */ lbu $t9, ($v1) -/* 02F810 8002EC10 00000000 */ nop -/* 02F814 8002EC14 03320019 */ multu $t9, $s2 -/* 02F818 8002EC18 00007012 */ mflo $t6 -/* 02F81C 8002EC1C 022E7821 */ addu $t7, $s1, $t6 -/* 02F820 8002EC20 85F80004 */ lh $t8, 4($t7) -/* 02F824 8002EC24 A450FFFE */ sh $s0, -2($v0) -/* 02F828 8002EC28 44989000 */ mtc1 $t8, $f18 -/* 02F82C 8002EC2C 00000000 */ nop -/* 02F830 8002EC30 468094A0 */ cvt.s.w $f18, $f18 -/* 02F834 8002EC34 E452FFF8 */ swc1 $f18, -8($v0) -/* 02F838 8002EC38 C7AC00C0 */ lwc1 $f12, 0xc0($sp) -/* 02F83C 8002EC3C C7AE00C4 */ lwc1 $f14, 0xc4($sp) -/* 02F840 8002EC40 8FA600B0 */ lw $a2, 0xb0($sp) -/* 02F844 8002EC44 8FA700B4 */ lw $a3, 0xb4($sp) -/* 02F848 8002EC48 24190003 */ li $t9, 3 -/* 02F84C 8002EC4C 27AE00D0 */ addiu $t6, $sp, 0xd0 -/* 02F850 8002EC50 AFBF0074 */ sw $ra, 0x74($sp) -/* 02F854 8002EC54 AFAE0014 */ sw $t6, 0x14($sp) -/* 02F858 8002EC58 AFB90010 */ sw $t9, 0x10($sp) -/* 02F85C 8002EC5C 0C00BF5D */ jal func_8002FD74 -/* 02F860 8002EC60 AFAD0088 */ sw $t5, 0x88($sp) -/* 02F864 8002EC64 8FAD0088 */ lw $t5, 0x88($sp) -/* 02F868 8002EC68 8FBF0074 */ lw $ra, 0x74($sp) -/* 02F86C 8002EC6C 10400083 */ beqz $v0, .L8002EE7C -/* 02F870 8002EC70 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F874 8002EC74 8FCF0014 */ lw $t7, 0x14($fp) -/* 02F878 8002EC78 0017C0C0 */ sll $t8, $s7, 3 -/* 02F87C 8002EC7C 01F8C821 */ addu $t9, $t7, $t8 -/* 02F880 8002EC80 97220000 */ lhu $v0, ($t9) -/* 02F884 8002EC84 8FCF0018 */ lw $t7, 0x18($fp) -/* 02F888 8002EC88 00027080 */ sll $t6, $v0, 2 -/* 02F88C 8002EC8C 000EC080 */ sll $t8, $t6, 2 -/* 02F890 8002EC90 01F8C821 */ addu $t9, $t7, $t8 -/* 02F894 8002EC94 01C01025 */ move $v0, $t6 -/* 02F898 8002EC98 AE990000 */ sw $t9, ($s4) -/* 02F89C 8002EC9C 8FCE0018 */ lw $t6, 0x18($fp) -/* 02F8A0 8002ECA0 00027880 */ sll $t7, $v0, 2 -/* 02F8A4 8002ECA4 01CFC021 */ addu $t8, $t6, $t7 -/* 02F8A8 8002ECA8 C7080004 */ lwc1 $f8, 4($t8) -/* 02F8AC 8002ECAC 3C018012 */ lui $at, %hi(D_8011D0F0) # $at, 0x8012 -/* 02F8B0 8002ECB0 4608A032 */ c.eq.s $f20, $f8 -/* 02F8B4 8002ECB4 00000000 */ nop -/* 02F8B8 8002ECB8 45010070 */ bc1t .L8002EE7C -/* 02F8BC 8002ECBC 8FAF00A4 */ lw $t7, 0xa4($sp) -/* 02F8C0 8002ECC0 C42AD0F0 */ lwc1 $f10, %lo(D_8011D0F0)($at) -/* 02F8C4 8002ECC4 27A400D0 */ addiu $a0, $sp, 0xd0 -/* 02F8C8 8002ECC8 460AB03C */ c.lt.s $f22, $f10 -/* 02F8CC 8002ECCC 00000000 */ nop -/* 02F8D0 8002ECD0 45000007 */ bc1f .L8002ECF0 -/* 02F8D4 8002ECD4 00000000 */ nop -/* 02F8D8 8002ECD8 AFBF0074 */ sw $ra, 0x74($sp) -/* 02F8DC 8002ECDC 0C00C132 */ jal func_800304C8 -/* 02F8E0 8002ECE0 AFAD0088 */ sw $t5, 0x88($sp) -/* 02F8E4 8002ECE4 8FAD0088 */ lw $t5, 0x88($sp) -/* 02F8E8 8002ECE8 8FBF0074 */ lw $ra, 0x74($sp) -/* 02F8EC 8002ECEC 00000000 */ nop -.L8002ECF0: -/* 02F8F0 8002ECF0 AFBF0074 */ sw $ra, 0x74($sp) -/* 02F8F4 8002ECF4 24040003 */ li $a0, 3 -/* 02F8F8 8002ECF8 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 02F8FC 8002ECFC 24060004 */ li $a2, 4 -/* 02F900 8002ED00 27A700B0 */ addiu $a3, $sp, 0xb0 -/* 02F904 8002ED04 0C00BFDB */ jal func_8002FF6C -/* 02F908 8002ED08 AFAD0088 */ sw $t5, 0x88($sp) -/* 02F90C 8002ED0C 8FAD0088 */ lw $t5, 0x88($sp) -/* 02F910 8002ED10 8FBF0074 */ lw $ra, 0x74($sp) -/* 02F914 8002ED14 28410003 */ slti $at, $v0, 3 -/* 02F918 8002ED18 14200057 */ bnez $at, .L8002EE78 -/* 02F91C 8002ED1C 00406025 */ move $t4, $v0 -/* 02F920 8002ED20 3C0B8012 */ lui $t3, %hi(D_8011C230) # $t3, 0x8012 -/* 02F924 8002ED24 8D6BC230 */ lw $t3, %lo(D_8011C230)($t3) -/* 02F928 8002ED28 3C0E8012 */ lui $t6, %hi(D_8011C238) # $t6, 0x8012 -/* 02F92C 8002ED2C 000BC880 */ sll $t9, $t3, 2 -/* 02F930 8002ED30 032BC823 */ subu $t9, $t9, $t3 -/* 02F934 8002ED34 0019C880 */ sll $t9, $t9, 2 -/* 02F938 8002ED38 25CEC238 */ addiu $t6, %lo(D_8011C238) # addiu $t6, $t6, -0x3dc8 -/* 02F93C 8002ED3C 032E5021 */ addu $t2, $t9, $t6 -/* 02F940 8002ED40 A1400001 */ sb $zero, 1($t2) -/* 02F944 8002ED44 1840003F */ blez $v0, .L8002EE44 -/* 02F948 8002ED48 00004025 */ move $t0, $zero -/* 02F94C 8002ED4C 27A700D0 */ addiu $a3, $sp, 0xd0 -.L8002ED50: -/* 02F950 8002ED50 84E3000E */ lh $v1, 0xe($a3) -/* 02F954 8002ED54 01487021 */ addu $t6, $t2, $t0 -/* 02F958 8002ED58 04610032 */ bgez $v1, .L8002EE24 -/* 02F95C 8002ED5C 24180001 */ li $t8, 1 -/* 02F960 8002ED60 000B7880 */ sll $t7, $t3, 2 -/* 02F964 8002ED64 01EB7823 */ subu $t7, $t7, $t3 -/* 02F968 8002ED68 8E660000 */ lw $a2, ($s3) -/* 02F96C 8002ED6C 000F7880 */ sll $t7, $t7, 2 -/* 02F970 8002ED70 3C198012 */ lui $t9, %hi(D_8011C238) # $t9, 0x8012 -/* 02F974 8002ED74 2739C238 */ addiu $t9, %lo(D_8011C238) # addiu $t9, $t9, -0x3dc8 -/* 02F978 8002ED78 01E8C021 */ addu $t8, $t7, $t0 -/* 02F97C 8002ED7C 02002825 */ move $a1, $s0 -/* 02F980 8002ED80 00002025 */ move $a0, $zero -/* 02F984 8002ED84 18C00018 */ blez $a2, .L8002EDE8 -/* 02F988 8002ED88 03194821 */ addu $t1, $t8, $t9 -/* 02F98C 8002ED8C 00007100 */ sll $t6, $zero, 4 -/* 02F990 8002ED90 C4E00000 */ lwc1 $f0, ($a3) -/* 02F994 8002ED94 02CE1821 */ addu $v1, $s6, $t6 -.L8002ED98: -/* 02F998 8002ED98 C4700000 */ lwc1 $f16, ($v1) -/* 02F99C 8002ED9C 00000000 */ nop -/* 02F9A0 8002EDA0 46008032 */ c.eq.s $f16, $f0 -/* 02F9A4 8002EDA4 00000000 */ nop -/* 02F9A8 8002EDA8 45000009 */ bc1f .L8002EDD0 -/* 02F9AC 8002EDAC 00000000 */ nop -/* 02F9B0 8002EDB0 C4720008 */ lwc1 $f18, 8($v1) -/* 02F9B4 8002EDB4 C4E40008 */ lwc1 $f4, 8($a3) -/* 02F9B8 8002EDB8 00000000 */ nop -/* 02F9BC 8002EDBC 46049032 */ c.eq.s $f18, $f4 -/* 02F9C0 8002EDC0 00000000 */ nop -/* 02F9C4 8002EDC4 45000002 */ bc1f .L8002EDD0 -/* 02F9C8 8002EDC8 00000000 */ nop -/* 02F9CC 8002EDCC 00802825 */ move $a1, $a0 -.L8002EDD0: -/* 02F9D0 8002EDD0 24840001 */ addiu $a0, $a0, 1 -/* 02F9D4 8002EDD4 0086082A */ slt $at, $a0, $a2 -/* 02F9D8 8002EDD8 10200003 */ beqz $at, .L8002EDE8 -/* 02F9DC 8002EDDC 24630010 */ addiu $v1, $v1, 0x10 -/* 02F9E0 8002EDE0 10B0FFED */ beq $a1, $s0, .L8002ED98 -/* 02F9E4 8002EDE4 00000000 */ nop -.L8002EDE8: -/* 02F9E8 8002EDE8 14B0000C */ bne $a1, $s0, .L8002EE1C -/* 02F9EC 8002EDEC 00067900 */ sll $t7, $a2, 4 -/* 02F9F0 8002EDF0 C4E60000 */ lwc1 $f6, ($a3) -/* 02F9F4 8002EDF4 8E980000 */ lw $t8, ($s4) -/* 02F9F8 8002EDF8 C4E80008 */ lwc1 $f8, 8($a3) -/* 02F9FC 8002EDFC 02CF1821 */ addu $v1, $s6, $t7 -/* 02FA00 8002EE00 24D90001 */ addiu $t9, $a2, 1 -/* 02FA04 8002EE04 AE790000 */ sw $t9, ($s3) -/* 02FA08 8002EE08 A1260002 */ sb $a2, 2($t1) -/* 02FA0C 8002EE0C E4660000 */ swc1 $f6, ($v1) -/* 02FA10 8002EE10 AC78000C */ sw $t8, 0xc($v1) -/* 02FA14 8002EE14 10000008 */ b .L8002EE38 -/* 02FA18 8002EE18 E4680008 */ swc1 $f8, 8($v1) -.L8002EE1C: -/* 02FA1C 8002EE1C 10000006 */ b .L8002EE38 -/* 02FA20 8002EE20 A1250002 */ sb $a1, 2($t1) -.L8002EE24: -/* 02FA24 8002EE24 A1C30002 */ sb $v1, 2($t6) -/* 02FA28 8002EE28 914F0001 */ lbu $t7, 1($t2) -/* 02FA2C 8002EE2C 0118C804 */ sllv $t9, $t8, $t0 -/* 02FA30 8002EE30 01F97025 */ or $t6, $t7, $t9 -/* 02FA34 8002EE34 A14E0001 */ sb $t6, 1($t2) -.L8002EE38: -/* 02FA38 8002EE38 25080001 */ addiu $t0, $t0, 1 -/* 02FA3C 8002EE3C 150CFFC4 */ bne $t0, $t4, .L8002ED50 -/* 02FA40 8002EE40 24E70010 */ addiu $a3, $a3, 0x10 -.L8002EE44: -/* 02FA44 8002EE44 A1420000 */ sb $v0, ($t2) -/* 02FA48 8002EE48 A54D000A */ sh $t5, 0xa($t2) -/* 02FA4C 8002EE4C 3C038012 */ lui $v1, %hi(D_8011D0E8) # $v1, 0x8012 -/* 02FA50 8002EE50 8C63D0E8 */ lw $v1, %lo(D_8011D0E8)($v1) -/* 02FA54 8002EE54 25780001 */ addiu $t8, $t3, 1 -/* 02FA58 8002EE58 3C018012 */ lui $at, %hi(D_8011C230) # $at, 0x8012 -/* 02FA5C 8002EE5C 04600004 */ bltz $v1, .L8002EE70 -/* 02FA60 8002EE60 AC38C230 */ sw $t8, %lo(D_8011C230)($at) -/* 02FA64 8002EE64 11A30002 */ beq $t5, $v1, .L8002EE70 -/* 02FA68 8002EE68 3C018012 */ lui $at, %hi(D_8011D0EC) # $at, 0x8012 -/* 02FA6C 8002EE6C AC20D0EC */ sw $zero, %lo(D_8011D0EC)($at) -.L8002EE70: -/* 02FA70 8002EE70 3C018012 */ lui $at, %hi(D_8011D0E8) # $at, 0x8012 -/* 02FA74 8002EE74 AC2DD0E8 */ sw $t5, %lo(D_8011D0E8)($at) -.L8002EE78: -/* 02FA78 8002EE78 8FAF00A4 */ lw $t7, 0xa4($sp) -.L8002EE7C: -/* 02FA7C 8002EE7C 26F70001 */ addiu $s7, $s7, 1 -/* 02FA80 8002EE80 02EF082A */ slt $at, $s7, $t7 -/* 02FA84 8002EE84 1420FF0B */ bnez $at, .L8002EAB4 -/* 02FA88 8002EE88 27FF0002 */ addiu $ra, $ra, 2 -/* 02FA8C 8002EE8C 87C70020 */ lh $a3, 0x20($fp) -/* 02FA90 8002EE90 2405000C */ li $a1, 12 -.L8002EE94: -/* 02FA94 8002EE94 8FA800AC */ lw $t0, 0xac($sp) -/* 02FA98 8002EE98 00000000 */ nop -/* 02FA9C 8002EE9C 25080001 */ addiu $t0, $t0, 1 -/* 02FAA0 8002EEA0 0107082A */ slt $at, $t0, $a3 -/* 02FAA4 8002EEA4 1420FEDA */ bnez $at, .L8002EA10 -/* 02FAA8 8002EEA8 8FAE0158 */ lw $t6, 0x158($sp) -/* 02FAAC 8002EEAC 8FBF0054 */ lw $ra, 0x54($sp) -.L8002EEB0: -/* 02FAB0 8002EEB0 C7B50020 */ lwc1 $f21, 0x20($sp) -/* 02FAB4 8002EEB4 C7B40024 */ lwc1 $f20, 0x24($sp) -/* 02FAB8 8002EEB8 C7B70028 */ lwc1 $f23, 0x28($sp) -/* 02FABC 8002EEBC C7B6002C */ lwc1 $f22, 0x2c($sp) -/* 02FAC0 8002EEC0 8FB00030 */ lw $s0, 0x30($sp) -/* 02FAC4 8002EEC4 8FB10034 */ lw $s1, 0x34($sp) -/* 02FAC8 8002EEC8 8FB20038 */ lw $s2, 0x38($sp) -/* 02FACC 8002EECC 8FB3003C */ lw $s3, 0x3c($sp) -/* 02FAD0 8002EED0 8FB40040 */ lw $s4, 0x40($sp) -/* 02FAD4 8002EED4 8FB50044 */ lw $s5, 0x44($sp) -/* 02FAD8 8002EED8 8FB60048 */ lw $s6, 0x48($sp) -/* 02FADC 8002EEDC 8FB7004C */ lw $s7, 0x4c($sp) -/* 02FAE0 8002EEE0 8FBE0050 */ lw $fp, 0x50($sp) -/* 02FAE4 8002EEE4 03E00008 */ jr $ra -/* 02FAE8 8002EEE8 27BD0150 */ addiu $sp, $sp, 0x150 - -glabel func_8002EEEC -/* 02FAEC 8002EEEC 27BDFED8 */ addiu $sp, $sp, -0x128 -/* 02FAF0 8002EEF0 3C028012 */ lui $v0, %hi(D_8011D0C4) # $v0, 0x8012 -/* 02FAF4 8002EEF4 8C42D0C4 */ lw $v0, %lo(D_8011D0C4)($v0) -/* 02FAF8 8002EEF8 AFBF0044 */ sw $ra, 0x44($sp) -/* 02FAFC 8002EEFC AFB70040 */ sw $s7, 0x40($sp) -/* 02FB00 8002EF00 AFB6003C */ sw $s6, 0x3c($sp) -/* 02FB04 8002EF04 AFB50038 */ sw $s5, 0x38($sp) -/* 02FB08 8002EF08 AFB40034 */ sw $s4, 0x34($sp) -/* 02FB0C 8002EF0C AFB30030 */ sw $s3, 0x30($sp) -/* 02FB10 8002EF10 AFB2002C */ sw $s2, 0x2c($sp) -/* 02FB14 8002EF14 AFB10028 */ sw $s1, 0x28($sp) -/* 02FB18 8002EF18 AFB00024 */ sw $s0, 0x24($sp) -/* 02FB1C 8002EF1C 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 02FB20 8002EF20 C420D0DC */ lwc1 $f0, %lo(D_8011D0DC)($at) -/* 02FB24 8002EF24 C444000C */ lwc1 $f4, 0xc($v0) -/* 02FB28 8002EF28 3C018012 */ lui $at, %hi(D_8011D0E0) # $at, 0x8012 -/* 02FB2C 8002EF2C 46002180 */ add.s $f6, $f4, $f0 -/* 02FB30 8002EF30 C422D0E0 */ lwc1 $f2, %lo(D_8011D0E0)($at) -/* 02FB34 8002EF34 E7A60088 */ swc1 $f6, 0x88($sp) -/* 02FB38 8002EF38 C4480014 */ lwc1 $f8, 0x14($v0) -/* 02FB3C 8002EF3C 3C178012 */ lui $s7, %hi(D_8011D0B8) # $s7, 0x8012 -/* 02FB40 8002EF40 46024280 */ add.s $f10, $f8, $f2 -/* 02FB44 8002EF44 26F7D0B8 */ addiu $s7, %lo(D_8011D0B8) # addiu $s7, $s7, -0x2f48 -/* 02FB48 8002EF48 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 02FB4C 8002EF4C C450000C */ lwc1 $f16, 0xc($v0) -/* 02FB50 8002EF50 8EEE0000 */ lw $t6, ($s7) -/* 02FB54 8002EF54 46008481 */ sub.s $f18, $f16, $f0 -/* 02FB58 8002EF58 3C188012 */ lui $t8, %hi(D_8011C8B8) # $t8, 0x8012 -/* 02FB5C 8002EF5C E7B20090 */ swc1 $f18, 0x90($sp) -/* 02FB60 8002EF60 C4440014 */ lwc1 $f4, 0x14($v0) -/* 02FB64 8002EF64 2718C8B8 */ addiu $t8, %lo(D_8011C8B8) # addiu $t8, $t8, -0x3748 -/* 02FB68 8002EF68 46022180 */ add.s $f6, $f4, $f2 -/* 02FB6C 8002EF6C 3C058012 */ lui $a1, %hi(D_8011C3B8) # $a1, 0x8012 -/* 02FB70 8002EF70 E7A60094 */ swc1 $f6, 0x94($sp) -/* 02FB74 8002EF74 C448000C */ lwc1 $f8, 0xc($v0) -/* 02FB78 8002EF78 000E7900 */ sll $t7, $t6, 4 -/* 02FB7C 8002EF7C 46004281 */ sub.s $f10, $f8, $f0 -/* 02FB80 8002EF80 01F83021 */ addu $a2, $t7, $t8 -/* 02FB84 8002EF84 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 02FB88 8002EF88 C4500014 */ lwc1 $f16, 0x14($v0) -/* 02FB8C 8002EF8C 8FA70098 */ lw $a3, 0x98($sp) -/* 02FB90 8002EF90 46028481 */ sub.s $f18, $f16, $f2 -/* 02FB94 8002EF94 24A5C3B8 */ addiu $a1, %lo(D_8011C3B8) # addiu $a1, $a1, -0x3c48 -/* 02FB98 8002EF98 E7B2009C */ swc1 $f18, 0x9c($sp) -/* 02FB9C 8002EF9C C444000C */ lwc1 $f4, 0xc($v0) -/* 02FBA0 8002EFA0 C7B0009C */ lwc1 $f16, 0x9c($sp) -/* 02FBA4 8002EFA4 46002180 */ add.s $f6, $f4, $f0 -/* 02FBA8 8002EFA8 C7A4008C */ lwc1 $f4, 0x8c($sp) -/* 02FBAC 8002EFAC E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 02FBB0 8002EFB0 C4480014 */ lwc1 $f8, 0x14($v0) -/* 02FBB4 8002EFB4 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 02FBB8 8002EFB8 46024281 */ sub.s $f10, $f8, $f2 -/* 02FBBC 8002EFBC E7B00010 */ swc1 $f16, 0x10($sp) -/* 02FBC0 8002EFC0 E7AA00A4 */ swc1 $f10, 0xa4($sp) -/* 02FBC4 8002EFC4 E7A40018 */ swc1 $f4, 0x18($sp) -/* 02FBC8 8002EFC8 0C02F720 */ jal func_800BDC80 -/* 02FBCC 8002EFCC E7B20014 */ swc1 $f18, 0x14($sp) -/* 02FBD0 8002EFD0 0040B025 */ move $s6, $v0 -/* 02FBD4 8002EFD4 184000A7 */ blez $v0, .L8002F274 -/* 02FBD8 8002EFD8 0000A025 */ move $s4, $zero -/* 02FBDC 8002EFDC 3C108012 */ lui $s0, %hi(D_8011C3B8) # $s0, 0x8012 -/* 02FBE0 8002EFE0 3C158012 */ lui $s5, %hi(D_8011C230) # $s5, 0x8012 -/* 02FBE4 8002EFE4 3C138012 */ lui $s3, %hi(D_8011B120) # $s3, 0x8012 -/* 02FBE8 8002EFE8 3C118012 */ lui $s1, %hi(D_8011D0BC) # $s1, 0x8012 -/* 02FBEC 8002EFEC 2631D0BC */ addiu $s1, %lo(D_8011D0BC) # addiu $s1, $s1, -0x2f44 -/* 02FBF0 8002EFF0 2673B120 */ addiu $s3, %lo(D_8011B120) # addiu $s3, $s3, -0x4ee0 -/* 02FBF4 8002EFF4 26B5C230 */ addiu $s5, %lo(D_8011C230) # addiu $s5, $s5, -0x3dd0 -/* 02FBF8 8002EFF8 2610C3B8 */ addiu $s0, %lo(D_8011C3B8) # addiu $s0, $s0, -0x3c48 -/* 02FBFC 8002EFFC 27B200D8 */ addiu $s2, $sp, 0xd8 -/* 02FC00 8002F000 2408FFFF */ li $t0, -1 -.L8002F004: -/* 02FC04 8002F004 86050002 */ lh $a1, 2($s0) -/* 02FC08 8002F008 86030008 */ lh $v1, 8($s0) -/* 02FC0C 8002F00C 3C068012 */ lui $a2, %hi(D_8011D0CE) # $a2, 0x8012 -/* 02FC10 8002F010 84C6D0CE */ lh $a2, %lo(D_8011D0CE)($a2) -/* 02FC14 8002F014 0065082A */ slt $at, $v1, $a1 -/* 02FC18 8002F018 10200003 */ beqz $at, .L8002F028 -/* 02FC1C 8002F01C 00A02025 */ move $a0, $a1 -/* 02FC20 8002F020 10000005 */ b .L8002F038 -/* 02FC24 8002F024 00602025 */ move $a0, $v1 -.L8002F028: -/* 02FC28 8002F028 00A3082A */ slt $at, $a1, $v1 -/* 02FC2C 8002F02C 10200002 */ beqz $at, .L8002F038 -/* 02FC30 8002F030 00000000 */ nop -/* 02FC34 8002F034 00602825 */ move $a1, $v1 -.L8002F038: -/* 02FC38 8002F038 8602000E */ lh $v0, 0xe($s0) -/* 02FC3C 8002F03C 3C198012 */ lui $t9, %hi(D_8011D0CC) # $t9, 0x8012 -/* 02FC40 8002F040 0044082A */ slt $at, $v0, $a0 -/* 02FC44 8002F044 10200004 */ beqz $at, .L8002F058 -/* 02FC48 8002F048 00A2082A */ slt $at, $a1, $v0 -/* 02FC4C 8002F04C 10000005 */ b .L8002F064 -/* 02FC50 8002F050 00402025 */ move $a0, $v0 -/* 02FC54 8002F054 00A2082A */ slt $at, $a1, $v0 -.L8002F058: -/* 02FC58 8002F058 10200003 */ beqz $at, .L8002F068 -/* 02FC5C 8002F05C 00C4082A */ slt $at, $a2, $a0 -/* 02FC60 8002F060 00402825 */ move $a1, $v0 -.L8002F064: -/* 02FC64 8002F064 00C4082A */ slt $at, $a2, $a0 -.L8002F068: -/* 02FC68 8002F068 1420007E */ bnez $at, .L8002F264 -/* 02FC6C 8002F06C 00000000 */ nop -/* 02FC70 8002F070 8739D0CC */ lh $t9, %lo(D_8011D0CC)($t9) -/* 02FC74 8002F074 27A200A8 */ addiu $v0, $sp, 0xa8 -/* 02FC78 8002F078 00B9082A */ slt $at, $a1, $t9 -/* 02FC7C 8002F07C 14200079 */ bnez $at, .L8002F264 -/* 02FC80 8002F080 24040003 */ li $a0, 3 -/* 02FC84 8002F084 860E0000 */ lh $t6, ($s0) -/* 02FC88 8002F088 860F0004 */ lh $t7, 4($s0) -/* 02FC8C 8002F08C 448E9000 */ mtc1 $t6, $f18 -/* 02FC90 8002F090 448F8000 */ mtc1 $t7, $f16 -/* 02FC94 8002F094 468094A0 */ cvt.s.w $f18, $f18 -/* 02FC98 8002F098 86180006 */ lh $t8, 6($s0) -/* 02FC9C 8002F09C 8619000A */ lh $t9, 0xa($s0) -/* 02FCA0 8002F0A0 44987000 */ mtc1 $t8, $f14 -/* 02FCA4 8002F0A4 46808420 */ cvt.s.w $f16, $f16 -/* 02FCA8 8002F0A8 44996000 */ mtc1 $t9, $f12 -/* 02FCAC 8002F0AC 860E000C */ lh $t6, 0xc($s0) -/* 02FCB0 8002F0B0 468073A0 */ cvt.s.w $f14, $f14 -/* 02FCB4 8002F0B4 448E5000 */ mtc1 $t6, $f10 -/* 02FCB8 8002F0B8 860F0010 */ lh $t7, 0x10($s0) -/* 02FCBC 8002F0BC 46806320 */ cvt.s.w $f12, $f12 -/* 02FCC0 8002F0C0 448F4000 */ mtc1 $t7, $f8 -/* 02FCC4 8002F0C4 E7B200A8 */ swc1 $f18, 0xa8($sp) -/* 02FCC8 8002F0C8 468052A0 */ cvt.s.w $f10, $f10 -/* 02FCCC 8002F0CC E7B000B0 */ swc1 $f16, 0xb0($sp) -/* 02FCD0 8002F0D0 E7AE00B8 */ swc1 $f14, 0xb8($sp) -/* 02FCD4 8002F0D4 46804220 */ cvt.s.w $f8, $f8 -/* 02FCD8 8002F0D8 E7AC00C0 */ swc1 $f12, 0xc0($sp) -/* 02FCDC 8002F0DC E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 02FCE0 8002F0E0 E7A800D0 */ swc1 $f8, 0xd0($sp) -.L8002F0E4: -/* 02FCE4 8002F0E4 24420010 */ addiu $v0, $v0, 0x10 -/* 02FCE8 8002F0E8 1452FFFE */ bne $v0, $s2, .L8002F0E4 -/* 02FCEC 8002F0EC A448FFFE */ sh $t0, -2($v0) -/* 02FCF0 8002F0F0 8EF80000 */ lw $t8, ($s7) -/* 02FCF4 8002F0F4 00147100 */ sll $t6, $s4, 4 -/* 02FCF8 8002F0F8 0018C900 */ sll $t9, $t8, 4 -/* 02FCFC 8002F0FC 3C188012 */ lui $t8, %hi(D_8011C8B8) # $t8, 0x8012 -/* 02FD00 8002F100 2718C8B8 */ addiu $t8, %lo(D_8011C8B8) # addiu $t8, $t8, -0x3748 -/* 02FD04 8002F104 032E7821 */ addu $t7, $t9, $t6 -/* 02FD08 8002F108 01F8C821 */ addu $t9, $t7, $t8 -/* 02FD0C 8002F10C AE390000 */ sw $t9, ($s1) -/* 02FD10 8002F110 27A500A8 */ addiu $a1, $sp, 0xa8 -/* 02FD14 8002F114 24060004 */ li $a2, 4 -/* 02FD18 8002F118 0C00BFDB */ jal func_8002FF6C -/* 02FD1C 8002F11C 27A70088 */ addiu $a3, $sp, 0x88 -/* 02FD20 8002F120 3C0D8012 */ lui $t5, %hi(D_8011B118) # $t5, 0x8012 -/* 02FD24 8002F124 28410003 */ slti $at, $v0, 3 -/* 02FD28 8002F128 25ADB118 */ addiu $t5, %lo(D_8011B118) # addiu $t5, $t5, -0x4ee8 -/* 02FD2C 8002F12C 2408FFFF */ li $t0, -1 -/* 02FD30 8002F130 1420004C */ bnez $at, .L8002F264 -/* 02FD34 8002F134 0040F825 */ move $ra, $v0 -/* 02FD38 8002F138 8EAC0000 */ lw $t4, ($s5) -/* 02FD3C 8002F13C 3C0F8012 */ lui $t7, %hi(D_8011C238) # $t7, 0x8012 -/* 02FD40 8002F140 000C7080 */ sll $t6, $t4, 2 -/* 02FD44 8002F144 01CC7023 */ subu $t6, $t6, $t4 -/* 02FD48 8002F148 000E7080 */ sll $t6, $t6, 2 -/* 02FD4C 8002F14C 25EFC238 */ addiu $t7, %lo(D_8011C238) # addiu $t7, $t7, -0x3dc8 -/* 02FD50 8002F150 01CF5821 */ addu $t3, $t6, $t7 -/* 02FD54 8002F154 A1600001 */ sb $zero, 1($t3) -/* 02FD58 8002F158 1840003F */ blez $v0, .L8002F258 -/* 02FD5C 8002F15C 00004825 */ move $t1, $zero -/* 02FD60 8002F160 27A700A8 */ addiu $a3, $sp, 0xa8 -.L8002F164: -/* 02FD64 8002F164 84E3000E */ lh $v1, 0xe($a3) -/* 02FD68 8002F168 01697821 */ addu $t7, $t3, $t1 -/* 02FD6C 8002F16C 04610032 */ bgez $v1, .L8002F238 -/* 02FD70 8002F170 24190001 */ li $t9, 1 -/* 02FD74 8002F174 000CC080 */ sll $t8, $t4, 2 -/* 02FD78 8002F178 030CC023 */ subu $t8, $t8, $t4 -/* 02FD7C 8002F17C 8DA60000 */ lw $a2, ($t5) -/* 02FD80 8002F180 0018C080 */ sll $t8, $t8, 2 -/* 02FD84 8002F184 3C0E8012 */ lui $t6, %hi(D_8011C238) # $t6, 0x8012 -/* 02FD88 8002F188 25CEC238 */ addiu $t6, %lo(D_8011C238) # addiu $t6, $t6, -0x3dc8 -/* 02FD8C 8002F18C 0309C821 */ addu $t9, $t8, $t1 -/* 02FD90 8002F190 01002825 */ move $a1, $t0 -/* 02FD94 8002F194 00001825 */ move $v1, $zero -/* 02FD98 8002F198 18C00018 */ blez $a2, .L8002F1FC -/* 02FD9C 8002F19C 032E5021 */ addu $t2, $t9, $t6 -/* 02FDA0 8002F1A0 00007900 */ sll $t7, $zero, 4 -/* 02FDA4 8002F1A4 C4E00000 */ lwc1 $f0, ($a3) -/* 02FDA8 8002F1A8 026F2021 */ addu $a0, $s3, $t7 -.L8002F1AC: -/* 02FDAC 8002F1AC C4860000 */ lwc1 $f6, ($a0) -/* 02FDB0 8002F1B0 00000000 */ nop -/* 02FDB4 8002F1B4 46003032 */ c.eq.s $f6, $f0 -/* 02FDB8 8002F1B8 00000000 */ nop -/* 02FDBC 8002F1BC 45000009 */ bc1f .L8002F1E4 -/* 02FDC0 8002F1C0 00000000 */ nop -/* 02FDC4 8002F1C4 C4880008 */ lwc1 $f8, 8($a0) -/* 02FDC8 8002F1C8 C4EA0008 */ lwc1 $f10, 8($a3) -/* 02FDCC 8002F1CC 00000000 */ nop -/* 02FDD0 8002F1D0 460A4032 */ c.eq.s $f8, $f10 -/* 02FDD4 8002F1D4 00000000 */ nop -/* 02FDD8 8002F1D8 45000002 */ bc1f .L8002F1E4 -/* 02FDDC 8002F1DC 00000000 */ nop -/* 02FDE0 8002F1E0 00602825 */ move $a1, $v1 -.L8002F1E4: -/* 02FDE4 8002F1E4 24630001 */ addiu $v1, $v1, 1 -/* 02FDE8 8002F1E8 0066082A */ slt $at, $v1, $a2 -/* 02FDEC 8002F1EC 10200003 */ beqz $at, .L8002F1FC -/* 02FDF0 8002F1F0 24840010 */ addiu $a0, $a0, 0x10 -/* 02FDF4 8002F1F4 10A8FFED */ beq $a1, $t0, .L8002F1AC -/* 02FDF8 8002F1F8 00000000 */ nop -.L8002F1FC: -/* 02FDFC 8002F1FC 14A8000C */ bne $a1, $t0, .L8002F230 -/* 02FE00 8002F200 0006C100 */ sll $t8, $a2, 4 -/* 02FE04 8002F204 C4F00000 */ lwc1 $f16, ($a3) -/* 02FE08 8002F208 8E390000 */ lw $t9, ($s1) -/* 02FE0C 8002F20C C4F20008 */ lwc1 $f18, 8($a3) -/* 02FE10 8002F210 02781821 */ addu $v1, $s3, $t8 -/* 02FE14 8002F214 24CE0001 */ addiu $t6, $a2, 1 -/* 02FE18 8002F218 ADAE0000 */ sw $t6, ($t5) -/* 02FE1C 8002F21C A1460002 */ sb $a2, 2($t2) -/* 02FE20 8002F220 E4700000 */ swc1 $f16, ($v1) -/* 02FE24 8002F224 AC79000C */ sw $t9, 0xc($v1) -/* 02FE28 8002F228 10000008 */ b .L8002F24C -/* 02FE2C 8002F22C E4720008 */ swc1 $f18, 8($v1) -.L8002F230: -/* 02FE30 8002F230 10000006 */ b .L8002F24C -/* 02FE34 8002F234 A1450002 */ sb $a1, 2($t2) -.L8002F238: -/* 02FE38 8002F238 A1E30002 */ sb $v1, 2($t7) -/* 02FE3C 8002F23C 91780001 */ lbu $t8, 1($t3) -/* 02FE40 8002F240 01397004 */ sllv $t6, $t9, $t1 -/* 02FE44 8002F244 030E7825 */ or $t7, $t8, $t6 -/* 02FE48 8002F248 A16F0001 */ sb $t7, 1($t3) -.L8002F24C: -/* 02FE4C 8002F24C 25290001 */ addiu $t1, $t1, 1 -/* 02FE50 8002F250 153FFFC4 */ bne $t1, $ra, .L8002F164 -/* 02FE54 8002F254 24E70010 */ addiu $a3, $a3, 0x10 -.L8002F258: -/* 02FE58 8002F258 25990001 */ addiu $t9, $t4, 1 -/* 02FE5C 8002F25C AEB90000 */ sw $t9, ($s5) -/* 02FE60 8002F260 A1620000 */ sb $v0, ($t3) -.L8002F264: -/* 02FE64 8002F264 26940001 */ addiu $s4, $s4, 1 -/* 02FE68 8002F268 0296082A */ slt $at, $s4, $s6 -/* 02FE6C 8002F26C 1420FF65 */ bnez $at, .L8002F004 -/* 02FE70 8002F270 26100014 */ addiu $s0, $s0, 0x14 -.L8002F274: -/* 02FE74 8002F274 8EF80000 */ lw $t8, ($s7) -/* 02FE78 8002F278 8FBF0044 */ lw $ra, 0x44($sp) -/* 02FE7C 8002F27C 03167021 */ addu $t6, $t8, $s6 -/* 02FE80 8002F280 AEEE0000 */ sw $t6, ($s7) -/* 02FE84 8002F284 8FB70040 */ lw $s7, 0x40($sp) -/* 02FE88 8002F288 8FB6003C */ lw $s6, 0x3c($sp) -/* 02FE8C 8002F28C 8FB00024 */ lw $s0, 0x24($sp) -/* 02FE90 8002F290 8FB10028 */ lw $s1, 0x28($sp) -/* 02FE94 8002F294 8FB2002C */ lw $s2, 0x2c($sp) -/* 02FE98 8002F298 8FB30030 */ lw $s3, 0x30($sp) -/* 02FE9C 8002F29C 8FB40034 */ lw $s4, 0x34($sp) -/* 02FEA0 8002F2A0 8FB50038 */ lw $s5, 0x38($sp) -/* 02FEA4 8002F2A4 03E00008 */ jr $ra -/* 02FEA8 8002F2A8 27BD0128 */ addiu $sp, $sp, 0x128 - -glabel func_8002F2AC -/* 02FEAC 8002F2AC 3C038012 */ lui $v1, %hi(D_8011B118) # $v1, 0x8012 -/* 02FEB0 8002F2B0 8C63B118 */ lw $v1, %lo(D_8011B118)($v1) -/* 02FEB4 8002F2B4 3C0E8012 */ lui $t6, 0x8012 -/* 02FEB8 8002F2B8 18600028 */ blez $v1, .L8002F35C -/* 02FEBC 8002F2BC 25C4B120 */ addiu $a0, $t6, -0x4ee0 -/* 02FEC0 8002F2C0 00037900 */ sll $t7, $v1, 4 -/* 02FEC4 8002F2C4 01E42821 */ addu $a1, $t7, $a0 -/* 02FEC8 8002F2C8 24840010 */ addiu $a0, $a0, 0x10 -/* 02FECC 8002F2CC 0085082B */ sltu $at, $a0, $a1 -/* 02FED0 8002F2D0 8C82FFFC */ lw $v0, -4($a0) -/* 02FED4 8002F2D4 C492FFF0 */ lwc1 $f18, -0x10($a0) -/* 02FED8 8002F2D8 10200013 */ beqz $at, .L8002F328 -/* 02FEDC 8002F2DC 00000000 */ nop -.L8002F2E0: -/* 02FEE0 8002F2E0 C4500000 */ lwc1 $f16, ($v0) -/* 02FEE4 8002F2E4 C48EFFF8 */ lwc1 $f14, -8($a0) -/* 02FEE8 8002F2E8 46109402 */ mul.s $f16, $f18, $f16 -/* 02FEEC 8002F2EC C44C0008 */ lwc1 $f12, 8($v0) -/* 02FEF0 8002F2F0 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02FEF4 8002F2F4 C4480004 */ lwc1 $f8, 4($v0) -/* 02FEF8 8002F2F8 460C7302 */ mul.s $f12, $f14, $f12 -/* 02FEFC 8002F2FC C4920000 */ lwc1 $f18, ($a0) -/* 02FF00 8002F300 24840010 */ addiu $a0, $a0, 0x10 -/* 02FF04 8002F304 8C82FFFC */ lw $v0, -4($a0) -/* 02FF08 8002F308 460C8300 */ add.s $f12, $f16, $f12 -/* 02FF0C 8002F30C 0085082B */ sltu $at, $a0, $a1 -/* 02FF10 8002F310 460A6280 */ add.s $f10, $f12, $f10 -/* 02FF14 8002F314 46005287 */ neg.s $f10, $f10 -/* 02FF18 8002F318 00000000 */ nop -/* 02FF1C 8002F31C 46085203 */ div.s $f8, $f10, $f8 -/* 02FF20 8002F320 1420FFEF */ bnez $at, .L8002F2E0 -/* 02FF24 8002F324 E488FFE4 */ swc1 $f8, -0x1c($a0) -.L8002F328: -/* 02FF28 8002F328 C4500000 */ lwc1 $f16, ($v0) -/* 02FF2C 8002F32C C48EFFF8 */ lwc1 $f14, -8($a0) -/* 02FF30 8002F330 46109402 */ mul.s $f16, $f18, $f16 -/* 02FF34 8002F334 C44C0008 */ lwc1 $f12, 8($v0) -/* 02FF38 8002F338 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02FF3C 8002F33C C4480004 */ lwc1 $f8, 4($v0) -/* 02FF40 8002F340 460C7302 */ mul.s $f12, $f14, $f12 -/* 02FF44 8002F344 460C8300 */ add.s $f12, $f16, $f12 -/* 02FF48 8002F348 460A6280 */ add.s $f10, $f12, $f10 -/* 02FF4C 8002F34C 46005287 */ neg.s $f10, $f10 -/* 02FF50 8002F350 00000000 */ nop -/* 02FF54 8002F354 46085203 */ div.s $f8, $f10, $f8 -/* 02FF58 8002F358 E488FFF4 */ swc1 $f8, -0xc($a0) -.L8002F35C: -/* 02FF5C 8002F35C 3C058012 */ lui $a1, %hi(D_8011B320) # $a1, 0x8012 -/* 02FF60 8002F360 3C088012 */ lui $t0, %hi(D_8011B330) # $t0, 0x8012 -/* 02FF64 8002F364 2508B330 */ addiu $t0, %lo(D_8011B330) # addiu $t0, $t0, -0x4cd0 -/* 02FF68 8002F368 24A5B320 */ addiu $a1, %lo(D_8011B320) # addiu $a1, $a1, -0x4ce0 -/* 02FF6C 8002F36C 00002025 */ move $a0, $zero -.L8002F370: -/* 02FF70 8002F370 8CA60000 */ lw $a2, ($a1) -/* 02FF74 8002F374 00001825 */ move $v1, $zero -/* 02FF78 8002F378 18C0002C */ blez $a2, .L8002F42C -/* 02FF7C 8002F37C 00801025 */ move $v0, $a0 -/* 02FF80 8002F380 3C198012 */ lui $t9, %hi(D_8011B330) # $t9, 0x8012 -/* 02FF84 8002F384 2739B330 */ addiu $t9, %lo(D_8011B330) # addiu $t9, $t9, -0x4cd0 -/* 02FF88 8002F388 0002C140 */ sll $t8, $v0, 5 -/* 02FF8C 8002F38C 03193821 */ addu $a3, $t8, $t9 -/* 02FF90 8002F390 24630001 */ addiu $v1, $v1, 1 -/* 02FF94 8002F394 0066082A */ slt $at, $v1, $a2 -/* 02FF98 8002F398 8CE2000C */ lw $v0, 0xc($a3) -/* 02FF9C 8002F39C C4F20000 */ lwc1 $f18, ($a3) -/* 02FFA0 8002F3A0 10200014 */ beqz $at, .L8002F3F4 -/* 02FFA4 8002F3A4 00000000 */ nop -.L8002F3A8: -/* 02FFA8 8002F3A8 C4500000 */ lwc1 $f16, ($v0) -/* 02FFAC 8002F3AC C4EE0008 */ lwc1 $f14, 8($a3) -/* 02FFB0 8002F3B0 46109402 */ mul.s $f16, $f18, $f16 -/* 02FFB4 8002F3B4 C44C0008 */ lwc1 $f12, 8($v0) -/* 02FFB8 8002F3B8 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02FFBC 8002F3BC C4480004 */ lwc1 $f8, 4($v0) -/* 02FFC0 8002F3C0 460C7302 */ mul.s $f12, $f14, $f12 -/* 02FFC4 8002F3C4 C4F20020 */ lwc1 $f18, 0x20($a3) -/* 02FFC8 8002F3C8 24630001 */ addiu $v1, $v1, 1 -/* 02FFCC 8002F3CC 8CE2002C */ lw $v0, 0x2c($a3) -/* 02FFD0 8002F3D0 460C8300 */ add.s $f12, $f16, $f12 -/* 02FFD4 8002F3D4 0066082A */ slt $at, $v1, $a2 -/* 02FFD8 8002F3D8 460A6280 */ add.s $f10, $f12, $f10 -/* 02FFDC 8002F3DC 24E70020 */ addiu $a3, $a3, 0x20 -/* 02FFE0 8002F3E0 46005287 */ neg.s $f10, $f10 -/* 02FFE4 8002F3E4 00000000 */ nop -/* 02FFE8 8002F3E8 46085203 */ div.s $f8, $f10, $f8 -/* 02FFEC 8002F3EC 1420FFEE */ bnez $at, .L8002F3A8 -/* 02FFF0 8002F3F0 E4E8FFE4 */ swc1 $f8, -0x1c($a3) -.L8002F3F4: -/* 02FFF4 8002F3F4 C4500000 */ lwc1 $f16, ($v0) -/* 02FFF8 8002F3F8 C4EE0008 */ lwc1 $f14, 8($a3) -/* 02FFFC 8002F3FC 46109402 */ mul.s $f16, $f18, $f16 -/* 030000 8002F400 C44C0008 */ lwc1 $f12, 8($v0) -/* 030004 8002F404 C44A000C */ lwc1 $f10, 0xc($v0) -/* 030008 8002F408 C4480004 */ lwc1 $f8, 4($v0) -/* 03000C 8002F40C 460C7302 */ mul.s $f12, $f14, $f12 -/* 030010 8002F410 24E70020 */ addiu $a3, $a3, 0x20 -/* 030014 8002F414 460C8300 */ add.s $f12, $f16, $f12 -/* 030018 8002F418 460A6280 */ add.s $f10, $f12, $f10 -/* 03001C 8002F41C 46005287 */ neg.s $f10, $f10 -/* 030020 8002F420 00000000 */ nop -/* 030024 8002F424 46085203 */ div.s $f8, $f10, $f8 -/* 030028 8002F428 E4E8FFE4 */ swc1 $f8, -0x1c($a3) -.L8002F42C: -/* 03002C 8002F42C 24A50004 */ addiu $a1, $a1, 4 -/* 030030 8002F430 14A8FFCF */ bne $a1, $t0, .L8002F370 -/* 030034 8002F434 24840020 */ addiu $a0, $a0, 0x20 -/* 030038 8002F438 03E00008 */ jr $ra -/* 03003C 8002F43C 00000000 */ nop - -glabel func_8002F440 -/* 030040 8002F440 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 030044 8002F444 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 -/* 030048 8002F448 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c -/* 03004C 8002F44C 8D8E0000 */ lw $t6, ($t4) -/* 030050 8002F450 AFBF003C */ sw $ra, 0x3c($sp) -/* 030054 8002F454 AFBE0038 */ sw $fp, 0x38($sp) -/* 030058 8002F458 AFB70034 */ sw $s7, 0x34($sp) -/* 03005C 8002F45C AFB60030 */ sw $s6, 0x30($sp) -/* 030060 8002F460 AFB5002C */ sw $s5, 0x2c($sp) -/* 030064 8002F464 AFB40028 */ sw $s4, 0x28($sp) -/* 030068 8002F468 AFB30024 */ sw $s3, 0x24($sp) -/* 03006C 8002F46C AFB20020 */ sw $s2, 0x20($sp) -/* 030070 8002F470 AFB1001C */ sw $s1, 0x1c($sp) -/* 030074 8002F474 AFB00018 */ sw $s0, 0x18($sp) -/* 030078 8002F478 85C40000 */ lh $a0, ($t6) -/* 03007C 8002F47C 0C01C1F1 */ jal func_800707C4 -/* 030080 8002F480 241700FF */ li $s7, 255 -/* 030084 8002F484 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 -/* 030088 8002F488 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c -/* 03008C 8002F48C 8D8F0000 */ lw $t7, ($t4) -/* 030090 8002F490 00000000 */ nop -/* 030094 8002F494 85E40000 */ lh $a0, ($t7) -/* 030098 8002F498 0C01C1FE */ jal func_800707F8 -/* 03009C 8002F49C E7A00074 */ swc1 $f0, 0x74($sp) -/* 0300A0 8002F4A0 3C188012 */ lui $t8, %hi(D_8011D0C0) # $t8, 0x8012 -/* 0300A4 8002F4A4 8F18D0C0 */ lw $t8, %lo(D_8011D0C0)($t8) -/* 0300A8 8002F4A8 3C018012 */ lui $at, %hi(D_8011D0DC) # $at, 0x8012 -/* 0300AC 8002F4AC 93190000 */ lbu $t9, ($t8) -/* 0300B0 8002F4B0 C426D0DC */ lwc1 $f6, %lo(D_8011D0DC)($at) -/* 0300B4 8002F4B4 00197100 */ sll $t6, $t9, 4 -/* 0300B8 8002F4B8 448E2000 */ mtc1 $t6, $f4 -/* 0300BC 8002F4BC 3C01800E */ lui $at, %hi(D_800E5F54) # $at, 0x800e -/* 0300C0 8002F4C0 468024A0 */ cvt.s.w $f18, $f4 -/* 0300C4 8002F4C4 C4285F54 */ lwc1 $f8, %lo(D_800E5F54)($at) -/* 0300C8 8002F4C8 3C018012 */ lui $at, %hi(D_8011D0F0) # $at, 0x8012 -/* 0300CC 8002F4CC 46069383 */ div.s $f14, $f18, $f6 -/* 0300D0 8002F4D0 C42CD0F0 */ lwc1 $f12, %lo(D_8011D0F0)($at) -/* 0300D4 8002F4D4 44805000 */ mtc1 $zero, $f10 -/* 0300D8 8002F4D8 3C0C8012 */ lui $t4, %hi(D_8011D0C4) # $t4, 0x8012 -/* 0300DC 8002F4DC 460C503C */ c.lt.s $f10, $f12 -/* 0300E0 8002F4E0 C7B00074 */ lwc1 $f16, 0x74($sp) -/* 0300E4 8002F4E4 3C0D8012 */ lui $t5, %hi(D_8011C238) # $t5, 0x8012 -/* 0300E8 8002F4E8 3C1E8012 */ lui $fp, %hi(D_8011D364) # $fp, 0x8012 -/* 0300EC 8002F4EC 258CD0C4 */ addiu $t4, %lo(D_8011D0C4) # addiu $t4, $t4, -0x2f3c -/* 0300F0 8002F4F0 3C188012 */ lui $t8, %hi(D_8011D0D0) # $t8, 0x8012 -/* 0300F4 8002F4F4 27DED364 */ addiu $fp, %lo(D_8011D364) # addiu $fp, $fp, -0x2c9c -/* 0300F8 8002F4F8 25ADC238 */ addiu $t5, %lo(D_8011C238) # addiu $t5, $t5, -0x3dc8 -/* 0300FC 8002F4FC 46087382 */ mul.s $f14, $f14, $f8 -/* 030100 8002F500 4500002E */ bc1f .L8002F5BC -/* 030104 8002F504 24160040 */ li $s6, 64 -/* 030108 8002F508 8718D0D0 */ lh $t8, %lo(D_8011D0D0)($t8) -/* 03010C 8002F50C 8D8F0000 */ lw $t7, ($t4) -/* 030110 8002F510 44983000 */ mtc1 $t8, $f6 -/* 030114 8002F514 C5E40010 */ lwc1 $f4, 0x10($t7) -/* 030118 8002F518 46803220 */ cvt.s.w $f8, $f6 -/* 03011C 8002F51C 3C01437F */ li $at, 0x437F0000 # 255.000000 -/* 030120 8002F520 46082081 */ sub.s $f2, $f4, $f8 -/* 030124 8002F524 4602603C */ c.lt.s $f12, $f2 -/* 030128 8002F528 00000000 */ nop -/* 03012C 8002F52C 45000015 */ bc1f .L8002F584 -/* 030130 8002F530 00000000 */ nop -/* 030134 8002F534 44815000 */ mtc1 $at, $f10 -/* 030138 8002F538 460C1181 */ sub.s $f6, $f2, $f12 -/* 03013C 8002F53C 3C018012 */ lui $at, %hi(D_8011D0F4) # $at, 0x8012 -/* 030140 8002F540 46065102 */ mul.s $f4, $f10, $f6 -/* 030144 8002F544 C428D0F4 */ lwc1 $f8, %lo(D_8011D0F4)($at) -/* 030148 8002F548 240F00FF */ li $t7, 255 -/* 03014C 8002F54C 46082283 */ div.s $f10, $f4, $f8 -/* 030150 8002F550 4459F800 */ cfc1 $t9, $31 -/* 030154 8002F554 00000000 */ nop -/* 030158 8002F558 37210003 */ ori $at, $t9, 3 -/* 03015C 8002F55C 38210002 */ xori $at, $at, 2 -/* 030160 8002F560 44C1F800 */ ctc1 $at, $31 -/* 030164 8002F564 00000000 */ nop -/* 030168 8002F568 460051A4 */ cvt.w.s $f6, $f10 -/* 03016C 8002F56C 440E3000 */ mfc1 $t6, $f6 -/* 030170 8002F570 44D9F800 */ ctc1 $t9, $31 -/* 030174 8002F574 01EEB823 */ subu $s7, $t7, $t6 -/* 030178 8002F578 06E10002 */ bgez $s7, .L8002F584 -/* 03017C 8002F57C 00000000 */ nop -/* 030180 8002F580 0000B825 */ move $s7, $zero -.L8002F584: -/* 030184 8002F584 44802000 */ mtc1 $zero, $f4 -/* 030188 8002F588 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03018C 8002F58C 4602203C */ c.lt.s $f4, $f2 -/* 030190 8002F590 00000000 */ nop -/* 030194 8002F594 45000009 */ bc1f .L8002F5BC -/* 030198 8002F598 00000000 */ nop -/* 03019C 8002F59C 44814000 */ mtc1 $at, $f8 -/* 0301A0 8002F5A0 3C01800E */ lui $at, %hi(D_800E5F58) # $at, 0x800e -/* 0301A4 8002F5A4 C42A5F58 */ lwc1 $f10, %lo(D_800E5F58)($at) -/* 0301A8 8002F5A8 00000000 */ nop -/* 0301AC 8002F5AC 46025182 */ mul.s $f6, $f10, $f2 -/* 0301B0 8002F5B0 46064100 */ add.s $f4, $f8, $f6 -/* 0301B4 8002F5B4 46047382 */ mul.s $f14, $f14, $f4 -/* 0301B8 8002F5B8 00000000 */ nop -.L8002F5BC: -/* 0301BC 8002F5BC 44975000 */ mtc1 $s7, $f10 -/* 0301C0 8002F5C0 3C018012 */ lui $at, %hi(D_8011D0D4) # $at, 0x8012 -/* 0301C4 8002F5C4 46805220 */ cvt.s.w $f8, $f10 -/* 0301C8 8002F5C8 C426D0D4 */ lwc1 $f6, %lo(D_8011D0D4)($at) -/* 0301CC 8002F5CC 3C198012 */ lui $t9, %hi(D_8011C230) # $t9, 0x8012 -/* 0301D0 8002F5D0 46064102 */ mul.s $f4, $f8, $f6 -/* 0301D4 8002F5D4 8F39C230 */ lw $t9, %lo(D_8011C230)($t9) -/* 0301D8 8002F5D8 3C158012 */ lui $s5, %hi(D_8011D330) # $s5, 0x8012 -/* 0301DC 8002F5DC 3C148012 */ lui $s4, %hi(D_8011D348) # $s4, 0x8012 -/* 0301E0 8002F5E0 4458F800 */ cfc1 $t8, $31 -/* 0301E4 8002F5E4 24120019 */ li $s2, 25 -/* 0301E8 8002F5E8 37010003 */ ori $at, $t8, 3 -/* 0301EC 8002F5EC 38210002 */ xori $at, $at, 2 -/* 0301F0 8002F5F0 44C1F800 */ ctc1 $at, $31 -/* 0301F4 8002F5F4 2694D348 */ addiu $s4, %lo(D_8011D348) # addiu $s4, $s4, -0x2cb8 -/* 0301F8 8002F5F8 460022A4 */ cvt.w.s $f10, $f4 -/* 0301FC 8002F5FC 26B5D330 */ addiu $s5, %lo(D_8011D330) # addiu $s5, $s5, -0x2cd0 -/* 030200 8002F600 44175000 */ mfc1 $s7, $f10 -/* 030204 8002F604 44D8F800 */ ctc1 $t8, $31 -/* 030208 8002F608 1B20010A */ blez $t9, .L8002FA34 -/* 03020C 8002F60C AFA000AC */ sw $zero, 0xac($sp) -/* 030210 8002F610 3C118012 */ lui $s1, %hi(D_8011D0C8) # $s1, 0x8012 -/* 030214 8002F614 3C108012 */ lui $s0, %hi(D_8011D36C) # $s0, 0x8012 -/* 030218 8002F618 3C1F8012 */ lui $ra, %hi(D_8011D368) # $ra, 0x8012 -/* 03021C 8002F61C 3C0A8012 */ lui $t2, %hi(D_8011B120) # $t2, 0x8012 -/* 030220 8002F620 3C098012 */ lui $t1, %hi(D_8011B330) # $t1, 0x8012 -/* 030224 8002F624 2529B330 */ addiu $t1, %lo(D_8011B330) # addiu $t1, $t1, -0x4cd0 -/* 030228 8002F628 254AB120 */ addiu $t2, %lo(D_8011B120) # addiu $t2, $t2, -0x4ee0 -/* 03022C 8002F62C 27FFD368 */ addiu $ra, %lo(D_8011D368) # addiu $ra, $ra, -0x2c98 -/* 030230 8002F630 2610D36C */ addiu $s0, %lo(D_8011D36C) # addiu $s0, $s0, -0x2c94 -/* 030234 8002F634 2631D0C8 */ addiu $s1, %lo(D_8011D0C8) # addiu $s1, $s1, -0x2f38 -/* 030238 8002F638 2413000A */ li $s3, 10 -/* 03023C 8002F63C 240B00FF */ li $t3, 255 -.L8002F640: -/* 030240 8002F640 91A20000 */ lbu $v0, ($t5) -/* 030244 8002F644 3C038012 */ lui $v1, %hi(D_8011D360) # $v1, 0x8012 -/* 030248 8002F648 00527821 */ addu $t7, $v0, $s2 -/* 03024C 8002F64C 29E10018 */ slti $at, $t7, 0x18 -/* 030250 8002F650 14200019 */ bnez $at, .L8002F6B8 -/* 030254 8002F654 2463D360 */ addiu $v1, %lo(D_8011D360) # addiu $v1, $v1, -0x2ca0 -/* 030258 8002F658 8FD90000 */ lw $t9, ($fp) -/* 03025C 8002F65C 8C780000 */ lw $t8, ($v1) -/* 030260 8002F660 3C0E8012 */ lui $t6, %hi(D_8011D0C0) # $t6, 0x8012 -/* 030264 8002F664 8DCED0C0 */ lw $t6, %lo(D_8011D0C0)($t6) -/* 030268 8002F668 001978C0 */ sll $t7, $t9, 3 -/* 03026C 8002F66C 030FC821 */ addu $t9, $t8, $t7 -/* 030270 8002F670 AF2E0000 */ sw $t6, ($t9) -/* 030274 8002F674 8FCE0000 */ lw $t6, ($fp) -/* 030278 8002F678 8C6F0000 */ lw $t7, ($v1) -/* 03027C 8002F67C 8FF80000 */ lw $t8, ($ra) -/* 030280 8002F680 000EC8C0 */ sll $t9, $t6, 3 -/* 030284 8002F684 01F97021 */ addu $t6, $t7, $t9 -/* 030288 8002F688 A5D80004 */ sh $t8, 4($t6) -/* 03028C 8002F68C 8FD80000 */ lw $t8, ($fp) -/* 030290 8002F690 8C790000 */ lw $t9, ($v1) -/* 030294 8002F694 8E0F0000 */ lw $t7, ($s0) -/* 030298 8002F698 001870C0 */ sll $t6, $t8, 3 -/* 03029C 8002F69C 032EC021 */ addu $t8, $t9, $t6 -/* 0302A0 8002F6A0 A70F0006 */ sh $t7, 6($t8) -/* 0302A4 8002F6A4 8FD90000 */ lw $t9, ($fp) -/* 0302A8 8002F6A8 91A20000 */ lbu $v0, ($t5) -/* 0302AC 8002F6AC 272E0001 */ addiu $t6, $t9, 1 -/* 0302B0 8002F6B0 AFCE0000 */ sw $t6, ($fp) -/* 0302B4 8002F6B4 00009025 */ move $s2, $zero -.L8002F6B8: -/* 0302B8 8002F6B8 91A80001 */ lbu $t0, 1($t5) -/* 0302BC 8002F6BC 184000AA */ blez $v0, .L8002F968 -/* 0302C0 8002F6C0 00003825 */ move $a3, $zero -/* 0302C4 8002F6C4 8FAF00AC */ lw $t7, 0xac($sp) -/* 0302C8 8002F6C8 3C198012 */ lui $t9, %hi(D_8011C238) # $t9, 0x8012 -/* 0302CC 8002F6CC 000FC080 */ sll $t8, $t7, 2 -/* 0302D0 8002F6D0 030FC023 */ subu $t8, $t8, $t7 -/* 0302D4 8002F6D4 0018C080 */ sll $t8, $t8, 2 -/* 0302D8 8002F6D8 2739C238 */ addiu $t9, %lo(D_8011C238) # addiu $t9, $t9, -0x3dc8 -/* 0302DC 8002F6DC 03191821 */ addu $v1, $t8, $t9 -/* 0302E0 8002F6E0 27A50090 */ addiu $a1, $sp, 0x90 -/* 0302E4 8002F6E4 27A60080 */ addiu $a2, $sp, 0x80 -.L8002F6E8: -/* 0302E8 8002F6E8 8E040000 */ lw $a0, ($s0) -/* 0302EC 8002F6EC 8E8F0000 */ lw $t7, ($s4) -/* 0302F0 8002F6F0 00930019 */ multu $a0, $s3 -/* 0302F4 8002F6F4 31190001 */ andi $t9, $t0, 1 -/* 0302F8 8002F6F8 24980001 */ addiu $t8, $a0, 1 -/* 0302FC 8002F6FC AE180000 */ sw $t8, ($s0) -/* 030300 8002F700 00007012 */ mflo $t6 -/* 030304 8002F704 01CF1021 */ addu $v0, $t6, $t7 -/* 030308 8002F708 13200037 */ beqz $t9, .L8002F7E8 -/* 03030C 8002F70C 00000000 */ nop -/* 030310 8002F710 906E0002 */ lbu $t6, 2($v1) -/* 030314 8002F714 4459F800 */ cfc1 $t9, $31 -/* 030318 8002F718 000E7940 */ sll $t7, $t6, 5 -/* 03031C 8002F71C 37210003 */ ori $at, $t9, 3 -/* 030320 8002F720 38210002 */ xori $at, $at, 2 -/* 030324 8002F724 012FC021 */ addu $t8, $t1, $t7 -/* 030328 8002F728 C7080000 */ lwc1 $f8, ($t8) -/* 03032C 8002F72C 44C1F800 */ ctc1 $at, $31 -/* 030330 8002F730 00000000 */ nop -/* 030334 8002F734 460041A4 */ cvt.w.s $f6, $f8 -/* 030338 8002F738 440E3000 */ mfc1 $t6, $f6 -/* 03033C 8002F73C 44D9F800 */ ctc1 $t9, $31 -/* 030340 8002F740 A44E0000 */ sh $t6, ($v0) -/* 030344 8002F744 906F0002 */ lbu $t7, 2($v1) -/* 030348 8002F748 8D990000 */ lw $t9, ($t4) -/* 03034C 8002F74C 000FC140 */ sll $t8, $t7, 5 -/* 030350 8002F750 01382021 */ addu $a0, $t1, $t8 -/* 030354 8002F754 C4840000 */ lwc1 $f4, ($a0) -/* 030358 8002F758 C72A000C */ lwc1 $f10, 0xc($t9) -/* 03035C 8002F75C C4880004 */ lwc1 $f8, 4($a0) -/* 030360 8002F760 C6260000 */ lwc1 $f6, ($s1) -/* 030364 8002F764 460A2081 */ sub.s $f2, $f4, $f10 -/* 030368 8002F768 46064100 */ add.s $f4, $f8, $f6 -/* 03036C 8002F76C 444EF800 */ cfc1 $t6, $31 -/* 030370 8002F770 00000000 */ nop -/* 030374 8002F774 35C10003 */ ori $at, $t6, 3 -/* 030378 8002F778 38210002 */ xori $at, $at, 2 -/* 03037C 8002F77C 44C1F800 */ ctc1 $at, $31 -/* 030380 8002F780 00000000 */ nop -/* 030384 8002F784 460022A4 */ cvt.w.s $f10, $f4 -/* 030388 8002F788 440F5000 */ mfc1 $t7, $f10 -/* 03038C 8002F78C 44CEF800 */ ctc1 $t6, $31 -/* 030390 8002F790 A44F0002 */ sh $t7, 2($v0) -/* 030394 8002F794 90780002 */ lbu $t8, 2($v1) -/* 030398 8002F798 444FF800 */ cfc1 $t7, $31 -/* 03039C 8002F79C 0018C940 */ sll $t9, $t8, 5 -/* 0303A0 8002F7A0 35E10003 */ ori $at, $t7, 3 -/* 0303A4 8002F7A4 38210002 */ xori $at, $at, 2 -/* 0303A8 8002F7A8 01397021 */ addu $t6, $t1, $t9 -/* 0303AC 8002F7AC C5C80008 */ lwc1 $f8, 8($t6) -/* 0303B0 8002F7B0 44C1F800 */ ctc1 $at, $31 -/* 0303B4 8002F7B4 00000000 */ nop -/* 0303B8 8002F7B8 460041A4 */ cvt.w.s $f6, $f8 -/* 0303BC 8002F7BC 44183000 */ mfc1 $t8, $f6 -/* 0303C0 8002F7C0 44CFF800 */ ctc1 $t7, $31 -/* 0303C4 8002F7C4 A4580004 */ sh $t8, 4($v0) -/* 0303C8 8002F7C8 90790002 */ lbu $t9, 2($v1) -/* 0303CC 8002F7CC 8D980000 */ lw $t8, ($t4) -/* 0303D0 8002F7D0 00197140 */ sll $t6, $t9, 5 -/* 0303D4 8002F7D4 012E7821 */ addu $t7, $t1, $t6 -/* 0303D8 8002F7D8 C5E40008 */ lwc1 $f4, 8($t7) -/* 0303DC 8002F7DC C70A0014 */ lwc1 $f10, 0x14($t8) -/* 0303E0 8002F7E0 10000037 */ b .L8002F8C0 -/* 0303E4 8002F7E4 460A2301 */ sub.s $f12, $f4, $f10 -.L8002F7E8: -/* 0303E8 8002F7E8 90790002 */ lbu $t9, 2($v1) -/* 0303EC 8002F7EC 4458F800 */ cfc1 $t8, $31 -/* 0303F0 8002F7F0 00197100 */ sll $t6, $t9, 4 -/* 0303F4 8002F7F4 37010003 */ ori $at, $t8, 3 -/* 0303F8 8002F7F8 38210002 */ xori $at, $at, 2 -/* 0303FC 8002F7FC 014E7821 */ addu $t7, $t2, $t6 -/* 030400 8002F800 C5E80000 */ lwc1 $f8, ($t7) -/* 030404 8002F804 44C1F800 */ ctc1 $at, $31 -/* 030408 8002F808 00000000 */ nop -/* 03040C 8002F80C 460041A4 */ cvt.w.s $f6, $f8 -/* 030410 8002F810 44193000 */ mfc1 $t9, $f6 -/* 030414 8002F814 44D8F800 */ ctc1 $t8, $31 -/* 030418 8002F818 A4590000 */ sh $t9, ($v0) -/* 03041C 8002F81C 906E0002 */ lbu $t6, 2($v1) -/* 030420 8002F820 8D980000 */ lw $t8, ($t4) -/* 030424 8002F824 000E7900 */ sll $t7, $t6, 4 -/* 030428 8002F828 014F2021 */ addu $a0, $t2, $t7 -/* 03042C 8002F82C C4840000 */ lwc1 $f4, ($a0) -/* 030430 8002F830 C70A000C */ lwc1 $f10, 0xc($t8) -/* 030434 8002F834 C4880004 */ lwc1 $f8, 4($a0) -/* 030438 8002F838 C6260000 */ lwc1 $f6, ($s1) -/* 03043C 8002F83C 460A2081 */ sub.s $f2, $f4, $f10 -/* 030440 8002F840 46064100 */ add.s $f4, $f8, $f6 -/* 030444 8002F844 4459F800 */ cfc1 $t9, $31 -/* 030448 8002F848 00000000 */ nop -/* 03044C 8002F84C 37210003 */ ori $at, $t9, 3 -/* 030450 8002F850 38210002 */ xori $at, $at, 2 -/* 030454 8002F854 44C1F800 */ ctc1 $at, $31 -/* 030458 8002F858 00000000 */ nop -/* 03045C 8002F85C 460022A4 */ cvt.w.s $f10, $f4 -/* 030460 8002F860 440E5000 */ mfc1 $t6, $f10 -/* 030464 8002F864 44D9F800 */ ctc1 $t9, $31 -/* 030468 8002F868 A44E0002 */ sh $t6, 2($v0) -/* 03046C 8002F86C 906F0002 */ lbu $t7, 2($v1) -/* 030470 8002F870 444EF800 */ cfc1 $t6, $31 -/* 030474 8002F874 000FC100 */ sll $t8, $t7, 4 -/* 030478 8002F878 35C10003 */ ori $at, $t6, 3 -/* 03047C 8002F87C 38210002 */ xori $at, $at, 2 -/* 030480 8002F880 0158C821 */ addu $t9, $t2, $t8 -/* 030484 8002F884 C7280008 */ lwc1 $f8, 8($t9) -/* 030488 8002F888 44C1F800 */ ctc1 $at, $31 -/* 03048C 8002F88C 00000000 */ nop -/* 030490 8002F890 460041A4 */ cvt.w.s $f6, $f8 -/* 030494 8002F894 440F3000 */ mfc1 $t7, $f6 -/* 030498 8002F898 44CEF800 */ ctc1 $t6, $31 -/* 03049C 8002F89C A44F0004 */ sh $t7, 4($v0) -/* 0304A0 8002F8A0 90780002 */ lbu $t8, 2($v1) -/* 0304A4 8002F8A4 8D8F0000 */ lw $t7, ($t4) -/* 0304A8 8002F8A8 0018C900 */ sll $t9, $t8, 4 -/* 0304AC 8002F8AC 01597021 */ addu $t6, $t2, $t9 -/* 0304B0 8002F8B0 C5C40008 */ lwc1 $f4, 8($t6) -/* 0304B4 8002F8B4 C5EA0014 */ lwc1 $f10, 0x14($t7) -/* 0304B8 8002F8B8 00000000 */ nop -/* 0304BC 8002F8BC 460A2301 */ sub.s $f12, $f4, $f10 -.L8002F8C0: -/* 0304C0 8002F8C0 46001202 */ mul.s $f8, $f2, $f0 -/* 0304C4 8002F8C4 0008C043 */ sra $t8, $t0, 1 -/* 0304C8 8002F8C8 A04B0006 */ sb $t3, 6($v0) -/* 0304CC 8002F8CC A04B0007 */ sb $t3, 7($v0) -/* 0304D0 8002F8D0 46106182 */ mul.s $f6, $f12, $f16 -/* 0304D4 8002F8D4 A04B0008 */ sb $t3, 8($v0) -/* 0304D8 8002F8D8 A0570009 */ sb $s7, 9($v0) -/* 0304DC 8002F8DC 91A20000 */ lbu $v0, ($t5) -/* 0304E0 8002F8E0 46064101 */ sub.s $f4, $f8, $f6 -/* 0304E4 8002F8E4 03004025 */ move $t0, $t8 -/* 0304E8 8002F8E8 460E2282 */ mul.s $f10, $f4, $f14 -/* 0304EC 8002F8EC 24E70001 */ addiu $a3, $a3, 1 -/* 0304F0 8002F8F0 24630001 */ addiu $v1, $v1, 1 -/* 0304F4 8002F8F4 24A50002 */ addiu $a1, $a1, 2 -/* 0304F8 8002F8F8 46125200 */ add.s $f8, $f10, $f18 -/* 0304FC 8002F8FC 24C60002 */ addiu $a2, $a2, 2 -/* 030500 8002F900 4459F800 */ cfc1 $t9, $31 -/* 030504 8002F904 00000000 */ nop -/* 030508 8002F908 37210003 */ ori $at, $t9, 3 -/* 03050C 8002F90C 38210002 */ xori $at, $at, 2 -/* 030510 8002F910 44C1F800 */ ctc1 $at, $31 -/* 030514 8002F914 00000000 */ nop -/* 030518 8002F918 460041A4 */ cvt.w.s $f6, $f8 -/* 03051C 8002F91C 44D9F800 */ ctc1 $t9, $31 -/* 030520 8002F920 440E3000 */ mfc1 $t6, $f6 -/* 030524 8002F924 46006102 */ mul.s $f4, $f12, $f0 -/* 030528 8002F928 A4AEFFFE */ sh $t6, -2($a1) -/* 03052C 8002F92C 46101282 */ mul.s $f10, $f2, $f16 -/* 030530 8002F930 460A2200 */ add.s $f8, $f4, $f10 -/* 030534 8002F934 460E4182 */ mul.s $f6, $f8, $f14 -/* 030538 8002F938 46123100 */ add.s $f4, $f6, $f18 -/* 03053C 8002F93C 444FF800 */ cfc1 $t7, $31 -/* 030540 8002F940 00000000 */ nop -/* 030544 8002F944 35E10003 */ ori $at, $t7, 3 -/* 030548 8002F948 38210002 */ xori $at, $at, 2 -/* 03054C 8002F94C 44C1F800 */ ctc1 $at, $31 -/* 030550 8002F950 00E2082A */ slt $at, $a3, $v0 -/* 030554 8002F954 460022A4 */ cvt.w.s $f10, $f4 -/* 030558 8002F958 44185000 */ mfc1 $t8, $f10 -/* 03055C 8002F95C 44CFF800 */ ctc1 $t7, $31 -/* 030560 8002F960 1420FF61 */ bnez $at, .L8002F6E8 -/* 030564 8002F964 A4D8FFFE */ sh $t8, -2($a2) -.L8002F968: -/* 030568 8002F968 2459FFFF */ addiu $t9, $v0, -1 -/* 03056C 8002F96C 2B210002 */ slti $at, $t9, 2 -/* 030570 8002F970 14200027 */ bnez $at, .L8002FA10 -/* 030574 8002F974 24070001 */ li $a3, 1 -/* 030578 8002F978 26440001 */ addiu $a0, $s2, 1 -/* 03057C 8002F97C 24880001 */ addiu $t0, $a0, 1 -/* 030580 8002F980 27A50092 */ addiu $a1, $sp, 0x92 -/* 030584 8002F984 27A60082 */ addiu $a2, $sp, 0x82 -.L8002F988: -/* 030588 8002F988 8FE30000 */ lw $v1, ($ra) -/* 03058C 8002F98C 8EAF0000 */ lw $t7, ($s5) -/* 030590 8002F990 00037100 */ sll $t6, $v1, 4 -/* 030594 8002F994 24780001 */ addiu $t8, $v1, 1 -/* 030598 8002F998 AFF80000 */ sw $t8, ($ra) -/* 03059C 8002F99C 01CF1021 */ addu $v0, $t6, $t7 -/* 0305A0 8002F9A0 A0560000 */ sb $s6, ($v0) -/* 0305A4 8002F9A4 A0440001 */ sb $a0, 1($v0) -/* 0305A8 8002F9A8 A0480002 */ sb $t0, 2($v0) -/* 0305AC 8002F9AC A0520003 */ sb $s2, 3($v0) -/* 0305B0 8002F9B0 84B90000 */ lh $t9, ($a1) -/* 0305B4 8002F9B4 24E70001 */ addiu $a3, $a3, 1 -/* 0305B8 8002F9B8 A4590004 */ sh $t9, 4($v0) -/* 0305BC 8002F9BC 84CE0000 */ lh $t6, ($a2) -/* 0305C0 8002F9C0 25080001 */ addiu $t0, $t0, 1 -/* 0305C4 8002F9C4 A44E0006 */ sh $t6, 6($v0) -/* 0305C8 8002F9C8 84AF0002 */ lh $t7, 2($a1) -/* 0305CC 8002F9CC 24840001 */ addiu $a0, $a0, 1 -/* 0305D0 8002F9D0 A44F0008 */ sh $t7, 8($v0) -/* 0305D4 8002F9D4 84D80002 */ lh $t8, 2($a2) -/* 0305D8 8002F9D8 24A50002 */ addiu $a1, $a1, 2 -/* 0305DC 8002F9DC A458000A */ sh $t8, 0xa($v0) -/* 0305E0 8002F9E0 87B90090 */ lh $t9, 0x90($sp) -/* 0305E4 8002F9E4 24C60002 */ addiu $a2, $a2, 2 -/* 0305E8 8002F9E8 A459000C */ sh $t9, 0xc($v0) -/* 0305EC 8002F9EC 87AE0080 */ lh $t6, 0x80($sp) -/* 0305F0 8002F9F0 00000000 */ nop -/* 0305F4 8002F9F4 A44E000E */ sh $t6, 0xe($v0) -/* 0305F8 8002F9F8 91A20000 */ lbu $v0, ($t5) -/* 0305FC 8002F9FC 00000000 */ nop -/* 030600 8002FA00 244FFFFF */ addiu $t7, $v0, -1 -/* 030604 8002FA04 00EF082A */ slt $at, $a3, $t7 -/* 030608 8002FA08 1420FFDF */ bnez $at, .L8002F988 -/* 03060C 8002FA0C 00000000 */ nop -.L8002FA10: -/* 030610 8002FA10 8FA300AC */ lw $v1, 0xac($sp) -/* 030614 8002FA14 3C188012 */ lui $t8, %hi(D_8011C230) # $t8, 0x8012 -/* 030618 8002FA18 8F18C230 */ lw $t8, %lo(D_8011C230)($t8) -/* 03061C 8002FA1C 24630001 */ addiu $v1, $v1, 1 -/* 030620 8002FA20 0078082A */ slt $at, $v1, $t8 -/* 030624 8002FA24 AFA300AC */ sw $v1, 0xac($sp) -/* 030628 8002FA28 25AD000C */ addiu $t5, $t5, 0xc -/* 03062C 8002FA2C 1420FF04 */ bnez $at, .L8002F640 -/* 030630 8002FA30 02429021 */ addu $s2, $s2, $v0 -.L8002FA34: -/* 030634 8002FA34 8FBF003C */ lw $ra, 0x3c($sp) -/* 030638 8002FA38 8FB00018 */ lw $s0, 0x18($sp) -/* 03063C 8002FA3C 8FB1001C */ lw $s1, 0x1c($sp) -/* 030640 8002FA40 8FB20020 */ lw $s2, 0x20($sp) -/* 030644 8002FA44 8FB30024 */ lw $s3, 0x24($sp) -/* 030648 8002FA48 8FB40028 */ lw $s4, 0x28($sp) -/* 03064C 8002FA4C 8FB5002C */ lw $s5, 0x2c($sp) -/* 030650 8002FA50 8FB60030 */ lw $s6, 0x30($sp) -/* 030654 8002FA54 8FB70034 */ lw $s7, 0x34($sp) -/* 030658 8002FA58 8FBE0038 */ lw $fp, 0x38($sp) -/* 03065C 8002FA5C 03E00008 */ jr $ra -/* 030660 8002FA60 27BD00B0 */ addiu $sp, $sp, 0xb0 - -glabel func_8002FA64 -/* 030664 8002FA64 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 030668 8002FA68 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012 -/* 03066C 8002FA6C 8C63C230 */ lw $v1, %lo(D_8011C230)($v1) -/* 030670 8002FA70 44801000 */ mtc1 $zero, $f2 -/* 030674 8002FA74 AFBF006C */ sw $ra, 0x6c($sp) -/* 030678 8002FA78 AFB70068 */ sw $s7, 0x68($sp) -/* 03067C 8002FA7C AFB60064 */ sw $s6, 0x64($sp) -/* 030680 8002FA80 AFB50060 */ sw $s5, 0x60($sp) -/* 030684 8002FA84 AFB4005C */ sw $s4, 0x5c($sp) -/* 030688 8002FA88 AFB30058 */ sw $s3, 0x58($sp) -/* 03068C 8002FA8C AFB20054 */ sw $s2, 0x54($sp) -/* 030690 8002FA90 AFB10050 */ sw $s1, 0x50($sp) -/* 030694 8002FA94 AFB0004C */ sw $s0, 0x4c($sp) -/* 030698 8002FA98 E7BF0040 */ swc1 $f31, 0x40($sp) -/* 03069C 8002FA9C E7BE0044 */ swc1 $f30, 0x44($sp) -/* 0306A0 8002FAA0 E7BD0038 */ swc1 $f29, 0x38($sp) -/* 0306A4 8002FAA4 E7BC003C */ swc1 $f28, 0x3c($sp) -/* 0306A8 8002FAA8 E7BB0030 */ swc1 $f27, 0x30($sp) -/* 0306AC 8002FAAC E7BA0034 */ swc1 $f26, 0x34($sp) -/* 0306B0 8002FAB0 E7B90028 */ swc1 $f25, 0x28($sp) -/* 0306B4 8002FAB4 E7B8002C */ swc1 $f24, 0x2c($sp) -/* 0306B8 8002FAB8 E7B70020 */ swc1 $f23, 0x20($sp) -/* 0306BC 8002FABC E7B60024 */ swc1 $f22, 0x24($sp) -/* 0306C0 8002FAC0 E7B50018 */ swc1 $f21, 0x18($sp) -/* 0306C4 8002FAC4 18600090 */ blez $v1, .L8002FD08 -/* 0306C8 8002FAC8 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 0306CC 8002FACC 3C0E8012 */ lui $t6, %hi(D_8011D0EC) # $t6, 0x8012 -/* 0306D0 8002FAD0 8DCED0EC */ lw $t6, %lo(D_8011D0EC)($t6) -/* 0306D4 8002FAD4 3C028012 */ lui $v0, %hi(D_8011D0E8) # $v0, 0x8012 -/* 0306D8 8002FAD8 11C0000E */ beqz $t6, .L8002FB14 -/* 0306DC 8002FADC 00000000 */ nop -/* 0306E0 8002FAE0 8C42D0E8 */ lw $v0, %lo(D_8011D0E8)($v0) -/* 0306E4 8002FAE4 3C16800E */ lui $s6, %hi(D_800DC884) # $s6, 0x800e -/* 0306E8 8002FAE8 1840007C */ blez $v0, .L8002FCDC -/* 0306EC 8002FAEC 26D6C884 */ addiu $s6, %lo(D_800DC884) # addiu $s6, $s6, -0x377c -/* 0306F0 8002FAF0 00027880 */ sll $t7, $v0, 2 -/* 0306F4 8002FAF4 02CFC021 */ addu $t8, $s6, $t7 -/* 0306F8 8002FAF8 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 -/* 0306FC 8002FAFC C426D0E4 */ lwc1 $f6, %lo(D_8011D0E4)($at) -/* 030700 8002FB00 C7040000 */ lwc1 $f4, ($t8) -/* 030704 8002FB04 00000000 */ nop -/* 030708 8002FB08 46062082 */ mul.s $f2, $f4, $f6 -/* 03070C 8002FB0C 10000073 */ b .L8002FCDC -/* 030710 8002FB10 00000000 */ nop -.L8002FB14: -/* 030714 8002FB14 18600071 */ blez $v1, .L8002FCDC -/* 030718 8002FB18 0000B825 */ move $s7, $zero -/* 03071C 8002FB1C 3C138012 */ lui $s3, %hi(D_8011C238) # $s3, 0x8012 -/* 030720 8002FB20 3C16800E */ lui $s6, %hi(D_800DC884) # $s6, 0x800e -/* 030724 8002FB24 3C158012 */ lui $s5, %hi(D_8011B120) # $s5, 0x8012 -/* 030728 8002FB28 3C148012 */ lui $s4, %hi(D_8011B330) # $s4, 0x8012 -/* 03072C 8002FB2C 2694B330 */ addiu $s4, %lo(D_8011B330) # addiu $s4, $s4, -0x4cd0 -/* 030730 8002FB30 26B5B120 */ addiu $s5, %lo(D_8011B120) # addiu $s5, $s5, -0x4ee0 -/* 030734 8002FB34 26D6C884 */ addiu $s6, %lo(D_800DC884) # addiu $s6, $s6, -0x377c -/* 030738 8002FB38 2673C238 */ addiu $s3, %lo(D_8011C238) # addiu $s3, $s3, -0x3dc8 -.L8002FB3C: -/* 03073C 8002FB3C 8679000A */ lh $t9, 0xa($s3) -/* 030740 8002FB40 00000000 */ nop -/* 030744 8002FB44 1B200061 */ blez $t9, .L8002FCCC -/* 030748 8002FB48 00000000 */ nop -/* 03074C 8002FB4C 92710001 */ lbu $s1, 1($s3) -/* 030750 8002FB50 24120002 */ li $s2, 2 -/* 030754 8002FB54 32280001 */ andi $t0, $s1, 1 -/* 030758 8002FB58 11000009 */ beqz $t0, .L8002FB80 -/* 03075C 8002FB5C 00000000 */ nop -/* 030760 8002FB60 92690002 */ lbu $t1, 2($s3) -/* 030764 8002FB64 00000000 */ nop -/* 030768 8002FB68 00095140 */ sll $t2, $t1, 5 -/* 03076C 8002FB6C 028A1021 */ addu $v0, $s4, $t2 -/* 030770 8002FB70 C45C0000 */ lwc1 $f28, ($v0) -/* 030774 8002FB74 C45E0008 */ lwc1 $f30, 8($v0) -/* 030778 8002FB78 10000009 */ b .L8002FBA0 -/* 03077C 8002FB7C 00116843 */ sra $t5, $s1, 1 -.L8002FB80: -/* 030780 8002FB80 926B0002 */ lbu $t3, 2($s3) -/* 030784 8002FB84 00000000 */ nop -/* 030788 8002FB88 000B6100 */ sll $t4, $t3, 4 -/* 03078C 8002FB8C 02AC1021 */ addu $v0, $s5, $t4 -/* 030790 8002FB90 C45C0000 */ lwc1 $f28, ($v0) -/* 030794 8002FB94 C45E0008 */ lwc1 $f30, 8($v0) -/* 030798 8002FB98 00000000 */ nop -/* 03079C 8002FB9C 00116843 */ sra $t5, $s1, 1 -.L8002FBA0: -/* 0307A0 8002FBA0 31AE0001 */ andi $t6, $t5, 1 -/* 0307A4 8002FBA4 11C00009 */ beqz $t6, .L8002FBCC -/* 0307A8 8002FBA8 01A08825 */ move $s1, $t5 -/* 0307AC 8002FBAC 926F0003 */ lbu $t7, 3($s3) -/* 0307B0 8002FBB0 00000000 */ nop -/* 0307B4 8002FBB4 000FC140 */ sll $t8, $t7, 5 -/* 0307B8 8002FBB8 02981021 */ addu $v0, $s4, $t8 -/* 0307BC 8002FBBC C4580000 */ lwc1 $f24, ($v0) -/* 0307C0 8002FBC0 C45A0008 */ lwc1 $f26, 8($v0) -/* 0307C4 8002FBC4 10000009 */ b .L8002FBEC -/* 0307C8 8002FBC8 926A0000 */ lbu $t2, ($s3) -.L8002FBCC: -/* 0307CC 8002FBCC 92790003 */ lbu $t9, 3($s3) -/* 0307D0 8002FBD0 00000000 */ nop -/* 0307D4 8002FBD4 00194100 */ sll $t0, $t9, 4 -/* 0307D8 8002FBD8 02A81021 */ addu $v0, $s5, $t0 -/* 0307DC 8002FBDC C4580000 */ lwc1 $f24, ($v0) -/* 0307E0 8002FBE0 C45A0008 */ lwc1 $f26, 8($v0) -/* 0307E4 8002FBE4 00000000 */ nop -/* 0307E8 8002FBE8 926A0000 */ lbu $t2, ($s3) -.L8002FBEC: -/* 0307EC 8002FBEC 00114843 */ sra $t1, $s1, 1 -/* 0307F0 8002FBF0 29410003 */ slti $at, $t2, 3 -/* 0307F4 8002FBF4 14200035 */ bnez $at, .L8002FCCC -/* 0307F8 8002FBF8 01208825 */ move $s1, $t1 -/* 0307FC 8002FBFC 00175880 */ sll $t3, $s7, 2 -/* 030800 8002FC00 01775823 */ subu $t3, $t3, $s7 -/* 030804 8002FC04 000B5880 */ sll $t3, $t3, 2 -/* 030808 8002FC08 3C0D8012 */ lui $t5, %hi(D_8011C238) # $t5, 0x8012 -/* 03080C 8002FC0C 25ADC238 */ addiu $t5, %lo(D_8011C238) # addiu $t5, $t5, -0x3dc8 -/* 030810 8002FC10 256C0002 */ addiu $t4, $t3, 2 -/* 030814 8002FC14 018D8021 */ addu $s0, $t4, $t5 -.L8002FC18: -/* 030818 8002FC18 322E0001 */ andi $t6, $s1, 1 -/* 03081C 8002FC1C 11C00009 */ beqz $t6, .L8002FC44 -/* 030820 8002FC20 00000000 */ nop -/* 030824 8002FC24 920F0002 */ lbu $t7, 2($s0) -/* 030828 8002FC28 00000000 */ nop -/* 03082C 8002FC2C 000FC140 */ sll $t8, $t7, 5 -/* 030830 8002FC30 02981021 */ addu $v0, $s4, $t8 -/* 030834 8002FC34 C4540000 */ lwc1 $f20, ($v0) -/* 030838 8002FC38 C4560008 */ lwc1 $f22, 8($v0) -/* 03083C 8002FC3C 10000009 */ b .L8002FC64 -/* 030840 8002FC40 00114843 */ sra $t1, $s1, 1 -.L8002FC44: -/* 030844 8002FC44 92190002 */ lbu $t9, 2($s0) -/* 030848 8002FC48 00000000 */ nop -/* 03084C 8002FC4C 00194100 */ sll $t0, $t9, 4 -/* 030850 8002FC50 02A81021 */ addu $v0, $s5, $t0 -/* 030854 8002FC54 C4540000 */ lwc1 $f20, ($v0) -/* 030858 8002FC58 C4560008 */ lwc1 $f22, 8($v0) -/* 03085C 8002FC5C 00000000 */ nop -/* 030860 8002FC60 00114843 */ sra $t1, $s1, 1 -.L8002FC64: -/* 030864 8002FC64 4406C000 */ mfc1 $a2, $f24 -/* 030868 8002FC68 4407D000 */ mfc1 $a3, $f26 -/* 03086C 8002FC6C 01208825 */ move $s1, $t1 -/* 030870 8002FC70 4600E306 */ mov.s $f12, $f28 -/* 030874 8002FC74 4600F386 */ mov.s $f14, $f30 -/* 030878 8002FC78 E7B40010 */ swc1 $f20, 0x10($sp) -/* 03087C 8002FC7C E7B60014 */ swc1 $f22, 0x14($sp) -/* 030880 8002FC80 0C01C28B */ jal func_80070A2C -/* 030884 8002FC84 E7A20074 */ swc1 $f2, 0x74($sp) -/* 030888 8002FC88 866A000A */ lh $t2, 0xa($s3) -/* 03088C 8002FC8C 926D0000 */ lbu $t5, ($s3) -/* 030890 8002FC90 000A5880 */ sll $t3, $t2, 2 -/* 030894 8002FC94 02CB6021 */ addu $t4, $s6, $t3 -/* 030898 8002FC98 C5880000 */ lwc1 $f8, ($t4) -/* 03089C 8002FC9C C7A20074 */ lwc1 $f2, 0x74($sp) -/* 0308A0 8002FCA0 46080282 */ mul.s $f10, $f0, $f8 -/* 0308A4 8002FCA4 26520001 */ addiu $s2, $s2, 1 -/* 0308A8 8002FCA8 024D082A */ slt $at, $s2, $t5 -/* 0308AC 8002FCAC 26100001 */ addiu $s0, $s0, 1 -/* 0308B0 8002FCB0 4600A606 */ mov.s $f24, $f20 -/* 0308B4 8002FCB4 4600B686 */ mov.s $f26, $f22 -/* 0308B8 8002FCB8 1420FFD7 */ bnez $at, .L8002FC18 -/* 0308BC 8002FCBC 460A1080 */ add.s $f2, $f2, $f10 -/* 0308C0 8002FCC0 3C038012 */ lui $v1, %hi(D_8011C230) # $v1, 0x8012 -/* 0308C4 8002FCC4 8C63C230 */ lw $v1, %lo(D_8011C230)($v1) -/* 0308C8 8002FCC8 00000000 */ nop -.L8002FCCC: -/* 0308CC 8002FCCC 26F70001 */ addiu $s7, $s7, 1 -/* 0308D0 8002FCD0 02E3082A */ slt $at, $s7, $v1 -/* 0308D4 8002FCD4 1420FF99 */ bnez $at, .L8002FB3C -/* 0308D8 8002FCD8 2673000C */ addiu $s3, $s3, 0xc -.L8002FCDC: -/* 0308DC 8002FCDC 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 -/* 0308E0 8002FCE0 C42CD0E4 */ lwc1 $f12, %lo(D_8011D0E4)($at) -/* 0308E4 8002FCE4 3C01800E */ lui $at, %hi(D_800E5F5C) # $at, 0x800e -/* 0308E8 8002FCE8 4602603C */ c.lt.s $f12, $f2 -/* 0308EC 8002FCEC 00000000 */ nop -/* 0308F0 8002FCF0 45000005 */ bc1f .L8002FD08 -/* 0308F4 8002FCF4 00000000 */ nop -/* 0308F8 8002FCF8 C4305F5C */ lwc1 $f16, %lo(D_800E5F5C)($at) -/* 0308FC 8002FCFC 00000000 */ nop -/* 030900 8002FD00 46106082 */ mul.s $f2, $f12, $f16 -/* 030904 8002FD04 00000000 */ nop -.L8002FD08: -/* 030908 8002FD08 3C018012 */ lui $at, %hi(D_8011D0E4) # $at, 0x8012 -/* 03090C 8002FD0C C42CD0E4 */ lwc1 $f12, %lo(D_8011D0E4)($at) -/* 030910 8002FD10 8FBF006C */ lw $ra, 0x6c($sp) -/* 030914 8002FD14 46026481 */ sub.s $f18, $f12, $f2 -/* 030918 8002FD18 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 03091C 8002FD1C C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 030920 8002FD20 C7B70020 */ lwc1 $f23, 0x20($sp) -/* 030924 8002FD24 C7B60024 */ lwc1 $f22, 0x24($sp) -/* 030928 8002FD28 C7B90028 */ lwc1 $f25, 0x28($sp) -/* 03092C 8002FD2C C7B8002C */ lwc1 $f24, 0x2c($sp) -/* 030930 8002FD30 C7BB0030 */ lwc1 $f27, 0x30($sp) -/* 030934 8002FD34 C7BA0034 */ lwc1 $f26, 0x34($sp) -/* 030938 8002FD38 C7BD0038 */ lwc1 $f29, 0x38($sp) -/* 03093C 8002FD3C C7BC003C */ lwc1 $f28, 0x3c($sp) -/* 030940 8002FD40 C7BF0040 */ lwc1 $f31, 0x40($sp) -/* 030944 8002FD44 C7BE0044 */ lwc1 $f30, 0x44($sp) -/* 030948 8002FD48 8FB0004C */ lw $s0, 0x4c($sp) -/* 03094C 8002FD4C 8FB10050 */ lw $s1, 0x50($sp) -/* 030950 8002FD50 8FB20054 */ lw $s2, 0x54($sp) -/* 030954 8002FD54 8FB30058 */ lw $s3, 0x58($sp) -/* 030958 8002FD58 8FB4005C */ lw $s4, 0x5c($sp) -/* 03095C 8002FD5C 8FB50060 */ lw $s5, 0x60($sp) -/* 030960 8002FD60 8FB60064 */ lw $s6, 0x64($sp) -/* 030964 8002FD64 8FB70068 */ lw $s7, 0x68($sp) -/* 030968 8002FD68 27BD0078 */ addiu $sp, $sp, 0x78 -/* 03096C 8002FD6C 03E00008 */ jr $ra -/* 030970 8002FD70 460C9003 */ div.s $f0, $f18, $f12 - -glabel func_8002FD74 -/* 030974 8002FD74 8FA40010 */ lw $a0, 0x10($sp) -/* 030978 8002FD78 E7AC0000 */ swc1 $f12, ($sp) -/* 03097C 8002FD7C E7AE0004 */ swc1 $f14, 4($sp) -/* 030980 8002FD80 AFA60008 */ sw $a2, 8($sp) -/* 030984 8002FD84 18800076 */ blez $a0, .L8002FF60 -/* 030988 8002FD88 AFA7000C */ sw $a3, 0xc($sp) -/* 03098C 8002FD8C 8FA20014 */ lw $v0, 0x14($sp) -/* 030990 8002FD90 28810002 */ slti $at, $a0, 2 -/* 030994 8002FD94 C4420000 */ lwc1 $f2, ($v0) -/* 030998 8002FD98 C44C0008 */ lwc1 $f12, 8($v0) -/* 03099C 8002FD9C 24030001 */ li $v1, 1 -/* 0309A0 8002FDA0 46001006 */ mov.s $f0, $f2 -/* 0309A4 8002FDA4 1420005A */ bnez $at, .L8002FF10 -/* 0309A8 8002FDA8 46006386 */ mov.s $f14, $f12 -/* 0309AC 8002FDAC 2485FFFF */ addiu $a1, $a0, -1 -/* 0309B0 8002FDB0 30AE0001 */ andi $t6, $a1, 1 -/* 0309B4 8002FDB4 11C0001D */ beqz $t6, .L8002FE2C -/* 0309B8 8002FDB8 0004C100 */ sll $t8, $a0, 4 -/* 0309BC 8002FDBC 24430010 */ addiu $v1, $v0, 0x10 -/* 0309C0 8002FDC0 C4700000 */ lwc1 $f16, ($v1) -/* 0309C4 8002FDC4 00000000 */ nop -/* 0309C8 8002FDC8 4600803C */ c.lt.s $f16, $f0 -/* 0309CC 8002FDCC 00000000 */ nop -/* 0309D0 8002FDD0 45000003 */ bc1f .L8002FDE0 -/* 0309D4 8002FDD4 00000000 */ nop -/* 0309D8 8002FDD8 10000006 */ b .L8002FDF4 -/* 0309DC 8002FDDC 46008006 */ mov.s $f0, $f16 -.L8002FDE0: -/* 0309E0 8002FDE0 4610103C */ c.lt.s $f2, $f16 -/* 0309E4 8002FDE4 00000000 */ nop -/* 0309E8 8002FDE8 45000002 */ bc1f .L8002FDF4 -/* 0309EC 8002FDEC 00000000 */ nop -/* 0309F0 8002FDF0 46008086 */ mov.s $f2, $f16 -.L8002FDF4: -/* 0309F4 8002FDF4 C4700008 */ lwc1 $f16, 8($v1) -/* 0309F8 8002FDF8 24030002 */ li $v1, 2 -/* 0309FC 8002FDFC 460E803C */ c.lt.s $f16, $f14 -/* 030A00 8002FE00 00000000 */ nop -/* 030A04 8002FE04 45000003 */ bc1f .L8002FE14 -/* 030A08 8002FE08 00000000 */ nop -/* 030A0C 8002FE0C 10000006 */ b .L8002FE28 -/* 030A10 8002FE10 46008386 */ mov.s $f14, $f16 -.L8002FE14: -/* 030A14 8002FE14 4610603C */ c.lt.s $f12, $f16 -/* 030A18 8002FE18 00000000 */ nop -/* 030A1C 8002FE1C 45000002 */ bc1f .L8002FE28 -/* 030A20 8002FE20 00000000 */ nop -/* 030A24 8002FE24 46008306 */ mov.s $f12, $f16 -.L8002FE28: -/* 030A28 8002FE28 10640039 */ beq $v1, $a0, .L8002FF10 -.L8002FE2C: -/* 030A2C 8002FE2C 00037900 */ sll $t7, $v1, 4 -/* 030A30 8002FE30 004F2821 */ addu $a1, $v0, $t7 -/* 030A34 8002FE34 03023021 */ addu $a2, $t8, $v0 -.L8002FE38: -/* 030A38 8002FE38 C4B00000 */ lwc1 $f16, ($a1) -/* 030A3C 8002FE3C 00000000 */ nop -/* 030A40 8002FE40 4600803C */ c.lt.s $f16, $f0 -/* 030A44 8002FE44 00000000 */ nop -/* 030A48 8002FE48 45000003 */ bc1f .L8002FE58 -/* 030A4C 8002FE4C 00000000 */ nop -/* 030A50 8002FE50 10000006 */ b .L8002FE6C -/* 030A54 8002FE54 46008006 */ mov.s $f0, $f16 -.L8002FE58: -/* 030A58 8002FE58 4610103C */ c.lt.s $f2, $f16 -/* 030A5C 8002FE5C 00000000 */ nop -/* 030A60 8002FE60 45000002 */ bc1f .L8002FE6C -/* 030A64 8002FE64 00000000 */ nop -/* 030A68 8002FE68 46008086 */ mov.s $f2, $f16 -.L8002FE6C: -/* 030A6C 8002FE6C C4B00008 */ lwc1 $f16, 8($a1) -/* 030A70 8002FE70 00000000 */ nop -/* 030A74 8002FE74 460E803C */ c.lt.s $f16, $f14 -/* 030A78 8002FE78 00000000 */ nop -/* 030A7C 8002FE7C 45000003 */ bc1f .L8002FE8C -/* 030A80 8002FE80 00000000 */ nop -/* 030A84 8002FE84 10000006 */ b .L8002FEA0 -/* 030A88 8002FE88 46008386 */ mov.s $f14, $f16 -.L8002FE8C: -/* 030A8C 8002FE8C 4610603C */ c.lt.s $f12, $f16 -/* 030A90 8002FE90 00000000 */ nop -/* 030A94 8002FE94 45000002 */ bc1f .L8002FEA0 -/* 030A98 8002FE98 00000000 */ nop -/* 030A9C 8002FE9C 46008306 */ mov.s $f12, $f16 -.L8002FEA0: -/* 030AA0 8002FEA0 C4B00010 */ lwc1 $f16, 0x10($a1) -/* 030AA4 8002FEA4 00000000 */ nop -/* 030AA8 8002FEA8 4600803C */ c.lt.s $f16, $f0 -/* 030AAC 8002FEAC 00000000 */ nop -/* 030AB0 8002FEB0 45000003 */ bc1f .L8002FEC0 -/* 030AB4 8002FEB4 00000000 */ nop -/* 030AB8 8002FEB8 10000006 */ b .L8002FED4 -/* 030ABC 8002FEBC 46008006 */ mov.s $f0, $f16 -.L8002FEC0: -/* 030AC0 8002FEC0 4610103C */ c.lt.s $f2, $f16 -/* 030AC4 8002FEC4 00000000 */ nop -/* 030AC8 8002FEC8 45000002 */ bc1f .L8002FED4 -/* 030ACC 8002FECC 00000000 */ nop -/* 030AD0 8002FED0 46008086 */ mov.s $f2, $f16 -.L8002FED4: -/* 030AD4 8002FED4 C4B00018 */ lwc1 $f16, 0x18($a1) -/* 030AD8 8002FED8 24A50020 */ addiu $a1, $a1, 0x20 -/* 030ADC 8002FEDC 460E803C */ c.lt.s $f16, $f14 -/* 030AE0 8002FEE0 00000000 */ nop -/* 030AE4 8002FEE4 45000003 */ bc1f .L8002FEF4 -/* 030AE8 8002FEE8 00000000 */ nop -/* 030AEC 8002FEEC 10000006 */ b .L8002FF08 -/* 030AF0 8002FEF0 46008386 */ mov.s $f14, $f16 -.L8002FEF4: -/* 030AF4 8002FEF4 4610603C */ c.lt.s $f12, $f16 -/* 030AF8 8002FEF8 00000000 */ nop -/* 030AFC 8002FEFC 45000002 */ bc1f .L8002FF08 -/* 030B00 8002FF00 00000000 */ nop -/* 030B04 8002FF04 46008306 */ mov.s $f12, $f16 -.L8002FF08: -/* 030B08 8002FF08 14A6FFCB */ bne $a1, $a2, .L8002FE38 -/* 030B0C 8002FF0C 00000000 */ nop -.L8002FF10: -/* 030B10 8002FF10 C7A40000 */ lwc1 $f4, ($sp) -/* 030B14 8002FF14 C7A60004 */ lwc1 $f6, 4($sp) -/* 030B18 8002FF18 4602203E */ c.le.s $f4, $f2 -/* 030B1C 8002FF1C 00000000 */ nop -/* 030B20 8002FF20 45000010 */ bc1f .L8002FF64 -/* 030B24 8002FF24 00001025 */ move $v0, $zero -/* 030B28 8002FF28 460C303E */ c.le.s $f6, $f12 -/* 030B2C 8002FF2C C7A80008 */ lwc1 $f8, 8($sp) -/* 030B30 8002FF30 4500000C */ bc1f .L8002FF64 -/* 030B34 8002FF34 00001025 */ move $v0, $zero -/* 030B38 8002FF38 4608003E */ c.le.s $f0, $f8 -/* 030B3C 8002FF3C C7AA000C */ lwc1 $f10, 0xc($sp) -/* 030B40 8002FF40 45000008 */ bc1f .L8002FF64 -/* 030B44 8002FF44 00001025 */ move $v0, $zero -/* 030B48 8002FF48 460A703E */ c.le.s $f14, $f10 -/* 030B4C 8002FF4C 00000000 */ nop -/* 030B50 8002FF50 45000004 */ bc1f .L8002FF64 -/* 030B54 8002FF54 00001025 */ move $v0, $zero -/* 030B58 8002FF58 03E00008 */ jr $ra -/* 030B5C 8002FF5C 2402FFFF */ li $v0, -1 - -.L8002FF60: -/* 030B60 8002FF60 00001025 */ move $v0, $zero -.L8002FF64: -/* 030B64 8002FF64 03E00008 */ jr $ra -/* 030B68 8002FF68 00000000 */ nop - -glabel func_8002FF6C -/* 030B6C 8002FF6C 27BDFEA0 */ addiu $sp, $sp, -0x160 -/* 030B70 8002FF70 AFBF0054 */ sw $ra, 0x54($sp) -/* 030B74 8002FF74 AFB3003C */ sw $s3, 0x3c($sp) -/* 030B78 8002FF78 AFB20038 */ sw $s2, 0x38($sp) -/* 030B7C 8002FF7C AFB00030 */ sw $s0, 0x30($sp) -/* 030B80 8002FF80 00C0F825 */ move $ra, $a2 -/* 030B84 8002FF84 AFBE0050 */ sw $fp, 0x50($sp) -/* 030B88 8002FF88 AFB7004C */ sw $s7, 0x4c($sp) -/* 030B8C 8002FF8C AFB60048 */ sw $s6, 0x48($sp) -/* 030B90 8002FF90 AFB50044 */ sw $s5, 0x44($sp) -/* 030B94 8002FF94 AFB40040 */ sw $s4, 0x40($sp) -/* 030B98 8002FF98 AFB10034 */ sw $s1, 0x34($sp) -/* 030B9C 8002FF9C E7BD0028 */ swc1 $f29, 0x28($sp) -/* 030BA0 8002FFA0 E7BC002C */ swc1 $f28, 0x2c($sp) -/* 030BA4 8002FFA4 E7BB0020 */ swc1 $f27, 0x20($sp) -/* 030BA8 8002FFA8 E7BA0024 */ swc1 $f26, 0x24($sp) -/* 030BAC 8002FFAC E7B90018 */ swc1 $f25, 0x18($sp) -/* 030BB0 8002FFB0 E7B8001C */ swc1 $f24, 0x1c($sp) -/* 030BB4 8002FFB4 E7B70010 */ swc1 $f23, 0x10($sp) -/* 030BB8 8002FFB8 E7B60014 */ swc1 $f22, 0x14($sp) -/* 030BBC 8002FFBC E7B50008 */ swc1 $f21, 8($sp) -/* 030BC0 8002FFC0 E7B4000C */ swc1 $f20, 0xc($sp) -/* 030BC4 8002FFC4 AFA7016C */ sw $a3, 0x16c($sp) -/* 030BC8 8002FFC8 00A09825 */ move $s3, $a1 -/* 030BCC 8002FFCC 27B000E0 */ addiu $s0, $sp, 0xe0 -/* 030BD0 8002FFD0 00809025 */ move $s2, $a0 -/* 030BD4 8002FFD4 00006825 */ move $t5, $zero -/* 030BD8 8002FFD8 18C000DF */ blez $a2, .L80030358 -/* 030BDC 8002FFDC AFA50164 */ sw $a1, 0x164($sp) -/* 030BE0 8002FFE0 28810003 */ slti $at, $a0, 3 -/* 030BE4 8002FFE4 142000DC */ bnez $at, .L80030358 -/* 030BE8 8002FFE8 AFA50164 */ sw $a1, 0x164($sp) -/* 030BEC 8002FFEC 000078C0 */ sll $t7, $zero, 3 -/* 030BF0 8002FFF0 3C168012 */ lui $s6, %hi(D_8011D0BC) # $s6, 0x8012 -/* 030BF4 8002FFF4 3C148012 */ lui $s4, %hi(D_8011B320) # $s4, 0x8012 -/* 030BF8 8002FFF8 3C118012 */ lui $s1, %hi(D_8011B330) # $s1, 0x8012 -/* 030BFC 8002FFFC 44800000 */ mtc1 $zero, $f0 -/* 030C00 80030000 2631B330 */ addiu $s1, %lo(D_8011B330) # addiu $s1, $s1, -0x4cd0 -/* 030C04 80030004 2694B320 */ addiu $s4, %lo(D_8011B320) # addiu $s4, $s4, -0x4ce0 -/* 030C08 80030008 26D6D0BC */ addiu $s6, %lo(D_8011D0BC) # addiu $s6, $s6, -0x2f44 -/* 030C0C 8003000C 00EFB821 */ addu $s7, $a3, $t7 -/* 030C10 80030010 AFA50164 */ sw $a1, 0x164($sp) -/* 030C14 80030014 2415001F */ li $s5, 31 -/* 030C18 80030018 25BE0001 */ addiu $fp, $t5, 1 -.L8003001C: -/* 030C1C 8003001C 03DF082A */ slt $at, $fp, $ra -/* 030C20 80030020 03C01825 */ move $v1, $fp -/* 030C24 80030024 00001025 */ move $v0, $zero -/* 030C28 80030028 14200002 */ bnez $at, .L80030034 -/* 030C2C 8003002C 00005025 */ move $t2, $zero -/* 030C30 80030030 00001825 */ move $v1, $zero -.L80030034: -/* 030C34 80030034 8FB8016C */ lw $t8, 0x16c($sp) -/* 030C38 80030038 0003C8C0 */ sll $t9, $v1, 3 -/* 030C3C 8003003C 03192021 */ addu $a0, $t8, $t9 -/* 030C40 80030040 C4940000 */ lwc1 $f20, ($a0) -/* 030C44 80030044 C6F60000 */ lwc1 $f22, ($s7) -/* 030C48 80030048 C4900004 */ lwc1 $f16, 4($a0) -/* 030C4C 8003004C C6F20004 */ lwc1 $f18, 4($s7) -/* 030C50 80030050 4614B03C */ c.lt.s $f22, $f20 -/* 030C54 80030054 4616A381 */ sub.s $f14, $f20, $f22 -/* 030C58 80030058 02604825 */ move $t1, $s3 -/* 030C5C 8003005C 46007387 */ neg.s $f14, $f14 -/* 030C60 80030060 45000007 */ bc1f .L80030080 -/* 030C64 80030064 46128301 */ sub.s $f12, $f16, $f18 -/* 030C68 80030068 460E9102 */ mul.s $f4, $f18, $f14 -/* 030C6C 8003006C 00000000 */ nop -/* 030C70 80030070 46166182 */ mul.s $f6, $f12, $f22 -/* 030C74 80030074 46062080 */ add.s $f2, $f4, $f6 -/* 030C78 80030078 10000006 */ b .L80030094 -/* 030C7C 8003007C 46001087 */ neg.s $f2, $f2 -.L80030080: -/* 030C80 80030080 460E8202 */ mul.s $f8, $f16, $f14 -/* 030C84 80030084 00000000 */ nop -/* 030C88 80030088 46146282 */ mul.s $f10, $f12, $f20 -/* 030C8C 8003008C 460A4080 */ add.s $f2, $f8, $f10 -/* 030C90 80030090 46001087 */ neg.s $f2, $f2 -.L80030094: -/* 030C94 80030094 1A4000A5 */ blez $s2, .L8003032C -.L80030098: -/* 030C98 80030098 244C0001 */ addiu $t4, $v0, 1 -/* 030C9C 8003009C 0192082A */ slt $at, $t4, $s2 -/* 030CA0 800300A0 14200002 */ bnez $at, .L800300AC -/* 030CA4 800300A4 01801825 */ move $v1, $t4 -/* 030CA8 800300A8 00001825 */ move $v1, $zero -.L800300AC: -/* 030CAC 800300AC C5320008 */ lwc1 $f18, 8($t1) -/* 030CB0 800300B0 C5340000 */ lwc1 $f20, ($t1) -/* 030CB4 800300B4 460E9102 */ mul.s $f4, $f18, $f14 -/* 030CB8 800300B8 00037100 */ sll $t6, $v1, 4 -/* 030CBC 800300BC 026E3821 */ addu $a3, $s3, $t6 -/* 030CC0 800300C0 C4F80008 */ lwc1 $f24, 8($a3) -/* 030CC4 800300C4 46146182 */ mul.s $f6, $f12, $f20 -/* 030CC8 800300C8 C4FA0000 */ lwc1 $f26, ($a3) -/* 030CCC 800300CC 460EC282 */ mul.s $f10, $f24, $f14 -/* 030CD0 800300D0 46062200 */ add.s $f8, $f4, $f6 -/* 030CD4 800300D4 461A6102 */ mul.s $f4, $f12, $f26 -/* 030CD8 800300D8 46024400 */ add.s $f16, $f8, $f2 -/* 030CDC 800300DC 4610003E */ c.le.s $f0, $f16 -/* 030CE0 800300E0 46045180 */ add.s $f6, $f10, $f4 -/* 030CE4 800300E4 45000005 */ bc1f .L800300FC -/* 030CE8 800300E8 46023580 */ add.s $f22, $f6, $f2 -/* 030CEC 800300EC 4600B03C */ c.lt.s $f22, $f0 -/* 030CF0 800300F0 00000000 */ nop -/* 030CF4 800300F4 45010009 */ bc1t .L8003011C -/* 030CF8 800300F8 000D7880 */ sll $t7, $t5, 2 -.L800300FC: -/* 030CFC 800300FC 4600803C */ c.lt.s $f16, $f0 -/* 030D00 80030100 00000000 */ nop -/* 030D04 80030104 4500007A */ bc1f .L800302F0 -/* 030D08 80030108 00000000 */ nop -/* 030D0C 8003010C 4616003E */ c.le.s $f0, $f22 -/* 030D10 80030110 00000000 */ nop -/* 030D14 80030114 45000076 */ bc1f .L800302F0 -/* 030D18 80030118 000D7880 */ sll $t7, $t5, 2 -.L8003011C: -/* 030D1C 8003011C 028F4021 */ addu $t0, $s4, $t7 -/* 030D20 80030120 8D040000 */ lw $a0, ($t0) -/* 030D24 80030124 000D5940 */ sll $t3, $t5, 5 -/* 030D28 80030128 000AC100 */ sll $t8, $t2, 4 -/* 030D2C 8003012C 2405FFFF */ li $a1, -1 -/* 030D30 80030130 01601825 */ move $v1, $t3 -/* 030D34 80030134 18800039 */ blez $a0, .L8003021C -/* 030D38 80030138 02183021 */ addu $a2, $s0, $t8 -/* 030D3C 8003013C 0003C940 */ sll $t9, $v1, 5 -/* 030D40 80030140 02391021 */ addu $v0, $s1, $t9 -.L80030144: -/* 030D44 80030144 C45C0010 */ lwc1 $f28, 0x10($v0) -/* 030D48 80030148 2484FFFF */ addiu $a0, $a0, -1 -/* 030D4C 8003014C 4614E032 */ c.eq.s $f28, $f20 -/* 030D50 80030150 00000000 */ nop -/* 030D54 80030154 45000015 */ bc1f .L800301AC -/* 030D58 80030158 00000000 */ nop -/* 030D5C 8003015C C4480014 */ lwc1 $f8, 0x14($v0) -/* 030D60 80030160 00000000 */ nop -/* 030D64 80030164 46124032 */ c.eq.s $f8, $f18 -/* 030D68 80030168 00000000 */ nop -/* 030D6C 8003016C 4500000F */ bc1f .L800301AC -/* 030D70 80030170 00000000 */ nop -/* 030D74 80030174 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 030D78 80030178 00000000 */ nop -/* 030D7C 8003017C 461A5032 */ c.eq.s $f10, $f26 -/* 030D80 80030180 00000000 */ nop -/* 030D84 80030184 45000009 */ bc1f .L800301AC -/* 030D88 80030188 00000000 */ nop -/* 030D8C 8003018C C444001C */ lwc1 $f4, 0x1c($v0) -/* 030D90 80030190 00000000 */ nop -/* 030D94 80030194 46182032 */ c.eq.s $f4, $f24 -/* 030D98 80030198 00000000 */ nop -/* 030D9C 8003019C 45000003 */ bc1f .L800301AC -/* 030DA0 800301A0 00000000 */ nop -/* 030DA4 800301A4 10000018 */ b .L80030208 -/* 030DA8 800301A8 00602825 */ move $a1, $v1 -.L800301AC: -/* 030DAC 800301AC 461AE032 */ c.eq.s $f28, $f26 -/* 030DB0 800301B0 00000000 */ nop -/* 030DB4 800301B4 45000014 */ bc1f .L80030208 -/* 030DB8 800301B8 00000000 */ nop -/* 030DBC 800301BC C4460014 */ lwc1 $f6, 0x14($v0) -/* 030DC0 800301C0 00000000 */ nop -/* 030DC4 800301C4 46183032 */ c.eq.s $f6, $f24 -/* 030DC8 800301C8 00000000 */ nop -/* 030DCC 800301CC 4500000E */ bc1f .L80030208 -/* 030DD0 800301D0 00000000 */ nop -/* 030DD4 800301D4 C4480018 */ lwc1 $f8, 0x18($v0) -/* 030DD8 800301D8 00000000 */ nop -/* 030DDC 800301DC 46144032 */ c.eq.s $f8, $f20 -/* 030DE0 800301E0 00000000 */ nop -/* 030DE4 800301E4 45000008 */ bc1f .L80030208 -/* 030DE8 800301E8 00000000 */ nop -/* 030DEC 800301EC C44A001C */ lwc1 $f10, 0x1c($v0) -/* 030DF0 800301F0 00000000 */ nop -/* 030DF4 800301F4 46125032 */ c.eq.s $f10, $f18 -/* 030DF8 800301F8 00000000 */ nop -/* 030DFC 800301FC 45000002 */ bc1f .L80030208 -/* 030E00 80030200 00000000 */ nop -/* 030E04 80030204 00602825 */ move $a1, $v1 -.L80030208: -/* 030E08 80030208 24630001 */ addiu $v1, $v1, 1 -/* 030E0C 8003020C 18800003 */ blez $a0, .L8003021C -/* 030E10 80030210 24420020 */ addiu $v0, $v0, 0x20 -/* 030E14 80030214 04A0FFCB */ bltz $a1, .L80030144 -/* 030E18 80030218 00000000 */ nop -.L8003021C: -/* 030E1C 8003021C 04A00009 */ bltz $a1, .L80030244 -/* 030E20 80030220 00057140 */ sll $t6, $a1, 5 -/* 030E24 80030224 A4C5000E */ sh $a1, 0xe($a2) -/* 030E28 80030228 022E1021 */ addu $v0, $s1, $t6 -/* 030E2C 8003022C C4440000 */ lwc1 $f4, ($v0) -/* 030E30 80030230 254A0001 */ addiu $t2, $t2, 1 -/* 030E34 80030234 E4C40000 */ swc1 $f4, ($a2) -/* 030E38 80030238 C4460008 */ lwc1 $f6, 8($v0) -/* 030E3C 8003023C 1000002C */ b .L800302F0 -/* 030E40 80030240 E4C60008 */ swc1 $f6, 8($a2) -.L80030244: -/* 030E44 80030244 46168201 */ sub.s $f8, $f16, $f22 -/* 030E48 80030248 00000000 */ nop -/* 030E4C 8003024C 46088603 */ div.s $f24, $f16, $f8 -/* 030E50 80030250 4614D281 */ sub.s $f10, $f26, $f20 -/* 030E54 80030254 46185102 */ mul.s $f4, $f10, $f24 -/* 030E58 80030258 46142180 */ add.s $f6, $f4, $f20 -/* 030E5C 8003025C E4C60000 */ swc1 $f6, ($a2) -/* 030E60 80030260 C4E80008 */ lwc1 $f8, 8($a3) -/* 030E64 80030264 C5320008 */ lwc1 $f18, 8($t1) -/* 030E68 80030268 00000000 */ nop -/* 030E6C 8003026C 46124281 */ sub.s $f10, $f8, $f18 -/* 030E70 80030270 46185102 */ mul.s $f4, $f10, $f24 -/* 030E74 80030274 46122180 */ add.s $f6, $f4, $f18 -/* 030E78 80030278 E4C60008 */ swc1 $f6, 8($a2) -/* 030E7C 8003027C 8D040000 */ lw $a0, ($t0) -/* 030E80 80030280 00000000 */ nop -/* 030E84 80030284 28810020 */ slti $at, $a0, 0x20 -/* 030E88 80030288 14200004 */ bnez $at, .L8003029C -/* 030E8C 8003028C 008B1821 */ addu $v1, $a0, $t3 -/* 030E90 80030290 AD150000 */ sw $s5, ($t0) -/* 030E94 80030294 02A02025 */ move $a0, $s5 -/* 030E98 80030298 008B1821 */ addu $v1, $a0, $t3 -.L8003029C: -/* 030E9C 8003029C C5280000 */ lwc1 $f8, ($t1) -/* 030EA0 800302A0 00037940 */ sll $t7, $v1, 5 -/* 030EA4 800302A4 022F1021 */ addu $v0, $s1, $t7 -/* 030EA8 800302A8 E4480010 */ swc1 $f8, 0x10($v0) -/* 030EAC 800302AC C52A0008 */ lwc1 $f10, 8($t1) -/* 030EB0 800302B0 8ED80000 */ lw $t8, ($s6) -/* 030EB4 800302B4 E44A0014 */ swc1 $f10, 0x14($v0) -/* 030EB8 800302B8 C4E40000 */ lwc1 $f4, ($a3) -/* 030EBC 800302BC 24990001 */ addiu $t9, $a0, 1 -/* 030EC0 800302C0 E4440018 */ swc1 $f4, 0x18($v0) -/* 030EC4 800302C4 C4E60008 */ lwc1 $f6, 8($a3) -/* 030EC8 800302C8 254A0001 */ addiu $t2, $t2, 1 -/* 030ECC 800302CC E446001C */ swc1 $f6, 0x1c($v0) -/* 030ED0 800302D0 C4C80000 */ lwc1 $f8, ($a2) -/* 030ED4 800302D4 00000000 */ nop -/* 030ED8 800302D8 E4480000 */ swc1 $f8, ($v0) -/* 030EDC 800302DC C4CA0008 */ lwc1 $f10, 8($a2) -/* 030EE0 800302E0 AD190000 */ sw $t9, ($t0) -/* 030EE4 800302E4 AC58000C */ sw $t8, 0xc($v0) -/* 030EE8 800302E8 E44A0008 */ swc1 $f10, 8($v0) -/* 030EEC 800302EC A4C3000E */ sh $v1, 0xe($a2) -.L800302F0: -/* 030EF0 800302F0 4600B03E */ c.le.s $f22, $f0 -/* 030EF4 800302F4 01801025 */ move $v0, $t4 -/* 030EF8 800302F8 4500000A */ bc1f .L80030324 -/* 030EFC 800302FC 000A7100 */ sll $t6, $t2, 4 -/* 030F00 80030300 84EF000E */ lh $t7, 0xe($a3) -/* 030F04 80030304 020E3021 */ addu $a2, $s0, $t6 -/* 030F08 80030308 A4CF000E */ sh $t7, 0xe($a2) -/* 030F0C 8003030C C4E40000 */ lwc1 $f4, ($a3) -/* 030F10 80030310 254A0001 */ addiu $t2, $t2, 1 -/* 030F14 80030314 E4C40000 */ swc1 $f4, ($a2) -/* 030F18 80030318 C4E60008 */ lwc1 $f6, 8($a3) -/* 030F1C 8003031C 00000000 */ nop -/* 030F20 80030320 E4C60008 */ swc1 $f6, 8($a2) -.L80030324: -/* 030F24 80030324 1592FF5C */ bne $t4, $s2, .L80030098 -/* 030F28 80030328 25290010 */ addiu $t1, $t1, 0x10 -.L8003032C: -/* 030F2C 8003032C 02601025 */ move $v0, $s3 -/* 030F30 80030330 02009825 */ move $s3, $s0 -/* 030F34 80030334 03DF082A */ slt $at, $fp, $ra -/* 030F38 80030338 01409025 */ move $s2, $t2 -/* 030F3C 8003033C 03C06825 */ move $t5, $fp -/* 030F40 80030340 26F70008 */ addiu $s7, $s7, 8 -/* 030F44 80030344 10200004 */ beqz $at, .L80030358 -/* 030F48 80030348 00408025 */ move $s0, $v0 -/* 030F4C 8003034C 29410003 */ slti $at, $t2, 3 -/* 030F50 80030350 1020FF32 */ beqz $at, .L8003001C -/* 030F54 80030354 25BE0001 */ addiu $fp, $t5, 1 -.L80030358: -/* 030F58 80030358 8FA50164 */ lw $a1, 0x164($sp) -/* 030F5C 8003035C 2A410003 */ slti $at, $s2, 3 -/* 030F60 80030360 14200041 */ bnez $at, .L80030468 -/* 030F64 80030364 00000000 */ nop -/* 030F68 80030368 12650041 */ beq $s3, $a1, .L80030470 -/* 030F6C 8003036C 8FBF0054 */ lw $ra, 0x54($sp) -/* 030F70 80030370 1A40003E */ blez $s2, .L8003046C -/* 030F74 80030374 00001025 */ move $v0, $zero -/* 030F78 80030378 32470003 */ andi $a3, $s2, 3 -/* 030F7C 8003037C 10E0000F */ beqz $a3, .L800303BC -/* 030F80 80030380 00E03025 */ move $a2, $a3 -/* 030F84 80030384 00001900 */ sll $v1, $zero, 4 -/* 030F88 80030388 02634821 */ addu $t1, $s3, $v1 -/* 030F8C 8003038C 00A32021 */ addu $a0, $a1, $v1 -.L80030390: -/* 030F90 80030390 C5280000 */ lwc1 $f8, ($t1) -/* 030F94 80030394 24420001 */ addiu $v0, $v0, 1 -/* 030F98 80030398 E4880000 */ swc1 $f8, ($a0) -/* 030F9C 8003039C C52A0008 */ lwc1 $f10, 8($t1) -/* 030FA0 800303A0 25290010 */ addiu $t1, $t1, 0x10 -/* 030FA4 800303A4 E48A0008 */ swc1 $f10, 8($a0) -/* 030FA8 800303A8 8538FFFE */ lh $t8, -2($t1) -/* 030FAC 800303AC 24840010 */ addiu $a0, $a0, 0x10 -/* 030FB0 800303B0 14C2FFF7 */ bne $a2, $v0, .L80030390 -/* 030FB4 800303B4 A498FFFE */ sh $t8, -2($a0) -/* 030FB8 800303B8 1052002C */ beq $v0, $s2, .L8003046C -.L800303BC: -/* 030FBC 800303BC 00021900 */ sll $v1, $v0, 4 -/* 030FC0 800303C0 0012C900 */ sll $t9, $s2, 4 -/* 030FC4 800303C4 03253021 */ addu $a2, $t9, $a1 -/* 030FC8 800303C8 02634821 */ addu $t1, $s3, $v1 -/* 030FCC 800303CC 00A32021 */ addu $a0, $a1, $v1 -.L800303D0: -/* 030FD0 800303D0 C5240000 */ lwc1 $f4, ($t1) -/* 030FD4 800303D4 24840040 */ addiu $a0, $a0, 0x40 -/* 030FD8 800303D8 E484FFC0 */ swc1 $f4, -0x40($a0) -/* 030FDC 800303DC C5260008 */ lwc1 $f6, 8($t1) -/* 030FE0 800303E0 25290040 */ addiu $t1, $t1, 0x40 -/* 030FE4 800303E4 E486FFC8 */ swc1 $f6, -0x38($a0) -/* 030FE8 800303E8 852EFFCE */ lh $t6, -0x32($t1) -/* 030FEC 800303EC 00000000 */ nop -/* 030FF0 800303F0 A48EFFCE */ sh $t6, -0x32($a0) -/* 030FF4 800303F4 C528FFD0 */ lwc1 $f8, -0x30($t1) -/* 030FF8 800303F8 00000000 */ nop -/* 030FFC 800303FC E488FFD0 */ swc1 $f8, -0x30($a0) -/* 031000 80030400 C52AFFD8 */ lwc1 $f10, -0x28($t1) -/* 031004 80030404 00000000 */ nop -/* 031008 80030408 E48AFFD8 */ swc1 $f10, -0x28($a0) -/* 03100C 8003040C 852FFFDE */ lh $t7, -0x22($t1) -/* 031010 80030410 00000000 */ nop -/* 031014 80030414 A48FFFDE */ sh $t7, -0x22($a0) -/* 031018 80030418 C524FFE0 */ lwc1 $f4, -0x20($t1) -/* 03101C 8003041C 00000000 */ nop -/* 031020 80030420 E484FFE0 */ swc1 $f4, -0x20($a0) -/* 031024 80030424 C526FFE8 */ lwc1 $f6, -0x18($t1) -/* 031028 80030428 00000000 */ nop -/* 03102C 8003042C E486FFE8 */ swc1 $f6, -0x18($a0) -/* 031030 80030430 8538FFEE */ lh $t8, -0x12($t1) -/* 031034 80030434 00000000 */ nop -/* 031038 80030438 A498FFEE */ sh $t8, -0x12($a0) -/* 03103C 8003043C C528FFF0 */ lwc1 $f8, -0x10($t1) -/* 031040 80030440 00000000 */ nop -/* 031044 80030444 E488FFF0 */ swc1 $f8, -0x10($a0) -/* 031048 80030448 C52AFFF8 */ lwc1 $f10, -8($t1) -/* 03104C 8003044C 00000000 */ nop -/* 031050 80030450 E48AFFF8 */ swc1 $f10, -8($a0) -/* 031054 80030454 8539FFFE */ lh $t9, -2($t1) -/* 031058 80030458 1486FFDD */ bne $a0, $a2, .L800303D0 -/* 03105C 8003045C A499FFFE */ sh $t9, -2($a0) -/* 031060 80030460 10000003 */ b .L80030470 -/* 031064 80030464 8FBF0054 */ lw $ra, 0x54($sp) -.L80030468: -/* 031068 80030468 00009025 */ move $s2, $zero -.L8003046C: -/* 03106C 8003046C 8FBF0054 */ lw $ra, 0x54($sp) -.L80030470: -/* 031070 80030470 02401025 */ move $v0, $s2 -/* 031074 80030474 8FB20038 */ lw $s2, 0x38($sp) -/* 031078 80030478 C7B50008 */ lwc1 $f21, 8($sp) -/* 03107C 8003047C C7B4000C */ lwc1 $f20, 0xc($sp) -/* 031080 80030480 C7B70010 */ lwc1 $f23, 0x10($sp) -/* 031084 80030484 C7B60014 */ lwc1 $f22, 0x14($sp) -/* 031088 80030488 C7B90018 */ lwc1 $f25, 0x18($sp) -/* 03108C 8003048C C7B8001C */ lwc1 $f24, 0x1c($sp) -/* 031090 80030490 C7BB0020 */ lwc1 $f27, 0x20($sp) -/* 031094 80030494 C7BA0024 */ lwc1 $f26, 0x24($sp) -/* 031098 80030498 C7BD0028 */ lwc1 $f29, 0x28($sp) -/* 03109C 8003049C C7BC002C */ lwc1 $f28, 0x2c($sp) -/* 0310A0 800304A0 8FB00030 */ lw $s0, 0x30($sp) -/* 0310A4 800304A4 8FB10034 */ lw $s1, 0x34($sp) -/* 0310A8 800304A8 8FB3003C */ lw $s3, 0x3c($sp) -/* 0310AC 800304AC 8FB40040 */ lw $s4, 0x40($sp) -/* 0310B0 800304B0 8FB50044 */ lw $s5, 0x44($sp) -/* 0310B4 800304B4 8FB60048 */ lw $s6, 0x48($sp) -/* 0310B8 800304B8 8FB7004C */ lw $s7, 0x4c($sp) -/* 0310BC 800304BC 8FBE0050 */ lw $fp, 0x50($sp) -/* 0310C0 800304C0 03E00008 */ jr $ra -/* 0310C4 800304C4 27BD0160 */ addiu $sp, $sp, 0x160 - -glabel func_800304C8 -/* 0310C8 800304C8 3C068012 */ lui $a2, %hi(D_8011D0C4) # $a2, 0x8012 -/* 0310CC 800304CC 8CC6D0C4 */ lw $a2, %lo(D_8011D0C4)($a2) -/* 0310D0 800304D0 C48E0000 */ lwc1 $f14, ($a0) -/* 0310D4 800304D4 C4900018 */ lwc1 $f16, 0x18($a0) -/* 0310D8 800304D8 C4920008 */ lwc1 $f18, 8($a0) -/* 0310DC 800304DC C4C0000C */ lwc1 $f0, 0xc($a2) -/* 0310E0 800304E0 C4840010 */ lwc1 $f4, 0x10($a0) -/* 0310E4 800304E4 46128201 */ sub.s $f8, $f16, $f18 -/* 0310E8 800304E8 C4C20014 */ lwc1 $f2, 0x14($a2) -/* 0310EC 800304EC 460E0181 */ sub.s $f6, $f0, $f14 -/* 0310F0 800304F0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0310F4 800304F4 46083282 */ mul.s $f10, $f6, $f8 -/* 0310F8 800304F8 E7A4000C */ swc1 $f4, 0xc($sp) -/* 0310FC 800304FC C7A6000C */ lwc1 $f6, 0xc($sp) -/* 031100 80030500 00001025 */ move $v0, $zero -/* 031104 80030504 46121101 */ sub.s $f4, $f2, $f18 -/* 031108 80030508 00001825 */ move $v1, $zero -/* 03110C 8003050C 460E3201 */ sub.s $f8, $f6, $f14 -/* 031110 80030510 00002825 */ move $a1, $zero -/* 031114 80030514 46082182 */ mul.s $f6, $f4, $f8 -/* 031118 80030518 44802000 */ mtc1 $zero, $f4 -/* 03111C 8003051C 46065301 */ sub.s $f12, $f10, $f6 -/* 031120 80030520 460C203E */ c.le.s $f4, $f12 -/* 031124 80030524 00000000 */ nop -/* 031128 80030528 45000002 */ bc1f .L80030534 -/* 03112C 8003052C 00000000 */ nop -/* 031130 80030530 24020001 */ li $v0, 1 -.L80030534: -/* 031134 80030534 C4880028 */ lwc1 $f8, 0x28($a0) -/* 031138 80030538 C7A6000C */ lwc1 $f6, 0xc($sp) -/* 03113C 8003053C E7A80008 */ swc1 $f8, 8($sp) -/* 031140 80030540 C48A0020 */ lwc1 $f10, 0x20($a0) -/* 031144 80030544 C7A80008 */ lwc1 $f8, 8($sp) -/* 031148 80030548 E7AA0004 */ swc1 $f10, 4($sp) -/* 03114C 8003054C 46060101 */ sub.s $f4, $f0, $f6 -/* 031150 80030550 46104281 */ sub.s $f10, $f8, $f16 -/* 031154 80030554 460A2202 */ mul.s $f8, $f4, $f10 -/* 031158 80030558 C7A40004 */ lwc1 $f4, 4($sp) -/* 03115C 8003055C 00000000 */ nop -/* 031160 80030560 46062281 */ sub.s $f10, $f4, $f6 -/* 031164 80030564 46101101 */ sub.s $f4, $f2, $f16 -/* 031168 80030568 460A2182 */ mul.s $f6, $f4, $f10 -/* 03116C 8003056C 44802000 */ mtc1 $zero, $f4 -/* 031170 80030570 C7AA0004 */ lwc1 $f10, 4($sp) -/* 031174 80030574 46064301 */ sub.s $f12, $f8, $f6 -/* 031178 80030578 C7A60008 */ lwc1 $f6, 8($sp) -/* 03117C 8003057C 460C203E */ c.le.s $f4, $f12 -/* 031180 80030580 00000000 */ nop -/* 031184 80030584 45000002 */ bc1f .L80030590 -/* 031188 80030588 00000000 */ nop -/* 03118C 8003058C 24030001 */ li $v1, 1 -.L80030590: -/* 031190 80030590 14430032 */ bne $v0, $v1, .L8003065C -/* 031194 80030594 00000000 */ nop -/* 031198 80030598 460A0201 */ sub.s $f8, $f0, $f10 -/* 03119C 8003059C 3C028012 */ lui $v0, %hi(D_8011D0BC) # $v0, 0x8012 -/* 0311A0 800305A0 46069101 */ sub.s $f4, $f18, $f6 -/* 0311A4 800305A4 46044202 */ mul.s $f8, $f8, $f4 -/* 0311A8 800305A8 46061101 */ sub.s $f4, $f2, $f6 -/* 0311AC 800305AC 460A7181 */ sub.s $f6, $f14, $f10 -/* 0311B0 800305B0 46062282 */ mul.s $f10, $f4, $f6 -/* 0311B4 800305B4 44802000 */ mtc1 $zero, $f4 -/* 0311B8 800305B8 460A4301 */ sub.s $f12, $f8, $f10 -/* 0311BC 800305BC 460C203E */ c.le.s $f4, $f12 -/* 0311C0 800305C0 00000000 */ nop -/* 0311C4 800305C4 45000002 */ bc1f .L800305D0 -/* 0311C8 800305C8 00000000 */ nop -/* 0311CC 800305CC 24050001 */ li $a1, 1 -.L800305D0: -/* 0311D0 800305D0 14650022 */ bne $v1, $a1, .L8003065C -/* 0311D4 800305D4 00000000 */ nop -/* 0311D8 800305D8 8C42D0BC */ lw $v0, %lo(D_8011D0BC)($v0) -/* 0311DC 800305DC 3C038012 */ lui $v1, %hi(D_8011D0D0) # $v1, 0x8012 -/* 0311E0 800305E0 C4460000 */ lwc1 $f6, ($v0) -/* 0311E4 800305E4 C44A0008 */ lwc1 $f10, 8($v0) -/* 0311E8 800305E8 46003202 */ mul.s $f8, $f6, $f0 -/* 0311EC 800305EC 2463D0D0 */ addiu $v1, %lo(D_8011D0D0) # addiu $v1, $v1, -0x2f30 -/* 0311F0 800305F0 846E0000 */ lh $t6, ($v1) -/* 0311F4 800305F4 46025102 */ mul.s $f4, $f10, $f2 -/* 0311F8 800305F8 C44A000C */ lwc1 $f10, 0xc($v0) -/* 0311FC 800305FC 46044180 */ add.s $f6, $f8, $f4 -/* 031200 80030600 460A3200 */ add.s $f8, $f6, $f10 -/* 031204 80030604 C4460004 */ lwc1 $f6, 4($v0) -/* 031208 80030608 46004107 */ neg.s $f4, $f8 -/* 03120C 8003060C 00000000 */ nop -/* 031210 80030610 46062303 */ div.s $f12, $f4, $f6 -/* 031214 80030614 448E5000 */ mtc1 $t6, $f10 -/* 031218 80030618 00000000 */ nop -/* 03121C 8003061C 46805220 */ cvt.s.w $f8, $f10 -/* 031220 80030620 460C403C */ c.lt.s $f8, $f12 -/* 031224 80030624 00000000 */ nop -/* 031228 80030628 4500000C */ bc1f .L8003065C -/* 03122C 8003062C 00000000 */ nop -/* 031230 80030630 444FF800 */ cfc1 $t7, $31 -/* 031234 80030634 00000000 */ nop -/* 031238 80030638 35E10003 */ ori $at, $t7, 3 -/* 03123C 8003063C 38210002 */ xori $at, $at, 2 -/* 031240 80030640 44C1F800 */ ctc1 $at, $31 -/* 031244 80030644 00000000 */ nop -/* 031248 80030648 46006124 */ cvt.w.s $f4, $f12 -/* 03124C 8003064C 44182000 */ mfc1 $t8, $f4 -/* 031250 80030650 44CFF800 */ ctc1 $t7, $31 -/* 031254 80030654 A4780000 */ sh $t8, ($v1) -/* 031258 80030658 00000000 */ nop -.L8003065C: -/* 03125C 8003065C 03E00008 */ jr $ra -/* 031260 80030660 27BD0040 */ addiu $sp, $sp, 0x40 - -glabel func_80030664 -/* 031264 80030664 00057400 */ sll $t6, $a1, 0x10 -/* 031268 80030668 0006C400 */ sll $t8, $a2, 0x10 -/* 03126C 8003066C 0018CC03 */ sra $t9, $t8, 0x10 -/* 031270 80030670 000E7C03 */ sra $t7, $t6, 0x10 -/* 031274 80030674 AFA50004 */ sw $a1, 4($sp) -/* 031278 80030678 AFA60008 */ sw $a2, 8($sp) -/* 03127C 8003067C AFA7000C */ sw $a3, 0xc($sp) -/* 031280 80030680 30E900FF */ andi $t1, $a3, 0xff -/* 031284 80030684 032F082A */ slt $at, $t9, $t7 -/* 031288 80030688 01203825 */ move $a3, $t1 -/* 03128C 8003068C 03203025 */ move $a2, $t9 -/* 031290 80030690 10200007 */ beqz $at, .L800306B0 -/* 031294 80030694 01E02825 */ move $a1, $t7 -/* 031298 80030698 00192C00 */ sll $a1, $t9, 0x10 -/* 03129C 8003069C 000F3400 */ sll $a2, $t7, 0x10 -/* 0312A0 800306A0 00055403 */ sra $t2, $a1, 0x10 -/* 0312A4 800306A4 00065C03 */ sra $t3, $a2, 0x10 -/* 0312A8 800306A8 01402825 */ move $a1, $t2 -/* 0312AC 800306AC 01603025 */ move $a2, $t3 -.L800306B0: -/* 0312B0 800306B0 28C10400 */ slti $at, $a2, 0x400 -/* 0312B4 800306B4 14200002 */ bnez $at, .L800306C0 -/* 0312B8 800306B8 000468C0 */ sll $t5, $a0, 3 -/* 0312BC 800306BC 240603FF */ li $a2, 1023 -.L800306C0: -/* 0312C0 800306C0 24C2FFFB */ addiu $v0, $a2, -5 -/* 0312C4 800306C4 00A2082A */ slt $at, $a1, $v0 -/* 0312C8 800306C8 14200004 */ bnez $at, .L800306DC -/* 0312CC 800306CC 01A46823 */ subu $t5, $t5, $a0 -/* 0312D0 800306D0 00022C00 */ sll $a1, $v0, 0x10 -/* 0312D4 800306D4 00056403 */ sra $t4, $a1, 0x10 -/* 0312D8 800306D8 01802825 */ move $a1, $t4 -.L800306DC: -/* 0312DC 800306DC 93A30013 */ lbu $v1, 0x13($sp) -/* 0312E0 800306E0 93A80017 */ lbu $t0, 0x17($sp) -/* 0312E4 800306E4 3C0E8012 */ lui $t6, %hi(D_8011D388) # $t6, 0x8012 -/* 0312E8 800306E8 25CED388 */ addiu $t6, %lo(D_8011D388) # addiu $t6, $t6, -0x2c78 -/* 0312EC 800306EC 000D68C0 */ sll $t5, $t5, 3 -/* 0312F0 800306F0 01AE1021 */ addu $v0, $t5, $t6 -/* 0312F4 800306F4 00077C00 */ sll $t7, $a3, 0x10 -/* 0312F8 800306F8 00054C00 */ sll $t1, $a1, 0x10 -/* 0312FC 800306FC 00065400 */ sll $t2, $a2, 0x10 -/* 031300 80030700 0003C400 */ sll $t8, $v1, 0x10 -/* 031304 80030704 0008CC00 */ sll $t9, $t0, 0x10 -/* 031308 80030708 AC400020 */ sw $zero, 0x20($v0) -/* 03130C 8003070C AC400024 */ sw $zero, 0x24($v0) -/* 031310 80030710 AC400014 */ sw $zero, 0x14($v0) -/* 031314 80030714 AC400018 */ sw $zero, 0x18($v0) -/* 031318 80030718 AC40001C */ sw $zero, 0x1c($v0) -/* 03131C 8003071C AC4F0000 */ sw $t7, ($v0) -/* 031320 80030720 AC580004 */ sw $t8, 4($v0) -/* 031324 80030724 AC590008 */ sw $t9, 8($v0) -/* 031328 80030728 AC49000C */ sw $t1, 0xc($v0) -/* 03132C 8003072C AC4A0010 */ sw $t2, 0x10($v0) -/* 031330 80030730 A0470028 */ sb $a3, 0x28($v0) -/* 031334 80030734 A445002C */ sh $a1, 0x2c($v0) -/* 031338 80030738 A446002E */ sh $a2, 0x2e($v0) -/* 03133C 8003073C AC400030 */ sw $zero, 0x30($v0) -/* 031340 80030740 AC400034 */ sw $zero, 0x34($v0) -/* 031344 80030744 A0430029 */ sb $v1, 0x29($v0) -/* 031348 80030748 03E00008 */ jr $ra -/* 03134C 8003074C A048002A */ sb $t0, 0x2a($v0) - -glabel func_80030750 -/* 031350 80030750 000470C0 */ sll $t6, $a0, 3 -/* 031354 80030754 01C47023 */ subu $t6, $t6, $a0 -/* 031358 80030758 3C0F8012 */ lui $t7, %hi(D_8011D388) # $t7, 0x8012 -/* 03135C 8003075C 25EFD388 */ addiu $t7, %lo(D_8011D388) # addiu $t7, $t7, -0x2c78 -/* 031360 80030760 000E70C0 */ sll $t6, $t6, 3 -/* 031364 80030764 01CF1021 */ addu $v0, $t6, $t7 -/* 031368 80030768 8C58000C */ lw $t8, 0xc($v0) -/* 03136C 8003076C 00000000 */ nop -/* 031370 80030770 0018CC03 */ sra $t9, $t8, 0x10 -/* 031374 80030774 A4B90000 */ sh $t9, ($a1) -/* 031378 80030778 8C480010 */ lw $t0, 0x10($v0) -/* 03137C 8003077C 00000000 */ nop -/* 031380 80030780 00084C03 */ sra $t1, $t0, 0x10 -/* 031384 80030784 A4C90000 */ sh $t1, ($a2) -/* 031388 80030788 8C4A0000 */ lw $t2, ($v0) -/* 03138C 8003078C 00000000 */ nop -/* 031390 80030790 000A5C03 */ sra $t3, $t2, 0x10 -/* 031394 80030794 A0EB0000 */ sb $t3, ($a3) -/* 031398 80030798 8C4C0004 */ lw $t4, 4($v0) -/* 03139C 8003079C 8FAE0010 */ lw $t6, 0x10($sp) -/* 0313A0 800307A0 000C6C03 */ sra $t5, $t4, 0x10 -/* 0313A4 800307A4 A1CD0000 */ sb $t5, ($t6) -/* 0313A8 800307A8 8C4F0008 */ lw $t7, 8($v0) -/* 0313AC 800307AC 8FB90014 */ lw $t9, 0x14($sp) -/* 0313B0 800307B0 000FC403 */ sra $t8, $t7, 0x10 -/* 0313B4 800307B4 03E00008 */ jr $ra -/* 0313B8 800307B8 A3380000 */ sb $t8, ($t9) - -glabel func_800307BC -/* 0313BC 800307BC 000470C0 */ sll $t6, $a0, 3 -/* 0313C0 800307C0 01C47023 */ subu $t6, $t6, $a0 -/* 0313C4 800307C4 3C0F8012 */ lui $t7, %hi(D_8011D388) # $t7, 0x8012 -/* 0313C8 800307C8 25EFD388 */ addiu $t7, %lo(D_8011D388) # addiu $t7, $t7, -0x2c78 -/* 0313CC 800307CC 000E70C0 */ sll $t6, $t6, 3 -/* 0313D0 800307D0 01CF1021 */ addu $v0, $t6, $t7 -/* 0313D4 800307D4 8C480000 */ lw $t0, ($v0) -/* 0313D8 800307D8 8C4A0004 */ lw $t2, 4($v0) -/* 0313DC 800307DC 8C4C0008 */ lw $t4, 8($v0) -/* 0313E0 800307E0 3C1803FA */ lui $t8, 0x3fa -/* 0313E4 800307E4 3C1903FF */ lui $t9, 0x3ff -/* 0313E8 800307E8 240E03FA */ li $t6, 1018 -/* 0313EC 800307EC 240F03FF */ li $t7, 1023 -/* 0313F0 800307F0 00084C03 */ sra $t1, $t0, 0x10 -/* 0313F4 800307F4 000A5C03 */ sra $t3, $t2, 0x10 -/* 0313F8 800307F8 000C6C03 */ sra $t5, $t4, 0x10 -/* 0313FC 800307FC AC400020 */ sw $zero, 0x20($v0) -/* 031400 80030800 AC400024 */ sw $zero, 0x24($v0) -/* 031404 80030804 AC400014 */ sw $zero, 0x14($v0) -/* 031408 80030808 AC400018 */ sw $zero, 0x18($v0) -/* 03140C 8003080C AC40001C */ sw $zero, 0x1c($v0) -/* 031410 80030810 AC58000C */ sw $t8, 0xc($v0) -/* 031414 80030814 AC590010 */ sw $t9, 0x10($v0) -/* 031418 80030818 A0490028 */ sb $t1, 0x28($v0) -/* 03141C 8003081C A04B0029 */ sb $t3, 0x29($v0) -/* 031420 80030820 A04D002A */ sb $t5, 0x2a($v0) -/* 031424 80030824 A44E002C */ sh $t6, 0x2c($v0) -/* 031428 80030828 A44F002E */ sh $t7, 0x2e($v0) -/* 03142C 8003082C AC400030 */ sw $zero, 0x30($v0) -/* 031430 80030830 03E00008 */ jr $ra -/* 031434 80030834 AC400034 */ sw $zero, 0x34($v0) - -glabel func_80030838 -/* 031438 80030838 00A03025 */ move $a2, $a1 -/* 03143C 8003083C 1880003D */ blez $a0, .L80030934 -/* 031440 80030840 00001025 */ move $v0, $zero -/* 031444 80030844 3C038012 */ lui $v1, %hi(D_8011D388) # $v1, 0x8012 -/* 031448 80030848 2463D388 */ addiu $v1, %lo(D_8011D388) # addiu $v1, $v1, -0x2c78 -.L8003084C: -/* 03144C 8003084C 8C650030 */ lw $a1, 0x30($v1) -/* 031450 80030850 24420001 */ addiu $v0, $v0, 1 -/* 031454 80030854 18A00035 */ blez $a1, .L8003092C -/* 031458 80030858 00C5082A */ slt $at, $a2, $a1 -/* 03145C 8003085C 10200023 */ beqz $at, .L800308EC -/* 031460 80030860 00000000 */ nop -/* 031464 80030864 8C6F0014 */ lw $t7, 0x14($v1) -/* 031468 80030868 8C690018 */ lw $t1, 0x18($v1) -/* 03146C 8003086C 01E60019 */ multu $t7, $a2 -/* 031470 80030870 8C6D001C */ lw $t5, 0x1c($v1) -/* 031474 80030874 8C6E0000 */ lw $t6, ($v1) -/* 031478 80030878 8C680004 */ lw $t0, 4($v1) -/* 03147C 8003087C 8C6C0008 */ lw $t4, 8($v1) -/* 031480 80030880 0000C012 */ mflo $t8 -/* 031484 80030884 01D8C821 */ addu $t9, $t6, $t8 -/* 031488 80030888 AC790000 */ sw $t9, ($v1) -/* 03148C 8003088C 01260019 */ multu $t1, $a2 -/* 031490 80030890 8C790020 */ lw $t9, 0x20($v1) -/* 031494 80030894 8C78000C */ lw $t8, 0xc($v1) -/* 031498 80030898 00005012 */ mflo $t2 -/* 03149C 8003089C 010A5821 */ addu $t3, $t0, $t2 -/* 0314A0 800308A0 AC6B0004 */ sw $t3, 4($v1) -/* 0314A4 800308A4 01A60019 */ multu $t5, $a2 -/* 0314A8 800308A8 8C6B0024 */ lw $t3, 0x24($v1) -/* 0314AC 800308AC 8C6A0010 */ lw $t2, 0x10($v1) -/* 0314B0 800308B0 00007812 */ mflo $t7 -/* 0314B4 800308B4 018F7021 */ addu $t6, $t4, $t7 -/* 0314B8 800308B8 8C6F0030 */ lw $t7, 0x30($v1) -/* 0314BC 800308BC 03260019 */ multu $t9, $a2 -/* 0314C0 800308C0 AC6E0008 */ sw $t6, 8($v1) -/* 0314C4 800308C4 01E67023 */ subu $t6, $t7, $a2 -/* 0314C8 800308C8 AC6E0030 */ sw $t6, 0x30($v1) -/* 0314CC 800308CC 00004812 */ mflo $t1 -/* 0314D0 800308D0 03094021 */ addu $t0, $t8, $t1 -/* 0314D4 800308D4 AC68000C */ sw $t0, 0xc($v1) -/* 0314D8 800308D8 01660019 */ multu $t3, $a2 -/* 0314DC 800308DC 00006812 */ mflo $t5 -/* 0314E0 800308E0 014D6021 */ addu $t4, $t2, $t5 -/* 0314E4 800308E4 10000011 */ b .L8003092C -/* 0314E8 800308E8 AC6C0010 */ sw $t4, 0x10($v1) -.L800308EC: -/* 0314EC 800308EC 90790028 */ lbu $t9, 0x28($v1) -/* 0314F0 800308F0 90690029 */ lbu $t1, 0x29($v1) -/* 0314F4 800308F4 906B002A */ lbu $t3, 0x2a($v1) -/* 0314F8 800308F8 846D002C */ lh $t5, 0x2c($v1) -/* 0314FC 800308FC 846F002E */ lh $t7, 0x2e($v1) -/* 031500 80030900 0019C400 */ sll $t8, $t9, 0x10 -/* 031504 80030904 00094400 */ sll $t0, $t1, 0x10 -/* 031508 80030908 000B5400 */ sll $t2, $t3, 0x10 -/* 03150C 8003090C 000D6400 */ sll $t4, $t5, 0x10 -/* 031510 80030910 000F7400 */ sll $t6, $t7, 0x10 -/* 031514 80030914 AC780000 */ sw $t8, ($v1) -/* 031518 80030918 AC680004 */ sw $t0, 4($v1) -/* 03151C 8003091C AC6A0008 */ sw $t2, 8($v1) -/* 031520 80030920 AC6C000C */ sw $t4, 0xc($v1) -/* 031524 80030924 AC6E0010 */ sw $t6, 0x10($v1) -/* 031528 80030928 AC600030 */ sw $zero, 0x30($v1) -.L8003092C: -/* 03152C 8003092C 1444FFC7 */ bne $v0, $a0, .L8003084C -/* 031530 80030930 24630038 */ addiu $v1, $v1, 0x38 -.L80030934: -/* 031534 80030934 03E00008 */ jr $ra -/* 031538 80030938 00000000 */ nop - -glabel func_8003093C -/* 03153C 8003093C 3C098012 */ lui $t1, %hi(D_8011B0A0) # $t1, 0x8012 -/* 031540 80030940 2529B0A0 */ addiu $t1, %lo(D_8011B0A0) # addiu $t1, $t1, -0x4f60 -/* 031544 80030944 8D230000 */ lw $v1, ($t1) -/* 031548 80030948 0004C0C0 */ sll $t8, $a0, 3 -/* 03154C 8003094C 0304C023 */ subu $t8, $t8, $a0 -/* 031550 80030950 3C198012 */ lui $t9, %hi(D_8011D388) # $t9, 0x8012 -/* 031554 80030954 246E0008 */ addiu $t6, $v1, 8 -/* 031558 80030958 AD2E0000 */ sw $t6, ($t1) -/* 03155C 8003095C 2739D388 */ addiu $t9, %lo(D_8011D388) # addiu $t9, $t9, -0x2c78 -/* 031560 80030960 0018C0C0 */ sll $t8, $t8, 3 -/* 031564 80030964 3C0FF800 */ lui $t7, 0xf800 -/* 031568 80030968 03192821 */ addu $a1, $t8, $t9 -/* 03156C 8003096C AC6F0000 */ sw $t7, ($v1) -/* 031570 80030970 8CAA0008 */ lw $t2, 8($a1) -/* 031574 80030974 8CAE0000 */ lw $t6, ($a1) -/* 031578 80030978 000A5C03 */ sra $t3, $t2, 0x10 -/* 03157C 8003097C 316C00FF */ andi $t4, $t3, 0xff -/* 031580 80030980 8CAB0004 */ lw $t3, 4($a1) -/* 031584 80030984 000C6A00 */ sll $t5, $t4, 8 -/* 031588 80030988 000EC403 */ sra $t8, $t6, 0x10 -/* 03158C 8003098C 000B6403 */ sra $t4, $t3, 0x10 -/* 031590 80030990 318E00FF */ andi $t6, $t4, 0xff -/* 031594 80030994 0018CE00 */ sll $t9, $t8, 0x18 -/* 031598 80030998 01B95025 */ or $t2, $t5, $t9 -/* 03159C 8003099C 000E7C00 */ sll $t7, $t6, 0x10 -/* 0315A0 800309A0 014FC025 */ or $t8, $t2, $t7 -/* 0315A4 800309A4 370D00FF */ ori $t5, $t8, 0xff -/* 0315A8 800309A8 AC6D0004 */ sw $t5, 4($v1) -/* 0315AC 800309AC 00601025 */ move $v0, $v1 -/* 0315B0 800309B0 8D230000 */ lw $v1, ($t1) -/* 0315B4 800309B4 3C0BBC00 */ lui $t3, (0xBC000008 >> 16) # lui $t3, 0xbc00 -/* 0315B8 800309B8 24790008 */ addiu $t9, $v1, 8 -/* 0315BC 800309BC AD390000 */ sw $t9, ($t1) -/* 0315C0 800309C0 356B0008 */ ori $t3, (0xBC000008 & 0xFFFF) # ori $t3, $t3, 8 -/* 0315C4 800309C4 AC6B0000 */ sw $t3, ($v1) -/* 0315C8 800309C8 8CA7000C */ lw $a3, 0xc($a1) -/* 0315CC 800309CC 8CAE0010 */ lw $t6, 0x10($a1) -/* 0315D0 800309D0 00076403 */ sra $t4, $a3, 0x10 -/* 0315D4 800309D4 000C7823 */ negu $t7, $t4 -/* 0315D8 800309D8 3C010001 */ lui $at, (0x0001F400 >> 16) # lui $at, 1 -/* 0315DC 800309DC 3421F400 */ ori $at, (0x0001F400 & 0xFFFF) # ori $at, $at, 0xf400 -/* 0315E0 800309E0 000FC200 */ sll $t8, $t7, 8 -/* 0315E4 800309E4 000E5403 */ sra $t2, $t6, 0x10 -/* 0315E8 800309E8 014C4023 */ subu $t0, $t2, $t4 -/* 0315EC 800309EC 03016821 */ addu $t5, $t8, $at -/* 0315F0 800309F0 01A8001A */ div $zero, $t5, $t0 -/* 0315F4 800309F4 01803825 */ move $a3, $t4 -/* 0315F8 800309F8 3C0C0001 */ lui $t4, (0x0001F400 >> 16) # lui $t4, 1 -/* 0315FC 800309FC 358CF400 */ ori $t4, (0x0001F400 & 0xFFFF) # ori $t4, $t4, 0xf400 -/* 031600 80030A00 00603025 */ move $a2, $v1 -/* 031604 80030A04 15000002 */ bnez $t0, .L80030A10 -/* 031608 80030A08 00000000 */ nop -/* 03160C 80030A0C 0007000D */ break 7 -.L80030A10: -/* 031610 80030A10 2401FFFF */ li $at, -1 -/* 031614 80030A14 15010004 */ bne $t0, $at, .L80030A28 -/* 031618 80030A18 3C018000 */ lui $at, 0x8000 -/* 03161C 80030A1C 15A10002 */ bne $t5, $at, .L80030A28 -/* 031620 80030A20 00000000 */ nop -/* 031624 80030A24 0006000D */ break 6 -.L80030A28: -/* 031628 80030A28 0000C812 */ mflo $t9 -/* 03162C 80030A2C 332BFFFF */ andi $t3, $t9, 0xffff -/* 031630 80030A30 00000000 */ nop -/* 031634 80030A34 0188001A */ div $zero, $t4, $t0 -/* 031638 80030A38 15000002 */ bnez $t0, .L80030A44 -/* 03163C 80030A3C 00000000 */ nop -/* 031640 80030A40 0007000D */ break 7 -.L80030A44: -/* 031644 80030A44 2401FFFF */ li $at, -1 -/* 031648 80030A48 15010004 */ bne $t0, $at, .L80030A5C -/* 03164C 80030A4C 3C018000 */ lui $at, 0x8000 -/* 031650 80030A50 15810002 */ bne $t4, $at, .L80030A5C -/* 031654 80030A54 00000000 */ nop -/* 031658 80030A58 0006000D */ break 6 -.L80030A5C: -/* 03165C 80030A5C 00007012 */ mflo $t6 -/* 031660 80030A60 31CAFFFF */ andi $t2, $t6, 0xffff -/* 031664 80030A64 000A7C00 */ sll $t7, $t2, 0x10 -/* 031668 80030A68 016FC025 */ or $t8, $t3, $t7 -/* 03166C 80030A6C 03E00008 */ jr $ra -/* 031670 80030A70 ACD80004 */ sw $t8, 4($a2) - -glabel func_80030A74 -/* 031674 80030A74 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 031678 80030A78 AFBF0024 */ sw $ra, 0x24($sp) -/* 03167C 80030A7C AFB30020 */ sw $s3, 0x20($sp) -/* 031680 80030A80 AFB2001C */ sw $s2, 0x1c($sp) -/* 031684 80030A84 AFB10018 */ sw $s1, 0x18($sp) -/* 031688 80030A88 AFB00014 */ sw $s0, 0x14($sp) -/* 03168C 80030A8C 8C8B003C */ lw $t3, 0x3c($a0) -/* 031690 80030A90 00808025 */ move $s0, $a0 -/* 031694 80030A94 00009825 */ move $s3, $zero -/* 031698 80030A98 AFA00040 */ sw $zero, 0x40($sp) -/* 03169C 80030A9C 0C019944 */ jal func_80066510 -/* 0316A0 80030AA0 AFAB0044 */ sw $t3, 0x44($sp) -/* 0316A4 80030AA4 8FAB0044 */ lw $t3, 0x44($sp) -/* 0316A8 80030AA8 8FBF0040 */ lw $ra, 0x40($sp) -/* 0316AC 80030AAC 1040000B */ beqz $v0, .L80030ADC -/* 0316B0 80030AB0 27A40074 */ addiu $a0, $sp, 0x74 -/* 0316B4 80030AB4 AFBF0040 */ sw $ra, 0x40($sp) -/* 0316B8 80030AB8 0C01A75F */ jal func_80069D7C -/* 0316BC 80030ABC AFAB0044 */ sw $t3, 0x44($sp) -/* 0316C0 80030AC0 0C019884 */ jal func_80066210 -/* 0316C4 80030AC4 00409825 */ move $s3, $v0 -/* 0316C8 80030AC8 8FAB0044 */ lw $t3, 0x44($sp) -/* 0316CC 80030ACC 8FBF0040 */ lw $ra, 0x40($sp) -/* 0316D0 80030AD0 244E0001 */ addiu $t6, $v0, 1 -/* 0316D4 80030AD4 10000005 */ b .L80030AEC -/* 0316D8 80030AD8 AFAE0074 */ sw $t6, 0x74($sp) -.L80030ADC: -/* 0316DC 80030ADC 0C006E9D */ jal func_8001BA74 -/* 0316E0 80030AE0 AFAB0044 */ sw $t3, 0x44($sp) -/* 0316E4 80030AE4 8FAB0044 */ lw $t3, 0x44($sp) -/* 0316E8 80030AE8 0040F825 */ move $ra, $v0 -.L80030AEC: -/* 0316EC 80030AEC 8FAF0074 */ lw $t7, 0x74($sp) -/* 0316F0 80030AF0 C7AC004C */ lwc1 $f12, 0x4c($sp) -/* 0316F4 80030AF4 19E000B3 */ blez $t7, .L80030DC4 -/* 0316F8 80030AF8 00003025 */ move $a2, $zero -/* 0316FC 80030AFC 3C0C8012 */ lui $t4, %hi(D_8011D388) # $t4, 0x8012 -/* 031700 80030B00 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 031704 80030B04 258CD388 */ addiu $t4, %lo(D_8011D388) # addiu $t4, $t4, -0x2c78 -/* 031708 80030B08 24120044 */ li $s2, 68 -/* 03170C 80030B0C 2411FFFF */ li $s1, -1 -/* 031710 80030B10 240D0038 */ li $t5, 56 -.L80030B14: -/* 031714 80030B14 13E00018 */ beqz $ra, .L80030B78 -/* 031718 80030B18 02205025 */ move $t2, $s1 -/* 03171C 80030B1C 0006C080 */ sll $t8, $a2, 2 -/* 031720 80030B20 03F8C821 */ addu $t9, $ra, $t8 -/* 031724 80030B24 8F240000 */ lw $a0, ($t9) -/* 031728 80030B28 00000000 */ nop -/* 03172C 80030B2C 8C830064 */ lw $v1, 0x64($a0) -/* 031730 80030B30 00000000 */ nop -/* 031734 80030B34 84620000 */ lh $v0, ($v1) -/* 031738 80030B38 00000000 */ nop -/* 03173C 80030B3C 0440001F */ bltz $v0, .L80030BBC -/* 031740 80030B40 28410004 */ slti $at, $v0, 4 -/* 031744 80030B44 1020001D */ beqz $at, .L80030BBC -/* 031748 80030B48 00000000 */ nop -/* 03174C 80030B4C 004D0019 */ multu $v0, $t5 -/* 031750 80030B50 00007012 */ mflo $t6 -/* 031754 80030B54 018E7821 */ addu $t7, $t4, $t6 -/* 031758 80030B58 8DF80034 */ lw $t8, 0x34($t7) -/* 03175C 80030B5C 00000000 */ nop -/* 031760 80030B60 12180016 */ beq $s0, $t8, .L80030BBC -/* 031764 80030B64 00000000 */ nop -/* 031768 80030B68 C482000C */ lwc1 $f2, 0xc($a0) -/* 03176C 80030B6C C48C0014 */ lwc1 $f12, 0x14($a0) -/* 031770 80030B70 10000012 */ b .L80030BBC -/* 031774 80030B74 00405025 */ move $t2, $v0 -.L80030B78: -/* 031778 80030B78 28C10004 */ slti $at, $a2, 4 -/* 03177C 80030B7C 1020000F */ beqz $at, .L80030BBC -/* 031780 80030B80 00000000 */ nop -/* 031784 80030B84 00CD0019 */ multu $a2, $t5 -/* 031788 80030B88 0000C812 */ mflo $t9 -/* 03178C 80030B8C 01997021 */ addu $t6, $t4, $t9 -/* 031790 80030B90 8DCF0034 */ lw $t7, 0x34($t6) -/* 031794 80030B94 00000000 */ nop -/* 031798 80030B98 120F0008 */ beq $s0, $t7, .L80030BBC -/* 03179C 80030B9C 00000000 */ nop -/* 0317A0 80030BA0 00D20019 */ multu $a2, $s2 -/* 0317A4 80030BA4 00C05025 */ move $t2, $a2 -/* 0317A8 80030BA8 0000C012 */ mflo $t8 -/* 0317AC 80030BAC 02781021 */ addu $v0, $s3, $t8 -/* 0317B0 80030BB0 C442000C */ lwc1 $f2, 0xc($v0) -/* 0317B4 80030BB4 C44C0014 */ lwc1 $f12, 0x14($v0) -/* 0317B8 80030BB8 00000000 */ nop -.L80030BBC: -/* 0317BC 80030BBC 1151007C */ beq $t2, $s1, .L80030DB0 -/* 0317C0 80030BC0 8FAE0074 */ lw $t6, 0x74($sp) -/* 0317C4 80030BC4 C604000C */ lwc1 $f4, 0xc($s0) -/* 0317C8 80030BC8 C6060014 */ lwc1 $f6, 0x14($s0) -/* 0317CC 80030BCC 46041081 */ sub.s $f2, $f2, $f4 -/* 0317D0 80030BD0 C6000078 */ lwc1 $f0, 0x78($s0) -/* 0317D4 80030BD4 46021202 */ mul.s $f8, $f2, $f2 -/* 0317D8 80030BD8 46066301 */ sub.s $f12, $f12, $f6 -/* 0317DC 80030BDC 460C6282 */ mul.s $f10, $f12, $f12 -/* 0317E0 80030BE0 460A4400 */ add.s $f16, $f8, $f10 -/* 0317E4 80030BE4 4600803C */ c.lt.s $f16, $f0 -/* 0317E8 80030BE8 00000000 */ nop -/* 0317EC 80030BEC 45000070 */ bc1f .L80030DB0 -/* 0317F0 80030BF0 8FAE0074 */ lw $t6, 0x74($sp) -/* 0317F4 80030BF4 8564000C */ lh $a0, 0xc($t3) -/* 0317F8 80030BF8 8563000E */ lh $v1, 0xe($t3) -/* 0317FC 80030BFC 91670009 */ lbu $a3, 9($t3) -/* 031800 80030C00 9168000A */ lbu $t0, 0xa($t3) -/* 031804 80030C04 9169000B */ lbu $t1, 0xb($t3) -/* 031808 80030C08 85650010 */ lh $a1, 0x10($t3) -/* 03180C 80030C0C 0064082A */ slt $at, $v1, $a0 -/* 031810 80030C10 10200003 */ beqz $at, .L80030C20 -/* 031814 80030C14 00801025 */ move $v0, $a0 -/* 031818 80030C18 00602025 */ move $a0, $v1 -/* 03181C 80030C1C 00401825 */ move $v1, $v0 -.L80030C20: -/* 031820 80030C20 28610400 */ slti $at, $v1, 0x400 -/* 031824 80030C24 14200003 */ bnez $at, .L80030C34 -/* 031828 80030C28 2462FFFB */ addiu $v0, $v1, -5 -/* 03182C 80030C2C 240303FF */ li $v1, 1023 -/* 031830 80030C30 2462FFFB */ addiu $v0, $v1, -5 -.L80030C34: -/* 031834 80030C34 0082082A */ slt $at, $a0, $v0 -/* 031838 80030C38 14200002 */ bnez $at, .L80030C44 -/* 03183C 80030C3C 00000000 */ nop -/* 031840 80030C40 00402025 */ move $a0, $v0 -.L80030C44: -/* 031844 80030C44 014D0019 */ multu $t2, $t5 -/* 031848 80030C48 00077400 */ sll $t6, $a3, 0x10 -/* 03184C 80030C4C 0000C812 */ mflo $t9 -/* 031850 80030C50 01991021 */ addu $v0, $t4, $t9 -/* 031854 80030C54 8C4F0000 */ lw $t7, ($v0) -/* 031858 80030C58 A0470028 */ sb $a3, 0x28($v0) -/* 03185C 80030C5C 01CFC023 */ subu $t8, $t6, $t7 -/* 031860 80030C60 0305001A */ div $zero, $t8, $a1 -/* 031864 80030C64 8C4F0004 */ lw $t7, 4($v0) -/* 031868 80030C68 00087400 */ sll $t6, $t0, 0x10 -/* 03186C 80030C6C A0480029 */ sb $t0, 0x29($v0) -/* 031870 80030C70 A049002A */ sb $t1, 0x2a($v0) -/* 031874 80030C74 A444002C */ sh $a0, 0x2c($v0) -/* 031878 80030C78 A443002E */ sh $v1, 0x2e($v0) -/* 03187C 80030C7C 14A00002 */ bnez $a1, .L80030C88 -/* 031880 80030C80 00000000 */ nop -/* 031884 80030C84 0007000D */ break 7 -.L80030C88: -/* 031888 80030C88 2401FFFF */ li $at, -1 -/* 03188C 80030C8C 14A10004 */ bne $a1, $at, .L80030CA0 -/* 031890 80030C90 3C018000 */ lui $at, 0x8000 -/* 031894 80030C94 17010002 */ bne $t8, $at, .L80030CA0 -/* 031898 80030C98 00000000 */ nop -/* 03189C 80030C9C 0006000D */ break 6 -.L80030CA0: -/* 0318A0 80030CA0 01CFC023 */ subu $t8, $t6, $t7 -/* 0318A4 80030CA4 8C4F0008 */ lw $t7, 8($v0) -/* 0318A8 80030CA8 00097400 */ sll $t6, $t1, 0x10 -/* 0318AC 80030CAC AC450030 */ sw $a1, 0x30($v0) -/* 0318B0 80030CB0 AC500034 */ sw $s0, 0x34($v0) -/* 0318B4 80030CB4 0000C812 */ mflo $t9 -/* 0318B8 80030CB8 AC590014 */ sw $t9, 0x14($v0) -/* 0318BC 80030CBC 00000000 */ nop -/* 0318C0 80030CC0 0305001A */ div $zero, $t8, $a1 -/* 0318C4 80030CC4 14A00002 */ bnez $a1, .L80030CD0 -/* 0318C8 80030CC8 00000000 */ nop -/* 0318CC 80030CCC 0007000D */ break 7 -.L80030CD0: -/* 0318D0 80030CD0 2401FFFF */ li $at, -1 -/* 0318D4 80030CD4 14A10004 */ bne $a1, $at, .L80030CE8 -/* 0318D8 80030CD8 3C018000 */ lui $at, 0x8000 -/* 0318DC 80030CDC 17010002 */ bne $t8, $at, .L80030CE8 -/* 0318E0 80030CE0 00000000 */ nop -/* 0318E4 80030CE4 0006000D */ break 6 -.L80030CE8: -/* 0318E8 80030CE8 01CFC023 */ subu $t8, $t6, $t7 -/* 0318EC 80030CEC 8C4F000C */ lw $t7, 0xc($v0) -/* 0318F0 80030CF0 00047400 */ sll $t6, $a0, 0x10 -/* 0318F4 80030CF4 0000C812 */ mflo $t9 -/* 0318F8 80030CF8 AC590018 */ sw $t9, 0x18($v0) -/* 0318FC 80030CFC 00000000 */ nop -/* 031900 80030D00 0305001A */ div $zero, $t8, $a1 -/* 031904 80030D04 14A00002 */ bnez $a1, .L80030D10 -/* 031908 80030D08 00000000 */ nop -/* 03190C 80030D0C 0007000D */ break 7 -.L80030D10: -/* 031910 80030D10 2401FFFF */ li $at, -1 -/* 031914 80030D14 14A10004 */ bne $a1, $at, .L80030D28 -/* 031918 80030D18 3C018000 */ lui $at, 0x8000 -/* 03191C 80030D1C 17010002 */ bne $t8, $at, .L80030D28 -/* 031920 80030D20 00000000 */ nop -/* 031924 80030D24 0006000D */ break 6 -.L80030D28: -/* 031928 80030D28 01CFC023 */ subu $t8, $t6, $t7 -/* 03192C 80030D2C 8C4F0010 */ lw $t7, 0x10($v0) -/* 031930 80030D30 00037400 */ sll $t6, $v1, 0x10 -/* 031934 80030D34 0000C812 */ mflo $t9 -/* 031938 80030D38 AC59001C */ sw $t9, 0x1c($v0) -/* 03193C 80030D3C 00000000 */ nop -/* 031940 80030D40 0305001A */ div $zero, $t8, $a1 -/* 031944 80030D44 14A00002 */ bnez $a1, .L80030D50 -/* 031948 80030D48 00000000 */ nop -/* 03194C 80030D4C 0007000D */ break 7 -.L80030D50: -/* 031950 80030D50 2401FFFF */ li $at, -1 -/* 031954 80030D54 14A10004 */ bne $a1, $at, .L80030D68 -/* 031958 80030D58 3C018000 */ lui $at, 0x8000 -/* 03195C 80030D5C 17010002 */ bne $t8, $at, .L80030D68 -/* 031960 80030D60 00000000 */ nop -/* 031964 80030D64 0006000D */ break 6 -.L80030D68: -/* 031968 80030D68 01CFC023 */ subu $t8, $t6, $t7 -/* 03196C 80030D6C 0000C812 */ mflo $t9 -/* 031970 80030D70 AC590020 */ sw $t9, 0x20($v0) -/* 031974 80030D74 00000000 */ nop -/* 031978 80030D78 0305001A */ div $zero, $t8, $a1 -/* 03197C 80030D7C 14A00002 */ bnez $a1, .L80030D88 -/* 031980 80030D80 00000000 */ nop -/* 031984 80030D84 0007000D */ break 7 -.L80030D88: -/* 031988 80030D88 2401FFFF */ li $at, -1 -/* 03198C 80030D8C 14A10004 */ bne $a1, $at, .L80030DA0 -/* 031990 80030D90 3C018000 */ lui $at, 0x8000 -/* 031994 80030D94 17010002 */ bne $t8, $at, .L80030DA0 -/* 031998 80030D98 00000000 */ nop -/* 03199C 80030D9C 0006000D */ break 6 -.L80030DA0: -/* 0319A0 80030DA0 0000C812 */ mflo $t9 -/* 0319A4 80030DA4 AC590024 */ sw $t9, 0x24($v0) -/* 0319A8 80030DA8 00000000 */ nop -/* 0319AC 80030DAC 8FAE0074 */ lw $t6, 0x74($sp) -.L80030DB0: -/* 0319B0 80030DB0 24C60001 */ addiu $a2, $a2, 1 -/* 0319B4 80030DB4 14CEFF57 */ bne $a2, $t6, .L80030B14 -/* 0319B8 80030DB8 00000000 */ nop -/* 0319BC 80030DBC E7AC004C */ swc1 $f12, 0x4c($sp) -/* 0319C0 80030DC0 E7A20050 */ swc1 $f2, 0x50($sp) -.L80030DC4: -/* 0319C4 80030DC4 8FBF0024 */ lw $ra, 0x24($sp) -/* 0319C8 80030DC8 8FB00014 */ lw $s0, 0x14($sp) -/* 0319CC 80030DCC 8FB10018 */ lw $s1, 0x18($sp) -/* 0319D0 80030DD0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0319D4 80030DD4 8FB30020 */ lw $s3, 0x20($sp) -/* 0319D8 80030DD8 03E00008 */ jr $ra -/* 0319DC 80030DDC 27BD0080 */ addiu $sp, $sp, 0x80 - -glabel func_80030DE0 -/* 0319E0 80030DE0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0319E4 80030DE4 AFB1000C */ sw $s1, 0xc($sp) -/* 0319E8 80030DE8 AFB00008 */ sw $s0, 8($sp) -/* 0319EC 80030DEC 8FB00024 */ lw $s0, 0x24($sp) -/* 0319F0 80030DF0 8FB10020 */ lw $s1, 0x20($sp) -/* 0319F4 80030DF4 8FA30028 */ lw $v1, 0x28($sp) -/* 0319F8 80030DF8 0211082A */ slt $at, $s0, $s1 -/* 0319FC 80030DFC 10200004 */ beqz $at, .L80030E10 -/* 031A00 80030E00 000470C0 */ sll $t6, $a0, 3 -/* 031A04 80030E04 02201025 */ move $v0, $s1 -/* 031A08 80030E08 02008825 */ move $s1, $s0 -/* 031A0C 80030E0C 00408025 */ move $s0, $v0 -.L80030E10: -/* 031A10 80030E10 2A010400 */ slti $at, $s0, 0x400 -/* 031A14 80030E14 14200002 */ bnez $at, .L80030E20 -/* 031A18 80030E18 01C47023 */ subu $t6, $t6, $a0 -/* 031A1C 80030E1C 241003FF */ li $s0, 1023 -.L80030E20: -/* 031A20 80030E20 2602FFFB */ addiu $v0, $s0, -5 -/* 031A24 80030E24 0222082A */ slt $at, $s1, $v0 -/* 031A28 80030E28 14200002 */ bnez $at, .L80030E34 -/* 031A2C 80030E2C 000E70C0 */ sll $t6, $t6, 3 -/* 031A30 80030E30 00408825 */ move $s1, $v0 -.L80030E34: -/* 031A34 80030E34 3C0F8012 */ lui $t7, %hi(D_8011D388) # $t7, 0x8012 -/* 031A38 80030E38 25EFD388 */ addiu $t7, %lo(D_8011D388) # addiu $t7, $t7, -0x2c78 -/* 031A3C 80030E3C 01CF1021 */ addu $v0, $t6, $t7 -/* 031A40 80030E40 8C590000 */ lw $t9, ($v0) -/* 031A44 80030E44 0005C400 */ sll $t8, $a1, 0x10 -/* 031A48 80030E48 03194023 */ subu $t0, $t8, $t9 -/* 031A4C 80030E4C 0103001A */ div $zero, $t0, $v1 -/* 031A50 80030E50 8C4B0004 */ lw $t3, 4($v0) -/* 031A54 80030E54 00065400 */ sll $t2, $a2, 0x10 -/* 031A58 80030E58 014B6023 */ subu $t4, $t2, $t3 -/* 031A5C 80030E5C 8C4F0008 */ lw $t7, 8($v0) -/* 031A60 80030E60 00077400 */ sll $t6, $a3, 0x10 -/* 031A64 80030E64 01CFC023 */ subu $t8, $t6, $t7 -/* 031A68 80030E68 A0450028 */ sb $a1, 0x28($v0) -/* 031A6C 80030E6C A0460029 */ sb $a2, 0x29($v0) -/* 031A70 80030E70 A047002A */ sb $a3, 0x2a($v0) -/* 031A74 80030E74 A451002C */ sh $s1, 0x2c($v0) -/* 031A78 80030E78 A450002E */ sh $s0, 0x2e($v0) -/* 031A7C 80030E7C 14600002 */ bnez $v1, .L80030E88 -/* 031A80 80030E80 00000000 */ nop -/* 031A84 80030E84 0007000D */ break 7 -.L80030E88: -/* 031A88 80030E88 2401FFFF */ li $at, -1 -/* 031A8C 80030E8C 14610004 */ bne $v1, $at, .L80030EA0 -/* 031A90 80030E90 3C018000 */ lui $at, 0x8000 -/* 031A94 80030E94 15010002 */ bne $t0, $at, .L80030EA0 -/* 031A98 80030E98 00000000 */ nop -/* 031A9C 80030E9C 0006000D */ break 6 -.L80030EA0: -/* 031AA0 80030EA0 00114400 */ sll $t0, $s1, 0x10 -/* 031AA4 80030EA4 AC430030 */ sw $v1, 0x30($v0) -/* 031AA8 80030EA8 AC400034 */ sw $zero, 0x34($v0) -/* 031AAC 80030EAC 00004812 */ mflo $t1 -/* 031AB0 80030EB0 AC490014 */ sw $t1, 0x14($v0) -/* 031AB4 80030EB4 8C49000C */ lw $t1, 0xc($v0) -/* 031AB8 80030EB8 0183001A */ div $zero, $t4, $v1 -/* 031ABC 80030EBC 01095023 */ subu $t2, $t0, $t1 -/* 031AC0 80030EC0 14600002 */ bnez $v1, .L80030ECC -/* 031AC4 80030EC4 00000000 */ nop -/* 031AC8 80030EC8 0007000D */ break 7 -.L80030ECC: -/* 031ACC 80030ECC 2401FFFF */ li $at, -1 -/* 031AD0 80030ED0 14610004 */ bne $v1, $at, .L80030EE4 -/* 031AD4 80030ED4 3C018000 */ lui $at, 0x8000 -/* 031AD8 80030ED8 15810002 */ bne $t4, $at, .L80030EE4 -/* 031ADC 80030EDC 00000000 */ nop -/* 031AE0 80030EE0 0006000D */ break 6 -.L80030EE4: -/* 031AE4 80030EE4 00106400 */ sll $t4, $s0, 0x10 -/* 031AE8 80030EE8 00006812 */ mflo $t5 -/* 031AEC 80030EEC AC4D0018 */ sw $t5, 0x18($v0) -/* 031AF0 80030EF0 8C4D0010 */ lw $t5, 0x10($v0) -/* 031AF4 80030EF4 0303001A */ div $zero, $t8, $v1 -/* 031AF8 80030EF8 018D7023 */ subu $t6, $t4, $t5 -/* 031AFC 80030EFC 14600002 */ bnez $v1, .L80030F08 -/* 031B00 80030F00 00000000 */ nop -/* 031B04 80030F04 0007000D */ break 7 -.L80030F08: -/* 031B08 80030F08 2401FFFF */ li $at, -1 -/* 031B0C 80030F0C 14610004 */ bne $v1, $at, .L80030F20 -/* 031B10 80030F10 3C018000 */ lui $at, 0x8000 -/* 031B14 80030F14 17010002 */ bne $t8, $at, .L80030F20 -/* 031B18 80030F18 00000000 */ nop -/* 031B1C 80030F1C 0006000D */ break 6 -.L80030F20: -/* 031B20 80030F20 0000C812 */ mflo $t9 -/* 031B24 80030F24 AC59001C */ sw $t9, 0x1c($v0) -/* 031B28 80030F28 00000000 */ nop -/* 031B2C 80030F2C 0143001A */ div $zero, $t2, $v1 -/* 031B30 80030F30 14600002 */ bnez $v1, .L80030F3C -/* 031B34 80030F34 00000000 */ nop -/* 031B38 80030F38 0007000D */ break 7 -.L80030F3C: -/* 031B3C 80030F3C 2401FFFF */ li $at, -1 -/* 031B40 80030F40 14610004 */ bne $v1, $at, .L80030F54 -/* 031B44 80030F44 3C018000 */ lui $at, 0x8000 -/* 031B48 80030F48 15410002 */ bne $t2, $at, .L80030F54 -/* 031B4C 80030F4C 00000000 */ nop -/* 031B50 80030F50 0006000D */ break 6 -.L80030F54: -/* 031B54 80030F54 00005812 */ mflo $t3 -/* 031B58 80030F58 AC4B0020 */ sw $t3, 0x20($v0) -/* 031B5C 80030F5C 00000000 */ nop -/* 031B60 80030F60 01C3001A */ div $zero, $t6, $v1 -/* 031B64 80030F64 14600002 */ bnez $v1, .L80030F70 -/* 031B68 80030F68 00000000 */ nop -/* 031B6C 80030F6C 0007000D */ break 7 -.L80030F70: -/* 031B70 80030F70 2401FFFF */ li $at, -1 -/* 031B74 80030F74 14610004 */ bne $v1, $at, .L80030F88 -/* 031B78 80030F78 3C018000 */ lui $at, 0x8000 -/* 031B7C 80030F7C 15C10002 */ bne $t6, $at, .L80030F88 -/* 031B80 80030F80 00000000 */ nop -/* 031B84 80030F84 0006000D */ break 6 -.L80030F88: -/* 031B88 80030F88 00007812 */ mflo $t7 -/* 031B8C 80030F8C AC4F0024 */ sw $t7, 0x24($v0) -/* 031B90 80030F90 8FB1000C */ lw $s1, 0xc($sp) -/* 031B94 80030F94 8FB00008 */ lw $s0, 8($sp) -/* 031B98 80030F98 03E00008 */ jr $ra -/* 031B9C 80030F9C 27BD0010 */ addiu $sp, $sp, 0x10 - -/* 031BA0 80030FA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 031BA4 80030FA4 AFBF0014 */ sw $ra, 0x14($sp) -/* 031BA8 80030FA8 0C01A748 */ jal func_80069D20 -/* 031BAC 80030FAC 00000000 */ nop -/* 031BB0 80030FB0 3C018012 */ lui $at, %hi(D_8011B0B0) # $at, 0x8012 -/* 031BB4 80030FB4 0C00C406 */ jal func_80031018 -/* 031BB8 80030FB8 AC22B0B0 */ sw $v0, %lo(D_8011B0B0)($at) -/* 031BBC 80030FBC 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012 -/* 031BC0 80030FC0 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98 -/* 031BC4 80030FC4 8C580008 */ lw $t8, 8($v0) -/* 031BC8 80030FC8 8C4E0000 */ lw $t6, ($v0) -/* 031BCC 80030FCC 44988000 */ mtc1 $t8, $f16 -/* 031BD0 80030FD0 448E2000 */ mtc1 $t6, $f4 -/* 031BD4 80030FD4 468084A0 */ cvt.s.w $f18, $f16 -/* 031BD8 80030FD8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 031BDC 80030FDC 44810000 */ mtc1 $at, $f0 -/* 031BE0 80030FE0 468021A0 */ cvt.s.w $f6, $f4 -/* 031BE4 80030FE4 8C4F0004 */ lw $t7, 4($v0) -/* 031BE8 80030FE8 46009103 */ div.s $f4, $f18, $f0 -/* 031BEC 80030FEC 448F4000 */ mtc1 $t7, $f8 -/* 031BF0 80030FF0 00000000 */ nop -/* 031BF4 80030FF4 468042A0 */ cvt.s.w $f10, $f8 -/* 031BF8 80030FF8 44062000 */ mfc1 $a2, $f4 -/* 031BFC 80030FFC 46005383 */ div.s $f14, $f10, $f0 -/* 031C00 80031000 0C007578 */ jal func_8001D5E0 -/* 031C04 80031004 46003303 */ div.s $f12, $f6, $f0 -/* 031C08 80031008 8FBF0014 */ lw $ra, 0x14($sp) -/* 031C0C 8003100C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 031C10 80031010 03E00008 */ jr $ra -/* 031C14 80031014 00000000 */ nop - -glabel func_80031018 -/* 031C18 80031018 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 031C1C 8003101C 44800000 */ mtc1 $zero, $f0 -/* 031C20 80031020 3C01C780 */ li $at, 0xC7800000 # -65536.000000 -/* 031C24 80031024 44812000 */ mtc1 $at, $f4 -/* 031C28 80031028 3C028012 */ lui $v0, %hi(D_8011B0B0) # $v0, 0x8012 -/* 031C2C 8003102C 8C42B0B0 */ lw $v0, %lo(D_8011B0B0)($v0) -/* 031C30 80031030 AFBF0024 */ sw $ra, 0x24($sp) -/* 031C34 80031034 E7A00034 */ swc1 $f0, 0x34($sp) -/* 031C38 80031038 E7A00030 */ swc1 $f0, 0x30($sp) -/* 031C3C 8003103C E7A4002C */ swc1 $f4, 0x2c($sp) -/* 031C40 80031040 844E0004 */ lh $t6, 4($v0) -/* 031C44 80031044 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 031C48 80031048 A7AE003C */ sh $t6, 0x3c($sp) -/* 031C4C 8003104C 844F0002 */ lh $t7, 2($v0) -/* 031C50 80031050 44813000 */ mtc1 $at, $f6 -/* 031C54 80031054 A7AF003A */ sh $t7, 0x3a($sp) -/* 031C58 80031058 84580000 */ lh $t8, ($v0) -/* 031C5C 8003105C 27A40050 */ addiu $a0, $sp, 0x50 -/* 031C60 80031060 27A50038 */ addiu $a1, $sp, 0x38 -/* 031C64 80031064 E7A00044 */ swc1 $f0, 0x44($sp) -/* 031C68 80031068 E7A00048 */ swc1 $f0, 0x48($sp) -/* 031C6C 8003106C E7A0004C */ swc1 $f0, 0x4c($sp) -/* 031C70 80031070 E7A60040 */ swc1 $f6, 0x40($sp) -/* 031C74 80031074 0C01BF0C */ jal func_8006FC30 -/* 031C78 80031078 A7B80038 */ sh $t8, 0x38($sp) -/* 031C7C 8003107C 8FA50034 */ lw $a1, 0x34($sp) -/* 031C80 80031080 8FA60030 */ lw $a2, 0x30($sp) -/* 031C84 80031084 8FA7002C */ lw $a3, 0x2c($sp) -/* 031C88 80031088 27B90034 */ addiu $t9, $sp, 0x34 -/* 031C8C 8003108C 27A80030 */ addiu $t0, $sp, 0x30 -/* 031C90 80031090 27A9002C */ addiu $t1, $sp, 0x2c -/* 031C94 80031094 AFA90018 */ sw $t1, 0x18($sp) -/* 031C98 80031098 AFA80014 */ sw $t0, 0x14($sp) -/* 031C9C 8003109C AFB90010 */ sw $t9, 0x10($sp) -/* 031CA0 800310A0 0C01BD93 */ jal func_8006F64C -/* 031CA4 800310A4 27A40050 */ addiu $a0, $sp, 0x50 -/* 031CA8 800310A8 444AF800 */ cfc1 $t2, $31 -/* 031CAC 800310AC C7A80034 */ lwc1 $f8, 0x34($sp) -/* 031CB0 800310B0 35410003 */ ori $at, $t2, 3 -/* 031CB4 800310B4 38210002 */ xori $at, $at, 2 -/* 031CB8 800310B8 44C1F800 */ ctc1 $at, $31 -/* 031CBC 800310BC C7B00030 */ lwc1 $f16, 0x30($sp) -/* 031CC0 800310C0 460042A4 */ cvt.w.s $f10, $f8 -/* 031CC4 800310C4 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 031CC8 800310C8 44CAF800 */ ctc1 $t2, $31 -/* 031CCC 800310CC 3C028012 */ lui $v0, %hi(D_8011D468) # $v0, 0x8012 -/* 031CD0 800310D0 440B5000 */ mfc1 $t3, $f10 -/* 031CD4 800310D4 444CF800 */ cfc1 $t4, $31 -/* 031CD8 800310D8 8FBF0024 */ lw $ra, 0x24($sp) -/* 031CDC 800310DC 35810003 */ ori $at, $t4, 3 -/* 031CE0 800310E0 38210002 */ xori $at, $at, 2 -/* 031CE4 800310E4 44C1F800 */ ctc1 $at, $31 -/* 031CE8 800310E8 2442D468 */ addiu $v0, %lo(D_8011D468) # addiu $v0, $v0, -0x2b98 -/* 031CEC 800310EC 460084A4 */ cvt.w.s $f18, $f16 -/* 031CF0 800310F0 27BD0090 */ addiu $sp, $sp, 0x90 -/* 031CF4 800310F4 44CCF800 */ ctc1 $t4, $31 -/* 031CF8 800310F8 440D9000 */ mfc1 $t5, $f18 -/* 031CFC 800310FC AC4B0000 */ sw $t3, ($v0) -/* 031D00 80031100 444EF800 */ cfc1 $t6, $31 -/* 031D04 80031104 AC4D0004 */ sw $t5, 4($v0) -/* 031D08 80031108 35C10003 */ ori $at, $t6, 3 -/* 031D0C 8003110C 38210002 */ xori $at, $at, 2 -/* 031D10 80031110 44C1F800 */ ctc1 $at, $31 -/* 031D14 80031114 00000000 */ nop -/* 031D18 80031118 460021A4 */ cvt.w.s $f6, $f4 -/* 031D1C 8003111C 440F3000 */ mfc1 $t7, $f6 -/* 031D20 80031120 44CEF800 */ ctc1 $t6, $31 -/* 031D24 80031124 03E00008 */ jr $ra -/* 031D28 80031128 AC4F0008 */ sw $t7, 8($v0) - -/* 031D2C 8003112C 00000000 */ nop -glabel func_80031130 -/* 031D30 80031130 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 031D34 80031134 3C080001 */ lui $t0, (0x000186A0 >> 16) # lui $t0, 1 -/* 031D38 80031138 3C09FFFE */ lui $t1, %hi(D_FFFDFFFB) # $t1, 0xfffe -/* 031D3C 8003113C AFB6002C */ sw $s6, 0x2c($sp) -/* 031D40 80031140 AFB50028 */ sw $s5, 0x28($sp) -/* 031D44 80031144 AFB40024 */ sw $s4, 0x24($sp) -/* 031D48 80031148 AFB30020 */ sw $s3, 0x20($sp) -/* 031D4C 8003114C AFB2001C */ sw $s2, 0x1c($sp) -/* 031D50 80031150 350886A0 */ ori $t0, (0x000186A0 & 0xFFFF) # ori $t0, $t0, 0x86a0 -/* 031D54 80031154 35297960 */ ori $t1, (0xFFFE7960 & 0xFFFF) # ori $t1, $t1, 0x7960 -/* 031D58 80031158 AFBF0030 */ sw $ra, 0x30($sp) -/* 031D5C 8003115C AFB10018 */ sw $s1, 0x18($sp) -/* 031D60 80031160 AFB00014 */ sw $s0, 0x14($sp) -/* 031D64 80031164 0100A825 */ move $s5, $t0 -/* 031D68 80031168 0120A025 */ move $s4, $t1 -/* 031D6C 8003116C 01009825 */ move $s3, $t0 -/* 031D70 80031170 01209025 */ move $s2, $t1 -/* 031D74 80031174 10800035 */ beqz $a0, .L8003124C -/* 031D78 80031178 00E0B025 */ move $s6, $a3 -/* 031D7C 8003117C 000440C0 */ sll $t0, $a0, 3 -/* 031D80 80031180 00044880 */ sll $t1, $a0, 2 -/* 031D84 80031184 01092020 */ add $a0, $t0, $t1 -/* 031D88 80031188 00852020 */ add $a0, $a0, $a1 -.L8003118C: -/* 031D8C 8003118C C4A00000 */ lwc1 $f0, ($a1) -/* 031D90 80031190 C4A20008 */ lwc1 $f2, 8($a1) -/* 031D94 80031194 C4C40000 */ lwc1 $f4, ($a2) -/* 031D98 80031198 4600000D */ trunc.w.s $f0, $f0 -/* 031D9C 8003119C C4C60008 */ lwc1 $f6, 8($a2) -/* 031DA0 800311A0 4600108D */ trunc.w.s $f2, $f2 -/* 031DA4 800311A4 44080000 */ mfc1 $t0, $f0 -/* 031DA8 800311A8 4600210D */ trunc.w.s $f4, $f4 -/* 031DAC 800311AC 44091000 */ mfc1 $t1, $f2 -/* 031DB0 800311B0 0288082A */ slt $at, $s4, $t0 -/* 031DB4 800311B4 4600318D */ trunc.w.s $f6, $f6 -/* 031DB8 800311B8 440A2000 */ mfc1 $t2, $f4 -/* 031DBC 800311BC 440B3000 */ mfc1 $t3, $f6 -/* 031DC0 800311C0 50200003 */ beql $at, $zero, .L800311D0 -/* 031DC4 800311C4 0115082A */ slt $at, $t0, $s5 -/* 031DC8 800311C8 0100A025 */ move $s4, $t0 -/* 031DCC 800311CC 0115082A */ slt $at, $t0, $s5 -.L800311D0: -/* 031DD0 800311D0 50200003 */ beql $at, $zero, .L800311E0 -/* 031DD4 800311D4 0249082A */ slt $at, $s2, $t1 -/* 031DD8 800311D8 0100A825 */ move $s5, $t0 -/* 031DDC 800311DC 0249082A */ slt $at, $s2, $t1 -.L800311E0: -/* 031DE0 800311E0 50200003 */ beql $at, $zero, .L800311F0 -/* 031DE4 800311E4 0133082A */ slt $at, $t1, $s3 -/* 031DE8 800311E8 01209025 */ move $s2, $t1 -/* 031DEC 800311EC 0133082A */ slt $at, $t1, $s3 -.L800311F0: -/* 031DF0 800311F0 50200003 */ beql $at, $zero, .L80031200 -/* 031DF4 800311F4 028A082A */ slt $at, $s4, $t2 -/* 031DF8 800311F8 01209825 */ move $s3, $t1 -/* 031DFC 800311FC 028A082A */ slt $at, $s4, $t2 -.L80031200: -/* 031E00 80031200 50200003 */ beql $at, $zero, .L80031210 -/* 031E04 80031204 0155082A */ slt $at, $t2, $s5 -/* 031E08 80031208 0140A025 */ move $s4, $t2 -/* 031E0C 8003120C 0155082A */ slt $at, $t2, $s5 -.L80031210: -/* 031E10 80031210 50200003 */ beql $at, $zero, .L80031220 -/* 031E14 80031214 024B082A */ slt $at, $s2, $t3 -/* 031E18 80031218 0140A825 */ move $s5, $t2 -/* 031E1C 8003121C 024B082A */ slt $at, $s2, $t3 -.L80031220: -/* 031E20 80031220 50200003 */ beql $at, $zero, .L80031230 -/* 031E24 80031224 0173082A */ slt $at, $t3, $s3 -/* 031E28 80031228 01609025 */ move $s2, $t3 -/* 031E2C 8003122C 0173082A */ slt $at, $t3, $s3 -.L80031230: -/* 031E30 80031230 50200003 */ beql $at, $zero, .L80031240 -/* 031E34 80031234 24A5000C */ addiu $a1, $a1, 0xc -/* 031E38 80031238 01609825 */ move $s3, $t3 -/* 031E3C 8003123C 24A5000C */ addiu $a1, $a1, 0xc -.L80031240: -/* 031E40 80031240 00A4082A */ slt $at, $a1, $a0 -/* 031E44 80031244 1420FFD1 */ bnez $at, .L8003118C -/* 031E48 80031248 24C6000C */ addiu $a2, $a2, 0xc -.L8003124C: -/* 031E4C 8003124C 26B5FFEC */ addiu $s5, $s5, -0x14 -/* 031E50 80031250 26940014 */ addiu $s4, $s4, 0x14 -/* 031E54 80031254 0295082A */ slt $at, $s4, $s5 -/* 031E58 80031258 2673FFEC */ addiu $s3, $s3, -0x14 -/* 031E5C 8003125C 10200004 */ beqz $at, .L80031270 -/* 031E60 80031260 26520014 */ addiu $s2, $s2, 0x14 -/* 031E64 80031264 02A04025 */ move $t0, $s5 -/* 031E68 80031268 0280A825 */ move $s5, $s4 -/* 031E6C 8003126C 0100A025 */ move $s4, $t0 -.L80031270: -/* 031E70 80031270 0253082A */ slt $at, $s2, $s3 -/* 031E74 80031274 10200004 */ beqz $at, .L80031288 -/* 031E78 80031278 00000000 */ nop -/* 031E7C 8003127C 02604025 */ move $t0, $s3 -/* 031E80 80031280 02409825 */ move $s3, $s2 -/* 031E84 80031284 01009025 */ move $s2, $t0 -.L80031288: -/* 031E88 80031288 3C08800E */ lui $t0, %hi(D_800DC918) # $t0, 0x800e -/* 031E8C 8003128C 8D08C918 */ lw $t0, %lo(D_800DC918)($t0) -/* 031E90 80031290 23B10034 */ addi $s1, $sp, 0x34 -/* 031E94 80031294 23B00048 */ addi $s0, $sp, 0x48 -/* 031E98 80031298 850F001A */ lh $t7, 0x1a($t0) -/* 031E9C 8003129C 0000C025 */ move $t8, $zero -/* 031EA0 800312A0 8D040008 */ lw $a0, 8($t0) -/* 031EA4 800312A4 11E00023 */ beqz $t7, .L80031334 -/* 031EA8 800312A8 8D0E0004 */ lw $t6, 4($t0) -.L800312AC: -/* 031EAC 800312AC 84820006 */ lh $v0, 6($a0) -/* 031EB0 800312B0 84830000 */ lh $v1, ($a0) -/* 031EB4 800312B4 24420005 */ addiu $v0, $v0, 5 -/* 031EB8 800312B8 0055082A */ slt $at, $v0, $s5 -/* 031EBC 800312BC 14200019 */ bnez $at, .L80031324 -/* 031EC0 800312C0 2463FFFB */ addiu $v1, $v1, -5 -/* 031EC4 800312C4 0283082A */ slt $at, $s4, $v1 -/* 031EC8 800312C8 54200017 */ bnezl $at, .L80031328 -/* 031ECC 800312CC 25EFFFFF */ addiu $t7, $t7, -1 -/* 031ED0 800312D0 8488000A */ lh $t0, 0xa($a0) -/* 031ED4 800312D4 84890004 */ lh $t1, 4($a0) -/* 031ED8 800312D8 25080005 */ addiu $t0, $t0, 5 -/* 031EDC 800312DC 0113082A */ slt $at, $t0, $s3 -/* 031EE0 800312E0 14200010 */ bnez $at, .L80031324 -/* 031EE4 800312E4 2529FFFB */ addiu $t1, %lo(D_FFFDFFFB) # addiu $t1, $t1, -5 -/* 031EE8 800312E8 0249082A */ slt $at, $s2, $t1 -/* 031EEC 800312EC 5420000E */ bnezl $at, .L80031328 -/* 031EF0 800312F0 25EFFFFF */ addiu $t7, $t7, -1 -/* 031EF4 800312F4 02A02825 */ move $a1, $s5 -/* 031EF8 800312F8 02603025 */ move $a2, $s3 -/* 031EFC 800312FC 02803825 */ move $a3, $s4 -/* 031F00 80031300 0C00C537 */ jal func_800314DC -/* 031F04 80031304 AFB20010 */ sw $s2, 0x10($sp) -/* 031F08 80031308 A6220000 */ sh $v0, ($s1) -/* 031F0C 8003130C 27180001 */ addiu $t8, $t8, 1 -/* 031F10 80031310 2401000A */ li $at, 10 -/* 031F14 80031314 AE0E0000 */ sw $t6, ($s0) -/* 031F18 80031318 26310002 */ addiu $s1, $s1, 2 -/* 031F1C 8003131C 13010005 */ beq $t8, $at, .L80031334 -/* 031F20 80031320 26100004 */ addiu $s0, $s0, 4 -.L80031324: -/* 031F24 80031324 25EFFFFF */ addiu $t7, $t7, -1 -.L80031328: -/* 031F28 80031328 2484000C */ addiu $a0, $a0, 0xc -/* 031F2C 8003132C 15E0FFDF */ bnez $t7, .L800312AC -/* 031F30 80031330 25CE0044 */ addiu $t6, $t6, 0x44 -.L80031334: -/* 031F34 80031334 1300005C */ beqz $t8, .L800314A8 -/* 031F38 80031338 00009825 */ move $s3, $zero -/* 031F3C 8003133C 3C04800E */ lui $a0, %hi(D_800DC918) # $a0, 0x800e -/* 031F40 80031340 8C84C918 */ lw $a0, %lo(D_800DC918)($a0) -/* 031F44 80031344 3C128012 */ lui $s2, %hi(D_8011D370) # $s2, 0x8012 -/* 031F48 80031348 3C198012 */ lui $t9, %hi(D_8011D374) # $t9, 0x8012 -/* 031F4C 8003134C 23B10034 */ addi $s1, $sp, 0x34 -/* 031F50 80031350 0018C040 */ sll $t8, $t8, 1 -/* 031F54 80031354 8E52D370 */ lw $s2, %lo(D_8011D370)($s2) -/* 031F58 80031358 8F39D374 */ lw $t9, %lo(D_8011D374)($t9) -/* 031F5C 8003135C 23B00048 */ addi $s0, $sp, 0x48 -/* 031F60 80031360 0238C020 */ add $t8, $s1, $t8 -/* 031F64 80031364 8C840000 */ lw $a0, ($a0) -.L80031368: -/* 031F68 80031368 8E0F0000 */ lw $t7, ($s0) -/* 031F6C 8003136C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff -/* 031F70 80031370 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 031F74 80031374 862E0000 */ lh $t6, ($s1) -/* 031F78 80031378 01E11024 */ and $v0, $t7, $at -/* 031F7C 8003137C AE420000 */ sw $v0, ($s2) -/* 031F80 80031380 85E80020 */ lh $t0, 0x20($t7) -/* 031F84 80031384 8DED000C */ lw $t5, 0xc($t7) -/* 031F88 80031388 26730001 */ addiu $s3, $s3, 1 -/* 031F8C 8003138C 000810C0 */ sll $v0, $t0, 3 -/* 031F90 80031390 00081880 */ sll $v1, $t0, 2 -/* 031F94 80031394 00435820 */ add $t3, $v0, $v1 -/* 031F98 80031398 26520004 */ addiu $s2, $s2, 4 -/* 031F9C 8003139C 27390001 */ addiu $t9, $t9, 1 -/* 031FA0 800313A0 016D5820 */ add $t3, $t3, $t5 -/* 031FA4 800313A4 25AC000C */ addiu $t4, $t5, 0xc -.L800313A8: -/* 031FA8 800313A8 8DA80008 */ lw $t0, 8($t5) -/* 031FAC 800313AC 31020200 */ andi $v0, $t0, 0x200 -/* 031FB0 800313B0 14400035 */ bnez $v0, .L80031488 -/* 031FB4 800313B4 2401FFFF */ li $at, -1 -/* 031FB8 800313B8 56C10005 */ bnel $s6, $at, .L800313D0 -/* 031FBC 800313BC 91A30000 */ lbu $v1, ($t5) -/* 031FC0 800313C0 31020100 */ andi $v0, $t0, 0x100 -/* 031FC4 800313C4 54400031 */ bnezl $v0, .L8003148C -/* 031FC8 800313C8 25AD000C */ addiu $t5, $t5, 0xc -/* 031FCC 800313CC 91A30000 */ lbu $v1, ($t5) -.L800313D0: -/* 031FD0 800313D0 240100FF */ li $at, 255 -/* 031FD4 800313D4 00005025 */ move $t2, $zero -/* 031FD8 800313D8 50610010 */ beql $v1, $at, .L8003141C -/* 031FDC 800313DC 85A80004 */ lh $t0, 4($t5) -/* 031FE0 800313E0 000318C0 */ sll $v1, $v1, 3 -/* 031FE4 800313E4 00641820 */ add $v1, $v1, $a0 -/* 031FE8 800313E8 806A0007 */ lb $t2, 7($v1) -/* 031FEC 800313EC 2401000B */ li $at, 11 -/* 031FF0 800313F0 11410025 */ beq $t2, $at, .L80031488 -/* 031FF4 800313F4 24010002 */ li $at, 2 -/* 031FF8 800313F8 16C10003 */ bne $s6, $at, .L80031408 -/* 031FFC 800313FC 24010011 */ li $at, 17 -/* 032000 80031400 51410022 */ beql $t2, $at, .L8003148C -/* 032004 80031404 25AD000C */ addiu $t5, $t5, 0xc -.L80031408: -/* 032008 80031408 12C00003 */ beqz $s6, .L80031418 -/* 03200C 8003140C 24010012 */ li $at, 18 -/* 032010 80031410 5141001E */ beql $t2, $at, .L8003148C -/* 032014 80031414 25AD000C */ addiu $t5, $t5, 0xc -.L80031418: -/* 032018 80031418 85A80004 */ lh $t0, 4($t5) -.L8003141C: -/* 03201C 8003141C 85890004 */ lh $t1, 4($t4) -/* 032020 80031420 8DE60010 */ lw $a2, 0x10($t7) -/* 032024 80031424 8DE70014 */ lw $a3, 0x14($t7) -/* 032028 80031428 00094840 */ sll $t1, $t1, 1 -/* 03202C 8003142C 00081040 */ sll $v0, $t0, 1 -/* 032030 80031430 000818C0 */ sll $v1, $t0, 3 -/* 032034 80031434 00C92820 */ add $a1, $a2, $t1 -/* 032038 80031438 00C23020 */ add $a2, $a2, $v0 -/* 03203C 8003143C 00E33820 */ add $a3, $a3, $v1 -.L80031440: -/* 032040 80031440 84C80000 */ lh $t0, ($a2) -/* 032044 80031444 010E4024 */ and $t0, $t0, $t6 -/* 032048 80031448 310200FF */ andi $v0, $t0, 0xff -/* 03204C 8003144C 1040000A */ beqz $v0, .L80031478 -/* 032050 80031450 3103FF00 */ andi $v1, $t0, 0xff00 -/* 032054 80031454 50600009 */ beql $v1, $zero, .L8003147C -/* 032058 80031458 24C60002 */ addiu $a2, $a2, 2 -/* 03205C 8003145C AE470000 */ sw $a3, ($s2) -/* 032060 80031460 26730001 */ addiu $s3, $s3, 1 -/* 032064 80031464 240101F4 */ li $at, 500 -/* 032068 80031468 A32A0000 */ sb $t2, ($t9) -/* 03206C 8003146C 26520004 */ addiu $s2, $s2, 4 -/* 032070 80031470 1261000D */ beq $s3, $at, .L800314A8 -/* 032074 80031474 27390001 */ addiu $t9, $t9, 1 -.L80031478: -/* 032078 80031478 24C60002 */ addiu $a2, $a2, 2 -.L8003147C: -/* 03207C 8003147C 00C5082A */ slt $at, $a2, $a1 -/* 032080 80031480 1420FFEF */ bnez $at, .L80031440 -/* 032084 80031484 24E70008 */ addiu $a3, $a3, 8 -.L80031488: -/* 032088 80031488 25AD000C */ addiu $t5, $t5, 0xc -.L8003148C: -/* 03208C 8003148C 01AB082A */ slt $at, $t5, $t3 -/* 032090 80031490 1420FFC5 */ bnez $at, .L800313A8 -/* 032094 80031494 258C000C */ addiu $t4, $t4, 0xc -/* 032098 80031498 26310002 */ addiu $s1, $s1, 2 -/* 03209C 8003149C 0238082A */ slt $at, $s1, $t8 -/* 0320A0 800314A0 1420FFB1 */ bnez $at, .L80031368 -/* 0320A4 800314A4 26100004 */ addiu $s0, $s0, 4 -.L800314A8: -/* 0320A8 800314A8 8FBF0030 */ lw $ra, 0x30($sp) -/* 0320AC 800314AC 3C018012 */ lui $at, %hi(D_8011D378) # $at, 0x8012 -/* 0320B0 800314B0 AC33D378 */ sw $s3, %lo(D_8011D378)($at) -/* 0320B4 800314B4 8FB6002C */ lw $s6, 0x2c($sp) -/* 0320B8 800314B8 8FB50028 */ lw $s5, 0x28($sp) -/* 0320BC 800314BC 8FB40024 */ lw $s4, 0x24($sp) -/* 0320C0 800314C0 8FB30020 */ lw $s3, 0x20($sp) -/* 0320C4 800314C4 8FB2001C */ lw $s2, 0x1c($sp) -/* 0320C8 800314C8 8FB10018 */ lw $s1, 0x18($sp) -/* 0320CC 800314CC 8FB00014 */ lw $s0, 0x14($sp) -/* 0320D0 800314D0 00001025 */ move $v0, $zero -/* 0320D4 800314D4 03E00008 */ jr $ra -/* 0320D8 800314D8 27BD0070 */ addiu $sp, $sp, 0x70 - -glabel func_800314DC -/* 0320DC 800314DC 10800046 */ beqz $a0, .L800315F8 -/* 0320E0 800314E0 00001025 */ move $v0, $zero -/* 0320E4 800314E4 84880000 */ lh $t0, ($a0) -/* 0320E8 800314E8 8FAD0010 */ lw $t5, 0x10($sp) -/* 0320EC 800314EC 84890004 */ lh $t1, 4($a0) -/* 0320F0 800314F0 00E8082A */ slt $at, $a3, $t0 -/* 0320F4 800314F4 848A0006 */ lh $t2, 6($a0) -/* 0320F8 800314F8 10200002 */ beqz $at, .L80031504 -/* 0320FC 800314FC 848B000A */ lh $t3, 0xa($a0) -/* 032100 80031500 01003825 */ move $a3, $t0 -.L80031504: -/* 032104 80031504 00A8082A */ slt $at, $a1, $t0 -/* 032108 80031508 50200003 */ beql $at, $zero, .L80031518 -/* 03210C 8003150C 01A9082A */ slt $at, $t5, $t1 -/* 032110 80031510 01002825 */ move $a1, $t0 -/* 032114 80031514 01A9082A */ slt $at, $t5, $t1 -.L80031518: -/* 032118 80031518 50200003 */ beql $at, $zero, .L80031528 -/* 03211C 8003151C 00C9082A */ slt $at, $a2, $t1 -/* 032120 80031520 01206825 */ move $t5, $t1 -/* 032124 80031524 00C9082A */ slt $at, $a2, $t1 -.L80031528: -/* 032128 80031528 50200003 */ beql $at, $zero, .L80031538 -/* 03212C 8003152C 0147082A */ slt $at, $t2, $a3 -/* 032130 80031530 01203025 */ move $a2, $t1 -/* 032134 80031534 0147082A */ slt $at, $t2, $a3 -.L80031538: -/* 032138 80031538 50200003 */ beql $at, $zero, .L80031548 -/* 03213C 8003153C 0145082A */ slt $at, $t2, $a1 -/* 032140 80031540 01403825 */ move $a3, $t2 -/* 032144 80031544 0145082A */ slt $at, $t2, $a1 -.L80031548: -/* 032148 80031548 50200003 */ beql $at, $zero, .L80031558 -/* 03214C 8003154C 016D082A */ slt $at, $t3, $t5 -/* 032150 80031550 01402825 */ move $a1, $t2 -/* 032154 80031554 016D082A */ slt $at, $t3, $t5 -.L80031558: -/* 032158 80031558 50200003 */ beql $at, $zero, .L80031568 -/* 03215C 8003155C 0166082A */ slt $at, $t3, $a2 -/* 032160 80031560 01606825 */ move $t5, $t3 -/* 032164 80031564 0166082A */ slt $at, $t3, $a2 -.L80031568: -/* 032168 80031568 50200003 */ beql $at, $zero, .L80031578 -/* 03216C 8003156C 01485022 */ sub $t2, $t2, $t0 -/* 032170 80031570 01603025 */ move $a2, $t3 -/* 032174 80031574 01485022 */ sub $t2, $t2, $t0 -.L80031578: -/* 032178 80031578 000A50C3 */ sra $t2, $t2, 3 -/* 03217C 8003157C 254A0001 */ addiu $t2, $t2, 1 -/* 032180 80031580 24030001 */ li $v1, 1 -/* 032184 80031584 01486020 */ add $t4, $t2, $t0 -.L80031588: -/* 032188 80031588 0185082A */ slt $at, $t4, $a1 -/* 03218C 8003158C 14200004 */ bnez $at, .L800315A0 -/* 032190 80031590 00E8082A */ slt $at, $a3, $t0 -/* 032194 80031594 54200003 */ bnezl $at, .L800315A4 -/* 032198 80031598 00031840 */ sll $v1, $v1, 1 -/* 03219C 8003159C 00431025 */ or $v0, $v0, $v1 -.L800315A0: -/* 0321A0 800315A0 00031840 */ sll $v1, $v1, 1 -.L800315A4: -/* 0321A4 800315A4 28610100 */ slti $at, $v1, 0x100 -/* 0321A8 800315A8 018A6020 */ add $t4, $t4, $t2 -/* 0321AC 800315AC 1420FFF6 */ bnez $at, .L80031588 -/* 0321B0 800315B0 010A4020 */ add $t0, $t0, $t2 -/* 0321B4 800315B4 01695022 */ sub $t2, $t3, $t1 -/* 0321B8 800315B8 000A50C3 */ sra $t2, $t2, 3 -/* 0321BC 800315BC 254A0001 */ addiu $t2, $t2, 1 -/* 0321C0 800315C0 01496020 */ add $t4, $t2, $t1 -/* 0321C4 800315C4 01204025 */ move $t0, $t1 -.L800315C8: -/* 0321C8 800315C8 0186082A */ slt $at, $t4, $a2 -/* 0321CC 800315CC 14200004 */ bnez $at, .L800315E0 -/* 0321D0 800315D0 01A8082A */ slt $at, $t5, $t0 -/* 0321D4 800315D4 54200003 */ bnezl $at, .L800315E4 -/* 0321D8 800315D8 00031840 */ sll $v1, $v1, 1 -/* 0321DC 800315DC 00431025 */ or $v0, $v0, $v1 -.L800315E0: -/* 0321E0 800315E0 00031840 */ sll $v1, $v1, 1 -.L800315E4: -/* 0321E4 800315E4 3C010001 */ lui $at, 1 -/* 0321E8 800315E8 0061082A */ slt $at, $v1, $at -/* 0321EC 800315EC 018A6020 */ add $t4, $t4, $t2 -/* 0321F0 800315F0 1420FFF5 */ bnez $at, .L800315C8 -/* 0321F4 800315F4 010A4020 */ add $t0, $t0, $t2 -.L800315F8: -/* 0321F8 800315F8 03E00008 */ jr $ra -/* 0321FC 800315FC 00000000 */ nop - -glabel func_80031600 -/* 032200 80031600 24080001 */ li $t0, 1 -/* 032204 80031604 A3A80001 */ sb $t0, 1($sp) -/* 032208 80031608 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 -/* 03220C 8003160C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) -/* 032210 80031610 3C018012 */ lui $at, %hi(D_8011B0F0) # $at, 0x8012 -/* 032214 80031614 A3A00000 */ sb $zero, ($sp) -/* 032218 80031618 1100014C */ beqz $t0, .L80031B4C -/* 03221C 8003161C AC20B0F0 */ sw $zero, %lo(D_8011B0F0)($at) -.L80031620: -/* 032220 80031620 00007025 */ move $t6, $zero -.L80031624: -/* 032224 80031624 3C0D8012 */ lui $t5, %hi(D_8011D374) # $t5, 0x8012 -/* 032228 80031628 3C098012 */ lui $t1, %hi(D_8011D370) # $t1, 0x8012 -/* 03222C 8003162C 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 -/* 032230 80031630 00007825 */ move $t7, $zero -/* 032234 80031634 8DADD374 */ lw $t5, %lo(D_8011D374)($t5) -/* 032238 80031638 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) -/* 03223C 8003163C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) -.L80031640: -/* 032240 80031640 8D2A0000 */ lw $t2, ($t1) -/* 032244 80031644 59400006 */ blezl $t2, .L80031660 -/* 032248 80031648 95420000 */ lhu $v0, ($t2) -/* 03224C 8003164C 3C0B8000 */ lui $t3, %hi(D_80000018) # $t3, 0x8000 -/* 032250 80031650 016A5825 */ or $t3, $t3, $t2 -/* 032254 80031654 0800C651 */ j func_80031944 -/* 032258 80031658 8D6B0018 */ lw $t3, %lo(D_80000018)($t3) - -/* 03225C 8003165C 95420000 */ lhu $v0, ($t2) -.L80031660: -/* 032260 80031660 C4A80000 */ lwc1 $f8, ($a1) -/* 032264 80031664 C4AA0004 */ lwc1 $f10, 4($a1) -/* 032268 80031668 00021100 */ sll $v0, $v0, 4 -/* 03226C 8003166C 004B1021 */ addu $v0, $v0, $t3 -/* 032270 80031670 C4400000 */ lwc1 $f0, ($v0) -/* 032274 80031674 C4420004 */ lwc1 $f2, 4($v0) -/* 032278 80031678 C4440008 */ lwc1 $f4, 8($v0) -/* 03227C 8003167C 46004202 */ mul.s $f8, $f8, $f0 -/* 032280 80031680 C4B00008 */ lwc1 $f16, 8($a1) -/* 032284 80031684 C446000C */ lwc1 $f6, 0xc($v0) -/* 032288 80031688 46025282 */ mul.s $f10, $f10, $f2 -/* 03228C 8003168C 3C01800E */ lui $at, %hi(D_800E5F60) # $at, 0x800e -/* 032290 80031690 46048402 */ mul.s $f16, $f16, $f4 -/* 032294 80031694 460A4200 */ add.s $f8, $f8, $f10 -/* 032298 80031698 46104200 */ add.s $f8, $f8, $f16 -/* 03229C 8003169C 46064480 */ add.s $f18, $f8, $f6 -/* 0322A0 800316A0 C4C80000 */ lwc1 $f8, ($a2) -/* 0322A4 800316A4 46089481 */ sub.s $f18, $f18, $f8 -/* 0322A8 800316A8 C4285F60 */ lwc1 $f8, %lo(D_800E5F60)($at) -/* 0322AC 800316AC 46089034 */ c.olt.s $f18, $f8 -/* 0322B0 800316B0 450200A5 */ bc1fl .L80031948 -/* 0322B4 800316B4 2508FFFF */ addiu $t0, $t0, -1 -/* 0322B8 800316B8 C4880000 */ lwc1 $f8, ($a0) -/* 0322BC 800316BC C48A0004 */ lwc1 $f10, 4($a0) -/* 0322C0 800316C0 C4900008 */ lwc1 $f16, 8($a0) -/* 0322C4 800316C4 46004202 */ mul.s $f8, $f8, $f0 -/* 0322C8 800316C8 3C01800E */ lui $at, %hi(D_800E5F64) # $at, 0x800e -/* 0322CC 800316CC 46025282 */ mul.s $f10, $f10, $f2 -/* 0322D0 800316D0 460A4200 */ add.s $f8, $f8, $f10 -/* 0322D4 800316D4 46048402 */ mul.s $f16, $f16, $f4 -/* 0322D8 800316D8 46104200 */ add.s $f8, $f8, $f16 -/* 0322DC 800316DC 46064400 */ add.s $f16, $f8, $f6 -/* 0322E0 800316E0 C4C80000 */ lwc1 $f8, ($a2) -/* 0322E4 800316E4 46088401 */ sub.s $f16, $f16, $f8 -/* 0322E8 800316E8 C4285F64 */ lwc1 $f8, %lo(D_800E5F64)($at) -/* 0322EC 800316EC 46088034 */ c.olt.s $f16, $f8 -/* 0322F0 800316F0 45030095 */ bc1tl .L80031948 -/* 0322F4 800316F4 2508FFFF */ addiu $t0, $t0, -1 -/* 0322F8 800316F8 C4880000 */ lwc1 $f8, ($a0) -/* 0322FC 800316FC C4AA0000 */ lwc1 $f10, ($a1) -/* 032300 80031700 46085001 */ sub.s $f0, $f10, $f8 -/* 032304 80031704 C4880004 */ lwc1 $f8, 4($a0) -/* 032308 80031708 C4AA0004 */ lwc1 $f10, 4($a1) -/* 03230C 8003170C 46085081 */ sub.s $f2, $f10, $f8 -/* 032310 80031710 C4880008 */ lwc1 $f8, 8($a0) -/* 032314 80031714 C4AA0008 */ lwc1 $f10, 8($a1) -/* 032318 80031718 46085101 */ sub.s $f4, $f10, $f8 -/* 03231C 8003171C 44805000 */ mtc1 $zero, $f10 -/* 032320 80031720 46128201 */ sub.s $f8, $f16, $f18 -/* 032324 80031724 460A4033 */ c.ueq.s $f8, $f10 -/* 032328 80031728 45010002 */ bc1t .L80031734 -/* 03232C 8003172C 00000000 */ nop -/* 032330 80031730 46088283 */ div.s $f10, $f16, $f8 -.L80031734: -/* 032334 80031734 460A0002 */ mul.s $f0, $f0, $f10 -/* 032338 80031738 C4860000 */ lwc1 $f6, ($a0) -/* 03233C 8003173C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 032340 80031740 460A1082 */ mul.s $f2, $f2, $f10 -/* 032344 80031744 240C0003 */ li $t4, 3 -/* 032348 80031748 460A2102 */ mul.s $f4, $f4, $f10 -/* 03234C 8003174C 44815000 */ mtc1 $at, $f10 -/* 032350 80031750 46003000 */ add.s $f0, $f6, $f0 -/* 032354 80031754 C4860004 */ lwc1 $f6, 4($a0) -/* 032358 80031758 46023080 */ add.s $f2, $f6, $f2 -/* 03235C 8003175C C4860008 */ lwc1 $f6, 8($a0) -/* 032360 80031760 46043100 */ add.s $f4, $f6, $f4 -.L80031764: -/* 032364 80031764 95430002 */ lhu $v1, 2($t2) -/* 032368 80031768 0000C025 */ move $t8, $zero -/* 03236C 8003176C 30798000 */ andi $t9, $v1, 0x8000 -/* 032370 80031770 53200004 */ beql $t9, $zero, .L80031784 -/* 032374 80031774 00031900 */ sll $v1, $v1, 4 -/* 032378 80031778 30637FFF */ andi $v1, $v1, 0x7fff -/* 03237C 8003177C 24180001 */ li $t8, 1 -/* 032380 80031780 00031900 */ sll $v1, $v1, 4 -.L80031784: -/* 032384 80031784 006B1821 */ addu $v1, $v1, $t3 -/* 032388 80031788 C4660000 */ lwc1 $f6, ($v1) -/* 03238C 8003178C C4680004 */ lwc1 $f8, 4($v1) -/* 032390 80031790 46060182 */ mul.s $f6, $f0, $f6 -/* 032394 80031794 00000000 */ nop -/* 032398 80031798 46081202 */ mul.s $f8, $f2, $f8 -/* 03239C 8003179C 46083180 */ add.s $f6, $f6, $f8 -/* 0323A0 800317A0 C4680008 */ lwc1 $f8, 8($v1) -/* 0323A4 800317A4 46082202 */ mul.s $f8, $f4, $f8 -/* 0323A8 800317A8 46083180 */ add.s $f6, $f6, $f8 -/* 0323AC 800317AC C468000C */ lwc1 $f8, 0xc($v1) -/* 0323B0 800317B0 13000002 */ beqz $t8, .L800317BC -/* 0323B4 800317B4 46083180 */ add.s $f6, $f6, $f8 -/* 0323B8 800317B8 46003187 */ neg.s $f6, $f6 -.L800317BC: -/* 0323BC 800317BC 460A3036 */ c.ole.s $f6, $f10 -/* 0323C0 800317C0 45020061 */ bc1fl .L80031948 -/* 0323C4 800317C4 2508FFFF */ addiu $t0, $t0, -1 -/* 0323C8 800317C8 258CFFFF */ addiu $t4, $t4, -1 -/* 0323CC 800317CC 1580FFE5 */ bnez $t4, .L80031764 -/* 0323D0 800317D0 254A0002 */ addiu $t2, $t2, 2 -/* 0323D4 800317D4 3C01800E */ lui $at, %hi(D_800E5F68) # $at, 0x800e -/* 0323D8 800317D8 C4205F68 */ lwc1 $f0, %lo(D_800E5F68)($at) -/* 0323DC 800317DC C4420004 */ lwc1 $f2, 4($v0) -/* 0323E0 800317E0 C4440008 */ lwc1 $f4, 8($v0) -/* 0323E4 800317E4 46001035 */ c.ult.s $f2, $f0 -/* 0323E8 800317E8 C4400000 */ lwc1 $f0, ($v0) -/* 0323EC 800317EC 45010016 */ bc1t .L80031848 -/* 0323F0 800317F0 00000000 */ nop -/* 0323F4 800317F4 81A30000 */ lb $v1, ($t5) -/* 0323F8 800317F8 24010004 */ li $at, 4 -/* 0323FC 800317FC 10610012 */ beq $v1, $at, .L80031848 -/* 032400 80031800 00000000 */ nop -/* 032404 80031804 3C038012 */ lui $v1, %hi(D_8011B0F4) # $v1, 0x8012 -/* 032408 80031808 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) -/* 03240C 8003180C 1460000E */ bnez $v1, .L80031848 -/* 032410 80031810 00000000 */ nop -/* 032414 80031814 C4A60000 */ lwc1 $f6, ($a1) -/* 032418 80031818 46003002 */ mul.s $f0, $f6, $f0 -/* 03241C 8003181C C4A60008 */ lwc1 $f6, 8($a1) -/* 032420 80031820 46043102 */ mul.s $f4, $f6, $f4 -/* 032424 80031824 C446000C */ lwc1 $f6, 0xc($v0) -/* 032428 80031828 46040000 */ add.s $f0, $f0, $f4 -/* 03242C 8003182C C4A40008 */ lwc1 $f4, 8($a1) -/* 032430 80031830 46060000 */ add.s $f0, $f0, $f6 -/* 032434 80031834 C4C60000 */ lwc1 $f6, ($a2) -/* 032438 80031838 46003001 */ sub.s $f0, $f6, $f0 -/* 03243C 8003183C 46020083 */ div.s $f2, $f0, $f2 -/* 032440 80031840 0800C632 */ j func_800318C8 -/* 032444 80031844 C4A00000 */ lwc1 $f0, ($a1) - -.L80031848: -/* 032448 80031848 3C01800E */ lui $at, %hi(D_800E5F6C) # $at, 0x800e -/* 03244C 8003184C C42A5F6C */ lwc1 $f10, %lo(D_800E5F6C)($at) -/* 032450 80031850 460A1034 */ c.olt.s $f2, $f10 -/* 032454 80031854 45000012 */ bc1f .L800318A0 -/* 032458 80031858 00000000 */ nop -/* 03245C 8003185C 3C038012 */ lui $v1, %hi(D_8011B0F4) # $v1, 0x8012 -/* 032460 80031860 8C63B0F4 */ lw $v1, %lo(D_8011B0F4)($v1) -/* 032464 80031864 24010002 */ li $at, 2 -/* 032468 80031868 1061000D */ beq $v1, $at, .L800318A0 -/* 03246C 8003186C 00000000 */ nop -/* 032470 80031870 24030001 */ li $v1, 1 -/* 032474 80031874 3C018012 */ lui $at, %hi(D_8011B0F0) # $at, 0x8012 -/* 032478 80031878 AC23B0F0 */ sw $v1, %lo(D_8011B0F0)($at) -/* 03247C 8003187C C4460000 */ lwc1 $f6, ($v0) -/* 032480 80031880 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 -/* 032484 80031884 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) -/* 032488 80031888 C4460004 */ lwc1 $f6, 4($v0) -/* 03248C 8003188C 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 -/* 032490 80031890 E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) -/* 032494 80031894 C4460008 */ lwc1 $f6, 8($v0) -/* 032498 80031898 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 -/* 03249C 8003189C E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) -.L800318A0: -/* 0324A0 800318A0 46120002 */ mul.s $f0, $f0, $f18 -/* 0324A4 800318A4 C4A60000 */ lwc1 $f6, ($a1) -/* 0324A8 800318A8 46121082 */ mul.s $f2, $f2, $f18 -/* 0324AC 800318AC 00000000 */ nop -/* 0324B0 800318B0 46122102 */ mul.s $f4, $f4, $f18 -/* 0324B4 800318B4 46003001 */ sub.s $f0, $f6, $f0 -/* 0324B8 800318B8 C4A60004 */ lwc1 $f6, 4($a1) -/* 0324BC 800318BC 46023081 */ sub.s $f2, $f6, $f2 -/* 0324C0 800318C0 C4A60008 */ lwc1 $f6, 8($a1) -/* 0324C4 800318C4 46043101 */ sub.s $f4, $f6, $f4 -glabel func_800318C8 -/* 0324C8 800318C8 3C038012 */ lui $v1, %hi(D_8011B0F0) # $v1, 0x8012 -/* 0324CC 800318CC 8C63B0F0 */ lw $v1, %lo(D_8011B0F0)($v1) -/* 0324D0 800318D0 5460000B */ bnezl $v1, .L80031900 -/* 0324D4 800318D4 81AC0000 */ lb $t4, ($t5) -/* 0324D8 800318D8 C4460000 */ lwc1 $f6, ($v0) -/* 0324DC 800318DC 3C018012 */ lui $at, %hi(D_8011B0E4) # $at, 0x8012 -/* 0324E0 800318E0 E426B0E4 */ swc1 $f6, %lo(D_8011B0E4)($at) -/* 0324E4 800318E4 C4460004 */ lwc1 $f6, 4($v0) -/* 0324E8 800318E8 3C018012 */ lui $at, %hi(D_8011B0E8) # $at, 0x8012 -/* 0324EC 800318EC E426B0E8 */ swc1 $f6, %lo(D_8011B0E8)($at) -/* 0324F0 800318F0 C4460008 */ lwc1 $f6, 8($v0) -/* 0324F4 800318F4 3C018012 */ lui $at, %hi(D_8011B0EC) # $at, 0x8012 -/* 0324F8 800318F8 E426B0EC */ swc1 $f6, %lo(D_8011B0EC)($at) -/* 0324FC 800318FC 81AC0000 */ lb $t4, ($t5) -.L80031900: -/* 032500 80031900 80E20000 */ lb $v0, ($a3) -/* 032504 80031904 004C082A */ slt $at, $v0, $t4 -/* 032508 80031908 50200003 */ beql $at, $zero, .L80031918 -/* 03250C 8003190C 25CE0001 */ addiu $t6, $t6, 1 -/* 032510 80031910 A0EC0000 */ sb $t4, ($a3) -/* 032514 80031914 25CE0001 */ addiu $t6, $t6, 1 -.L80031918: -/* 032518 80031918 29C1000B */ slti $at, $t6, 0xb -/* 03251C 8003191C 14200005 */ bnez $at, .L80031934 -/* 032520 80031920 240F0001 */ li $t7, 1 -/* 032524 80031924 00007825 */ move $t7, $zero -/* 032528 80031928 C4800000 */ lwc1 $f0, ($a0) -/* 03252C 8003192C C4820004 */ lwc1 $f2, 4($a0) -/* 032530 80031930 C4840008 */ lwc1 $f4, 8($a0) -.L80031934: -/* 032534 80031934 E4A00000 */ swc1 $f0, ($a1) -/* 032538 80031938 E4A20004 */ swc1 $f2, 4($a1) -/* 03253C 8003193C 0800C655 */ j func_80031954 -/* 032540 80031940 E4A40008 */ swc1 $f4, 8($a1) - -glabel func_80031944 -/* 032544 80031944 2508FFFF */ addiu $t0, $t0, -1 -.L80031948: -/* 032548 80031948 25AD0001 */ addiu $t5, $t5, 1 -/* 03254C 8003194C 1500FF3C */ bnez $t0, .L80031640 -/* 032550 80031950 25290004 */ addiu $t1, $t1, 4 -glabel func_80031954 -/* 032554 80031954 15E0FF33 */ bnez $t7, .L80031624 -/* 032558 80031958 00000000 */ nop -/* 03255C 8003195C 11C00008 */ beqz $t6, .L80031980 -/* 032560 80031960 93AA0001 */ lbu $t2, 1($sp) -/* 032564 80031964 8FA90014 */ lw $t1, 0x14($sp) -/* 032568 80031968 8D280000 */ lw $t0, ($t1) -/* 03256C 8003196C 25080001 */ addiu $t0, $t0, 1 -/* 032570 80031970 AD280000 */ sw $t0, ($t1) -/* 032574 80031974 93A80000 */ lbu $t0, ($sp) -/* 032578 80031978 010A4025 */ or $t0, $t0, $t2 -/* 03257C 8003197C A3A80000 */ sb $t0, ($sp) -.L80031980: -/* 032580 80031980 000A5040 */ sll $t2, $t2, 1 -/* 032584 80031984 A3AA0001 */ sb $t2, 1($sp) -/* 032588 80031988 00007025 */ move $t6, $zero -.L8003198C: -/* 03258C 8003198C 3C098012 */ lui $t1, %hi(D_8011D370) # $t1, 0x8012 -/* 032590 80031990 3C088012 */ lui $t0, %hi(D_8011D378) # $t0, 0x8012 -/* 032594 80031994 00007825 */ move $t7, $zero -/* 032598 80031998 8D29D370 */ lw $t1, %lo(D_8011D370)($t1) -/* 03259C 8003199C 8D08D378 */ lw $t0, %lo(D_8011D378)($t0) -.L800319A0: -/* 0325A0 800319A0 8D2A0000 */ lw $t2, ($t1) -/* 0325A4 800319A4 59400006 */ blezl $t2, .L800319C0 -/* 0325A8 800319A8 95420000 */ lhu $v0, ($t2) -/* 0325AC 800319AC 3C0B8000 */ lui $t3, %hi(D_80000018) # $t3, 0x8000 -/* 0325B0 800319B0 016A5825 */ or $t3, $t3, $t2 -/* 0325B4 800319B4 0800C6C6 */ j func_80031B18 -/* 0325B8 800319B8 8D6B0018 */ lw $t3, %lo(D_80000018)($t3) - -/* 0325BC 800319BC 95420000 */ lhu $v0, ($t2) -.L800319C0: -/* 0325C0 800319C0 C4A80000 */ lwc1 $f8, ($a1) -/* 0325C4 800319C4 C4AA0004 */ lwc1 $f10, 4($a1) -/* 0325C8 800319C8 00021100 */ sll $v0, $v0, 4 -/* 0325CC 800319CC 004B1021 */ addu $v0, $v0, $t3 -/* 0325D0 800319D0 C4400000 */ lwc1 $f0, ($v0) -/* 0325D4 800319D4 C4420004 */ lwc1 $f2, 4($v0) -/* 0325D8 800319D8 C4440008 */ lwc1 $f4, 8($v0) -/* 0325DC 800319DC 46004202 */ mul.s $f8, $f8, $f0 -/* 0325E0 800319E0 C4B00008 */ lwc1 $f16, 8($a1) -/* 0325E4 800319E4 C446000C */ lwc1 $f6, 0xc($v0) -/* 0325E8 800319E8 46025282 */ mul.s $f10, $f10, $f2 -/* 0325EC 800319EC 3C01800E */ lui $at, %hi(D_800E5F70) # $at, 0x800e -/* 0325F0 800319F0 46048402 */ mul.s $f16, $f16, $f4 -/* 0325F4 800319F4 460A4200 */ add.s $f8, $f8, $f10 -/* 0325F8 800319F8 46104200 */ add.s $f8, $f8, $f16 -/* 0325FC 800319FC 46064480 */ add.s $f18, $f8, $f6 -/* 032600 80031A00 C4C80000 */ lwc1 $f8, ($a2) -/* 032604 80031A04 46089481 */ sub.s $f18, $f18, $f8 -/* 032608 80031A08 C4285F70 */ lwc1 $f8, %lo(D_800E5F70)($at) -/* 03260C 80031A0C 46089034 */ c.olt.s $f18, $f8 -/* 032610 80031A10 45000041 */ bc1f .L80031B18 -/* 032614 80031A14 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 032618 80031A18 44815000 */ mtc1 $at, $f10 -/* 03261C 80031A1C C4C80000 */ lwc1 $f8, ($a2) -/* 032620 80031A20 460A4200 */ add.s $f8, $f8, $f10 -/* 032624 80031A24 46004207 */ neg.s $f8, $f8 -/* 032628 80031A28 46089036 */ c.ole.s $f18, $f8 -/* 03262C 80031A2C 4501003A */ bc1t .L80031B18 -/* 032630 80031A30 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 032634 80031A34 44815000 */ mtc1 $at, $f10 -/* 032638 80031A38 C4A00000 */ lwc1 $f0, ($a1) -/* 03263C 80031A3C C4A20004 */ lwc1 $f2, 4($a1) -/* 032640 80031A40 C4A40008 */ lwc1 $f4, 8($a1) -/* 032644 80031A44 240C0003 */ li $t4, 3 -.L80031A48: -/* 032648 80031A48 95430002 */ lhu $v1, 2($t2) -/* 03264C 80031A4C 0000C025 */ move $t8, $zero -/* 032650 80031A50 30798000 */ andi $t9, $v1, 0x8000 -/* 032654 80031A54 53200004 */ beql $t9, $zero, .L80031A68 -/* 032658 80031A58 00031900 */ sll $v1, $v1, 4 -/* 03265C 80031A5C 30637FFF */ andi $v1, $v1, 0x7fff -/* 032660 80031A60 24180001 */ li $t8, 1 -/* 032664 80031A64 00031900 */ sll $v1, $v1, 4 -.L80031A68: -/* 032668 80031A68 006B1821 */ addu $v1, $v1, $t3 -/* 03266C 80031A6C C4660000 */ lwc1 $f6, ($v1) -/* 032670 80031A70 C4680004 */ lwc1 $f8, 4($v1) -/* 032674 80031A74 46060182 */ mul.s $f6, $f0, $f6 -/* 032678 80031A78 00000000 */ nop -/* 03267C 80031A7C 46081202 */ mul.s $f8, $f2, $f8 -/* 032680 80031A80 46083180 */ add.s $f6, $f6, $f8 -/* 032684 80031A84 C4680008 */ lwc1 $f8, 8($v1) -/* 032688 80031A88 46082202 */ mul.s $f8, $f4, $f8 -/* 03268C 80031A8C 46083180 */ add.s $f6, $f6, $f8 -/* 032690 80031A90 C468000C */ lwc1 $f8, 0xc($v1) -/* 032694 80031A94 13000002 */ beqz $t8, .L80031AA0 -/* 032698 80031A98 46083180 */ add.s $f6, $f6, $f8 -/* 03269C 80031A9C 46003187 */ neg.s $f6, $f6 -.L80031AA0: -/* 0326A0 80031AA0 460A3036 */ c.ole.s $f6, $f10 -/* 0326A4 80031AA4 4502001D */ bc1fl .L80031B1C -/* 0326A8 80031AA8 2508FFFF */ addiu $t0, $t0, -1 -/* 0326AC 80031AAC 258CFFFF */ addiu $t4, $t4, -1 -/* 0326B0 80031AB0 1580FFE5 */ bnez $t4, .L80031A48 -/* 0326B4 80031AB4 254A0002 */ addiu $t2, $t2, 2 -/* 0326B8 80031AB8 C4400000 */ lwc1 $f0, ($v0) -/* 0326BC 80031ABC C4420004 */ lwc1 $f2, 4($v0) -/* 0326C0 80031AC0 C4A60000 */ lwc1 $f6, ($a1) -/* 0326C4 80031AC4 46120002 */ mul.s $f0, $f0, $f18 -/* 0326C8 80031AC8 C4440008 */ lwc1 $f4, 8($v0) -/* 0326CC 80031ACC 25CE0001 */ addiu $t6, $t6, 1 -/* 0326D0 80031AD0 46121082 */ mul.s $f2, $f2, $f18 -/* 0326D4 80031AD4 29C1000B */ slti $at, $t6, 0xb -/* 0326D8 80031AD8 240F0001 */ li $t7, 1 -/* 0326DC 80031ADC 46122102 */ mul.s $f4, $f4, $f18 -/* 0326E0 80031AE0 46003001 */ sub.s $f0, $f6, $f0 -/* 0326E4 80031AE4 C4A60004 */ lwc1 $f6, 4($a1) -/* 0326E8 80031AE8 46023081 */ sub.s $f2, $f6, $f2 -/* 0326EC 80031AEC C4A60008 */ lwc1 $f6, 8($a1) -/* 0326F0 80031AF0 14200005 */ bnez $at, .L80031B08 -/* 0326F4 80031AF4 46043101 */ sub.s $f4, $f6, $f4 -/* 0326F8 80031AF8 00007825 */ move $t7, $zero -/* 0326FC 80031AFC C4800000 */ lwc1 $f0, ($a0) -/* 032700 80031B00 C4820004 */ lwc1 $f2, 4($a0) -/* 032704 80031B04 C4840008 */ lwc1 $f4, 8($a0) -.L80031B08: -/* 032708 80031B08 E4A00000 */ swc1 $f0, ($a1) -/* 03270C 80031B0C E4A20004 */ swc1 $f2, 4($a1) -/* 032710 80031B10 0800C6C9 */ j func_80031B24 -/* 032714 80031B14 E4A40008 */ swc1 $f4, 8($a1) - -glabel func_80031B18 -.L80031B18: -/* 032718 80031B18 2508FFFF */ addiu $t0, $t0, -1 -.L80031B1C: -/* 03271C 80031B1C 1500FFA0 */ bnez $t0, .L800319A0 -/* 032720 80031B20 25290004 */ addiu $t1, $t1, 4 -glabel func_80031B24 -/* 032724 80031B24 15E0FF99 */ bnez $t7, .L8003198C -/* 032728 80031B28 00000000 */ nop -/* 03272C 80031B2C 8FA80010 */ lw $t0, 0x10($sp) -/* 032730 80031B30 2484000C */ addiu $a0, $a0, 0xc -/* 032734 80031B34 24A5000C */ addiu $a1, $a1, 0xc -/* 032738 80031B38 2508FFFF */ addiu $t0, $t0, -1 -/* 03273C 80031B3C 24C60004 */ addiu $a2, $a2, 4 -/* 032740 80031B40 24E70001 */ addiu $a3, $a3, 1 -/* 032744 80031B44 1500FEB6 */ bnez $t0, .L80031620 -/* 032748 80031B48 AFA80010 */ sw $t0, 0x10($sp) -.L80031B4C: -/* 03274C 80031B4C 03E00008 */ jr $ra -/* 032750 80031B50 83A20000 */ lb $v0, ($sp) - -/* 032754 80031B54 00000000 */ nop -/* 032758 80031B58 00000000 */ nop -/* 03275C 80031B5C 00000000 */ nop diff --git a/src/unknown_0255E0.c b/src/unknown_0255E0.c index 8813c50a..92b59134 100644 --- a/src/unknown_0255E0.c +++ b/src/unknown_0255E0.c @@ -10,3 +10,77 @@ s32 func_800249E0(s32 arg0) { D_8011D37C = arg0; return 0; } + +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800249F0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/D_80024D54.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80025510.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800257D0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002581C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80026070.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80026430.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80026C14.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80026E54.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80027184.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80027568.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800278E8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80027E24.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80027FC4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80028044.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80028050.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800289B8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80028C10.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80028CD0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80028FA0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80028FAC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80029658.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80029AF8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80029D14.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80029F18.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A05C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A134.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A2DC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A31C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A5F8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A900.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002ACC8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002ACD4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002AD08.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002B0F4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002B9BC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002BAB0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002C0C4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002C71C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002C7C4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002C7D4.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002C954.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002CC30.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002D30C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002D384.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002D670.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002D8DC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002DE30.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002E234.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002E904.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002EEEC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002F2AC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002F440.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002FA64.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002FD74.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002FF6C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800304C8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80030664.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80030750.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800307BC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80030838.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8003093C.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80030A74.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80030DE0.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031018.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031130.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800314DC.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031600.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800318C8.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031944.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031954.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031B18.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80031B24.s")